# Conflicts: # docs/config-catalog.md # docs/cordis-catalog/services.md # docs/event-producer-consumer.md # docs/rfc/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-seams.md # docs/rfc/implemented/architecture/2026-06-20-branded-ids.md # docs/rfc/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.md # docs/rfc/proposed/feature/2026-07-07-claude-code-and-codex-subagent-backends.md # docs/rfc/proposed/simplification/2026-06-20-unify-agent-and-session-id.md # packages/bash/tool-bash/README.md # packages/bash/tool-bash/src/index.ts # packages/bash/tool-bash/tests/tools.spec.ts # packages/core/agent-loop/README.md # packages/core/agent-loop/tests/properties.spec.ts # packages/core/agent/README.md # packages/core/agent/src/index.ts # packages/guard/repeat-tool-guard/src/index.ts # packages/hooks/hooks-claude/tests/bridge.spec.ts # packages/subagent/subagent-acp/tests/mock-acp-server.ts # packages/ui/acp/tests/dispose.spec.ts # packages/ui/stdio-agent/src/index.ts # packages/ui/stdio-agent/src/stdio-chat.ts # packages/ui/stdio-agent/tests/stdio-chat.spec.ts # packages/util/brand/src/index.ts
@deepseek-ai/dsh-subagent-mock
A scripted SubagentProvider for testing the subagent seam without a model or a real child agent — the subagent analog of dsh-llm-replay.
It lets a test drive ctx.subagents and the model-facing dsh-tool-subagent through the real Cordis loader/export path, exercising provider registration, async start, start-time capability validation, required-signal cancellation, result, dispose, and structured output deterministically and keylessly.
Usage
Load it as a plugin (functional shape: name/inject/Config/apply, no default). Config (all optional):
| Key | Default | Meaning |
|---|---|---|
name |
mock |
Registry name to register the provider under. |
reply |
mock subagent reply |
The scripted child's final answer text. |
stopReason |
completed |
The stop reason result settles with. |
capabilities |
all true |
Which start-time capabilities (outputSchema, depthLimit, toolFilter, and persona) the provider advertises. |
inheritsParentContext |
false |
Conversation-history descriptor: false means fresh, while true exercises seeded/fork wording. It says nothing about tool, service, scope, or authority inheritance. |
structured |
{ reply } |
Structured value surfaced when a request carries an outputSchema and the capability is on. |
Aborting the required request signal or disposing before result settles flips the stop reason to aborted, so both holder-facing cancellation paths are observable.
Model Experience
Indirectly, through dsh-tool-subagent, which renders this test provider's configured reply or stop-reason error into the parent test history.
Known Limitations and Deferred Work
- Scripted provider only — it does not run a model, create a child agent, or exercise real prompt/tool-loop behavior.
- One synthetic outcome per run — it models no multi-turn, streaming, steering, resume, or subprocess transport behavior.