@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 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: 2e74ef68cf0b8487083a2e2af0f5175c78ec5212
6
- README.zh.md: 553f28f3af78b18658701449678de80b086dbb15
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 errors, and boot failures exit nonzero.
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-BP_C0vpU.js");
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-Ddi42qoW.js");
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-lFgMwK8i.js");
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-Dk-7KqJc.js";
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-Dk-7KqJc.js";
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
- await healProfilesModuleFallback({
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 composed = await composeProfile(options.profile, options.patchFiles, options.fromDefaultProfile);
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,
@@ -0,0 +1,2 @@
1
+ import { s as runProfile } from "./profile-boot-CuwbWsnH.js";
2
+ export { runProfile };
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.5-rc.2.zw.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.5-rc.2",
37
- "@deepseek-ai/dsh-agent-instructions": "^0.1.5-rc.2",
38
- "@deepseek-ai/dsh-agent-tool-presentation": "^0.1.5-rc.2",
39
- "@deepseek-ai/dsh-app-boot": "^0.1.5-rc.2",
40
- "@deepseek-ai/dsh-base": "^0.1.5-rc.2",
41
- "@deepseek-ai/dsh-client-ui-agent-preset": "^0.1.5-rc.2",
42
- "@deepseek-ai/dsh-client-ui-cordis": "^0.1.5-rc.2",
43
- "@deepseek-ai/dsh-cmdline": "^0.1.5-rc.2",
44
- "@deepseek-ai/dsh-command-compact": "^0.1.5-rc.2",
45
- "@deepseek-ai/dsh-command-goal": "^0.1.5-rc.2",
46
- "@deepseek-ai/dsh-compaction-basic": "npm:@crazx/dsh-compaction-basic@0.1.5-rc.2.zw.1",
47
- "@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.5-rc.2",
48
- "@deepseek-ai/dsh-cordis-client-runner": "^0.1.5-rc.2",
49
- "@deepseek-ai/dsh-fs-local": "^0.1.5-rc.2",
50
- "@deepseek-ai/dsh-goal": "^0.1.5-rc.2",
51
- "@deepseek-ai/dsh-goal-round-driver": "^0.1.5-rc.2",
52
- "@deepseek-ai/dsh-headless": "^0.1.5-rc.2",
53
- "@deepseek-ai/dsh-home-paths": "^0.1.5-rc.2",
54
- "@deepseek-ai/dsh-hooks-claude-code": "^0.1.5-rc.2",
55
- "@deepseek-ai/dsh-hooks-codex": "^0.1.5-rc.2",
56
- "@deepseek-ai/dsh-jobs-local": "^0.1.5-rc.2",
57
- "@deepseek-ai/dsh-launch-environment": "^0.1.5-rc.2",
58
- "@deepseek-ai/dsh-mcp-client": "npm:@crazx/dsh-mcp-client@0.1.5-rc.2.zw.1",
59
- "@deepseek-ai/dsh-persona": "^0.1.5-rc.2",
60
- "@deepseek-ai/dsh-plan-mode": "^0.1.5-rc.2",
61
- "@deepseek-ai/dsh-pwsh-local": "^0.1.5-rc.2",
62
- "@deepseek-ai/dsh-pwsh-sandbox": "^0.1.5-rc.2",
63
- "@deepseek-ai/dsh-schedule": "^0.1.5-rc.2",
64
- "@deepseek-ai/dsh-sdk-app": "^0.1.5-rc.2",
65
- "@deepseek-ai/dsh-sdk-minimal": "^0.1.5-rc.2",
66
- "@deepseek-ai/dsh-session-projection": "^0.1.5-rc.2",
67
- "@deepseek-ai/dsh-session-reference": "^0.1.5-rc.2",
68
- "@deepseek-ai/dsh-skill": "^0.1.5-rc.2",
69
- "@deepseek-ai/dsh-skill-filesystem": "^0.1.5-rc.2",
70
- "@deepseek-ai/dsh-terminal": "^0.1.5-rc.2",
71
- "@deepseek-ai/dsh-terminal-bash": "^0.1.5-rc.2",
72
- "@deepseek-ai/dsh-time-context": "^0.1.5-rc.2",
73
- "@deepseek-ai/dsh-tmux-context": "^0.1.5-rc.2",
74
- "@deepseek-ai/dsh-token-meter": "^0.1.5-rc.2",
75
- "@deepseek-ai/dsh-tool-ask-user": "^0.1.5-rc.2",
76
- "@deepseek-ai/dsh-tool-bash": "^0.1.5-rc.2",
77
- "@deepseek-ai/dsh-tool-bash-persistent": "^0.1.5-rc.2",
78
- "@deepseek-ai/dsh-tool-cordis": "npm:@crazx/dsh-tool-cordis@0.1.5-rc.2.zw.1",
79
- "@deepseek-ai/dsh-tool-present": "^0.1.5-rc.2",
80
- "@deepseek-ai/dsh-tool-fs": "^0.1.5-rc.2",
81
- "@deepseek-ai/dsh-tool-fs-search": "^0.1.5-rc.2",
82
- "@deepseek-ai/dsh-tool-goal": "^0.1.5-rc.2",
83
- "@deepseek-ai/dsh-tool-jobs": "^0.1.5-rc.2",
84
- "@deepseek-ai/dsh-tool-pwsh": "^0.1.5-rc.2",
85
- "@deepseek-ai/dsh-tool-pwsh-persistent": "^0.1.5-rc.2",
86
- "@deepseek-ai/dsh-tool-ralph": "^0.1.5-rc.2",
87
- "@deepseek-ai/dsh-tool-skill": "^0.1.5-rc.2",
88
- "@deepseek-ai/dsh-tool-str-replace-editor": "^0.1.5-rc.2",
89
- "@deepseek-ai/dsh-tool-subagent": "^0.1.5-rc.2",
90
- "@deepseek-ai/dsh-tool-subagent-control": "^0.1.5-rc.2",
91
- "@deepseek-ai/dsh-tool-todo": "^0.1.5-rc.2",
92
- "@deepseek-ai/dsh-tool-web": "^0.1.5-rc.2",
93
- "@deepseek-ai/dsh-tool-workflow": "^0.1.5-rc.2",
94
- "@deepseek-ai/dsh-web-app": "^0.1.5-rc.2",
95
- "@deepseek-ai/dsh-webhook": "^0.1.5-rc.2",
96
- "@deepseek-ai/dsh-webhook-github": "^0.1.5-rc.2",
97
- "@deepseek-ai/dsh-workflow-worker-thread": "^0.1.5-rc.2",
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.4",
102
- "@deepseek-ai/dsh-http-proxy": "^0.1.5-rc.2"
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.5-rc.2",
107
- "@deepseek-ai/dsh-agent": "^0.1.5-rc.2",
108
- "@deepseek-ai/dsh-agent-loop": "^0.1.5-rc.2",
109
- "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.5-rc.2",
110
- "@deepseek-ai/dsh-attachment-local": "^0.1.5-rc.2",
111
- "@deepseek-ai/dsh-bash-local": "^0.1.5-rc.2",
112
- "@deepseek-ai/dsh-credentials-local": "^0.1.5-rc.2",
113
- "@deepseek-ai/dsh-deepseek-llm-api-extensions": "^0.1.5-rc.2",
114
- "@deepseek-ai/dsh-experimental-agent-team": "^0.1.5-rc.2",
115
- "@deepseek-ai/dsh-experimental-agent-team-profile": "^0.1.5-rc.2",
116
- "@deepseek-ai/dsh-experimental-code-runtime-python": "^0.1.5-rc.2",
117
- "@deepseek-ai/dsh-experimental-tool-agent-team": "^0.1.5-rc.2",
118
- "@deepseek-ai/dsh-fs-observation-policy": "^0.1.5-rc.2",
119
- "@deepseek-ai/dsh-fs-sandbox": "^0.1.5-rc.2",
120
- "@deepseek-ai/dsh-host-frontend-static": "npm:@crazx/dsh-host-frontend-static@0.1.5-rc.2.zw.1",
121
- "@deepseek-ai/dsh-host-webserver": "^0.1.5-rc.2",
122
- "@deepseek-ai/dsh-llm": "^0.1.5-rc.2",
123
- "@deepseek-ai/dsh-llm-deepseek": "^0.1.5-rc.2",
124
- "@deepseek-ai/dsh-llm-mock-server": "^0.1.5-rc.2",
125
- "@deepseek-ai/dsh-llm-pi-ai": "npm:@crazx/dsh-llm-pi-ai@0.1.5-rc.2.zw.1",
126
- "@deepseek-ai/dsh-llm-replay": "^0.1.5-rc.2",
127
- "@deepseek-ai/dsh-loader-smoke": "^0.1.5-rc.2",
128
- "@deepseek-ai/dsh-plugin-package-inventory-deepseek": "^0.1.5-rc.2",
129
- "@deepseek-ai/dsh-sandbox-local": "^0.1.5-rc.2",
130
- "@deepseek-ai/dsh-sandbox-policy": "^0.1.5-rc.2",
131
- "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
132
- "@deepseek-ai/dsh-session-checkpoint-policy": "^0.1.5-rc.2",
133
- "@deepseek-ai/dsh-session-log-deepseek": "^0.1.5-rc.2",
134
- "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.5-rc.2",
135
- "@deepseek-ai/dsh-session-query": "^0.1.5-rc.2",
136
- "@deepseek-ai/dsh-shell-env": "^0.1.5-rc.2",
137
- "@deepseek-ai/dsh-settings": "^0.1.5-rc.2",
138
- "@deepseek-ai/dsh-settings-file": "^0.1.5-rc.2",
139
- "@deepseek-ai/dsh-subagent": "^0.1.5-rc.2",
140
- "@deepseek-ai/dsh-subagent-fork-in-process": "^0.1.5-rc.2",
141
- "@deepseek-ai/dsh-subagent-spawn-in-process": "^0.1.5-rc.2",
142
- "@deepseek-ai/dsh-subprocess-local": "^0.1.5-rc.2",
143
- "@deepseek-ai/dsh-system-prompt": "^0.1.5-rc.2",
144
- "@deepseek-ai/dsh-tools": "^0.1.5-rc.2",
145
- "@deepseek-ai/dsh-user-approval": "^0.1.5-rc.2",
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",
@@ -1,2 +0,0 @@
1
- import { s as runProfile } from "./profile-boot-Dk-7KqJc.js";
2
- export { runProfile };