SurfSense/surfsense_backend/app/agents/multi_agent_chat
CREDO23 a97d1548a6 multi_agent_chat/permissions: surface MCP tool metadata into ask interrupts
The FE permission card needs mcp_connector_id, mcp_server, and
tool_description in the interrupt context to render "Always Allow"
against the right connected account. Thread the tool through the
ask pipeline:

- pack_subagent → build_permission_mw(tools=...) → PermissionMiddleware
  (tools_by_name) → request_permission_decision(tool=...) →
  build_permission_ask_payload(tool=...) projects card fields out of
  BaseTool.

- mcp_tool.py: stdio path now stashes mcp_connector_id in metadata for
  parity with the HTTP path.
2026-05-15 11:28:06 +02:00
..
main_agent multi_agent_chat/permissions: layer user allow-list into subagent compile 2026-05-14 21:57:38 +02:00
middleware multi_agent_chat/permissions: surface MCP tool metadata into ask interrupts 2026-05-15 11:28:06 +02:00
subagents multi_agent_chat/permissions: surface MCP tool metadata into ask interrupts 2026-05-15 11:28:06 +02:00
__init__.py fix(stream): route every agent (re)build through one helper to prevent factory drift 2026-05-05 23:35:23 +02:00
constants.py multi_agent_chat/subagents: dict-keyed middleware_stack + always-on KB 2026-05-12 18:04:54 +02:00