deepseek-harness/packages
Tianyi Cui c10d74ba95 fix(apiproxy): cancel attachment reads during export
Response-consumer cancellation already stopped lineage reads, persistence reads, and ZIP production, but the final attachment phase called readImage without the producer signal. A slow or stalled attachment backend could therefore keep working after the browser abandoned the download and prevent the producer from settling.\n\nExtend the attachment read seam with optional cancellation, forward it through the local backend into Node's filesystem read, and preserve the abort reason rather than wrapping it as a storage failure. The exporter now passes its combined request/consumer signal to every attachment read.\n\nCover both ownership boundaries: the local-store test proves filesystem forwarding and cancellation identity, while the assembled export test cancels a reader during a pending attachment provider call. Regenerate the Cordis API catalog and paired documentation so implementers can rely on the new contract.
2026-08-11 17:52:24 +08:00
..
acp Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1 2026-08-11 11:01:12 +08:00
api refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
attachment fix(apiproxy): cancel attachment reads during export 2026-08-11 17:52:24 +08:00
bash refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
boot Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:56:06 +08:00
bundle refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
client docs(connection): describe native export handoff accurately 2026-08-11 17:46:25 +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 fix(review): address terminology feedback 2026-08-11 15:23:05 +08:00
credentials release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +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 fix(apiproxy): cancel attachment reads during export 2026-08-11 17:52:24 +08:00
interaction Merge origin/master into worktree/remove-sdk-project-toolchain 2026-08-11 15:56:06 +08:00
llm refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +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 Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1 2026-08-11 11:01:12 +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(apiproxy): cancel attachment reads during export 2026-08-11 17:52:24 +08:00
session Merge origin/master into worktree/pr2177-export-fixes-20260811 2026-08-11 17:39:19 +08:00
session-query fix(session-export): distinguish unsupported raw artifacts 2026-08-11 15:04:35 +08:00
settings release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +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 refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
todo release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
typert refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
util refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
web refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +08:00
workflow refactor: replace overloaded surface terminology 2026-08-11 15:23:05 +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.