@xmoon76/dsh-pi-tui 0.4.1 → 0.4.5

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,21 +19,32 @@ 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 @deepseek-ai/dsh@0.1.2-rc.1
22
+ npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @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
  ```
26
26
 
27
- ### Preview / next
27
+ ### Next / npm line (validation)
28
28
 
29
- Preview releases contain unreleased changes. Use this channel only when you need
30
- to try or validate a prerelease:
29
+ Preview installation uses the DSH `alpha` channel and the TUI `next` channel.
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
34
  dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@next
34
35
  dsh --profile pi-tui
35
36
  ```
36
37
 
38
+ Use the isolated npm driver (it installs the exact DSH version declared by this
39
+ checkout and exercises the full build/test/package path):
40
+
41
+ ```sh
42
+ pnpm compat:dsh:npm
43
+ ```
44
+
45
+ See the [compatibility guide](docs/dsh-compatibility.md) for the stable minimum,
46
+ next compatibility range, and fallback paths.
47
+
37
48
  ### Requirements
38
49
 
39
50
  * DeepSeek Harness
@@ -41,38 +52,25 @@ dsh --profile pi-tui
41
52
 
42
53
  ### DSH/TUI version pairing (important)
43
54
 
44
- | TUI package line | Matching DSH line | Notes |
55
+ | TUI package line | Official DSH tags for the pairing | Notes |
45
56
  |---|---|---|
46
- | `0.4.1` (`@latest`) | `>=0.1.2-rc.1` | Current stable; validated against the rc.1 family |
47
- | `0.4.x-alpha` (`@next`) | `>=0.1.2-rc.1` | Subsequent prerelease; each release validates its concrete DSH family |
48
- | `0.4.0-alpha.2` (published) | `>=0.1.2-alpha.4` | Previous 0.4 prerelease; its releases validated the alpha.4/alpha.5 family |
49
- | `0.4.0-alpha.1` (published) | `>=0.1.2-alpha.2` | Earlier 0.4 prerelease; accepts the alpha.2/alpha.3 runtime |
50
- | `0.3.x` (`@0.3`) | `0.1.1-rc.2` | Legacy runtime line |
51
-
52
- Do not mix the lines: DSH 0.1.1 is outside the 0.4 peer window and the
53
- normal incompatible-runtime boundary will fail. The startup row prints upgrade
54
- and rollback guidance when concurrent Loader ordering allows it, but that
55
- friendly notice is best-effort rather than a startup-order guarantee. If you
56
- keep DSH 0.1.1, use the 0.3 TUI line; if you keep the alpha.2/alpha.3
57
- baseline, use `@xmoon76/dsh-pi-tui@0.4.0-alpha.1`; if you keep the
58
- alpha.4/alpha.5 baseline, use `@xmoon76/dsh-pi-tui@0.4.0-alpha.2`. The stable
59
- installation path is documented above under “Install into a DSH profile”; if
60
- you need to keep the legacy DSH runtime, use this compatibility recovery path:
61
-
62
- ```sh
63
- npm install -g @deepseek-ai/dsh@0.1.1-rc.2
64
- dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.3
65
- dsh --profile pi-tui
66
- ```
57
+ | `0.4.5` (published `@latest`) | `dsh-v0.1.5-rc.1`, `dsh-v0.1.5-rc.2` | Current stable line; rc.1 minimum, rc.2 compatible |
58
+ | Current `next` npm line (this checkout; version `0.4.5`) | `dsh-v0.1.5-rc.1`, `dsh-v0.1.5-rc.2` | Current next line |
67
59
 
