@xmoon76/dsh-pi-tui 0.4.7-alpha.2 → 0.4.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmoon76/dsh-pi-tui",
3
- "version": "0.4.7-alpha.2",
3
+ "version": "0.4.8",
4
4
  "description": "The dsh-pi-tui bundle: a TUI surface for DeepSeek Harness profiles (dsh --profile pi-tui)",
5
5
  "license": "MIT",
6
6
  "author": "XMoon <xmoonox@gmail.com>",
@@ -54,6 +54,7 @@
54
54
  "files": [
55
55
  "dist",
56
56
  "cordis.patch.yml",
57
+ "generated",
57
58
  "README.md",
58
59
  "README.en.md",
59
60
  "LICENSE"
@@ -63,7 +64,13 @@
63
64
  },
64
65
  "dsh": {
65
66
  "bundle": {
66
- "patch": "./cordis.patch.yml"
67
+ "patch": [
68
+ "./cordis.patch.yml",
69
+ "./generated/dsh-presets/standard.patch.yml",
70
+ "./generated/dsh-presets/ptc.patch.yml",
71
+ "./generated/dsh-presets/minimal.patch.yml",
72
+ "./generated/dsh-presets/cordis.patch.yml"
73
+ ]
67
74
  }
68
75
  },
69
76
  "dependencies": {
@@ -71,121 +78,128 @@
71
78
  "commander": "^15.0.0",
72
79
  "diff": "^9.0.0",
73
80
  "get-east-asian-width": "1.6.0",
74
- "marked": "18.0.5"
81
+ "marked": "18.0.5",
82
+ "yaml": "^2.8.1"
75
83
  },
