refactor(tasks): split the task registry into seam and local implementation

The tasks/ family now matches the capability-seam shape: @deepseek-ai/dsh-tasks
keeps the abstract TaskService (ctx.tasks contract, vocabulary types, snapshot
invariant companion) and the new @deepseek-ai/dsh-tasks-local carries the
process-local registry (LocalTaskService: in-memory store, settlement,
owner-cleanup effects, teardown, TASK_WAIT_TIMEOUT). Compositions and test
harnesses now load dsh-tasks-local; producers, TaskKindMap merges, and
dsh-tool-tasks keep importing the seam only.

Producer misconfiguration diagnostics name dsh-tasks-local because loading the
implementation is the fix. The registry behavior suite moves to tasks-local;
the seam keeps a stub-subclass registration test and the probe-based invariant
suite.
This commit is contained in:
Tianyi Cui
2026-07-26 05:13:39 +08:00
parent b5bba5adee
commit 698b391bd6
49 changed files with 851 additions and 458 deletions

48
pnpm-lock.yaml generated
View File

@@ -227,9 +227,9 @@ importers:
'@deepseek-ai/dsh-system-prompt':
specifier: workspace:^
version: link:../../packages/core/system-prompt
'@deepseek-ai/dsh-tasks':
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:^
version: link:../../packages/tasks/tasks
version: link:../../packages/tasks/tasks-local
'@deepseek-ai/dsh-timeout-policy':
specifier: workspace:^
version: link:../../packages/timeout/timeout-policy
@@ -472,6 +472,9 @@ importers:
'@deepseek-ai/dsh-subagent-spawn':
specifier: workspace:*
version: link:../packages/subagent/subagent-spawn
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:*
version: link:../packages/tasks/tasks-local
'@deepseek-ai/dsh-time-context':
specifier: workspace:*
version: link:../packages/context/time-context
@@ -686,6 +689,9 @@ importers:
'@deepseek-ai/dsh-tasks':
specifier: workspace:^
version: link:../../tasks/tasks
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:^
version: link:../../tasks/tasks-local
'@deepseek-ai/dsh-tool-tasks':
specifier: workspace:^
version: link:../../tasks/tool-tasks
@@ -1658,6 +1664,9 @@ importers:
'@deepseek-ai/dsh-tasks':
specifier: workspace:^
version: link:../../tasks/tasks
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:^
version: link:../../tasks/tasks-local
'@deepseek-ai/dsh-tool-bash':
specifier: workspace:^
version: link:../../bash/tool-bash
@@ -2698,6 +2707,9 @@ importers:
'@deepseek-ai/dsh-tasks':
specifier: workspace:^
version: link:../../tasks/tasks
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:^
version: link:../../tasks/tasks-local
'@deepseek-ai/dsh-tool-tasks':
specifier: workspace:^
version: link:../../tasks/tool-tasks
@@ -3612,6 +3624,9 @@ importers:
'@deepseek-ai/dsh-tasks':
specifier: workspace:^
version: link:../../tasks/tasks
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:^
version: link:../../tasks/tasks-local
'@deepseek-ai/dsh-tool-tasks':
specifier: workspace:^
version: link:../../tasks/tool-tasks
@@ -3729,11 +3744,32 @@ importers:
'@deepseek-ai/dsh-session':
specifier: workspace:^
version: link:../../core/session
cordis:
specifier: ^4.0.0-rc.6
version: 4.0.0-rc.7(@cordisjs/plugin-include@1.0.4)(@cordisjs/plugin-loader@1.0.0-rc.5)
packages/tasks/tasks-local:
devDependencies:
'@deepseek-ai/dsh-agent':
specifier: workspace:^
version: link:../../core/agent
'@deepseek-ai/dsh-brand':
specifier: workspace:^
version: link:../../util/brand
'@deepseek-ai/dsh-invariants':
specifier: workspace:^
version: link:../../support/invariants
'@deepseek-ai/dsh-session':
specifier: workspace:^
version: link:../../core/session
'@deepseek-ai/dsh-tasks':
specifier: workspace:^
version: link:../tasks
'@deepseek-ai/dsh-timeout':
specifier: workspace:^
version: link:../../util/timeout
cordis:
specifier: ^4.0.0-rc.6
specifier: ^4.0.0-rc.7
version: 4.0.0-rc.7(@cordisjs/plugin-include@1.0.4)(@cordisjs/plugin-loader@1.0.0-rc.5)
packages/tasks/tool-tasks:
@@ -3763,6 +3799,9 @@ importers:
'@deepseek-ai/dsh-tasks':
specifier: workspace:^
version: link:../tasks
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:^
version: link:../tasks-local
'@deepseek-ai/dsh-tools':
specifier: workspace:^
version: link:../../core/tools
@@ -4615,6 +4654,9 @@ importers:
'@deepseek-ai/dsh-tasks':
specifier: workspace:^
version: link:../../packages/tasks/tasks
'@deepseek-ai/dsh-tasks-local':
specifier: workspace:^
version: link:../../packages/tasks/tasks-local
'@deepseek-ai/dsh-timeout':
specifier: workspace:^
version: link:../../packages/util/timeout