@xmoon76/dsh-pi-tui 0.4.0 → 0.4.3-alpha.2

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.
@@ -18,6 +18,10 @@ declare const inject: string[];
18
18
  * `since` names the bundle release line that FIRST imposed the constraint:
19
19
  * it is shown as the fallback version label (`>= <since>`) when the
20
20
  * bundle's own version cannot be read, so the message stays truthful.
21
+ *
22
+ * This next line targets the published npm release dsh-v0.1.3-alpha.2: the
23
+ * runtime is installed from the public npm registry, so the recovery guidance
24
+ * names the exact published upgrade target.
21
25
  */
22
26
  interface HarnessCompatEntry {
23
27
  /** Inclusive lower bound of the incompatible range; absent = unbounded below. */
@@ -26,7 +30,7 @@ interface HarnessCompatEntry {
26
30
  max?: string;
27
31
  /** The bundle release line that first required this constraint. */
28
32
  since: string;
29
- /** Human-readable requirement, e.g. `DeepSeek Harness 0.1.2-alpha.4 or later`. */
33
+ /** Human-readable requirement, e.g. `DeepSeek Harness 0.1.3-alpha.2 or later`. */
30
34
  requires: string;
31
35
  /** The target DSH version to install when the current runtime is too old. */
32
36
  upgradeDsh?: string;
package/dist/startup.mjs CHANGED
@@ -67,31 +67,13 @@ const name = "tui-startup";
67
67
  /** Services required before the flags can be resolved. */
68
68
  const inject = ["cmdlineArgs"];
69
69
  /** The compatibility table. */
70
- const HARNESS_COMPAT = [
71
- {
72
- min: "0.1.2-alpha.4",
73
- max: "0.1.2-rc.1",
74
- since: "0.4.0",
75
- requires: "DeepSeek Harness 0.1.2-rc.1 or later",
76
- upgradeDsh: "0.1.2-rc.1",
77
- fallbackTui: "0.4.0-alpha.2"
78
- },
79
- {
80
- min: "0.1.2-alpha.2",
81
- max: "0.1.2-alpha.4",
82
- since: "0.4.0-alpha.2",
83
- requires: "DeepSeek Harness 0.1.2-alpha.4 or later",
84
- upgradeDsh: "0.1.2-rc.1",
85
- fallbackTui: "0.4.0-alpha.1"
86
- },
87
- {
88
- max: "0.1.2-alpha.2",
89
- since: "0.4.0-alpha.1",
90
- requires: "DeepSeek Harness 0.1.2-alpha.2 or later",
91
- upgradeDsh: "0.1.2-rc.1",
92
- fallbackTui: "0.3"
93
- }
94
- ];
70
+ const HARNESS_COMPAT = [{
71
+ max: "0.1.3-alpha.2",
72
+ since: "0.4.1",
73
+ requires: "DeepSeek Harness 0.1.3-alpha.2 or later",
74
+ upgradeDsh: "0.1.3-alpha.2",
75
+ guidance: "This next npm build is validated with the published DeepSeek Harness 0.1.3-alpha.2 distribution; see docs/dsh-compatibility.md."
76
+ }];
95
77
  /** The compat entry covering the installed dsh version, or undefined when
96
78
  * the harness is supported. */
97
79
  function harnessCompatEntryFor(installed) {
@@ -116,7 +98,7 @@ function bundleVersionLabel(since) {
116
98
  function incompatibleHarnessMessage(installed, entry) {
117
99
  const recovery = [];
118
100
  if (entry.upgradeDsh !== void 0) recovery.push("Upgrade DeepSeek Harness:", ` npm install -g @deepseek-ai/dsh@${entry.upgradeDsh}`);
119
- if (entry.fallbackTui !== void 0) recovery.push("Or keep your current Harness and use the compatible TUI line:", ` npm install -g @xmoon76/dsh-pi-tui@${entry.fallbackTui}`);
101
+ if (entry.fallbackTui !== void 0) recovery.push("Or keep your current Harness and use the compatible TUI line:", ` dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@${entry.fallbackTui}`);
120
102
  if (entry.guidance !== void 0) recovery.push(entry.guidance);
121
103
  return [
122
104
  `dsh-pi-tui ${bundleVersionLabel(entry.since)} requires ${entry.requires},`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmoon76/dsh-pi-tui",
3
- "version": "0.4.0",
3
+ "version": "0.4.3-alpha.2",
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>",
@@ -53,8 +53,6 @@
53
53
  },
54
54
  "files": [
55
55
  "dist",
56
- "scripts/repair-session.mjs",
57
- "scripts/repair-core.mjs",
58
56
  "cordis.patch.yml",
59
57
  "README.md",
60
58
  "README.en.md",
@@ -77,71 +75,71 @@
77
75
  "peerDependencies": {
78
76
  "@deepseek-ai/cordis": "^4.0.2",
79
77
  "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
80
- "@deepseek-ai/dsh-agent": ">=0.1.2-rc.1",
81
- "@deepseek-ai/dsh-agent-default-model": ">=0.1.2-rc.1",
82
- "@deepseek-ai/dsh-agent-presets": ">=0.1.2-rc.1",
83
- "@deepseek-ai/dsh-authorization": ">=0.1.2-rc.1",
84
- "@deepseek-ai/dsh-cmdline": ">=0.1.2-rc.1",
85
- "@deepseek-ai/dsh-commands": ">=0.1.2-rc.1",
86
- "@deepseek-ai/dsh-credentials": ">=0.1.2-rc.1",
87
- "@deepseek-ai/dsh-goal": ">=0.1.2-rc.1",
88
- "@deepseek-ai/dsh-jobs": ">=0.1.2-rc.1",
89
- "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1",
90
- "@deepseek-ai/dsh-llm-retry": ">=0.1.2-rc.1",
91
- "@deepseek-ai/dsh-permission-presets": ">=0.1.2-rc.1",
92
- "@deepseek-ai/dsh-plan-mode": ">=0.1.2-rc.1",
93
- "@deepseek-ai/dsh-sandbox-policy": ">=0.1.2-rc.1",
94
- "@deepseek-ai/dsh-session": ">=0.1.2-rc.1",
95
- "@deepseek-ai/dsh-session-persistence": ">=0.1.2-rc.1",
96
- "@deepseek-ai/dsh-session-title": ">=0.1.2-rc.1",
97
- "@deepseek-ai/dsh-settings": ">=0.1.2-rc.1",
98
- "@deepseek-ai/dsh-shell": ">=0.1.2-rc.1",
99
- "@deepseek-ai/dsh-skill": ">=0.1.2-rc.1",
100
- "@deepseek-ai/dsh-subagent": ">=0.1.2-rc.1",
101
- "@deepseek-ai/dsh-token-meter": ">=0.1.2-rc.1",
102
- "@deepseek-ai/dsh-tool-todo": ">=0.1.2-rc.1",
103
- "@deepseek-ai/dsh-tool-workflow": ">=0.1.2-rc.1",
104
- "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1",
105
- "@deepseek-ai/dsh-user-approval": ">=0.1.2-rc.1",
106
- "@deepseek-ai/dsh-user-questions": ">=0.1.2-rc.1",
78
+ "@deepseek-ai/dsh-agent": ">=0.1.3-alpha.2",
79
+ "@deepseek-ai/dsh-agent-default-model": ">=0.1.3-alpha.2",
80
+ "@deepseek-ai/dsh-agent-presets": ">=0.1.3-alpha.2",
81
+ "@deepseek-ai/dsh-authorization": ">=0.1.3-alpha.2",
82
+ "@deepseek-ai/dsh-cmdline": ">=0.1.3-alpha.2",
83
+ "@deepseek-ai/dsh-commands": ">=0.1.3-alpha.2",
84
+ "@deepseek-ai/dsh-credentials": ">=0.1.3-alpha.2",
85
+ "@deepseek-ai/dsh-goal": ">=0.1.3-alpha.2",
86
+ "@deepseek-ai/dsh-jobs": ">=0.1.3-alpha.2",
87
+ "@deepseek-ai/dsh-llm": ">=0.1.3-alpha.2",
88
+ "@deepseek-ai/dsh-llm-retry": ">=0.1.3-alpha.2",
89
+ "@deepseek-ai/dsh-permission-presets": ">=0.1.3-alpha.2",
90
+ "@deepseek-ai/dsh-plan-mode": ">=0.1.3-alpha.2",
91
+ "@deepseek-ai/dsh-sandbox-policy": ">=0.1.3-alpha.2",
92
+ "@deepseek-ai/dsh-session": ">=0.1.3-alpha.2",
93
+ "@deepseek-ai/dsh-session-persistence": ">=0.1.3-alpha.2",
94
+ "@deepseek-ai/dsh-session-title": ">=0.1.3-alpha.2",
95
+ "@deepseek-ai/dsh-settings": ">=0.1.3-alpha.2",
96
+ "@deepseek-ai/dsh-shell": ">=0.1.3-alpha.2",
97
+ "@deepseek-ai/dsh-skill": ">=0.1.3-alpha.2",
98
+ "@deepseek-ai/dsh-subagent": ">=0.1.3-alpha.2",
99
+ "@deepseek-ai/dsh-token-meter": ">=0.1.3-alpha.2",
100
+ "@deepseek-ai/dsh-tool-todo": ">=0.1.3-alpha.2",
101
+ "@deepseek-ai/dsh-tool-workflow": ">=0.1.3-alpha.2",
102
+ "@deepseek-ai/dsh-tools": ">=0.1.3-alpha.2",
103
+ "@deepseek-ai/dsh-user-approval": ">=0.1.3-alpha.2",
104
+ "@deepseek-ai/dsh-user-questions": ">=0.1.3-alpha.2",
107
105
  "@deepseek-ai/schemastery": "^3.18.1"
108
106
  },
109
107
  "devDependencies": {
110
108
  "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
111
- "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
112
- "@deepseek-ai/dsh-agent-default-model": "0.1.2-rc.1",
113
- "@deepseek-ai/dsh-agent-loop": "0.1.2-rc.1",
114
- "@deepseek-ai/dsh-agent-presets": "0.1.2-rc.1",
115
- "@deepseek-ai/dsh-attachment": "0.1.2-rc.1",
116
- "@deepseek-ai/dsh-authorization": "0.1.2-rc.1",
117
- "@deepseek-ai/dsh-brand": "0.1.2-rc.1",
118
- "@deepseek-ai/dsh-cmdline": "0.1.2-rc.1",
119
- "@deepseek-ai/dsh-commands": "0.1.2-rc.1",
120
- "@deepseek-ai/dsh-credentials": "0.1.2-rc.1",
121
- "@deepseek-ai/dsh-goal": "0.1.2-rc.1",
122
- "@deepseek-ai/dsh-invariants": "0.1.2-rc.1",
123
- "@deepseek-ai/dsh-jobs": "0.1.2-rc.1",
124
- "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
125
- "@deepseek-ai/dsh-llm-retry": "0.1.2-rc.1",
126
- "@deepseek-ai/dsh-permission-presets": "0.1.2-rc.1",
127
- "@deepseek-ai/dsh-plan-mode": "0.1.2-rc.1",
128
- "@deepseek-ai/dsh-sandbox-policy": "0.1.2-rc.1",
129
- "@deepseek-ai/dsh-scope": "0.1.2-rc.1",
130
- "@deepseek-ai/dsh-session": "0.1.2-rc.1",
131
- "@deepseek-ai/dsh-session-persistence": "0.1.2-rc.1",
132
- "@deepseek-ai/dsh-session-title": "0.1.2-rc.1",
133
- "@deepseek-ai/dsh-settings": "0.1.2-rc.1",
134
- "@deepseek-ai/dsh-shell": "0.1.2-rc.1",
135
- "@deepseek-ai/dsh-skill": "0.1.2-rc.1",
136
- "@deepseek-ai/dsh-subagent": "0.1.2-rc.1",
137
- "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1",
138
- "@deepseek-ai/dsh-timeout": "0.1.2-rc.1",
139
- "@deepseek-ai/dsh-token-meter": "0.1.2-rc.1",
140
- "@deepseek-ai/dsh-tool-todo": "0.1.2-rc.1",
141
- "@deepseek-ai/dsh-tool-workflow": "0.1.2-rc.1",
142
- "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
143
- "@deepseek-ai/dsh-user-approval": "0.1.2-rc.1",
144
- "@deepseek-ai/dsh-user-questions": "0.1.2-rc.1",
109
+ "@deepseek-ai/dsh-agent": "0.1.3-alpha.2",
110
+ "@deepseek-ai/dsh-agent-default-model": "0.1.3-alpha.2",
111
+ "@deepseek-ai/dsh-agent-loop": "0.1.3-alpha.2",
112
+ "@deepseek-ai/dsh-agent-presets": "0.1.3-alpha.2",
113
+ "@deepseek-ai/dsh-attachment": "0.1.3-alpha.2",
114
+ "@deepseek-ai/dsh-authorization": "0.1.3-alpha.2",
115
+ "@deepseek-ai/dsh-brand": "0.1.3-alpha.2",
116
+ "@deepseek-ai/dsh-cmdline": "0.1.3-alpha.2",
117
+ "@deepseek-ai/dsh-commands": "0.1.3-alpha.2",
118
+ "@deepseek-ai/dsh-credentials": "0.1.3-alpha.2",
119
+ "@deepseek-ai/dsh-goal": "0.1.3-alpha.2",
120
+ "@deepseek-ai/dsh-invariants": "0.1.3-alpha.2",
121
+ "@deepseek-ai/dsh-jobs": "0.1.3-alpha.2",
122
+ "@deepseek-ai/dsh-llm": "0.1.3-alpha.2",
123
+ "@deepseek-ai/dsh-llm-retry": "0.1.3-alpha.2",
124
+ "@deepseek-ai/dsh-permission-presets": "0.1.3-alpha.2",
125
+ "@deepseek-ai/dsh-plan-mode": "0.1.3-alpha.2",
126
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.3-alpha.2",
127
+ "@deepseek-ai/dsh-scope": "0.1.3-alpha.2",
128
+ "@deepseek-ai/dsh-session": "0.1.3-alpha.2",
129
+ "@deepseek-ai/dsh-session-persistence": "0.1.3-alpha.2",
130
+ "@deepseek-ai/dsh-session-title": "0.1.3-alpha.2",
131
+ "@deepseek-ai/dsh-settings": "0.1.3-alpha.2",
132
+ "@deepseek-ai/dsh-shell": "0.1.3-alpha.2",
133
+ "@deepseek-ai/dsh-skill": "0.1.3-alpha.2",
134
+ "@deepseek-ai/dsh-subagent": "0.1.3-alpha.2",
135
+ "@deepseek-ai/dsh-system-prompt": "0.1.3-alpha.2",
136
+ "@deepseek-ai/dsh-timeout": "0.1.3-alpha.2",
137
+ "@deepseek-ai/dsh-token-meter": "0.1.3-alpha.2",
138
+ "@deepseek-ai/dsh-tool-todo": "0.1.3-alpha.2",
139
+ "@deepseek-ai/dsh-tool-workflow": "0.1.3-alpha.2",
140
+ "@deepseek-ai/dsh-tools": "0.1.3-alpha.2",
141
+ "@deepseek-ai/dsh-user-approval": "0.1.3-alpha.2",
142
+ "@deepseek-ai/dsh-user-questions": "0.1.3-alpha.2",
145
143
  "@deepseek-ai/schemastery": "^3.18.1",
146
144
  "@types/node": "^22.0.0",
147
145
  "@xmoon76/pi-tui": "^0.84.4",
@@ -151,32 +149,32 @@
151
149
  "tsdown": "0.22.0",
152
150
  "tsx": "^4.23.12",
153
151
  "typescript": "^5.9.0",
154
- "@deepseek-ai/dsh-session-projection": "0.1.2-rc.1",
155
- "@deepseek-ai/dsh-persona": "0.1.2-rc.1",
156
- "@deepseek-ai/dsh-agent-instructions": "0.1.2-rc.1",
157
- "@deepseek-ai/dsh-tool-fs": "0.1.2-rc.1",
158
- "@deepseek-ai/dsh-tool-fs-search": "0.1.2-rc.1",
159
- "@deepseek-ai/dsh-tool-jobs": "0.1.2-rc.1",
160
- "@deepseek-ai/dsh-skill-filesystem": "0.1.2-rc.1",
161
- "@deepseek-ai/dsh-tool-skill": "0.1.2-rc.1",
162
- "@deepseek-ai/dsh-command-goal": "0.1.2-rc.1",
163
- "@deepseek-ai/dsh-tool-goal": "0.1.2-rc.1",
164
- "@deepseek-ai/dsh-compaction-basic": "0.1.2-rc.1",
165
- "@deepseek-ai/dsh-command-compact": "0.1.2-rc.1",
166
- "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.1.2-rc.1",
167
- "@deepseek-ai/dsh-tool-subagent-control": "0.1.2-rc.1",
168
- "@deepseek-ai/dsh-tool-subagent": "0.1.2-rc.1",
169
- "@deepseek-ai/dsh-workflow-worker-thread": "0.1.2-rc.1",
170
- "@deepseek-ai/dsh-tool-ralph": "0.1.2-rc.1",
171
- "@deepseek-ai/dsh-tool-ask-user": "0.1.2-rc.1",
172
- "@deepseek-ai/dsh-tool-web": "0.1.2-rc.1",
173
- "@deepseek-ai/dsh-agent-tool-presentation": "0.1.2-rc.1",
174
- "@deepseek-ai/dsh-terminal": "0.1.2-rc.1",
175
- "@deepseek-ai/dsh-fs-local": "0.1.2-rc.1",
176
- "@deepseek-ai/dsh-tool-str-replace-editor": "0.1.2-rc.1",
177
- "@deepseek-ai/dsh-tool-cordis": "0.1.2-rc.1",
178
- "@deepseek-ai/dsh-agent-loop-testkit": "0.1.2-rc.1",
179
- "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.2-rc.1"
152
+ "@deepseek-ai/dsh-session-projection": "0.1.3-alpha.2",
153
+ "@deepseek-ai/dsh-persona": "0.1.3-alpha.2",
154
+ "@deepseek-ai/dsh-agent-instructions": "0.1.3-alpha.2",
155
+ "@deepseek-ai/dsh-tool-fs": "0.1.3-alpha.2",
156
+ "@deepseek-ai/dsh-tool-fs-search": "0.1.3-alpha.2",
157
+ "@deepseek-ai/dsh-tool-jobs": "0.1.3-alpha.2",
158
+ "@deepseek-ai/dsh-skill-filesystem": "0.1.3-alpha.2",
159
+ "@deepseek-ai/dsh-tool-skill": "0.1.3-alpha.2",
160
+ "@deepseek-ai/dsh-command-goal": "0.1.3-alpha.2",
161
+ "@deepseek-ai/dsh-tool-goal": "0.1.3-alpha.2",
162
+ "@deepseek-ai/dsh-compaction-basic": "0.1.3-alpha.2",
163
+ "@deepseek-ai/dsh-command-compact": "0.1.3-alpha.2",
164
+ "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.1.3-alpha.2",
165
+ "@deepseek-ai/dsh-tool-subagent-control": "0.1.3-alpha.2",
166
+ "@deepseek-ai/dsh-tool-subagent": "0.1.3-alpha.2",
167
+ "@deepseek-ai/dsh-workflow-worker-thread": "0.1.3-alpha.2",
168
+ "@deepseek-ai/dsh-tool-ralph": "0.1.3-alpha.2",
169
+ "@deepseek-ai/dsh-tool-ask-user": "0.1.3-alpha.2",
170
+ "@deepseek-ai/dsh-tool-web": "0.1.3-alpha.2",
171
+ "@deepseek-ai/dsh-agent-tool-presentation": "0.1.3-alpha.2",
172
+ "@deepseek-ai/dsh-terminal": "0.1.3-alpha.2",
173
+ "@deepseek-ai/dsh-fs-local": "0.1.3-alpha.2",
174
+ "@deepseek-ai/dsh-tool-str-replace-editor": "0.1.3-alpha.2",
175
+ "@deepseek-ai/dsh-tool-cordis": "0.1.3-alpha.2",
176
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.1.3-alpha.2",
177
+ "@deepseek-ai/dsh-subagent-spawn-in-process": "0.1.3-alpha.2"
180
178
  },
181
179
  "engines": {
182
180
  "node": "^22.19.0 || >=24"
@@ -207,7 +205,11 @@
207
205
  "compat:dsh:npm": "node scripts/dsh-npm-verify.mjs",
208
206
  "prepare:dsh:test": "node scripts/prepare-dsh-test-environment.mjs",
209
207
  "gate:source-leak": "node scripts/dsh-source-leak-gate.mjs",
208
+ "gate:installation-doc": "node scripts/installation-doc-gate.mjs",
210
209
  "gate:temp-hygiene": "node scripts/temp-hygiene-gate.mjs",
210
+ "gate:raw-persistence": "node scripts/raw-persistence-coupling-gate.mjs",
211
+ "generate:pi-divergences": "node scripts/generate-pi-divergences.mjs",
212
+ "gate:pi-divergence-ledger": "node scripts/pi-divergence-ledger-gate.mjs",
211
213
  "gate:pi-vendor-diff": "node scripts/pi-vendor-diff-gate.mjs",
212
214
  "smoke:vim": "node scripts/vim-plugin-smoke.mjs",
213
215
  "gate:pi-surface-compat": "node --test test/pi-component-compat.test.ts",
@@ -219,11 +221,11 @@
219
221
  "dev:doctor": "node scripts/dev-doctor.mjs",
220
222
  "dev:bootstrap": "node scripts/dev-bootstrap.mjs",
221
223
  "dev:shell": "node scripts/dev-shell.mjs",
222
- "verify:prepush": "pnpm typecheck:fork && pnpm test:fork && pnpm test:docs && pnpm test:tooling && node scripts/naming-gate.mjs && pnpm gate:temp-hygiene && node scripts/check-no-session-events.mjs && pnpm gate:boundary && pnpm gate:keybindings && pnpm audit --prod --audit-level high && pnpm pack:release",
223
- "verify:prepush:nofork": "pnpm test:docs && pnpm test:tooling && node scripts/naming-gate.mjs && pnpm gate:temp-hygiene && node scripts/check-no-session-events.mjs && pnpm gate:boundary && pnpm gate:keybindings && pnpm audit --prod --audit-level high && pnpm pack:release",
224
+ "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",
225
+ "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",
224
226
  "gate:boundary": "node scripts/client-boundary-gate.mjs",
225
227
  "gate:keybindings": "node --import tsx/esm scripts/check-host-keybindings.mts",
226
- "test:tooling": "node scripts/run-with-temp-root.mjs node --test test/dev-environment.test.mjs test/dev-bootstrap-ephemeral.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/run-with-temp-root.test.mjs",
227
- "test:product": "node scripts/run-with-temp-root.mjs node --test test/*.test.ts test/repair.test.mjs test/tarball-smoke.test.mjs"
228
+ "test:tooling": "node scripts/run-with-temp-root.mjs node --test test/dev-environment.test.mjs test/dev-bootstrap-ephemeral.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",
229
+ "test:product": "node scripts/run-with-temp-root.mjs node --test test/*.test.ts test/tarball-smoke.test.mjs"
228
230
  }
229
231
  }