feat(subagents): add multi-turn subagent session runtime
This commit is contained in:
@@ -136,6 +136,11 @@ Tool Calls (inside NativeAgent loop)
|
||||
| v
|
||||
+---------------------------> AuditLogger (redacted)
|
||||
|
||||
Subagent sessions (multi-turn child agents)
|
||||
parent AgentOrchestrator -> subagent.* tools -> SubagentManager
|
||||
SubagentManager -> child AgentOrchestrator (session namespace: subagent:<parent>:<id>)
|
||||
child AgentOrchestrator -> NativeAgent/tool loop (same policy engine, recursion tools removed)
|
||||
|
||||
Session start (when `memory.user_namespace` is set)
|
||||
AgentOrchestrator -> MemoryStore (user/profile + user/working)
|
||||
AgentOrchestrator -> System prompt (session context injection)
|
||||
@@ -155,6 +160,7 @@ Gateway streaming UX signals:
|
||||
Key files:
|
||||
|
||||
- Routing + per-session agent creation: `src/daemon/routing.ts`
|
||||
- Subagent session manager (child orchestrators): `src/backends/native/subagents.ts`
|
||||
- Runtime preference persistence (`modelTier`, `backendMode`): `src/preferences.ts`
|
||||
- Orchestration: `src/backends/native/orchestrator.ts`
|
||||
- Tool loop: `src/backends/native/agent.ts`
|
||||
|
||||
@@ -17,6 +17,7 @@ If you only want the protocol surface, see `docs/api/PROTOCOL.md`.
|
||||
- Backend routing outcomes are auditable via `backend.route` / `backend.success` / `backend.fallback`, which enables offline canary evaluation without changing gateway protocol methods.
|
||||
- Run lifecycle/cancel intent and reaction decisions are emitted to audit logs, and aggregated into `system.metrics` counters (runStates, cancelLatencyMs, reactions) for dashboards.
|
||||
- Reaction matching is deterministic (priority + cooldown + recursion guard) before intent/agent routing.
|
||||
- `subagent.*` tools create child orchestrators scoped to the parent conversation (`subagent:<parentSessionId>:<childId>`); this is tool-loop behavior, not a separate gateway RPC session lane.
|
||||
- Companion `node.*` registration is per WebSocket connection; reconnects must re-register capabilities before invoking node RPC methods.
|
||||
- Canvas artifacts are persisted per session under the gateway data directory for UI recovery across restarts.
|
||||
- TTS output is best-effort; synthesis failures fall back to text-only responses.
|
||||
|
||||
Reference in New Issue
Block a user