@deepseek-ai/dsh 0.1.5-rc.2 → 0.1.6-alpha.1
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 +10 -8
- 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 +108 -107
- 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
|
|
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
|
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|---|---|
|
|
11
11
|
| `dsh --profile <name>` | 启动位于 `$DSH_HOME/profiles/<name>` 的指定 profile。 |
|
|
12
12
|
| `dsh --profile <name> --from-default-profile <template>` | 从随附模板创建新的自定义 profile,然后启动它。 |
|
|
13
|
-
| `dsh --profile acp` | 通过 ACP stdio
|
|
13
|
+
| `dsh --profile acp` | 通过 ACP stdio 为自动化客户端提供服务,直至断开连接。 |
|
|
14
14
|
| `dsh --profile headless "job"` | 运行一个全新的持久化会话,打印最终答案并退出。 |
|
|
15
|
-
| `dsh --profile sdk` | 通过 JSON-RPC stdio 为 SDK
|
|
16
|
-
| `dsh --profile sdk-minimal` | 以独立极简 agent
|
|
15
|
+
| `dsh --profile sdk` | 通过 JSON-RPC stdio 为 SDK 客户端提供服务,直至关闭或断开连接。 |
|
|
16
|
+
| `dsh --profile sdk-minimal` | 以独立极简 agent(智能体)配置树为 SDK 客户端提供服务。 |
|
|
17
17
|
| `dsh web` | `--profile web` 的别名。 |
|
|
18
18
|
| `dsh plugin --profile <name> <pnpm args>` | 通过在 profile 目录中转发给 pnpm 来管理该 profile 的插件。 |
|
|
19
19
|
|
|
20
|
-
运行命令时所在的目录将作为默认 workspace 根目录。`web`、`headless`、`sdk`、`sdk-minimal` 和 `acp` profile 在首次使用时会从随附模板自动初始化。使用 `--from-default-profile` 可以基于这些模板之一,在尚未使用的非内置名称处创建其他 profile;通过 `dsh plugin` 则可以初始化一个以 base 为基础的 profile。`desktop` 名称保留给 Electron 持有的 profile,因此 CLI
|
|
20
|
+
运行命令时所在的目录将作为默认 workspace 根目录。`web`、`headless`、`sdk`、`sdk-minimal` 和 `acp` profile 在首次使用时会从随附模板自动初始化。使用 `--from-default-profile` 可以基于这些模板之一,在尚未使用的非内置名称处创建其他 profile;通过 `dsh plugin` 则可以初始化一个以 base 为基础的 profile。`desktop` 名称保留给 Electron 持有的 profile,因此 CLI(命令行界面)会拒绝针对它的启动、配置 dump 和插件管理请求。
|
|
21
21
|
|
|
22
22
|
## 应用参数
|
|
23
23
|
|
|
@@ -45,12 +45,14 @@ profile 目录包含一个 `package.json`,其中记录树外插件依赖,以
|
|
|
45
45
|
|
|
46
46
|
使用 `--dump-default-config` 和 `--dump-config` 可在不启动的情况下检查组合后的配置树。
|
|
47
47
|
|
|
48
|
-
层的确切优先级、flag、关闭行为、部署默认值和源码执行方式,以 [CLI
|
|
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
|
|
|
52
|
-
`config/examples/` 交付 GitHub 评审 webhook、会话内 Schedule、记忆 MCP
|
|
52
|
+
`config/examples/` 交付 GitHub 评审 webhook、会话内 Schedule、记忆 MCP 服务器与运行时 Cordis 工具的可选覆盖层。它们绝不属于默认 profile;设置与安全说明由[用户指南](../../docs/user/guide/index.zh.md)和[开发实战指南](../../docs/user/develop/practice/index.zh.md)负责。
|
|
53
53
|
|
|
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
|
@@ -142,7 +142,7 @@ async function runCli() {
|
|
|
142
142
|
const invocation = parseDshArgs(process.argv.slice(2), readVersion());
|
|
143
143
|
switch (invocation.mode) {
|
|
144
144
|
case "profile": {
|
|
145
|
-
const { runProfile } = await import("./profile-boot-
|
|
145
|
+
const { runProfile } = await import("./profile-boot-DB8eVKBx.js");
|
|
146
146
|
await runProfile({
|
|
147
147
|
environment: loadLayeredEnv("dsh"),
|
|
148
148
|
profile: invocation.profile,
|
|
@@ -153,12 +153,12 @@ async function runCli() {
|
|
|
153
153
|
break;
|
|
154
154
|
}
|
|
155
155
|
case "plugin": {
|
|
156
|
-
const { runPlugin } = await import("./plugin-
|
|
156
|
+
const { runPlugin } = await import("./plugin-Bk_PbPwP.js");
|
|
157
157
|
process.exit(runPlugin(invocation.profile, invocation.args));
|
|
158
158
|
break;
|
|
159
159
|
}
|
|
160
160
|
case "dump-config": {
|
|
161
|
-
const { runDumpConfig } = await import("./dump-config-
|
|
161
|
+
const { runDumpConfig } = await import("./dump-config-CpQgpJa2.js");
|
|
162
162
|
runDumpConfig(invocation.profile, invocation.defaultOnly, invocation.patches, invocation.fromDefaultProfile);
|
|
163
163
|
break;
|
|
164
164
|
}
|
|
@@ -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": "@deepseek-ai/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",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -30,76 +30,77 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"commander": "^15.0.0",
|
|
32
32
|
"js-yaml": "^4.2.0",
|
|
33
|
-
"node-addon-require-builtin": "^0.1.
|
|
33
|
+
"node-addon-require-builtin": "^0.1.6",
|
|
34
34
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
35
35
|
"@deepseek-ai/cordis-plugin-hmr": "^1.0.17",
|
|
36
36
|
"@deepseek-ai/cordis-plugin-include": "^1.0.7",
|
|
37
|
-
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
38
37
|
"@deepseek-ai/cordis-plugin-timer": "^1.1.4",
|
|
39
|
-
"@deepseek-ai/dsh-acp-app": "^0.1.
|
|
40
|
-
"@deepseek-ai/
|
|
41
|
-
"@deepseek-ai/dsh-agent-
|
|
42
|
-
"@deepseek-ai/dsh-
|
|
43
|
-
"@deepseek-ai/dsh-
|
|
44
|
-
"@deepseek-ai/dsh-
|
|
45
|
-
"@deepseek-ai/dsh-client-ui-
|
|
46
|
-
"@deepseek-ai/dsh-
|
|
47
|
-
"@deepseek-ai/dsh-
|
|
48
|
-
"@deepseek-ai/dsh-
|
|
49
|
-
"@deepseek-ai/dsh-compaction-
|
|
50
|
-
"@deepseek-ai/dsh-
|
|
51
|
-
"@deepseek-ai/dsh-
|
|
52
|
-
"@deepseek-ai/dsh-
|
|
53
|
-
"@deepseek-ai/dsh-
|
|
54
|
-
"@deepseek-ai/dsh-
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-
|
|
57
|
-
"@deepseek-ai/dsh-
|
|
58
|
-
"@deepseek-ai/dsh-
|
|
59
|
-
"@deepseek-ai/dsh-
|
|
60
|
-
"@deepseek-ai/dsh-
|
|
61
|
-
"@deepseek-ai/dsh-
|
|
62
|
-
"@deepseek-ai/dsh-
|
|
63
|
-
"@deepseek-ai/dsh-
|
|
64
|
-
"@deepseek-ai/dsh-
|
|
65
|
-
"@deepseek-ai/dsh-
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-
|
|
68
|
-
"@deepseek-ai/dsh-
|
|
69
|
-
"@deepseek-ai/dsh-
|
|
70
|
-
"@deepseek-ai/dsh-
|
|
71
|
-
"@deepseek-ai/dsh-
|
|
72
|
-
"@deepseek-ai/dsh-
|
|
73
|
-
"@deepseek-ai/dsh-
|
|
74
|
-
"@deepseek-ai/dsh-
|
|
75
|
-
"@deepseek-ai/dsh-
|
|
76
|
-
"@deepseek-ai/dsh-
|
|
77
|
-
"@deepseek-ai/dsh-tool-
|
|
78
|
-
"@deepseek-ai/dsh-tool-
|
|
79
|
-
"@deepseek-ai/dsh-tool-
|
|
80
|
-
"@deepseek-ai/dsh-tool-
|
|
81
|
-
"@deepseek-ai/dsh-tool-fs
|
|
82
|
-
"@deepseek-ai/dsh-tool-
|
|
83
|
-
"@deepseek-ai/dsh-
|
|
84
|
-
"@deepseek-ai/dsh-
|
|
85
|
-
"@deepseek-ai/dsh-tool-
|
|
86
|
-
"@deepseek-ai/dsh-
|
|
87
|
-
"@deepseek-ai/dsh-tool-
|
|
88
|
-
"@deepseek-ai/dsh-tool-
|
|
89
|
-
"@deepseek-ai/dsh-tool-
|
|
90
|
-
"@deepseek-ai/dsh-tool-str-replace-editor": "^0.1.
|
|
91
|
-
"@deepseek-ai/dsh-tool-subagent": "^0.1.
|
|
92
|
-
"@deepseek-ai/dsh-tool-todo": "^0.1.
|
|
93
|
-
"@deepseek-ai/dsh-tool-
|
|
94
|
-
"@deepseek-ai/dsh-tool-
|
|
95
|
-
"@deepseek-ai/dsh-web
|
|
96
|
-
"@deepseek-ai/dsh-
|
|
97
|
-
"@deepseek-ai/dsh-
|
|
98
|
-
"@deepseek-ai/dsh-webhook
|
|
99
|
-
"@deepseek-ai/dsh-
|
|
100
|
-
"@deepseek-ai/dsh-
|
|
101
|
-
"@deepseek-ai/
|
|
102
|
-
"@deepseek-ai/
|
|
38
|
+
"@deepseek-ai/dsh-acp-app": "^0.1.6-alpha.1",
|
|
39
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
40
|
+
"@deepseek-ai/dsh-agent-instructions": "^0.1.6-alpha.1",
|
|
41
|
+
"@deepseek-ai/dsh-agent-tool-presentation": "^0.1.6-alpha.1",
|
|
42
|
+
"@deepseek-ai/dsh-app-boot": "^0.1.6-alpha.1",
|
|
43
|
+
"@deepseek-ai/dsh-base": "^0.1.6-alpha.1",
|
|
44
|
+
"@deepseek-ai/dsh-client-ui-agent-preset": "^0.1.6-alpha.1",
|
|
45
|
+
"@deepseek-ai/dsh-client-ui-cordis": "^0.1.6-alpha.1",
|
|
46
|
+
"@deepseek-ai/dsh-cmdline": "^0.1.6-alpha.1",
|
|
47
|
+
"@deepseek-ai/dsh-command-compact": "^0.1.6-alpha.1",
|
|
48
|
+
"@deepseek-ai/dsh-compaction-basic": "^0.1.6-alpha.1",
|
|
49
|
+
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.6-alpha.1",
|
|
50
|
+
"@deepseek-ai/dsh-cordis-client-runner": "^0.1.6-alpha.1",
|
|
51
|
+
"@deepseek-ai/dsh-fs-local": "^0.1.6-alpha.1",
|
|
52
|
+
"@deepseek-ai/dsh-goal": "^0.1.6-alpha.1",
|
|
53
|
+
"@deepseek-ai/dsh-goal-round-driver": "^0.1.6-alpha.1",
|
|
54
|
+
"@deepseek-ai/dsh-headless": "^0.1.6-alpha.1",
|
|
55
|
+
"@deepseek-ai/dsh-home-paths": "^0.1.6-alpha.1",
|
|
56
|
+
"@deepseek-ai/dsh-hooks-claude-code": "^0.1.6-alpha.1",
|
|
57
|
+
"@deepseek-ai/dsh-command-goal": "^0.1.6-alpha.1",
|
|
58
|
+
"@deepseek-ai/dsh-hooks-codex": "^0.1.6-alpha.1",
|
|
59
|
+
"@deepseek-ai/dsh-jobs-local": "^0.1.6-alpha.1",
|
|
60
|
+
"@deepseek-ai/dsh-launch-environment": "^0.1.6-alpha.1",
|
|
61
|
+
"@deepseek-ai/dsh-mcp-client": "^0.1.6-alpha.1",
|
|
62
|
+
"@deepseek-ai/dsh-plan-mode": "^0.1.6-alpha.1",
|
|
63
|
+
"@deepseek-ai/dsh-pwsh-local": "^0.1.6-alpha.1",
|
|
64
|
+
"@deepseek-ai/dsh-pwsh-sandbox": "^0.1.6-alpha.1",
|
|
65
|
+
"@deepseek-ai/dsh-schedule": "^0.1.6-alpha.1",
|
|
66
|
+
"@deepseek-ai/dsh-persona": "^0.1.6-alpha.1",
|
|
67
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.6-alpha.1",
|
|
68
|
+
"@deepseek-ai/dsh-session-reference": "^0.1.6-alpha.1",
|
|
69
|
+
"@deepseek-ai/dsh-skill": "^0.1.6-alpha.1",
|
|
70
|
+
"@deepseek-ai/dsh-skill-filesystem": "^0.1.6-alpha.1",
|
|
71
|
+
"@deepseek-ai/dsh-terminal": "^0.1.6-alpha.1",
|
|
72
|
+
"@deepseek-ai/dsh-terminal-bash": "^0.1.6-alpha.1",
|
|
73
|
+
"@deepseek-ai/dsh-time-context": "^0.1.6-alpha.1",
|
|
74
|
+
"@deepseek-ai/dsh-sdk-app": "^0.1.6-alpha.1",
|
|
75
|
+
"@deepseek-ai/dsh-token-meter": "^0.1.6-alpha.1",
|
|
76
|
+
"@deepseek-ai/dsh-tool-ask-user": "^0.1.6-alpha.1",
|
|
77
|
+
"@deepseek-ai/dsh-tool-bash": "^0.1.6-alpha.1",
|
|
78
|
+
"@deepseek-ai/dsh-tool-cordis": "^0.1.6-alpha.1",
|
|
79
|
+
"@deepseek-ai/dsh-tool-bash-persistent": "^0.1.6-alpha.1",
|
|
80
|
+
"@deepseek-ai/dsh-tool-fs": "^0.1.6-alpha.1",
|
|
81
|
+
"@deepseek-ai/dsh-tool-present": "^0.1.6-alpha.1",
|
|
82
|
+
"@deepseek-ai/dsh-tmux-context": "^0.1.6-alpha.1",
|
|
83
|
+
"@deepseek-ai/dsh-tool-goal": "^0.1.6-alpha.1",
|
|
84
|
+
"@deepseek-ai/dsh-tool-fs-search": "^0.1.6-alpha.1",
|
|
85
|
+
"@deepseek-ai/dsh-sdk-minimal": "^0.1.6-alpha.1",
|
|
86
|
+
"@deepseek-ai/dsh-tool-pwsh": "^0.1.6-alpha.1",
|
|
87
|
+
"@deepseek-ai/dsh-tool-pwsh-persistent": "^0.1.6-alpha.1",
|
|
88
|
+
"@deepseek-ai/dsh-tool-ralph": "^0.1.6-alpha.1",
|
|
89
|
+
"@deepseek-ai/dsh-tool-str-replace-editor": "^0.1.6-alpha.1",
|
|
90
|
+
"@deepseek-ai/dsh-tool-subagent": "^0.1.6-alpha.1",
|
|
91
|
+
"@deepseek-ai/dsh-tool-todo": "^0.1.6-alpha.1",
|
|
92
|
+
"@deepseek-ai/dsh-tool-skill": "^0.1.6-alpha.1",
|
|
93
|
+
"@deepseek-ai/dsh-tool-subagent-control": "^0.1.6-alpha.1",
|
|
94
|
+
"@deepseek-ai/dsh-tool-web": "^0.1.6-alpha.1",
|
|
95
|
+
"@deepseek-ai/dsh-tool-jobs": "^0.1.6-alpha.1",
|
|
96
|
+
"@deepseek-ai/dsh-web-app": "^0.1.6-alpha.1",
|
|
97
|
+
"@deepseek-ai/dsh-webhook": "^0.1.6-alpha.1",
|
|
98
|
+
"@deepseek-ai/dsh-webhook-github": "^0.1.6-alpha.1",
|
|
99
|
+
"@deepseek-ai/dsh-workflow-ptc": "^0.1.6-alpha.1",
|
|
100
|
+
"@deepseek-ai/schemastery": "^3.18.2",
|
|
101
|
+
"@deepseek-ai/dsh-http-proxy": "^0.1.6-alpha.1",
|
|
102
|
+
"@deepseek-ai/dsh-mcp-resources": "^0.1.6-alpha.1",
|
|
103
|
+
"@deepseek-ai/dsh-tool-workflow": "^0.1.6-alpha.1"
|
|
103
104
|
},
|
|
104
105
|
"devDependencies": {
|
|
105
106
|
"@agentclientprotocol/sdk": "1.4.0",
|
|
@@ -107,45 +108,45 @@
|
|
|
107
108
|
"@types/ws": "8.18.1",
|
|
108
109
|
"execa": "^10.0.0",
|
|
109
110
|
"ws": "8.21.0",
|
|
110
|
-
"@deepseek-ai/dsh-acp": "^0.1.
|
|
111
|
-
"@deepseek-ai/dsh-agent": "^0.1.
|
|
112
|
-
"@deepseek-ai/dsh-agent-loop": "^0.1.
|
|
113
|
-
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.
|
|
114
|
-
"@deepseek-ai/dsh-
|
|
115
|
-
"@deepseek-ai/dsh-
|
|
116
|
-
"@deepseek-ai/dsh-
|
|
117
|
-
"@deepseek-ai/dsh-
|
|
118
|
-
"@deepseek-ai/dsh-experimental-agent-team": "^0.1.
|
|
119
|
-
"@deepseek-ai/dsh-experimental-
|
|
120
|
-
"@deepseek-ai/dsh-experimental-tool-agent-team": "^0.1.
|
|
121
|
-
"@deepseek-ai/dsh-fs-observation-policy": "^0.1.
|
|
122
|
-
"@deepseek-ai/dsh-fs-sandbox": "^0.1.
|
|
123
|
-
"@deepseek-ai/dsh-host-
|
|
124
|
-
"@deepseek-ai/dsh-
|
|
125
|
-
"@deepseek-ai/dsh-
|
|
126
|
-
"@deepseek-ai/dsh-llm-deepseek": "^0.1.
|
|
127
|
-
"@deepseek-ai/dsh-
|
|
128
|
-
"@deepseek-ai/dsh-llm-pi-ai": "^0.1.
|
|
129
|
-
"@deepseek-ai/dsh-llm-replay": "^0.1.
|
|
130
|
-
"@deepseek-ai/dsh-
|
|
131
|
-
"@deepseek-ai/dsh-
|
|
132
|
-
"@deepseek-ai/dsh-sandbox-
|
|
133
|
-
"@deepseek-ai/dsh-
|
|
134
|
-
"@deepseek-ai/dsh-
|
|
135
|
-
"@deepseek-ai/dsh-session-checkpoint-policy": "^0.1.
|
|
136
|
-
"@deepseek-ai/dsh-session-log-deepseek": "^0.1.
|
|
137
|
-
"@deepseek-ai/dsh-session-
|
|
138
|
-
"@deepseek-ai/dsh-
|
|
139
|
-
"@deepseek-ai/dsh-
|
|
140
|
-
"@deepseek-ai/dsh-settings": "^0.1.
|
|
141
|
-
"@deepseek-ai/dsh-
|
|
142
|
-
"@deepseek-ai/dsh-subagent": "^0.1.
|
|
143
|
-
"@deepseek-ai/dsh-
|
|
144
|
-
"@deepseek-ai/dsh-
|
|
145
|
-
"@deepseek-ai/dsh-subprocess-local": "^0.1.
|
|
146
|
-
"@deepseek-ai/dsh-
|
|
147
|
-
"@deepseek-ai/dsh-
|
|
148
|
-
"@deepseek-ai/dsh-
|
|
149
|
-
"@deepseek-ai/dsh-
|
|
111
|
+
"@deepseek-ai/dsh-acp": "^0.1.6-alpha.1",
|
|
112
|
+
"@deepseek-ai/dsh-agent": "^0.1.6-alpha.1",
|
|
113
|
+
"@deepseek-ai/dsh-agent-loop": "^0.1.6-alpha.1",
|
|
114
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.6-alpha.1",
|
|
115
|
+
"@deepseek-ai/dsh-bash-local": "^0.1.6-alpha.1",
|
|
116
|
+
"@deepseek-ai/dsh-credentials-local": "^0.1.6-alpha.1",
|
|
117
|
+
"@deepseek-ai/dsh-deepseek-llm-api-extensions": "^0.1.6-alpha.1",
|
|
118
|
+
"@deepseek-ai/dsh-experimental-agent-team": "^0.1.6-alpha.1",
|
|
119
|
+
"@deepseek-ai/dsh-experimental-agent-team-profile": "^0.1.6-alpha.1",
|
|
120
|
+
"@deepseek-ai/dsh-experimental-ptc-runtime-python": "^0.1.6-alpha.1",
|
|
121
|
+
"@deepseek-ai/dsh-experimental-tool-agent-team": "^0.1.6-alpha.1",
|
|
122
|
+
"@deepseek-ai/dsh-fs-observation-policy": "^0.1.6-alpha.1",
|
|
123
|
+
"@deepseek-ai/dsh-fs-sandbox": "^0.1.6-alpha.1",
|
|
124
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.6-alpha.1",
|
|
125
|
+
"@deepseek-ai/dsh-llm": "^0.1.6-alpha.1",
|
|
126
|
+
"@deepseek-ai/dsh-host-frontend-static": "^0.1.6-alpha.1",
|
|
127
|
+
"@deepseek-ai/dsh-llm-deepseek": "^0.1.6-alpha.1",
|
|
128
|
+
"@deepseek-ai/dsh-attachment-local": "^0.1.6-alpha.1",
|
|
129
|
+
"@deepseek-ai/dsh-llm-pi-ai": "^0.1.6-alpha.1",
|
|
130
|
+
"@deepseek-ai/dsh-llm-replay": "^0.1.6-alpha.1",
|
|
131
|
+
"@deepseek-ai/dsh-plugin-package-inventory-deepseek": "^0.1.6-alpha.1",
|
|
132
|
+
"@deepseek-ai/dsh-sandbox-local": "^0.1.6-alpha.1",
|
|
133
|
+
"@deepseek-ai/dsh-sandbox-policy": "^0.1.6-alpha.1",
|
|
134
|
+
"@deepseek-ai/dsh-session": "^0.1.6-alpha.1",
|
|
135
|
+
"@deepseek-ai/dsh-loader-smoke": "^0.1.6-alpha.1",
|
|
136
|
+
"@deepseek-ai/dsh-session-checkpoint-policy": "^0.1.6-alpha.1",
|
|
137
|
+
"@deepseek-ai/dsh-session-log-deepseek": "^0.1.6-alpha.1",
|
|
138
|
+
"@deepseek-ai/dsh-session-query": "^0.1.6-alpha.1",
|
|
139
|
+
"@deepseek-ai/dsh-shell-env": "^0.1.6-alpha.1",
|
|
140
|
+
"@deepseek-ai/dsh-settings": "^0.1.6-alpha.1",
|
|
141
|
+
"@deepseek-ai/dsh-settings-file": "^0.1.6-alpha.1",
|
|
142
|
+
"@deepseek-ai/dsh-subagent": "^0.1.6-alpha.1",
|
|
143
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": "^0.1.6-alpha.1",
|
|
144
|
+
"@deepseek-ai/dsh-llm-mock-server": "^0.1.6-alpha.1",
|
|
145
|
+
"@deepseek-ai/dsh-tools": "^0.1.6-alpha.1",
|
|
146
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.6-alpha.1",
|
|
147
|
+
"@deepseek-ai/dsh-user-approval": "^0.1.6-alpha.1",
|
|
148
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.6-alpha.1",
|
|
149
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.6-alpha.1",
|
|
150
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": "^0.1.6-alpha.1"
|
|
150
151
|
}
|
|
151
152
|
}
|