Files
deepseek-harness/docs/module-graph.md
T
Tianyi Cui 1a81f2cccd Add subagent capability seam: interface, mock backend, model-facing tool
Introduce the `packages/subagent/` group and the abstract subagent seam — an
agent delegating to a child agent — as a named-provider registry (`ctx.subagents`),
unlike the single-implementation bash seam, so multiple transports (in-process,
ACP, future A2A) coexist. This first PR lands the interface, a scripted test
backend, and the model-facing tool, validated through the real cordis load path.

- dsh-subagent: SubagentService registry + SubagentProvider/SubagentRun
  vocabulary + subagent/start|end events. Start-time capabilities (outputSchema,
  depthLimit, toolFilter) are checked pre-start and rejected loud; runtime
  capabilities (sendMessage, resume) are optional methods on SubagentRun.
- dsh-subagent-mock (support): scripted provider for keyless, deterministic
  tests through the real Loader/export path.
- dsh-tool-subagent: the model-facing `subagent` tool, config-bound to one
  provider; synchronous collect with try/finally dispose, signal->cancel
  bridging, and non-completed-stop-reason -> isError mapping.
- Proposed RFC documenting the seam, the fork-vs-spawn-as-separate-backends
  decision, own-session isolation, synchronous-collect scope, and the deferral
  of background/poll/spill to a future unification with bash.
- Wire the new group into tsconfigs, build refs, package hierarchy docs, the
  module graph, and the cordis catalog.

RFC: docs/rfc/proposed/feature/2026-06-21-subagent-capability-seam.md
2026-06-21 22:31:56 +08:00

3.3 KiB

Module dependency graph

Inter-package dependencies among the @deepseek-ai/dsh-* harness packages, derived from each package's peerDependencies (the canonical runtime-dependency signal). An edge a --> b means package a depends on package b. Names have the @deepseek-ai/dsh- prefix stripped.

graph TD
  bash --> brand
  llm --> brand
  bash-local --> bash
  llm-deepseek --> llm
  llm-pi-ai --> llm
  session --> brand
  session --> llm
  system-prompt --> llm
  agent --> brand
  agent --> llm
  agent --> session
  llm-replay --> llm
  llm-replay --> session
  session-persistence --> session
  invariants --> agent
  invariants --> llm
  invariants --> session
  session-persistence-jsonl --> session
  session-persistence-jsonl --> session-persistence
  session-persistence-sqlite --> session
  session-persistence-sqlite --> session-persistence
  tools --> agent
  tools --> llm
  tools --> system-prompt
  ui-stdio --> agent
  ui-stdio --> llm
  ui-stdio --> session
  acp --> agent
  acp --> llm
  acp --> session
  acp --> session-persistence
  acp --> tools
  agent-loop --> agent
  agent-loop --> llm
  agent-loop --> session
  agent-loop --> session-persistence
  agent-loop --> system-prompt
  agent-loop --> tools
  subagent --> agent
  subagent --> llm
  subagent --> tools
  tool-bash --> agent
  tool-bash --> bash
  tool-bash --> llm
  tool-bash --> tools
  agent-core --> agent
  agent-core --> agent-loop
  agent-core --> invariants
  agent-core --> llm
  agent-core --> session
  agent-core --> system-prompt
  agent-core --> tool-bash
  agent-core --> tools
  subagent-mock --> agent
  subagent-mock --> llm
  subagent-mock --> subagent
  tool-subagent --> agent
  tool-subagent --> llm
  tool-subagent --> subagent
  tool-subagent --> tools
  acp-agent --> acp
  acp-agent --> agent-core
  acp-agent --> session-persistence-jsonl
  stdio-agent --> agent
  stdio-agent --> agent-core
  stdio-agent --> session
  stdio-agent --> session-persistence-jsonl
  stdio-agent --> ui-stdio
Package Depends on
brand
bash brand
llm brand
bash-local bash
llm-deepseek llm
llm-pi-ai llm
session brand, llm
system-prompt llm
agent brand, llm, session
llm-replay llm, session
session-persistence session
invariants agent, llm, session
session-persistence-jsonl session, session-persistence
session-persistence-sqlite session, session-persistence
tools agent, llm, system-prompt
ui-stdio agent, llm, session
acp agent, llm, session, session-persistence, tools
agent-loop agent, llm, session, session-persistence, system-prompt, tools
subagent agent, llm, tools
tool-bash agent, bash, llm, tools
agent-core agent, agent-loop, invariants, llm, session, system-prompt, tool-bash, tools
subagent-mock agent, llm, subagent
tool-subagent agent, llm, subagent, tools
acp-agent acp, agent-core, session-persistence-jsonl
stdio-agent agent, agent-core, session, session-persistence-jsonl, ui-stdio