@xmoon76/dsh-pi-tui 0.4.9 → 0.5.0

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
@@ -19,7 +19,7 @@ Stable releases are recommended for ordinary users. Install DSH first, then add
19
19
  the TUI to the `pi-tui` profile:
20
20
 
21
21
  ```sh
22
- npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @deepseek-ai/dsh@latest
22
+ npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty @deepseek-ai/dsh@latest
23
23
  dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@latest
24
24
  dsh --profile pi-tui
25
25
  ```
@@ -30,7 +30,7 @@ Preview installation uses the DSH `alpha` channel and the TUI `next` channel.
30
30
  The DSH native install scripts must be explicitly allowed:
31
31
 
32
32
  ```sh
33
- npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @deepseek-ai/dsh@alpha
33
+ npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty @deepseek-ai/dsh@alpha
34
34
  dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@next
35
35
  dsh --profile pi-tui
36
36
  ```
@@ -54,16 +54,19 @@ next compatibility range, and fallback paths.
54
54
 
55
55
  | TUI package line | Official DSH tags for the pairing | Notes |
56
56
  |---|---|---|
57
- | `0.4.9` (stable / `@latest`) | `dsh-v0.1.7-rc.2` | Current stable line; 0.1.7-rc.2 minimum |
57
+ | `0.5.0` (stable / `@latest`) | `dsh-v0.1.7-rc.2`, `dsh-v0.2.0-rc.1` | Current stable line; 0.1.7-rc.2 minimum, exact validation target 0.2.0-rc.1 |
58
+ | `0.4.9` (stable, previous) | `dsh-v0.1.7-rc.2` | Previous stable; the compatible TUI for a 0.1.7-rc.2 runtime |
58
59
  | `0.4.8` (stable, previous) | `dsh-v0.1.7-rc.1` | Previous stable; the compatible TUI for a 0.1.7-rc.1 runtime |
59
60
  | `0.4.6` (stable, previous) | `dsh-v0.1.5-rc.1`, `dsh-v0.1.5-rc.2` | Previous stable; the compatible TUI for a 0.1.5 runtime |
60
61
  | `0.4.7-alpha.2` (next, previous) | `dsh-v0.1.6-alpha.2` | Previous next line; the compatible TUI for a 0.1.6-alpha.2 runtime |
61
62
 
62
- Do not mix the stable and `@next` prerelease lines. The `0.4.9` line unifies its
63
+ Do not mix the stable and `@next` prerelease lines. The `0.5.0` line unifies its
63
64
  whole DSH peer floor at `>=0.1.7-rc.2` (the rc.2 preset registry peers
64
65
  `dsh-agent` exactly, so a wider legacy floor no longer satisfies a standalone
65
- tarball install); older runtimes fail at the normal incompatible-runtime
66
- boundary, so install the paired TUI line from the table above. The startup notice
66
+ tarball install), while its exact validation and recommended upgrade target is
67
+ the published `0.2.0-rc.1` family; older runtimes fail at the normal
68
+ incompatible-runtime boundary, so install the paired TUI line from the table
69
+ above. The startup notice
67
70
  is best-effort rather than a Loader startup-order guarantee. See the [full
68
71
  historical compatibility matrix](docs/dsh-compatibility.md) for official-tag
