@aiwayds/dsh-tui-pi 0.15.0 → 0.15.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.md +14 -11
- package/README.zh.md +34 -18
- package/lib/session.js +8 -3
- package/lib/session.js.map +1 -1
- package/lib/subagent-policy.d.ts +38 -7
- package/lib/subagent-policy.js +82 -13
- package/lib/subagent-policy.js.map +1 -1
- package/package.json +1 -1
- package/scripts/dev-upgrade.mjs +286 -0
- package/scripts/dev-install.mjs +0 -85
package/README.md
CHANGED
|
@@ -262,18 +262,21 @@ the powerline glyphs on the next start.
|
|
|
262
262
|
|
|
263
263
|
## Install (local)
|
|
264
264
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
The `tui` profile installs this plugin from the npm registry — its
|
|
266
|
+
`package.json` pins `"@aiwayds/dsh-tui-pi": "<version>"`, resolved by pnpm
|
|
267
|
+
like any other dependency. After a release, upgrade the profile with:
|
|
268
268
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
269
|
+
```sh
|
|
270
|
+
node scripts/dev-upgrade.mjs # latest
|
|
271
|
+
node scripts/dev-upgrade.mjs 0.15.1 --dry-run # preview the plan first
|
|
272
272
|
```
|
|
273
273
|
|
|
274
|
-
The
|
|
275
|
-
`dsh-tui-pi`
|
|
276
|
-
|
|
274
|
+
The script verifies the version exists on the registry, updates ONLY the
|
|
275
|
+
`"@aiwayds/dsh-tui-pi"` key in `~/.dsh/profiles/tui/package.json`
|
|
276
|
+
(formatting-preserving read-modify-write), runs `pnpm install` there, then
|
|
277
|
+
checks the installed copy reports the target version. It never touches
|
|
278
|
+
`~/.dsh/settings.yaml` or `.credentials.yaml`. Restart dsh (or `/reload`
|
|
279
|
+
inside the TUI) to load the new copy.
|
|
277
280
|
|
|
278
281
|
## Install (npm)
|
|
279
282
|
|
|
@@ -335,7 +338,7 @@ dsh --profile tui # or: dsh-tui-pi (bin shim)
|
|
|
335
338
|
```sh
|
|
336
339
|
pnpm check # tsc --noEmit
|
|
337
340
|
pnpm build # emit lib/
|
|
338
|
-
pnpm test # unit tests, node --test against lib/ (
|
|
341
|
+
pnpm test # unit tests, node --test against lib/ (548 tests, pretest builds)
|
|
339
342
|
```
|
|
340
343
|
|
|
341
344
|
Local type-checking symlinks `node_modules/@deepseek-ai/*` to the installed
|
|
@@ -368,7 +371,7 @@ src/
|
|
|
368
371
|
subagent-policy.ts maxAgents guard + maxRounds wrap-up injection
|
|
369
372
|
subagent-viewer.ts Ctrl+G picker + live transcript panel
|
|
370
373
|
theme/ GitHub light/dark palettes + terminal detection
|
|
371
|
-
test/*.test.mjs unit tests (
|
|
374
|
+
test/*.test.mjs unit tests (548 across 37 files)
|
|
372
375
|
```
|
|
373
376
|
|
|
374
377
|
---
|
package/README.zh.md
CHANGED
|
@@ -111,6 +111,8 @@ dsh ▸ volc-ark-plan ▸ deepseek-v4-flash ▸ high ▸ 48.7k/1.0M(4.6%) ▸
|
|
|
111
111
|
|
|
112
112
|
每行显示:spinner + 代理**名称**,重试次数(`↻N≤M`),当前上下文占用(`X/Y` —— 子代理最近一次请求的 billed input+output 加上其后消息的 CJK 估算,除以它的上下文窗口;**不是**只增不减的累计 token 消耗),rounds(`round N/M` —— assistant 消息数对上限,`maxRounds > 0` 时才显示 `/M`),耗时。不显示 provider,无边框,无标题。
|
|
113
113
|
|
|
114
|
+
**spawn 派生**与 **fork 派生**两类子代理都会被追踪——dsh 通过 `childSessionMeta` 同时写入 `origin: 'subagent'` 和 `delegationDepth` 预算,头部识别对两种标记都认得(只有预算没有 origin 的头部作为防御性兜底也会被接纳,标记为 `fork <id8>`;当前 dsh 不会产生这种形态)。非子代理会话按**值**而非字段有无被挡在板外:jsonl 持久化后端在每条恢复的头部上都会物化 `delegationDepth: 0`,所以闸门要求预算严格 `> 0`。面向用户的会话 fork(fork 出的*对话*:`Session.fork` 只设 `parentSession` + `seedLength`,不带预算)刻意不进子代理面板,仍可通过 `/resume` 恢复——`/resume` 的过滤器(`isResumableSessionHeader`)恰好排除被委派的子代理(`origin: 'subagent'` 或预算 > 0)。
|
|
115
|
+
|
|
114
116
|
#### Todos 待办面板
|
|
115
117
|
|
|
116
118
|
`● Todos (done/total)` 树是一个有边框的面板,**固定在输入框上方**(不随对话区滚动):
|
|
@@ -148,6 +150,8 @@ dsh plugin --profile tui add @aiwayds/dsh-dcp
|
|
|
148
150
|
|
|
149
151
|
挂载后 DCP 在后台透明运行。Footer 的 **Context** 分段计算的是当前上下文占用 —— 最近一次请求的 billed context 加上其后消息的 CJK 估算 —— 所以裁剪后下一次请求会变小,显示随之回落(百分比封顶 100,窗口是硬上限)。**Cache-hit** 分段反映会话累计的缓存复用。
|
|
150
152
|
|
|
153
|
+
在子代理内部,已提交的裁剪同样可见:DCP 在子代理自己的日志里为每次裁剪追加一行 `user/message` **notice**,Ctrl+G 的对话查看器用 `🧹` 标记渲染它(区别于通用的 `ⓘ`),选择器行的描述里带有该子代理的裁剪次数(`🧹 N×`)。DCP 的 `roundInterval` 与 TUI 的 `maxRounds` 数的是**同一样东西**——`assistant/message` 事件,每次 LLM 往返计 1——但行为不同:子代理计数达到 `maxRounds` 时 TUI 排队发一个收尾请求;会话计数达到 `roundInterval` 后 DCP 在下一个空闲边界执行裁剪(修剪上下文)。一个触发工作,一个释放上下文。
|
|
154
|
+
|
|
151
155
|
---
|
|
152
156
|
|
|
153
157
|
## 斜杠命令
|
|
@@ -163,6 +167,7 @@ dsh plugin --profile tui add @aiwayds/dsh-dcp
|
|
|
163
167
|
| `/export` | 将当前会话日志导出为 JSONL(默认 `~/Downloads/dsh-session-<id>.jsonl`)。 |
|
|
164
168
|
| `/permission` | 权限预设选择器(read-only / workspace-write / danger-full-access)。 |
|
|
165
169
|
| `/theme` | 配色方案选择器(`auto` / `light` / `dark`),实时生效。 |
|
|
170
|
+
| `/preset` | Agent 预设选择器;`<name>` 直接切换,`next` 向前循环(同 `Tab`)。 |
|
|
166
171
|
| `/agents` | 管理 agent markdown 文件 + 子代理限制(`maxAgents`、`maxRounds`)。 |
|
|
167
172
|
| `/subagents` | 选择运行中/最近的子代理,查看其实时对话。 |
|
|
168
173
|
| `/reload` | 从源码热重载插件(`pnpm build` 后执行,无需重启 dsh)。 |
|
|
@@ -182,12 +187,18 @@ dsh plugin --profile tui add @aiwayds/dsh-dcp
|
|
|
182
187
|
| `Ctrl+D` | 退出(仅在编辑器为空时) |
|
|
183
188
|
| `Ctrl+L` | 打开模型/推理强度选择器 |
|
|
184
189
|
| `Ctrl+G` | 打开子代理选择器(有运行中的子代理时) |
|
|
185
|
-
| `Tab` |
|
|
190
|
+
| `Tab` | 循环切换 agent 预设(footer 品牌段显示当前预设 `dsh(<name>)`) |
|
|
186
191
|
| `↑` / `↓` | 浏览历史消息(shell 风格,保留 500 条) |
|
|
187
192
|
|
|
188
193
|
### 自定义快捷键
|
|
189
194
|
|
|
190
|
-
通过 `~/.dsh/keybindings.json`
|
|
195
|
+
通过 `~/.dsh/keybindings.json` 重新映射任意应用按键 —— 一个部分 JSON 映射表,键为应用按键、值为按键 id(`ctrl+letter`、`alt+letter`、命名键)。可手动编辑,或用 `/hotkeys` 交互式修改(实时生效,无需重启)。
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Agent 预设
|
|
200
|
+
|
|
201
|
+
当部署提供了 `standard` 预设时,TUI 启动即选中它;否则选中扫描到的第一项。这只是本地选择:在你操作 `/preset` 或按 `Tab` 之前,创建会话时不会发送任何 `meta.agentPreset`,因此仍由服务端默认值(`agent-presets.default`)决定。footer 品牌段反映本地选择(`dsh(<name>)`);一次切换会在下一个空白会话生效。
|
|
191
202
|
|
|
192
203
|
---
|
|
193
204
|
|
|
@@ -200,6 +211,9 @@ GitHub light / GitHub dark 配色方案,运行时热切换:
|
|
|
200
211
|
- `DSH_TUI_TRANSPARENT=1` —— 透明画布(终端背景可见)。
|
|
201
212
|
- `auto` 模式自动检测终端并跟随实时明暗切换。
|
|
202
213
|
|
|
214
|
+
全屏画布背景随包内置 —— 由写流装饰器(`src/canvas-terminal.ts`)用主题色
|
|
215
|
+
经 BCE 给每条擦除序列上色,无需补丁依赖。
|
|
216
|
+
|
|
203
217
|
---
|
|
204
218
|
|
|
205
219
|
## 字体
|
|
@@ -237,18 +251,20 @@ wezterm → `wezterm.font("…")`。下次启动时 `auto` 就会解析成 Power
|
|
|
237
251
|
|
|
238
252
|
## 安装(本地)
|
|
239
253
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
254
|
+
`tui` profile 通过 npm registry 安装本插件——profile 的 `package.json` 钉
|
|
255
|
+
`"@aiwayds/dsh-tui-pi": "<version>"`,由 pnpm 像普通依赖一样解析。发版后
|
|
256
|
+
升级 profile:
|
|
243
257
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
258
|
+
```sh
|
|
259
|
+
node scripts/dev-upgrade.mjs # 最新版
|
|
260
|
+
node scripts/dev-upgrade.mjs 0.15.1 --dry-run # 先预览执行计划
|
|
247
261
|
```
|
|
248
262
|
|
|
249
|
-
|
|
250
|
-
`dsh-tui-pi
|
|
251
|
-
|
|
263
|
+
脚本先在 registry 上校验版本存在,然后只更新
|
|
264
|
+
`~/.dsh/profiles/tui/package.json` 里的 `"@aiwayds/dsh-tui-pi"` 一个键
|
|
265
|
+
(保格式的 read-modify-write),在该目录执行 `pnpm install`,最后校验安装
|
|
266
|
+
副本的版本与目标一致。绝不碰 `~/.dsh/settings.yaml` 和
|
|
267
|
+
`.credentials.yaml`。重启 dsh(或在 TUI 内 `/reload`)加载新副本。
|
|
252
268
|
|
|
253
269
|
## 安装(npm)
|
|
254
270
|
|
|
@@ -277,16 +293,16 @@ dsh --profile tui
|
|
|
277
293
|
|
|
278
294
|
**不会自动完成的事:**
|
|
279
295
|
|
|
280
|
-
-
|
|
281
|
-
|
|
282
|
-
`pnpm-workspace.yaml`
|
|
283
|
-
补丁照样启动,只是未选中行不会渲染全行背景。
|
|
296
|
+
- 不再有任何补丁相关的事:自 0.8.0 起,仓库和 npm 包运行的是同一个
|
|
297
|
+
原版 `@earendil-works/pi-tui`——画布背景由我们自己的写流装饰器(BCE)
|
|
298
|
+
绘制,随包内置,消费方 profile 无需任何 `pnpm-workspace.yaml` 条目。
|
|
284
299
|
|
|
285
300
|
### 故障排查
|
|
286
301
|
|
|
287
302
|
| 症状 | 原因 | 修复 |
|
|
288
303
|
|---|---|---|
|
|
289
304
|
| `Cannot find package '<name>' imported from ~/.dsh/profiles/...` | 某个 bundle 的 `cordis.patch.yml` 的 `name` 字段与 scoped 包名不匹配 | 更新插件(所有 `@aiwayds/*` 插件已修复补丁 `name` 字段) |
|
|
305
|
+
| npm 安装的 dsh 报 `Cannot find package '@deepseek-ai/dsh-client-schema-form'` | npm 分发的 dsh 闭包缺这个包(上游打包缺口——[deepseek-harness discussion #3471](https://github.com/deepseek-ai/deepseek-harness/discussions/3471)) | 本插件自 0.8.1 起已修(辅助函数内置,不再 import 缺失的包)。其他需要它的插件:`cd ~/.dsh/profiles/<profile> && pnpm add @deepseek-ai/dsh-client-schema-form@next` |
|
|
290
306
|
| `Cannot read properties of undefined (reading 'prepare')` | profile 树里出现两个 `@deepseek-ai/cordis` 物理副本(模块重复安装) | 见 AGENTS.md 铁律 8。删掉物理副本:`rm -rf ~/.dsh/profiles/tui/node_modules/@deepseek-ai && dsh --profile tui`(dsh 会重新 heal 为软链) |
|
|
291
307
|
| pnpm 提示 `Peer dependencies that should be installed: @deepseek-ai/...` | 某个插件把 `@deepseek-ai/*` 放在 `dependencies` 而非 `peerDependencies` | 更新插件(所有 `@aiwayds/*` dsh 插件已改用 optional peerDeps),警告无害 |
|
|
292
308
|
| pnpm 提示 `Ignored build scripts: @aiwayds/dsh-tui-pi@...` | pnpm 10 默认阻止 build 脚本,tui-pi 的 postinstall 被跳过 | **正常且无害**——postinstall 只影响仓库开发流,npm 消费者由 dsh 的 `healProfilesModuleFallback` 处理闭包链接 |
|
|
@@ -306,12 +322,12 @@ dsh --profile tui # 或:dsh-tui-pi(bin shim)
|
|
|
306
322
|
```sh
|
|
307
323
|
pnpm check # tsc --noEmit
|
|
308
324
|
pnpm build # 输出 lib/
|
|
309
|
-
pnpm test # 单元测试,node --test 对 lib/ 执行(
|
|
325
|
+
pnpm test # 单元测试,node --test 对 lib/ 执行(548 个测试,pretest 自动构建)
|
|
310
326
|
```
|
|
311
327
|
|
|
312
328
|
本地类型检查通过 symlink `node_modules/@deepseek-ai/*` 指向已安装的 dsh 闭包(`/opt/homebrew/lib/node_modules/@deepseek-ai/dsh/node_modules`);这些 symlink 不会打入 tarball。`scripts/link-dsh-closure.mjs`(`postinstall`)在每次 `pnpm install` 后重新创建所有 symlink。
|
|
313
329
|
|
|
314
|
-
**pi-tui
|
|
330
|
+
**pi-tui**:npm 上的原版 `@earendil-works/pi-tui` 0.84.2——无补丁、无 fork。全屏画布背景由我们自己的写流装饰器实现(`src/canvas-terminal.ts`,BCE)。
|
|
315
331
|
|
|
316
332
|
---
|
|
317
333
|
|
|
@@ -331,7 +347,7 @@ src/
|
|
|
331
347
|
subagent-policy.ts maxAgents 守卫 + maxRounds 收尾请求注入
|
|
332
348
|
subagent-viewer.ts Ctrl+G 选择器 + 实时对话面板
|
|
333
349
|
theme/ GitHub light/dark 配色 + 终端检测
|
|
334
|
-
test/*.test.mjs 单元测试(
|
|
350
|
+
test/*.test.mjs 单元测试(548 个,覆盖 37 个文件)
|
|
335
351
|
```
|
|
336
352
|
|
|
337
353
|
---
|
package/lib/session.js
CHANGED
|
@@ -15,7 +15,7 @@ import { settingsNamespace, SettingsConflictError } from '@deepseek-ai/dsh-setti
|
|
|
15
15
|
import { SessionId } from '@deepseek-ai/dsh-session';
|
|
16
16
|
import { readAppendSystem } from "./append-system.js";
|
|
17
17
|
import { isAgentEnd, isAgentStart, isDcpCompactionNotice, isLlmRetry, isSubagentDescriptor } from "./dsh-events.js";
|
|
18
|
-
import { installSpawnToolFence } from "./subagent-policy.js";
|
|
18
|
+
import { installSpawnToolFence, markTuiSurface } from "./subagent-policy.js";
|
|
19
19
|
import { estimateContentTokens, estimateTextTokens } from "./tokens.js";
|
|
20
20
|
/**
|
|
21
21
|
* Register the APPEND_SYSTEM.md section on ONE agent's scoped context, so the
|
|
@@ -597,8 +597,11 @@ export class DshSessionBridge {
|
|
|
597
597
|
// Install the mutable selection so `/model` can live-switch the route,
|
|
598
598
|
// the APPEND_SYSTEM.md section on this agent ONLY (never its
|
|
599
599
|
// subagents), and the spawn-tool hide so the agent sees a single
|
|
600
|
-
// `use_agent` delegation entry.
|
|
600
|
+
// `use_agent` delegation entry. The surface marker scopes the live
|
|
601
|
+
// disableSubagent guard to THIS agent (resume runs setup too, so a
|
|
602
|
+
// resumed session is re-marked without relying on persisted meta).
|
|
601
603
|
setup: async (agentCtx) => {
|
|
604
|
+
markTuiSurface(agentCtx);
|
|
602
605
|
installModelSelection(agentCtx, this.selectionRef);
|
|
603
606
|
installAppendSystem(agentCtx);
|
|
604
607
|
installSpawnToolFence(agentCtx);
|
|
@@ -1046,8 +1049,10 @@ export class DshSessionBridge {
|
|
|
1046
1049
|
// Install the mutable selection so `/model` can live-switch the route,
|
|
1047
1050
|
// the APPEND_SYSTEM.md section on this agent ONLY (never its
|
|
1048
1051
|
// subagents), and the spawn-tool hide so the agent sees a single
|
|
1049
|
-
// `use_agent` delegation entry.
|
|
1052
|
+
// `use_agent` delegation entry. The surface marker scopes the live
|
|
1053
|
+
// disableSubagent guard to THIS agent.
|
|
1050
1054
|
setup: async (agentCtx) => {
|
|
1055
|
+
markTuiSurface(agentCtx);
|
|
1051
1056
|
installModelSelection(agentCtx, this.selectionRef);
|
|
1052
1057
|
installAppendSystem(agentCtx);
|
|
1053
1058
|
installSpawnToolFence(agentCtx);
|
package/lib/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/lib/subagent-policy.d.ts
CHANGED
|
@@ -6,16 +6,21 @@
|
|
|
6
6
|
* the next guard execution / turn count reads the new value):
|
|
7
7
|
* - `maxAgents` caps concurrent live children. A `tools.guard` registered on
|
|
8
8
|
* the plugin root ctx denies model-facing spawn tools once the bridge's
|
|
9
|
-
* live child count meets the cap.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* live child count meets the cap. The live-child COUNT covers every child
|
|
10
|
+
* in the process, but like `disableSubagent` the DENIAL is scoped to
|
|
11
|
+
* sessions this bridge created or resumed (`TUI_SURFACE_KEY`): unmarked
|
|
12
|
+
* callers fail open. The workflow/ralph fan-out bypasses the tool pipeline (its worker thread
|
|
12
13
|
* spawns through the subagent provider directly), so a `subagent/start`
|
|
13
14
|
* listener prunes any newcomer that slips past the guard.
|
|
14
15
|
* - `disableSubagent` disables the plain native `subagent` tool: its calls
|
|
15
|
-
* are denied for every
|
|
16
|
-
* catalog), so delegation goes through registered agent
|
|
17
|
-
* (`~/.dsh/agents/*.md` via the registry's `use_agent`).
|
|
18
|
-
* `workflow` and `ralph` stay available.
|
|
16
|
+
* are denied for every TUI session (and it is hidden from the main
|
|
17
|
+
* agent's catalog), so delegation goes through registered agent
|
|
18
|
+
* definitions (`~/.dsh/agents/*.md` via the registry's `use_agent`).
|
|
19
|
+
* `subagent_fork`, `workflow` and `ralph` stay available. Enforcement is
|
|
20
|
+
* scoped to sessions this bridge created or resumed (see
|
|
21
|
+
* `TUI_SURFACE_KEY`): the guard reads the calling agent's surface marker
|
|
22
|
+
* and FAILS OPEN for everything else, so a future web-profile deployment
|
|
23
|
+
* of this plugin never disables the native tool inside Web UI sessions.
|
|
19
24
|
* - `maxRounds` caps a child's assistant messages (each LLM round-trip is
|
|
20
25
|
* one "round"): on the bridge's `onRoundCount` the policy injects one
|
|
21
26
|
* plugin-sourced user message telling the child to wrap up. Queued as the
|
|
@@ -53,6 +58,32 @@ export declare const NATIVE_SPAWN_TOOLS: readonly string[];
|
|
|
53
58
|
* guard, being live, applies immediately in both directions).
|
|
54
59
|
*/
|
|
55
60
|
export declare function installSpawnToolFence(agentCtx: Context): void;
|
|
61
|
+
/**
|
|
62
|
+
* Cordis context key marking an agent scope as owned by this TUI: set on the
|
|
63
|
+
* bridge's `agentCtx` in BOTH session setups (create and resume — dsh runs
|
|
64
|
+
* the setup callback on the resume path too), read by BOTH enforcement
|
|
65
|
+
* branches of the global guard (the disableSubagent fence AND the maxAgents
|
|
66
|
+
* cap). Session meta is NOT usable for this: dsh's
|
|
67
|
+
* session store folds only its known header fields (`cwd`, `parentSession`,
|
|
68
|
+
* `seedLength`, `origin`, `delegationDepth`, `agentPreset`) into the durable
|
|
69
|
+
* `SessionHeader`, so any custom field would be silently dropped at create
|
|
70
|
+
* AND absent on resume. An in-process scope marker survives neither concern:
|
|
71
|
+
* it exists exactly while the TUI-owned agent lives, re-installed by every
|
|
72
|
+
* resume setup, and never leaks into persistence or other processes.
|
|
73
|
+
*/
|
|
74
|
+
export declare const TUI_SURFACE_KEY = "dshTuiSurface";
|
|
75
|
+
/**
|
|
76
|
+
* Mark ONE agent scope as created/resumed by this TUI bridge. Call from the
|
|
77
|
+
* bridge's agent setup; pairs with the guard's surface check below.
|
|
78
|
+
*
|
|
79
|
+
* Must be `provide`, never `set`: on a real cordis Context, `set` of a name
|
|
80
|
+
* that was not provided first throws (`cannot set property ... without
|
|
81
|
+
* provide`) — and this runs inside the session setups, where a throw rolls
|
|
82
|
+
* back the whole session create/resume. `provide` defines the property on
|
|
83
|
+
* the scope and reads back through plain `get` (regression-tested against a
|
|
84
|
+
* real Context).
|
|
85
|
+
*/
|
|
86
|
+
export declare function markTuiSurface(agentCtx: Context): void;
|
|
56
87
|
/** Injected into a child that reached `maxRounds` — wrap up and report back. */
|
|
57
88
|
export declare const SUMMARY_MESSAGE: string;
|
|
58
89
|
/** The policy's live backstop — the bridge's per-child accessors. */
|
package/lib/subagent-policy.js
CHANGED
|
@@ -6,16 +6,21 @@
|
|
|
6
6
|
* the next guard execution / turn count reads the new value):
|
|
7
7
|
* - `maxAgents` caps concurrent live children. A `tools.guard` registered on
|
|
8
8
|
* the plugin root ctx denies model-facing spawn tools once the bridge's
|
|
9
|
-
* live child count meets the cap.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* live child count meets the cap. The live-child COUNT covers every child
|
|
10
|
+
* in the process, but like `disableSubagent` the DENIAL is scoped to
|
|
11
|
+
* sessions this bridge created or resumed (`TUI_SURFACE_KEY`): unmarked
|
|
12
|
+
* callers fail open. The workflow/ralph fan-out bypasses the tool pipeline (its worker thread
|
|
12
13
|
* spawns through the subagent provider directly), so a `subagent/start`
|
|
13
14
|
* listener prunes any newcomer that slips past the guard.
|
|
14
15
|
* - `disableSubagent` disables the plain native `subagent` tool: its calls
|
|
15
|
-
* are denied for every
|
|
16
|
-
* catalog), so delegation goes through registered agent
|
|
17
|
-
* (`~/.dsh/agents/*.md` via the registry's `use_agent`).
|
|
18
|
-
* `workflow` and `ralph` stay available.
|
|
16
|
+
* are denied for every TUI session (and it is hidden from the main
|
|
17
|
+
* agent's catalog), so delegation goes through registered agent
|
|
18
|
+
* definitions (`~/.dsh/agents/*.md` via the registry's `use_agent`).
|
|
19
|
+
* `subagent_fork`, `workflow` and `ralph` stay available. Enforcement is
|
|
20
|
+
* scoped to sessions this bridge created or resumed (see
|
|
21
|
+
* `TUI_SURFACE_KEY`): the guard reads the calling agent's surface marker
|
|
22
|
+
* and FAILS OPEN for everything else, so a future web-profile deployment
|
|
23
|
+
* of this plugin never disables the native tool inside Web UI sessions.
|
|
19
24
|
* - `maxRounds` caps a child's assistant messages (each LLM round-trip is
|
|
20
25
|
* one "round"): on the bridge's `onRoundCount` the policy injects one
|
|
21
26
|
* plugin-sourced user message telling the child to wrap up. Queued as the
|
|
@@ -74,6 +79,55 @@ export function installSpawnToolFence(agentCtx) {
|
|
|
74
79
|
// below still denies the subagent tool at execution time.
|
|
75
80
|
}
|
|
76
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Cordis context key marking an agent scope as owned by this TUI: set on the
|
|
84
|
+
* bridge's `agentCtx` in BOTH session setups (create and resume — dsh runs
|
|
85
|
+
* the setup callback on the resume path too), read by BOTH enforcement
|
|
86
|
+
* branches of the global guard (the disableSubagent fence AND the maxAgents
|
|
87
|
+
* cap). Session meta is NOT usable for this: dsh's
|
|
88
|
+
* session store folds only its known header fields (`cwd`, `parentSession`,
|
|
89
|
+
* `seedLength`, `origin`, `delegationDepth`, `agentPreset`) into the durable
|
|
90
|
+
* `SessionHeader`, so any custom field would be silently dropped at create
|
|
91
|
+
* AND absent on resume. An in-process scope marker survives neither concern:
|
|
92
|
+
* it exists exactly while the TUI-owned agent lives, re-installed by every
|
|
93
|
+
* resume setup, and never leaks into persistence or other processes.
|
|
94
|
+
*/
|
|
95
|
+
export const TUI_SURFACE_KEY = 'dshTuiSurface';
|
|
96
|
+
/**
|
|
97
|
+
* Mark ONE agent scope as created/resumed by this TUI bridge. Call from the
|
|
98
|
+
* bridge's agent setup; pairs with the guard's surface check below.
|
|
99
|
+
*
|
|
100
|
+
* Must be `provide`, never `set`: on a real cordis Context, `set` of a name
|
|
101
|
+
* that was not provided first throws (`cannot set property ... without
|
|
102
|
+
* provide`) — and this runs inside the session setups, where a throw rolls
|
|
103
|
+
* back the whole session create/resume. `provide` defines the property on
|
|
104
|
+
* the scope and reads back through plain `get` (regression-tested against a
|
|
105
|
+
* real Context).
|
|
106
|
+
*/
|
|
107
|
+
export function markTuiSurface(agentCtx) {
|
|
108
|
+
agentCtx.provide(TUI_SURFACE_KEY, true);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Whether the agent a spawn-tool call runs on behalf of carries the TUI
|
|
112
|
+
* surface marker. Defensive end to end: `exec.agent` may be undefined, lack
|
|
113
|
+
* a ctx, or its get may throw (foreign service shapes) — anything but a
|
|
114
|
+
* confirmed marker reads as NOT TUI-owned, so BOTH enforcement branches
|
|
115
|
+
* (the disableSubagent denial and the maxAgents cap) fail open outside this
|
|
116
|
+
* plugin's own sessions.
|
|
117
|
+
*/
|
|
118
|
+
function isTuiSurfaceAgent(agent) {
|
|
119
|
+
if (agent === null || typeof agent !== 'object')
|
|
120
|
+
return false;
|
|
121
|
+
const ctx = agent.ctx;
|
|
122
|
+
if (ctx === null || typeof ctx !== 'object' || typeof ctx.get !== 'function')
|
|
123
|
+
return false;
|
|
124
|
+
try {
|
|
125
|
+
return ctx.get(TUI_SURFACE_KEY) === true;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
77
131
|
/** Injected into a child that reached `maxRounds` — wrap up and report back. */
|
|
78
132
|
export const SUMMARY_MESSAGE = '总结和结束这个任务,汇报情况。';
|
|
79
133
|
/**
|
|
@@ -90,22 +144,37 @@ export const SUMMARY_MESSAGE = '总结和结束这个任务,汇报情况。';
|
|
|
90
144
|
export function applySubagentPolicy(ctx, state) {
|
|
91
145
|
const disposers = [];
|
|
92
146
|
const injected = new Set();
|
|
93
|
-
// maxAgents guard: global (
|
|
94
|
-
//
|
|
147
|
+
// maxAgents guard: the live-child count is global (the bridge counts every
|
|
148
|
+
// child it discovers), but the DENIAL — like the disableSubagent fence —
|
|
149
|
+
// only fires for agents this bridge created or resumed (the surface
|
|
150
|
+
// marker; unmarked callers fail open). Zero disables the guard.
|
|
95
151
|
// The cap is approximate, not a hard admission lock: a burst of parallel
|
|
96
152
|
// spawn calls can briefly overshoot before the bridge's firehose discovery
|
|
97
153
|
// counts the newcomers — the subagent/start backstop below prunes the
|
|
98
154
|
// overshoot, and the next spawn's guard reads the caught-up count.
|
|
99
155
|
//
|
|
100
|
-
// disableSubagent fence: the plain native `subagent` tool is denied
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
156
|
+
// disableSubagent fence: the plain native `subagent` tool is denied —
|
|
157
|
+
// but ONLY for agents this bridge created or resumed (the surface marker
|
|
158
|
+
// set by `markTuiSurface` in the session setups; checked before the cap -
|
|
159
|
+
// a tool violation is the reason even when the cap would also deny).
|
|
160
|
+
// Fail-open by design: an unmarked agent (a Web UI session in a shared
|
|
161
|
+
// process, a foreign caller, an absent exec.agent) passes through to the
|
|
162
|
+
// cap check below, so the fence never disables the native tool outside
|
|
163
|
+
// the TUI's own sessions. `use_agent`, the fork/workflow/ralph variants
|
|
164
|
+
// and every non-spawn tool pass through to the cap check too.
|
|
165
|
+
//
|
|
166
|
+
// maxAgents cap: SAME surface scoping as the fence — only a marked TUI
|
|
167
|
+
// session's spawn calls are denied at the cap. The live-children COUNT is
|
|
168
|
+
// still global (the bridge counts every child it discovers), but the
|
|
169
|
+
// denial fires only for marked callers, so foreign sessions sharing this
|
|
170
|
+
// process keep spawning freely while the TUI's own budget is enforced.
|
|
104
171
|
const tools = ctx.get('tools');
|
|
105
172
|
if (tools?.guard !== undefined) {
|
|
106
173
|
disposers.push(tools.guard((exec) => {
|
|
107
174
|
if (!SPAWN_TOOLS.includes(exec.name))
|
|
108
175
|
return undefined;
|
|
176
|
+
if (!isTuiSurfaceAgent(exec.agent))
|
|
177
|
+
return undefined;
|
|
109
178
|
if (readSubagentLimits(ctx).disableSubagent && NATIVE_SPAWN_TOOLS.includes(exec.name)) {
|
|
110
179
|
return `Tool "subagent" is disabled here - delegation goes through registered agents. `
|
|
111
180
|
+ 'Dispatch the work through the use_agent tool with one of the registered agent names instead.';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-policy.js","sourceRoot":"","sources":["../src/subagent-policy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"subagent-policy.js","sourceRoot":"","sources":["../src/subagent-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,UAAU;IACV,eAAe;IACf,UAAU;IACV,OAAO;IACP,WAAW;CACZ,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,UAAU;CACX,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAiB;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAgF,CAAA;IAClH,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS;QAAE,OAAM;IACzC,IAAI,CAAC;QACH,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;QACrE,0DAA0D;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,QAAiB;IAC9C,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,GAAG,GAAI,KAAoC,CAAC,GAAG,CAAA;IACrD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAQ,GAAyB,CAAC,GAAG,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IACjH,IAAI,CAAC;QACH,OAAQ,GAAsC,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,eAAe,GAAW,iBAAiB,CAAA;AAgCxD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY,EAAE,KAA0B;IAC1E,MAAM,SAAS,GAAsB,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAElC,2EAA2E;IAC3E,yEAAyE;IACzE,oEAAoE;IACpE,gEAAgE;IAChE,yEAAyE;IACzE,2EAA2E;IAC3E,sEAAsE;IACtE,mEAAmE;IACnE,EAAE;IACF,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,qEAAqE;IACrE,uEAAuE;IACvE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,8DAA8D;IAC9D,EAAE;IACF,uEAAuE;IACvE,0EAA0E;IAC1E,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAA6B,CAAA;IAC1D,IAAI,KAAK,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAA;YACtD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAA;YACpD,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC,eAAe,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtF,OAAO,gFAAgF;sBACnF,8FAA8F,CAAA;YACpG,CAAC;YACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;YACnD,IAAI,SAAS,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAA;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;YAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;gBAAE,OAAO,SAAS,CAAA;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3D,OAAO,wBAAwB,IAAI,CAAC,MAAM,IAAI,SAAS,MAAM,OAAO,kFAAkF,CAAA;QACxJ,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,sBAAsB;IACtB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAuB,EAAE,EAAE;QAChF,IAAI,IAAI,EAAE,EAAE,KAAK,SAAS;YAAE,OAAM;QAClC,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;QACnD,IAAI,SAAS,IAAI,CAAC;YAAE,OAAM;QAC1B,qEAAqE;QACrE,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7E,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;YAAE,OAAM;QACnC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;YAC9B,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,+DAA+D;SACxE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAE7B;;;;;;;;;;OAUG;IACH,SAAS,YAAY,CAAC,OAAe,EAAE,KAAa;QAClD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAM;QACjC,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAA;QACnD,IAAI,SAAS,IAAI,CAAC;YAAE,OAAM;QAC1B,IAAI,KAAK,GAAG,SAAS;YAAE,OAAM;QAC7B,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAM;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAChD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAM;QAC/B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACrB,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;YAClD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE;SACjD,CAAC,CAAC,CAAA;IACL,CAAC;IAED,OAAO;QACL,YAAY;QACZ,OAAO;YACL,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBAAC,OAAO,EAAE,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiwayds/dsh-tui-pi",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"description": "pi-style terminal UI for DeepSeek Harness (dsh) — pi-tui look & feel, dsh slash commands, GitHub light/dark themes, powerline footer",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Dev loop after a release: upgrade the pinned `@aiwayds/dsh-tui-pi` version
|
|
4
|
+
* in a dsh profile — the same flow a real user gets from the npm registry.
|
|
5
|
+
*
|
|
6
|
+
* History: this used to be scripts/dev-install.mjs (build → pack → install a
|
|
7
|
+
* file: tarball into the profile). Since 2026-08-21 the tui profile installs
|
|
8
|
+
* from the npm REGISTRY — its package.json pins
|
|
9
|
+
* `"@aiwayds/dsh-tui-pi": "<version>"` and pnpm resolves it like any other
|
|
10
|
+
* dependency. The tarball flow is dead (its guard errors out before touching
|
|
11
|
+
* anything), so this script replaces it with the flow that actually matters:
|
|
12
|
+
* bumping the pin.
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* node scripts/dev-upgrade.mjs [version|latest] [--profile <name>] [--dry-run]
|
|
16
|
+
* (version defaults to "latest", profile defaults to "tui")
|
|
17
|
+
*
|
|
18
|
+
* Steps:
|
|
19
|
+
* 1. Resolve the target version via `npm view @aiwayds/dsh-tui-pi version`
|
|
20
|
+
* (for "latest") or `npm view @aiwayds/dsh-tui-pi@<version> version`
|
|
21
|
+
* (for a pinned request) — the version must exist on the registry
|
|
22
|
+
* BEFORE anything is written.
|
|
23
|
+
* 2. Update ONLY the `"@aiwayds/dsh-tui-pi"` key in the profile's
|
|
24
|
+
* package.json, as a read-modify-write that preserves the file's
|
|
25
|
+
* formatting (targeted value replacement + JSON round-trip check that
|
|
26
|
+
* nothing else changed).
|
|
27
|
+
* 3. Run `pnpm install` in the profile directory.
|
|
28
|
+
* 4. Verify the installed copy under node_modules reports the target
|
|
29
|
+
* version.
|
|
30
|
+
*
|
|
31
|
+
* With `--dry-run` the script prints the full plan (file, old → new pin,
|
|
32
|
+
* commands) and exits without writing or installing anything.
|
|
33
|
+
*
|
|
34
|
+
* Safety: the script NEVER touches `~/.dsh/settings.yaml` or
|
|
35
|
+
* `~/.dsh/.credentials.yaml` (live user configuration) and never mutates any
|
|
36
|
+
* other dependency entry in the profile manifest.
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
import { execFileSync } from 'node:child_process'
|
|
40
|
+
import { existsSync, readFileSync, renameSync, rmSync, writeFileSync } from 'node:fs'
|
|
41
|
+
import { homedir } from 'node:os'
|
|
42
|
+
import { dirname, join } from 'node:path'
|
|
43
|
+
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
44
|
+
|
|
45
|
+
const PKG_NAME = '@aiwayds/dsh-tui-pi'
|
|
46
|
+
const repoRoot = dirname(dirname(fileURLToPath(import.meta.url)))
|
|
47
|
+
|
|
48
|
+
/** Parse CLI args: [version] [--profile <name>] [--dry-run]. */
|
|
49
|
+
export function parseArgs(argv) {
|
|
50
|
+
let version = 'latest'
|
|
51
|
+
let profile = 'tui'
|
|
52
|
+
let dryRun = false
|
|
53
|
+
for (let i = 0; i < argv.length; i++) {
|
|
54
|
+
const arg = argv[i]
|
|
55
|
+
if (arg === '--dry-run') {
|
|
56
|
+
dryRun = true
|
|
57
|
+
} else if (arg === '--profile') {
|
|
58
|
+
profile = argv[++i]
|
|
59
|
+
if (!profile) throw new Error('--profile requires a value')
|
|
60
|
+
} else if (arg === '-h' || arg === '--help') {
|
|
61
|
+
return { help: true }
|
|
62
|
+
} else if (arg.startsWith('-')) {
|
|
63
|
+
throw new Error(`unknown option: ${arg}`)
|
|
64
|
+
} else {
|
|
65
|
+
if (version !== 'latest') throw new Error(`unexpected extra argument: ${arg}`)
|
|
66
|
+
version = arg
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return { version, profile, dryRun }
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Rewrite ONLY the pinned version of `pkgName` inside a package.json source
|
|
74
|
+
* string, preserving all surrounding formatting byte-for-byte. Throws when
|
|
75
|
+
* the dependency is missing or is not a plain pinned version (file:, link:,
|
|
76
|
+
* ranges and dist-tags are refused — this script only flips exact pins).
|
|
77
|
+
*/
|
|
78
|
+
export function bumpDependencyText(source, pkgName, nextVersion) {
|
|
79
|
+
const manifest = JSON.parse(source)
|
|
80
|
+
const current = manifest.dependencies?.[pkgName]
|
|
81
|
+
if (typeof current !== 'string') {
|
|
82
|
+
throw new Error(
|
|
83
|
+
`dependencies["${pkgName}"] not found in the profile package.json — ` +
|
|
84
|
+
`add it first (e.g. "pnpm --dir <profile> add ${pkgName}").`,
|
|
85
|
+
)
|
|
86
|
+
}
|
|
87
|
+
const plainVersion =
|
|
88
|
+
typeof current === 'string' &&
|
|
89
|
+
/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:[-+][\w.-]+)?$/.test(current)
|
|
90
|
+
if (!plainVersion) {
|
|
91
|
+
throw new Error(
|
|
92
|
+
`dependencies["${pkgName}"] is "${current}", not a plain pinned version — ` +
|
|
93
|
+
`refusing to rewrite non-pin refs (file:/link:/range/tag).`,
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
const needle = `"${pkgName}": "${current}"`
|
|
97
|
+
if (!source.includes(needle)) {
|
|
98
|
+
// Formatting differs (extra spaces etc.) — refuse rather than guess.
|
|
99
|
+
throw new Error(
|
|
100
|
+
`could not find \`"${pkgName}": "${current}"\` verbatim in the profile ` +
|
|
101
|
+
`package.json; fix the formatting or edit the pin by hand.`,
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
return source.replace(needle, `"${pkgName}": "${nextVersion}"`)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Verify that rewriting produced EXACTLY one change: the named dependency's
|
|
109
|
+
* value became expectedNext and everything else is untouched.
|
|
110
|
+
*/
|
|
111
|
+
export function assertOnlyDependencyChanged(beforeText, afterText, pkgName, expectedNext) {
|
|
112
|
+
const before = JSON.parse(beforeText)
|
|
113
|
+
const after = JSON.parse(afterText)
|
|
114
|
+
before.dependencies[pkgName] = expectedNext
|
|
115
|
+
const prune = (m) => {
|
|
116
|
+
const copy = { ...m }
|
|
117
|
+
delete copy.dependencies
|
|
118
|
+
return copy
|
|
119
|
+
}
|
|
120
|
+
if (JSON.stringify(prune(before)) !== JSON.stringify(prune(after))) {
|
|
121
|
+
throw new Error('safety check failed: something other than the target dependency changed')
|
|
122
|
+
}
|
|
123
|
+
if (afterText === beforeText) {
|
|
124
|
+
throw new Error('nothing was rewritten')
|
|
125
|
+
}
|
|
126
|
+
if (after.dependencies[pkgName] !== expectedNext) {
|
|
127
|
+
throw new Error(`dependencies["${pkgName}"] did not become "${expectedNext}"`)
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/** Look up a version on the npm registry; returns the resolved semver. */
|
|
132
|
+
function resolveRegistryVersion(request) {
|
|
133
|
+
const spec = request === 'latest' ? `${PKG_NAME}@latest` : `${PKG_NAME}@${request}`
|
|
134
|
+
const out = execFileSync('npm', ['view', spec, 'version'], {
|
|
135
|
+
cwd: repoRoot,
|
|
136
|
+
encoding: 'utf8',
|
|
137
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
138
|
+
}).trim()
|
|
139
|
+
if (!/^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/.test(out)) {
|
|
140
|
+
throw new Error(`registry returned an unexpected version for ${spec}: ${out}`)
|
|
141
|
+
}
|
|
142
|
+
return out
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
async function main() {
|
|
146
|
+
let args
|
|
147
|
+
try {
|
|
148
|
+
args = parseArgs(process.argv.slice(2))
|
|
149
|
+
} catch (err) {
|
|
150
|
+
console.error(`[dev-upgrade] ${err.message}`)
|
|
151
|
+
console.error('usage: node scripts/dev-upgrade.mjs [version|latest] [--profile <name>] [--dry-run]')
|
|
152
|
+
process.exit(1)
|
|
153
|
+
}
|
|
154
|
+
if (args.help) {
|
|
155
|
+
console.log('usage: node scripts/dev-upgrade.mjs [version|latest] [--profile <name>] [--dry-run]')
|
|
156
|
+
return
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const profileDir = join(homedir(), '.dsh', 'profiles', args.profile)
|
|
160
|
+
const manifestPath = join(profileDir, 'package.json')
|
|
161
|
+
if (!existsSync(manifestPath)) {
|
|
162
|
+
console.error(`[dev-upgrade] profile not found: ${profileDir}`)
|
|
163
|
+
process.exit(1)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// 1. Resolve + verify the target on the registry before touching anything.
|
|
167
|
+
let target
|
|
168
|
+
try {
|
|
169
|
+
target = resolveRegistryVersion(args.version)
|
|
170
|
+
} catch (err) {
|
|
171
|
+
console.error(
|
|
172
|
+
`[dev-upgrade] version lookup failed for "${args.version}": ${err.message.split('\n')[0]}`,
|
|
173
|
+
)
|
|
174
|
+
process.exit(1)
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const source = readFileSync(manifestPath, 'utf8')
|
|
178
|
+
let current
|
|
179
|
+
try {
|
|
180
|
+
current = JSON.parse(source).dependencies?.[PKG_NAME]
|
|
181
|
+
} catch {
|
|
182
|
+
console.error(`[dev-upgrade] profile package.json is not valid JSON: ${manifestPath}`)
|
|
183
|
+
process.exit(1)
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (current === target) {
|
|
187
|
+
console.log(`[dev-upgrade] already pinned to ${target} — nothing to do.`)
|
|
188
|
+
return
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
console.log(`[dev-upgrade] plan (${args.dryRun ? 'DRY RUN' : 'apply'}):`)
|
|
192
|
+
console.log(` 1. ${manifestPath}`)
|
|
193
|
+
console.log(` dependencies["${PKG_NAME}"]: ${current ?? '(missing)'} → ${target}`)
|
|
194
|
+
console.log(` 2. $ pnpm install (cwd: ${profileDir})`)
|
|
195
|
+
console.log(` 3. verify node_modules/${PKG_NAME}/package.json version === ${target}`)
|
|
196
|
+
console.log(' (settings.yaml / .credentials.yaml are never touched)')
|
|
197
|
+
if (args.dryRun) {
|
|
198
|
+
console.log('[dev-upgrade] dry run — no files written, nothing installed.')
|
|
199
|
+
return
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (typeof current !== 'string') {
|
|
203
|
+
console.error(
|
|
204
|
+
`[dev-upgrade] dependencies["${PKG_NAME}"] missing in ${manifestPath}; ` +
|
|
205
|
+
`run \`dsh plugin --profile ${args.profile} add ${PKG_NAME}\` first.`,
|
|
206
|
+
)
|
|
207
|
+
process.exit(1)
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// 2. Read-modify-write, preserving formatting; verify the result changed
|
|
211
|
+
// exactly one thing.
|
|
212
|
+
let updated
|
|
213
|
+
try {
|
|
214
|
+
updated = bumpDependencyText(source, PKG_NAME, target)
|
|
215
|
+
assertOnlyDependencyChanged(source, updated, PKG_NAME, target)
|
|
216
|
+
} catch (err) {
|
|
217
|
+
console.error(`[dev-upgrade] refusing to write: ${err.message}`)
|
|
218
|
+
process.exit(1)
|
|
219
|
+
}
|
|
220
|
+
atomicWriteFileSync(manifestPath, updated)
|
|
221
|
+
|
|
222
|
+
// 3. Install in the profile. If pnpm fails AFTER the manifest was already
|
|
223
|
+
// rewritten, atomically restore the original pin so the profile stays
|
|
224
|
+
// consistent with what is actually installed under node_modules.
|
|
225
|
+
try {
|
|
226
|
+
run('pnpm', ['install'], profileDir)
|
|
227
|
+
} catch {
|
|
228
|
+
atomicWriteFileSync(manifestPath, source)
|
|
229
|
+
console.error(
|
|
230
|
+
`[dev-upgrade] pnpm install failed — the pin in ${manifestPath} was restored to ${current}.`,
|
|
231
|
+
)
|
|
232
|
+
console.error(
|
|
233
|
+
`[dev-upgrade] Re-run this command once pnpm / the network is healthy to retry the upgrade.`,
|
|
234
|
+
)
|
|
235
|
+
console.error(
|
|
236
|
+
'[dev-upgrade] Note: a partially updated pnpm-lock.yaml converges on the next `pnpm install`.',
|
|
237
|
+
)
|
|
238
|
+
process.exit(1)
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// 4. Verify the installed copy.
|
|
242
|
+
const installedPkg = join(profileDir, 'node_modules', ...PKG_NAME.split('/'), 'package.json')
|
|
243
|
+
const installed = JSON.parse(readFileSync(installedPkg, 'utf8')).version
|
|
244
|
+
if (installed !== target) {
|
|
245
|
+
console.error(`[dev-upgrade] installed version mismatch: expected ${target}, got ${installed}`)
|
|
246
|
+
process.exit(1)
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
console.log(`[dev-upgrade] ${args.profile} upgraded to ${PKG_NAME}@${target}.`)
|
|
250
|
+
console.log('[dev-upgrade] restart dsh (or /reload inside the TUI) to load the new copy.')
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Atomic replace in the same directory: write a sibling temp file then rename
|
|
255
|
+
* over the target, so a crash mid-write never leaves a truncated manifest
|
|
256
|
+
* behind. Same convention as src/skills.ts.
|
|
257
|
+
*/
|
|
258
|
+
function atomicWriteFileSync(filePath, content) {
|
|
259
|
+
const pathBase = filePath.split('/').pop() ?? 'file'
|
|
260
|
+
const tmp = join(dirname(filePath), `.${pathBase}.tmp-${process.pid}`)
|
|
261
|
+
try {
|
|
262
|
+
writeFileSync(tmp, content)
|
|
263
|
+
renameSync(tmp, filePath)
|
|
264
|
+
} catch (error) {
|
|
265
|
+
// A failed write/rename can leave the `.<name>.tmp-<pid>` sibling behind;
|
|
266
|
+
// clean it up so nothing ever sees a stray temp file.
|
|
267
|
+
try {
|
|
268
|
+
rmSync(tmp, { force: true })
|
|
269
|
+
} catch {
|
|
270
|
+
// Best-effort — the original error is what we surface.
|
|
271
|
+
}
|
|
272
|
+
throw error
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
function run(cmd, args, cwd) {
|
|
277
|
+
console.log(`$ ${cmd} ${args.join(' ')}`)
|
|
278
|
+
execFileSync(cmd, args, { cwd, stdio: 'inherit' })
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
282
|
+
main().catch((err) => {
|
|
283
|
+
console.error(`[dev-upgrade] ${err?.message ?? err}`)
|
|
284
|
+
process.exit(1)
|
|
285
|
+
})
|
|
286
|
+
}
|
package/scripts/dev-install.mjs
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Dev loop: build → pack → install into a dsh profile — the same flow a real
|
|
4
|
-
* user gets (`dsh plugin add <tarball>`), no `link:` mount, no live-repo
|
|
5
|
-
* resolution at runtime.
|
|
6
|
-
*
|
|
7
|
-
* Usage: node scripts/dev-install.mjs [profile]
|
|
8
|
-
* (profile defaults to "tui")
|
|
9
|
-
*
|
|
10
|
-
* Steps:
|
|
11
|
-
* 1. `pnpm build` — emit lib/ from src/.
|
|
12
|
-
* 2. `pnpm pack` — produce <name>-<version>.tgz in the repo root.
|
|
13
|
-
* 3. In ~/.dsh/profiles/<profile>: remove the two installed copies of the
|
|
14
|
-
* plugin (bundle name `dsh-tui-pi` + scoped `@aiwayds/dsh-tui-pi`), then
|
|
15
|
-
* `pnpm install`. The file: tarball deps are reinstalled from the fresh
|
|
16
|
-
* tarball (pnpm does NOT re-read a changed tarball while the node_modules
|
|
17
|
-
* entry exists — the remove is what forces the refresh).
|
|
18
|
-
*
|
|
19
|
-
* The profile's package.json must declare BOTH keys pointing at the tarball:
|
|
20
|
-
* "dsh-tui-pi": "file:<repo>/<name>-<version>.tgz" (bundle resolution)
|
|
21
|
-
* "@aiwayds/dsh-tui-pi": "file:<repo>/<name>-<version>.tgz" (loader import)
|
|
22
|
-
*
|
|
23
|
-
* After installing: restart dsh (or /reload inside the TUI) to load the new
|
|
24
|
-
* copy.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
import { execFileSync } from 'node:child_process'
|
|
28
|
-
import { existsSync, readFileSync, rmSync } from 'node:fs'
|
|
29
|
-
import { homedir } from 'node:os'
|
|
30
|
-
import { dirname, join } from 'node:path'
|
|
31
|
-
import { fileURLToPath } from 'node:url'
|
|
32
|
-
|
|
33
|
-
const repoRoot = dirname(dirname(fileURLToPath(import.meta.url)))
|
|
34
|
-
const profileName = process.argv[2] ?? 'tui'
|
|
35
|
-
const profileDir = join(homedir(), '.dsh', 'profiles', profileName)
|
|
36
|
-
|
|
37
|
-
function run(cmd, args, cwd) {
|
|
38
|
-
console.log(`$ ${cmd} ${args.join(' ')}`)
|
|
39
|
-
execFileSync(cmd, args, { cwd, stdio: 'inherit' })
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (!existsSync(join(profileDir, 'package.json'))) {
|
|
43
|
-
console.error(`[dev-install] profile not found: ${profileDir}`)
|
|
44
|
-
process.exit(1)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// 1. build
|
|
48
|
-
run('pnpm', ['build'], repoRoot)
|
|
49
|
-
|
|
50
|
-
// 2. pack
|
|
51
|
-
run('pnpm', ['pack'], repoRoot)
|
|
52
|
-
const manifest = JSON.parse(readFileSync(join(repoRoot, 'package.json'), 'utf8'))
|
|
53
|
-
// pnpm packs scoped packages as <scope>-<name>-<version>.tgz (@aiwayds/dsh-tui-pi
|
|
54
|
-
// → aiwayds-dsh-tui-pi-0.2.0.tgz).
|
|
55
|
-
const tarballName = `${manifest.name.replace(/^@/, '').replace('/', '-')}-${manifest.version}.tgz`
|
|
56
|
-
const tarball = join(repoRoot, tarballName)
|
|
57
|
-
if (!existsSync(tarball)) {
|
|
58
|
-
console.error(`[dev-install] tarball not produced: ${tarball}`)
|
|
59
|
-
process.exit(1)
|
|
60
|
-
}
|
|
61
|
-
console.log(`[dev-install] tarball: ${tarball}`)
|
|
62
|
-
|
|
63
|
-
// B3: the profile's file: deps must reference THIS tarball. After a version
|
|
64
|
-
// bump the profile still points at the old <name>-<oldversion>.tgz — installing
|
|
65
|
-
// would silently load the stale package. Fail loudly instead.
|
|
66
|
-
const profileManifest = JSON.parse(readFileSync(join(profileDir, 'package.json'), 'utf8'))
|
|
67
|
-
for (const key of ['dsh-tui-pi', '@aiwayds/dsh-tui-pi']) {
|
|
68
|
-
const ref = profileManifest.dependencies?.[key]
|
|
69
|
-
if (typeof ref !== 'string' || !ref.includes(tarballName)) {
|
|
70
|
-
console.error(
|
|
71
|
-
`[dev-install] profile ${profileName} dependency "${key}" does not reference ${tarballName} ` +
|
|
72
|
-
`(got: ${ref}); update ~/.dsh/profiles/${profileName}/package.json first.`,
|
|
73
|
-
)
|
|
74
|
-
process.exit(1)
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// 3. refresh the profile's installed copies (remove forces reinstall of the
|
|
79
|
-
// changed file: tarball — pnpm skips re-reading it while the entry exists)
|
|
80
|
-
for (const dir of ['dsh-tui-pi', join('@aiwayds', 'dsh-tui-pi')]) {
|
|
81
|
-
rmSync(join(profileDir, 'node_modules', dir), { recursive: true, force: true })
|
|
82
|
-
}
|
|
83
|
-
run('pnpm', ['install'], profileDir)
|
|
84
|
-
|
|
85
|
-
console.log(`[dev-install] installed into ${profileName} — restart dsh (or /reload) to load the new copy.`)
|