@dsh-cc/preset-cc 0.8.1-rc.1 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.i18n.yaml CHANGED
@@ -3,4 +3,4 @@
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm check:readme --write
5
5
  README.md: 915baac2d78d1412da3ef374df2d2c09c91270d9
6
- README.zh.md: 582c9ec91057a4e4eb77f8e5bb51b4d0032b4505
6
+ README.zh.md: ecb1e63e3ca796083c0bc1beec9dcf9632631205
package/README.zh.md CHANGED
@@ -2,17 +2,17 @@
2
2
 
3
3
  [English](README.md) | 中文
4
4
 
5
- DeepSeek Harness(dsh)的 **CC 模式** agent preset:除内置 `standard`、`minimal` 等之外的第 5 个 agent preset。它在完整标准 preset 之上组合出 Claude Code 行为面——Claude hooks、磁盘上的 CC 插件目录、斜杠命令、memory、CC 输出样式、CC 风格 WebFetch。本包**纯配置**:无 TS 运行时代码,只有 `agent.cordis.yml`(平铺的 agent 组合 entry list)加 `preset.yml` 元数据。
5
+ DeepSeek Harness(dsh)的 **CC 模式** agent preset:除内置 `standard`、`minimal` 等之外的第 5 个 agent preset。它在完整标准 preset 之上组合出 Claude Code 行为面——Claude hooks、磁盘上的 CC 插件目录、斜杠命令、memory、CC 输出样式、CC 风格 WebFetch。本包**纯配置**:无 TS 运行时代码,只有 `agent.cordis.yml`(平铺的 agent 组合 entry list)加 `preset.yml` 元数据。
6
6
 
7
7
  ## 作用
8
8
 
