2.7 KiB
2.7 KiB
Tool Catalog (Agent-Callable)
Tool contracts are defined primarily in services/router/tool_manager.py and filtered by services/router/agent_tools_config.py.
Tools
| Tool | Contract location | Execution path | AuthZ scope | Timeout/Retry | Logging |
|---|---|---|---|---|---|
memory_search |
services/router/tool_manager.py (TOOL_DEFINITIONS) |
_memory_search to memory API |
per-agent via is_tool_allowed |
router HTTP client default 60s | router logger |
graph_query |
same | _graph_query (graph backend) |
per-agent | API-call bounded | router logger |
web_search |
same | _web_search (search backend) |
per-agent | varies, httpx | router logger |
web_extract |
same | _web_extract |
per-agent | varies | router logger |
crawl4ai_scrape |
same | _crawl4ai_scrape (crawl4ai endpoint) |
per-agent | external call timeout | router logger |
remember_fact |
same | _remember_fact (memory write) |
per-agent | API-call bounded | router logger |
image_generate |
same | _image_generate (swapper image API) |
per-agent | 120-300s paths in router/tool manager | router logger |
comfy_generate_image |
same | _comfy_generate_image + poll |
per-agent specialized | timeout_s default 180 |
router logger |
comfy_generate_video |
same | _comfy_generate_video + poll |
per-agent specialized | timeout_s default 300 |
router logger |
tts_speak |
same | _tts_speak (swapper TTS API) |
per-agent | API timeout bounded | router logger |
presentation_create |
same | _presentation_create via artifact-registry |
per-agent | async job pattern | router logger |
presentation_status |
same | _presentation_status |
per-agent | short HTTP call | router logger |
presentation_download |
same | _presentation_download |
per-agent | short HTTP call | router logger |
file_tool |
same | _file_tool action multiplexer |
per-agent | per-action (timeout_sec bounded for djvu/pdf ops) |
router logger |
market_data |
same | _market_data reads market service + senpai consumer |
senpai specialized (+others if granted) | short HTTP calls (8-10s) | router logger |
Authorization Model
- Tool exposure is allowlist-based per agent in
services/router/agent_tools_config.py. FULL_STANDARD_STACKapplies to all top-level agents.- Specialized tools (e.g.,
market_data,comfy_generate_*) are attached by agent ID.
Known Risk/Gap
- Tool manager config loader reads hardcoded
helionsection for endpoint extraction (_load_tools_config) and may not reflect all agent-specific endpoint overrides.
Source pointers
services/router/tool_manager.pyservices/router/agent_tools_config.pyservices/router/main.pyconfig/agent_registry.yml