@sparkelf/dsh-plus 0.1.0-rc.10 → 0.1.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +2 -2
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/lib/apply.js +27 -99
- package/package.json +77 -83
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/bundle/plus/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 2f9e94124db0aa48ae4f0ba34e4feca7fce5a30d
|
|
6
|
+
README.zh.md: af82ed3b2543bb765be6759ae582b65c67c7cf4f
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ dsh plugin --profile plus exec dsh-plus apply --dsh-root /path/to/official-dsh
|
|
|
31
31
|
dsh --profile plus
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
The explicit apply step requires official revision `cd5ef8148158c3a752a658978873241fdf8e2bbc`, materializes every selected runtime package as a profile-direct dependency, applies all pending source payloads together, configures exact npm patches, removes retired Plus-owned entries, and writes `.dsh-plus/patchset.lock.json` with mode `0600`.
|
|
34
|
+
The explicit apply step requires official revision `cd5ef8148158c3a752a658978873241fdf8e2bbc`, materializes every selected runtime package as a profile-direct dependency, applies all pending source payloads together, configures exact npm patches, removes retired Plus-owned entries, and writes `.dsh-plus/patchset.lock.json` with mode `0600`. Version conflicts and source mismatches fail before profile installation or source mutation. The package has no install lifecycle script.
|
|
35
35
|
|
|
36
36
|
Official DSH supplies onboarding, Workspace selection, Session export, Turn folding, and the base image path. The external `@changfenhuang/dsh-genui` bundle owns generated UI, including inline interactive charts emitted by the model as `dsh-ui`. The temporary GenUI streaming EChart patch targets only `0.9.6` and retires after [upstream PR #87](https://github.com/omdsh-dev/dsh-genui/pull/87) ships in npm and the real inline-chart path passes. DataOps and Document Attachments mount only when their endpoint environment variables exist. Agent Teams is excluded because the official packages are private experimental workspaces and shipped profiles disable them.
|
|
37
37
|
|
package/README.zh.md
CHANGED
|
@@ -31,7 +31,7 @@ dsh plugin --profile plus exec dsh-plus apply --dsh-root /path/to/official-dsh
|
|
|
31
31
|
dsh --profile plus
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
explicit apply步骤要求official revision `cd5ef8148158c3a752a658978873241fdf8e2bbc`,把每个selected runtime package materialize为profile-direct dependency,一次应用全部pending source payloads,配置exact npm patches,删除retired Plus-owned entries,并以`0600` mode写入`.dsh-plus/patchset.lock.json
|
|
34
|
+
explicit apply步骤要求official revision `cd5ef8148158c3a752a658978873241fdf8e2bbc`,把每个selected runtime package materialize为profile-direct dependency,一次应用全部pending source payloads,配置exact npm patches,删除retired Plus-owned entries,并以`0600` mode写入`.dsh-plus/patchset.lock.json`。version conflict和source mismatch会在profile installation或source mutation前失败。该package没有install lifecycle script。
|
|
35
35
|
|
|
36
36
|
Official DSH提供onboarding、Workspace selection、Session export、Turn folding及base image path。External `@changfenhuang/dsh-genui` bundle拥有generated UI,包括模型以`dsh-ui`输出的inline interactive charts。Temporary GenUI streaming EChart patch只target `0.9.6`;[upstream PR #87](https://github.com/omdsh-dev/dsh-genui/pull/87)进入npm且真实inline-chart path通过后退役。DataOps和Document Attachments仅在对应endpoint environment variables存在时mount。Agent Teams被排除,因为official packages属于private experimental workspaces且shipped profiles会禁用它们。
|
|
37
37
|
|
package/lib/apply.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import { spawnSync } from "node:child_process";
|
|
3
|
-
import { chmodSync, copyFileSync, existsSync, mkdirSync, readFileSync, rmSync,
|
|
3
|
+
import { chmodSync, copyFileSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
4
4
|
import { dirname, isAbsolute, relative, resolve } from "node:path";
|
|
5
5
|
import { satisfies, valid, validRange } from "semver";
|
|
6
6
|
import { parseDocument } from "yaml";
|
|
@@ -129,7 +129,7 @@ function patchPackageVariants(distributionDirectory, names) {
|
|
|
129
129
|
}
|
|
130
130
|
return variants;
|
|
131
131
|
}
|
|
132
|
-
function
|
|
132
|
+
function selectPatches(distributionDirectory, dshRoot) {
|
|
133
133
|
const distributionManifest = readJsonObject(resolve(distributionDirectory, "package.json"), "Plus distribution manifest");
|
|
134
134
|
const distributionName = requireString(distributionManifest.name, "Plus distribution name");
|
|
135
135
|
const distributionVersion = requireVersion(distributionManifest.version, "Plus distribution version");
|
|
@@ -137,19 +137,15 @@ function prepareSelection(distributionDirectory, profileDirectory, dshRoot) {
|
|
|
137
137
|
if (plus.formatVersion !== FORMAT_VERSION) throw new Error("unsupported dshPlus formatVersion: " + String(plus.formatVersion));
|
|
138
138
|
const dshRange = requireRange(requireObject(plus.compatibility, "dshPlus.compatibility").dsh, "dshPlus.compatibility.dsh");
|
|
139
139
|
const baseRevision = requireString(requireObject(plus.sourceBase, "dshPlus.sourceBase").revision, "dshPlus.sourceBase.revision");
|
|
140
|
-
const
|
|
141
|
-
const bundles = requireStringArray(profile.bundles, "dshPlus.profile.bundles");
|
|
142
|
-
const rawProfileDependencySpecs = requireObject(profile.dependencies, "dshPlus.profile.dependencies");
|
|
143
|
-
const profileDependencySpecs = {};
|
|
144
|
-
for (const [name, spec] of Object.entries(rawProfileDependencySpecs)) profileDependencySpecs[name] = requireString(spec, "dshPlus.profile.dependencies." + name);
|
|
145
|
-
const rawAllowBuilds = requireObject(profile.allowBuilds, "dshPlus.profile.allowBuilds");
|
|
146
|
-
const allowBuilds = {};
|
|
147
|
-
for (const [name, allowed] of Object.entries(rawAllowBuilds)) {
|
|
148
|
-
if (typeof allowed !== "boolean") throw new Error("dshPlus.profile.allowBuilds." + name + " must be a boolean");
|
|
149
|
-
allowBuilds[name] = allowed;
|
|
150
|
-
}
|
|
140
|
+
const bundles = requireStringArray(requireObject(plus.profile, "dshPlus.profile").bundles, "dshPlus.profile.bundles");
|
|
151
141
|
const patchPackageNames = requireStringArray(plus.patchPackages, "dshPlus.patchPackages");
|
|
152
142
|
const dependencies = requireObject(distributionManifest.dependencies, "Plus distribution dependencies");
|
|
143
|
+
const runtimePackages = Object.keys(dependencies).filter((name) => !patchPackageNames.includes(name)).sort().map((name) => {
|
|
144
|
+
return {
|
|
145
|
+
name,
|
|
146
|
+
version: resolveInstalledPackage(distributionDirectory, name).version
|
|
147
|
+
};
|
|
148
|
+
});
|
|
153
149
|
const dshVersion = requireVersion(readJsonObject(resolve(dshRoot, "package.json"), "DSH source manifest").version, "DSH source version");
|
|
154
150
|
if (!satisfies(dshVersion, dshRange, { includePrerelease: true })) throw new Error(distributionName + "@" + distributionVersion + " requires DSH " + dshRange + ", found " + dshVersion);
|
|
155
151
|
const checkoutRevision = requireSourceBase(dshRoot, baseRevision);
|
|
@@ -159,31 +155,6 @@ function prepareSelection(distributionDirectory, profileDirectory, dshRoot) {
|
|
|
159
155
|
entries.push(variant);
|
|
160
156
|
groups.set(variant.id, entries);
|
|
161
157
|
}
|
|
162
|
-
const sourceStates = /* @__PURE__ */ new Map();
|
|
163
|
-
for (const variant of [...groups.values()].flat()) {
|
|
164
|
-
if (variant.target.kind !== "dsh-source" || variant.target.baseRevision !== baseRevision || !satisfies(dshVersion, variant.dsh, { includePrerelease: true })) continue;
|
|
165
|
-
const file = resolvePatchFile(variant.patchPackage.directory, variant.file);
|
|
166
|
-
sourceStates.set(file.absoluteFile, sourcePatchState(dshRoot, file.absoluteFile));
|
|
167
|
-
}
|
|
168
|
-
const pendingSourceFiles = [...sourceStates].flatMap(([file, state]) => state === "pending" ? [file] : []);
|
|
169
|
-
if (pendingSourceFiles.length > 0) git(dshRoot, [
|
|
170
|
-
"apply",
|
|
171
|
-
"--check",
|
|
172
|
-
...pendingSourceFiles
|
|
173
|
-
]);
|
|
174
|
-
if (writeProfileRequirements(profileDirectory, profileDependencySpecs, allowBuilds)) runPnpm(profileDirectory, ["install"], "pnpm install Plus profile dependencies");
|
|
175
|
-
const profileDependencies = Object.keys(profileDependencySpecs).sort().map((name) => {
|
|
176
|
-
return {
|
|
177
|
-
name,
|
|
178
|
-
version: resolveInstalledPackage(profileDirectory, name).version
|
|
179
|
-
};
|
|
180
|
-
});
|
|
181
|
-
const runtimePackages = [...Object.keys(dependencies).filter((name) => !patchPackageNames.includes(name)).sort().map((name) => {
|
|
182
|
-
return {
|
|
183
|
-
name,
|
|
184
|
-
version: resolveInstalledPackage(distributionDirectory, name).version
|
|
185
|
-
};
|
|
186
|
-
}), ...profileDependencies].sort((left, right) => left.name.localeCompare(right.name));
|
|
187
158
|
const selected = [];
|
|
188
159
|
for (const id of [...groups.keys()].sort()) {
|
|
189
160
|
const candidates = (groups.get(id) ?? []).flatMap((variant) => {
|
|
@@ -203,10 +174,10 @@ function prepareSelection(distributionDirectory, profileDirectory, dshRoot) {
|
|
|
203
174
|
kind: "dsh-source",
|
|
204
175
|
baseRevision
|
|
205
176
|
},
|
|
206
|
-
alreadyApplied:
|
|
177
|
+
alreadyApplied: sourcePatchState(dshRoot, file.absoluteFile) === "applied"
|
|
207
178
|
}];
|
|
208
179
|
}
|
|
209
|
-
const targetVersion = resolveInstalledPackage(
|
|
180
|
+
const targetVersion = resolveInstalledPackage(distributionDirectory, variant.target.name).version;
|
|
210
181
|
if (!satisfies(targetVersion, variant.target.range, { includePrerelease: true })) return [];
|
|
211
182
|
return [{
|
|
212
183
|
id,
|
|
@@ -240,8 +211,6 @@ function prepareSelection(distributionDirectory, profileDirectory, dshRoot) {
|
|
|
240
211
|
patches: selected,
|
|
241
212
|
bundles,
|
|
242
213
|
runtimePackages,
|
|
243
|
-
profileDependencies,
|
|
244
|
-
allowBuilds,
|
|
245
214
|
lock: {
|
|
246
215
|
formatVersion: FORMAT_VERSION,
|
|
247
216
|
distribution: {
|
|
@@ -253,6 +222,7 @@ function prepareSelection(distributionDirectory, profileDirectory, dshRoot) {
|
|
|
253
222
|
baseRevision,
|
|
254
223
|
checkoutRevision
|
|
255
224
|
},
|
|
225
|
+
profile: { bundles },
|
|
256
226
|
runtimePackages,
|
|
257
227
|
patches: lockPatches
|
|
258
228
|
}
|
|
@@ -301,39 +271,6 @@ function profilePatchConfiguration(profileDirectory, patches) {
|
|
|
301
271
|
changed
|
|
302
272
|
};
|
|
303
273
|
}
|
|
304
|
-
function writeProfileRequirements(profileDirectory, dependencySpecs, allowBuilds) {
|
|
305
|
-
const manifestPath = resolve(profileDirectory, "package.json");
|
|
306
|
-
const manifest = readJsonObject(manifestPath, "DSH profile manifest");
|
|
307
|
-
const dependencies = requireObject(manifest.dependencies, "DSH profile dependencies");
|
|
308
|
-
let manifestChanged = false;
|
|
309
|
-
for (const [name, spec] of Object.entries(dependencySpecs)) {
|
|
310
|
-
const current = dependencies[name];
|
|
311
|
-
if (current !== void 0 && current !== spec) throw new Error("profile dependency " + name + " is configured as " + JSON.stringify(current) + ", expected " + spec);
|
|
312
|
-
if (current === void 0) {
|
|
313
|
-
dependencies[name] = spec;
|
|
314
|
-
manifestChanged = true;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
const workspacePath = resolve(profileDirectory, "pnpm-workspace.yaml");
|
|
318
|
-
const document = parseDocument(readFileSync(workspacePath, "utf8"));
|
|
319
|
-
const [documentError] = document.errors;
|
|
320
|
-
if (documentError !== void 0) throw new Error("Plus profile workspace is not valid YAML", { cause: documentError });
|
|
321
|
-
let workspaceChanged = false;
|
|
322
|
-
for (const [name, allowed] of Object.entries(allowBuilds)) {
|
|
323
|
-
const current = document.getIn(["allowBuilds", name]);
|
|
324
|
-
if (current !== void 0 && current !== allowed) throw new Error("profile allowBuilds." + name + " is configured as " + JSON.stringify(current) + ", expected " + String(allowed));
|
|
325
|
-
if (current === void 0) {
|
|
326
|
-
document.setIn(["allowBuilds", name], allowed);
|
|
327
|
-
workspaceChanged = true;
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
if (manifestChanged) {
|
|
331
|
-
manifest.dependencies = dependencies;
|
|
332
|
-
writeFileSync(manifestPath, JSON.stringify(manifest, void 0, 2) + "\n");
|
|
333
|
-
}
|
|
334
|
-
if (workspaceChanged) writeFileSync(workspacePath, String(document));
|
|
335
|
-
return manifestChanged || workspaceChanged;
|
|
336
|
-
}
|
|
337
274
|
function writeProfileComposition(profileDirectory, bundles, runtimePackages) {
|
|
338
275
|
const path = resolve(profileDirectory, "package.json");
|
|
339
276
|
const manifest = readJsonObject(path, "DSH profile manifest");
|
|
@@ -384,16 +321,6 @@ function applySelectedPatches(profileDirectory, dshRoot, patches, profileChanged
|
|
|
384
321
|
if (sourceFiles.length > 0) git(dshRoot, ["apply", ...sourceFiles]);
|
|
385
322
|
if (stablePatches.some((patch) => patch.target.kind === "dsh-source")) runPnpm(dshRoot, ["run", "build"], "official DSH build after source patches");
|
|
386
323
|
}
|
|
387
|
-
function linkOfficialPackages(profileDirectory, dshRoot) {
|
|
388
|
-
const source = resolve(dshRoot, "node_modules", "@deepseek-ai");
|
|
389
|
-
if (!existsSync(source)) throw new Error("official DSH dependencies are missing under " + source);
|
|
390
|
-
const destination = resolve(profileDirectory, "node_modules", "@deepseek-ai");
|
|
391
|
-
rmSync(destination, {
|
|
392
|
-
recursive: true,
|
|
393
|
-
force: true
|
|
394
|
-
});
|
|
395
|
-
symlinkSync(source, destination, process.platform === "win32" ? "junction" : "dir");
|
|
396
|
-
}
|
|
397
324
|
function writeLock(profileDirectory, lock) {
|
|
398
325
|
const directory = resolve(profileDirectory, ".dsh-plus");
|
|
399
326
|
mkdirSync(directory, { recursive: true });
|
|
@@ -423,22 +350,23 @@ function parseApplyArguments(argv) {
|
|
|
423
350
|
*/
|
|
424
351
|
function runApply(argv) {
|
|
425
352
|
const { dshRoot, profileDirectory } = parseApplyArguments(argv);
|
|
426
|
-
|
|
427
|
-
|
|
353
|
+
const dependencies = requireObject(readJsonObject(resolve(profileDirectory, "package.json"), "DSH profile manifest").dependencies, "DSH profile dependencies");
|
|
354
|
+
if (dependencies["@sparkelf/dsh-plus"] === void 0) throw new Error("current directory is not a DSH profile with @sparkelf/dsh-plus installed");
|
|
355
|
+
const selection = selectPatches(dirname(createRequire(resolve(profileDirectory, "package.json")).resolve("@sparkelf/dsh-plus/package.json")), dshRoot);
|
|
356
|
+
const sourceFiles = pendingSourcePatchFiles(selection.patches);
|
|
357
|
+
if (sourceFiles.length > 0) git(dshRoot, [
|
|
358
|
+
"apply",
|
|
359
|
+
"--check",
|
|
360
|
+
...sourceFiles
|
|
361
|
+
]);
|
|
428
362
|
const profileChanged = writeProfileComposition(profileDirectory, selection.bundles, selection.runtimePackages);
|
|
429
363
|
applySelectedPatches(profileDirectory, dshRoot, selection.patches, profileChanged);
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
version: (installedProfileDependencies[name] === void 0 ? resolveInstalledPackage(dshRoot, name) : resolveInstalledPackage(profileDirectory, name)).version
|
|
437
|
-
};
|
|
438
|
-
}),
|
|
439
|
-
dependencies: selection.profileDependencies,
|
|
440
|
-
allowBuilds: selection.allowBuilds
|
|
441
|
-
};
|
|
364
|
+
selection.lock.profile = { bundles: selection.bundles.map((name) => {
|
|
365
|
+
return {
|
|
366
|
+
name,
|
|
367
|
+
version: (dependencies[name] === void 0 ? resolveInstalledPackage(dshRoot, name) : resolveInstalledPackage(profileDirectory, name)).version
|
|
368
|
+
};
|
|
369
|
+
}) };
|
|
442
370
|
const lock = writeLock(profileDirectory, selection.lock);
|
|
443
371
|
process.stdout.write("[dsh-plus] applied " + String(selection.patches.length) + " patches; lock " + lock + "\n");
|
|
444
372
|
}
|
package/package.json
CHANGED
|
@@ -1,45 +1,64 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
2
|
+
"name": "@sparkelf/dsh-plus",
|
|
3
|
+
"description": "DeepSeek Harness Plus official-base Web distribution profile and ranged compatibility patchset",
|
|
4
|
+
"version": "0.1.0-rc.9",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
4
7
|
},
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"@sparkelf/dsh-patch-document-attachments": ">=0.1.0-rc.10",
|
|
10
|
-
"@sparkelf/dsh-patch-genui-streaming-echart": ">=0.1.0-rc.10",
|
|
11
|
-
"@sparkelf/dsh-patch-mobile-bridge-serialized-actions": ">=0.1.0-rc.10",
|
|
12
|
-
"@sparkelf/dsh-patch-mobile-web-layout": ">=0.1.0-rc.10",
|
|
13
|
-
"@sparkelf/dsh-patch-responses-reasoning-status": ">=0.1.0-rc.10",
|
|
14
|
-
"@sparkelf/dsh-patch-subagent-settings-presets": ">=0.1.0-rc.10",
|
|
15
|
-
"@sparkelf/dsh-patch-web-base-path": ">=0.1.0-rc.10",
|
|
16
|
-
"@sparkelf/dsh-patch-workspace-storage-restore": ">=0.1.0-rc.10",
|
|
17
|
-
"@sparkelf/dsh-plugin-backup": ">=0.1.0-rc.10",
|
|
18
|
-
"@sparkelf/dsh-plugin-dataops": ">=0.1.0-rc.10",
|
|
19
|
-
"@sparkelf/dsh-plugin-document-attachments": ">=0.1.0-rc.10",
|
|
20
|
-
"@sparkelf/dsh-plugin-mcp-credentials": ">=0.1.0-rc.10",
|
|
21
|
-
"@sparkelf/dsh-plugin-subagent-settings": ">=0.1.0-rc.10",
|
|
22
|
-
"dshmarket": ">=1.29.2",
|
|
23
|
-
"semver": ">=7.7.3",
|
|
24
|
-
"yaml": ">=2.9.0"
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/SparkElf/deepseek-harness-plus.git",
|
|
11
|
+
"directory": "packages/bundle/plus"
|
|
25
12
|
},
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "lib/index.js",
|
|
15
|
+
"types": "lib/types/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./lib/types/index.d.ts",
|
|
19
|
+
"default": "./lib/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./invariant": {
|
|
22
|
+
"types": "./lib/types/invariant.d.ts",
|
|
23
|
+
"default": "./lib/invariant.js"
|
|
24
|
+
},
|
|
25
|
+
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
26
|
+
"./package.json": "./package.json",
|
|
27
|
+
"./apply": {
|
|
28
|
+
"types": "./lib/types/apply.d.ts",
|
|
29
|
+
"default": "./lib/apply.js"
|
|
30
|
+
}
|
|
32
31
|
},
|
|
32
|
+
"files": [
|
|
33
|
+
"lib/index.js",
|
|
34
|
+
"lib/invariant.js",
|
|
35
|
+
"lib/bin.js",
|
|
36
|
+
"cordis.patch.yml",
|
|
37
|
+
"lib/apply.js",
|
|
38
|
+
"lib/types/**/*.d.ts"
|
|
39
|
+
],
|
|
40
|
+
"license": "MIT",
|
|
33
41
|
"dsh": {
|
|
34
42
|
"bundle": {
|
|
35
43
|
"patch": "./cordis.patch.yml"
|
|
36
44
|
}
|
|
37
45
|
},
|
|
38
46
|
"dshPlus": {
|
|
47
|
+
"formatVersion": 1,
|
|
39
48
|
"compatibility": {
|
|
40
49
|
"dsh": ">=0.1.2-alpha.1"
|
|
41
50
|
},
|
|
42
|
-
"
|
|
51
|
+
"profile": {
|
|
52
|
+
"bundles": [
|
|
53
|
+
"@deepseek-ai/dsh-base",
|
|
54
|
+
"@deepseek-ai/dsh-web-app",
|
|
55
|
+
"dsh-better-sidebar",
|
|
56
|
+
"@sparkelf/dsh-mobile-bridge",
|
|
57
|
+
"dshmarket",
|
|
58
|
+
"@changfenhuang/dsh-genui",
|
|
59
|
+
"@sparkelf/dsh-plus"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
43
62
|
"patchPackages": [
|
|
44
63
|
"@sparkelf/dsh-patch-better-sidebar-app-frame",
|
|
45
64
|
"@sparkelf/dsh-patch-genui-streaming-echart",
|
|
@@ -51,67 +70,42 @@
|
|
|
51
70
|
"@sparkelf/dsh-patch-mobile-web-layout",
|
|
52
71
|
"@sparkelf/dsh-patch-web-base-path"
|
|
53
72
|
],
|
|
54
|
-
"profile": {
|
|
55
|
-
"allowBuilds": {
|
|
56
|
-
"node-pty": true
|
|
57
|
-
},
|
|
58
|
-
"bundles": [
|
|
59
|
-
"@deepseek-ai/dsh-base",
|
|
60
|
-
"@deepseek-ai/dsh-web-app",
|
|
61
|
-
"dsh-better-sidebar",
|
|
62
|
-
"@sparkelf/dsh-mobile-bridge",
|
|
63
|
-
"dshmarket",
|
|
64
|
-
"@changfenhuang/dsh-genui",
|
|
65
|
-
"@sparkelf/dsh-plus"
|
|
66
|
-
],
|
|
67
|
-
"dependencies": {
|
|
68
|
-
"dsh-better-sidebar": "0.17.1"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
73
|
"sourceBase": {
|
|
72
74
|
"revision": "cd5ef8148158c3a752a658978873241fdf8e2bbc"
|
|
73
75
|
}
|
|
74
76
|
},
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"
|
|
77
|
+
"dependencies": {
|
|
78
|
+
"@sparkelf/dsh-mobile-bridge": ">=0.2.8",
|
|
79
|
+
"@sparkelf/dsh-patch-better-sidebar-app-frame": ">=0.1.0-rc.9",
|
|
80
|
+
"@sparkelf/dsh-patch-genui-streaming-echart": ">=0.1.0-rc.9",
|
|
81
|
+
"@sparkelf/dsh-patch-mobile-bridge-serialized-actions": ">=0.1.0-rc.9",
|
|
82
|
+
"dsh-better-sidebar": ">=0.16.1",
|
|
83
|
+
"dshmarket": ">=1.29.2",
|
|
84
|
+
"@changfenhuang/dsh-genui": ">=0.9.6",
|
|
85
|
+
"@sparkelf/dsh-plugin-backup": ">=0.1.0-rc.9",
|
|
86
|
+
"@sparkelf/dsh-patch-workspace-storage-restore": ">=0.1.0-rc.9",
|
|
87
|
+
"semver": ">=7.7.3",
|
|
88
|
+
"yaml": ">=2.9.0",
|
|
89
|
+
"@sparkelf/dsh-plugin-subagent-settings": ">=0.1.0-rc.9",
|
|
90
|
+
"@sparkelf/dsh-patch-subagent-settings-presets": ">=0.1.0-rc.9",
|
|
91
|
+
"@sparkelf/dsh-plugin-document-attachments": ">=0.1.0-rc.9",
|
|
92
|
+
"@sparkelf/dsh-plugin-dataops": ">=0.1.0-rc.9",
|
|
93
|
+
"@sparkelf/dsh-plugin-mcp-credentials": ">=0.1.0-rc.9",
|
|
94
|
+
"@sparkelf/dsh-patch-mobile-web-layout": ">=0.1.0-rc.9",
|
|
95
|
+
"@sparkelf/dsh-patch-web-base-path": ">=0.1.0-rc.9",
|
|
96
|
+
"@sparkelf/dsh-patch-document-attachments": ">=0.1.0-rc.9",
|
|
97
|
+
"@sparkelf/dsh-patch-responses-reasoning-status": ">=0.1.0-rc.9"
|
|
90
98
|
},
|
|
91
|
-
"files": [
|
|
92
|
-
"lib/index.js",
|
|
93
|
-
"lib/invariant.js",
|
|
94
|
-
"lib/bin.js",
|
|
95
|
-
"cordis.patch.yml",
|
|
96
|
-
"lib/apply.js",
|
|
97
|
-
"lib/types/**/*.d.ts"
|
|
98
|
-
],
|
|
99
|
-
"license": "MIT",
|
|
100
|
-
"main": "lib/index.js",
|
|
101
|
-
"name": "@sparkelf/dsh-plus",
|
|
102
99
|
"peerDependencies": {
|
|
103
100
|
"@deepseek-ai/cordis": ">=4.0.1",
|
|
104
101
|
"@deepseek-ai/dsh-invariants": ">=0.1.2-alpha.1"
|
|
105
102
|
},
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
"directory": "packages/bundle/plus",
|
|
111
|
-
"type": "git",
|
|
112
|
-
"url": "git+https://github.com/SparkElf/deepseek-harness-plus.git"
|
|
103
|
+
"devDependencies": {
|
|
104
|
+
"@types/semver": ">=7.7.1",
|
|
105
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
106
|
+
"@deepseek-ai/dsh-invariants": "^0.1.2-alpha.1"
|
|
113
107
|
},
|
|
114
|
-
"
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
108
|
+
"bin": {
|
|
109
|
+
"dsh-plus": "lib/bin.js"
|
|
110
|
+
}
|
|
111
|
+
}
|