@dsh-cc/bundle-shell 0.8.3-rc.1 → 0.8.3
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 +2 -2
- package/README.md +2 -3
- package/README.zh.md +2 -3
- package/cordis.patch.yml +0 -5
- package/package.json +18 -19
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm check:readme --write
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 6310d2c195eb4d51d7d35de81a9aa98040721a57
|
|
6
|
+
README.zh.md: 17ce266d0666d11ef9a5297818bf01c18bcce66c
|
package/README.md
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
English | [中文](README.zh.md)
|
|
4
4
|
|
|
5
|
-
The CC shell **host-plane infra** bundle. This package carries the pieces that are genuinely host-level — the tools-registry swap with deferred-name support
|
|
5
|
+
The CC shell **host-plane infra** bundle. This package carries the pieces that are genuinely host-level — the tools-registry swap with deferred-name support — plus the `cc-shell-glue` plugin *code* (the glue code still lives here, but its mount action is performed by the CC preset, not this bundle's patch). All agent-facing composition — tool-search, skill loader, memory, coordinator, worktree/sleep/notebook/structured-output tools, the 19 slash commands, the hook bridge, output-style rendering — moved to the [`@dsh-cc/preset-cc`](../../preset/cc/README.md) composition package, so it can be isolated per preset instead of leaking into every mode.
|
|
6
6
|
|
|
7
7
|
## What it does
|
|
8
8
|
|
|
9
9
|
- **Tools registry swap.** Disables the in-box `tools` row and remounts `@dsh-cc/tools`. `reserve()`/`isAdmitted()` join the restrictable-name universe, so permission gates can name deferred tools before they load; the shipped behavior otherwise matches upstream. The base row's `DSH_TOOLS_MODE` toggle is carried forward ($DSH_HOME / process.cwd() semantics unchanged).
|
|
10
|
-
- **Settings migrations.** Mounts `@dsh-cc/settings-migrations` to apply version-gated `settings.json` migrations at startup (equivalent to CC's `runMigrations`). Empty registry — mechanism only — for now.
|
|
11
10
|
- **Glue plugin code (mounted by the CC preset).** `cc-shell-glue` mounts what a cordis patch row cannot express statically: on-disk Claude Code plugins, `.mcp.json` server wiring, and a built-in plugin `mcp` seam (`cc-mcp-seam`, so plugin `mcpServers` mount via mcp-client). Default plugin discovery is the dual-home merged view: `enabledPlugins` (claude-user → dsh-user → project → local cascade) ∩ the merged `installed_plugins.json` of both homes (exact `name@marketplace` keys, `installPath` as the plugin root). The **write root is the dsh home** (`$DSH_HOME` / `~/.dsh`); the Claude home (`$CLAUDE_CONFIG_DIR` / `~/.claude`) stays read-visible for compatibility, with dsh entries winning per key. Explicit `pluginDirs` still flattens those dirs; `[]`/`null` disables. Discovery is best-effort — missing paths and unreadable JSON mount nothing. It also exposes the `ccPlugins` service for live enumeration/rescan of mounted plugins (`/reload-plugins` re-reads the cascade) and the `ccPluginManager` service bound to both homes (so `/plugin` mutations land in `~/.dsh`). The glue threads the spawn-time `resolveModel` into `AgentProvider` as a
|
|
12
11
|
**lazy trampoline** over the `ccModelRoutes` service:
|
|
13
12
|
`(model) => ctx.get('ccModelRoutes')?.resolve(model)` — queried on every spawn, degrading to
|
|
@@ -27,6 +26,6 @@ Two pieces that used to live in `cc-shell-glue` moved to their owning packages:
|
|
|
27
26
|
|
|
28
27
|
## Known limits / notes
|
|
29
28
|
|
|
30
|
-
- This bundle no longer globally mounts any agent-facing surface. Only the host-plane infra rows (tools registry swap
|
|
29
|
+
- This bundle no longer globally mounts any agent-facing surface. Only the host-plane infra rows (tools registry swap) are mounted by this bundle's `cordis.patch.yml`; the glue plugin and all agent surfaces are mounted by `@dsh-cc/preset-cc` so they stay scoped to that preset.
|
|
31
30
|
- Because the tool-web executor row is unshipped by the CLI dependency tree through rc.6, fetch-based web tooling is mounted by the preset, not here; see the preset's "Known limits" for the current fetch status.
|
|
32
31
|
- Project/local `enabledPlugins` are boot-cwd-biased (the glue is a host-plane singleton, same as `.mcp.json`). `/reload-plugins` is the live escape hatch. Plugin state is dual-home: `$CLAUDE_CONFIG_DIR` stays read-visible for discovery, while plugin-management writes go to `$DSH_HOME` (`~/.dsh`) — setting `CLAUDE_CONFIG_DIR` no longer relocates plugin writes; `.mcp.json` still hardcodes `~/.claude`.
|
package/README.zh.md
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | 中文
|
|
4
4
|
|
|
5
|
-
CC 壳层的 **host-plane infra** 组合包。本包承载真正属于宿主层的部件——带 deferred-name 支持的 tools
|
|
5
|
+
CC 壳层的 **host-plane infra** 组合包。本包承载真正属于宿主层的部件——带 deferred-name 支持的 tools 注册表替换——以及 `cc-shell-glue` 插件的*代码*(glue 代码仍住在这里,但挂载动作由 CC preset 执行,而非本包的 patch)。所有 agent-face 组合——tool-search、skill loader、memory、coordinator、worktree/sleep/notebook/structured-output 工具、19 个斜杠命令、hook 桥、output-style 渲染——都已迁至 [`@dsh-cc/preset-cc`](../../preset/cc/README.md) 组合包,以便按 preset 隔离,而不是泄漏进每个模式。
|
|
6
6
|
|
|
7
7
|
## 作用
|
|
8
8
|
|
|
9
9
|
- **tools 注册表替换。** 禁用 in-box 的 `tools` 行,重挂 `@dsh-cc/tools`。`reserve()`/`isAdmitted()` 加入可限制名 universe,权限门可在 deferred 工具加载前按名门控;其余行为与上游一致。基础行的 `DSH_TOOLS_MODE` 开关被延续($DSH_HOME / process.cwd() 语义不变)。
|
|
10
|
-
- **settings 迁移。** 挂载 `@dsh-cc/settings-migrations`,在启动时应用版本门控的 `settings.json` 迁移(等价于 CC 的 `runMigrations`)。当前为空注册表——仅机制。
|
|
11
10
|
- **glue 插件代码(由 CC preset 挂载)。** `cc-shell-glue` 挂载 cordis patch 行无法静态表达的部件:磁盘上的 Claude Code 插件、`.mcp.json` server 接线,以及内置的插件 `mcp` seam(`cc-mcp-seam`,使插件的 `mcpServers` 通过 mcp-client 真正挂载)。默认插件发现是双 home 合并视图:`enabledPlugins`(claude-user → dsh-user → project → local 级联)∩ 两个 home 合并后的 `installed_plugins.json`(精确 `name@marketplace` key,`installPath` 作为插件根)。**写入根是 dsh home**(`$DSH_HOME` / `~/.dsh`);Claude home(`$CLAUDE_CONFIG_DIR` / `~/.claude`)保持可读以兼容,dsh 条目按 key 优先。显式 `pluginDirs` 仍 flatten 这些目录;`[]`/`null` 关闭。发现为尽力而为——缺失路径与无法读取的 JSON 都不挂载。它还暴露 `ccPlugins` 服务,用于对已挂载插件做实时枚举/重扫(`/reload-plugins` 会重读级联),以及绑定两个 home 的 `ccPluginManager` 服务(`/plugin` 变更落在 `~/.dsh`)。glue 以 **惰性 trampoline** 基于 `ccModelRoutes` 服务把派发时的 `resolveModel` 接入 `AgentProvider`:`(model) => ctx.get('ccModelRoutes')?.resolve(model)`——每次派发查询,服务未挂载时降级为继承父路由。
|
|
12
11
|
|
|
13
12
|
### 从 glue 迁出的部分
|
|
@@ -19,6 +18,6 @@ CC 壳层的 **host-plane infra** 组合包。本包承载真正属于宿主层
|
|
|
19
18
|
|
|
20
19
|
## 已知限制 / 说明
|
|
21
20
|
|
|
22
|
-
- 本包不再全局挂载任何 agent-face 表面。只有 host-plane infra 行(tools
|
|
21
|
+
- 本包不再全局挂载任何 agent-face 表面。只有 host-plane infra 行(tools 注册表替换)由本包的 `cordis.patch.yml` 挂载;glue 插件与所有 agent 表面由 `@dsh-cc/preset-cc` 挂载,从而限定在该 preset 内。
|
|
23
22
|
- 由于 tool-web executor 行在 rc.6 之前未被 CLI 依赖树携带,基于 fetch 的 web 工具由 preset 挂载而非此处;当前 fetch 状态见 preset 的「已知限制」。
|
|
24
23
|
- 项目/local `enabledPlugins` 偏向 boot cwd(glue 是 host-plane 单例,与 `.mcp.json` 相同)。`/reload-plugins` 是热更新出口。插件状态是双 home 的:`$CLAUDE_CONFIG_DIR` 保持可读供发现使用,而插件管理写入落在 `$DSH_HOME`(`~/.dsh`)——设置 `CLAUDE_CONFIG_DIR` 不再决定插件写入位置;`.mcp.json` 仍写死 `~/.claude`。
|
package/cordis.patch.yml
CHANGED
|
@@ -46,11 +46,6 @@
|
|
|
46
46
|
# patches `tools` with it). Absent env ⇒ undefined, the established semantics.
|
|
47
47
|
mode: !!js process.env.DSH_TOOLS_MODE
|
|
48
48
|
|
|
49
|
-
# Settings migrations: apply version-gated settings.json migrations at startup
|
|
50
|
-
# (equivalent to CC's runMigrations). Empty registry — mechanism only — for now.
|
|
51
|
-
- id: settings-migrations
|
|
52
|
-
name: '@dsh-cc/settings-migrations'
|
|
53
|
-
|
|
54
49
|
# Host-plane first-prompt session titles on the CC cheap lane: stamps
|
|
55
50
|
# resolve('haiku') when configured, else inherits the logged main route
|
|
56
51
|
# (explicit provider+model config in this row would win over the alias).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dsh-cc/bundle-shell",
|
|
3
|
-
"version": "0.8.3
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"description": "CC shell host-plane infra: tools registry swap (deferred-name support) + settings migrations; the glue plugin code lives here but is mounted by the CC preset (packages/preset/cc)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -41,17 +41,16 @@
|
|
|
41
41
|
"@deepseek-ai/dsh-schedule": ">=0.2.0-rc.2"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@dsh-cc/
|
|
45
|
-
"@dsh-cc/mcp-
|
|
46
|
-
"@dsh-cc/
|
|
47
|
-
"@dsh-cc/
|
|
48
|
-
"@dsh-cc/
|
|
49
|
-
"@dsh-cc/
|
|
50
|
-
"@dsh-cc/
|
|
51
|
-
"@dsh-cc/settings-ns": "^0.8.3
|
|
52
|
-
"@dsh-cc/tools": "^0.8.3
|
|
53
|
-
"@dsh-cc/
|
|
54
|
-
"@dsh-cc/settings-migrations": "^0.8.3-rc.1"
|
|
44
|
+
"@dsh-cc/hook-protocol": "^0.8.3",
|
|
45
|
+
"@dsh-cc/mcp-client": "^0.8.3",
|
|
46
|
+
"@dsh-cc/mcp-config": "^0.8.3",
|
|
47
|
+
"@dsh-cc/plugin-manager": "^0.8.3",
|
|
48
|
+
"@dsh-cc/plugin-loader": "^0.8.3",
|
|
49
|
+
"@dsh-cc/session-title-provider": "^0.8.3",
|
|
50
|
+
"@dsh-cc/claude-code-agents": "^0.8.3",
|
|
51
|
+
"@dsh-cc/settings-ns": "^0.8.3",
|
|
52
|
+
"@dsh-cc/tools": "^0.8.3",
|
|
53
|
+
"@dsh-cc/model-aliases": "^0.8.3"
|
|
55
54
|
},
|
|
56
55
|
"devDependencies": {
|
|
57
56
|
"@deepseek-ai/cordis": "link:../../../../deepseek-harness/vendor/cordis",
|
|
@@ -88,14 +87,14 @@
|
|
|
88
87
|
"@deepseek-ai/dsh-web-fetch-http": "link:../../../../deepseek-harness/packages/web/web-fetch-http",
|
|
89
88
|
"typescript": "6.0.3",
|
|
90
89
|
"@deepseek-ai/dsh-fs-local": "link:../../../../deepseek-harness/packages/fs/fs-local",
|
|
91
|
-
"@dsh-cc/settings-provider": "^0.8.3
|
|
92
|
-
"@dsh-cc/hooks-claude-code": "^0.8.3
|
|
90
|
+
"@dsh-cc/settings-provider": "^0.8.3",
|
|
91
|
+
"@dsh-cc/hooks-claude-code": "^0.8.3",
|
|
93
92
|
"@dsh-cc/agent-loop-mock": "^0.1.0",
|
|
94
|
-
"@dsh-cc/tool-
|
|
95
|
-
"@dsh-cc/
|
|
96
|
-
"@dsh-cc/
|
|
97
|
-
"@dsh-cc/
|
|
98
|
-
"@dsh-cc/
|
|
93
|
+
"@dsh-cc/tool-structured-output": "^0.8.3",
|
|
94
|
+
"@dsh-cc/subagent-task": "^0.8.3",
|
|
95
|
+
"@dsh-cc/subagent-resume-pins": "^0.8.3",
|
|
96
|
+
"@dsh-cc/tool-sleep": "^0.8.3",
|
|
97
|
+
"@dsh-cc/tool-notebook-edit": "^0.8.3"
|
|
99
98
|
},
|
|
100
99
|
"publishConfig": {
|
|
101
100
|
"access": "public"
|