9
- - **完整标准基底**。`agent.cordis.yml` 以标准 `standard` preset 的逐字拷贝开头(16 个基座行),CC 模式会话因此具备标准编码 agent 的全部能力。
10
- - **作用域化的 CC 表面**。`cc rows` 段挂载 Claude Code 对齐插件——hook 桥(30 个 hook 事件中的 18 个)、CC 插件目录 glue、`ToolSearch`、memory 与 consolidation、输出样式、coordinator、21 个斜杠命令,以及 worktree/sleep/notebook/structured-output 与 git 工具。WebFetch:stock `tool-web` 以 `fetch: false` 运行,搜索超时沿用 60s;`web_fetch` 由 cc-services 里的 `tool-web-fetch` 行(`@dsh-cc/tool-web-fetch`,可选 `prompt` 在廉价 lane 上摘要)替代。fetch 执行器是 dsh-base 自带的 stock provider(DNS 钉定、逐跳仅公网),CC 出口上限由 cc-shell patch 重述;工具层会把 `http:` URL 升级为 `https:`(CC 对齐);没有 `haiku` 路由时,可选 `prompt` 会在任何 fetch 之前硬失败。
11
- - **会话标题与 `/rename`**。cc-shell bundle 用 `@dsh-cc/session-title-provider` 替换原生 `session-title-llm` 宿主行——first-prompt 标题提供方,配置了 `haiku` 廉价通道时盖印该路由(否则继承主路由);本 preset 还挂载 `@dsh-cc/command-rename`,`/rename <title>` 即可固定用户标题。
12
- - **隔离的服务 realm**。承载服务的行(工具搜索、microcompactor、插件注册表、MCP 连接、hook-bridge 状态、插件 MCP seam)放进 `cc-services` 组并带七个必需的 `isolate` 键,发布到 entry-local realm 而非进程全局 root realm(否则会触发 preset 挂载门禁)。
13
- - **CC Task 委派(`tool-task` + `cc-model-routes`)**。`cc-services` 组还挂载 `@dsh-cc/subagent-task`(CC Task 工具,对按工作区的 `.claude/agents` 定义做 `subagent_type` 派发)与 `@dsh-cc/model-aliases`(`cc-model-routes`,拥有 `model-aliases` settings 命名空间与派发时别名解析器)。本 preset 里 harness 的 `tool-subagent` 与 `tool-subagent-fork` 两行被**禁用**,改用这个替代 Task,它同样拥有 durable 后台/`continuable` 流程:`run_in_background: true` 启动一个可按 agentId 寻址的 continuable 子代理,`report`/`send_message`/`list_agents`/`interrupt_agent` 都作用于该 id(`subagent_type: "fork"` 在上游 harness issue #2124 解决前保持前台一次性)。已知限制见 task 包 README 与 parity matrix。
9
+ - **完整标准基底**。`agent.cordis.yml` 以标准 `standard` preset 的逐字拷贝开头(16 个基座行),CC 模式会话因此具备标准编码 agent 的全部能力。
10
+ - **作用域化的 CC 表面**。`cc rows` 段挂载 Claude Code 对齐插件——hook 桥(30 个 hook 事件中的 18 个)、CC 插件目录 glue、`ToolSearch`、memory 与 consolidation、输出样式、coordinator、21 个斜杠命令,以及 worktree/sleep/notebook/structured-output 与 git 工具。WebFetch:stock `tool-web` 以 `fetch: false` 运行,搜索超时沿用 60s;`web_fetch` 由 cc-services 里的 `tool-web-fetch` 行(`@dsh-cc/tool-web-fetch`,可选 `prompt` 在廉价 lane 上摘要)替代。fetch 执行器是 dsh-base 自带的 stock provider(DNS 钉定、逐跳仅公网),CC 出口上限由 cc-shell patch 重述;工具层会把 `http:` URL 升级为 `https:`(CC 对齐);没有 `haiku` 路由时,可选 `prompt` 会在任何 fetch 之前硬失败。
11
+ - **会话标题与 `/rename`**。cc-shell bundle 用 `@dsh-cc/session-title-provider` 替换原生 `session-title-llm` 宿主行——first-prompt 标题提供方,配置了 `haiku` 廉价通道时盖印该路由(否则继承主路由);本 preset 还挂载 `@dsh-cc/command-rename`,`/rename <title>` 即可固定用户标题。
12
+ - **隔离的服务 realm**。承载服务的行(工具搜索、microcompactor、插件注册表、MCP 连接、hook-bridge 状态、插件 MCP seam)放进 `cc-services` 组并带七个必需的 `isolate` 键,发布到 entry-local realm 而非进程全局 root realm(否则会触发 preset 挂载门禁)。
13
+ - **CC Task 委派(`tool-task` + `cc-model-routes`)**。`cc-services` 组还挂载 `@dsh-cc/subagent-task`(CC Task 工具,对按工作区的 `.claude/agents` 定义做 `subagent_type` 派发)与 `@dsh-cc/model-aliases`(`cc-model-routes`,拥有 `model-aliases` settings 命名空间与派发时别名解析器)。本 preset 里 harness 的 `tool-subagent` 与 `tool-subagent-fork` 两行被**禁用**,改用这个替代 Task,它同样拥有 durable 后台/`continuable` 流程:`run_in_background: true` 启动一个可按 agentId 寻址的 continuable 子代理,`report`/`send_message`/`list_agents`/`interrupt_agent` 都作用于该 id(`subagent_type: "fork"` 在上游 harness issue #2124 解决前保持前台一次性)。已知限制见 task 包 README 与 parity matrix。
14
14
 
15
- 这些行此前位于全局 `cc-shell` patch(`packages/bundle/cc-shell/cordis.patch.yml`),会泄漏进每个 agent preset;把它们 scope 到本 preset 正是隔离各行为面的手段。
15
+ 这些行此前位于全局 `cc-shell` patch(`packages/bundle/cc-shell/cordis.patch.yml`),会泄漏进每个 agent preset;把它们 scope 到本 preset 正是隔离各行为面的手段。
16
16
 
17
17
  ## 安装
18
18
 
@@ -21,24 +21,24 @@ bash scripts/sync-local-profile.sh web # 把 @dsh-cc/* 包镜像到 profile
21
21
  bash scripts/sync-cc-preset.sh # 把 cc preset 装进 ~/.dsh/.agent-presets/
22
22
  ```
23
23
 
24
- 两个脚本都是拷贝而非软链;插件代码与 preset 文件在启动时读取,因此首次安装后需**重启 dsh**(之后的文件改动也在下次重启生效)。
24
+ 两个脚本都是拷贝而非软链;插件代码与 preset 文件在启动时读取,因此首次安装后需**重启 dsh**(之后的文件改动也在下次重启生效)。
25
25
 
26
26
  ## 选用
27
27
 
28
- - **Web UI**:预设选择器里选「CC mode」;或
29
- - **settings**:`~/.dsh/settings.json` → `"agent-presets": { "default": "cc" }`。
28
+ - **Web UI**:预设选择器里选「CC mode」;或
29
+ - **settings**:`~/.dsh/settings.json` → `"agent-presets": { "default": "cc" }`。
30
30
 
31
- ## Known limits(已知限制)
31
+ ## Known limits(已知限制)
32
32
 
33
- 1. **standing 挂载 + host-plane 单例**。preset 在每个进程挂载一次并处于 standing scope。MCP 连接、glue 装载的磁盘 CC 插件目录、subagent provider 名册、CC 插件对 `settings.json` 的写入都落到进程共享的 host-plane 单例(与上游 `subagents`/`goals` 相同的判据),因此不会因同时挂载的多个 preset 而按会话隔离。
34
- 2. **基座 vendored,靠漂移闸**。标准基座是 vendored 的。升级 dsh 后运行漂移闸(`pnpm vitest run packages/preset/cc`,或直跑二进制)重新 diff 新标准 preset 并合入上游改动。CI 机器无 dsh 安装时闸通过 `it.runIf` 自动跳过。
35
- 3. **卸载即删除**。删掉 `~/.dsh/.agent-presets/cc`(或你的安装方式);四个内置模式不受影响——user root 下同 id 的 preset 也盖不掉已安装的 system root 条目。
36
- 4. **`DSH_COORDINATOR_MODE=1` 使本 preset 挂载失败**。coordinator 需要 agent `ctx`,而 standing 挂载点没有;该失败现在只影响本 preset 的会话创建。在旧全局 patch 时代整个 app 起不来——影响面已收窄,但此模式在此处仍不受支持。
37
- 5. **settings 指向不存在的 preset 会报错**。若默认指向不存在的 preset,建会话报 `agent-preset-not-found`(`details.available` 列出可用 id)。把 `~/.dsh/settings.json` 的 `agent-presets.default` 改回 `standard` 即复位。
33
+ 1. **standing 挂载 + host-plane 单例**。preset 在每个进程挂载一次并处于 standing scope。MCP 连接、glue 装载的磁盘 CC 插件目录、subagent provider 名册、CC 插件对 `settings.json` 的写入都落到进程共享的 host-plane 单例(与上游 `subagents`/`goals` 相同的判据),因此不会因同时挂载的多个 preset 而按会话隔离。
34
+ 2. **基座 vendored,靠漂移闸**。标准基座是 vendored 的。升级 dsh 后运行漂移闸(`pnpm vitest run packages/preset/cc`,或直跑二进制)重新 diff 新标准 preset 并合入上游改动。CI 机器无 dsh 安装时闸通过 `it.runIf` 自动跳过。
35
+ 3. **卸载即删除**。删掉 `~/.dsh/.agent-presets/cc`(或你的安装方式);四个内置模式不受影响——user root 下同 id 的 preset 也盖不掉已安装的 system root 条目。
36
+ 4. **`DSH_COORDINATOR_MODE=1` 使本 preset 挂载失败**。coordinator 需要 agent `ctx`,而 standing 挂载点没有;该失败现在只影响本 preset 的会话创建。在旧全局 patch 时代整个 app 起不来——影响面已收窄,但此模式在此处仍不受支持。
37
+ 5. **settings 指向不存在的 preset 会报错**。若默认指向不存在的 preset,建会话报 `agent-preset-not-found`(`details.available` 列出可用 id)。把 `~/.dsh/settings.json` 的 `agent-presets.default` 改回 `standard` 即复位。
38
38
 
39
39
  ## 链接
40
40
 
41
- - 源组合:`agent.cordis.yml`(基座 + `cc rows`)
42
- - 元数据:`preset.yml`
43
- - 行来源:`packages/bundle/cc-shell/cordis.patch.yml`
44
- - 组合契约:`tests/composition.spec.ts`
41
+ - 源组合:`agent.cordis.yml`(基座 + `cc rows`)
42
+ - 元数据:`preset.yml`
43
+ - 行来源:`packages/bundle/cc-shell/cordis.patch.yml`
44
+ - 组合契约:`tests/composition.spec.ts`
package/agent.cordis.yml CHANGED
@@ -491,6 +491,14 @@
491
491
  - id: tool-web-fetch
492
492
  name: '@dsh-cc/tool-web-fetch'
493
493
 
494
+ # manage_skill tool (plan docs/plans/2026-09-23-learned-skills.md §4.4):
495
+ # create/update/delete/list over the shared learned-skill store under
496
+ # $DSH_HOME/learned-skills/. Publishes no Service (plain plugin,
497
+ # handoff-store pattern), so it needs no isolate key of its own; it
498
+ # consumes the root-realm `skills` service and reads settings at call time.
499
+ - id: tool-manage-skill
500
+ name: '@dsh-cc/tool-manage-skill'
501
+
494
502
  # Subagent handoff store (plan docs/plans/2026-09-10-subagent-handoff-store.md):
495
503
  # the handoff_put / handoff_get tool pair over a content-addressed store
496
504
  # under $DSH_HOME/handoff/<projectKey>/. Publishes no Service (plain plugin,
@@ -538,6 +546,19 @@
538
546
  - id: edit-recovery-hint
539
547
  name: '@dsh-cc/edit-recovery-hint'
540
548
 
549
+ # LSP diagnostics-on-write (plan docs/plans/2026-09-23-lsp-diagnostics-on-write.md):
550
+ # after a successful edit/write/NotebookEdit, pulls the touched file's
551
+ # diagnostics from the running serena language servers via the
552
+ # mcpConnections registry (one uncached tools/call, never the tools
553
+ # waterfall) and appends the `[lsp]` block to the SAME tool result.
554
+ # Settings-gated, dark by default (cc-lsp-on-write.enabled, user layer).
555
+ # Publishes no Service (plain plugin), so it needs no isolate key; the
556
+ # `tools/post-execute` listener is registered WITHOUT prepend so it
557
+ # composes inside context-crusher's outermost post-execute listener.
558
+ # ORDER: after edit-recovery-hint, same post-execute composition family.
559
+ - id: lsp-on-write
560
+ name: '@dsh-cc/lsp-on-write'
561
+
541
562
  # Turn rules (plan docs/plans/2026-09-23-turn-rules.md): a non-interrupting
542
563
  # rule engine — trigger-bearing cursor-plugin rules pay zero context until
543
564
  # their regex matches a completed tool call/result or a user prompt, then
@@ -561,6 +582,19 @@
561
582
  - id: prompt-suggest
562
583
  name: '@dsh-cc/prompt-suggest'
563
584
 
585
+ # Advisor watchdog (plan docs/plans/2026-09-23-advisor-watchdog.md): an
586
+ # opt-in second model that keeps per-session snapshots of the newest
587
+ # qualifying llm/stream request and, at each agent/turn-stopping, reviews
588
+ # the window since its cursor via a one-shot runSideQuery on a cheap lane,
589
+ # injecting severity-tiered advisory notes at resolve time with source
590
+ # kind 'advisor'. Publishes no Service (plain plugin, turn-rules pattern),
591
+ # so it needs no isolate key. DEFAULT OFF (cc-advisor.enabled). ORDER:
592
+ # after turn-rules — turn-rules' prompt matcher must see the un-advised
593
+ # prompt (advisor text is denylisted from the matcher's candidate, but
594
+ # physical row order keeps the seam reviewable).
595
+ - id: advisor-watchdog
596
+ name: '@dsh-cc/advisor-watchdog'
597
+
564
598
  # ── parallel rows ──────────────────────────────────────────────────────────
565
599
 
566
600
  # Claude Code skills from user/project/additional roots.
@@ -707,6 +741,12 @@
707
741
  - id: command-skills
708
742
  name: '@dsh-cc/command-skills'
709
743
 
744
+ # Plain command plugin (plan docs/plans/2026-09-23-small-picks-batch.md C5):
745
+ # publishes no Service, so it needs no isolate key of its own — it registers
746
+ # into the shared `commands` registry like the other command rows above.
747
+ - id: command-commit-split
748
+ name: '@dsh-cc/command-commit-split'
749
+
710
750
  - id: command-help
711
751
  name: '@dsh-cc/command-help'
712
752
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dsh-cc/preset-cc",
3
3
  "description": "dsh CC mode agent preset: composition-only package mounting the Claude Code surface",
4
- "version": "0.8.1-rc.1",
4
+ "version": "0.8.1",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
@@ -19,63 +19,67 @@
19
19
  "access": "public"
20
20
  },
21
21
  "dependencies": {
22
- "@dsh-cc/command-agents": "^0.8.1-rc.1",
23
- "@dsh-cc/command-auto-mode": "^0.8.1-rc.1",
24
- "@dsh-cc/command-branch": "^0.8.1-rc.1",
25
- "@dsh-cc/bundle-shell": "^0.8.1-rc.1",
26
- "@dsh-cc/command-compact": "^0.8.1-rc.1",
27
- "@dsh-cc/cache-health": "^0.8.1-rc.1",
28
- "@dsh-cc/command-cost": "^0.8.1-rc.1",
29
- "@dsh-cc/command-diff": "^0.8.1-rc.1",
30
- "@dsh-cc/command-config": "^0.8.1-rc.1",
31
- "@dsh-cc/command-export": "^0.8.1-rc.1",
32
- "@dsh-cc/command-init": "^0.8.1-rc.1",
33
- "@dsh-cc/command-doctor": "^0.8.1-rc.1",
34
- "@dsh-cc/command-learn": "^0.8.1-rc.1",
35
- "@dsh-cc/command-memory": "^0.8.1-rc.1",
36
- "@dsh-cc/command-mcp": "^0.8.1-rc.1",
37
- "@dsh-cc/command-permissions": "^0.8.1-rc.1",
38
- "@dsh-cc/command-plugin": "^0.8.1-rc.1",
39
- "@dsh-cc/command-release-notes": "^0.8.1-rc.1",
40
- "@dsh-cc/command-resume": "^0.8.1-rc.1",
41
- "@dsh-cc/command-rename": "^0.8.1-rc.1",
42
- "@dsh-cc/command-skills": "^0.8.1-rc.1",
43
- "@dsh-cc/command-help": "^0.8.1-rc.1",
44
- "@dsh-cc/command-stats": "^0.8.1-rc.1",
45
- "@dsh-cc/command-tasks": "^0.8.1-rc.1",
46
- "@dsh-cc/compaction-cost-gate": "^0.8.1-rc.1",
47
- "@dsh-cc/command-version": "^0.8.1-rc.1",
48
- "@dsh-cc/compaction-micro": "^0.8.1-rc.1",
49
- "@dsh-cc/context-crusher": "^0.8.1-rc.1",
50
- "@dsh-cc/coordinator": "^0.8.1-rc.1",
51
- "@dsh-cc/hooks-claude-code": "^0.8.1-rc.1",
52
- "@dsh-cc/command-status": "^0.8.1-rc.1",
53
- "@dsh-cc/compaction-basic": "^0.8.1-rc.1",
54
- "@dsh-cc/memory-consolidation": "^0.8.1-rc.1",
55
- "@dsh-cc/model-aliases": "^0.8.1-rc.1",
56
- "@dsh-cc/skill-loader": "^0.8.1-rc.1",
57
- "@dsh-cc/output-styles": "^0.8.1-rc.1",
58
- "@dsh-cc/subagent-resume-pins": "^0.8.1-rc.1",
59
- "@dsh-cc/session-cwd": "^0.8.1-rc.1",
60
- "@dsh-cc/serena-first": "^0.8.1-rc.1",
61
- "@dsh-cc/memory": "^0.8.1-rc.1",
62
- "@dsh-cc/subagent-task": "^0.8.1-rc.1",
63
- "@dsh-cc/tool-git-worktree": "^0.8.1-rc.1",
64
- "@dsh-cc/tool-append-order": "^0.8.1-rc.1",
65
- "@dsh-cc/tool-notebook-edit": "^0.8.1-rc.1",
66
- "@dsh-cc/tool-search": "^0.8.1-rc.1",
67
- "@dsh-cc/tool-sleep": "^0.8.1-rc.1",
68
- "@dsh-cc/tool-structured-output": "^0.8.1-rc.1",
69
- "@dsh-cc/tool-web-fetch": "^0.8.1-rc.1",
70
- "@dsh-cc/workflow-journal": "^0.8.1-rc.1",
71
- "@dsh-cc/tool-workflow": "^0.8.1-rc.1",
72
- "@dsh-cc/handoff-store": "^0.8.1-rc.1",
73
- "@dsh-cc/prompt-suggest": "^0.8.1-rc.1",
74
- "@dsh-cc/edit-recovery-hint": "^0.8.1-rc.1",
75
- "@dsh-cc/turn-rules": "^0.8.1-rc.1",
76
- "@dsh-cc/tool-use-summary": "^0.8.1-rc.1",
77
- "@dsh-cc/post-edit-verify": "^0.8.1-rc.1",
78
- "@dsh-cc/reasoning-fold": "^0.8.1-rc.1"
22
+ "@dsh-cc/command-auto-mode": "^0.8.1",
23
+ "@dsh-cc/bundle-shell": "^0.8.1",
24
+ "@dsh-cc/command-branch": "^0.8.1",
25
+ "@dsh-cc/command-config": "^0.8.1",
26
+ "@dsh-cc/command-compact": "^0.8.1",
27
+ "@dsh-cc/command-commit-split": "^0.8.1",
28
+ "@dsh-cc/command-cost": "^0.8.1",
29
+ "@dsh-cc/cache-health": "^0.8.1",
30
+ "@dsh-cc/command-diff": "^0.8.1",
31
+ "@dsh-cc/command-export": "^0.8.1",
32
+ "@dsh-cc/command-agents": "^0.8.1",
33
+ "@dsh-cc/command-help": "^0.8.1",
34
+ "@dsh-cc/command-init": "^0.8.1",
35
+ "@dsh-cc/command-doctor": "^0.8.1",
36
+ "@dsh-cc/command-learn": "^0.8.1",
37
+ "@dsh-cc/command-memory": "^0.8.1",
38
+ "@dsh-cc/command-permissions": "^0.8.1",
39
+ "@dsh-cc/command-mcp": "^0.8.1",
40
+ "@dsh-cc/command-plugin": "^0.8.1",
41
+ "@dsh-cc/command-resume": "^0.8.1",
42
+ "@dsh-cc/command-release-notes": "^0.8.1",
43
+ "@dsh-cc/command-skills": "^0.8.1",
44
+ "@dsh-cc/command-rename": "^0.8.1",
45
+ "@dsh-cc/command-status": "^0.8.1",
46
+ "@dsh-cc/command-tasks": "^0.8.1",
47
+ "@dsh-cc/compaction-basic": "^0.8.1",
48
+ "@dsh-cc/command-version": "^0.8.1",
49
+ "@dsh-cc/compaction-micro": "^0.8.1",
50
+ "@dsh-cc/compaction-cost-gate": "^0.8.1",
51
+ "@dsh-cc/context-crusher": "^0.8.1",
52
+ "@dsh-cc/command-stats": "^0.8.1",
53
+ "@dsh-cc/coordinator": "^0.8.1",
54
+ "@dsh-cc/hooks-claude-code": "^0.8.1",
55
+ "@dsh-cc/output-styles": "^0.8.1",
56
+ "@dsh-cc/skill-loader": "^0.8.1",
57
+ "@dsh-cc/model-aliases": "^0.8.1",
58
+ "@dsh-cc/memory-consolidation": "^0.8.1",
59
+ "@dsh-cc/session-cwd": "^0.8.1",
60
+ "@dsh-cc/memory": "^0.8.1",
61
+ "@dsh-cc/subagent-resume-pins": "^0.8.1",
62
+ "@dsh-cc/serena-first": "^0.8.1",
63
+ "@dsh-cc/subagent-task": "^0.8.1",
64
+ "@dsh-cc/tool-append-order": "^0.8.1",
65
+ "@dsh-cc/tool-manage-skill": "^0.8.1",
66
+ "@dsh-cc/tool-notebook-edit": "^0.8.1",
67
+ "@dsh-cc/tool-search": "^0.8.1",
68
+ "@dsh-cc/tool-git-worktree": "^0.8.1",
69
+ "@dsh-cc/tool-sleep": "^0.8.1",
70
+ "@dsh-cc/tool-structured-output": "^0.8.1",
71
+ "@dsh-cc/tool-web-fetch": "^0.8.1",
72
+ "@dsh-cc/handoff-store": "^0.8.1",
73
+ "@dsh-cc/tool-use-summary": "^0.8.1",
74
+ "@dsh-cc/edit-recovery-hint": "^0.8.1",
75
+ "@dsh-cc/tool-workflow": "^0.8.1",
76
+ "@dsh-cc/lsp-on-write": "^0.8.1",
77
+ "@dsh-cc/turn-rules": "^0.8.1",
78
+ "@dsh-cc/workflow-journal": "^0.8.1",
79
+ "@dsh-cc/prompt-suggest": "^0.8.1",
80
+ "@dsh-cc/advisor-watchdog": "^0.8.1",
81
+ "@dsh-cc/post-edit-verify": "^0.8.1",
82
+ "@dsh-cc/reasoning-fold": "^0.8.1"
79
83
  },
80
84
  "devDependencies": {
81
85
  "@deepseek-ai/cordis-plugin-include": "link:../../../../deepseek-harness/vendor/include",