68
- The current 0.4 line declares `>=0.1.2-rc.1`; each release validates
69
- its concrete DSH family. `npm install -g` is only for installing DSH itself; to
70
- install dsh-pi-tui into a DSH profile, you must use the `dsh plugin` command.
60
+ Do not mix the stable and `next` lines. The current `next` checkout declares
61
+ the published `0.1.5-rc.1` npm floor; older runtimes fail at the normal
62
+ incompatible-runtime boundary. The startup notice is best-effort rather than a
63
+ Loader startup-order guarantee. See the [full historical compatibility matrix](docs/dsh-compatibility.md)
64
+ for official-tag pairings and fallback commands, and see the [latest `next`
65
+ README](https://github.com/XMoon/dsh-pi-tui/blob/next/README.md) for the current
66
+ integration status.
71
67
 
72
68
  New agent sessions use the official roster's selected preset id. A custom DSH
73
69
  preset literally named `code` is valid and remains `code` when it exists in the
74
- current roster. Old persisted `code` defaults/session values fall back to `ptc`
75
- only after the roster proves that no custom `code` preset exists.
70
+ current roster. DSH V3 migration owns historical session `code -> ptc`
71
+ conversion, while the current projection preserves a legal custom `code`. Only
72
+ an omitted legacy settings default `code` falls back to `ptc` after the roster
73
+ proves that no custom `code` preset exists.
76
74
 
77
75
  ### Profile management
78
76
 
@@ -136,7 +134,8 @@ Supports persisted DSH Sessions, including:
136
134
  * Forking
137
135
  * Rewind
138
136
  * Session lineage
139
- * Transcript export
137
+ * `/export` — full Session archive (descendants + attachments) saved to a Client-local directory
138
+ * `/transcript` — readable Markdown transcript saved to a Client-local directory
140
139
 
141
140
  Use:
142
141
 
@@ -144,6 +143,8 @@ Use:
144
143
  /sessions
145
144
  /fork
146
145
  /rewind
146
+ /export
147
+ /transcript
147
148
  ```
148
149
 
149
150
  When the Agent is idle and the editor is empty, pressing `Esc` twice quickly also opens Rewind.
@@ -234,7 +235,7 @@ Typing `@` opens workspace file search and completion:
234
235
  @"path with spaces/file.ts"
235
236
  ```
236
237
 
237
- `/image <path>` also completes files and directories; paths with spaces, quotes, or Windows separators preserve the input dialect, and directories can be expanded further.
238
+ `/attach <path>` is the unified Client-local image/file intake; `/image <path>` keeps its image-only compatibility semantics. Both complete files and directories; paths with spaces, quotes, or Windows separators preserve the input dialect, and directories can be expanded further.
238
239
 
239
240
  Resolvable relative paths are canonicalized before submission.
240
241
 
@@ -294,7 +295,7 @@ For the full `/footer` workflow, Custom Text / Command items, YAML reference, se
294
295
  | Key | Action |
295
296
  | ------------- | --------------------------------------------------- |
296
297
  | `Enter` | Submit input |
297
- | `Ctrl+Enter` | Queue the draft while the agent is busy (the opposite of Enter while busy) |
298
+ | `Ctrl+Enter` | Submit with the OPPOSITE busy behavior (steers by default; queues when `busyEnter=steer`) |
298
299
  | `Shift+Enter` | Insert newline |
299
300
  | `Esc` | Cancel current interaction / interrupt running work |
300
301
  | `Esc Esc` | Open Rewind while idle |
@@ -551,22 +552,34 @@ dsh --profile pi-tui-dev
551
552
 
552
553
  ## DSH compatibility and validation
553
554
 
554
- This section contains Source Mode and CI validation details only; ordinary users do not need Source Mode to install the TUI.
555
+ This section contains DSH compatibility and CI validation details only; ordinary users do not need them to install the TUI.
555
556
 
556
- ### Source Mode (validation only)
557
+ ### npm mode (current `next`)
557
558
 
558
- Source Mode is the validation-only distribution selected by the tracked policy for `next` CI and available for local compatibility checks. It reads the full commit pin in `test/compat/dsh-source.json`, builds the official DSH tarball family, installs it through temporary pnpm overrides, and removes the temporary state afterward. Do not write DSH source paths, `file:` dependencies, or workspace symlinks into a published package.
559
+ The current `next` line is npm mode: it targets the published
560
+ `dsh-v0.1.5-rc.1` family declared by this checkout's `package.json` and
561
+ resolved by its frozen lockfile. The isolated npm driver installs that exact
562
+ family from the public registry and exercises the TUI build/test/package path:
559
563
 
560
564
  ```sh
561
- pnpm compat:dsh:source -- --dsh-dir "$HOME/project/deepseek-harness"
562
565
  pnpm compat:dsh:npm
563
566
  ```
564
567
 
568
+ ### Source Mode (validation only)
569
+
570
+ Source Mode is the validation-only distribution for an unpublished DSH
571
+ checkout, available for local compatibility checks and explicit
572
+ source-boundary work. It reads the full commit pin in
573
+ `test/compat/dsh-source.json`, builds the official DSH tarball family, installs
574
+ it through temporary pnpm overrides, and removes the temporary state afterward.
575
+ Do not write DSH source paths, `file:` dependencies, or workspace symlinks into
576
+ a published package.
577
+
565
578
  The published package already contains the Pi TUI fork required at runtime. No separate internal TUI package needs to be installed.
566
579
 
567
580
  ### CI validation policy
568
581
 
569
- CI follows the tracked `test/compat/dsh-mode.json` policy for pushes to `next` and pull requests targeting `next`; `main` and every tag use npm Mode. Both `next` lanes use `test/compat/dsh-source.json` for the current validated DSH target; Source Mode validates the complete official DSH tarball family, TUI presets, and the old-runtime boundary, while npm Mode runs the frozen registry lane. The published `pi2dsh` ecosystem check is explicitly marked skipped for an unpublished source family. See [`docs/dsh-compatibility.md`](docs/dsh-compatibility.md) for the full workflow.
582
+ CI follows the tracked `test/compat/dsh-mode.json` policy for pushes to `next` and pull requests targeting `next`; `main` and every tag use npm Mode. Source Mode reads the source target from `test/compat/dsh-source.json` and validates the complete official DSH tarball family, TUI presets, and the old-runtime boundary; npm Mode uses the DSH version declared by the checkout's `package.json` and frozen lockfile to run the registry lane. The published `pi2dsh` ecosystem check is explicitly marked skipped for an unpublished source family. See [`docs/dsh-compatibility.md`](docs/dsh-compatibility.md) for the full workflow.
570
583
 
571
584
  ## Repository layout
572
585
 
package/README.md CHANGED
@@ -18,20 +18,31 @@
18
18
  稳定版是普通用户的推荐渠道。请先安装 DSH,再将 TUI 添加到 `pi-tui` profile:
19
19
 
20
20
  ```sh
21
- npm install -g @deepseek-ai/dsh@0.1.2-rc.1
21
+ npm install -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs,fs-ext @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
  ```
25
25
 
26
- ### Preview / next
26
+ ### Next / npm 线(验证)
27
27
 
28
- 预览版包含未发布的变更,仅在需要体验或验证预发布版本时使用:
28
+ 预览安装使用 DSH 的 `alpha` channel 与 TUI 的 `next` channel;安装 DSH
29
+ 时需要显式允许其原生安装脚本:
29
30
 
30
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
31
33
  dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@next
32
34
  dsh --profile pi-tui
33
35
  ```
34
36
 
37
+ 隔离的 npm 驱动仍按本 checkout 声明的精确 DSH 版本运行,并执行完整的
38
+ build/test/package 路径:
39
+
40
+ ```sh
41
+ pnpm compat:dsh:npm
42
+ ```
43
+
44
+ 具体的稳定版最低版本、next 兼容范围和回退路径见[兼容性文档](docs/dsh-compatibility.md)。
45
+
35
46
  ### 环境要求
36
47
 
37
48
  * DeepSeek Harness
@@ -39,36 +50,21 @@ dsh --profile pi-tui
39
50
 
40
51
  ### DSH 与 TUI 版本对应(重要)
41
52
 
42
- | TUI 包版本 | 对应 DSH 版本 | 说明 |
53
+ | TUI 包版本 | 对应的官方 DSH tags | 说明 |
43
54
  |---|---|---|
44
- | `0.4.1`(`@latest`) | `>=0.1.2-rc.1` | 当前稳定版;按 0.1.2-rc.1 family 验证 |
45
- | `0.4.x-alpha`(`@next`) | `>=0.1.2-rc.1` | 后续预发布线;按每个发布版本的具体 DSH family 验证 |
46
- | `0.4.0-alpha.2`(已发布) | `>=0.1.2-alpha.4` | 上一条 0.4 预发布线;其发布版本按 alpha.4/alpha.5 family 验证 |
47
- | `0.4.0-alpha.1`(已发布) | `>=0.1.2-alpha.2` | 更早的 0.4 预发布线;接受 alpha.2/alpha.3 运行时 |
48
- | `0.3.x`(`@0.3`) | `0.1.1-rc.2` | 旧运行时兼容线 |
49
-
50
- 不要把两条线混装:DSH 0.1.1 不在 0.4 的 peer 支持范围内,运行时会在
51
- 正常的不兼容边界以非零状态失败。启动行会在 Loader 并发挂载顺序允许时打印
52
- 升级和回退提示,但该友好提示是 best-effort,不是启动顺序保证;保留 DSH
53
- 0.1.1 时请使用 0.3,保留 alpha.2/alpha.3 时请使用
54
- `@xmoon76/dsh-pi-tui@0.4.0-alpha.1`,保留 alpha.4/alpha.5 时请使用
55
- `@xmoon76/dsh-pi-tui@0.4.0-alpha.2`。稳定版的安装方式已在上方“安装到 DSH
56
- Profile”中给出;如果需要保留旧 DSH,请使用下面的兼容恢复路径:
57
-
58
- ```sh
59
- npm install -g @deepseek-ai/dsh@0.1.1-rc.2
60
- dsh plugin --profile pi-tui -- add @xmoon76/dsh-pi-tui@0.3
61
- dsh --profile pi-tui
62
- ```
55
+ | `0.4.5`(已发布 `@latest`) | `dsh-v0.1.5-rc.1`、`dsh-v0.1.5-rc.2` | 当前稳定版;最低 rc.1,兼容 rc.2 |
56
+ | 当前 `next` npm 线(本 checkout;版本 `0.4.5`) | `dsh-v0.1.5-rc.1`、`dsh-v0.1.5-rc.2` | 当前 next 线 |
63
57
 
64
- `0.4` 当前线的声明支持范围是 `>=0.1.2-rc.1`;每个发布版本都会验证
65
- 具体的 DSH family。`npm install -g` 仅用于安装 DSH 本身;要将 dsh-pi-tui
66
- 安装进 DSH profile,必须使用 `dsh plugin` 命令。
58
+ 不要把稳定线与 `next` 线混装。当前 `next` checkout 的 peer floor 是
59
+ `>=0.1.5-rc.1`,旧 runtime 会在正常的不兼容边界以非零状态失败。完整的
60
+ 历史兼容矩阵和 fallback 命令见 [兼容性文档](docs/dsh-compatibility.md);
61
+ 要查看 next 的最新集成状态,请看 [next 分支 README](https://github.com/XMoon/dsh-pi-tui/blob/next/README.md)。
67
62
 
68
63
  新的 Agent preset 使用当前 roster 中选定的 id。DSH 允许合法的自定义
69
64
  `code` preset;只要当前 roster 存在它,显式输入和持久化状态都会保留 `code`。
70
- 旧数据中省略请求的 `code` default/session 值只有在确认 roster 不含 `code` 后
71
- 才会回退到 `ptc`。
65
+ DSH V3 migration 负责历史 session header/selection 的 `code -> ptc` 转换;
66
+ 当前 projection 会原样保留合法的自定义 `code`。只有省略请求的 legacy
67
+ settings default `code` 才会在确认 roster 不含 `code` 后回退到 `ptc`。
72
68
 
73
69
  ### Profile management
74
70
 
@@ -132,7 +128,8 @@ dsh --profile pi-tui --session <session-id>
132
128
  * Fork
133
129
  * Rewind
134
130
  * Session lineage
135
- * Transcript 导出
131
+ * `/export` — 完整 Session 归档(含子代理与附件),保存到 Client 本地目录
132
+ * `/transcript` — 可读 Markdown 对话记录,保存到 Client 本地目录
136
133
 
137
134
  使用:
138
135
 
@@ -140,6 +137,8 @@ dsh --profile pi-tui --session <session-id>
140
137
  /sessions
141
138
  /fork
142
139
  /rewind
140
+ /export
141
+ /transcript
143
142
  ```
144
143
 
145
144
  空闲且编辑器为空时也可以快速按两次 `Esc` 打开 Rewind。
@@ -223,7 +222,7 @@ Shell 卡片默认只显示有限的输出预览,`Ctrl+O` 可以展开完整
223
222
  @"path with spaces/file.ts"
224
223
  ```
225
224
 
226
- `/image <path>` 也支持文件与目录补全;带空格、引号或 Windows 分隔符的路径会保留输入方言,目录可以继续展开。
225
+ `/attach <path>` 是统一的 Client-local 图片/文件入口;`/image <path>` 保持图片专用兼容语义。两者都支持文件与目录补全;带空格、引号或 Windows 分隔符的路径会保留输入方言,目录可以继续展开。
227
226
 
228
227
  能够解析的相对路径会在提交时转换为明确的文件路径。
229
228
 
@@ -282,7 +281,7 @@ TUI 使用 DSH 提供的模型和设置服务。
282
281
  | 按键 | 功能 |
283
282
  | ------------- | ---------------------- |
284
283
  | `Enter` | 提交输入 |
285
- | `Ctrl+Enter` | Agent 忙碌时把草稿入队(与 Enter 相反) |
284
+ | `Ctrl+Enter` | 与 Enter 的忙碌行为相反(默认 steer,`busyEnter=steer` 时入队) |
286
285
  | `Shift+Enter` | 换行 |
287
286
  | `Esc` | 取消当前交互 / 中断运行 |
288
287
  | `Esc Esc` | 空闲时打开 Rewind |
@@ -529,22 +528,31 @@ dsh --profile pi-tui-dev
529
528
 
530
529
  ## DSH 兼容性与验证
531
530
 
532
- 以下内容仅介绍 Source Mode 和 CI 验证细节;普通用户无需使用 Source Mode 安装 TUI。
531
+ 以下内容仅介绍 DSH 兼容性与 CI 验证细节;普通用户无需了解即可安装 TUI。
533
532
 
534
- ### Source Mode(仅验证)
533
+ ### npm 模式(当前 `next`)
535
534
 
536
- Source Mode 是 `next` CI 按跟踪策略选用的、并可用于本地兼容性检查的验证专用 distribution。它从 `test/compat/dsh-source.json` 的完整 commit SHA 构建官方 DSH tarball family,通过临时 pnpm overrides 安装,并在完成后清理临时状态。不要把 DSH 源码路径、`file:` 依赖或 workspace symlink 写入发布 package。
535
+ 当前 `next` 线是 npm 模式:以本 checkout 的 `package.json` 声明、冻结
536
+ lockfile 解析的已发布 `dsh-v0.1.5-rc.1` family 为兼容目标。隔离的 npm
537
+ 驱动从公共 registry 安装该精确 family,并跑完整 build/test/package 路径:
537
538
 
538
539
  ```sh
539
- pnpm compat:dsh:source -- --dsh-dir "$HOME/project/deepseek-harness"
540
540
  pnpm compat:dsh:npm
541
541
  ```
542
542
 
543
+ ### Source Mode(仅验证)
544
+
545
+ Source Mode 是面向未发布 DSH checkout 的验证专用 distribution,用于本地
546
+ 兼容性检查与显式的 source 边界工作。它从 `test/compat/dsh-source.json` 的
547
+ 完整 commit SHA 构建官方 DSH tarball family,通过临时 pnpm overrides 安装,
548
+ 并在完成后清理临时状态。不要把 DSH 源码路径、`file:` 依赖或 workspace
549
+ symlink 写入发布 package。
550
+
543
551
  安装包已经包含运行所需的 Pi TUI fork,不需要额外安装内部的 TUI package。
544
552
 
545
553
  ### CI 验证策略
546
554
 
547
- CI 对 push 到 `next` 以及目标为 `next` 的 PR 遵循跟踪的 `test/compat/dsh-mode.json` 策略;`main` 和所有 tag 使用 npm Mode。`next` 的两种 lane 都从 `test/compat/dsh-source.json` 读取当前 validated DSH target;Source Mode 会验证完整的官方 DSH tarball family、TUI 预设和旧 runtime 边界,npm Mode 则运行冻结的 registry lane。对于尚未发布的 source family,已发布 `pi2dsh` 的生态检查会明确标记为 skipped。详细流程见 [`docs/dsh-compatibility.md`](docs/dsh-compatibility.md)。
555
+ CI 对 push 到 `next` 以及目标为 `next` 的 PR 遵循跟踪的 `test/compat/dsh-mode.json` 策略;`main` 和所有 tag 使用 npm Mode。Source Mode 从 `test/compat/dsh-source.json` 读取 source target 并验证完整的官方 DSH tarball family、TUI 预设和旧 runtime 边界;npm Mode 则使用 checkout 的 `package.json`/冻结 lockfile 中声明的 DSH 版本运行 registry lane。对于尚未发布的 source family,已发布 `pi2dsh` 的生态检查会明确标记为 skipped。详细流程见 [`docs/dsh-compatibility.md`](docs/dsh-compatibility.md)。
548
556
 
549
557
  ## 项目结构
550
558
 
package/cordis.patch.yml CHANGED
@@ -42,11 +42,12 @@
42
42
  - id: authorization
43
43
  name: '@deepseek-ai/dsh-authorization'
44
44
 
45
- # Consume DSH 0.1.2's official shipped presets directly. The upstream
45
+ # Official shipped presets are the composition authority. The upstream
46
46
  # service defaults includeShippedRoot/includeUserRoot to true, so this
47
47
  # bundle deliberately owns no duplicate standard/ptc/minimal/cordis root.
48
- # The legacy persisted id `code` is normalized at the data boundary to
49
- # `ptc`; it is not another preset row.
48
+ # DSH's V2→V3 format migration owns historical session preset conversion;
49
+ # the settings/default compatibility shim is kept separately at the TUI
50
+ # request boundary and does not add another preset row.
50
51
  - id: agent-presets
51
52
  name: '@deepseek-ai/dsh-agent-presets'
52
53
  config:
@@ -110,9 +111,6 @@
110
111
  - id: tool-fs-search
111
112
  disabled: true
112
113
 
113
- - id: tool-str-replace-editor
114
- disabled: true
115
-
116
114
  - id: skill-filesystem
117
115
  disabled: true
118
116
 
package/dist/builtins.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { H as PI_TUI_EXTENSIONS_SERVICE, L as dshVersion } from "./src-CeGK2mHo.mjs";
1
+ import { W as PI_TUI_EXTENSIONS_SERVICE, z as dshVersion } from "./src-B65x1oP2.mjs";
2
2
  import { TUI_STARTUP_SERVICE } from "./startup.mjs";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { join } from "node:path";
@@ -1,4 +1,4 @@
1
- import { D as PiTuiApiInfo, E as NormalizedKey, _ as ExtensionTier, h as EditorSnapshot, ot as TuiOverlayOptions, v as ExtensionView } from "../public-types-_pe9ZH00.mjs";
1
+ import { D as PiTuiApiInfo, E as NormalizedKey, _ as ExtensionTier, h as EditorSnapshot, ot as TuiOverlayOptions, v as ExtensionView } from "../public-types-YbB5Rhku.mjs";
2
2
 
3
3
  //#region src/extension/advanced-types.d.ts
4
4
  /** API level of the advanced tier. Bumped only on advanced breaking changes. */
@@ -8,6 +8,15 @@ declare const ADVANCED_API_LEVEL: 1;
8
8
  * sees. The Host has already decoded the terminal protocol (legacy + Kitty
9
9
  * CSI-u + modifyOtherKeys encodings, bracketed paste, key release/repeat
10
10
  * filtering), so an advanced plugin behaves identically on every terminal.
11
+ *
12
+ * EXPLICIT NON-EXPANSION (v0.85.1 mouse parity audit): this contract
13
+ * deliberately does NOT carry pointer/mouse events. Advanced interactive
14
+ * custom surfaces remain keyboard-input surfaces by contract; no raw
15
+ * mouse bytes are exposed and no API-level mouse feature is added here.
16
+ * A pointer-capable Advanced plugin API would require normalized mouse
17
+ * event design, capture ordering, docs, packed declaration checks and
18
+ * plugin migration semantics — a dedicated follow-up design, not a
19
+ * side effect of Host v0.85.1 integration.
11
20
  */
12
21
  type AdvancedInputEvent = /** One key press, normalized to the semantic identity. */{
13
22
  readonly kind: 'key';
@@ -1,4 +1,4 @@
1
- import { D as PiTuiApiInfo, _ as ExtensionTier, ot as TuiOverlayOptions } from "../public-types-_pe9ZH00.mjs";
1
+ import { D as PiTuiApiInfo, _ as ExtensionTier, ot as TuiOverlayOptions } from "../public-types-YbB5Rhku.mjs";
2
2
 
3
3
  //#region src/extension/unstable-types.d.ts
4
4
  /** API level of the unstable tier. Bumped only on unstable breaking changes. */
@@ -1,4 +1,4 @@
1
- import { $ as TuiKeybindingContribution, A as PiTuiSlotSemantic, B as TextView, C as InputWidget, D as PiTuiApiInfo, E as NormalizedKey, F as SpacerView, G as TuiAutocompleteQuery, H as TuiAction, I as StackView, J as TuiColorPalette, K as TuiAutocompleteRegistryView, L as StyledSpan, M as RegistrationSpec, N as RowsView, O as PiTuiCapability, P as SessionSnapshot, Q as TuiCommandHandle, R as SurfaceSnapshot, S as HeaderBadge, T as MessagePresentationSnapshot, U as TuiAutocompleteItem, V as ToolPresentationSnapshot, W as TuiAutocompleteProvider, X as TuiCommandBridgeView, Y as TuiCommandBridgeSnapshot, Z as TuiCommandContribution, _t as TuiThemeRegistrySnapshot, a as ContributionHealth, at as TuiOverlayHandle, b as FooterSegment, bt as describeKey, c as DockItem, ct as TuiRendererRegistrySnapshot, d as EditorHost, dt as TuiSettingHandle, et as TuiKeybindingHandle, f as EditorHostAction, ft as TuiSettingsRegistrySnapshot, g as ExtensionEditor, gt as TuiThemeHandle, h as EditorSnapshot, ht as TuiThemeContribution, i as AutocompleteProviderContribution, it as TuiMessageRendererContribution, j as RegistrationHandle, k as PiTuiSlotName, l as EditorContribution, lt as TuiRendererRegistryView, m as EditorInputEvent, mt as TuiSizeValue, n as ActivitySnapshot, nt as TuiKeybindingRegistryView, o as ContributionRecord, ot as TuiOverlayOptions, p as EditorHostActionResult, pt as TuiSettingsRegistryView, q as TuiAutocompleteSuggestions, r as AutocompleteHandle, rt as TuiLocalCommandHandler, s as ContributionState, st as TuiRendererHandle, t as API_VERSION, tt as TuiKeybindingRegistrySnapshot, u as EditorHandle, ut as TuiSettingContribution, v as ExtensionView, vt as TuiThemeRegistryView, w as MarkdownView, x as FrameView, y as FooterItemContribution, yt as TuiToolRendererContribution, z as SurfaceStateValues } from "./public-types-_pe9ZH00.mjs";
1
+ import { $ as TuiKeybindingContribution, A as PiTuiSlotSemantic, B as TextView, C as InputWidget, D as PiTuiApiInfo, E as NormalizedKey, F as SpacerView, G as TuiAutocompleteQuery, H as TuiAction, I as StackView, J as TuiColorPalette, K as TuiAutocompleteRegistryView, L as StyledSpan, M as RegistrationSpec, N as RowsView, O as PiTuiCapability, P as SessionSnapshot, Q as TuiCommandHandle, R as SurfaceSnapshot, S as HeaderBadge, T as MessagePresentationSnapshot, U as TuiAutocompleteItem, V as ToolPresentationSnapshot, W as TuiAutocompleteProvider, X as TuiCommandBridgeView, Y as TuiCommandBridgeSnapshot, Z as TuiCommandContribution, _t as TuiThemeRegistrySnapshot, a as ContributionHealth, at as TuiOverlayHandle, b as FooterSegment, bt as describeKey, c as DockItem, ct as TuiRendererRegistrySnapshot, d as EditorHost, dt as TuiSettingHandle, et as TuiKeybindingHandle, f as EditorHostAction, ft as TuiSettingsRegistrySnapshot, g as ExtensionEditor, gt as TuiThemeHandle, h as EditorSnapshot, ht as TuiThemeContribution, i as AutocompleteProviderContribution, it as TuiMessageRendererContribution, j as RegistrationHandle, k as PiTuiSlotName, l as EditorContribution, lt as TuiRendererRegistryView, m as EditorInputEvent, mt as TuiSizeValue, n as ActivitySnapshot, nt as TuiKeybindingRegistryView, o as ContributionRecord, ot as TuiOverlayOptions, p as EditorHostActionResult, pt as TuiSettingsRegistryView, q as TuiAutocompleteSuggestions, r as AutocompleteHandle, rt as TuiLocalCommandHandler, s as ContributionState, st as TuiRendererHandle, t as API_VERSION, tt as TuiKeybindingRegistrySnapshot, u as EditorHandle, ut as TuiSettingContribution, v as ExtensionView, vt as TuiThemeRegistryView, w as MarkdownView, x as FrameView, y as FooterItemContribution, yt as TuiToolRendererContribution, z as SurfaceStateValues } from "./public-types-YbB5Rhku.mjs";
2
2
  import { Context, Service } from "@deepseek-ai/cordis";
3
3
 
4
4
  //#region src/extension/service.d.ts
@@ -26,9 +26,12 @@ interface PiTuiExtensionService {
26
26
  */
27
27
  subscribeState(listener: (state: SurfaceStateValues) => void): () => void;
28
28
  /**
29
- * Register a TUI command contribution (M5): execution ownership metadata
30
- * over an existing command. The bridge does NOT execute — actual
31
- * execution stays in the commands service. Owned by the calling fiber.
29
+ * Register a CLIENT-OWNED command contribution (M5): a slash name whose
30
+ * behavior lives entirely on the client (the DSH client command
31
+ * contribution shape). It joins the `/` menu merged with the host catalog
32
+ * and the runner executes its own `handler` locally; a name that is also a
33
+ * host command fails loud at candidate synthesis and never shadows it.
34
+ * Owned by the calling fiber.
32
35
  * @param contribution - the command contribution.
33
36
  */
34
37
  registerCommand(contribution: TuiCommandContribution): TuiCommandHandle;
@@ -1,3 +1,3 @@
1
- import { B as inject, H as PI_TUI_EXTENSIONS_SERVICE, U as API_VERSION, V as name, W as describeKey, z as apply } from "./src-CeGK2mHo.mjs";
1
+ import { G as API_VERSION, H as inject, K as describeKey, U as name, V as apply, W as PI_TUI_EXTENSIONS_SERVICE } from "./src-B65x1oP2.mjs";
2
2
  import "./startup.mjs";
3
3
  export { API_VERSION, PI_TUI_EXTENSIONS_SERVICE, apply, describeKey, inject, name };