CREDO23
6671c91841
multi_agent_chat/permissions: persist 'always' decisions to trusted-tools list
...
Until now an "Always Allow" reply only updated the in-memory runtime
ruleset, evaporating after the session ended. Persist it to the
existing connector.config['trusted_tools'] list so the next session's
fetch_user_allowlist_rulesets picks it up and the user is never asked
again for the same (connector, tool) pair.
- TrustedToolSaver + make_trusted_tool_saver(user_id) in
user_tool_allowlist: opens its own session via async_session_maker
per call, logs and swallows failures (in-memory promotion is the
canonical "always" path, durable persistence is opportunistic).
- PermissionMiddleware._process is now pure: returns
(state_update, list[_AlwaysPromotion]). aafter_model awaits the
saver for each promotion; after_model discards them. Promotions are
only emitted for tools whose metadata exposes mcp_connector_id, so
native tools and KB FS ops are correctly skipped.
- main_agent factory builds the saver once per turn and stashes it in
dependencies["trusted_tool_saver"]; pack_subagent and the KB
middleware stack forward it through build_permission_mw.
- Renamed pm._process(state, None) call sites in two existing tests to
pm.after_model(state, None) so they exercise the public hook
contract instead of the now-tuple-returning private method.
2026-05-15 14:07:08 +02:00
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
CREDO23
ef1152b80e
multi_agent_chat/permissions: layer user allow-list into subagent compile
2026-05-14 21:57:38 +02:00
CREDO23
e99c06c887
user_tool_allowlist: extract trust-tool storage into reusable service
2026-05-14 21:20:30 +02:00
CREDO23
31d6b43a42
multi_agent_chat/shared: drop bucket types and helpers
2026-05-14 20:10:25 +02:00
CREDO23
014801c764
multi_agent_chat/loader: MCP tools as flat list[BaseTool] per agent
2026-05-14 20:10:11 +02:00
CREDO23
5a00df8e48
multi_agent_chat/builtins: KB+deliverables+memory+research adopt RULESET + flat load_tools()
2026-05-14 20:09:55 +02:00
CREDO23
3bb90124d2
multi_agent_chat/connectors: every route declares its own RULESET + flat load_tools()
2026-05-14 20:09:49 +02:00
CREDO23
d45dfbfbd6
multi_agent_chat: pack_subagent owns per-subagent PermissionMiddleware via Ruleset
2026-05-14 20:09:29 +02:00
CREDO23
67142e68b1
multi_agent_chat: scope MCP allow/ask permissions per subagent + drop "policy" synonym
2026-05-14 18:09:14 +02:00
CREDO23
0723702320
multi_agent_chat: real-graph regressions for unified HITL paths + format pass
2026-05-14 17:41:24 +02:00
CREDO23
adb52fb575
multi_agent_chat: KB owns its ruleset, drop interrupt_on duplication
2026-05-14 17:41:07 +02:00
CREDO23
d68280113b
multi_agent_chat/connectors+builtins: adopt symmetric self_gated_tool_permission_row helper
2026-05-14 17:40:59 +02:00
CREDO23
a06aec2821
multi_agent_chat/subagents: HITL umbrella + ToolKind rename
2026-05-14 17:40:29 +02:00
CREDO23
8eaab12971
multi_agent_chat/permissions: restructure slice + simplify factory
2026-05-14 17:40:12 +02:00
CREDO23
f2495092da
chat/stream_resume: salt thinking-step prefix with turn_id to avoid duplicate React keys
2026-05-13 21:15:51 +02:00
CREDO23
0fd87ccb7f
chat/stream_resume: key Command(resume=...) by Interrupt.id for parallel HITL
2026-05-13 20:59:57 +02:00
CREDO23
c06dd6e8ba
chat/stream_new_chat: emit one SSE frame per pending interrupt
2026-05-13 20:59:48 +02:00
CREDO23
583ac83735
multi_agent_chat/middleware: refresh module layout docs
2026-05-13 19:58:59 +02:00
CREDO23
22e9dd3cf3
multi_agent_chat/main_agent: routing prompt for parallel and serial specialist work
2026-05-13 19:58:34 +02:00
CREDO23
03cf1466d3
chat/stream_resume: route a flat decisions list per paused subagent
2026-05-13 19:58:13 +02:00
CREDO23
e27883e88c
multi_agent_chat/middleware: stamp tool_call_id on subagent interrupts at task chokepoint
2026-05-13 19:57:02 +02:00
CREDO23
fc2c5b6445
multi_agent_chat/middleware: per-call thread_id, tcid-keyed resume, decisions slicer
2026-05-13 19:56:51 +02:00
CREDO23
246dae40a8
Merge upstream/dev into feature/multi-agent
2026-05-12 21:23:37 +02:00
CREDO23
6b60d324a3
multi_agent_chat/main_agent: one specialist per task; advertise write_todos for multi-turn plans
2026-05-12 20:39:14 +02:00
CREDO23
379cc992f4
multi_agent_chat/subagents: expose knowledge_base as ask_knowledge_base tool for siblings
2026-05-12 20:03:59 +02:00
CREDO23
f2f62c1c05
multi_agent_chat/permissions: break circular import in interrupt subpackage
2026-05-12 18:20:07 +02:00
CREDO23
d843468256
multi_agent_chat/subagents: dict-keyed middleware_stack + always-on KB
2026-05-12 18:04:54 +02:00
CREDO23
eee861bb3d
multi_agent_chat/main_agent: rewrite system prompt to hierarchical prompts/ tree
2026-05-12 15:35:48 +02:00
CREDO23
9b82f2db1d
multi_agent_chat/permissions: clone PermissionMiddleware with SRP split and edit support
2026-05-12 12:58:53 +02:00
CREDO23
3f77c74daf
multi_agent_chat: drop general_purpose subagent and dead permission plumbing
2026-05-12 12:00:59 +02:00
CREDO23
3fb1976886
multi_agent_chat/main_agent: route KB work through task(knowledge_base) in <tool_routing>
2026-05-12 11:01:54 +02:00
CREDO23
ea72625a81
multi_agent_chat/main_agent: strip FS toolset + FileIntent from main-agent stack (router-only)
2026-05-12 10:57:36 +02:00
CREDO23
bce21dc4ce
subagents/knowledge_base: universalize KB subagent across cloud + desktop modes
2026-05-12 10:51:32 +02:00
CREDO23
3adfa37565
multi_agent_chat/filesystem: extract dedicated FS middleware package
2026-05-12 10:43:45 +02:00
CREDO23
df2afed18d
subagents/knowledge_base: wire KB specialist into orchestrator (renderer/projector split, FS middleware stack, cloud-mode gating)
2026-05-11 20:43:44 +02:00
CREDO23
09fc99c435
subagents/knowledge_base: scaffold KB specialist subagent (description, system_prompt with infer-first path resolution + discover-existing-conventions principle, factory shell; not yet wired into registry)
2026-05-11 17:25:01 +02:00
CREDO23
83b51313ee
multi_agent_chat/middleware: drop dormant LLMToolSelectorMiddleware from main-agent stack (gate is >30 tools; multi-agent main carries ~20)
2026-05-11 17:24:48 +02:00
CREDO23
44fcb34708
refactor(teams subagent): rewrite system_prompt with native-tool heuristic pattern; trim description to actual tool surface
2026-05-11 14:59:13 +02:00
CREDO23
f45a42e2f6
refactor(luma subagent): rewrite system_prompt with native-tool heuristic pattern; polish description with user-surface verbs
2026-05-11 14:59:06 +02:00
CREDO23
f383de04a4
refactor(discord subagent): rewrite system_prompt with native-tool heuristic pattern; trim description to actual tool surface
2026-05-11 14:58:57 +02:00
CREDO23
6ef4f5ff45
refactor(google_drive subagent): rewrite system_prompt with native-tool heuristic pattern; trim description to actual tool surface
2026-05-11 14:50:05 +02:00
CREDO23
68a3f03347
subagents/onedrive: rewrite system prompt on the native-tool shape (always-Word constraint with block-on-other-formats, KB-indexed name resolution, outcome mapping) and trim description verbing to match actual tool surface.
2026-05-11 14:44:20 +02:00
CREDO23
9d6f0d732f
subagents/dropbox: rewrite system prompt on the native-tool shape (Paper-vs-Docx file-type signals, KB-indexed name resolution, outcome mapping) and trim description verbing to match actual tool surface.
2026-05-11 14:41:23 +02:00
CREDO23
ddcb5e26e5
subagents/confluence: rewrite system prompt on the native-tool shape (HTML storage-format guidance, REPLACE-semantics-with-no-read limitation, outcome mapping) and trim description verbing to match actual tool surface.
2026-05-11 14:36:42 +02:00
CREDO23
99610ea2d9
subagents/calendar: rewrite system prompt on the native-tool shape (infer-first inputs, all-day vs timed datetime semantics, search-disambiguation, outcome mapping) and trim description verbing to match actual tool surface.
2026-05-11 14:32:26 +02:00
CREDO23
2f9b06832f
subagents/gmail: rewrite system prompt on the native-tool shape (infer-first inputs, irreversibility safety, outcome mapping, MCP-aligned contract) and trim description verbing to match actual tool surface.
2026-05-11 14:24:04 +02:00
CREDO23
dc7a096d97
subagents/notion: rewrite system prompt as native-tool pilot with infer-first inputs, outcome mapping, and MCP-aligned contract.
2026-05-11 12:24:48 +02:00
CREDO23
a4c684a333
subagents/clickup: rewrite system prompt on the linear pilot shape and expand allowlist for workspace hierarchy, list, member lookup, task create and update.
2026-05-11 11:56:00 +02:00
CREDO23
8ff9916d02
subagents/slack: rewrite system prompt on the linear pilot shape and expand allowlist for message search, user search, and send message.
2026-05-11 11:49:13 +02:00