76
84
  "peerDependencies": {
77
- "@deepseek-ai/cordis": "^4.0.2",
78
- "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
79
- "@deepseek-ai/dsh-agent": ">=0.1.6-alpha.2",
80
- "@deepseek-ai/dsh-agent-default-model": ">=0.1.6-alpha.2",
81
- "@deepseek-ai/dsh-agent-presets": ">=0.1.6-alpha.2",
82
- "@deepseek-ai/dsh-api-session-controller": ">=0.1.6-alpha.2",
83
- "@deepseek-ai/dsh-authorization": ">=0.1.6-alpha.2",
84
- "@deepseek-ai/dsh-cmdline": ">=0.1.6-alpha.2",
85
- "@deepseek-ai/dsh-commands": ">=0.1.6-alpha.2",
86
- "@deepseek-ai/dsh-credentials": ">=0.1.6-alpha.2",
87
- "@deepseek-ai/dsh-goal": ">=0.1.6-alpha.2",
88
- "@deepseek-ai/dsh-jobs": ">=0.1.6-alpha.2",
89
- "@deepseek-ai/dsh-llm": ">=0.1.6-alpha.2",
90
- "@deepseek-ai/dsh-llm-retry": ">=0.1.6-alpha.2",
91
- "@deepseek-ai/dsh-permission-presets": ">=0.1.6-alpha.2",
92
- "@deepseek-ai/dsh-plan-mode": ">=0.1.6-alpha.2",
93
- "@deepseek-ai/dsh-sandbox-policy": ">=0.1.6-alpha.2",
94
- "@deepseek-ai/dsh-session": ">=0.1.6-alpha.2",
95
- "@deepseek-ai/dsh-session-log-export": ">=0.1.6-alpha.2",
96
- "@deepseek-ai/dsh-session-persistence": ">=0.1.6-alpha.2",
97
- "@deepseek-ai/dsh-session-title": ">=0.1.6-alpha.2",
98
- "@deepseek-ai/dsh-settings": ">=0.1.6-alpha.2",
99
- "@deepseek-ai/dsh-shell": ">=0.1.6-alpha.2",
100
- "@deepseek-ai/dsh-skill": ">=0.1.6-alpha.2",
101
- "@deepseek-ai/dsh-subagent": ">=0.1.6-alpha.2",
102
- "@deepseek-ai/dsh-token-meter": ">=0.1.6-alpha.2",
103
- "@deepseek-ai/dsh-tool-todo": ">=0.1.6-alpha.2",
104
- "@deepseek-ai/dsh-tool-workflow": ">=0.1.6-alpha.2",
105
- "@deepseek-ai/dsh-tools": ">=0.1.6-alpha.2",
106
- "@deepseek-ai/dsh-user-approval": ">=0.1.6-alpha.2",
107
- "@deepseek-ai/dsh-user-questions": ">=0.1.6-alpha.2",
108
- "@deepseek-ai/schemastery": "^3.18.1"
85
+ "@deepseek-ai/cordis": "~4.0.4",
86
+ "@deepseek-ai/cordis-plugin-loader": "~1.0.5",
87
+ "@deepseek-ai/dsh-agent": ">=0.1.7-rc.1",
88
+ "@deepseek-ai/dsh-agent-default-model": ">=0.1.7-rc.1",
89
+ "@deepseek-ai/dsh-agent-preset-registry": ">=0.1.7-rc.1",
90
+ "@deepseek-ai/dsh-api-session-controller": ">=0.1.7-rc.1",
91
+ "@deepseek-ai/dsh-authorization": ">=0.1.7-rc.1",
92
+ "@deepseek-ai/dsh-cmdline": ">=0.1.7-rc.1",
93
+ "@deepseek-ai/dsh-commands": ">=0.1.7-rc.1",
94
+ "@deepseek-ai/dsh-credentials": ">=0.1.7-rc.1",
95
+ "@deepseek-ai/dsh-goal": ">=0.1.7-rc.1",
96
+ "@deepseek-ai/dsh-jobs": ">=0.1.7-rc.1",
97
+ "@deepseek-ai/dsh-llm": ">=0.1.7-rc.1",
98
+ "@deepseek-ai/dsh-llm-retry": ">=0.1.7-rc.1",
99
+ "@deepseek-ai/dsh-permission-presets": ">=0.1.7-rc.1",
100
+ "@deepseek-ai/dsh-plan-mode": ">=0.1.7-rc.1",
101
+ "@deepseek-ai/dsh-sandbox-policy": ">=0.1.7-rc.1",
102
+ "@deepseek-ai/dsh-session": ">=0.1.7-rc.1",
103
+ "@deepseek-ai/dsh-session-log-export": ">=0.1.7-rc.1",
104
+ "@deepseek-ai/dsh-session-persistence": ">=0.1.7-rc.1",
105
+ "@deepseek-ai/dsh-session-title": ">=0.1.7-rc.1",
106
+ "@deepseek-ai/dsh-settings": ">=0.1.7-rc.1",
107
+ "@deepseek-ai/dsh-shell": ">=0.1.7-rc.1",
108
+ "@deepseek-ai/dsh-skill": ">=0.1.7-rc.1",
109
+ "@deepseek-ai/dsh-subagent": ">=0.1.7-rc.1",
110
+ "@deepseek-ai/dsh-token-meter": ">=0.1.7-rc.1",
111
+ "@deepseek-ai/dsh-tool-todo": ">=0.1.7-rc.1",
112
+ "@deepseek-ai/dsh-tool-workflow": ">=0.1.7-rc.1",
113
+ "@deepseek-ai/dsh-tools": ">=0.1.7-rc.1",
114
+ "@deepseek-ai/dsh-user-approval": ">=0.1.7-rc.1",
115
+ "@deepseek-ai/dsh-user-questions": ">=0.1.7-rc.1",
116
+ "@deepseek-ai/schemastery": "~3.18.4"
109
117
  },
