* Tech spec for graceful shutdown
* Graceful shutdown of importers/exporters
* Update socket to include graceful shutdown orchestration
* Adding tests for conditions tracked in this PR
* Implement KG extraction agent (kg-extract-agent)
* Using ReAct framework (agent-manager-react)
* ReAct manager had an issue when emitting JSON, which conflicts which ReAct manager's own JSON messages, so refactored ReAct manager to use traditional ReAct messages, non-JSON structure.
* Minor refactor to take the prompt template client out of prompt-template so it can be more readily used by other modules. kg-extract-agent uses this framework.
Key Features
- MCP Tool Integration: Added core MCP tool support with ToolClientSpec and ToolClient classes
- API Enhancement: New mcp_tool method for flow-specific tool invocation
- CLI Tooling: New tg-invoke-mcp-tool command for testing MCP integration
- React Agent Enhancement: Fixed and improved multi-tool invocation capabilities
- Tool Management: Enhanced CLI for tool configuration and management
Changes
- Added MCP tool invocation to API with flow-specific integration
- Implemented ToolClientSpec and ToolClient for tool call handling
- Updated agent-manager-react to invoke MCP tools with configurable types
- Enhanced CLI with new commands and improved help text
- Added comprehensive documentation for new CLI commands
- Improved tool configuration management
Testing
- Added tg-invoke-mcp-tool CLI command for isolated MCP integration testing
- Enhanced agent capability to invoke multiple tools simultaneously
- MCP client service
- Tool request/response schema
- API gateway support for mcp-tool
- Message translation for tool request & response
- Make mcp-tool using configuration service for information
about where the MCP services are.
* Working mux socket
* Change API to incorporate flow
* Add Flow ID to all relevant CLIs, not completely implemented
* Change tg-processor-state to use API gateway
* Updated all CLIs
* New tg-show-flow-state command
* tg-show-flow-state shows classes too
- Keeps processing in different flows separate so that data can go to different stores / collections etc.
- Potentially supports different processing flows
- Tidies the processing API with common base-classes for e.g. LLMs, and automatic configuration of 'clients' to use the right queue names in a flow
- prompt-template takes config from the config-svc, dynamically reloads
as new config appears.
- agent-react takes config from config-svc, dynamically reloads
- Fixed lack of data in config queue, needed to take the Earliest, not the
Latest values.
- Changed text-completion and knowledge-query tool to both use 'query'
as the argument.
- Prompt and agent no longer have command line args to supply
configuration.
* - Fixed error reporting in config
- Updated tg-init-pulsar to be able to load initial config to config-svc
- Tweaked API naming and added more config calls
* Tools to dump out prompts and agent tools
Configuration service provides an API to change configuration. Complete configuration is pushed down a config queue so that users have a complete copy of config object.
* Change document-rag and graph-rag processing so that the user can
specify parameters. Changes in Pulsar services, Pulsar message
schemas, gateway and command-line tools. User-visible changes in
new parameters on command-line tools.
* Fix bugs, graph-rag working
* Get subgraph truncation in the right place
* Graph RAG and document RAG working and configurable
* Multi-hop path traversal GraphRAG
* Add safety valve for path_size set too high
* Bring QDrant up-to-date
* Tables for data from queue outputs
- Pass single Pulsar client to everything in gateway & librarian
- Pulsar listener-name support in gateway
- PDF and text load working in librarian
* Complete Cassandra schema
* Add librarian support to templates