mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-06 20:15:17 +02:00
The main agent only exposes 4 SurfSense tools (web_search, scrape_webpage, update_memory, create_automation) and delegates connectors/MCP/deliverables to subagents. Yet it built those 4 by importing and iterating the 900-line, connector-laden shared BUILTIN_TOOLS via build_tools_async. Introduce app/agents/multi_agent_chat/main_agent/tools/registry.py owning just those 4 factories, and switch runtime/factory.py to build_main_agent_tools. Binding order is preserved (scrape_webpage, web_search, create_automation, update_memory) to match prior behavior exactly. shared/tools/registry.py BUILTIN_TOOLS is intentionally unchanged: it remains the app-wide tool *metadata* catalog used by action_log (revert/dedup resolvers for subagent-executed connector tools) and the /agent/tools listing endpoint. Verified: full unit suite green (2431 passed, 1 skipped); import-all guard ok. |
||
|---|---|---|
| .. | ||
| alembic | ||
| app | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .python-version | ||
| alembic.ini | ||
| celery_worker.py | ||
| Dockerfile | ||
| main.py | ||
| pyproject.toml | ||
| uv.lock | ||