deepseek-harness/packages
Yichen Jiang 75b26988dc fix(tasks): claim the teardown report before the producer cancel runs
A throwing producer cancel jumped to the force-fail branch before
`reported` was set, so `settle()` announced an unreported completion and
the default wakeup delivery started a model turn on an owner the host
was already destroying — the exact failure mode marking the record
reported exists to prevent.

Teardown claims the report before calling the producer, because that
decision does not depend on whether the producer's cancel succeeds.

Also reject a `maxConsecutiveWakes` that cannot bound anything: the
field exists to cap a runaway chain, and `Infinity` removed the cap
while a fraction never named a turn.

Correct the module JSDoc and the background-task runtime note, both of
which still promised that notices never wake an idle agent.
2026-08-11 20:29:08 +08:00
..
acp Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1 2026-08-11 11:01:12 +08:00
api fix(ci): satisfy lint contracts-ready lane 2026-08-11 19:25:43 +08:00
attachment fix(apiproxy): cancel attachment reads during export 2026-08-11 17:52:24 +08:00
bash Merge remote-tracking branch 'origin/master' into feat/wake-idle-owner-on-task-completion 2026-08-11 20:20:01 +08:00
boot fix(cli): contain app-exit races in watcher setup; sync watch docs 2026-08-11 18:01:25 +08:00
bundle Merge origin/master into worktree/web-plugin-config, adapting to ctx.remote.$on 2026-08-11 19:52:34 +08:00
client Merge remote-tracking branch 'origin/master' into worktree/web-plugin-config 2026-08-11 20:03:23 +08:00
code-runtime refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
compact release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
context Merge remote-tracking branch 'origin/master' into feat/read-image-context 2026-08-11 10:12:14 +08:00
core Merge origin/master into worktree/web-plugin-config, adapting to ctx.remote.$on 2026-08-11 19:52:34 +08:00
credentials docs: state the Host-face rule for the browser e2e and settle the follow-ups 2026-08-11 19:25:41 +08:00
e2b Merge remote-tracking branch 'origin/master' into feat/read-image-context 2026-08-11 10:12:14 +08:00
examples Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:56:06 +08:00
feedback Merge remote-tracking branch 'origin/master' into worktree/pr2177-export-fixes-20260811 2026-08-11 16:18:28 +08:00
fs refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
goal refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
guard release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
hooks refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
host Merge origin/master into worktree/web-plugin-config, adapting to ctx.remote.$on 2026-08-11 19:52:34 +08:00
interaction feat(remote): deliver allowlisted Host events through ctx.remote.$on 2026-08-11 19:25:40 +08:00
llm refactor(web): consume owner remote events directly 2026-08-11 19:25:42 +08:00
lsp refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
mcp refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
plan fix(review): address terminology feedback 2026-08-11 15:23:05 +08:00
preset fix(ci): repair remote event coverage and catalogs 2026-08-11 19:25:42 +08:00
pty refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
sandbox refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
sdk Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:56:06 +08:00
self-modification fix(ci): repair remote event coverage and catalogs 2026-08-11 19:25:42 +08:00
session docs(session-persistence): bind raw capability to its reader 2026-08-11 18:10:28 +08:00
session-query fix(ci): satisfy lint contracts-ready lane 2026-08-11 19:25:43 +08:00
settings docs: state the Host-face rule for the browser e2e and settle the follow-ups 2026-08-11 19:25:41 +08:00
skill refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
spill refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
storage release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
subagent Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:56:06 +08:00
subprocess refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
support refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
tasks fix(tasks): claim the teardown report before the producer cancel runs 2026-08-11 20:29:08 +08:00
todo release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
typert docs: state the Host-face rule for the browser e2e and settle the follow-ups 2026-08-11 19:25:41 +08:00
util refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
web Merge origin/master into worktree/web-plugin-config 2026-08-11 18:27:53 +08:00
workflow Merge commit '5427cbcc19cfd1ce9f3af1ae22207852cc5740fa' into codex/workflow-runs-chat-node-f6 2026-08-11 18:09:43 +08:00
workspace release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
AGENTS.md docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
CLAUDE.md
README.i18n.yaml Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:56:06 +08:00
README.md Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:56:06 +08:00
README.zh.md refactor(sdk): remove unreleased project toolchain 2026-08-11 14:20:53 +08:00

Packages

English | 中文

npm scope: @deepseek-ai/dsh-*; Cordis Service subclasses and function plugins contribute through ctx.effect(), ctx.on(), or ctx.waterfall(). Rules: package, root.

Hierarchy

Groups hold packages/<group>/<pkg>/; names stay @deepseek-ai/dsh-<pkg>. Group READMEs own package/ctx-key maps.

