@ran-sh/dsh-crew 2.2.16 → 2.2.18
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": "@ran-sh/dsh-crew",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.18",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./src/hub/entry.mjs",
|
|
6
6
|
"bin": {
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"@deepseek-ai/dsh": "^0.1.0 || ^0.2.0-rc.1",
|
|
50
50
|
"@deepseek-ai/dsh-agent": "^0.1.0 || ^0.2.0-rc.1",
|
|
51
51
|
"@deepseek-ai/dsh-agent-loop": "^0.1.0 || ^0.2.0-rc.1",
|
|
52
|
+
"@deepseek-ai/dsh-agent-preset-registry": "^0.1.0 || ^0.2.0-rc.1",
|
|
52
53
|
"@deepseek-ai/dsh-bash-local": "^0.1.0 || ^0.2.0-rc.1",
|
|
53
54
|
"@deepseek-ai/dsh-client-locale": "^0.1.0 || ^0.2.0-rc.1",
|
|
54
55
|
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.0 || ^0.2.0-rc.1",
|
|
@@ -82,6 +83,9 @@
|
|
|
82
83
|
"@deepseek-ai/dsh-agent-loop": {
|
|
83
84
|
"optional": true
|
|
84
85
|
},
|
|
86
|
+
"@deepseek-ai/dsh-agent-preset-registry": {
|
|
87
|
+
"optional": true
|
|
88
|
+
},
|
|
85
89
|
"@deepseek-ai/dsh-bash-local": {
|
|
86
90
|
"optional": true
|
|
87
91
|
},
|
|
@@ -150,30 +154,30 @@
|
|
|
150
154
|
}
|
|
151
155
|
},
|
|
152
156
|
"devDependencies": {
|
|
153
|
-
"@deepseek-ai/dsh": "0.
|
|
154
|
-
"@deepseek-ai/dsh-agent": "0.
|
|
155
|
-
"@deepseek-ai/dsh-agent-loop": "0.
|
|
156
|
-
"@deepseek-ai/dsh-agent-
|
|
157
|
-
"@deepseek-ai/dsh-bash-local": "0.
|
|
158
|
-
"@deepseek-ai/dsh-client-locale": "0.
|
|
159
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.
|
|
160
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.
|
|
161
|
-
"@deepseek-ai/dsh-compaction-basic": "0.
|
|
162
|
-
"@deepseek-ai/dsh-fs-local": "0.
|
|
163
|
-
"@deepseek-ai/dsh-fs-observation-policy": "0.
|
|
164
|
-
"@deepseek-ai/dsh-llm": "0.
|
|
165
|
-
"@deepseek-ai/dsh-llm-deepseek": "0.
|
|
166
|
-
"@deepseek-ai/dsh-sandbox-local": "0.
|
|
167
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.
|
|
168
|
-
"@deepseek-ai/dsh-sdk-client": "0.
|
|
169
|
-
"@deepseek-ai/dsh-sdk-jsonrpc-server": "0.
|
|
170
|
-
"@deepseek-ai/dsh-sdk-minimal": "0.
|
|
171
|
-
"@deepseek-ai/dsh-session": "0.
|
|
172
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": "0.
|
|
173
|
-
"@deepseek-ai/dsh-subprocess-local": "0.
|
|
174
|
-
"@deepseek-ai/dsh-token-meter": "0.
|
|
175
|
-
"@deepseek-ai/dsh-tool-fs": "0.
|
|
176
|
-
"@deepseek-ai/dsh-tool-todo": "0.
|
|
157
|
+
"@deepseek-ai/dsh": "0.2.0-rc.2",
|
|
158
|
+
"@deepseek-ai/dsh-agent": "0.2.0-rc.2",
|
|
159
|
+
"@deepseek-ai/dsh-agent-loop": "0.2.0-rc.2",
|
|
160
|
+
"@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
|
|
161
|
+
"@deepseek-ai/dsh-bash-local": "0.2.0-rc.2",
|
|
162
|
+
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
|
|
163
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
|
|
164
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2",
|
|
165
|
+
"@deepseek-ai/dsh-compaction-basic": "0.2.0-rc.2",
|
|
166
|
+
"@deepseek-ai/dsh-fs-local": "0.2.0-rc.2",
|
|
167
|
+
"@deepseek-ai/dsh-fs-observation-policy": "0.2.0-rc.2",
|
|
168
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
|
|
169
|
+
"@deepseek-ai/dsh-llm-deepseek": "0.2.0-rc.2",
|
|
170
|
+
"@deepseek-ai/dsh-sandbox-local": "0.2.0-rc.2",
|
|
171
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.2",
|
|
172
|
+
"@deepseek-ai/dsh-sdk-client": "0.2.0-rc.2",
|
|
173
|
+
"@deepseek-ai/dsh-sdk-jsonrpc-server": "0.2.0-rc.2",
|
|
174
|
+
"@deepseek-ai/dsh-sdk-minimal": "0.2.0-rc.2",
|
|
175
|
+
"@deepseek-ai/dsh-session": "0.2.0-rc.2",
|
|
176
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "0.2.0-rc.2",
|
|
177
|
+
"@deepseek-ai/dsh-subprocess-local": "0.2.0-rc.2",
|
|
178
|
+
"@deepseek-ai/dsh-token-meter": "0.2.0-rc.2",
|
|
179
|
+
"@deepseek-ai/dsh-tool-fs": "0.2.0-rc.2",
|
|
180
|
+
"@deepseek-ai/dsh-tool-todo": "0.2.0-rc.2",
|
|
177
181
|
"@types/react": "^18.3.0",
|
|
178
182
|
"react": "^18.3.1",
|
|
179
183
|
"react-dom": "^18.3.1",
|
package/src/dsh-cli-runtime.mjs
CHANGED
|
@@ -198,6 +198,23 @@ export function runResolvedDsh(cli, args = [], {
|
|
|
198
198
|
};
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
+
/**
|
|
202
|
+
* Environment for a package-manager child that installs Crew's own runtime.
|
|
203
|
+
*
|
|
204
|
+
* `--prefix`/`--dir` already pin the destination and scripts are disabled, so the
|
|
205
|
+
* child cannot be redirected by a variable — but it must not be *told* about the
|
|
206
|
+
* official Harness home either. Crew's installer is routinely run from inside a
|
|
207
|
+
* DSH session, whose ambient `DSH_HOME` is `~/.dsh`, and the contract these two
|
|
208
|
+
* installers carry is "installs only under the Crew home". Dropping the variable
|
|
209
|
+
* keeps that true by construction instead of by caller discipline, which is what
|
|
210
|
+
* the unit contract asserts and what an operator shell can silently break.
|
|
211
|
+
*/
|
|
212
|
+
function packageManagerEnv(env) {
|
|
213
|
+
const child = { ...env };
|
|
214
|
+
delete child.DSH_HOME;
|
|
215
|
+
return child;
|
|
216
|
+
}
|
|
217
|
+
|
|
201
218
|
/**
|
|
202
219
|
* Install a reusable DSH CLI into Crew-owned state. This is the only helper
|
|
203
220
|
* that may invoke a package manager, and callers must explicitly opt into it.
|
|
@@ -266,11 +283,12 @@ export function ensureCrewDshRuntime({
|
|
|
266
283
|
? ['add', '--dir', runtimeRoot, '--ignore-scripts', packageSpec]
|
|
267
284
|
: ['install', '--prefix', runtimeRoot, '--no-package-lock', '--ignore-scripts', '--omit=dev', packageSpec];
|
|
268
285
|
const invocation = buildDshInvocation(packageManager, packageArgs, { platform, comspec });
|
|
286
|
+
const installEnv = packageManagerEnv(env);
|
|
269
287
|
const runInstall = () => runner(invocation.command, invocation.args, {
|
|
270
288
|
encoding: 'utf8',
|
|
271
289
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
272
290
|
shell: invocation.shell,
|
|
273
|
-
env:
|
|
291
|
+
env: installEnv,
|
|
274
292
|
});
|
|
275
293
|
const result = runInstall();
|
|
276
294
|
const cli = resolveDshCli({ home, env, platform, exists, findCommand, includeCompatibility: false, read });
|
|
@@ -457,11 +475,12 @@ export function installDshInto({
|
|
|
457
475
|
? ['add', '--dir', root, '--ignore-scripts', packageSpec]
|
|
458
476
|
: ['install', '--prefix', root, '--no-package-lock', '--ignore-scripts', '--omit=dev', packageSpec];
|
|
459
477
|
const invocation = buildDshInvocation(packageManager, packageArgs, { platform, comspec });
|
|
478
|
+
const installEnv = packageManagerEnv(env);
|
|
460
479
|
const runInstall = () => runner(invocation.command, invocation.args, {
|
|
461
480
|
encoding: 'utf8',
|
|
462
481
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
463
482
|
shell: invocation.shell,
|
|
464
|
-
env:
|
|
483
|
+
env: installEnv,
|
|
465
484
|
});
|
|
466
485
|
const result = runInstall();
|
|
467
486
|
if (result.status !== 0) {
|
package/src/dsh-cohort.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// resolve to this exact version. All other modules re-export from here so a
|
|
5
5
|
// cohort bump touches exactly one file (plus package.json's 48 DSH pins).
|
|
6
6
|
export const DSH_CLI_PACKAGE = '@deepseek-ai/dsh';
|
|
7
|
-
export const TARGET_DSH_VERSION = '0.
|
|
7
|
+
export const TARGET_DSH_VERSION = '0.2.0-rc.2';
|
|
8
8
|
export const TARGET_DSH_SPEC = `${DSH_CLI_PACKAGE}@${TARGET_DSH_VERSION}`;
|
|
9
9
|
|
|
10
10
|
export const DSH_SCOPE = '@deepseek-ai/';
|
|
@@ -31,12 +31,12 @@ export function isDshCohortPackage(name) {
|
|
|
31
31
|
// named by CREW_PROFILE_DEFAULT_BUNDLES in src/dsh-cli-runtime.mjs. They
|
|
32
32
|
// belong to the runtime tree the profile composes, not to this plugin's
|
|
33
33
|
// peer set, so they are correctly absent here. A payload never vendors them.
|
|
34
|
-
// * @deepseek-ai/dsh-agent-
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
34
|
+
// * @deepseek-ai/dsh-agent-preset-registry is the provider of the
|
|
35
|
+
// `agentPresets` service this plugin resolves, and it is declared, so it is
|
|
36
|
+
// both pinned here and carried as a peer. Its predecessor
|
|
37
|
+
// `@deepseek-ai/dsh-agent-presets` stopped publishing at 0.1.6-alpha.2 and is
|
|
38
|
+
// named nowhere — a cohort that still listed it would be describing a package
|
|
39
|
+
// no registry can serve.
|
|
40
40
|
//
|
|
41
41
|
// The list is authoritative wherever a member is declared: a peer range and an
|
|
42
42
|
// explicit dependency both resolve to TARGET_DSH_VERSION in the staged payload.
|
|
@@ -47,7 +47,7 @@ export const DSH_COHORT_PACKAGES = Object.freeze([
|
|
|
47
47
|
DSH_CLI_PACKAGE,
|
|
48
48
|
'@deepseek-ai/dsh-agent',
|
|
49
49
|
'@deepseek-ai/dsh-agent-loop',
|
|
50
|
-
'@deepseek-ai/dsh-agent-
|
|
50
|
+
'@deepseek-ai/dsh-agent-preset-registry',
|
|
51
51
|
'@deepseek-ai/dsh-bash-local',
|
|
52
52
|
'@deepseek-ai/dsh-client-locale',
|
|
53
53
|
'@deepseek-ai/dsh-client-ui-renderer',
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
//
|
|
10
10
|
// Two hazards shape the rules:
|
|
11
11
|
// 1. The desktop app runs a DIFFERENT cohort than Crew pins (0.1.7-rc.2 vs
|
|
12
|
-
// 0.
|
|
12
|
+
// 0.2.0-rc.2), so an entry may name a package Crew's runtime does not
|
|
13
13
|
// have. The Harness installs patches fail-loud, so such an entry would break
|
|
14
14
|
// the hub: it is skipped and reported instead.
|
|
15
15
|
// 2. Crew's own managed blocks (the desktop bridge insert) are not user
|
package/src/runtime-identity.mjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// - HUB_PROTOCOL_VERSION changes only when Hub <-> MCP wire semantics become
|
|
6
6
|
// incompatible.
|
|
7
7
|
//
|
|
8
|
-
// The Harness/DSH cohort version (e.g. 0.
|
|
8
|
+
// The Harness/DSH cohort version (e.g. 0.2.0-rc.2) is a THIRD, independent
|
|
9
9
|
// domain: it identifies the installed @deepseek-ai/dsh package generation,
|
|
10
10
|
// never the Crew release. Verifiers must compare the cohort against
|
|
11
11
|
// dsh_version, never against runtime_version.
|
|
@@ -36,7 +36,7 @@ export {
|
|
|
36
36
|
// included in the identity contract.
|
|
37
37
|
const RUNTIME_ID = randomUUID();
|
|
38
38
|
|
|
39
|
-
export const RUNTIME_VERSION = '2.2.
|
|
39
|
+
export const RUNTIME_VERSION = '2.2.18';
|
|
40
40
|
export const HUB_PROTOCOL_VERSION = 1;
|
|
41
41
|
|
|
42
42
|
export const HUB_CAPABILITIES = Object.freeze([
|