@xiaoso/dsh-tool-plus 0.1.10-beta.3 → 0.1.11
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.en.md
CHANGED
|
@@ -30,19 +30,28 @@ Settings panel (Bash tab):
|
|
|
30
30
|
|
|
31
31
|
## Installation
|
|
32
32
|
|
|
33
|
-
- **Agent presets**: two companion templates — Standard enhanced and PTC (Code Mode)
|
|
34
|
-
|
|
35
33
|
### Install from npm (recommended)
|
|
36
34
|
|
|
35
|
+
#### Web
|
|
36
|
+
|
|
37
37
|
```sh
|
|
38
|
-
dsh plugin --profile web add --allow-build=@xiaoso/dsh-tool-plus @xiaoso/dsh-tool-plus
|
|
38
|
+
dsh plugin --profile web add --allow-build=@xiaoso/dsh-tool-plus --allow-build=koffi @xiaoso/dsh-tool-plus
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
`--allow-build` lets this package
|
|
41
|
+
`--allow-build` lets install scripts run (once for this package, once for `koffi`); it requires pnpm ≥ 10.4, and on pnpm 11+ omitting it fails the install with `ERR_PNPM_IGNORED_BUILDS`. If your pnpm is too old for the flag, allow the scripts first and re-run:
|
|
42
42
|
|
|
43
|
-
- Append to `~/.dsh/profiles/web/pnpm-workspace.yaml`: `allowBuilds
|
|
43
|
+
- Append to `~/.dsh/profiles/web/pnpm-workspace.yaml`: `allowBuilds:`, ` '@xiaoso/dsh-tool-plus': true` and ` koffi: true`
|
|
44
44
|
- Or run `cd ~/.dsh/profiles/web && pnpm approve-builds --all` (pnpm ≥ 10.32)
|
|
45
45
|
|
|
46
|
+
#### Desktop
|
|
47
|
+
|
|
48
|
+
The profile is owned by the desktop app, so `dsh plugin --profile desktop` is refused; install inside the profile directory instead:
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
cd ~/.dsh/profiles/desktop
|
|
52
|
+
pnpm add --allow-build=@xiaoso/dsh-tool-plus --allow-build=koffi @xiaoso/dsh-tool-plus
|
|
53
|
+
```
|
|
54
|
+
|
|
46
55
|
### Local development
|
|
47
56
|
|
|
48
57
|
```sh
|
|
@@ -78,7 +87,7 @@ Works out of the box, no configuration needed. Common tweaks: background thresho
|
|
|
78
87
|
- **dsh CLI**: installed globally, `npm i -g @deepseek-ai/dsh`
|
|
79
88
|
- **Node.js** ≥ 22.19 or ≥ 24
|
|
80
89
|
- **Git Bash** (recommended): serves as the bash execution environment on Windows
|
|
81
|
-
- Targets DeepSeek Harness `dsh` v0.
|
|
90
|
+
- Targets DeepSeek Harness `dsh` v0.2.0-rc.1 (pre-release; interfaces may change)
|
|
82
91
|
|
|
83
92
|
## Notes
|
|
84
93
|
|
package/README.md
CHANGED
|
@@ -30,19 +30,28 @@ DeepSeek Harness 基础工具增强:持久 bash、结构化 read、多模式 e
|
|
|
30
30
|
|
|
31
31
|
## 安装
|
|
32
32
|
|
|
33
|
-
- **agent 预设**:标准增强版 / PTC(Code Mode)两套配套模板
|
|
34
|
-
|
|
35
33
|
### 从 npm 安装(推荐)
|
|
36
34
|
|
|
35
|
+
#### Web 端
|
|
36
|
+
|
|
37
37
|
```sh
|
|
38
|
-
dsh plugin --profile web add --allow-build=@xiaoso/dsh-tool-plus @xiaoso/dsh-tool-plus
|
|
38
|
+
dsh plugin --profile web add --allow-build=@xiaoso/dsh-tool-plus --allow-build=koffi @xiaoso/dsh-tool-plus
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
`--allow-build`
|
|
41
|
+
`--allow-build` 放行安装脚本(本包和 `koffi` 各一次),需要 pnpm ≥ 10.4;pnpm 11 起不加会直接报 `ERR_PNPM_IGNORED_BUILDS` 装不上。用不了该参数(pnpm 版本过低)时,先任选一种放行方式,再重跑安装命令:
|
|
42
42
|
|
|
43
|
-
- 往 `~/.dsh/profiles/web/pnpm-workspace.yaml`
|
|
43
|
+
- 往 `~/.dsh/profiles/web/pnpm-workspace.yaml` 追加三行:`allowBuilds:`、` '@xiaoso/dsh-tool-plus': true`、` koffi: true`
|
|
44
44
|
- 或执行 `cd ~/.dsh/profiles/web && pnpm approve-builds --all`(需 pnpm ≥ 10.32)
|
|
45
45
|
|
|
46
|
+
#### 桌面端
|
|
47
|
+
|
|
48
|
+
profile 由桌面应用独占,`dsh plugin --profile desktop` 会被拒;要装新版就进它自己的目录:
|
|
49
|
+
|
|
50
|
+
```sh
|
|
51
|
+
cd ~/.dsh/profiles/desktop
|
|
52
|
+
pnpm add --allow-build=@xiaoso/dsh-tool-plus --allow-build=koffi @xiaoso/dsh-tool-plus
|
|
53
|
+
```
|
|
54
|
+
|
|
46
55
|
### 本地开发
|
|
47
56
|
|
|
48
57
|
```sh
|
|
@@ -78,7 +87,7 @@ dsh plugin --profile web add link:<本仓库路径>
|
|
|
78
87
|
- **dsh CLI**:需全局安装,`npm i -g @deepseek-ai/dsh`
|
|
79
88
|
- **Node.js** ≥ 22.19 或 ≥ 24
|
|
80
89
|
- **Git Bash**(推荐):Windows 上作为 bash 执行环境
|
|
81
|
-
- 适用于 DeepSeek Harness `dsh` v0.
|
|
90
|
+
- 适用于 DeepSeek Harness `dsh` v0.2.0-rc.1(pre-release,接口可能变动)
|
|
82
91
|
|
|
83
92
|
## 注意事项
|
|
84
93
|
|
package/lib/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ __installBunShim();
|
|
|
3
3
|
import { n as fs_promises_shim_exports, t as exists } from "./fs-promises-shim-B2YFWkcd.mjs";
|
|
4
4
|
import { i as setRuntimeLogger, n as systemChromiumCandidatesForTest, r as runtimeLogger } from "./launch-BIWNyrBB.mjs";
|
|
5
5
|
import { $ as isEnoent, A as formatCount, C as warn, D as installBunShim, F as $flag, N as $env, O as formatAge, P as $envpos, Q as hasFsCode, U as getAutoQaDbPath, V as VERSION, X as getRemoteDir, Y as getPuppeteerDir, at as findOnPath, b as debug, c as combineSignals, d as $which, et as isEnotdir, it as untilAborted, k as formatBytes$1, l as exec, m as readImageMetadata, nt as peekFile, q as getInstallId, tt as isProbablyBinary, u as render, x as error } from "./src-AELUUb5U.mjs";
|
|
6
|
-
import { C as truncateToWidth$1, S as replaceTabs, _ as formatCodeFrameLine, a as fetchBinary, b as LRUCache, c as getParallelExtractContent, d as convertFileWithMarkit, f as Settings, g as capParseErrors, h as OMP_DEFAULTS, i as convertWithMarkit, l as ensureTool, m as settings, o as extractWithParallel, p as isSettingsInitialized, s as findParallelApiKey, u as CONVERTIBLE_EXTENSIONS, v as formatParseErrors, x as padding, y as shortenPath } from "./utils-
|
|
6
|
+
import { C as truncateToWidth$1, S as replaceTabs, _ as formatCodeFrameLine, a as fetchBinary, b as LRUCache, c as getParallelExtractContent, d as convertFileWithMarkit, f as Settings, g as capParseErrors, h as OMP_DEFAULTS, i as convertWithMarkit, l as ensureTool, m as settings, o as extractWithParallel, p as isSettingsInitialized, s as findParallelApiKey, u as CONVERTIBLE_EXTENSIONS, v as formatParseErrors, x as padding, y as shortenPath } from "./utils-DEKneb49.mjs";
|
|
7
7
|
import { t as sanitizeText } from "./sanitize-text-BCf5KmCf.mjs";
|
|
8
8
|
import { n as isRecord$5 } from "./type-guards-CttAANEx.mjs";
|
|
9
9
|
import { n as ToolError, r as throwIfAborted, t as ToolAbortError } from "./tool-errors-DoyxivAR.mjs";
|
|
@@ -23,7 +23,7 @@ import { spawn } from "node:child_process";
|
|
|
23
23
|
import * as os from "node:os";
|
|
24
24
|
import { homedir, tmpdir } from "node:os";
|
|
25
25
|
import * as url from "node:url";
|
|
26
|
-
import { fileURLToPath
|
|
26
|
+
import { fileURLToPath } from "node:url";
|
|
27
27
|
import { scheduler } from "node:timers/promises";
|
|
28
28
|
import { randomBytes } from "node:crypto";
|
|
29
29
|
import z from "@deepseek-ai/schemastery";
|
|
@@ -5773,30 +5773,16 @@ function installBrowserProbeRpc(ctx, deps) {
|
|
|
5773
5773
|
//#endregion
|
|
5774
5774
|
//#region src/host/win32-console.ts
|
|
5775
5775
|
/**
|
|
5776
|
-
* Windows
|
|
5776
|
+
* Windows:给宿主进程补一个**不可见**控制台,让它的 console 子进程去继承。
|
|
5777
5777
|
*
|
|
5778
|
-
*
|
|
5779
|
-
*
|
|
5780
|
-
*
|
|
5781
|
-
* `
|
|
5782
|
-
* Windows Terminal → 每条命令闪一个窗口。
|
|
5778
|
+
* 宿主是 GUI 子系统镜像(`DeepSeek Harness.exe` + `ELECTRON_RUN_AS_NODE=1`),
|
|
5779
|
+
* Windows 从不给它分配控制台;父进程没有控制台时子进程会**新建**一个,而默认
|
|
5780
|
+
* 终端是 Windows Terminal → 每条命令闪一个窗口。宿主自己 `AllocConsole()` +
|
|
5781
|
+
* `SW_HIDE` 之后,子进程就只是继承它,不再新建。
|
|
5783
5782
|
*
|
|
5784
|
-
*
|
|
5785
|
-
* `AllocConsole
|
|
5786
|
-
*
|
|
5787
|
-
* 窗口(窗口里的进程正是那个 where.exe);装了 → 子进程报「继承了我的控制台」、
|
|
5788
|
-
* 零新窗口。代价:分配那一刻会出现一个 WT 窗口、可见约 1.8s —— 默认终端是 WT 时
|
|
5789
|
-
* `ShowWindow(GetConsoleWindow())` 只藏得住 conhost 侧那个窗口对象,藏不住
|
|
5790
|
-
* wt.exe 宿主窗口。这一次性的窗口只能在源头消除(上游给 `where` 探测加
|
|
5791
|
-
* `CREATE_NO_WINDOW`,或让宿主从 console 子系统父进程继承一个 CREATE_NO_WINDOW
|
|
5792
|
-
* 的控制台)。
|
|
5793
|
-
*
|
|
5794
|
-
* 三条硬约束(都有测试钉住):
|
|
5795
|
-
* - 只在 win32 生效;宿主**已经有**控制台(CLI 在终端里跑)时什么都不做,否则会
|
|
5796
|
-
* 凭空多出一个控制台;
|
|
5797
|
-
* - `AllocConsole` 会重指 STD_INPUT/OUTPUT/ERROR,而宿主的 stdio 是启动方给的
|
|
5798
|
-
* pipe → 必须先存后还,否则可能污染宿主输出、弄断 shell 的管道;
|
|
5799
|
-
* - 任何失败(没有 koffi、句柄取不到、`AllocConsole` 失败)都只降级,不抛。
|
|
5783
|
+
* 三条硬约束(都有测试钉住):只在 win32 生效、宿主已有控制台时零副作用;
|
|
5784
|
+
* `AllocConsole` 会重指标准句柄,必须先存后还(宿主 stdio 是启动方给的 pipe);
|
|
5785
|
+
* 任何失败只降级不抛。FFI 只从本包自己的依赖取,拿不到就降级。
|
|
5800
5786
|
* @module @xiaoso/dsh-tool-plus/host/win32-console
|
|
5801
5787
|
*/
|
|
5802
5788
|
/** 三个标准句柄的 Win32 编号,顺序即存取顺序。 */
|
|
@@ -5833,23 +5819,15 @@ function installHiddenHostConsole(platform, load) {
|
|
|
5833
5819
|
function asCall(value) {
|
|
5834
5820
|
return value;
|
|
5835
5821
|
}
|
|
5836
|
-
/**
|
|
5837
|
-
|
|
5838
|
-
|
|
5839
|
-
|
|
5840
|
-
|
|
5841
|
-
|
|
5842
|
-
} catch {
|
|
5843
|
-
return;
|
|
5844
|
-
}
|
|
5845
|
-
}
|
|
5846
|
-
/** 真实加载:先本包依赖的 koffi,再宿主运行时自带的 koffi。 */
|
|
5822
|
+
/**
|
|
5823
|
+
* 真实加载:只从**本包自己的依赖**解析 koffi(`optionalDependencies`)。
|
|
5824
|
+
*
|
|
5825
|
+
* 刻意不去宿主运行时的 node_modules 里找:宿主的内部布局不是契约,跨包按路径解析
|
|
5826
|
+
* 是耦合。拿不到(没装、平台没有预编译包)就返回 undefined,功能降级。
|
|
5827
|
+
*/
|
|
5847
5828
|
function loadKoffiBindings() {
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
if (host !== void 0) requires.push(host);
|
|
5851
|
-
for (const requireKoffi of requires) try {
|
|
5852
|
-
const koffi = requireKoffi("koffi");
|
|
5829
|
+
try {
|
|
5830
|
+
const koffi = createRequire(import.meta.url)("koffi");
|
|
5853
5831
|
const kernel32 = koffi.load("kernel32.dll");
|
|
5854
5832
|
const user32 = koffi.load("user32.dll");
|
|
5855
5833
|
return {
|
|
@@ -5859,7 +5837,9 @@ function loadKoffiBindings() {
|
|
|
5859
5837
|
getStdHandle: asCall(kernel32.func("void *GetStdHandle(int nStdHandle)")),
|
|
5860
5838
|
setStdHandle: asCall(kernel32.func("bool SetStdHandle(int nStdHandle, void *h)"))
|
|
5861
5839
|
};
|
|
5862
|
-
} catch {
|
|
5840
|
+
} catch {
|
|
5841
|
+
return;
|
|
5842
|
+
}
|
|
5863
5843
|
}
|
|
5864
5844
|
/**
|
|
5865
5845
|
* 插件入口调用:win32 且能拿到 FFI 时才安装,结果只用于日志。
|
|
@@ -11499,7 +11479,7 @@ let specialHandlersPromise;
|
|
|
11499
11479
|
* requires a special handler, so we keep them out of the cold-startup graph.
|
|
11500
11480
|
*/
|
|
11501
11481
|
function loadSpecialHandlers() {
|
|
11502
|
-
specialHandlersPromise ??= import("./scrapers-
|
|
11482
|
+
specialHandlersPromise ??= import("./scrapers-CGbC0tfO.mjs").then((m) => m.specialHandlers);
|
|
11503
11483
|
return specialHandlersPromise;
|
|
11504
11484
|
}
|
|
11505
11485
|
/**
|
|
@@ -3,7 +3,7 @@ __installBunShim();
|
|
|
3
3
|
import { n as fs_promises_shim_exports } from "./fs-promises-shim-B2YFWkcd.mjs";
|
|
4
4
|
import { $ as isEnoent, B as USER_AGENT, C as warn, G as getDocsRsCacheDir, N as $env, c as combineSignals, j as formatNumber, k as formatBytes, l as exec, s as Snowflake, y as parseFrontmatter } from "./src-AELUUb5U.mjs";
|
|
5
5
|
import { W as tryParseJson } from "./utils-cZX3f_Ls.mjs";
|
|
6
|
-
import { a as fetchBinary, c as getParallelExtractContent, i as convertWithMarkit, l as ensureTool, m as settings, n as asRecord, o as extractWithParallel, r as asString, s as findParallelApiKey, t as asNumber } from "./utils-
|
|
6
|
+
import { a as fetchBinary, c as getParallelExtractContent, i as convertWithMarkit, l as ensureTool, m as settings, n as asRecord, o as extractWithParallel, r as asString, s as findParallelApiKey, t as asNumber } from "./utils-DEKneb49.mjs";
|
|
7
7
|
import { n as isRecord } from "./type-guards-CttAANEx.mjs";
|
|
8
8
|
import { r as throwIfAborted, t as ToolAbortError } from "./tool-errors-DoyxivAR.mjs";
|
|
9
9
|
import { c as getLocalizedText, d as looksLikeHtml, i as decodeHtmlEntities, l as htmlToBasicMarkdown, o as formatIsoDate, r as buildResult, s as formatMediaDuration, u as loadPage } from "./types-BLrLohwK.mjs";
|
|
@@ -1,28 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Windows
|
|
2
|
+
* Windows:给宿主进程补一个**不可见**控制台,让它的 console 子进程去继承。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
8
|
-
* Windows Terminal → 每条命令闪一个窗口。
|
|
4
|
+
* 宿主是 GUI 子系统镜像(`DeepSeek Harness.exe` + `ELECTRON_RUN_AS_NODE=1`),
|
|
5
|
+
* Windows 从不给它分配控制台;父进程没有控制台时子进程会**新建**一个,而默认
|
|
6
|
+
* 终端是 Windows Terminal → 每条命令闪一个窗口。宿主自己 `AllocConsole()` +
|
|
7
|
+
* `SW_HIDE` 之后,子进程就只是继承它,不再新建。
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
* `AllocConsole
|
|
12
|
-
*
|
|
13
|
-
* 窗口(窗口里的进程正是那个 where.exe);装了 → 子进程报「继承了我的控制台」、
|
|
14
|
-
* 零新窗口。代价:分配那一刻会出现一个 WT 窗口、可见约 1.8s —— 默认终端是 WT 时
|
|
15
|
-
* `ShowWindow(GetConsoleWindow())` 只藏得住 conhost 侧那个窗口对象,藏不住
|
|
16
|
-
* wt.exe 宿主窗口。这一次性的窗口只能在源头消除(上游给 `where` 探测加
|
|
17
|
-
* `CREATE_NO_WINDOW`,或让宿主从 console 子系统父进程继承一个 CREATE_NO_WINDOW
|
|
18
|
-
* 的控制台)。
|
|
19
|
-
*
|
|
20
|
-
* 三条硬约束(都有测试钉住):
|
|
21
|
-
* - 只在 win32 生效;宿主**已经有**控制台(CLI 在终端里跑)时什么都不做,否则会
|
|
22
|
-
* 凭空多出一个控制台;
|
|
23
|
-
* - `AllocConsole` 会重指 STD_INPUT/OUTPUT/ERROR,而宿主的 stdio 是启动方给的
|
|
24
|
-
* pipe → 必须先存后还,否则可能污染宿主输出、弄断 shell 的管道;
|
|
25
|
-
* - 任何失败(没有 koffi、句柄取不到、`AllocConsole` 失败)都只降级,不抛。
|
|
9
|
+
* 三条硬约束(都有测试钉住):只在 win32 生效、宿主已有控制台时零副作用;
|
|
10
|
+
* `AllocConsole` 会重指标准句柄,必须先存后还(宿主 stdio 是启动方给的 pipe);
|
|
11
|
+
* 任何失败只降级不抛。FFI 只从本包自己的依赖取,拿不到就降级。
|
|
26
12
|
* @module @xiaoso/dsh-tool-plus/host/win32-console
|
|
27
13
|
*/
|
|
28
14
|
/** Win32 调用集合;真实实现走 koffi,测试注入 fake。 */
|
|
@@ -6267,7 +6267,7 @@ const settings = {
|
|
|
6267
6267
|
};
|
|
6268
6268
|
//#endregion
|
|
6269
6269
|
//#region package.json
|
|
6270
|
-
var version = "0.1.
|
|
6270
|
+
var version = "0.1.11";
|
|
6271
6271
|
/** `.tmp` files older than this are treated as orphaned writes and swept. */
|
|
6272
6272
|
const TMP_ORPHAN_MAX_AGE_MS = 3e5;
|
|
6273
6273
|
function markitConversionCacheKey(bytes, extension) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xiaoso/dsh-tool-plus",
|
|
3
3
|
"description": "Oh My Pi bash runtime ported as a deepseek-harness tool plugin: persistent shell session, output minimizer, managed background jobs, command interception",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.11",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"deepseek-harness",
|
|
@@ -84,32 +84,35 @@
|
|
|
84
84
|
"test": "vitest run --config vitest.config.ts",
|
|
85
85
|
"presets:build": "node scripts/build-preset-patches.mjs",
|
|
86
86
|
"presets:check": "node scripts/build-preset-patches.mjs --check",
|
|
87
|
+
"e2e": "tsx tests/support/harness/dsh-e2e.ts",
|
|
88
|
+
"e2e:web": "tsx tests/support/harness/capture-web.ts",
|
|
89
|
+
"mock:llm": "tsx tests/support/mock-openai/cli.ts",
|
|
87
90
|
"postinstall": "node scripts/patch-pi-natives.mjs"
|
|
88
91
|
},
|
|
89
92
|
"peerDependencies": {
|
|
90
93
|
"@deepseek-ai/cordis": "~4.0.4",
|
|
91
|
-
"@deepseek-ai/dsh-agent": "0.
|
|
92
|
-
"@deepseek-ai/dsh-agent-preset": "0.
|
|
93
|
-
"@deepseek-ai/dsh-agent-preset-registry": "0.
|
|
94
|
-
"@deepseek-ai/dsh-attachment": "0.
|
|
95
|
-
"@deepseek-ai/dsh-client-connection": "0.
|
|
96
|
-
"@deepseek-ai/dsh-fs": "0.
|
|
97
|
-
"@deepseek-ai/dsh-jobs": "0.
|
|
98
|
-
"@deepseek-ai/dsh-llm": "0.
|
|
99
|
-
"@deepseek-ai/dsh-sandbox": "0.
|
|
100
|
-
"@deepseek-ai/dsh-session": "0.
|
|
101
|
-
"@deepseek-ai/dsh-settings": "0.
|
|
102
|
-
"@deepseek-ai/dsh-shell": "0.
|
|
103
|
-
"@deepseek-ai/dsh-shell-env": "0.
|
|
104
|
-
"@deepseek-ai/dsh-system-prompt": "0.
|
|
105
|
-
"@deepseek-ai/dsh-tools": "0.
|
|
94
|
+
"@deepseek-ai/dsh-agent": "0.2.0-rc.1",
|
|
95
|
+
"@deepseek-ai/dsh-agent-preset": "0.2.0-rc.1",
|
|
96
|
+
"@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.1",
|
|
97
|
+
"@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
|
|
98
|
+
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
|
|
99
|
+
"@deepseek-ai/dsh-fs": "0.2.0-rc.1",
|
|
100
|
+
"@deepseek-ai/dsh-jobs": "0.2.0-rc.1",
|
|
101
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
|
|
102
|
+
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.1",
|
|
103
|
+
"@deepseek-ai/dsh-session": "0.2.0-rc.1",
|
|
104
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.1",
|
|
105
|
+
"@deepseek-ai/dsh-shell": "0.2.0-rc.1",
|
|
106
|
+
"@deepseek-ai/dsh-shell-env": "0.2.0-rc.1",
|
|
107
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.1",
|
|
108
|
+
"@deepseek-ai/dsh-tools": "0.2.0-rc.1"
|
|
106
109
|
},
|
|
107
110
|
"optionalPeerDependencies": {
|
|
108
111
|
"sharp": ">=0.33"
|
|
109
112
|
},
|
|
110
113
|
"dependencies": {
|
|
111
|
-
"@deepseek-ai/dsh-brand": "0.
|
|
112
|
-
"@deepseek-ai/dsh-invariants": "0.
|
|
114
|
+
"@deepseek-ai/dsh-brand": "0.2.0-rc.1",
|
|
115
|
+
"@deepseek-ai/dsh-invariants": "0.2.0-rc.1",
|
|
113
116
|
"@deepseek-ai/schemastery": "~3.18.4",
|
|
114
117
|
"@oh-my-pi/omptype": "18.1.17",
|
|
115
118
|
"@oh-my-pi/pi-agent-core": "18.1.17",
|
|
@@ -125,33 +128,33 @@
|
|
|
125
128
|
},
|
|
126
129
|
"devDependencies": {
|
|
127
130
|
"@deepseek-ai/cordis": "~4.0.4",
|
|
128
|
-
"@deepseek-ai/dsh-agent": "0.
|
|
129
|
-
"@deepseek-ai/dsh-api-remotes": "0.
|
|
130
|
-
"@deepseek-ai/dsh-api-session-controller": "0.
|
|
131
|
-
"@deepseek-ai/dsh-client-connection": "0.
|
|
132
|
-
"@deepseek-ai/dsh-client-locale": "0.
|
|
133
|
-
"@deepseek-ai/dsh-client-store": "0.
|
|
134
|
-
"@deepseek-ai/dsh-client-ui-chat": "0.
|
|
135
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.
|
|
136
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.
|
|
137
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.
|
|
138
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.
|
|
139
|
-
"@deepseek-ai/dsh-client-ui-settings-plugins": "0.
|
|
140
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.
|
|
141
|
-
"@deepseek-ai/dsh-client-ui-tool": "0.
|
|
142
|
-
"@deepseek-ai/dsh-fs-local": "0.
|
|
143
|
-
"@deepseek-ai/dsh-jobs": "0.
|
|
144
|
-
"@deepseek-ai/dsh-jobs-local": "0.
|
|
145
|
-
"@deepseek-ai/dsh-llm": "0.
|
|
146
|
-
"@deepseek-ai/dsh-session": "0.
|
|
147
|
-
"@deepseek-ai/dsh-settings": "0.
|
|
148
|
-
"@deepseek-ai/dsh-shell": "0.
|
|
149
|
-
"@deepseek-ai/dsh-shell-env": "0.
|
|
150
|
-
"@deepseek-ai/dsh-system-prompt": "0.
|
|
151
|
-
"@deepseek-ai/dsh-token-meter": "0.
|
|
152
|
-
"@deepseek-ai/dsh-tool-jobs": "0.
|
|
153
|
-
"@deepseek-ai/dsh-tool-str-replace-editor": "0.
|
|
154
|
-
"@deepseek-ai/dsh-tools": "0.
|
|
131
|
+
"@deepseek-ai/dsh-agent": "0.2.0-rc.1",
|
|
132
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.0-rc.1",
|
|
133
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.1",
|
|
134
|
+
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
|
|
135
|
+
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.1",
|
|
136
|
+
"@deepseek-ai/dsh-client-store": "0.2.0-rc.1",
|
|
137
|
+
"@deepseek-ai/dsh-client-ui-chat": "0.2.0-rc.1",
|
|
138
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.1",
|
|
139
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.1",
|
|
140
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.1",
|
|
141
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.1",
|
|
142
|
+
"@deepseek-ai/dsh-client-ui-settings-plugins": "0.2.0-rc.1",
|
|
143
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.1",
|
|
144
|
+
"@deepseek-ai/dsh-client-ui-tool": "0.2.0-rc.1",
|
|
145
|
+
"@deepseek-ai/dsh-fs-local": "0.2.0-rc.1",
|
|
146
|
+
"@deepseek-ai/dsh-jobs": "0.2.0-rc.1",
|
|
147
|
+
"@deepseek-ai/dsh-jobs-local": "0.2.0-rc.1",
|
|
148
|
+
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
|
|
149
|
+
"@deepseek-ai/dsh-session": "0.2.0-rc.1",
|
|
150
|
+
"@deepseek-ai/dsh-settings": "0.2.0-rc.1",
|
|
151
|
+
"@deepseek-ai/dsh-shell": "0.2.0-rc.1",
|
|
152
|
+
"@deepseek-ai/dsh-shell-env": "0.2.0-rc.1",
|
|
153
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.1",
|
|
154
|
+
"@deepseek-ai/dsh-token-meter": "0.2.0-rc.1",
|
|
155
|
+
"@deepseek-ai/dsh-tool-jobs": "0.2.0-rc.1",
|
|
156
|
+
"@deepseek-ai/dsh-tool-str-replace-editor": "0.2.0-rc.1",
|
|
157
|
+
"@deepseek-ai/dsh-tools": "0.2.0-rc.1",
|
|
155
158
|
"@types/node": "^22.19.0",
|
|
156
159
|
"@types/react": "^19.0.0",
|
|
157
160
|
"@types/react-dom": "^19.0.0",
|