@xmoon76/dsh-pi-tui 0.3.5 → 0.3.6

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
@@ -31,6 +31,7 @@ dsh --profile pi-tui
31
31
  * Plan Review
32
32
  * Todo / Goal status
33
33
  * Human-readable terminal window titles
34
+ * Bounded long-session windows with stable paging and live-follow position
34
35
  * No duplicate ghost Tool Cards after compaction / pruning
35
36
 
36
37
  `Ctrl+O` controls Tool and System details — and in fullscreen Focus it bulk-expands the recent Thought roots or collapses them all. `Alt+T` controls Thinking separately.
@@ -135,6 +136,8 @@ Typing `@` opens workspace file search and completion:
135
136
  @"path with spaces/file.ts"
136
137
  ```
137
138
 
139
+ `/image <path>` also completes files and directories; paths with spaces, quotes, or Windows separators preserve the input dialect, and directories can be expanded further.
140
+
138
141
  Resolvable relative paths are canonicalized before submission.
139
142
 
140
143
  Clipboard images can be added with `Ctrl+V` and persisted through the DSH Attachment service.
@@ -198,7 +201,9 @@ one-keystroke Reset). The preview is composed by the real footer engine
198
201
  and — with the contextual help — pinned to the top of the panel; it never
199
202
  scrolls away at any terminal size. `S` on the Row Selector saves
200
203
  (persisted); `Esc` walks back page by page and closes on the first page
201
- without touching the active layout. Usable before any session exists.
204
+ without touching the active layout. With dirty changes, `Esc` first offers
205
+ Save & Exit, Discard & Exit, or Keep Editing; saving waits for the settings
206
+ write to succeed. Usable before any session exists.
202
207
 
203
208
  The Add Picker also offers `+ Create Custom Text` for user-defined static text items. Their text, default semantic tone, display name, and deletion are editable; definitions are read and persisted only from the USER layer. The definition tone is separate from the placement Tone, and the item can otherwise be shown/hidden, moved, and reordered like any other footer item.
204
209
 
@@ -310,6 +315,7 @@ segments aggregate into the single `ext:*` item. Full author guide:
310
315
  | `Ctrl+T` | Toggle the todo panel |
311
316
  | `Ctrl+R` | Search input history |
312
317
  | `Ctrl+F` | Search Transcript |
318
+ | `Ctrl+End` | Jump to the latest Transcript output in fullscreen |
313
319
  | `Ctrl+O` | Expand / collapse Tool and System details; in fullscreen Focus, bulk-toggle the Thought roots |
314
320
  | `Alt+T` | Expand / collapse Thinking |
315
321
  | `Ctrl+G` | Edit current input in `$VISUAL`/`$EDITOR` |
@@ -630,6 +636,7 @@ Contributor-oriented repository structure and development rules are documented i
630
636
  | [docs/concurrency.md](docs/concurrency.md) | Session concurrency |
631
637
  | [docs/failure-model.md](docs/failure-model.md) | Async failure / cancellation |
632
638
  | [docs/perf-baseline.md](docs/perf-baseline.md) | Performance baseline |
639
+ | [docs/local-development.md](docs/local-development.md) | Local development and worktree policy |
633
640
  | [docs/extension-api.md](docs/extension-api.md) | Extension API |
634
641
  | [AGENTS.md](AGENTS.md) | Contributor operating manual |
635
642
 
package/README.md CHANGED
@@ -31,6 +31,7 @@ dsh --profile pi-tui
31
31
  * Plan Review
32
32
  * Todo / Goal 状态展示
33
33
  * 可读的终端窗口标题
34
+ * 长会话按有界窗口浏览,并保留翻页与实时跟随位置
34
35
  * Compaction / prune 后不会出现重复的幽灵 Tool Card
35
36
 
36
37
  `Ctrl+O` 控制工具和系统详情;在全屏 Focus 下它整体展开最近几个 Thought root,或全部收起。`Alt+T` 单独控制 Thinking。
@@ -135,6 +136,8 @@ Shell 卡片默认只显示有限的输出预览,`Ctrl+O` 可以展开完整
135
136
  @"path with spaces/file.ts"
136
137
  ```
137
138
 
139
+ `/image <path>` 也支持文件与目录补全;带空格、引号或 Windows 分隔符的路径会保留输入方言,目录可以继续展开。
140
+
138
141
  能够解析的相对路径会在提交时转换为明确的文件路径。
139
142
 
140
143
  支持通过 `Ctrl+V` 添加剪贴板图片,并使用 DSH Attachment 能力保存到 Session。
@@ -191,7 +194,8 @@ label / id / 描述过滤,选中项下方显示描述),`M` 进入 Move Mode
191
194
  Tone 语义色;Advanced 编辑 prefix / suffix / importance 并可一键
192
195
  Reset)。预览由真实 Footer 引擎合成,与 contextual help 一起固定在
193
196
  面板顶部,任何终端尺寸下都不会随列表滚动消失。Row Selector 页 `S`
194
- 保存(持久化),`Esc` 逐页返回、在首页关闭且不影响当前生效布局。
197
+ 保存(持久化),`Esc` 逐页返回、在首页关闭且不影响当前生效布局。存在未保存改动时,
198
+ `Esc` 会先显示 Save & Exit、Discard & Exit 或 Keep Editing;保存会等待设置写入成功。
195
199
  无会话时也可使用。
196
200
 
197
201
  Add Picker 的末尾还可以选择 `+ Create Custom Text`,创建用户自定义的静态文本条目。创建后可编辑文本、默认语义色、显示名称,也可以删除;条目定义只从 USER 层读取并持久化。定义 Tone 与布局中的放置 Tone 分开,条目仍可在 `/footer` 中显示/隐藏、移动和排序。
