@aiwayds/dsh-tui-pi 2.20.0 → 2.21.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.md CHANGED
@@ -148,6 +148,12 @@ pnpm test # unit tests, node --test against lib/ (pretest builds — the cur
148
148
 
149
149
  ---
150
150
 
151
+ ## Compatibility note
152
+
153
+ Resuming, under a dsh 0.1.6 host, a session saved under dsh 0.1.5-rc.2 whose subagent completion notices carried reasoning content fails to serialize the first model request (upstream B-21 — host-side data issue, not a plugin defect). If `/resume` fails this way, start a new session instead.
154
+
155
+ ---
156
+
151
157
  ## Credits
152
158
 
153
159
  The [Ask User Question](docs/features/ask-user-question.md) interaction is inspired by [juicesharp/rpiv-ask-user-question](https://github.com/juicesharp/rpiv-ask-user-question) (adapted to this TUI's docked-panel and dsh `userQuestions` provider architecture; all code here is original).
package/README.zh-CN.md CHANGED
@@ -144,6 +144,12 @@ pnpm test # 单元测试,node --test 对 lib/ 执行(pretest 构建;
144
144
 
145
145
  ---
146
146
 
147
+ ## 兼容性说明
148
+
149
+ dsh 0.1.5-rc.2 时代保存、且 subagent 完成通知携带 reasoning 内容的会话,在 dsh 0.1.6 宿主下 `/resume` 恢复时首个模型请求会序列化失败(上游 B-21,宿主数据问题、非插件缺陷)。遇到此情况请改开新会话,不要在 0.1.6 下恢复该旧会话。
150
+
151
+ ---
152
+
147
153
  ## 致谢
148
154
 
149
155
  [Ask User Question](docs/features/ask-user-question.md) 交互的灵感来自 [juicesharp/rpiv-ask-user-question](https://github.com/juicesharp/rpiv-ask-user-question)(改编自本 TUI 的停靠面板与 dsh `userQuestions` provider 架构;这里的全部代码均为原创)。
@@ -12,22 +12,38 @@
12
12
  */
13
13
  import { type Component, type TUI } from '@earendil-works/pi-tui';
14
14
  import { type TuiTheme } from './theme/index.ts';
15
- import type { BtwController, BtwRunState } from './btw.ts';
15
+ import { type BtwController, type BtwRunState } from './btw.ts';
16
16
  export declare class BtwOverlayPanel implements Component {
17
17
  private readonly run;
18
18
  private readonly controller;
19
19
  private readonly theme;
20
20
  private readonly onClose;
21
+ private readonly requestRender;
21
22
  private readonly question;
22
23
  /** Streaming view — one Text, setText per change (AGENTS.md #2). */
23
24
  private readonly answerText;
24
25
  private streamedText;
25
26
  /** Built once when the run settles; never re-parsed per frame. */
26
27
  private finalMarkdown;
27
- constructor(run: BtwRunState, controller: BtwController, theme: () => TuiTheme, onClose: () => void);
28
+ /** Answer-window scroll state (tail-pinned by default; math in btw.ts). */
29
+ private scroll;
30
+ /** Answer line count / window budget of the last render — the scroll range. */
31
+ private lineCount;
32
+ private bodyRows;
33
+ constructor(run: BtwRunState, controller: BtwController, theme: () => TuiTheme, onClose: () => void, requestRender: () => void);
28
34
  invalidate(): void;
29
35
  render(width: number): string[];
30
36
  handleInput(data: string): void;
37
+ /**
38
+ * Push the answer window (visible slice + hidden-row markers) and persist
39
+ * the clamped scroll state. The markers are extra rows beyond the budget,
40
+ * like the historical tail-window marker was.
41
+ */
42
+ private pushAnswerWindow;
43
+ /** Footer hint — only when the answer actually overflows the window. */
44
+ private scrollHint;
45
+ /** Scroll the answer window over the last rendered answer; repaint. */
46
+ private scrollAnswer;
31
47
  }
32
48
  /**
33
49
  * Overlay lifecycle for btw runs: `open(run)` shows/swaps the framed panel
@@ -13,6 +13,7 @@
13
13
  import { getKeybindings, Markdown, Text } from '@earendil-works/pi-tui';
14
14
  import { PanelHost, panelThemeFns } from "./panels.js";
15
15
  import { BOLD, RESET, ansiFg } from "./theme/index.js";
16
+ import { btwAnswerWindow, btwScrollBy, } from "./btw.js";
16
17
  import { clipToWidth } from "./text.js";
17
18
  /**
18
19
  * Answer row budget, sized so the panel NEVER overflows the 24-row e2e
@@ -20,7 +21,10 @@ import { clipToWidth } from "./text.js";
20
21
  * FramedOverlay chrome eats 4, fixed rows are 4 (title + 2 blanks + status),
21
22
  * and the question rows come out of the remainder per frame — an overlay
22
23
  * taller than that just shows a roomier answer. Overflow of the answer
23
- * itself is a named tail window (the newest rows stay visible).
24
+ * itself is a scroll window pinned to the tail: ↑/↓ line-scroll and
25
+ * PgUp/PgDn page it, a scroll-up detaches from the tail and reaching the
26
+ * bottom re-attaches (the SubagentViewerPanel contract; the math lives in
27
+ * btw.ts). The default state renders exactly the historical tail window.
24
28
  */
25
29
  const BTW_ANSWER_BASE_BUDGET = 11;
26
30
  const BTW_ANSWER_MIN_BUDGET = 3;
@@ -29,17 +33,24 @@ export class BtwOverlayPanel {
29
33
  controller;
30
34
  theme;
31
35
  onClose;
36
+ requestRender;
32
37
  question;
33
38
  /** Streaming view — one Text, setText per change (AGENTS.md #2). */
34
39
  answerText;
35
40
  streamedText = '';
36
41
  /** Built once when the run settles; never re-parsed per frame. */
37
42
  finalMarkdown;
38
- constructor(run, controller, theme, onClose) {
43
+ /** Answer-window scroll state (tail-pinned by default; math in btw.ts). */
44
+ scroll = { scrollTop: 0, followEnd: true };
45
+ /** Answer line count / window budget of the last render — the scroll range. */
46
+ lineCount = 0;
47
+ bodyRows = 0;
48
+ constructor(run, controller, theme, onClose, requestRender) {
39
49
  this.run = run;
40
50
  this.controller = controller;
41
51
  this.theme = theme;
42
52
  this.onClose = onClose;
53
+ this.requestRender = requestRender;
43
54
  this.question = new Text(run.question, 1, 0);
44
55
  this.answerText = new Text('', 1, 0);
45
56
  }
@@ -61,13 +72,13 @@ export class BtwOverlayPanel {
61
72
  this.streamedText = this.run.answerText;
62
73
  }
63
74
  if (this.run.answerText !== '') {
64
- lines.push(...tailWindow(this.answerText.render(wrap), budget, wrap));
75
+ this.pushAnswerWindow(lines, this.answerText.render(wrap), budget, wrap, fns);
65
76
  }
66
77
  else {
67
78
  lines.push(fns.muted(clipToWidth('Thinking…', wrap)));
68
79
  }
69
80
  lines.push('');
70
- lines.push(fns.subtle(clipToWidth(`Running alongside the main task · Esc close${queued > 0 ? ` · ${queued} queued` : ''}`, wrap)));
81
+ lines.push(fns.subtle(clipToWidth(`Running alongside the main task · Esc close${this.scrollHint()}${queued > 0 ? ` · ${queued} queued` : ''}`, wrap)));
71
82
  return lines;
72
83
  }
73
84
  if (this.run.status === 'error') {
@@ -83,23 +94,52 @@ export class BtwOverlayPanel {
83
94
  color: text => ansiFg(this.theme().palette.fgDefault) + text + RESET,
84
95
  });
85
96
  }
86
- lines.push(...tailWindow(this.finalMarkdown.render(wrap), budget, wrap));
97
+ this.pushAnswerWindow(lines, this.finalMarkdown.render(wrap), budget, wrap, fns);
87
98
  }
88
99
  lines.push('');
89
- lines.push(fns.subtle(clipToWidth(`Not kept in the session · /btw reopens this answer${queued > 0 ? ` · ${queued} queued` : ''}`, wrap)));
100
+ lines.push(fns.subtle(clipToWidth(`Not kept in the session · /btw reopens this answer${this.scrollHint()}${queued > 0 ? ` · ${queued} queued` : ''}`, wrap)));
90
101
  return lines;
91
102
  }
