deepseek-harness/packages/tasks
kingwl 6ff2c53661 fix(deps): declare dsh-llm as a peer of plan-mode and tool-tasks
Both packages import @deepseek-ai/dsh-llm at runtime (createUserMessage)
but declared it only in devDependencies; any resolver that honors
declared runtime dependencies resolves the import to a stale or missing
artifact. Found by the (since removed) source-launch declared-dependency
check.
2026-07-29 13:14:36 +08:00
..
tasks docs(tasks): bring the zh side of the tasks pairs along after the master merge 2026-07-26 20:59:05 +08:00
tasks-local refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
tool-tasks fix(deps): declare dsh-llm as a peer of plan-mode and tool-tasks 2026-07-29 13:14:36 +08:00
README.i18n.yaml docs(tasks): bring the zh side of the tasks pairs along after the master merge 2026-07-26 20:59:05 +08:00
README.md Merge remote-tracking branch 'origin/master' into worktree-tasks-service-seam 2026-07-26 20:28:37 +08:00
README.zh.md docs(tasks): bring the zh side of the tasks pairs along after the master merge 2026-07-26 20:59:05 +08:00

tasks/ — background task capability family

English | 中文

The shared home for background-task ids, owner isolation, reads, cancellation, waiting, and completion notices. Bash, subagents, and future long-running tools use one model-facing protocol. See the background-task runtime Agent Note and the task-registry seam Agent Note.

Package ctx key Role
tasks (@deepseek-ai/dsh-tasks) ctx.tasks The registry seam: branded <kind>-N ids, the owner-fenced read/kill/wait/list contract, snapshot vocabulary, the attachSurface misconfiguration fence, and the snapshot invariant companion
tasks-local (@deepseek-ai/dsh-tasks-local) — The process-local registry implementation: in-memory records, first-wins settlement bookkeeping, and the awaited owner-cleanup and teardown paths
tool-tasks (@deepseek-ai/dsh-tool-tasks) — The model-facing control surface: task_output, task_list, task_kill, the completion-notice injection, and the background-habit prompt section

The registry owns state across producer or surface reloads; the tool package owns presentation. Producers register execution hooks through ctx.tasks.start and own whether their config exposes run_in_background.