@@ -294,6 +298,7 @@ id 本身不得包含 `/`。旧的 `chrome.footer.status` 槽位不变:
294
298
  | `Ctrl+T` | 切换 Todo 面板 |
295
299
  | `Ctrl+R` | 搜索输入历史 |
296
300
  | `Ctrl+F` | 搜索 Transcript |
301
+ | `Ctrl+End` | 全屏时跳到最新 Transcript 输出 |
297
302
  | `Ctrl+O` | 展开 / 折叠工具和系统详情;全屏 Focus 下整体切换 Thought root |
298
303
  | `Alt+T` | 展开 / 折叠 Thinking |
299
304
  | `Ctrl+G` | 使用 `$VISUAL`/`$EDITOR` 编辑输入 |
@@ -606,6 +611,7 @@ packages/pi-tui/AGENTS.md
606
611
  | [docs/concurrency.md](docs/concurrency.md) | Session 并发 |
607
612
  | [docs/failure-model.md](docs/failure-model.md) | Async failure / cancellation |
608
613
  | [docs/perf-baseline.md](docs/perf-baseline.md) | 性能基线 |
614
+ | [docs/local-development.md](docs/local-development.md) | 本地开发环境与 worktree 约定 |
609
615
  | [docs/extension-api.md](docs/extension-api.md) | Extension API |
610
616
  | [AGENTS.md](AGENTS.md) | Contributor operating manual |
611
617
 
package/dist/builtins.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { TUI_STARTUP_SERVICE } from "./startup.mjs";
2
- import { I as dshVersion, V as PI_TUI_EXTENSIONS_SERVICE } from "./src-B93JMbsv.mjs";
2
+ import { I as dshVersion, V as PI_TUI_EXTENSIONS_SERVICE } from "./src-Bk66X6NR.mjs";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
  //#region src/builtins.ts
@@ -1,3 +1,3 @@
1
1
  import "./startup.mjs";
2
- import { B as name, H as API_VERSION, R as apply, U as describeKey, V as PI_TUI_EXTENSIONS_SERVICE, z as inject } from "./src-B93JMbsv.mjs";
2
+ import { B as name, H as API_VERSION, R as apply, U as describeKey, V as PI_TUI_EXTENSIONS_SERVICE, z as inject } from "./src-Bk66X6NR.mjs";
3
3
  export { API_VERSION, PI_TUI_EXTENSIONS_SERVICE, apply, describeKey, inject, name };
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import "./startup.mjs";
2
- import { A as shouldSteerOnEnter, C as recomposeBlank, D as runningProfile, E as resumeCommand, F as viewerActionCapability, L as forkSeed, M as subagentJobViewHint, N as subagentNoticeIsFailure, O as settleCompactionSurface, P as teardownViewerForSessionSwap, S as normalizeSkillInvocation, T as resolveInitialCatalog, _ as isPlainExitPrompt, a as SessionLockRefusedError, b as matchPendingSubagentCall, c as commandRejectsImages, d as createViewerOpenToken, f as dangerCommand, g as interruptAgent, h as inject, i as SESSIONLESS_COMMANDS, j as subagentJobTranscriptId, k as shouldConsumeAdvertisedMiss, l as compactingFromLog, m as foldQueueRows, n as HOST_COMMAND_CATALOG, o as apply, p as foldCompactionEvent, r as LOCAL_COMMANDS, s as busyAfterTurnBoundary, t as Config, u as composeAgent, v as isSubagentSettlementNotice, w as recordedPreset, x as name, y as isUserQueueInput } from "./src-B93JMbsv.mjs";
2
+ import { A as shouldSteerOnEnter, C as recomposeBlank, D as runningProfile, E as resumeCommand, F as viewerActionCapability, L as forkSeed, M as subagentJobViewHint, N as subagentNoticeIsFailure, O as settleCompactionSurface, P as teardownViewerForSessionSwap, S as normalizeSkillInvocation, T as resolveInitialCatalog, _ as isPlainExitPrompt, a as SessionLockRefusedError, b as matchPendingSubagentCall, c as commandRejectsImages, d as createViewerOpenToken, f as dangerCommand, g as interruptAgent, h as inject, i as SESSIONLESS_COMMANDS, j as subagentJobTranscriptId, k as shouldConsumeAdvertisedMiss, l as compactingFromLog, m as foldQueueRows, n as HOST_COMMAND_CATALOG, o as apply, p as foldCompactionEvent, r as LOCAL_COMMANDS, s as busyAfterTurnBoundary, t as Config, u as composeAgent, v as isSubagentSettlementNotice, w as recordedPreset, x as name, y as isUserQueueInput } from "./src-Bk66X6NR.mjs";
3
3
  export { Config, HOST_COMMAND_CATALOG, LOCAL_COMMANDS, SESSIONLESS_COMMANDS, SessionLockRefusedError, apply, busyAfterTurnBoundary, commandRejectsImages, compactingFromLog, composeAgent, createViewerOpenToken, dangerCommand, foldCompactionEvent, foldQueueRows, forkSeed, inject, interruptAgent, isPlainExitPrompt, isSubagentSettlementNotice, isUserQueueInput, matchPendingSubagentCall, name, normalizeSkillInvocation, recomposeBlank, recordedPreset, resolveInitialCatalog, resumeCommand, runningProfile, settleCompactionSurface, shouldConsumeAdvertisedMiss, shouldSteerOnEnter, subagentJobTranscriptId, subagentJobViewHint, subagentNoticeIsFailure, teardownViewerForSessionSwap, viewerActionCapability };