92
103
  handleInput(data) {
93
- if (getKeybindings().matches(data, 'tui.select.cancel'))
104
+ const kb = getKeybindings();
105
+ if (kb.matches(data, 'tui.select.cancel')) {
94
106
  this.onClose();
107
+ return;
108
+ }
109
+ if (kb.matches(data, 'tui.select.up'))
110
+ this.scrollAnswer(-1);
111
+ else if (kb.matches(data, 'tui.select.down'))
112
+ this.scrollAnswer(1);
113
+ else if (kb.matches(data, 'tui.select.pageUp'))
114
+ this.scrollAnswer(-this.bodyRows);
115
+ else if (kb.matches(data, 'tui.select.pageDown'))
116
+ this.scrollAnswer(this.bodyRows);
117
+ }
118
+ /**
119
+ * Push the answer window (visible slice + hidden-row markers) and persist
120
+ * the clamped scroll state. The markers are extra rows beyond the budget,
121
+ * like the historical tail-window marker was.
122
+ */
123
+ pushAnswerWindow(out, rendered, budget, wrap, fns) {
124
+ const win = btwAnswerWindow(rendered, budget, this.scroll);
125
+ this.scroll = win.state;
126
+ this.lineCount = rendered.length;
127
+ this.bodyRows = budget;
128
+ if (win.above > 0)
129
+ out.push(fns.subtle(clipToWidth(`… ${win.above} lines above`, wrap)));
130
+ out.push(...win.lines);
131
+ if (win.below > 0)
132
+ out.push(fns.subtle(clipToWidth(`… ${win.below} lines below`, wrap)));
133
+ }
134
+ /** Footer hint — only when the answer actually overflows the window. */
135
+ scrollHint() {
136
+ return this.lineCount > this.bodyRows ? ' · ↑↓ scroll' : '';
137
+ }
138
+ /** Scroll the answer window over the last rendered answer; repaint. */
139
+ scrollAnswer(delta) {
140
+ this.scroll = btwScrollBy(this.scroll, delta, this.lineCount, this.bodyRows);
141
+ this.requestRender();
95
142
  }
