@crazx/dsh 0.1.5-rc.2.zw.1 → 0.1.6-alpha.1.zw.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.
- package/README.i18n.yaml +2 -2
- package/README.md +4 -2
- package/README.zh.md +4 -2
- package/lib/bin.js +3 -3
- package/lib/{dump-config-lFgMwK8i.js → dump-config-CpQgpJa2.js} +1 -1
- package/lib/{plugin-Ddi42qoW.js → plugin-Bk_PbPwP.js} +1 -1
- package/lib/{profile-boot-Dk-7KqJc.js → profile-boot-CuwbWsnH.js} +14 -6
- package/lib/profile-boot-DB8eVKBx.js +2 -0
- package/package.json +106 -105
- package/lib/profile-boot-BP_C0vpU.js +0 -2
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 apps/cli/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: cfab7a4983c31a21b68157c9cefb38c1654571ff
|
|
6
|
+
README.zh.md: 67d07fba1fc27bca9c2a696daddde88aac3aa39c
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
English | [中文](README.zh.md)
|
|
4
4
|
|
|
5
|
-
The `dsh` command is the sole supported Node application launcher: profiles are ordered stacks of plugin-bundle patch layers under the user's own overrides. SDK and ACP are profiles, not separate public bins. The Python runtime wheel packages this same command; the SDK defaults to `sdk`, and the minimal example selects `sdk-minimal`. [`src/args.ts`](src/args.ts) owns the command grammar, and [`src/bin.ts`](src/bin.ts) loads only the selected runner. Invalid commands, options from another mode, configuration
|
|
5
|
+
The `dsh` command is the sole supported Node application launcher: profiles are ordered stacks of plugin-bundle patch layers under the user's own overrides. SDK and ACP are profiles, not separate public bins. The Python runtime wheel packages this same command; the SDK defaults to `sdk`, and the minimal example selects `sdk-minimal`. [`src/args.ts`](src/args.ts) owns the command grammar, and [`src/bin.ts`](src/bin.ts) loads only the selected runner. Invalid commands, options from another mode, and fatal configuration or boot failures exit nonzero.
|
|
6
6
|
|
|
7
7
|
## Entry modes
|
|
8
8
|
|
|
@@ -45,7 +45,7 @@ Bundles named in `dsh.profile.bundles` resolve from the dsh installation first (
|
|
|
45
45
|
|
|
46
46
|
Use `--dump-default-config` and `--dump-config` to inspect the composed tree without booting it.
|
|
47
47
|
|
|
48
|
-
The [CLI behavior reference](reference/README.md) owns exact layer precedence, flags, shutdown behavior, deployment defaults, and source execution.
|
|
48
|
+
The [CLI behavior reference](reference/README.md) owns exact layer precedence, flags, shutdown behavior, deployment defaults, and source execution. The [startup and reload failure table](../../packages/boot/app-boot/README.md#startup-and-reload-failures) compares optional and required plugin failures with configuration HMR.
|
|
49
49
|
|
|
50
50
|
## Optional overlays
|
|
51
51
|
|
|
@@ -54,3 +54,5 @@ The [CLI behavior reference](reference/README.md) owns exact layer precedence, f
|
|
|
54
54
|
## Development
|
|
55
55
|
|
|
56
56
|
Production runs require built package and frontend artifacts. From the repository root, run `pnpm run build` separately, then use `pnpm dsh <args...>` to run the TypeScript entry and forward every argument; the [source-execution reference](reference/README.md#source-execution) owns the module-resolution contract.
|
|
57
|
+
|
|
58
|
+
The [Web failure matrix](tests/profiles/web/tests/web-failure-matrix.expected.e2e.ts) runs the built CLI through startup failures and native configuration HMR with `awaitWriteFinish` enabled in `test:expected`. It verifies authenticated HTTP responses, diagnostics, recovery, process exits, and disposal without model API calls; the [startup acceptance](tests/profiles/web/tests/web-best-effort-startup.expected.e2e.ts) also covers the shipped required Web dependencies and port conflicts.
|
package/README.zh.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | 中文
|
|
4
4
|
|
|
5
|
-
`dsh` 是唯一受支持的 Node 应用启动器;profile 由多个插件组合包 patch 层按顺序叠加而成,其上再应用用户自己的覆盖配置。SDK 与 ACP(Agent Client Protocol)都是 profile,而不是独立的公开可执行命令。Python 运行时 wheel 包中也包含同一个命令;SDK 默认使用 `sdk`,极简示例选择 `sdk-minimal`。[`src/args.ts`](src/args.ts) 负责命令语法,[`src/bin.ts`](src/bin.ts)
|
|
5
|
+
`dsh` 是唯一受支持的 Node 应用启动器;profile 由多个插件组合包 patch 层按顺序叠加而成,其上再应用用户自己的覆盖配置。SDK 与 ACP(Agent Client Protocol)都是 profile,而不是独立的公开可执行命令。Python 运行时 wheel 包中也包含同一个命令;SDK 默认使用 `sdk`,极简示例选择 `sdk-minimal`。[`src/args.ts`](src/args.ts) 负责命令语法,[`src/bin.ts`](src/bin.ts) 只加载选中的运行器。无效命令、来自其他模式的选项,以及致命的配置或启动错误都会以非零状态退出。
|
|
6
6
|
|
|
7
7
|
## 入口模式
|
|
8
8
|
|
|
@@ -45,7 +45,7 @@ profile 目录包含一个 `package.json`,其中记录树外插件依赖,以
|
|
|
45
45
|
|
|
46
46
|
使用 `--dump-default-config` 和 `--dump-config` 可在不启动的情况下检查组合后的配置树。
|
|
47
47
|
|
|
48
|
-
层的确切优先级、flag、关闭行为、部署默认值和源码执行方式,以 [CLI 行为参考](reference/README.zh.md)为准。
|
|
48
|
+
层的确切优先级、flag、关闭行为、部署默认值和源码执行方式,以 [CLI 行为参考](reference/README.zh.md)为准。[启动与重载失败表](../../packages/boot/app-boot/README.zh.md#startup-and-reload-failures)对比 optional、required 插件启动失败与配置 HMR 的行为。
|
|
49
49
|
|
|
50
50
|
## 可选覆盖层
|
|
51
51
|
|
|
@@ -54,3 +54,5 @@ profile 目录包含一个 `package.json`,其中记录树外插件依赖,以
|
|
|
54
54
|
## 开发
|
|
55
55
|
|
|
56
56
|
生产运行需要已构建的包与前端产物。请在仓库根目录单独运行 `pnpm run build`,然后使用 `pnpm dsh <args...>` 运行 TypeScript 入口并转发所有参数;模块解析约定以[源码执行参考](reference/README.zh.md#source-execution)为准。
|
|
57
|
+
|
|
58
|
+
[Web 失败矩阵](tests/profiles/web/tests/web-failure-matrix.expected.e2e.ts)在 `test:expected` 中通过构建后的 CLI 验证启动失败与启用 `awaitWriteFinish` 的原生配置 HMR。它不调用模型 API,而是检查经过认证的 HTTP 响应、诊断、恢复、进程退出与 dispose;[启动验收测试](tests/profiles/web/tests/web-best-effort-startup.expected.e2e.ts)还覆盖随附 Web 的必需依赖与端口冲突。
|
package/lib/bin.js
CHANGED
|
@@ -164,7 +164,7 @@ async function runCli() {
|
|
|
164
164
|
const invocation = parseDshArgs(process.argv.slice(2), readVersion());
|
|
165
165
|
switch (invocation.mode) {
|
|
166
166
|
case "profile": {
|
|
167
|
-
const { runProfile } = await import("./profile-boot-
|
|
167
|
+
const { runProfile } = await import("./profile-boot-DB8eVKBx.js");
|
|
168
168
|
await runProfile({
|
|
169
169
|
environment: loadLayeredEnv("dsh"),
|
|
170
170
|
profile: invocation.profile,
|
|
@@ -175,7 +175,7 @@ async function runCli() {
|
|
|
175
175
|
break;
|
|
176
176
|
}
|
|
177
177
|
case "plugin": {
|
|
178
|
-
const { runPlugin } = await import("./plugin-
|
|
178
|
+
const { runPlugin } = await import("./plugin-Bk_PbPwP.js");
|
|
179
179
|
process.exit(runPlugin(invocation.profile, invocation.args));
|
|
180
180
|
break;
|
|
181
181
|
}
|
|
@@ -189,7 +189,7 @@ async function runCli() {
|
|
|
189
189
|
break;
|
|
190
190
|
}
|
|
191
191
|
case "dump-config": {
|
|
192
|
-
const { runDumpConfig } = await import("./dump-config-
|
|
192
|
+
const { runDumpConfig } = await import("./dump-config-CpQgpJa2.js");
|
|
193
193
|
runDumpConfig(invocation.profile, invocation.defaultOnly, invocation.patches, invocation.fromDefaultProfile);
|
|
194
194
|
break;
|
|
195
195
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as prepareProfile, n as PROFILE_ROOT_FILENAME, r as homePatchPath } from "./profile-boot-
|
|
1
|
+
import { a as prepareProfile, n as PROFILE_ROOT_FILENAME, r as homePatchPath } from "./profile-boot-CuwbWsnH.js";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { loadOptionalPatches, loadOverlayPatches, renderConfigDump } from "@deepseek-ai/dsh-app-boot";
|
|
4
4
|
import { join, resolve } from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as INSTALL_ANCHOR } from "./profile-boot-
|
|
1
|
+
import { t as INSTALL_ANCHOR } from "./profile-boot-CuwbWsnH.js";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { DEFAULT_PROFILE_BUNDLES, PROFILE_TEMPLATES, initProfile, readProfileManifest, resolveBundleDir, resolveProfileDir, writeProfileManifest } from "@deepseek-ai/dsh-app-boot";
|
|
4
4
|
import { join, resolve } from "node:path";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { PROFILE_PATCH_FILENAME, PROFILE_TEMPLATES, boot, composeEntries, healProfilesModuleFallback, initProfile, installFailLoud, loadOptionalPatches, loadOverlayPatches, loadProfile, resolveProfileDir, watchUserPatches } from "@deepseek-ai/dsh-app-boot";
|
|
3
|
+
import { PROFILE_PATCH_FILENAME, PROFILE_TEMPLATES, PluginPackages, boot, composeEntries, createProfileResolutionGeneration, healProfilesModuleFallback, initProfile, installFailLoud, loadOptionalPatches, loadOverlayPatches, loadProfile, resolveProfileDir, watchUserPatches } from "@deepseek-ai/dsh-app-boot";
|
|
4
4
|
import { dirname, join, resolve } from "node:path";
|
|
5
5
|
import { resolveDshHome } from "@deepseek-ai/dsh-home-paths";
|
|
6
6
|
import { installProxyFromEnvironment } from "@deepseek-ai/dsh-http-proxy";
|
|
@@ -229,12 +229,13 @@ function allPatches(composed) {
|
|
|
229
229
|
* @param patchFiles - `--patch` overlay paths, in argv order.
|
|
230
230
|
* @returns the profile and its patch layers.
|
|
231
231
|
*/
|
|
232
|
-
async function composeProfile(name, patchFiles, fromDefaultProfile) {
|
|
232
|
+
async function composeProfile(name, patchFiles, resolutionMode, fromDefaultProfile) {
|
|
233
233
|
const profile = prepareProfile(name, true, fromDefaultProfile);
|
|
234
|
-
|
|
234
|
+
const resolutionOptions = {
|
|
235
235
|
installAnchor: INSTALL_ANCHOR,
|
|
236
236
|
profile
|
|
237
|
-
}
|
|
237
|
+
};
|
|
238
|
+
const resolution = resolutionMode === "runtime" ? await createProfileResolutionGeneration(resolutionOptions) : await healProfilesModuleFallback(resolutionOptions);
|
|
238
239
|
const homePatches = loadOptionalPatches(NAME, homePatchPath()) ?? [];
|
|
239
240
|
const overlays = patchFiles.flatMap((file) => loadOverlayPatches(NAME, resolve(file)));
|
|
240
241
|
const bundlePatches = profile.layers.flatMap((layer) => layer.patches);
|
|
@@ -250,6 +251,7 @@ async function composeProfile(name, patchFiles, fromDefaultProfile) {
|
|
|
250
251
|
if (telemetryPatch !== void 0) composedOverlays.push(telemetryPatch);
|
|
251
252
|
return {
|
|
252
253
|
profile,
|
|
254
|
+
resolution,
|
|
253
255
|
bundlePatches,
|
|
254
256
|
homePatches,
|
|
255
257
|
overlays: composedOverlays
|
|
@@ -280,7 +282,8 @@ async function runProfile(options) {
|
|
|
280
282
|
const disposeProxy = await installProxyFromEnvironment(options.environment, (message) => {
|
|
281
283
|
process.stderr.write(`${NAME}: ${message}\n`);
|
|
282
284
|
});
|
|
283
|
-
const
|
|
285
|
+
const resolutionMode = process.pkg !== void 0 ? "runtime" : options.resolutionMode ?? "link";
|
|
286
|
+
const composed = await composeProfile(options.profile, options.patchFiles, resolutionMode, options.fromDefaultProfile);
|
|
284
287
|
const app = {};
|
|
285
288
|
const appReady = createAppReady();
|
|
286
289
|
const shutdown = createProcessShutdown(async () => {
|
|
@@ -308,9 +311,13 @@ async function runProfile(options) {
|
|
|
308
311
|
...loadOptionalPatches(NAME, homePatchPath()) ?? [],
|
|
309
312
|
...composed.overlays
|
|
310
313
|
]);
|
|
311
|
-
const ctx = await boot(NAME, rootConfig, structuredClone(allPatches(composed)), (hostCtx) => {
|
|
314
|
+
const ctx = await boot(NAME, rootConfig, structuredClone(allPatches(composed)), async (hostCtx) => {
|
|
312
315
|
app.current = hostCtx;
|
|
313
316
|
hostCtx.provide(DSH_LAUNCH_ENVIRONMENT_KEY, options.environment);
|
|
317
|
+
await hostCtx.plugin(PluginPackages, resolutionMode === "link" ? {} : {
|
|
318
|
+
generation: composed.resolution,
|
|
319
|
+
behavior: resolutionMode === "dual" ? "verify" : "enforce"
|
|
320
|
+
});
|
|
314
321
|
provideCmdline(hostCtx, {
|
|
315
322
|
args: options.args,
|
|
316
323
|
exit: (code) => void shutdown.shutdown(code),
|
|
@@ -325,6 +332,7 @@ async function runProfile(options) {
|
|
|
325
332
|
name: "@deepseek-ai/cordis-plugin-hmr",
|
|
326
333
|
config: { root: [] }
|
|
327
334
|
});
|
|
335
|
+
await ctx.loader.await();
|
|
328
336
|
}
|
|
329
337
|
await watchUserPatches(ctx, {
|
|
330
338
|
binName: NAME,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crazx/dsh",
|
|
3
3
|
"description": "dsh CLI: profile boot, plugin management, and the browser UI alias",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.6-alpha.1.zw.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -33,116 +33,117 @@
|
|
|
33
33
|
"@deepseek-ai/cordis-plugin-include": "^1.0.7",
|
|
34
34
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
35
35
|
"@deepseek-ai/cordis-plugin-timer": "^1.1.4",
|
|
36
|
-
"@deepseek-ai/dsh-acp-app": "^0.1.
|
|
37
|
-
"@deepseek-ai/dsh-agent-instructions": "^0.1.
|
|
38
|
-
"@deepseek-ai/dsh-agent-tool-presentation": "^0.1.
|
|
39
|
-
"@deepseek-ai/dsh-app-boot": "^0.1.
|
|
40
|
-
"@deepseek-ai/dsh-base": "^0.1.
|
|
41
|
-
"@deepseek-ai/dsh-client-ui-agent-preset": "^0.1.
|
|
42
|
-
"@deepseek-ai/dsh-client-ui-cordis": "^0.1.
|
|
43
|
-
"@deepseek-ai/dsh-cmdline": "^0.1.
|
|
44
|
-
"@deepseek-ai/dsh-command-compact": "^0.1.
|
|
45
|
-
"@deepseek-ai/dsh-command-goal": "^0.1.
|
|
46
|
-
"@deepseek-ai/dsh-compaction-basic": "npm:@crazx/dsh-compaction-basic@0.1.
|
|
47
|
-
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.
|
|
48
|
-
"@deepseek-ai/dsh-cordis-client-runner": "^0.1.
|
|
49
|
-
"@deepseek-ai/dsh-fs-local": "^0.1.
|
|
50
|
-
"@deepseek-ai/dsh-goal": "^0.1.
|
|
51
|
-
"@deepseek-ai/dsh-goal-round-driver": "^0.1.
|
|
52
|
-
"@deepseek-ai/dsh-headless": "^0.1.
|
|
53
|
-
"@deepseek-ai/dsh-home-paths": "^0.1.
|
|
54
|
-
"@deepseek-ai/dsh-hooks-claude-code": "^0.1.
|
|
55
|
-
"@deepseek-ai/dsh-hooks-codex": "^0.1.
|
|
56
|
-
"@deepseek-ai/dsh-jobs-local": "^0.1.
|
|
57
|
-
"@deepseek-ai/dsh-launch-environment": "^0.1.
|
|
58
|
-
"@deepseek-ai/dsh-mcp-client": "npm:@crazx/dsh-mcp-client@0.1.
|
|
59
|
-
"@deepseek-ai/dsh-persona": "^0.1.
|
|
60
|
-
"@deepseek-ai/dsh-plan-mode": "^0.1.
|
|
61
|
-
"@deepseek-ai/dsh-pwsh-local": "^0.1.
|
|
62
|
-
"@deepseek-ai/dsh-pwsh-sandbox": "^0.1.
|
|
63
|
-
"@deepseek-ai/dsh-schedule": "^0.1.
|
|
64
|
-
"@deepseek-ai/dsh-sdk-app": "^0.1.
|
|
65
|
-
"@deepseek-ai/dsh-sdk-minimal": "^0.1.
|
|
66
|
-
"@deepseek-ai/dsh-session-projection": "^0.1.
|
|
67
|
-
"@deepseek-ai/dsh-session-reference": "^0.1.
|
|
68
|
-
"@deepseek-ai/dsh-skill": "^0.1.
|
|
69
|
-
"@deepseek-ai/dsh-skill-filesystem": "^0.1.
|
|
70
|
-
"@deepseek-ai/dsh-terminal": "^0.1.
|
|
71
|
-
"@deepseek-ai/dsh-terminal-bash": "^0.1.
|
|
72
|
-
"@deepseek-ai/dsh-time-context": "^0.1.
|
|
73
|
-
"@deepseek-ai/dsh-tmux-context": "^0.1.
|
|
74
|
-
"@deepseek-ai/dsh-token-meter": "^0.1.
|
|
75
|
-
"@deepseek-ai/dsh-tool-ask-user": "^0.1.
|
|
76
|
-
"@deepseek-ai/dsh-tool-bash": "^0.1.
|
|
77
|
-
"@deepseek-ai/dsh-tool-bash-persistent": "^0.1.
|
|
78
|
-
"@deepseek-ai/dsh-tool-cordis": "npm:@crazx/dsh-tool-cordis@0.1.
|
|
79
|
-
"@deepseek-ai/dsh-tool-present": "^0.1.
|
|
80
|
-
"@deepseek-ai/dsh-tool-fs": "^0.1.
|
|
81
|
-
"@deepseek-ai/dsh-tool-fs-search": "^0.1.
|
|
82
|
-
"@deepseek-ai/dsh-tool-goal": "^0.1.
|
|
83
|
-
"@deepseek-ai/dsh-tool-jobs": "^0.1.
|
|
84
|
-
"@deepseek-ai/dsh-tool-pwsh": "^0.1.
|
|
85
|
-
"@deepseek-ai/dsh-tool-pwsh-persistent": "^0.1.
|
|
86
|
-
"@deepseek-ai/dsh-tool-ralph": "^0.1.
|
|
87
|
-
"@deepseek-ai/dsh-tool-skill": "^0.1.
|
|
88
|
-
"@deepseek-ai/dsh-tool-str-replace-editor": "^0.1.
|
|
89
|
-
"@deepseek-ai/dsh-tool-subagent": "^0.1.
|
|
90
|
-
"@deepseek-ai/dsh-tool-subagent-control": "^0.1.
|
|
91
|
-
"@deepseek-ai/dsh-tool-todo": "^0.1.
|
|
92
|
-
"@deepseek-ai/dsh-tool-web": "^0.1.
|
|
93
|
-
"@deepseek-ai/dsh-tool-workflow": "^0.1.
|
|
94
|
-
"@deepseek-ai/dsh-web-app": "^0.1.
|
|
95
|
-
"@deepseek-ai/dsh-webhook": "^0.1.
|
|
96
|
-
"@deepseek-ai/dsh-webhook-github": "^0.1.
|
|
97
|
-
"@deepseek-ai/dsh-workflow-
|
|
36
|
+
"@deepseek-ai/dsh-acp-app": "^0.1.6-alpha.1",
|
|
37
|
+
"@deepseek-ai/dsh-agent-instructions": "^0.1.6-alpha.1",
|
|
38
|
+
"@deepseek-ai/dsh-agent-tool-presentation": "^0.1.6-alpha.1",
|
|
39
|
+
"@deepseek-ai/dsh-app-boot": "^0.1.6-alpha.1",
|
|
40
|
+
"@deepseek-ai/dsh-base": "^0.1.6-alpha.1",
|
|
41
|
+
"@deepseek-ai/dsh-client-ui-agent-preset": "^0.1.6-alpha.1",
|
|
42
|
+
"@deepseek-ai/dsh-client-ui-cordis": "^0.1.6-alpha.1",
|
|
43
|
+
"@deepseek-ai/dsh-cmdline": "^0.1.6-alpha.1",
|
|
44
|
+
"@deepseek-ai/dsh-command-compact": "^0.1.6-alpha.1",
|
|
45
|
+
"@deepseek-ai/dsh-command-goal": "^0.1.6-alpha.1",
|
|
46
|
+
"@deepseek-ai/dsh-compaction-basic": "npm:@crazx/dsh-compaction-basic@0.1.6-alpha.1.zw.2",
|
|
47
|
+
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.6-alpha.1",
|
|
48
|
+
"@deepseek-ai/dsh-cordis-client-runner": "^0.1.6-alpha.1",
|
|
49
|
+
"@deepseek-ai/dsh-fs-local": "^0.1.6-alpha.1",
|
|
50
|
+
"@deepseek-ai/dsh-goal": "^0.1.6-alpha.1",
|
|
51
|
+
"@deepseek-ai/dsh-goal-round-driver": "^0.1.6-alpha.1",
|
|
52
|
+
"@deepseek-ai/dsh-headless": "^0.1.6-alpha.1",
|
|
53
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.6-alpha.1",
|
|
54
|
+
"@deepseek-ai/dsh-hooks-claude-code": "^0.1.6-alpha.1",
|
|
55
|
+
"@deepseek-ai/dsh-hooks-codex": "^0.1.6-alpha.1",
|
|
56
|
+
"@deepseek-ai/dsh-jobs-local": "^0.1.6-alpha.1",
|
|
57
|
+
"@deepseek-ai/dsh-launch-environment": "^0.1.6-alpha.1",
|
|
58
|
+
"@deepseek-ai/dsh-mcp-client": "npm:@crazx/dsh-mcp-client@0.1.6-alpha.1.zw.2",
|
|
59
|
+
"@deepseek-ai/dsh-persona": "^0.1.6-alpha.1",
|
|
60
|
+
"@deepseek-ai/dsh-plan-mode": "^0.1.6-alpha.1",
|
|
61
|
+
"@deepseek-ai/dsh-pwsh-local": "^0.1.6-alpha.1",
|
|
62
|
+
"@deepseek-ai/dsh-pwsh-sandbox": "^0.1.6-alpha.1",
|
|
63
|
+
"@deepseek-ai/dsh-schedule": "^0.1.6-alpha.1",
|
|
64
|
+
"@deepseek-ai/dsh-sdk-app": "^0.1.6-alpha.1",
|
|
65
|
+
"@deepseek-ai/dsh-sdk-minimal": "^0.1.6-alpha.1",
|
|
66
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.6-alpha.1",
|
|
67
|
+
"@deepseek-ai/dsh-session-reference": "^0.1.6-alpha.1",
|
|
68
|
+
"@deepseek-ai/dsh-skill": "^0.1.6-alpha.1",
|
|
69
|
+
"@deepseek-ai/dsh-skill-filesystem": "^0.1.6-alpha.1",
|
|
70
|
+
"@deepseek-ai/dsh-terminal": "^0.1.6-alpha.1",
|
|
71
|
+
"@deepseek-ai/dsh-terminal-bash": "^0.1.6-alpha.1",
|
|
72
|
+
"@deepseek-ai/dsh-time-context": "^0.1.6-alpha.1",
|
|
73
|
+
"@deepseek-ai/dsh-tmux-context": "^0.1.6-alpha.1",
|
|
74
|
+
"@deepseek-ai/dsh-token-meter": "^0.1.6-alpha.1",
|
|
75
|
+
"@deepseek-ai/dsh-tool-ask-user": "^0.1.6-alpha.1",
|
|
76
|
+
"@deepseek-ai/dsh-tool-bash": "^0.1.6-alpha.1",
|
|
77
|
+
"@deepseek-ai/dsh-tool-bash-persistent": "^0.1.6-alpha.1",
|
|
78
|
+
"@deepseek-ai/dsh-tool-cordis": "npm:@crazx/dsh-tool-cordis@0.1.6-alpha.1.zw.2",
|
|
79
|
+
"@deepseek-ai/dsh-tool-present": "^0.1.6-alpha.1",
|
|
80
|
+
"@deepseek-ai/dsh-tool-fs": "^0.1.6-alpha.1",
|
|
81
|
+
"@deepseek-ai/dsh-tool-fs-search": "^0.1.6-alpha.1",
|
|
82
|
+
"@deepseek-ai/dsh-tool-goal": "^0.1.6-alpha.1",
|
|
83
|
+
"@deepseek-ai/dsh-tool-jobs": "^0.1.6-alpha.1",
|
|
84
|
+
"@deepseek-ai/dsh-tool-pwsh": "^0.1.6-alpha.1",
|
|
85
|
+
"@deepseek-ai/dsh-tool-pwsh-persistent": "^0.1.6-alpha.1",
|
|
86
|
+
"@deepseek-ai/dsh-tool-ralph": "^0.1.6-alpha.1",
|
|
87
|
+
"@deepseek-ai/dsh-tool-skill": "^0.1.6-alpha.1",
|
|
88
|
+
"@deepseek-ai/dsh-tool-str-replace-editor": "^0.1.6-alpha.1",
|
|
89
|
+
"@deepseek-ai/dsh-tool-subagent": "^0.1.6-alpha.1",
|
|
90
|
+
"@deepseek-ai/dsh-tool-subagent-control": "^0.1.6-alpha.1",
|
|
91
|
+
"@deepseek-ai/dsh-tool-todo": "^0.1.6-alpha.1",
|
|
92
|
+
"@deepseek-ai/dsh-tool-web": "^0.1.6-alpha.1",
|
|
93
|
+
"@deepseek-ai/dsh-tool-workflow": "^0.1.6-alpha.1",
|
|
94
|
+
"@deepseek-ai/dsh-web-app": "^0.1.6-alpha.1",
|
|
95
|
+
"@deepseek-ai/dsh-webhook": "^0.1.6-alpha.1",
|
|
96
|
+
"@deepseek-ai/dsh-webhook-github": "^0.1.6-alpha.1",
|
|
97
|
+
"@deepseek-ai/dsh-workflow-ptc": "^0.1.6-alpha.1",
|
|
98
98
|
"@deepseek-ai/schemastery": "^3.18.2",
|
|
99
99
|
"commander": "^15.0.0",
|
|
100
100
|
"js-yaml": "^4.2.0",
|
|
101
|
-
"node-addon-require-builtin": "^0.1.
|
|
102
|
-
"@deepseek-ai/dsh-http-proxy": "^0.1.
|
|
101
|
+
"node-addon-require-builtin": "^0.1.6",
|
|
102
|
+
"@deepseek-ai/dsh-http-proxy": "^0.1.6-alpha.1",
|
|
103
|
+
"@deepseek-ai/dsh-mcp-resources": "^0.1.6-alpha.1"
|
|
103
104
|
},
|
|
104
105
|
"devDependencies": {
|
|
105
106
|
"@agentclientprotocol/sdk": "1.4.0",
|
|
106
|
-
"@deepseek-ai/dsh-acp": "^0.1.
|
|
107
|
-
"@deepseek-ai/dsh-agent": "^0.1.
|
|
108
|
-
"@deepseek-ai/dsh-agent-loop": "^0.1.
|
|
109
|
-
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.
|
|
110
|
-
"@deepseek-ai/dsh-attachment-local": "^0.1.
|
|
111
|
-
"@deepseek-ai/dsh-bash-local": "^0.1.
|
|
112
|
-
"@deepseek-ai/dsh-credentials-local": "^0.1.
|
|
113
|
-
"@deepseek-ai/dsh-deepseek-llm-api-extensions": "^0.1.
|
|
114
|
-
"@deepseek-ai/dsh-experimental-agent-team": "^0.1.
|
|
115
|
-
"@deepseek-ai/dsh-experimental-agent-team-profile": "^0.1.
|
|
116
|
-
"@deepseek-ai/dsh-experimental-
|
|
117
|
-
"@deepseek-ai/dsh-experimental-tool-agent-team": "^0.1.
|
|
118
|
-
"@deepseek-ai/dsh-fs-observation-policy": "^0.1.
|
|
119
|
-
"@deepseek-ai/dsh-fs-sandbox": "^0.1.
|
|
120
|
-
"@deepseek-ai/dsh-host-frontend-static": "npm:@crazx/dsh-host-frontend-static@0.1.
|
|
121
|
-
"@deepseek-ai/dsh-host-webserver": "^0.1.
|
|
122
|
-
"@deepseek-ai/dsh-llm": "^0.1.
|
|
123
|
-
"@deepseek-ai/dsh-llm-deepseek": "^0.1.
|
|
124
|
-
"@deepseek-ai/dsh-llm-mock-server": "^0.1.
|
|
125
|
-
"@deepseek-ai/dsh-llm-pi-ai": "npm:@crazx/dsh-llm-pi-ai@0.1.
|
|
126
|
-
"@deepseek-ai/dsh-llm-replay": "^0.1.
|
|
127
|
-
"@deepseek-ai/dsh-loader-smoke": "^0.1.
|
|
128
|
-
"@deepseek-ai/dsh-plugin-package-inventory-deepseek": "^0.1.
|
|
129
|
-
"@deepseek-ai/dsh-sandbox-local": "^0.1.
|
|
130
|
-
"@deepseek-ai/dsh-sandbox-policy": "^0.1.
|
|
131
|
-
"@deepseek-ai/dsh-session": "^0.1.
|
|
132
|
-
"@deepseek-ai/dsh-session-checkpoint-policy": "^0.1.
|
|
133
|
-
"@deepseek-ai/dsh-session-log-deepseek": "^0.1.
|
|
134
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.
|
|
135
|
-
"@deepseek-ai/dsh-session-query": "^0.1.
|
|
136
|
-
"@deepseek-ai/dsh-shell-env": "^0.1.
|
|
137
|
-
"@deepseek-ai/dsh-settings": "^0.1.
|
|
138
|
-
"@deepseek-ai/dsh-settings-file": "^0.1.
|
|
139
|
-
"@deepseek-ai/dsh-subagent": "^0.1.
|
|
140
|
-
"@deepseek-ai/dsh-subagent-fork-in-process": "^0.1.
|
|
141
|
-
"@deepseek-ai/dsh-subagent-spawn-in-process": "^0.1.
|
|
142
|
-
"@deepseek-ai/dsh-subprocess-local": "^0.1.
|
|
143
|
-
"@deepseek-ai/dsh-system-prompt": "^0.1.
|
|
144
|
-
"@deepseek-ai/dsh-tools": "^0.1.
|
|
145
|
-
"@deepseek-ai/dsh-user-approval": "^0.1.
|
|
107
|
+
"@deepseek-ai/dsh-acp": "^0.1.6-alpha.1",
|
|
108
|
+
"@deepseek-ai/dsh-agent": "^0.1.6-alpha.1",
|
|
109
|
+
"@deepseek-ai/dsh-agent-loop": "^0.1.6-alpha.1",
|
|
110
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.6-alpha.1",
|
|
111
|
+
"@deepseek-ai/dsh-attachment-local": "^0.1.6-alpha.1",
|
|
112
|
+
"@deepseek-ai/dsh-bash-local": "^0.1.6-alpha.1",
|
|
113
|
+
"@deepseek-ai/dsh-credentials-local": "^0.1.6-alpha.1",
|
|
114
|
+
"@deepseek-ai/dsh-deepseek-llm-api-extensions": "^0.1.6-alpha.1",
|
|
115
|
+
"@deepseek-ai/dsh-experimental-agent-team": "^0.1.6-alpha.1",
|
|
116
|
+
"@deepseek-ai/dsh-experimental-agent-team-profile": "^0.1.6-alpha.1",
|
|
117
|
+
"@deepseek-ai/dsh-experimental-ptc-runtime-python": "^0.1.6-alpha.1",
|
|
118
|
+
"@deepseek-ai/dsh-experimental-tool-agent-team": "^0.1.6-alpha.1",
|
|
119
|
+
"@deepseek-ai/dsh-fs-observation-policy": "^0.1.6-alpha.1",
|
|
120
|
+
"@deepseek-ai/dsh-fs-sandbox": "^0.1.6-alpha.1",
|
|
121
|
+
"@deepseek-ai/dsh-host-frontend-static": "npm:@crazx/dsh-host-frontend-static@0.1.6-alpha.1.zw.2",
|
|
122
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.6-alpha.1",
|
|
123
|
+
"@deepseek-ai/dsh-llm": "^0.1.6-alpha.1",
|
|
124
|
+
"@deepseek-ai/dsh-llm-deepseek": "^0.1.6-alpha.1",
|
|
125
|
+
"@deepseek-ai/dsh-llm-mock-server": "^0.1.6-alpha.1",
|
|
126
|
+
"@deepseek-ai/dsh-llm-pi-ai": "npm:@crazx/dsh-llm-pi-ai@0.1.6-alpha.1.zw.2",
|
|
127
|
+
"@deepseek-ai/dsh-llm-replay": "^0.1.6-alpha.1",
|
|
128
|
+
"@deepseek-ai/dsh-loader-smoke": "^0.1.6-alpha.1",
|
|
129
|
+
"@deepseek-ai/dsh-plugin-package-inventory-deepseek": "^0.1.6-alpha.1",
|
|
130
|
+
"@deepseek-ai/dsh-sandbox-local": "^0.1.6-alpha.1",
|
|
131
|
+
"@deepseek-ai/dsh-sandbox-policy": "^0.1.6-alpha.1",
|
|
132
|
+
"@deepseek-ai/dsh-session": "^0.1.6-alpha.1",
|
|
133
|
+
"@deepseek-ai/dsh-session-checkpoint-policy": "^0.1.6-alpha.1",
|
|
134
|
+
"@deepseek-ai/dsh-session-log-deepseek": "^0.1.6-alpha.1",
|
|
135
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.6-alpha.1",
|
|
136
|
+
"@deepseek-ai/dsh-session-query": "^0.1.6-alpha.1",
|
|
137
|
+
"@deepseek-ai/dsh-shell-env": "^0.1.6-alpha.1",
|
|
138
|
+
"@deepseek-ai/dsh-settings": "^0.1.6-alpha.1",
|
|
139
|
+
"@deepseek-ai/dsh-settings-file": "^0.1.6-alpha.1",
|
|
140
|
+
"@deepseek-ai/dsh-subagent": "^0.1.6-alpha.1",
|
|
141
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": "^0.1.6-alpha.1",
|
|
142
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": "^0.1.6-alpha.1",
|
|
143
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.6-alpha.1",
|
|
144
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.6-alpha.1",
|
|
145
|
+
"@deepseek-ai/dsh-tools": "^0.1.6-alpha.1",
|
|
146
|
+
"@deepseek-ai/dsh-user-approval": "^0.1.6-alpha.1",
|
|
146
147
|
"@types/js-yaml": "^4.0.9",
|
|
147
148
|
"@types/ws": "8.18.1",
|
|
148
149
|
"execa": "^10.0.0",
|