69
72
  pairings and fallback commands, and see the [latest `next`
@@ -595,8 +598,9 @@ This section contains DSH compatibility and CI validation details only; ordinary
595
598
  ### npm mode (current `next`)
596
599
 
597
600
  The current compatibility-train line is npm mode: it targets the published
598
- `dsh-v0.1.7-rc.2` family declared by this checkout's `package.json` and
599
- resolved by its lockfile. The isolated npm driver installs that exact
601
+ `dsh-v0.2.0-rc.1` family declared by this checkout's `package.json` and
602
+ resolved by its lockfile (the runtime peer floor stays `>=0.1.7-rc.2`). The
603
+ isolated npm driver installs that exact
600
604
  family from the public registry and exercises the TUI build/test/package path:
601
605
 
602
606
  ```sh
package/README.md CHANGED
@@ -18,7 +18,7 @@
18
18
  稳定版是普通用户的推荐渠道。请先安装 DSH,再将 TUI 添加到 `pi-tui` profile:
19
19
 
20
20
  ```sh
21
- npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @deepseek-ai/dsh@latest
21
+ npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty @deepseek-ai/dsh@latest
22
22
  dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@latest
23
23
  dsh --profile pi-tui
24
24
  ```
@@ -29,7 +29,7 @@ dsh --profile pi-tui
29
29
  时需要显式允许其原生安装脚本:
30
30
 
31
31
  ```sh
32
- npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @deepseek-ai/dsh@alpha
32
+ npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty @deepseek-ai/dsh@alpha
33
33
  dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@next
34
34
  dsh --profile pi-tui
35
35
  ```
@@ -52,14 +52,16 @@ pnpm compat:dsh:npm
52
52
 
53
53
  | TUI 包版本 | 对应的官方 DSH tags | 说明 |
54
54
  |---|---|---|
55
- | `0.4.9`(stable / `@latest`) | `dsh-v0.1.7-rc.2` | 当前稳定版;最低 0.1.7-rc.2 |
55
+ | `0.5.0`(stable / `@latest`) | `dsh-v0.1.7-rc.2`、`dsh-v0.2.0-rc.1` | 当前稳定版;最低 0.1.7-rc.2,精确验证目标 0.2.0-rc.1 |
56
+ | `0.4.9`(stable,历史) | `dsh-v0.1.7-rc.2` | 上一稳定版;0.1.7-rc.2 runtime 的兼容 TUI |
56
57
  | `0.4.8`(stable,历史) | `dsh-v0.1.7-rc.1` | 上一稳定版;0.1.7-rc.1 runtime 的兼容 TUI |
57
58
  | `0.4.6`(stable,历史) | `dsh-v0.1.5-rc.1`、`dsh-v0.1.5-rc.2` | 上一稳定版;0.1.5 runtime 的兼容 TUI |
58
59
  | `0.4.7-alpha.2`(next,历史) | `dsh-v0.1.6-alpha.2` | 上一条 next 线;0.1.6-alpha.2 runtime 的兼容 TUI |
59
60
 
60
- 不要把稳定线与 `@next` 预发布线混装。`0.4.9` 的整个 DSH peer floor 统一为
61
+ 不要把稳定线与 `@next` 预发布线混装。`0.5.0` 的整个 DSH peer floor 统一为
61
62
  `>=0.1.7-rc.2`(rc.2 的 preset registry 精确 peer `dsh-agent`,更宽的旧
62
- floor 已无法满足独立 tarball 安装);旧 runtime 会在正常的不兼容边界以非零状态失败,
63
+ floor 已无法满足独立 tarball 安装),精确验证与推荐升级目标是已发布的
64
+ `0.2.0-rc.1` family;旧 runtime 会在正常的不兼容边界以非零状态失败,
63
65
  请按上表安装配对的 TUI 线。完整的历史兼容矩阵和 fallback 命令见
64
66
  [兼容性文档](docs/dsh-compatibility.md);要查看 `@next` 的最新集成状态,请看
65
67
  [next 分支 README](https://github.com/XMoon/dsh-pi-tui/blob/next/README.md)。
@@ -549,7 +551,8 @@ dsh --profile pi-tui-dev
549
551
  ### npm 模式(当前 `next`)
550
552
 
551
553
  当前兼容列车线是 npm 模式:以本 checkout 的 `package.json` 声明、
552
- lockfile 解析的已发布 `dsh-v0.1.7-rc.2` family 为兼容目标。隔离的 npm
554
+ lockfile 解析的已发布 `dsh-v0.2.0-rc.1` family 为精确验证目标(运行时
555
+ peer floor 保持 `>=0.1.7-rc.2`)。隔离的 npm
553
556
  驱动从公共 registry 安装该精确 family,并跑完整 build/test/package 路径:
554
557
 
555
558
  ```sh
package/dist/builtins.mjs CHANGED
@@ -1,5 +1,6 @@
1
- import { L as dshVersion, V as PI_TUI_EXTENSIONS_SERVICE } from "./src-BAwPimrH.mjs";
2
- import { n as TUI_STARTUP_SERVICE } from "./startup-xTIOW90U.mjs";
1
+ import { n as TUI_STARTUP_SERVICE } from "./startup-DM-xxzcX.mjs";
2
+ import { i as PI_TUI_EXTENSIONS_SERVICE } from "./extensions-Dg1qhjUi.mjs";
3
+ import { n as dshVersion } from "./dsh-version-V0exEv9O.mjs";
3
4
  import { readFileSync } from "node:fs";
4
5
  import { join } from "node:path";
5
6
  //#region src/builtins.ts
@@ -0,0 +1,76 @@
1
+ import { readFileSync, realpathSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ //#region src/dsh-version.ts
4
+ /**
5
+ * The installed dsh (DeepSeek Harness CLI) version, resolved from the
6
+ * launcher's real path: `process.argv[1]` is the `dsh` bin, whose realpath
7
+ * walks up to the `@deepseek-ai/dsh/package.json` that owns it. The header
8
+ * and the welcome card show the harness the TUI runs on, not this bundle's
9
+ * own patch level. Undefined when the launcher path is unreadable.
10
+ *
11
+ * The module also owns the bundle's OWN version reads (`bundleVersion`) and
12
+ * the combined welcome-card display line (`versionDisplay`).
13
+ * @module @xmoon76/dsh-pi-tui/dsh-version
14
+ */
15
+ /** @returns the installed dsh version string, or undefined. */
16
+ function dshVersion() {
17
+ const bin = process.argv[1];
18
+ if (bin === void 0) return void 0;
19
+ try {
20
+ let dir = dirname(realpathSync(bin));
21
+ for (let depth = 0; depth < 8; depth += 1) {
22
+ try {
23
+ const pkg = JSON.parse(readFileSync(join(dir, "package.json"), "utf8"));
24
+ if (pkg.name === "@deepseek-ai/dsh" && typeof pkg.version === "string") return pkg.version;
25
+ } catch {}
26
+ const parent = dirname(dir);
27
+ if (parent === dir) return void 0;
28
+ dir = parent;
29
+ }
30
+ } catch {}
31
+ }
32
+ /**
33
+ * The bundle's own version, read from package.json at runtime so the welcome
34
+ * card never drifts from the shipped version. The DISPLAYED version prefers
35
+ * the installed dsh version (`dshVersion` — shared with the header badge
36
+ * via src/dsh-version.ts), falling back to this one.
37
+ * @returns the version string, or a fallback when the file is unreadable.
38
+ */
39
+ function packageVersion() {
40
+ try {
41
+ const pkg = JSON.parse(readFileSync(join(import.meta.dirname, "..", "package.json"), "utf8"));
42
+ return dshVersion() ?? pkg.version ?? "0.0.0";
43
+ } catch {
44
+ return dshVersion() ?? "0.0.0";
45
+ }
46
+ }
47
+ /**
48
+ * The welcome card's version line: the installed dsh version plus the
49
+ * bundle's own version (header-badge parity — `dsh-0.1.7-rc.2 ·
50
+ * tui-v0.4.9`). Without a resolvable dsh launcher it degrades to
51
+ * the bundle version alone.
52
+ * @returns the combined version string.
53
+ */
54
+ function versionDisplay() {
55
+ const dsh = dshVersion();
56
+ return dsh === void 0 ? `tui-v${bundleVersion()}` : `dsh-${dsh} · tui-v${bundleVersion()}`;
57
+ }
58
+ /**
59
+ * The BUNDLE's OWN version (`@xmoon76/dsh-pi-tui`'s package.json),
60
+ * INDEPENDENT of the installed dsh version. The status snapshot's
61
+ * host.tuiVersion and the footer's `version(format=tui)` item must report
62
+ * the TUI's own patch level — the welcome-card helper above deliberately
63
+ * prefers the dsh version for display, so reusing it made `tui` show the
64
+ * harness version (and `both` show the dsh version twice) inside a real
65
+ * dsh installation (the review's P2).
66
+ * @returns the bundle version string, or a fallback when the file is unreadable.
67
+ */
68
+ function bundleVersion() {
69
+ try {
70
+ return JSON.parse(readFileSync(join(import.meta.dirname, "..", "package.json"), "utf8")).version ?? "0.0.0";
71
+ } catch {
72
+ return "0.0.0";
73
+ }
74
+ }
75
+ //#endregion
76
+ export { versionDisplay as i, dshVersion as n, packageVersion as r, bundleVersion as t };