[ { "tool_name": "memory_search", "description": "Search memory context via Memory API", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.memory_search", "authz_scope": "agent allowlist via services/router/agent_tools_config.py", "timeout": "httpx client default 60s", "retries": "none explicit", "service_owner": "router" }, { "tool_name": "graph_query", "description": "Graph query tool for Neo4j-backed knowledge", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.graph_query", "authz_scope": "agent allowlist", "timeout": "bounded HTTP/driver call", "retries": "none explicit", "service_owner": "router" }, { "tool_name": "web_search", "description": "Web search tool", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.web_search", "authz_scope": "agent allowlist", "timeout": "service/http defaults", "retries": "none explicit", "service_owner": "router" }, { "tool_name": "web_extract", "description": "Extract text from URL", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.web_extract", "authz_scope": "agent allowlist", "timeout": "service/http defaults", "retries": "none explicit", "service_owner": "router" }, { "tool_name": "crawl4ai_scrape", "description": "Deep scraping via Crawl4AI", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.crawl4ai_scrape", "authz_scope": "agent allowlist", "timeout": "external call timeout", "retries": "none explicit", "service_owner": "router" }, { "tool_name": "remember_fact", "description": "Persist user fact into memory", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.remember_fact", "authz_scope": "agent allowlist", "timeout": "service/http defaults", "retries": "none explicit", "service_owner": "router" }, { "tool_name": "image_generate", "description": "Image generation through swapper", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.image_generate", "authz_scope": "agent allowlist", "timeout": "120-300s paths", "retries": "soft retry gate in router", "service_owner": "router" }, { "tool_name": "comfy_generate_image", "description": "ComfyUI image generation via comfy-agent", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.comfy_generate_image", "authz_scope": "agent specialized allowlist", "timeout": "timeout_s default 180", "retries": "poll loop until timeout", "service_owner": "router/comfy-agent" }, { "tool_name": "comfy_generate_video", "description": "ComfyUI video generation via comfy-agent", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.comfy_generate_video", "authz_scope": "agent specialized allowlist", "timeout": "timeout_s default 300", "retries": "poll loop until timeout", "service_owner": "router/comfy-agent" }, { "tool_name": "tts_speak", "description": "Text-to-speech", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.tts_speak", "authz_scope": "agent allowlist", "timeout": "http bounded", "retries": "none explicit", "service_owner": "router/swapper" }, { "tool_name": "presentation_create", "description": "Create presentation artifact job", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.presentation_create", "authz_scope": "agent allowlist", "timeout": "async job submit", "retries": "job-level", "service_owner": "router/artifact-registry" }, { "tool_name": "presentation_status", "description": "Check presentation job status", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.presentation_status", "authz_scope": "agent allowlist", "timeout": "short HTTP", "retries": "none explicit", "service_owner": "router/artifact-registry" }, { "tool_name": "presentation_download", "description": "Download presentation artifact", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.presentation_download", "authz_scope": "agent allowlist", "timeout": "short HTTP", "retries": "none explicit", "service_owner": "router/artifact-registry" }, { "tool_name": "file_tool", "description": "Action-based file generation/update/export tool", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.file_tool", "authz_scope": "agent allowlist", "timeout": "action-specific; djvu/pdf ops bounded by timeout_sec", "retries": "none explicit", "service_owner": "router" }, { "tool_name": "market_data", "description": "Read market price/features/signals for SenpAI stack", "schema_path": "services/router/tool_manager.py#TOOL_DEFINITIONS.market_data", "authz_scope": "specialized (senpai + configured agents)", "timeout": "8-10s HTTP defaults in implementation", "retries": "none explicit", "service_owner": "router/market-data-service/senpai-md-consumer" } ]