dsh-ssh-tui 0.5.9 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +28 -5
- package/README.md +76 -6
- package/lib/attach.js +156 -0
- package/lib/attach.js.map +1 -0
- package/lib/commands.js +73 -0
- package/lib/commands.js.map +1 -0
- package/lib/diag.js +292 -0
- package/lib/diag.js.map +1 -0
- package/lib/dialogs.js +82 -0
- package/lib/dialogs.js.map +1 -0
- package/lib/display-sock.js +304 -86
- package/lib/display-sock.js.map +1 -1
- package/lib/dsh-compat.js +25 -4
- package/lib/dsh-compat.js.map +1 -1
- package/lib/i18n/en.js +55 -0
- package/lib/i18n/en.js.map +1 -1
- package/lib/i18n/index.js +2 -0
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/zh.js +55 -0
- package/lib/i18n/zh.js.map +1 -1
- package/lib/index.js +75 -73
- package/lib/index.js.map +1 -1
- package/lib/paint.js +20 -38
- package/lib/paint.js.map +1 -1
- package/lib/picker.js +152 -37
- package/lib/picker.js.map +1 -1
- package/lib/rows.js +120 -0
- package/lib/rows.js.map +1 -0
- package/lib/session-index.js +4 -1
- package/lib/session-index.js.map +1 -1
- package/lib/session-list.js +372 -167
- package/lib/session-list.js.map +1 -1
- package/lib/session-lock.js +20 -9
- package/lib/session-lock.js.map +1 -1
- package/lib/stats.js +136 -0
- package/lib/stats.js.map +1 -0
- package/lib/terminal-input.js +470 -0
- package/lib/terminal-input.js.map +1 -0
- package/lib/tui.js +257 -311
- package/lib/tui.js.map +1 -1
- package/lib/types/attach.d.ts +106 -0
- package/lib/types/commands.d.ts +103 -0
- package/lib/types/diag.d.ts +78 -0
- package/lib/types/dialogs.d.ts +79 -0
- package/lib/types/display-sock.d.ts +59 -3
- package/lib/types/dsh-compat.d.ts +7 -0
- package/lib/types/i18n/index.d.ts +4 -0
- package/lib/types/index.d.ts +8 -4
- package/lib/types/paint.d.ts +6 -3
- package/lib/types/picker.d.ts +27 -7
- package/lib/types/rows.d.ts +69 -0
- package/lib/types/session-list.d.ts +43 -3
- package/lib/types/stats.d.ts +98 -0
- package/lib/types/terminal-input.d.ts +164 -0
- package/lib/types/tui.d.ts +33 -8
- package/package.json +11 -5
package/lib/picker.js
CHANGED
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
* TUI mounts, so launching without an explicit session id lands on a choice
|
|
4
4
|
* instead of a fresh main screen.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Reading is lazy. The first page is inspected up front and only then painted,
|
|
7
|
+
* so nothing on screen is a raw id waiting to turn into a title; older sessions
|
|
8
|
+
* are read only when the user reaches for them — pressing past the last row, or
|
|
9
|
+
* filtering, which has to look deeper than the rows on screen. The visible page
|
|
10
|
+
* is always nine rows so digits 1-9 map onto every on-screen item.
|
|
9
11
|
*/
|
|
10
12
|
import { StringDecoder } from 'node:string_decoder';
|
|
11
|
-
import { formatSessionTime,
|
|
13
|
+
import { formatSessionTime, openResumableSessionPager, PICKER_PAGE_SIZE, } from './session-list.js';
|
|
12
14
|
import { composePaintOutput, isEscapePrefix, pickerWindowStart } from './paint.js';
|
|
13
15
|
import { truncateToWidth } from './term-text.js';
|
|
16
|
+
import { TerminalInputGuard } from './terminal-input.js';
|
|
14
17
|
import { t } from './i18n/index.js';
|
|
15
18
|
/**
|
|
16
19
|
* Visible rows in the sliding window. Locked to nine so every on-screen
|
|
@@ -64,7 +67,49 @@ export function pickerStateUnchanged(previous, next) {
|
|
|
64
67
|
&& previous.cursor === next.cursor
|
|
65
68
|
&& previous.filterActive === next.filterActive
|
|
66
69
|
&& previous.sessions === next.sessions
|
|
67
|
-
&& previous.loading === next.loading
|
|
70
|
+
&& previous.loading === next.loading
|
|
71
|
+
&& previous.more === next.more;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Whether this input asked for sessions the picker has not read yet.
|
|
75
|
+
*
|
|
76
|
+
* Older history is read lazily, so the trigger matters: while filtering, a page
|
|
77
|
+
* that leaves fewer matches than fit on screen is deepened (a search has to look
|
|
78
|
+
* past the rows on screen); otherwise the user has to press past the last loaded
|
|
79
|
+
* row — pressing Down at the end, PageDown, or End — before older sessions are
|
|
80
|
+
* read.
|
|
81
|
+
*/
|
|
82
|
+
export function pickerWantsMorePage(input) {
|
|
83
|
+
if (input.more <= 0)
|
|
84
|
+
return false;
|
|
85
|
+
const windowSize = input.windowSize ?? SESSION_PICKER_WINDOW;
|
|
86
|
+
const nextFiltered = filterResumableSessions(input.next.sessions, input.next.query);
|
|
87
|
+
const filtering = input.next.filterActive || input.next.query !== '';
|
|
88
|
+
const downward = input.actions.some(action => action.type === 'end'
|
|
89
|
+
|| (action.type === 'move' && action.delta > 0)
|
|
90
|
+
|| (action.type === 'page' && action.delta > 0));
|
|
91
|
+
const atEnd = (state, filtered) => filtered.length > 0 && state.cursor >= filtered.length - 1;
|
|
92
|
+
if (filtering) {
|
|
93
|
+
// A search has to look past the rows on screen: while it has fewer matches
|
|
94
|
+
// than fit, keep reading. With a full page of matches it reads on only when
|
|
95
|
+
// the user asks for more — a press at the end of the matches, or End.
|
|
96
|
+
if (nextFiltered.length < windowSize)
|
|
97
|
+
return true;
|
|
98
|
+
return downward && atEnd(input.next, nextFiltered);
|
|
99
|
+
}
|
|
100
|
+
if (nextFiltered.length === 0) {
|
|
101
|
+
// Nothing to show yet (the pager never returns a short page on purpose, so
|
|
102
|
+
// this is the first load): keep reading instead of pretending history is
|
|
103
|
+
// over.
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
if (!atEnd(input.next, nextFiltered))
|
|
107
|
+
return false;
|
|
108
|
+
const previousFiltered = filterResumableSessions(input.previous.sessions, input.previous.query);
|
|
109
|
+
const wasAtEnd = atEnd(input.previous, previousFiltered);
|
|
110
|
+
// End is explicit ("show me the end"); otherwise the keypress only counts
|
|
111
|
+
// when the cursor was already parked on the last loaded row.
|
|
112
|
+
return input.actions.some(action => action.type === 'end') || (wasAtEnd && downward);
|
|
68
113
|
}
|
|
69
114
|
function resultFor(session) {
|
|
70
115
|
return session.attach === undefined
|
|
@@ -293,10 +338,11 @@ export function splitPickerInput(text) {
|
|
|
293
338
|
* unit; ordinary text is applied character by character so a pasted "fix 2"
|
|
294
339
|
* types the digit instead of treating it as a 1-9 shortcut.
|
|
295
340
|
*/
|
|
296
|
-
export function feedPicker(state, text, windowSize = SESSION_PICKER_WINDOW) {
|
|
341
|
+
export function feedPicker(state, text, windowSize = SESSION_PICKER_WINDOW, onAction) {
|
|
297
342
|
let current = state;
|
|
298
343
|
for (const unit of splitPickerInput(text)) {
|
|
299
344
|
for (const action of actionsForInput(unit, current)) {
|
|
345
|
+
onAction?.(action);
|
|
300
346
|
const step = stepPicker(current, action, windowSize);
|
|
301
347
|
if (step.kind === 'done')
|
|
302
348
|
return step;
|
|
@@ -310,7 +356,7 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
310
356
|
return null;
|
|
311
357
|
const stdin = options.stdin ?? process.stdin;
|
|
312
358
|
const stdout = options.stdout ?? process.stdout;
|
|
313
|
-
const
|
|
359
|
+
const openPager = options.openPager ?? openResumableSessionPager;
|
|
314
360
|
const useAltScreen = process.env.DSH_TUI_NO_ALT_SCREEN !== '1'
|
|
315
361
|
&& process.env.DSH_TUI_NO_ALT_SCREEN !== 'true';
|
|
316
362
|
const decoder = new StringDecoder('utf8');
|
|
@@ -322,8 +368,6 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
322
368
|
let previousRows = [];
|
|
323
369
|
let previousWidth = 0;
|
|
324
370
|
let previousHeight = 0;
|
|
325
|
-
/** Whether a listing with titles has been painted at least once. */
|
|
326
|
-
let listPainted = false;
|
|
327
371
|
/**
|
|
328
372
|
* Settled pickers must never paint again: the launcher process keeps owning
|
|
329
373
|
* the TTY as the display relay, so a leaked frame would overwrite the TUI on
|
|
@@ -344,12 +388,17 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
344
388
|
? t('picker.filterHint')
|
|
345
389
|
: t('picker.filter', { query: state.query === '' ? '▌' : `${state.query}▌` });
|
|
346
390
|
lines.push(style(truncateToWidth(filterLine, width), filtering ? '36' : '90'));
|
|
391
|
+
const more = state.more ?? 0;
|
|
347
392
|
lines.push(style(truncateToWidth(t('picker.count', {
|
|
348
393
|
shown: filtered.length,
|
|
349
394
|
total: state.sessions.length,
|
|
350
|
-
}) + (
|
|
395
|
+
}) + (more > 0 ? t('picker.countMore', { count: more }) : '')
|
|
396
|
+
+ (state.loading === true ? t('picker.loading') : ''), width), '90'));
|
|
351
397
|
if (filtered.length === 0) {
|
|
352
|
-
|
|
398
|
+
// An empty list with history still unread is "loading", never "there is
|
|
399
|
+
// nothing": the pager reads on by itself until it has a row or the
|
|
400
|
+
// history is over.
|
|
401
|
+
const empty = state.loading === true || more > 0
|
|
353
402
|
? t('picker.loadingList')
|
|
354
403
|
: state.query === ''
|
|
355
404
|
? t('picker.noneYet')
|
|
@@ -387,6 +436,11 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
387
436
|
if (end < filtered.length) {
|
|
388
437
|
lines.push(style(truncateToWidth(t('picker.moreBelow', { count: filtered.length - end }), width), '90'));
|
|
389
438
|
}
|
|
439
|
+
else if (more > 0) {
|
|
440
|
+
// Everything read is on screen: say how to reach the rest instead of
|
|
441
|
+
// reading it now. Filtering looks deeper on its own (see `pump`).
|
|
442
|
+
lines.push(style(truncateToWidth(t('picker.loadMore', { count: more }), width), '90'));
|
|
443
|
+
}
|
|
390
444
|
}
|
|
391
445
|
lines.push('');
|
|
392
446
|
lines.push(style(truncateToWidth(filtering ? t('picker.hintFilter') : t('picker.hint'), width), '36'));
|
|
@@ -423,7 +477,12 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
423
477
|
/** Named so cleanup() can remove this exact listener, not a look-alike. */
|
|
424
478
|
const onResize = () => { render(true); };
|
|
425
479
|
return new Promise((resolve) => {
|
|
480
|
+
let pager;
|
|
481
|
+
let pageInFlight = false;
|
|
426
482
|
let escapeBuffer = '';
|
|
483
|
+
// A cursor reply that outlived its probe would otherwise be typed into the
|
|
484
|
+
// filter as `[17;1R` and empty the list with a query nobody wrote.
|
|
485
|
+
const inputGuard = new TerminalInputGuard(text => handleKeys(text));
|
|
427
486
|
let escapeTimer;
|
|
428
487
|
const cleanup = (result) => {
|
|
429
488
|
if (done)
|
|
@@ -431,6 +490,7 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
431
490
|
done = true;
|
|
432
491
|
if (escapeTimer !== undefined)
|
|
433
492
|
clearTimeout(escapeTimer);
|
|
493
|
+
inputGuard.stop();
|
|
434
494
|
signal?.removeEventListener('abort', onAbort);
|
|
435
495
|
stdin.removeListener('data', onData);
|
|
436
496
|
stdout.removeListener('resize', onResize);
|
|
@@ -455,7 +515,8 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
455
515
|
const applyChunk = (text) => {
|
|
456
516
|
const windowSize = pickerCapacity(Math.max(12, stdout.rows || 24));
|
|
457
517
|
const previous = state;
|
|
458
|
-
const
|
|
518
|
+
const actions = [];
|
|
519
|
+
const step = feedPicker(state, text, windowSize, action => actions.push(action));
|
|
459
520
|
if (step.kind === 'done') {
|
|
460
521
|
cleanup(step.result);
|
|
461
522
|
return;
|
|
@@ -464,12 +525,21 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
464
525
|
if (done)
|
|
465
526
|
return;
|
|
466
527
|
// Held ↑/↓ at the ends used to ED2-clear the whole screen every repeat.
|
|
467
|
-
if (pickerStateUnchanged(previous, state))
|
|
528
|
+
if (pickerStateUnchanged(previous, state)) {
|
|
529
|
+
pump(actions, previous);
|
|
468
530
|
return;
|
|
531
|
+
}
|
|
469
532
|
render();
|
|
533
|
+
pump(actions, previous);
|
|
470
534
|
};
|
|
471
535
|
const onData = (chunk) => {
|
|
472
|
-
const
|
|
536
|
+
const decoded = decoder.write(chunk);
|
|
537
|
+
if (decoded !== '')
|
|
538
|
+
inputGuard.push(decoded);
|
|
539
|
+
};
|
|
540
|
+
/** One decoded read, replies already removed. */
|
|
541
|
+
const handleKeys = (text) => {
|
|
542
|
+
const combined = escapeBuffer + text;
|
|
473
543
|
escapeBuffer = '';
|
|
474
544
|
if (escapeTimer !== undefined) {
|
|
475
545
|
clearTimeout(escapeTimer);
|
|
@@ -514,28 +584,62 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
514
584
|
cleanup(null);
|
|
515
585
|
throw error;
|
|
516
586
|
}
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
//
|
|
521
|
-
//
|
|
522
|
-
|
|
523
|
-
// session I did not ask for" jumping into the list). Hold the entries —
|
|
524
|
-
// the loading line keeps the spot — until titles exist, but always paint
|
|
525
|
-
// the final listing so an all-untitled history stays selectable.
|
|
526
|
-
if (!listPainted && !final && !listing.sessions.some(session => session.label !== session.id))
|
|
527
|
-
return;
|
|
528
|
-
listPainted = true;
|
|
587
|
+
/** Paint a page: replace the loaded rows and keep the cursor on its row. */
|
|
588
|
+
const applyPage = (page) => {
|
|
589
|
+
// A page is steady by contract (every label resolved); hold back a
|
|
590
|
+
// placeholder anyway, so a future reader cannot put a raw id on screen
|
|
591
|
+
// that turns into a title a moment later.
|
|
592
|
+
const ready = page.sessions.filter(session => session.labelPending !== true);
|
|
529
593
|
const focusedId = filterResumableSessions(state.sessions, state.query)[state.cursor]?.id;
|
|
530
|
-
const nextFiltered = filterResumableSessions(
|
|
594
|
+
const nextFiltered = filterResumableSessions(ready, state.query);
|
|
531
595
|
state = {
|
|
532
596
|
...state,
|
|
533
|
-
sessions:
|
|
534
|
-
loading:
|
|
597
|
+
sessions: ready,
|
|
598
|
+
loading: false,
|
|
599
|
+
more: page.remaining,
|
|
535
600
|
cursor: retainCursor(focusedId, nextFiltered, state.cursor),
|
|
536
601
|
};
|
|
537
602
|
render();
|
|
538
603
|
};
|
|
604
|
+
const loadPage = async () => {
|
|
605
|
+
if (done || pager === undefined || pageInFlight)
|
|
606
|
+
return;
|
|
607
|
+
pageInFlight = true;
|
|
608
|
+
state = { ...state, loading: true };
|
|
609
|
+
render();
|
|
610
|
+
try {
|
|
611
|
+
const page = await pager.page(PICKER_PAGE_SIZE);
|
|
612
|
+
pageInFlight = false;
|
|
613
|
+
if (done)
|
|
614
|
+
return;
|
|
615
|
+
applyPage(page);
|
|
616
|
+
// A filter that still has fewer matches than fit on screen keeps
|
|
617
|
+
// deepening; a plain page load stops here until the user asks again.
|
|
618
|
+
pump([], state);
|
|
619
|
+
}
|
|
620
|
+
catch {
|
|
621
|
+
// A read that failed must not leave the picker stuck on "loading…".
|
|
622
|
+
pageInFlight = false;
|
|
623
|
+
if (done)
|
|
624
|
+
return;
|
|
625
|
+
state = { ...state, loading: false, more: 0 };
|
|
626
|
+
render();
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
/**
|
|
630
|
+
* The one place that decides to read more history. Called after every
|
|
631
|
+
* applied input and after every page; `pickerWantsMorePage` holds the rule.
|
|
632
|
+
*/
|
|
633
|
+
const pump = (actions, previous) => {
|
|
634
|
+
if (done || pager === undefined)
|
|
635
|
+
return;
|
|
636
|
+
const more = state.more ?? 0;
|
|
637
|
+
if (more <= 0)
|
|
638
|
+
return;
|
|
639
|
+
if (!pickerWantsMorePage({ previous, next: state, actions, more }))
|
|
640
|
+
return;
|
|
641
|
+
void loadPage();
|
|
642
|
+
};
|
|
539
643
|
const startListing = async () => {
|
|
540
644
|
let persistence = ctx.get('sessionPersistence');
|
|
541
645
|
if (persistence === undefined) {
|
|
@@ -549,17 +653,28 @@ export async function showSessionPicker(ctx, color, signal, options = {}) {
|
|
|
549
653
|
cleanup({ kind: 'new' });
|
|
550
654
|
return;
|
|
551
655
|
}
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
});
|
|
555
|
-
if (done)
|
|
656
|
+
pager = await openPager(persistence, '');
|
|
657
|
+
if (done || signal?.aborted)
|
|
556
658
|
return;
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
659
|
+
// The first page is read in full before anything is painted: every row
|
|
660
|
+
// on screen carries its real title, and no id is ever shown and then
|
|
661
|
+
// replaced a moment later.
|
|
662
|
+
const first = await pager.page(PICKER_PAGE_SIZE);
|
|
663
|
+
if (done || signal?.aborted)
|
|
664
|
+
return;
|
|
665
|
+
if (first.sessions.length === 0) {
|
|
666
|
+
if (first.done) {
|
|
667
|
+
cleanup({ kind: 'new' });
|
|
668
|
+
stdout.write(t('picker.none'));
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
// Rows exist but none is showable yet: keep reading rather than telling
|
|
672
|
+
// the user their history is empty (and starting a fresh session).
|
|
673
|
+
applyPage(first);
|
|
674
|
+
void loadPage();
|
|
560
675
|
return;
|
|
561
676
|
}
|
|
562
|
-
|
|
677
|
+
applyPage(first);
|
|
563
678
|
};
|
|
564
679
|
void startListing().catch(() => {
|
|
565
680
|
if (!done)
|
package/lib/picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../src/picker.ts"],"names":[],"mappings":"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"}
|
package/lib/rows.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transcript row storage and the window the paint loop shows.
|
|
3
|
+
*
|
|
4
|
+
* `tui.ts` keeps the row array (many call sites read it) but the operations that
|
|
5
|
+
* have rules — bounding memory, finding the card a tool result belongs to,
|
|
6
|
+
* merging repeated calls, choosing which slice of the transcript is on screen —
|
|
7
|
+
* live here, where they can be tested without a terminal or an agent.
|
|
8
|
+
*/
|
|
9
|
+
import { planIsLive } from './plan.js';
|
|
10
|
+
import { canMergeToolCall, TOOL_FLIP_MS } from './tool-present.js';
|
|
11
|
+
/** Long sessions keep the newest rows; older ones are dropped from the front. */
|
|
12
|
+
export const MAX_TRANSCRIPT_ROWS = 5000;
|
|
13
|
+
/**
|
|
14
|
+
* Drop the oldest rows past `max` and report how many went. The caller owns the
|
|
15
|
+
* things that point at rows (the focused card, clickable maps), so they can be
|
|
16
|
+
* invalidated with that count.
|
|
17
|
+
*/
|
|
18
|
+
export function boundTranscriptRows(rows, max = MAX_TRANSCRIPT_ROWS) {
|
|
19
|
+
if (rows.length <= max)
|
|
20
|
+
return 0;
|
|
21
|
+
const removed = rows.length - max;
|
|
22
|
+
rows.splice(0, removed);
|
|
23
|
+
return removed;
|
|
24
|
+
}
|
|
25
|
+
export function findToolRowByCallId(rows, callId) {
|
|
26
|
+
return rows.findLast((candidate) => candidate.kind === 'tool'
|
|
27
|
+
&& (candidate.callId === callId || candidate.mergedCallIds?.includes(callId) === true));
|
|
28
|
+
}
|
|
29
|
+
/** The card a repeated call of the same tool should merge into, if any. */
|
|
30
|
+
export function findMergeableToolRow(rows, next) {
|
|
31
|
+
const previous = rows.findLast((candidate) => candidate.kind === 'tool');
|
|
32
|
+
return canMergeToolCall(previous, next) ? previous : undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Fold a repeated call into the card that is already on screen: the card grows
|
|
36
|
+
* a repeat mark and starts over as `running`. `now` is passed in so the flip
|
|
37
|
+
* animation is testable.
|
|
38
|
+
*/
|
|
39
|
+
export function mergeToolCard(previous, next, now, replaying = false) {
|
|
40
|
+
const ids = previous.mergedCallIds ?? [previous.callId];
|
|
41
|
+
if (!ids.includes(previous.callId))
|
|
42
|
+
ids.push(previous.callId);
|
|
43
|
+
if (!ids.includes(next.callId))
|
|
44
|
+
ids.push(next.callId);
|
|
45
|
+
previous.mergedCallIds = ids;
|
|
46
|
+
previous.callId = next.callId;
|
|
47
|
+
previous.name = next.name;
|
|
48
|
+
previous.args = next.args;
|
|
49
|
+
if (next.title !== '')
|
|
50
|
+
previous.title = next.title;
|
|
51
|
+
if (next.summary !== '')
|
|
52
|
+
previous.summary = next.summary;
|
|
53
|
+
if (next.diff !== undefined && next.diff.length > 0) {
|
|
54
|
+
previous.diff = (previous.repeats ?? 1) > 1 && previous.diff !== undefined && previous.diff.length > 0
|
|
55
|
+
? [...previous.diff, ...next.diff]
|
|
56
|
+
: next.diff;
|
|
57
|
+
}
|
|
58
|
+
previous.status = 'running';
|
|
59
|
+
previous.output = '';
|
|
60
|
+
previous.exitCode = undefined;
|
|
61
|
+
previous.signal = undefined;
|
|
62
|
+
previous.repeats = (previous.repeats ?? 1) + 1;
|
|
63
|
+
if (!replaying)
|
|
64
|
+
previous.flipUntil = now + TOOL_FLIP_MS;
|
|
65
|
+
}
|
|
66
|
+
export function findLivePlanRow(rows) {
|
|
67
|
+
return rows.findLast((row) => row.kind === 'plan' && planIsLive(row));
|
|
68
|
+
}
|
|
69
|
+
/** Whether the plan card should open on its own when it has work left. */
|
|
70
|
+
export function planShouldDefaultExpand(plan) {
|
|
71
|
+
return plan.active === true
|
|
72
|
+
|| plan.pending === true
|
|
73
|
+
|| plan.todos.some(item => item.status === 'in_progress');
|
|
74
|
+
}
|
|
75
|
+
/** Older / finished plans stay in the scrolling transcript, greyed out. */
|
|
76
|
+
export function archiveStalePlans(rows, keep) {
|
|
77
|
+
for (const row of rows) {
|
|
78
|
+
if (row.kind !== 'plan' || row === keep)
|
|
79
|
+
continue;
|
|
80
|
+
if (row.archived === true)
|
|
81
|
+
continue;
|
|
82
|
+
row.archived = true;
|
|
83
|
+
row.active = false;
|
|
84
|
+
row.pending = false;
|
|
85
|
+
row.expanded = false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Pick the slice of the transcript the terminal shows.
|
|
90
|
+
*
|
|
91
|
+
* `available` is the row budget the chrome left over; `reveal` is a row a fresh
|
|
92
|
+
* message wants on screen, which wins over the current scroll position. A
|
|
93
|
+
* transcript shorter than the budget is padded at the top so the prompt stays
|
|
94
|
+
* at the bottom instead of floating in the middle of the screen.
|
|
95
|
+
*/
|
|
96
|
+
export function windowTranscript(input) {
|
|
97
|
+
const { lines, refs } = input;
|
|
98
|
+
const available = Math.max(0, input.available);
|
|
99
|
+
let scrollOffset = Math.max(0, input.scrollOffset);
|
|
100
|
+
const reveal = input.reveal;
|
|
101
|
+
if (reveal !== undefined) {
|
|
102
|
+
const first = refs.findIndex(ref => ref === reveal);
|
|
103
|
+
if (first !== -1) {
|
|
104
|
+
scrollOffset = Math.max(0, lines.length - available - first);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const maxOffset = Math.max(0, lines.length - available);
|
|
108
|
+
if (scrollOffset > maxOffset)
|
|
109
|
+
scrollOffset = maxOffset;
|
|
110
|
+
const start = Math.max(0, lines.length - available - scrollOffset);
|
|
111
|
+
const visibleLines = lines.slice(start, start + available);
|
|
112
|
+
const visibleRefs = refs.slice(start, start + available);
|
|
113
|
+
const padding = Math.max(0, available - visibleLines.length);
|
|
114
|
+
for (let index = 0; index < padding; index++) {
|
|
115
|
+
visibleLines.unshift('');
|
|
116
|
+
visibleRefs.unshift(undefined);
|
|
117
|
+
}
|
|
118
|
+
return { start, scrollOffset, visibleLines, visibleRefs, padding };
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=rows.js.map
|
package/lib/rows.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../src/rows.ts"],"names":[],"mappings":"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"}
|
package/lib/session-index.js
CHANGED
|
@@ -7,7 +7,10 @@ import { mkdir, readFile, rename, writeFile } from 'node:fs/promises';
|
|
|
7
7
|
import { dirname, join } from 'node:path';
|
|
8
8
|
import { statSync } from 'node:fs';
|
|
9
9
|
import { persistenceLocate } from './dsh-compat.js';
|
|
10
|
-
|
|
10
|
+
// 2: `hasUserInput` now counts plugin-authored user messages too, so entries
|
|
11
|
+
// written by version 1 would keep those sessions hidden (and, before the blank
|
|
12
|
+
// rule changed, deletable).
|
|
13
|
+
const INDEX_VERSION = 2;
|
|
11
14
|
/** First page of recent sessions inspected after the header sketch paints. */
|
|
12
15
|
export const PICKER_PRIORITY_COUNT = 9;
|
|
13
16
|
export function sessionIndexPath(dshHome = resolveDshHome()) {
|
package/lib/session-index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-index.js","sourceRoot":"","sources":["../src/session-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-index.js","sourceRoot":"","sources":["../src/session-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAErE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAoBnD,6EAA6E;AAC7E,+EAA+E;AAC/E,4BAA4B;AAC5B,MAAM,aAAa,GAAG,CAAC,CAAA;AAEvB,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAEtC,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAG,cAAc,EAAE;IACzD,OAAO,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAA;AAChD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QACrD,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;QACxF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAoC,EACpC,IAAuC;IAEvC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,OAAO,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,CAAA;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAqB,CAAA;QAC3E,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtG,OAAO,IAAI,GAAG,EAAE,CAAA;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAA;QAChD,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAQ;YACzD,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;gBAAE,SAAQ;YAC7D,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,OAA+C;IAE/C,MAAM,OAAO,GAAqB;QAChC,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;KACrC,CAAA;IACD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAA;IAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAA;IACxC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7D,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YAAC,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAC/B,OAAuC,EACvC,OAA4B;IAE5B,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
|