@aiwayds/dsh-tui-pi 0.22.1 → 0.24.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
@@ -201,12 +201,13 @@ There's no slash command to toggle the feature — it's always on, controlled by
201
201
 
202
202
  While the model is mid-turn it can pause and ask you structured questions via the `ask_user_question` tool (`@deepseek-ai/dsh-tool-ask-user`, mounted by this profile's bundle patch). The TUI hosts the answering side: a bordered panel pins itself directly above the chat input (the Todos-panel slot — no floating popup), takes the keyboard while open, the tool call stays pending until you answer, and your answers flow back to the model as a normal tool result.
203
203
 
204
- - **One panel, all questions flattened** — every question renders as a header row followed by its supporting `detail` text (when the model supplies any), option rows, plus a `Type something.` sentinel row for free text. Single-select replaces on Enter; multi-select toggles (`[+]` marks).
204
+ - **One question at a time, tabs for the rest** — with several questions the panel shows exactly ONE question block (header row + supporting `detail` text, option rows, plus a `Type something.` sentinel row for free text); a tab strip under the title (`[1] · 2✓ · 3` — brackets mark the focused tab, ✓ an answered one) folds the other questions away. `←`/`→` (and Tab/Shift-Tab) switch tabs; answering a single-select tab auto-advances to the next unanswered one (or onto the Confirm row once everything is answered). Single-select replaces on Enter; multi-select toggles (`●`/`○` marks) and never auto-advances.
205
+ - **Ctrl+T folds the panel to a 3-line strip** — the questions panel can block the transcript it stacks on while you think; Ctrl+T collapses it to borders + one summary line (phase, tab position, answered count, how to expand) and the same key unfolds it. While folded only the toggle and the Esc chain act; folding mid-edit commits the buffer like the ↑↓ arrow-exit does.
205
206
  - **Single-question fast path** — a lone single-select question submits immediately on Enter: picking an option or committing typed free text both submit right away (a question without options is answered by typing alone). A lone multiSelect question instead gets a `⏎ Confirm answers` row so you can pick several options before submitting.
206
- - **Multi-question review page** — with ≥ 2 questions a `⏎ Confirm answers` row hops to a review listing every answer, each row editable in place; `Submit answers` commits (Enter on it while an answer is missing flashes a hint instead of failing silently). After committing free text on one question the cursor hops to the next unanswered one.
207
+ - **Multi-question review page** — with ≥ 2 questions a `⏎ Confirm answers` row hops to a review listing every answer, each row editable in place (jumping back re-focuses that question's tab); `Submit answers` commits (Enter on it while an answer is missing flashes a hint instead of failing silently).
207
208
  - **Double-Esc declines** — two Esc presses within 200 ms return a declined envelope (the model reads it as a normal reply that no answer was given); holding Esc does not accidentally fire (key auto-repeat below a minimum gap is ignored), and the tool call being aborted settles as declined too. While the panel is open it owns the keyboard exactly like an open overlay: Esc never arms the running-task stop, and app keys (Ctrl+L/G/O, Tab) yield to the panel.
208
209
  - **Conservative-use guidance** — a system-prompt section nudges the model to ask only when it genuinely needs you (1–3 questions, 2–4 options each), so the TUI doesn't turn into a questionnaire.
209
- - **Keyboard** — `↑↓` navigate · `Enter` select/toggle/confirm · type into the sentinel for free text · `Esc` twice to decline.
210
+ - **Keyboard** — `←→` switch question tabs · `↑↓` navigate · `Enter` select/toggle/confirm · type into the sentinel for free text · `Ctrl+T` fold/unfold the panel · `Esc` twice to decline.
210
211
 
211
212
  Inspired by [juicesharp/rpiv-ask-user-question](https://github.com/juicesharp/rpiv-ask-user-question).
212
213
 
@@ -501,7 +502,8 @@ See [CHANGELOG.md](CHANGELOG.md) for the release history.
501
502
 
502
503
  - [Ask User Question](#ask-user-question) is inspired by
503
504
  [juicesharp/rpiv-ask-user-question](https://github.com/juicesharp/rpiv-ask-user-question) —
504
- the interaction design (flattened option list with a free-text sentinel,
505
- multi-question review page, decline gesture) was adapted to this TUI's
506
- framed-overlay and dsh `userQuestions` provider architecture. All code here
507
- is original.
505
+ the interaction design (numbered option list with a free-text sentinel,
506
+ multi-question review page, decline gesture; since reworked into a
507
+ one-question-at-a-time tab view with a fold-away strip) was adapted to this
508
+ TUI's docked-panel and dsh `userQuestions` provider architecture. All code
509
+ here is original.
package/lib/ask-user.d.ts CHANGED
@@ -8,12 +8,17 @@
8
8
  * `AskUserQuestionAnswer` envelope back to `dsh-tool-ask-user` as a normal
9
9
  * tool result.
10
10
  *
11
- * Layout — one bordered dock panel, all questions flattened (numbered rows, a
12
- * divider between each question block and its options, and a scroll window
13
- * so the cursor row is always visible even when the dock is height-capped):
11
+ * Layout — one bordered dock panel showing EXACTLY ONE question at a time
12
+ * (numbered rows, a divider between the question block and its options, and
13
+ * a scroll window so the cursor row is always visible even when the dock is
14
+ * height-capped). With ≥ 2 questions a tab strip under the title carries one
15
+ * tab per question (`[1] · 2✓ · 3` — brackets mark the focused tab, ✓ an
16
+ * answered one); ←/→ (and Tab/Shift-Tab) switch tabs so a question batch
17
+ * never floods the dock:
14
18
  *
15
19
  * ┌────────────────────────────────────┐
16
- * │ ● Questions (2)
20
+ * │ ● Questions (1/2)
21
+ * │ [1] · 2 │ (tab strip, ≥ 2 questions only)
17
22
  * │ SELECTION │
18
23
  * │ ───────────────────────────── │ (table chrome)
19
24
  * │ Fruit Where should we deploy? │ (header — not selectable)
@@ -26,6 +31,11 @@
26
31
  * │ ⏎ Confirm answers │ (when ≥ 2 questions, or any multiSelect)
27
32
  * └────────────────────────────────────┘
28
33
  *
34
+ * Ctrl+T folds the whole panel into a 3-line strip (borders + one summary
35
+ * line) so the transcript stays readable while the question pends; the same
36
+ * key unfolds it. While folded only the toggle and the Esc chain do
37
+ * anything — answering keys are inert until the panel is back.
38
+ *
29
39
  * While the panel is open it owns the keyboard: it is mounted into the dock
30
40
  * slot between the live widgets and the editor, takes focus through
31
41
  * `tui.setFocus`, and `setModalActive(true)` routes the app keymap exactly
@@ -45,7 +55,9 @@
45
55
  * Single-question single-select panel: Enter on an option (or committing a
46
56
  * filled sentinel) submits immediately. A multiSelect question — even a lone
47
57
  * one — gets a Confirm row instead of auto-submitting, so the user can pick
48
- * several options first. Multi-question panel: Enter on the Confirm row hops
58
+ * several options first. Multi-question panel: answering a single-select tab
59
+ * auto-advances the focus to the next unanswered tab (or onto the Confirm
60
+ * row once everything is answered). Enter on the Confirm row hops
49
61
  * to the review page (all answers listed, each editable in place). Esc
50
62
  * double-press within 200 ms declines — but terminal key auto-repeat (holding
51
63
  * Esc) is ignored below `ESC_REPEAT_GUARD_MS`, so a long press cannot
@@ -65,7 +77,7 @@
65
77
  * Inspired by juicesharp/rpiv-ask-user-question
66
78
  * (https://github.com/juicesharp/rpiv-ask-user-question).
67
79
  */
68
- import { type Component, type TUI } from '@earendil-works/pi-tui';
80
+ import { type Component, type KeyId, type TUI } from '@earendil-works/pi-tui';
69
81
  import type { AskUserQuestionAnswer, AskUserQuestionItem, AskUserQuestionOption } from '@deepseek-ai/dsh-user-questions';
70
82
  import type { Context } from '@deepseek-ai/cordis';
71
83
  import { type TuiTheme } from './theme/index.ts';
@@ -80,6 +92,13 @@ export declare const DOUBLE_ESC_WINDOW_MS = 200;
80
92
  export declare const ESC_REPEAT_GUARD_MS = 50;
81
93
  /** Sentinel row label appended to every question's option list. */
82
94
  export declare const SENTINEL_LABEL = "Type something.";
95
+ /**
96
+ * Key that folds the whole panel into a 3-line strip (and unfolds it again).
97
+ * A control key on purpose: it must never read as free-text input while the
98
+ * sentinel editor is engaged (folding commits the buffer, exactly like the
99
+ * ↑↓ arrow-exit path does).
100
+ */
101
+ export declare const ASK_COLLAPSE_KEY: KeyId;
83
102
  /** Decline message embedded into the answer envelope when the user bails. */
84
103
  export declare const DECLINE_MESSAGE = "User declined to answer questions.";
85
104
  /** Transient hint when Enter lands on an incomplete confirm/submit row. */
@@ -99,9 +118,11 @@ export declare const ASK_USER_MAX_VISIBLE = 6;
99
118
  * panel budget is the terminal height minus the reserved dock rows, minus
100
119
  * the panel's own chrome. At the 24-row e2e floor this yields exactly
101
120
  * ASK_USER_MAX_VISIBLE (6); larger terminals scale up. Without a usable row
102
- * count it degrades to ASK_USER_MAX_VISIBLE.
121
+ * count it degrades to ASK_USER_MAX_VISIBLE. `extraChromeLines` covers
122
+ * optional interior lines the default budget does not count (the tab strip
123
+ * of a multi-question panel).
103
124
  */
104
- export declare function askUserMaxVisibleForRows(termRows: number | undefined): number;
125
+ export declare function askUserMaxVisibleForRows(termRows: number | undefined, extraChromeLines?: number): number;
105
126
  /** A row in the multi-question view. */
106
127
  export interface FlatRow {
107
128
  kind: 'question-header' | 'option' | 'sentinel' | 'confirm';
@@ -133,8 +154,15 @@ export interface AskUserState {
133
154
  questions: readonly AskUserQuestionItem[];
134
155
  /** Per-question pending answer. */
135
156
  perQuestion: PendingAnswer[];
136
- /** Cursor position in the flat row list (see `buildRowList`). */
157
+ /** Cursor position in the focused question's row list (see `buildRowList`). */
137
158
  cursorIndex: number;
159
+ /**
160
+ * Which question tab the questions pane shows. The pane renders exactly
161
+ * one question at a time; ←/→ (and Tab/Shift-Tab) move this index.
162
+ */
163
+ focusQuestion: number;
164
+ /** Panel folded to the 3-line strip (Ctrl+T). While folded only the toggle key and the Esc chain act. */
165
+ collapsed: boolean;
138
166
  /** Live inline-edit text per question; non-null when the sentinel is engaged for that question. */
139
167
  customInputs: (string | null)[];
140
168
  /** Live inline edit owner (question index); null when not editing. */
@@ -187,8 +215,13 @@ export declare function didDoubleEscFire(prevState: AskUserState, nextState: Ask
187
215
  export declare function buildAnswerEnvelope(state: AskUserState): AskUserQuestionAnswer;
188
216
  /** Canonical envelope for the decline path: empty selected + custom decline message on every question. */
189
217
  export declare function buildDeclinedEnvelope(questions: readonly AskUserQuestionItem[], message?: string): AskUserQuestionAnswer;
190
- /** Build the ordered, flat list of rows for the questions pane. */
191
- export declare function buildRowList(questions: readonly AskUserQuestionItem[], perQuestion: readonly PendingAnswer[]): FlatRow[];
218
+ /**
219
+ * Build the ordered row list for the questions pane: the FOCUSED question's
220
+ * block only (header + options + sentinel), followed by the panel-wide
221
+ * Confirm pseudo-row when `needsConfirmRow` says so — the pane shows one
222
+ * question at a time; ←/→ swaps `focusQuestion` and rebuilds this list.
223
+ */
224
+ export declare function buildRowList(questions: readonly AskUserQuestionItem[], perQuestion: readonly PendingAnswer[], focusQuestion?: number): FlatRow[];
192
225
  /** Find the next selectable index from `i` going in `direction`, clamped into range. */
193
226
  export declare function nextSelectableIndex(rows: readonly FlatRow[], from: number, direction: 1 | -1): number;
194
227
  /** True when every question has at least one selected option or a non-empty custom answer. */
@@ -233,15 +266,51 @@ export declare function needsConfirmRow(questions: readonly AskUserQuestionItem[
233
266
  */
234
267
  export declare function canAutoSubmit(state: AskUserState): boolean;
235
268
  /**
236
- * Row index to land on after answering question `answeredQi`: the first
237
- * selectable row of the nearest LATER unanswered question, or -1 when every
238
- * later question is already answered (caller keeps the current cursor).
269
+ * Row index to land on after a single-select answer on question `answeredQi`
270
+ * (option toggle or committed custom text): advance the tab focus to the
271
+ * nearest LATER unanswered question (cursor on its answer), or once every
272
+ * question is answered — park the cursor on the Confirm row of the current
273
+ * tab so submission is one Enter away. Returns the state unchanged when no
274
+ * Confirm row exists (the lone single-select fast path submits instead).
239
275
  */
240
- export declare function nextUnansweredRow(rows: readonly FlatRow[], perQuestion: readonly PendingAnswer[], answeredQi: number): number;
241
- /** Render the questions pane as a flat table line list behind a scroll window. */
276
+ export declare function advanceAfterAnswer(state: AskUserState, answeredQi: number): AskUserState;
277
+ /** Index of the nearest question AFTER `answeredQi` with no answer yet, or -1. */
278
+ export declare function nextUnansweredQuestion(questions: readonly AskUserQuestionItem[], perQuestion: readonly PendingAnswer[], answeredQi: number): number;
279
+ /**
280
+ * Cursor position for a freshly focused question tab: its first selected
281
+ * option when one exists, else the sentinel when a custom answer exists,
282
+ * else the first selectable row — so revisiting an answered tab lands on
283
+ * the answer, not on option 1.
284
+ */
285
+ export declare function focusCursor(rows: readonly FlatRow[], perQuestion: readonly PendingAnswer[], questionIndex: number): number;
286
+ /**
287
+ * Move the tab focus by `direction` (clamped at the ends — no wrap-around:
288
+ * predictable ends beat flourish mid-questionnaire) and land the cursor on
289
+ * the tab's answer per `focusCursor`. Clears the transient hints like any
290
+ * navigation. The component must exit an engaged sentinel edit BEFORE
291
+ * switching (committing the buffer), same as the ↑↓ arrow-exit path.
292
+ */
293
+ export declare function switchFocus(state: AskUserState, direction: 1 | -1): AskUserState;
294
+ /**
295
+ * Flip the Ctrl+T fold. Folding while a sentinel edit is engaged first
296
+ * commits the buffer (the arrow-exit semantics — the text stays visible on
297
+ * the sentinel's ✎ mark), then collapses; transient hints clear on both
298
+ * directions. The double-Esc clock is deliberately untouched so an armed
299
+ * decline keeps its hint when the panel unfolds.
300
+ */
301
+ export declare function toggleCollapse(state: AskUserState): AskUserState;
302
+ /** Render the questions pane (one focused question tab) as a flat table line list behind a scroll window. */
242
303
  export declare function renderQuestionsView(theme: TuiTheme, state: AskUserState, width: number, maxVisible?: number): string[];
243
304
  /** Render the review page for multi-question overlays (scroll-windowed). */
244
305
  export declare function renderReviewView(theme: TuiTheme, state: AskUserState, width: number, maxVisible?: number): string[];
306
+ /**
307
+ * The ONE interior line of the folded (Ctrl+T) panel. The panel is a hard
308
+ * modal that owns the keyboard while it pends, so the strip keeps the
309
+ * state machine discoverable: which phase, how far along, how to unfold —
310
+ * and an armed decline replaces the summary so the 200 ms window is not
311
+ * silently ticking off-screen.
312
+ */
313
+ export declare function renderCollapsedLine(theme: TuiTheme, state: AskUserState, width: number): string;
245
314
  /** Options for assembling the panel + provider function. */
246
315
  export interface AskUserPanelDeps {
247
316
  tui: TUI;
package/lib/ask-user.js CHANGED
@@ -8,12 +8,17 @@
8
8
  * `AskUserQuestionAnswer` envelope back to `dsh-tool-ask-user` as a normal
9
9
  * tool result.
10
10
  *
11
- * Layout — one bordered dock panel, all questions flattened (numbered rows, a
12
- * divider between each question block and its options, and a scroll window
13
- * so the cursor row is always visible even when the dock is height-capped):
11
+ * Layout — one bordered dock panel showing EXACTLY ONE question at a time
12
+ * (numbered rows, a divider between the question block and its options, and
13
+ * a scroll window so the cursor row is always visible even when the dock is
14
+ * height-capped). With ≥ 2 questions a tab strip under the title carries one
15
+ * tab per question (`[1] · 2✓ · 3` — brackets mark the focused tab, ✓ an
16
+ * answered one); ←/→ (and Tab/Shift-Tab) switch tabs so a question batch
17
+ * never floods the dock:
14
18
  *
15
19
  * ┌────────────────────────────────────┐
16
- * │ ● Questions (2)
20
+ * │ ● Questions (1/2)
21
+ * │ [1] · 2 │ (tab strip, ≥ 2 questions only)
17
22
  * │ SELECTION │
18
23
  * │ ───────────────────────────── │ (table chrome)
19
24
  * │ Fruit Where should we deploy? │ (header — not selectable)
@@ -26,6 +31,11 @@
26
31
  * │ ⏎ Confirm answers │ (when ≥ 2 questions, or any multiSelect)
27
32
  * └────────────────────────────────────┘
28
33
  *
34
+ * Ctrl+T folds the whole panel into a 3-line strip (borders + one summary
35
+ * line) so the transcript stays readable while the question pends; the same
36
+ * key unfolds it. While folded only the toggle and the Esc chain do
37
+ * anything — answering keys are inert until the panel is back.
38
+ *
29
39
  * While the panel is open it owns the keyboard: it is mounted into the dock
30
40
  * slot between the live widgets and the editor, takes focus through
31
41
  * `tui.setFocus`, and `setModalActive(true)` routes the app keymap exactly
@@ -45,7 +55,9 @@
45
55
  * Single-question single-select panel: Enter on an option (or committing a
46
56
  * filled sentinel) submits immediately. A multiSelect question — even a lone
47
57
  * one — gets a Confirm row instead of auto-submitting, so the user can pick
48
- * several options first. Multi-question panel: Enter on the Confirm row hops
58
+ * several options first. Multi-question panel: answering a single-select tab
59
+ * auto-advances the focus to the next unanswered tab (or onto the Confirm
60
+ * row once everything is answered). Enter on the Confirm row hops
49
61
  * to the review page (all answers listed, each editable in place). Esc
50
62
  * double-press within 200 ms declines — but terminal key auto-repeat (holding
51
63
  * Esc) is ignored below `ESC_REPEAT_GUARD_MS`, so a long press cannot
@@ -83,6 +95,13 @@ export const DOUBLE_ESC_WINDOW_MS = 200;
83
95
  export const ESC_REPEAT_GUARD_MS = 50;
84
96
  /** Sentinel row label appended to every question's option list. */
85
97
  export const SENTINEL_LABEL = 'Type something.';
98
+ /**
99
+ * Key that folds the whole panel into a 3-line strip (and unfolds it again).
100
+ * A control key on purpose: it must never read as free-text input while the
101
+ * sentinel editor is engaged (folding commits the buffer, exactly like the
102
+ * ↑↓ arrow-exit path does).
103
+ */
104
+ export const ASK_COLLAPSE_KEY = 'ctrl+t';
86
105
  /** Decline message embedded into the answer envelope when the user bails. */
87
106
  export const DECLINE_MESSAGE = 'User declined to answer questions.';
88
107
  /** Transient hint when Enter lands on an incomplete confirm/submit row. */
@@ -116,12 +135,14 @@ const ASK_DOCK_RESERVED_ROWS = 8;
116
135
  * panel budget is the terminal height minus the reserved dock rows, minus
117
136
  * the panel's own chrome. At the 24-row e2e floor this yields exactly
118
137
  * ASK_USER_MAX_VISIBLE (6); larger terminals scale up. Without a usable row
119
- * count it degrades to ASK_USER_MAX_VISIBLE.
138
+ * count it degrades to ASK_USER_MAX_VISIBLE. `extraChromeLines` covers
139
+ * optional interior lines the default budget does not count (the tab strip
140
+ * of a multi-question panel).
120
141
  */
121
- export function askUserMaxVisibleForRows(termRows) {
142
+ export function askUserMaxVisibleForRows(termRows, extraChromeLines = 0) {
122
143
  if (termRows === undefined || !Number.isFinite(termRows) || termRows <= 0)
123
144
  return ASK_USER_MAX_VISIBLE;
124
- return Math.max(1, Math.floor(termRows) - ASK_DOCK_RESERVED_ROWS - ASK_USER_VIEW_OVERHEAD);
145
+ return Math.max(1, Math.floor(termRows) - ASK_DOCK_RESERVED_ROWS - ASK_USER_VIEW_OVERHEAD - Math.max(0, extraChromeLines));
125
146
  }
126
147
  // ---------------------------------------- pure functions (testable) --
127
148
  /** Initial state for a `questions` payload — defaults: cursor on Q0/option-0, no edit, no Esc history. */
@@ -129,11 +150,14 @@ export function initialState(questions) {
129
150
  // Snap the starting cursor onto the first SELECTABLE row: index 0 is the
130
151
  // question header (unselectable), and a cursor parked there would render
131
152
  // no ▸ marker at all and ignore Enter/digits.
132
- const rows = buildRowList(questions, questions.map(() => ({ selected: [] })));
153
+ const perQuestion = questions.map(() => ({ selected: [] }));
154
+ const rows = buildRowList(questions, perQuestion, 0);
133
155
  return {
134
156
  questions,
135
- perQuestion: questions.map(() => ({ selected: [] })),
157
+ perQuestion,
136
158
  cursorIndex: nextSelectableIndex(rows, 0, 1),
159
+ focusQuestion: 0,
160
+ collapsed: false,
137
161
  customInputs: questions.map(() => null),
138
162
  customEditingFor: null,
139
163
  phase: 'questions',
@@ -254,14 +278,20 @@ export function buildDeclinedEnvelope(questions, message = DECLINE_MESSAGE) {
254
278
  answers: questions.map(question => ({ id: question.id, selected: [], custom: message })),
255
279
  };
256
280
  }
257
- /** Build the ordered, flat list of rows for the questions pane. */
258
- export function buildRowList(questions, perQuestion) {
281
+ /**
282
+ * Build the ordered row list for the questions pane: the FOCUSED question's
283
+ * block only (header + options + sentinel), followed by the panel-wide
284
+ * Confirm pseudo-row when `needsConfirmRow` says so — the pane shows one
285
+ * question at a time; ←/→ swaps `focusQuestion` and rebuilds this list.
286
+ */
287
+ export function buildRowList(questions, perQuestion, focusQuestion = 0) {
259
288
  const rows = [];
260
- questions.forEach((question, qi) => {
289
+ const question = questions[focusQuestion];
290
+ if (question !== undefined) {
261
291
  rows.push({
262
292
  kind: 'question-header',
263
- questionIndex: qi,
264
- label: question.header ?? `Question ${qi + 1}`,
293
+ questionIndex: focusQuestion,
294
+ label: question.header ?? `Question ${focusQuestion + 1}`,
265
295
  description: question.question,
266
296
  ...(question.detail !== undefined ? { detail: question.detail } : {}),
267
297
  selectable: false,
@@ -270,21 +300,21 @@ export function buildRowList(questions, perQuestion) {
270
300
  options.forEach((opt, oi) => {
271
301
  rows.push({
272
302
  kind: 'option',
273
- questionIndex: qi,
303
+ questionIndex: focusQuestion,
274
304
  optionIndex: oi,
275
305
  label: opt.label,
276
306
  ...(opt.description !== undefined ? { description: opt.description } : {}),
277
307
  selectable: true,
278
308
  });
279
309
  });
280
- const customAnswer = perQuestion[qi]?.custom ?? '';
310
+ const customAnswer = perQuestion[focusQuestion]?.custom ?? '';
281
311
  rows.push({
282
312
  kind: 'sentinel',
283
- questionIndex: qi,
313
+ questionIndex: focusQuestion,
284
314
  label: customAnswer !== '' ? `${CUSTOM_MARK}${customAnswer.trim()}` : SENTINEL_LABEL,
285
315
  selectable: true,
286
316
  });
287
- });
317
+ }
288
318
  if (needsConfirmRow(questions)) {
289
319
  rows.push({ kind: 'confirm', questionIndex: -1, label: '⏎ Confirm answers', selectable: true });
290
320
  }
@@ -393,27 +423,109 @@ export function canAutoSubmit(state) {
393
423
  return allQuestionsAnswered(state);
394
424
  }
395
425
  /**
396
- * Row index to land on after answering question `answeredQi`: the first
397
- * selectable row of the nearest LATER unanswered question, or -1 when every
398
- * later question is already answered (caller keeps the current cursor).
426
+ * Row index to land on after a single-select answer on question `answeredQi`
427
+ * (option toggle or committed custom text): advance the tab focus to the
428
+ * nearest LATER unanswered question (cursor on its answer), or once every
429
+ * question is answered — park the cursor on the Confirm row of the current
430
+ * tab so submission is one Enter away. Returns the state unchanged when no
431
+ * Confirm row exists (the lone single-select fast path submits instead).
399
432
  */
400
- export function nextUnansweredRow(rows, perQuestion, answeredQi) {
433
+ export function advanceAfterAnswer(state, answeredQi) {
434
+ if (!needsConfirmRow(state.questions))
435
+ return state;
436
+ const next = nextUnansweredQuestion(state.questions, state.perQuestion, answeredQi);
437
+ if (next >= 0) {
438
+ const rows = buildRowList(state.questions, state.perQuestion, next);
439
+ return {
440
+ ...state,
441
+ focusQuestion: next,
442
+ cursorIndex: focusCursor(rows, state.perQuestion, next),
443
+ // The scroll window is tab-local in effect: a stale offset from the
444
+ // previous tab would scroll the new tab's header out of view. The
445
+ // render clamp re-centers onto the cursor from a clean top.
446
+ questionsScroll: 0,
447
+ cancelHint: false,
448
+ attentionHint: null,
449
+ };
450
+ }
451
+ const rows = buildRowList(state.questions, state.perQuestion, state.focusQuestion);
452
+ const confirmIndex = rows.findIndex(row => row.kind === 'confirm');
453
+ if (confirmIndex < 0)
454
+ return state;
455
+ return { ...state, cursorIndex: confirmIndex, cancelHint: false, attentionHint: null };
456
+ }
457
+ /** Index of the nearest question AFTER `answeredQi` with no answer yet, or -1. */
458
+ export function nextUnansweredQuestion(questions, perQuestion, answeredQi) {
401
459
  const answered = (qi) => {
402
460
  const answer = perQuestion[qi];
403
461
  return answer !== undefined
404
462
  && (answer.selected.length > 0 || (answer.custom !== undefined && answer.custom.trim() !== ''));
405
463
  };
406
- for (let i = 0; i < rows.length; i++) {
407
- const row = rows[i];
408
- if (row === undefined || !row.selectable)
409
- continue;
410
- if (row.questionIndex <= answeredQi)
411
- continue;
412
- if (!answered(row.questionIndex))
413
- return i;
464
+ for (let qi = answeredQi + 1; qi < questions.length; qi++) {
465
+ if (!answered(qi))
466
+ return qi;
414
467
  }
415
468
  return -1;
416
469
  }
470
+ /**
471
+ * Cursor position for a freshly focused question tab: its first selected
472
+ * option when one exists, else the sentinel when a custom answer exists,
473
+ * else the first selectable row — so revisiting an answered tab lands on
474
+ * the answer, not on option 1.
475
+ */
476
+ export function focusCursor(rows, perQuestion, questionIndex) {
477
+ const answer = perQuestion[questionIndex];
478
+ const selected = answer?.selected ?? [];
479
+ if (selected.length > 0) {
480
+ const bySelection = rows.findIndex(row => row.kind === 'option' && selected.includes(row.label));
481
+ if (bySelection >= 0)
482
+ return bySelection;
483
+ }
484
+ if (answer?.custom !== undefined && answer.custom.trim() !== '') {
485
+ const sentinel = rows.findIndex(row => row.kind === 'sentinel' && row.questionIndex === questionIndex);
486
+ if (sentinel >= 0)
487
+ return sentinel;
488
+ }
489
+ return nextSelectableIndex(rows, 0, 1);
490
+ }
491
+ /**
492
+ * Move the tab focus by `direction` (clamped at the ends — no wrap-around:
493
+ * predictable ends beat flourish mid-questionnaire) and land the cursor on
494
+ * the tab's answer per `focusCursor`. Clears the transient hints like any
495
+ * navigation. The component must exit an engaged sentinel edit BEFORE
496
+ * switching (committing the buffer), same as the ↑↓ arrow-exit path.
497
+ */
498
+ export function switchFocus(state, direction) {
499
+ const next = Math.max(0, Math.min(state.questions.length - 1, state.focusQuestion + direction));
500
+ if (next === state.focusQuestion) {
501
+ return { ...state, cancelHint: false, attentionHint: null };
502
+ }
503
+ const rows = buildRowList(state.questions, state.perQuestion, next);
504
+ return {
505
+ ...state,
506
+ focusQuestion: next,
507
+ cursorIndex: focusCursor(rows, state.perQuestion, next),
508
+ // Fresh window for the fresh tab (a stale offset scrolls the new tab's
509
+ // header out of view); the render clamp re-centers onto the cursor.
510
+ questionsScroll: 0,
511
+ cancelHint: false,
512
+ attentionHint: null,
513
+ };
514
+ }
515
+ /**
516
+ * Flip the Ctrl+T fold. Folding while a sentinel edit is engaged first
517
+ * commits the buffer (the arrow-exit semantics — the text stays visible on
518
+ * the sentinel's ✎ mark), then collapses; transient hints clear on both
519
+ * directions. The double-Esc clock is deliberately untouched so an armed
520
+ * decline keeps its hint when the panel unfolds.
521
+ */
522
+ export function toggleCollapse(state) {
523
+ let next = state;
524
+ if (!state.collapsed && state.customEditingFor !== null) {
525
+ next = exitCustomEdit(state, true);
526
+ }
527
+ return { ...next, collapsed: !next.collapsed, attentionHint: null };
528
+ }
417
529
  // ------------------------------------------------- render: questions phase --
418
530
  /** Render width budget for the questions phase (single flex label column). */
419
531
  const QUESTIONS_COLUMNS = () => [
@@ -437,15 +549,45 @@ function inlineStateSlot(row, isSelectedOption, allAnswered) {
437
549
  return allAnswered ? '✓ ' : ' ';
438
550
  return ' ';
439
551
  }
440
- /** Render the questions pane as a flat table line list behind a scroll window. */
552
+ /**
553
+ * One muted line under the title summarizing every question tab:
554
+ * `[1] · 2✓ · 3` — the focused tab renders bracketed (accent + bold; the
555
+ * brackets distinguish it from the row cursor's ▸ marker), an answered tab
556
+ * carries ✓ (success color), the rest stay plain numbers. Clip-only (no
557
+ * wrap): a too-narrow terminal drops trailing tabs, and the (n/N) in the
558
+ * title keeps the full count readable regardless.
559
+ */
560
+ function renderTabStrip(fns, wrap, state) {
561
+ const parts = [];
562
+ state.questions.forEach((question, qi) => {
563
+ const answer = state.perQuestion[qi];
564
+ const answered = answer !== undefined
565
+ && (answer.selected.length > 0 || (answer.custom !== undefined && answer.custom.trim() !== ''));
566
+ const label = `${qi + 1}${answered ? '✓' : ''}`;
567
+ if (qi === state.focusQuestion) {
568
+ parts.push(fns.accent(BOLD + `[${label}]` + RESET));
569
+ }
570
+ else if (answered) {
571
+ parts.push(fns.success(label));
572
+ }
573
+ else {
574
+ parts.push(fns.muted(label));
575
+ }
576
+ });
577
+ return fns.muted(clipToWidth(parts.join(' · '), wrap));
578
+ }
579
+ /** Render the questions pane (one focused question tab) as a flat table line list behind a scroll window. */
441
580
  export function renderQuestionsView(theme, state, width, maxVisible = ASK_USER_MAX_VISIBLE) {
442
581
  const fns = panelThemeFns(theme);
443
582
  const wrap = Math.max(2, width - 2);
444
583
  const title = state.questions.length === 1
445
584
  ? '● Question'
446
- : `● Questions (${state.questions.length})`;
585
+ : `● Questions (${state.focusQuestion + 1}/${state.questions.length})`;
447
586
  const lines = [fns.accent(BOLD + clipToWidth(title, wrap) + RESET)];
448
- const rows = buildRowList(state.questions, state.perQuestion);
587
+ if (state.questions.length >= 2) {
588
+ lines.push(renderTabStrip(fns, wrap, state));
589
+ }
590
+ const rows = buildRowList(state.questions, state.perQuestion, state.focusQuestion);
449
591
  if (rows.length === 0) {
450
592
  lines.push(fns.muted(clipToWidth('(no questions)', wrap)));
451
593
  return finalizeQuestionsView(fns, wrap, lines, state);
@@ -582,9 +724,14 @@ function finalizeQuestionsView(fns, wrap, lines, state, scrollInfo = '') {
582
724
  lines.push(fns.attention(clipToWidth('Press Esc again to decline', wrap)));
583
725
  }
584
726
  lines.push('');
727
+ const multiTab = state.questions.length >= 2;
728
+ // Compact on purpose: at the common 80-column terminal the panel's inner
729
+ // wrap is 74 columns, so every hint (fold key included) must fit; the
730
+ // scroll readout rides FIRST so narrow terminals clip the tail hints,
731
+ // never the position.
585
732
  const footer = state.customEditingFor !== null
586
- ? 'Type free text · Enter keep · ↑↓ move · Esc abandon edit'
587
- : `↑↓ navigate · Enter ${needsConfirmRow(state.questions) ? 'toggle / confirm' : 'select'} · 1-9 pick · Esc decline`;
733
+ ? 'Type free text · Enter keep · ↑↓ move · Ctrl+T fold · Esc abandon'
734
+ : `${multiTab ? '←→ tabs · ' : ''}↑↓ move · Enter ${needsConfirmRow(state.questions) ? 'toggle' : 'select'} · 1-9 pick · Ctrl+T fold · Esc decline`;
588
735
  // The (n/m) readout goes FIRST so narrow terminals clip the hint, never
589
736
  // the scroll info.
590
737
  lines.push(fns.subtle(clipToWidth(scrollInfo + footer, wrap)));
@@ -641,7 +788,7 @@ export function renderReviewView(theme, state, width, maxVisible = ASK_USER_MAX_
641
788
  lines.push(fns.attention(clipToWidth(state.attentionHint, wrap)));
642
789
  }
643
790
  lines.push('');
644
- const footer = '↑↓ select · Enter return to edit / submit';
791
+ const footer = '↑↓ select · Enter return to edit / submit · Ctrl+T fold';
645
792
  const scrollInfo = body.length > visible ? ` (${state.reviewIndex + 1}/${body.length})` : '';
646
793
  lines.push(fns.subtle(clipToWidth(scrollInfo + footer, wrap)));
647
794
  return lines;
@@ -657,6 +804,29 @@ function formatAnswerForReview(answer) {
657
804
  return '(no answer)';
658
805
  return foldText(answer.selected.join(', '));
659
806
  }
807
+ // ------------------------------------------------- render: folded strip --
808
+ /**
809
+ * The ONE interior line of the folded (Ctrl+T) panel. The panel is a hard
810
+ * modal that owns the keyboard while it pends, so the strip keeps the
811
+ * state machine discoverable: which phase, how far along, how to unfold —
812
+ * and an armed decline replaces the summary so the 200 ms window is not
813
+ * silently ticking off-screen.
814
+ */
815
+ export function renderCollapsedLine(theme, state, width) {
816
+ const fns = panelThemeFns(theme);
817
+ const wrap = Math.max(2, width - 2);
818
+ if (state.cancelHint) {
819
+ return fns.attention(clipToWidth('Press Esc again to decline · Ctrl+T expand', wrap));
820
+ }
821
+ if (state.phase === 'review') {
822
+ return fns.accent(BOLD + clipToWidth('● Review answers pending · Ctrl+T expand', wrap) + RESET);
823
+ }
824
+ const answered = state.perQuestion.filter(answer => answer.selected.length > 0 || (answer.custom !== undefined && answer.custom.trim() !== '')).length;
825
+ const label = state.questions.length === 1
826
+ ? '● Question pending'
827
+ : `● Questions (${state.focusQuestion + 1}/${state.questions.length} · ${answered} answered)`;
828
+ return fns.accent(BOLD + clipToWidth(`${label} · Ctrl+T expand`, wrap) + RESET);
829
+ }
660
830
  /**
661
831
  * Open the AskUser docked panel for one set of questions.
662
832
  *
@@ -702,16 +872,26 @@ export function openAskUserPanel(deps, questions, signal) {
702
872
  invalidate() { },
703
873
  render(width) {
704
874
  const theme = deps.theme();
705
- // Terminal-height-adaptive scroll window: the dock stacks with the
706
- // editor/footer/transcript, so the budget subtracts the reserved rows
707
- // (see askUserMaxVisibleForRows). Fake TUIs without a `terminal`
708
- // degrade to ASK_USER_MAX_VISIBLE.
709
- const maxVisible = askUserMaxVisibleForRows(deps.tui.terminal?.rows);
710
875
  // Todos-panel box language: full-width bordered panel pinned above
711
876
  // the chat input. The inner views clip to the box's inner budget.
712
877
  const boxWidth = panelBoxWidth(width);
713
878
  const borderFg = ansiFg(theme.palette.borderDefault);
714
879
  const innerWidth = Math.max(2, boxWidth - 4);
880
+ // Folded strip (Ctrl+T): borders + ONE interior line — the transcript
881
+ // below stays readable while the question pends.
882
+ if (state.collapsed) {
883
+ return [
884
+ panelTopBorder(boxWidth, borderFg),
885
+ borderedRow(boxWidth, borderFg, renderCollapsedLine(theme, state, innerWidth)),
886
+ panelBottomBorder(boxWidth, borderFg),
887
+ ];
888
+ }
889
+ // Terminal-height-adaptive scroll window: the dock stacks with the
890
+ // editor/footer/transcript, so the budget subtracts the reserved rows
891
+ // (see askUserMaxVisibleForRows); the tab strip of a multi-question
892
+ // panel claims one extra interior line. Fake TUIs without a
893
+ // `terminal` degrade to ASK_USER_MAX_VISIBLE.
894
+ const maxVisible = askUserMaxVisibleForRows(deps.tui.terminal?.rows, state.phase === 'questions' && state.questions.length >= 2 ? 1 : 0);
715
895
  const inner = state.phase === 'review'
716
896
  ? renderReviewView(theme, state, innerWidth, maxVisible)
717
897
  : renderQuestionsView(theme, state, innerWidth, maxVisible);
@@ -724,11 +904,38 @@ export function openAskUserPanel(deps, questions, signal) {
724
904
  handleInput(data) {
725
905
  if (settled)
726
906
  return;
907
+ const kb = getKeybindings();
908
+ // The fold toggle outranks everything — including the sentinel edit:
909
+ // folding commits the buffer first (the ↑↓ arrow-exit semantics), so
910
+ // a control key never types into the free-text buffer.
911
+ if (matchesKey(data, ASK_COLLAPSE_KEY)) {
912
+ Object.assign(state, toggleCollapse(state));
913
+ return;
914
+ }
915
+ // While folded the panel is a passive strip: only the Esc chain stays
916
+ // live, so the user can still decline while reading the transcript.
917
+ if (state.collapsed) {
918
+ if (kb.matches(data, 'tui.select.cancel')) {
919
+ runCancelChain();
920
+ }
921
+ return;
922
+ }
727
923
  if (state.customEditingFor !== null) {
728
924
  handleCustomInput(state, data);
729
925
  return;
730
926
  }
731
- const kb = getKeybindings();
927
+ // Question tabs (questions phase, multi-question only): ←/→ and
928
+ // Tab/Shift-Tab hop between the per-question tabs.
929
+ if (state.phase === 'questions' && state.questions.length >= 2) {
930
+ if (matchesKey(data, 'right') || matchesKey(data, 'tab')) {
931
+ Object.assign(state, switchFocus(state, 1));
932
+ return;
933
+ }
934
+ if (matchesKey(data, 'left') || matchesKey(data, 'shift+tab')) {
935
+ Object.assign(state, switchFocus(state, -1));
936
+ return;
937
+ }
938
+ }
732
939
  if (kb.matches(data, 'tui.select.up')) {
733
940
  moveCursor(state, -1);
734
941
  return;
@@ -749,14 +956,7 @@ export function openAskUserPanel(deps, questions, signal) {
749
956
  return;
750
957
  }
751
958
  if (kb.matches(data, 'tui.select.cancel')) {
752
- const now = clock();
753
- const prevState = { ...state };
754
- const after = advanceDoubleEsc(state, now);
755
- Object.assign(state, after);
756
- if (didDoubleEscFire(prevState, state, now)) {
757
- settle(buildDeclinedEnvelope(questions));
758
- close();
759
- }
959
+ runCancelChain();
760
960
  return;
761
961
  }
762
962
  },
@@ -773,6 +973,16 @@ export function openAskUserPanel(deps, questions, signal) {
773
973
  signal?.addEventListener('abort', onAbort, { once: true });
774
974
  // Local mutator helpers — these write into the closed-over state via
775
975
  // Object.assign so the keyboard handler can use the immutable reducers.
976
+ function runCancelChain() {
977
+ const now = clock();
978
+ const prevState = { ...state };
979
+ const after = advanceDoubleEsc(state, now);
980
+ Object.assign(state, after);
981
+ if (didDoubleEscFire(prevState, state, now)) {
982
+ settle(buildDeclinedEnvelope(questions));
983
+ close();
984
+ }
985
+ }
776
986
  function moveCursor(s, direction) {
777
987
  if (s.phase === 'review') {
778
988
  const max = s.questions.length; // last row is the submit pseudo-row
@@ -780,7 +990,7 @@ export function openAskUserPanel(deps, questions, signal) {
780
990
  Object.assign(s, { cancelHint: false, attentionHint: null });
781
991
  return;
782
992
  }
783
- const rows = buildRowList(s.questions, s.perQuestion);
993
+ const rows = buildRowList(s.questions, s.perQuestion, s.focusQuestion);
784
994
  // nextSelectableIndex scans from `from + direction`, so it must receive
785
995
  // the raw cursor — passing cursor+direction double-stepped every press
786
996
  // (masked for years by the initial cursor parking on the header row).
@@ -799,7 +1009,7 @@ export function openAskUserPanel(deps, questions, signal) {
799
1009
  // cursor invariants.
800
1010
  if (s.phase !== 'questions')
801
1011
  return;
802
- const rows = buildRowList(s.questions, s.perQuestion);
1012
+ const rows = buildRowList(s.questions, s.perQuestion, s.focusQuestion);
803
1013
  const anchor = rows[s.cursorIndex];
804
1014
  if (anchor === undefined || anchor.kind === 'confirm' || anchor.questionIndex < 0)
805
1015
  return;
@@ -812,11 +1022,14 @@ export function openAskUserPanel(deps, questions, signal) {
812
1022
  function handleConfirm(s) {
813
1023
  if (s.phase === 'review') {
814
1024
  if (s.reviewIndex < s.questions.length) {
815
- const rows = buildRowList(s.questions, s.perQuestion);
1025
+ // Jump back into the questions pane ON the reviewed question's tab.
1026
+ const rows = buildRowList(s.questions, s.perQuestion, s.reviewIndex);
816
1027
  const first = rows.findIndex(r => r.kind !== 'question-header' && r.questionIndex === s.reviewIndex);
817
1028
  Object.assign(s, {
818
1029
  phase: 'questions',
1030
+ focusQuestion: s.reviewIndex,
819
1031
  cursorIndex: first >= 0 ? first : s.cursorIndex,
1032
+ questionsScroll: 0,
820
1033
  cancelHint: false,
821
1034
  attentionHint: null,
822
1035
  });
@@ -831,7 +1044,7 @@ export function openAskUserPanel(deps, questions, signal) {
831
1044
  return;
832
1045
  }
833
1046
  // questions phase
834
- const rows = buildRowList(s.questions, s.perQuestion);
1047
+ const rows = buildRowList(s.questions, s.perQuestion, s.focusQuestion);
835
1048
  const row = rows[s.cursorIndex];
836
1049
  if (row === undefined)
837
1050
  return;
@@ -848,6 +1061,19 @@ export function openAskUserPanel(deps, questions, signal) {
848
1061
  settle(buildAnswerEnvelope(s));
849
1062
  close();
850
1063
  }
1064
+ else {
1065
+ // Answering a single-select tab hops the focus to the next
1066
+ // unanswered tab (or onto the Confirm row when everything is
1067
+ // answered). multiSelect stays put for further toggles, and a
1068
+ // deselect (toggle off) leaves the question unanswered, so it
1069
+ // stays put too.
1070
+ const answer = next.perQuestion[row.questionIndex];
1071
+ const answered = answer !== undefined
1072
+ && (answer.selected.length > 0 || (answer.custom ?? '').trim() !== '');
1073
+ if (answered && s.questions[row.questionIndex]?.multiSelect !== true) {
1074
+ Object.assign(s, advanceAfterAnswer(s, row.questionIndex));
1075
+ }
1076
+ }
851
1077
  return;
852
1078
  }
853
1079
  if (row.kind === 'sentinel') {
@@ -903,8 +1129,8 @@ export function openAskUserPanel(deps, questions, signal) {
903
1129
  * answer is now complete submits right away (this is the free-text
904
1130
  * counterpart of the option fast path — without it, typing an answer into
905
1131
  * a question with no options could never reach `settle`). Otherwise, in a
906
- * multi-question layout the cursor hops to the next unanswered question's
907
- * first row to cut confirmation cost.
1132
+ * multi-question layout the tab focus hops to the next unanswered
1133
+ * question (or onto the Confirm row) to cut confirmation cost.
908
1134
  */
909
1135
  function commitCustomAnswer(s, qi) {
910
1136
  if (s.customEditingFor !== null)
@@ -917,10 +1143,7 @@ export function openAskUserPanel(deps, questions, signal) {
917
1143
  return;
918
1144
  }
919
1145
  if (s.questions.length >= 2) {
920
- const rows = buildRowList(s.questions, s.perQuestion);
921
- const target = nextUnansweredRow(rows, s.perQuestion, qi);
922
- if (target >= 0)
923
- Object.assign(s, { cursorIndex: target, cancelHint: false, attentionHint: null });
1146
+ Object.assign(s, advanceAfterAnswer(s, qi));
924
1147
  }
925
1148
  }
926
1149
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../src/ask-user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../src/ask-user.ts"],"names":[],"mappings":"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"}
package/lib/session.d.ts CHANGED
@@ -76,15 +76,6 @@ export declare class DshSessionBridge {
76
76
  * until the first assistant/message arrives.
77
77
  */
78
78
  private lastUsage;
79
- /**
80
- * Provider/model baseline from the latest `request/header` — the route the
81
- * current CH accumulation belongs to. A VALUE change (either field)
82
- * restarts the CH counters (see applyEvent); a same-value header (resume
83
- * replays an identical header) keeps them. `undefined` until the first
84
- * header arrives.
85
- */
86
- private headerProvider;
87
- private headerModel;
88
79
  /**
89
80
  * CJK-estimated tokens of every message appended AFTER the latest
90
81
  * assistant/message (user prompts, tool results, streamed text deltas) —
package/lib/session.js CHANGED
@@ -191,15 +191,6 @@ export class DshSessionBridge {
191
191
  * until the first assistant/message arrives.
192
192
  */
193
193
  lastUsage;
194
- /**
195
- * Provider/model baseline from the latest `request/header` — the route the
196
- * current CH accumulation belongs to. A VALUE change (either field)
197
- * restarts the CH counters (see applyEvent); a same-value header (resume
198
- * replays an identical header) keeps them. `undefined` until the first
199
- * header arrives.
200
- */
201
- headerProvider;
202
- headerModel;
203
194
  /**
204
195
  * CJK-estimated tokens of every message appended AFTER the latest
205
196
  * assistant/message (user prompts, tool results, streamed text deltas) —
@@ -595,8 +586,6 @@ export class DshSessionBridge {
595
586
  this.stats.contextTokens = 0;
596
587
  this.lastUsage = undefined;
597
588
  this.pendingTokens = 0;
598
- this.headerProvider = undefined;
599
- this.headerModel = undefined;
600
589
  this.agentViews.clear();
601
590
  this.childSessions.clear();
602
591
  this.childLogs.clear();
@@ -701,10 +690,6 @@ export class DshSessionBridge {
701
690
  this.stats.contextTokens = 0;
702
691
  this.lastUsage = undefined;
703
692
  this.pendingTokens = 0;
704
- // Replay rebuilds the header baseline from the persisted log itself, so
705
- // the route-change segmentation matches the live run exactly.
706
- this.headerProvider = undefined;
707
- this.headerModel = undefined;
708
693
  const sessionId = this.sessionId;
709
694
  for (const event of events) {
710
695
  if (event.type === 'assistant/chunk')
@@ -748,6 +733,12 @@ export class DshSessionBridge {
748
733
  this.stats.outputTokens += usage.outputTokens;
749
734
  this.stats.cacheReadTokens += usage.cacheReadTokens ?? 0;
750
735
  this.stats.cacheWriteTokens += usage.cacheWriteTokens ?? 0;
736
+ // CH is session-cumulative by design: hit rate = ΣcacheRead /
737
+ // (Σinput + ΣcacheRead + ΣcacheWrite) over the whole session's
738
+ // input traffic — output tokens never enter (cache hit is an
739
+ // input-side metric), and a provider/model route change does NOT
740
+ // reset the counters; the rate describes the session, not one
741
+ // route's prompt cache.
751
742
  const billedInput = this.stats.inputTokens + this.stats.cacheReadTokens + this.stats.cacheWriteTokens;
752
743
  this.stats.cacheHitRate = billedInput > 0
753
744
  ? (this.stats.cacheReadTokens / billedInput) * 100
@@ -775,33 +766,11 @@ export class DshSessionBridge {
775
766
  this.pendingTokens += estimateToolResultTokens(event.data);
776
767
  this.stats.contextTokens = this.contextTokens();
777
768
  break;
778
- case 'request/header': {
779
- // A provider/model VALUE change restarts the cache-hit accounting:
780
- // the new route owns a fresh prompt cache, so mixing its tokens into
781
- // the previous route's totals would dilute both sides' rates. Only
782
- // the CH accumulators reset — msgCount/toolCallCount/outputTokens/
783
- // context occupancy are route-independent and keep running. A
784
- // same-value header (a resume re-emits an identical header for the
785
- // same content) must NOT reset; the first header (initial) only
786
- // establishes the baseline. Replay feeds persisted header events
787
- // through this same case, so a resumed session re-segments its CH
788
- // history identically to the live run.
789
- const { provider, model } = event.data.header.config;
790
- if (this.headerProvider === undefined || this.headerModel === undefined) {
791
- this.headerProvider = provider;
792
- this.headerModel = model;
793
- break;
794
- }
795
- if (provider === this.headerProvider && model === this.headerModel)
796
- break;
797
- this.headerProvider = provider;
798
- this.headerModel = model;
799
- this.stats.inputTokens = 0;
800
- this.stats.cacheReadTokens = 0;
801
- this.stats.cacheWriteTokens = 0;
802
- this.stats.cacheHitRate = undefined;
769
+ case 'request/header':
770
+ // Route info only CH accounting is session-cumulative (see the
771
+ // assistant/message case), so a provider/model change no longer
772
+ // restarts the cache counters here.
803
773
  break;
804
- }
805
774
  default:
806
775
  break;
807
776
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.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": "0.22.1",
3
+ "version": "0.24.0",
4
4
  "description": "pi-style terminal UI for DeepSeek Harness (dsh) — pi-tui look & feel, dsh slash commands, GitHub light/dark themes, powerline footer",
5
5
  "repository": {
6
6
  "type": "git",