Group Role Release expectation
core/ Product API spine: sessions, prompts, tools, agent services, and the concrete loop Product — stable API
api/ Remote BFF assembly and TypeRT RPC gateway Product — stable API
typert/ Type graph generation, artifact loading, and runtime registry Product — stable API
goal/ Same-session goal persistence and lifecycle Product — stable API
feedback/ Human feedback Product — stable API
llm/ LLM capability family: the abstract service + provider adapters Product — stable API
e2b/ E2B providers POC
subprocess/ Subprocess capability family: Service Definition + local process-tree provider Product — stable API
bash/ Bash capability family: executor seam, local impl, model-facing tool Product — stable API
pty/ Persistent PTY capability family: owner-scoped sessions, local implementation, and model-facing tools Product — stable API
code-runtime/ Code-execution capability family: Service Definition + worker-thread provider + Code Mode Consumer Product — stable API
sandbox/ Process-confinement seam; bwrap/Landlock/Seatbelt backends Product — stable API
fs/ Filesystem capability family: seam, local impl, model-facing file tools, bash-backed discovery tools Product — stable API
lsp/ LSP capability family: seam, generic stdio provider, and the lsp tool Product — stable API
skill/ Skill capability family: the provider registry, local provider, and model-facing catalog/loader Product — stable API
compact/ Compaction capability family: Service Definition + basic provider + command Consumer Product — stable API
context/ Model-visible request context, including workspace instructions and time context Product — stable API
subagent/ Subagent capability family: the provider-registry contract and the model-facing delegation tool Product — stable API
tasks/ Generic background-task runtime and model-facing task_* control tools Product — stable API
workflow/ Workflow seam, worker-thread engine, and model-facing workflow/ralph tools Product — stable API
web/ Web capability family: seam, search/fetch provider impls, and the model-facing web tools Product — stable API
attachment/ Durable attachment identity, validation, local content-addressed storage Product — stable API
spill/ Spill capability family: storage seam, local impl, tool-result spill policy Product — stable API
todo/ The model-facing todo_write tool Product — stable API
plan/ Plan collaboration state with a direct entry command and reviewed exit Product — stable API
preset/ Per-session agent composition from preset cordis.yml files Product — stable API
guard/ Loop-hygiene guards: advisory repeat-call reminders + the tools/execute deadline enforcer Product — stable API
bundle/ Installable dsh --profile patch layers Product — stable API
self-modification/ Agent runtime self-modification: live plugin/service inspection and model-written plugin mount/unmount (design) Product — stable API
hooks/ Hook bridges + the shared Claude Code / Codex wire-protocol library Product — stable API
session/ Durable session data plane: persistence seam + JSONL/SQLite backends, projection seam, log-backed titles, session reporting Product — stable API
session-query/ Session retrieval family: logical corpus, bounded reads, lineage, event relationships, semantic filtering, and SQLite full-text search Product — stable API
settings/ User-settings seam + file-backed provider Product — stable API
credentials/ Credential-reference seam + env-over-.env provider Product — stable API
storage/ Non-session storage hub + backends + domain form Product — stable API
workspace/ Workspace entity Product — stable API
sdk/ Out-of-process runtime SDK: JSON-RPC protocol, TypeScript client, and server plugin Product — stable API
acp/ Automation-only Agent Client Protocol server Product — stable API
interaction/ Human-collaboration plane: approval/interaction seams, permission preset, commands, ask-user tool Product — stable API
boot/ Shared app-bin boot glue Product — stable API
host/ Web-GUI host half: API gateway + HTTP route server Product — stable API
client/ Web-GUI browser half: shell, wire, object services, slots, ui-* plugins Product — stable API
examples/ Demo bundles (agent-spine + CLI/ACP/JSON-RPC bins) leaves load Support — example infra
support/ Support infrastructure (testkits, invariants, replay, Loader smokes) Support — lower compatibility expectations
util/ Low-level zero-dependency utilities shared across groups (Branded<B>, Harness home/path helpers, timeout, retention) Support — small, stable, harness-dep-free

New packages join existing groups; new groups update their README and this table.

Dependencies

The dependency graph is generated: docs/module-graph.md (pnpm run gen-module-graph, freshness-gated in CI).

Extension plugins depend on Service Definitions, never concrete providers. dsh-agent-loop is swappable; UI, hook, and tool plugins use dsh-agent. Composition bundles, including dsh-agent-spine-demo, may depend on spine plugins. Capabilities separate Service Definition / Service provider / Consumer roles when they evolve independently; see capability seams.

Package READMEs cover purpose, APIs, extension points, and Model Experience unless on the model-agnostic omission allowlist. They also carry ## Known Limitations and Deferred Work or use its allowlist.