110
118
  "devDependencies": {
111
- "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
112
- "@deepseek-ai/dsh-agent": "0.1.6-alpha.2",
113
- "@deepseek-ai/dsh-agent-default-model": "0.1.6-alpha.2",
114
- "@deepseek-ai/dsh-agent-instructions": "0.1.6-alpha.2",
115
- "@deepseek-ai/dsh-agent-loop": "0.1.6-alpha.2",
116
- "@deepseek-ai/dsh-agent-loop-testkit": "0.1.6-alpha.2",
117
- "@deepseek-ai/dsh-agent-presets": "0.1.6-alpha.2",
118
- "@deepseek-ai/dsh-agent-tool-presentation": "0.1.6-alpha.2",
119
- "@deepseek-ai/dsh-api-gateway": "0.1.6-alpha.2",
120
- "@deepseek-ai/dsh-api-remotes": "0.1.6-alpha.2",
121
- "@deepseek-ai/dsh-api-session-controller": "0.1.6-alpha.2",
122
- "@deepseek-ai/dsh-attachment": "0.1.6-alpha.2",
123
- "@deepseek-ai/dsh-authorization": "0.1.6-alpha.2",
124
- "@deepseek-ai/dsh-brand": "0.1.6-alpha.2",
125
- "@deepseek-ai/dsh-client-connection": "0.1.6-alpha.2",
126
- "@deepseek-ai/dsh-client-store": "0.1.6-alpha.2",
127
- "@deepseek-ai/dsh-cmdline": "0.1.6-alpha.2",
128
- "@deepseek-ai/dsh-command-compact": "0.1.6-alpha.2",
129
- "@deepseek-ai/dsh-command-goal": "0.1.6-alpha.2",
130
- "@deepseek-ai/dsh-commands": "0.1.6-alpha.2",
131
- "@deepseek-ai/dsh-compaction-basic": "0.1.6-alpha.2",
132
- "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.1.6-alpha.2",
133
- "@deepseek-ai/dsh-credentials": "0.1.6-alpha.2",
134
- "@deepseek-ai/dsh-fs-local": "0.1.6-alpha.2",
135
- "@deepseek-ai/dsh-goal": "0.1.6-alpha.2",
136
- "@deepseek-ai/dsh-invariants": "0.1.6-alpha.2",
137
- "@deepseek-ai/dsh-jobs": "0.1.6-alpha.2",
138
- "@deepseek-ai/dsh-jobs-local": "0.1.6-alpha.2",
139
- "@deepseek-ai/dsh-llm": "0.1.6-alpha.2",
140
- "@deepseek-ai/dsh-llm-retry": "0.1.6-alpha.2",
141
- "@deepseek-ai/dsh-permission-presets": "0.1.6-alpha.2",
142
- "@deepseek-ai/dsh-persona": "0.1.6-alpha.2",
143
- "@deepseek-ai/dsh-plan-mode": "0.1.6-alpha.2",
144
- "@deepseek-ai/dsh-remote-mock": "0.1.6-alpha.2",
145
- "@deepseek-ai/dsh-sandbox-policy": "0.1.6-alpha.2",
146
- "@deepseek-ai/dsh-scope": "0.1.6-alpha.2",
147
- "@deepseek-ai/dsh-session": "0.1.6-alpha.2",
148
- "@deepseek-ai/dsh-session-log-export": "0.1.6-alpha.2",
149
- "@deepseek-ai/dsh-session-persistence": "0.1.6-alpha.2",
150
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.6-alpha.2",
151
- "@deepseek-ai/dsh-session-projection": "0.1.6-alpha.2",
152
- "@deepseek-ai/dsh-session-query": "0.1.6-alpha.2",
153
- "@deepseek-ai/dsh-session-query-sqlite": "0.1.6-alpha.2",
154
- "@deepseek-ai/dsh-session-title": "0.1.6-alpha.2",
155
- "@deepseek-ai/dsh-settings": "0.1.6-alpha.2",
156
- "@deepseek-ai/dsh-shell": "0.1.6-alpha.2",
157
- "@deepseek-ai/dsh-skill": "0.1.6-alpha.2",
158
- "@deepseek-ai/dsh-skill-filesystem": "0.1.6-alpha.2",
159
- "@deepseek-ai/dsh-storage": "0.1.6-alpha.2",
160
- "@deepseek-ai/dsh-storage-domain": "0.1.6-alpha.2",
161
- "@deepseek-ai/dsh-storage-json": "0.1.6-alpha.2",
162
- "@deepseek-ai/dsh-subagent": "0.1.6-alpha.2",
163
- "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.6-alpha.2",
164
- "@deepseek-ai/dsh-system-prompt": "0.1.6-alpha.2",
165
- "@deepseek-ai/dsh-terminal": "0.1.6-alpha.2",
166
- "@deepseek-ai/dsh-timeout": "0.1.6-alpha.2",
167
- "@deepseek-ai/dsh-token-meter": "0.1.6-alpha.2",
168
- "@deepseek-ai/dsh-tool-ask-user": "0.1.6-alpha.2",
169
- "@deepseek-ai/dsh-tool-cordis": "0.1.6-alpha.2",
170
- "@deepseek-ai/dsh-tool-fs": "0.1.6-alpha.2",
171
- "@deepseek-ai/dsh-tool-fs-search": "0.1.6-alpha.2",
172
- "@deepseek-ai/dsh-tool-goal": "0.1.6-alpha.2",
173
- "@deepseek-ai/dsh-tool-jobs": "0.1.6-alpha.2",
174
- "@deepseek-ai/dsh-tool-ralph": "0.1.6-alpha.2",
175
- "@deepseek-ai/dsh-tool-skill": "0.1.6-alpha.2",
176
- "@deepseek-ai/dsh-tool-str-replace-editor": "0.1.6-alpha.2",
177
- "@deepseek-ai/dsh-tool-subagent": "0.1.6-alpha.2",
178
- "@deepseek-ai/dsh-tool-subagent-control": "0.1.6-alpha.2",
179
- "@deepseek-ai/dsh-tool-todo": "0.1.6-alpha.2",
180
- "@deepseek-ai/dsh-tool-web": "0.1.6-alpha.2",
181
- "@deepseek-ai/dsh-tool-workflow": "0.1.6-alpha.2",
182
- "@deepseek-ai/dsh-tools": "0.1.6-alpha.2",
183
- "@deepseek-ai/dsh-typert-protocol": "0.1.6-alpha.2",
184
- "@deepseek-ai/dsh-typert-registry": "0.1.6-alpha.2",
185
- "@deepseek-ai/dsh-user-approval": "0.1.6-alpha.2",
186
- "@deepseek-ai/dsh-user-questions": "0.1.6-alpha.2",
187
- "@deepseek-ai/dsh-workspace": "0.1.6-alpha.2",
188
- "@deepseek-ai/schemastery": "^3.18.1",
119
+ "@deepseek-ai/cordis": "~4.0.4",
120
+ "@deepseek-ai/cordis-plugin-loader": "~1.0.5",
121
+ "@deepseek-ai/dsh-agent": "0.1.7-rc.1",
122
+ "@deepseek-ai/dsh-agent-default-model": "0.1.7-rc.1",
123
+ "@deepseek-ai/dsh-agent-instructions": "0.1.7-rc.1",
124
+ "@deepseek-ai/dsh-agent-loop": "0.1.7-rc.1",
125
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-rc.1",
126
+ "@deepseek-ai/dsh-agent-preset": "0.1.7-rc.1",
127
+ "@deepseek-ai/dsh-agent-preset-registry": "0.1.7-rc.1",
128
+ "@deepseek-ai/dsh-agent-tool-presentation": "0.1.7-rc.1",
129
+ "@deepseek-ai/dsh-api-gateway": "0.1.7-rc.1",
130
+ "@deepseek-ai/dsh-api-job-controller": "0.1.7-rc.1",
131
+ "@deepseek-ai/dsh-api-remotes": "0.1.7-rc.1",
132
+ "@deepseek-ai/dsh-api-session-controller": "0.1.7-rc.1",
133
+ "@deepseek-ai/dsh-attachment": "0.1.7-rc.1",
134
+ "@deepseek-ai/dsh-authorization": "0.1.7-rc.1",
135
+ "@deepseek-ai/dsh-brand": "0.1.7-rc.1",
136
+ "@deepseek-ai/dsh-client-connection": "0.1.7-rc.1",
137
+ "@deepseek-ai/dsh-client-store": "0.1.7-rc.1",
138
+ "@deepseek-ai/dsh-cmdline": "0.1.7-rc.1",
139
+ "@deepseek-ai/dsh-command-compact": "0.1.7-rc.1",
140
+ "@deepseek-ai/dsh-command-goal": "0.1.7-rc.1",
141
+ "@deepseek-ai/dsh-commands": "0.1.7-rc.1",
142
+ "@deepseek-ai/dsh-compaction-basic": "0.1.7-rc.1",
143
+ "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.1.7-rc.1",
144
+ "@deepseek-ai/dsh-credentials": "0.1.7-rc.1",
145
+ "@deepseek-ai/dsh-fs-local": "0.1.7-rc.1",
146
+ "@deepseek-ai/dsh-goal": "0.1.7-rc.1",
147
+ "@deepseek-ai/dsh-invariants": "0.1.7-rc.1",
148
+ "@deepseek-ai/dsh-jobs": "0.1.7-rc.1",
149
+ "@deepseek-ai/dsh-jobs-local": "0.1.7-rc.1",
150
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.1",
151
+ "@deepseek-ai/dsh-llm-retry": "0.1.7-rc.1",
152
+ "@deepseek-ai/dsh-permission-presets": "0.1.7-rc.1",
153
+ "@deepseek-ai/dsh-persona": "0.1.7-rc.1",
154
+ "@deepseek-ai/dsh-plan-mode": "0.1.7-rc.1",
155
+ "@deepseek-ai/dsh-remote-mock": "0.1.7-rc.1",
156
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.1",
157
+ "@deepseek-ai/dsh-scope": "0.1.7-rc.1",
158
+ "@deepseek-ai/dsh-session": "0.1.7-rc.1",
159
+ "@deepseek-ai/dsh-session-format": "0.1.7-rc.1",
160
+ "@deepseek-ai/dsh-session-format-v3-to-v4": "0.1.7-rc.1",
161
+ "@deepseek-ai/dsh-session-log-export": "0.1.7-rc.1",
162
+ "@deepseek-ai/dsh-session-persistence": "0.1.7-rc.1",
163
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.1",
164
+ "@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
165
+ "@deepseek-ai/dsh-session-query": "0.1.7-rc.1",
166
+ "@deepseek-ai/dsh-session-query-sqlite": "0.1.7-rc.1",
167
+ "@deepseek-ai/dsh-session-title": "0.1.7-rc.1",
168
+ "@deepseek-ai/dsh-settings": "0.1.7-rc.1",
169
+ "@deepseek-ai/dsh-shell": "0.1.7-rc.1",
170
+ "@deepseek-ai/dsh-skill": "0.1.7-rc.1",
171
+ "@deepseek-ai/dsh-skill-filesystem": "0.1.7-rc.1",
172
+ "@deepseek-ai/dsh-storage": "0.1.7-rc.1",
173
+ "@deepseek-ai/dsh-storage-domain": "0.1.7-rc.1",
174
+ "@deepseek-ai/dsh-storage-json": "0.1.7-rc.1",
175
+ "@deepseek-ai/dsh-subagent": "0.1.7-rc.1",
176
+ "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.7-rc.1",
177
+ "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.1",
178
+ "@deepseek-ai/dsh-terminal": "0.1.7-rc.1",
179
+ "@deepseek-ai/dsh-timeout": "0.1.7-rc.1",
180
+ "@deepseek-ai/dsh-token-meter": "0.1.7-rc.1",
181
+ "@deepseek-ai/dsh-tool-ask-user": "0.1.7-rc.1",
182
+ "@deepseek-ai/dsh-tool-cordis": "0.1.7-rc.1",
183
+ "@deepseek-ai/dsh-tool-fs": "0.1.7-rc.1",
184
+ "@deepseek-ai/dsh-tool-fs-search": "0.1.7-rc.1",
185
+ "@deepseek-ai/dsh-tool-goal": "0.1.7-rc.1",
186
+ "@deepseek-ai/dsh-tool-jobs": "0.1.7-rc.1",
187
+ "@deepseek-ai/dsh-tool-ralph": "0.1.7-rc.1",
188
+ "@deepseek-ai/dsh-tool-skill": "0.1.7-rc.1",
189
+ "@deepseek-ai/dsh-tool-str-replace-editor": "0.1.7-rc.1",
190
+ "@deepseek-ai/dsh-tool-subagent": "0.1.7-rc.1",
191
+ "@deepseek-ai/dsh-tool-subagent-control": "0.1.7-rc.1",
192
+ "@deepseek-ai/dsh-tool-todo": "0.1.7-rc.1",
193
+ "@deepseek-ai/dsh-tool-web": "0.1.7-rc.1",
194
+ "@deepseek-ai/dsh-tool-workflow": "0.1.7-rc.1",
195
+ "@deepseek-ai/dsh-tools": "0.1.7-rc.1",
196
+ "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.1",
197
+ "@deepseek-ai/dsh-typert-registry": "0.1.7-rc.1",
198
+ "@deepseek-ai/dsh-user-approval": "0.1.7-rc.1",
199
+ "@deepseek-ai/dsh-user-questions": "0.1.7-rc.1",
200
+ "@deepseek-ai/dsh-web-app": "0.1.7-rc.1",
201
+ "@deepseek-ai/dsh-workspace": "0.1.7-rc.1",
202
+ "@deepseek-ai/schemastery": "~3.18.4",
189
203
  "@types/node": "^22.0.0",
190
204
  "@xmoon76/pi-tui": "^0.84.4",
191
205
  "@xterm/headless": "5.5.0",
@@ -204,11 +218,15 @@
204
218
  "clean": "rm -rf dist",
205
219
  "clean:fork": "pnpm --dir packages/pi-tui clean",
206
220
  "build:fork": "pnpm --dir packages/pi-tui build",
207
- "build:bundle": "tsdown",
221
+ "build:bundle": "pnpm gen:dsh-presets && tsdown",
208
222
  "build": "pnpm build:fork && pnpm build:bundle",
209
223
  "typecheck:fork": "pnpm --dir packages/pi-tui typecheck",
210
224
  "typecheck:bundle": "tsc -p tsconfig.json --noEmit",
211
- "typecheck": "pnpm typecheck:fork && pnpm typecheck:bundle",
225
+ "typecheck:bench": "tsc -p tsconfig.bench.json --noEmit",
226
+ "typecheck": "pnpm typecheck:fork && pnpm typecheck:bundle && pnpm typecheck:bench",
227
+ "bench": "node --expose-gc --import tsx/esm scripts/bench.mts",
228
+ "bench:fast": "BENCH_FAST=1 node --expose-gc --import tsx/esm scripts/bench.mts",
229
+ "bench:smoke": "BENCH_SMOKE=1 node --expose-gc --import tsx/esm scripts/bench.mts",
212
230
  "test:fork": "node scripts/run-with-temp-root.mjs pnpm --dir packages/pi-tui test",
213
231
  "test:bundle": "pnpm test:product && pnpm test:tooling",
214
232
  "test:docs": "node scripts/run-with-temp-root.mjs node --test docs/tmux/*.test.mjs",
@@ -226,8 +244,6 @@
226
244
  "smoke:remote-task-read-parity": "node --import tsx/esm scripts/dsh-remote-task-read-parity-smoke.mjs",
227
245
  "smoke:remote-presentation-parity": "node --import tsx/esm scripts/dsh-remote-presentation-parity-smoke.mjs",
228
246
  "smoke:remote-d1-closure": "node --import tsx/esm scripts/dsh-remote-d1-closure-smoke.mjs",
229
- "smoke:remote-d2-write": "node --import tsx/esm scripts/dsh-remote-d2-write-smoke.mjs",
230
- "smoke:remote-d2-lifecycle": "node scripts/dsh-remote-d2.3-parity-smoke.mjs",
231
247
  "smoke:remote-d2-fork": "node scripts/dsh-remote-d2.4-fork-parity-smoke.mjs",
232
248
  "smoke:remote-d2-closure": "node scripts/dsh-remote-d2-closure-smoke.mjs",
233
249
  "smoke:boundary": "node scripts/dsh-runtime-boundary-smoke.mjs",
@@ -254,11 +270,13 @@
254
270
  "dev:doctor": "node scripts/dev-doctor.mjs",
255
271
  "dev:bootstrap": "node scripts/dev-bootstrap.mjs",
256
272
  "dev:shell": "node scripts/dev-shell.mjs",
257
- "verify:prepush": "pnpm typecheck:fork && pnpm test:fork && pnpm test:docs && pnpm test:tooling && pnpm gate:installation-doc && pnpm gate:pi-divergence-ledger && pnpm gate:pi-vendor-diff --strict && node scripts/naming-gate.mjs && node scripts/check-no-session-events.mjs && pnpm gate:boundary && pnpm gate:keybindings && pnpm audit --prod --audit-level high && pnpm pack:release",
258
- "verify:prepush:nofork": "pnpm test:docs && pnpm test:tooling && pnpm gate:installation-doc && pnpm gate:pi-divergence-ledger && pnpm gate:pi-vendor-diff --strict && node scripts/naming-gate.mjs && node scripts/check-no-session-events.mjs && pnpm gate:boundary && pnpm gate:keybindings && pnpm audit --prod --audit-level high && pnpm pack:release",
273
+ "verify:prepush": "pnpm typecheck:fork && pnpm typecheck:bench && pnpm test:fork && pnpm test:docs && pnpm test:tooling && pnpm gate:installation-doc && pnpm gate:pi-divergence-ledger && pnpm gate:pi-vendor-diff --strict && node scripts/naming-gate.mjs && node scripts/check-no-session-events.mjs && pnpm gate:boundary && pnpm gate:keybindings && pnpm audit --prod --audit-level high && pnpm pack:release",
274
+ "verify:prepush:nofork": "pnpm typecheck:bench && pnpm test:docs && pnpm test:tooling && pnpm gate:installation-doc && pnpm gate:pi-divergence-ledger && pnpm gate:pi-vendor-diff --strict && node scripts/naming-gate.mjs && node scripts/check-no-session-events.mjs && pnpm gate:boundary && pnpm gate:keybindings && pnpm audit --prod --audit-level high && pnpm pack:release",
259
275
  "gate:boundary": "node scripts/client-boundary-gate.mjs",
260
276
  "gate:keybindings": "node --import tsx/esm scripts/check-host-keybindings.mts",
261
- "test:tooling": "node scripts/run-with-temp-root.mjs node --test test/dev-environment.test.mjs test/dev-bootstrap-ephemeral.test.mjs test/client-server-migration.test.mjs test/pre-push-hook.test.mjs test/pre-push-stages.test.mjs test/dsh-ci-context.test.mjs test/dsh-distribution.test.mjs test/dsh-npm-verify.test.mjs test/dsh-peer-window.test.mjs test/dsh-process.test.mjs test/dsh-runtime-boundary.test.mjs test/dsh-source-identity.test.mjs test/dsh-source-leak.test.mjs test/release-context.test.mjs test/release-notes.test.mjs test/source-mode-rules.test.mjs test/client-boundary-gate.test.mjs test/tarball-source-install.test.mjs test/pi2dsh-compat-smoke.test.mjs test/temp-hygiene-gate.test.mjs test/pi-vendor-diff-gate.test.mjs test/pi-divergence-ledger-gate.test.mjs test/run-with-temp-root.test.mjs test/raw-persistence-coupling-gate.test.mjs",
262
- "test:product": "node scripts/run-with-temp-root.mjs node --test test/*.test.ts test/tarball-smoke.test.mjs"
277
+ "test:tooling": "node scripts/run-with-temp-root.mjs node --test test/bench-smoke.test.mjs test/dev-environment.test.mjs test/dev-bootstrap-ephemeral.test.mjs test/client-server-migration.test.mjs test/pre-push-hook.test.mjs test/pre-push-stages.test.mjs test/dsh-ci-context.test.mjs test/dsh-distribution.test.mjs test/dsh-npm-verify.test.mjs test/dsh-peer-window.test.mjs test/dsh-process.test.mjs test/dsh-runtime-boundary.test.mjs test/dsh-source-identity.test.mjs test/dsh-source-leak.test.mjs test/release-context.test.mjs test/release-notes.test.mjs test/source-mode-rules.test.mjs test/client-boundary-gate.test.mjs test/tarball-source-install.test.mjs test/pi2dsh-compat-smoke.test.mjs test/temp-hygiene-gate.test.mjs test/pi-vendor-diff-gate.test.mjs test/pi-divergence-ledger-gate.test.mjs test/run-with-temp-root.test.mjs test/raw-persistence-coupling-gate.test.mjs test/dsh-preset-parity.test.mjs test/retired-source-scan.test.mjs",
278
+ "test:product": "node scripts/run-with-temp-root.mjs node --test test/*.test.ts test/tarball-smoke.test.mjs",
279
+ "gen:dsh-presets": "node scripts/generate-dsh-presets.mjs",
280
+ "gate:dsh-preset-parity": "node scripts/generate-dsh-presets.mjs --check"
263
281
  }
264
282
  }