96
- }
97
- /** Last rows that fit the budget; the hidden count is named above the tail. */
98
- function tailWindow(rendered, budget, wrap) {
99
- if (rendered.length <= budget)
100
- return rendered;
101
- const hidden = rendered.length - budget;
102
- return [clipToWidth(`… ${hidden} lines above`, wrap), ...rendered.slice(-budget)];
103
143
  }
104
144
  /**
105
145
  * Overlay lifecycle for btw runs: `open(run)` shows/swaps the framed panel
@@ -138,7 +178,7 @@ export class BtwOverlayWire {
138
178
  this.host?.close();
139
179
  this.host = new PanelHost(this.tui, this.theme(), close);
140
180
  controller.setOverlayOpen(true);
141
- this.host.open(new BtwOverlayPanel(run, controller, this.theme, close), '70%', '80%');
181
+ this.host.open(new BtwOverlayPanel(run, controller, this.theme, close, () => this.tui.requestRender()), '70%', '80%');
142
182
  }
143
183
  /** Called by cancelAll — the overlay's run is gone either way. */
144
184
  requestClose() {
@@ -1 +1 @@
1
- {"version":3,"file":"btw-overlay.js","sourceRoot":"","sources":["../src/btw-overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"btw-overlay.js","sourceRoot":"","sources":["../src/btw-overlay.ts"],"names":[],"mappings":"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"}
package/lib/btw.d.ts CHANGED
@@ -17,10 +17,10 @@
17
17
  * docs/adr/0001-btw-tui-owned-command.md.
18
18
  *
19
19
  * Split: pure decision layer here — arg parsing, snapshot assembly, the queue
20
- * state machine, stream consumption and the controller, all over structural
21
- * slices so the matrix runs without a terminal (test/btw.test.mjs). The
22
- * overlay component + PanelHost glue live in btw-overlay.ts; the command
23
- * wiring in index.ts.
20
+ * state machine, stream consumption, the controller, and the answer-window
21
+ * scroll math, all over structural slices so the matrix runs without a
22
+ * terminal (test/btw.test.mjs). The overlay component + PanelHost glue live
23
+ * in btw-overlay.ts; the command wiring in index.ts.
24
24
  */
25
25
  import { type Message, type ReasoningEffortId } from '@deepseek-ai/dsh-llm';
26
26
  /** Idle-state guidance for a bare `/btw`: the main line is idle, ask directly. */
@@ -224,3 +224,41 @@ export declare class BtwController {
224
224
  /** Settle the queue slot; a queued job (if any) launches immediately. */
225
225
  private drain;
226
226
  }
227
+ /**
228
+ * Scroll state of the overlay's answer window. The default is the tail
229
+ * (`followEnd` — streaming growth keeps the newest rows on screen); an
230
+ * explicit scroll-up detaches, and reaching the bottom re-attaches (the
231
+ * SubagentViewerPanel contract).
232
+ */
233
+ export interface BtwScrollState {
234
+ /** Rendered answer lines above the window top. */
235
+ scrollTop: number;
236
+ /** Whether the window is pinned to the answer tail. */
237
+ followEnd: boolean;
238
+ }
239
+ /**
240
+ * One scroll step over the last rendered answer (`lineCount`/`bodyRows` are
241
+ * the render-pass caches): clamped to the range, re-attached to the tail
242
+ * when the window reaches the bottom. Pure — the caller keeps the result.
243
+ */
244
+ export declare function btwScrollBy(state: BtwScrollState, lines: number, lineCount: number, bodyRows: number): BtwScrollState;
245
+ /** The clamped answer window of one render pass. */
246
+ export interface BtwAnswerWindow {
247
+ /** The clamped state to keep for the next pass (content may grow/swap). */
248
+ state: BtwScrollState;
249
+ /** Visible rows — the hidden markers are the overlay's business, not ours. */
250
+ lines: string[];
251
+ /** Rendered lines hidden above the window (0 = starts at the top). */
252
+ above: number;
253
+ /** Rendered lines hidden below the window (0 = reaches the bottom). */
254
+ below: number;
255
+ }
256
+ /**
257
+ * Slice the visible answer window and clamp `state` against the freshly
258
+ * rendered line count: a stale `scrollTop` (content shrank on settle, or the
259
+ * window outgrew the answer) re-attaches to the tail; otherwise a detached
260
+ * window stays anchored to its top line while streaming growth piles new
261
+ * rows below it. The default (tail-pinned) state slices exactly the last
262
+ * `budget` rows — the historical tail window.
263
+ */
264
+ export declare function btwAnswerWindow(rendered: readonly string[], budget: number, state: BtwScrollState): BtwAnswerWindow;
package/lib/btw.js CHANGED
@@ -17,10 +17,10 @@
17
17
  * docs/adr/0001-btw-tui-owned-command.md.
18
18
  *
19
19
  * Split: pure decision layer here — arg parsing, snapshot assembly, the queue
20
- * state machine, stream consumption and the controller, all over structural
21
- * slices so the matrix runs without a terminal (test/btw.test.mjs). The
22
- * overlay component + PanelHost glue live in btw-overlay.ts; the command
23
- * wiring in index.ts.
20
+ * state machine, stream consumption, the controller, and the answer-window
21
+ * scroll math, all over structural slices so the matrix runs without a
22
+ * terminal (test/btw.test.mjs). The overlay component + PanelHost glue live
23
+ * in btw-overlay.ts; the command wiring in index.ts.
24
24
  */
25
25
  import { createUserMessage } from '@deepseek-ai/dsh-llm';
26
26
  import { t } from "./i18n/index.js";
@@ -422,4 +422,38 @@ function resolveOverride(modelOverride) {
422
422
  return undefined;
423
423
  return { provider: modelOverride.slice(0, slash), model: modelOverride.slice(slash + 1) };
424
424
  }
425
+ /** Max scroll offset of a `bodyRows` window over `lineCount` lines. */
426
+ function btwMaxScroll(lineCount, bodyRows) {
427
+ return Math.max(0, lineCount - bodyRows);
428
+ }
429
+ /**
430
+ * One scroll step over the last rendered answer (`lineCount`/`bodyRows` are
431
+ * the render-pass caches): clamped to the range, re-attached to the tail
432
+ * when the window reaches the bottom. Pure — the caller keeps the result.
433
+ */
434
+ export function btwScrollBy(state, lines, lineCount, bodyRows) {
435
+ const maxScroll = btwMaxScroll(lineCount, bodyRows);
436
+ const start = state.followEnd ? maxScroll : state.scrollTop;
437
+ const next = Math.max(0, Math.min(maxScroll, start + lines));
438
+ return { scrollTop: next, followEnd: next === maxScroll };
439
+ }
440
+ /**
441
+ * Slice the visible answer window and clamp `state` against the freshly
442
+ * rendered line count: a stale `scrollTop` (content shrank on settle, or the
443
+ * window outgrew the answer) re-attaches to the tail; otherwise a detached
444
+ * window stays anchored to its top line while streaming growth piles new
445
+ * rows below it. The default (tail-pinned) state slices exactly the last
446
+ * `budget` rows — the historical tail window.
447
+ */
448
+ export function btwAnswerWindow(rendered, budget, state) {
449
+ const maxScroll = btwMaxScroll(rendered.length, budget);
450
+ const followEnd = state.followEnd || state.scrollTop >= maxScroll;
451
+ const scrollTop = followEnd ? maxScroll : state.scrollTop;
452
+ return {
453
+ state: { scrollTop, followEnd },
454
+ lines: rendered.slice(scrollTop, scrollTop + budget),
455
+ above: scrollTop,
456
+ below: maxScroll - scrollTop,
457
+ };
458
+ }
425
459
  //# sourceMappingURL=btw.js.map
package/lib/btw.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"btw.js","sourceRoot":"","sources":["../src/btw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"btw.js","sourceRoot":"","sources":["../src/btw.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiwayds/dsh-tui-pi",
3
- "version": "2.20.0",
3
+ "version": "2.21.0",
4
4
  "description": "A fully-featured pi-style terminal UI for DeepSeek Harness (dsh) — history look-back & fork-at-turn, guided preset switching, live subagent steering, model profiles & themes",
5
5
  "repository": {
6
6
  "type": "git",