@sagmans/dsh-tui 0.12.1 → 0.13.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/lib/gates/questions.d.ts.map +1 -1
- package/lib/gates/questions.js +9 -6
- package/lib/gates/questions.js.map +1 -1
- package/lib/input/completion.js +4 -2
- package/lib/input/completion.js.map +1 -1
- package/lib/input/file-search.d.ts +3 -1
- package/lib/input/file-search.d.ts.map +1 -1
- package/lib/input/file-search.js +22 -6
- package/lib/input/file-search.js.map +1 -1
- package/lib/input.d.ts +6 -0
- package/lib/input.d.ts.map +1 -1
- package/lib/input.js +32 -1
- package/lib/input.js.map +1 -1
- package/lib/surface/modal-input.d.ts +1 -0
- package/lib/surface/modal-input.d.ts.map +1 -1
- package/lib/surface/modal-input.js +77 -45
- package/lib/surface/modal-input.js.map +1 -1
- package/lib/terminal/host-writes.d.ts.map +1 -1
- package/lib/terminal/host-writes.js +15 -9
- package/lib/terminal/host-writes.js.map +1 -1
- package/lib/terminal/warning-screen.d.ts +9 -2
- package/lib/terminal/warning-screen.d.ts.map +1 -1
- package/lib/terminal/warning-screen.js +148 -22
- package/lib/terminal/warning-screen.js.map +1 -1
- package/lib/terminal-text.d.ts.map +1 -1
- package/lib/terminal-text.js +12 -6
- package/lib/terminal-text.js.map +1 -1
- package/lib/transcript.d.ts +5 -0
- package/lib/transcript.d.ts.map +1 -1
- package/lib/transcript.js +30 -13
- package/lib/transcript.js.map +1 -1
- package/lib/ui/dock.d.ts +8 -0
- package/lib/ui/dock.d.ts.map +1 -1
- package/lib/ui/dock.js +17 -0
- package/lib/ui/dock.js.map +1 -1
- package/lib/ui/editor.d.ts +1 -1
- package/lib/ui/editor.d.ts.map +1 -1
- package/lib/ui/editor.js +15 -7
- package/lib/ui/editor.js.map +1 -1
- package/lib/ui/layout.d.ts.map +1 -1
- package/lib/ui/layout.js +6 -9
- package/lib/ui/layout.js.map +1 -1
- package/lib/ui/picker.d.ts +1 -0
- package/lib/ui/picker.d.ts.map +1 -1
- package/lib/ui/picker.js +22 -9
- package/lib/ui/picker.js.map +1 -1
- package/lib/ui/queue.d.ts.map +1 -1
- package/lib/ui/queue.js +11 -1
- package/lib/ui/queue.js.map +1 -1
- package/lib/ui/view/document.d.ts +30 -0
- package/lib/ui/view/document.d.ts.map +1 -0
- package/lib/ui/view/document.js +87 -0
- package/lib/ui/view/document.js.map +1 -0
- package/lib/ui/view.d.ts +45 -76
- package/lib/ui/view.d.ts.map +1 -1
- package/lib/ui/view.js +69 -146
- package/lib/ui/view.js.map +1 -1
- package/package.json +2 -1
package/lib/ui/view.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TranscriptDocument } from "./view/document.js";
|
|
2
2
|
import {} from "./picker.js";
|
|
3
3
|
import { pickerCardLines } from "./picker-card.js";
|
|
4
4
|
import { ANSWER_FACE } from "./markdown.js";
|
|
5
5
|
import {} from "./frame.js";
|
|
6
|
-
import { gapRows,
|
|
6
|
+
import { gapRows, pushGap } from "./gap.js";
|
|
7
7
|
import {} from "../theme.js";
|
|
8
8
|
import {} from "../theme-tokens.js";
|
|
9
9
|
import { DEFAULT_TOOL_DISPLAY } from "../tool-display.js";
|
|
@@ -49,39 +49,13 @@ export class TranscriptView {
|
|
|
49
49
|
theme;
|
|
50
50
|
markdown;
|
|
51
51
|
options;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Fold choices the reader made by clicking, per message.
|
|
55
|
-
*
|
|
56
|
-
* Absent means the key or the tool's own policy decides, so a settings edit
|
|
57
|
-
* stays in charge of messages nobody clicked. Keyed by the call or thought id
|
|
58
|
-
* rather than by the entry, because a result replaces the entry a click was
|
|
59
|
-
* made on and a thought outlives the live row that streamed it.
|
|
60
|
-
*/
|
|
52
|
+
document;
|
|
61
53
|
clicked = new Map();
|
|
62
|
-
|
|
63
|
-
spans = [];
|
|
64
|
-
/** The same spans relative to their entry, so a cached entry still answers clicks. */
|
|
65
|
-
entrySpans = new WeakMap();
|
|
66
|
-
/**
|
|
67
|
-
* The framed rows each entry drew last render, for reading a copy back out.
|
|
68
|
-
*
|
|
69
|
-
* Relative to the entry for the same reason the spans are: a cached entry draws
|
|
70
|
-
* no rows this frame and still has to answer for what it drew before.
|
|
71
|
-
*/
|
|
72
|
-
entryCopy = new WeakMap();
|
|
73
|
-
/**
|
|
74
|
-
* The framed rows the in-flight entries drew this frame.
|
|
75
|
-
*
|
|
76
|
-
* They cannot be kept by entry the way the settled ones are: every frame builds
|
|
77
|
-
* a live entry as a fresh object, so a map keyed by it would never answer. A copy
|
|
78
|
-
* is read against the last frame, so it is the render that keeps them.
|
|
79
|
-
*/
|
|
80
|
-
liveCopy = [];
|
|
54
|
+
presentationRevision = 0;
|
|
81
55
|
cards;
|
|
82
56
|
messages;
|
|
83
57
|
gates;
|
|
84
|
-
/**
|
|
58
|
+
/** Presentation policy stays here; the document retains rows with their hit and copy metadata. */
|
|
85
59
|
constructor(model, theme, markdown, options = {}) {
|
|
86
60
|
this.model = model;
|
|
87
61
|
this.theme = theme;
|
|
@@ -90,7 +64,12 @@ export class TranscriptView {
|
|
|
90
64
|
this.cards = new ToolCards({ theme: this.theme, keymap: () => this.keymap(), toolDisplay: tool => this.toolDisplay(tool), expansionOf: entry => this.expansionOf(entry), subCallsOpen: entry => this.subCallsOpen(entry), liveCall: callId => this.model.liveCall(callId), cardOpenHint: () => hintKeys(this.keymap(), 'surface.toolDetail') || CARD_OPEN_FALLBACK, toolKey: id => toolClickKey(id), subCallsKey: id => nestedCallsClickKey(id), subCallKey: (parentId, id) => subCallClickKey(parentId, id), subCallOpen: (parentId, id) => this.subCallOpen(parentId, id) });
|
|
91
65
|
this.messages = new Messages({ theme: this.theme, markdown: this.markdown, reasoningOpen: entry => this.reasoningOpen(entry), reasoningFoldHint: () => this.reasoningFoldHint(), reasoningKey: id => reasoningClickKey(id), spacing: () => this.air(), pushWrapped: (lines, text, width, prefix, token) => this.pushWrapped(lines, text, width, prefix, token) });
|
|
92
66
|
this.gates = new GateCards({ theme: this.theme, pushWrapped: (lines, text, width, prefix, token) => this.pushWrapped(lines, text, width, prefix, token) });
|
|
93
|
-
this.
|
|
67
|
+
this.document = new TranscriptDocument({
|
|
68
|
+
model,
|
|
69
|
+
entryTag: (entry, base) => this.entryTag(entry, base),
|
|
70
|
+
clocked: entry => this.isLive(entry) || (entry.kind === 'reasoning' && entry.live),
|
|
71
|
+
renderEntry: (entry, lines, width, live, spans, copy) => this.renderEntry(entry, lines, width, live, spans, copy),
|
|
72
|
+
});
|
|
94
73
|
}
|
|
95
74
|
get viewState() {
|
|
96
75
|
return this.options.state?.() ?? DEFAULT_VIEW_STATE;
|
|
@@ -104,12 +83,12 @@ export class TranscriptView {
|
|
|
104
83
|
return this.options.spacing?.() ?? DEFAULT_SPACING;
|
|
105
84
|
}
|
|
106
85
|
/**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
86
|
+
* Whether one tool message draws open.
|
|
87
|
+
*
|
|
88
|
+
* A click outranks the key, which outranks the tool's start state: Ctrl+O
|
|
89
|
+
* stays "show me everything", while one clicked message keeps the state the
|
|
90
|
+
* reader gave it.
|
|
91
|
+
*/
|
|
113
92
|
expansionOf(entry) {
|
|
114
93
|
const key = toolClickKey(entry.id);
|
|
115
94
|
const clicked = key === undefined ? undefined : this.clicked.get(key);
|
|
@@ -147,19 +126,19 @@ export class TranscriptView {
|
|
|
147
126
|
return clicked ?? this.viewState.expandSubCalls;
|
|
148
127
|
}
|
|
149
128
|
/**
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
129
|
+
* Answer a click on a message by folding or unfolding that one row.
|
|
130
|
+
*
|
|
131
|
+
* The tightest span under the point wins, so a click on a dispatched call
|
|
132
|
+
* opens that call rather than the card around it. Only a left click is
|
|
133
|
+
* consumed: a press, a drag, and a wheel belong to the surface's own
|
|
134
|
+
* selection and scrolling, and a row that swallowed them would cost the
|
|
135
|
+
* reader the ability to copy the command it just drew.
|
|
136
|
+
*/
|
|
158
137
|
handleMouse(event) {
|
|
159
138
|
if (event.type !== 'click' || event.button !== 'left')
|
|
160
139
|
return undefined;
|
|
161
140
|
let span;
|
|
162
|
-
for (const candidate of this.spans) {
|
|
141
|
+
for (const candidate of this.document.spans) {
|
|
163
142
|
if (event.y < candidate.start || event.y >= candidate.end)
|
|
164
143
|
continue;
|
|
165
144
|
if (span === undefined || candidate.end - candidate.start < span.end - span.start)
|
|
@@ -167,6 +146,7 @@ export class TranscriptView {
|
|
|
167
146
|
}
|
|
168
147
|
if (span === undefined)
|
|
169
148
|
return undefined;
|
|
149
|
+
this.presentationRevision++;
|
|
170
150
|
// One click on a program's header opens the one level under it: the calls the
|
|
171
151
|
// program dispatched, each still the single row it is read at. The program's
|
|
172
152
|
// own body is the level below that, and it stays folded here because a click
|
|
@@ -182,16 +162,16 @@ export class TranscriptView {
|
|
|
182
162
|
invalidate() {
|
|
183
163
|
// The rows are keyed by width and expansion state, so a real change misses
|
|
184
164
|
// anyway; an explicit invalidate means the caller wants them rebuilt.
|
|
185
|
-
this.
|
|
165
|
+
this.document.invalidate();
|
|
186
166
|
}
|
|
187
167
|
/**
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
168
|
+
* Wrap one text block under a prefix, keeping the prefix's column budget.
|
|
169
|
+
*
|
|
170
|
+
* The block is drawn before it is wrapped: a sequence a terminal would have
|
|
171
|
+
* acted on has to be gone before pi-tui measures the row, and a tab has to
|
|
172
|
+
* land on the stop the writer saw rather than one a wrapper would guess at.
|
|
173
|
+
* The prefix seeds that stop, because it is already on the row.
|
|
174
|
+
*/
|
|
195
175
|
pushWrapped(lines, text, width, prefix, token) {
|
|
196
176
|
const lead = visibleWidth(prefix);
|
|
197
177
|
const indent = ' '.repeat(lead);
|
|
@@ -208,12 +188,12 @@ export class TranscriptView {
|
|
|
208
188
|
return hintKeys(this.keymap(), 'surface.reasoning') || REASONING_FOLD_FALLBACK;
|
|
209
189
|
}
|
|
210
190
|
/**
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
191
|
+
* Whether any part of one card is still in flight.
|
|
192
|
+
*
|
|
193
|
+
* Only a card with work outstanding has a clock attached to its cache, so the
|
|
194
|
+
* moment the last call settles the row stops being rebuilt: a program that
|
|
195
|
+
* came back must not keep spending the cache its result is now stored in.
|
|
196
|
+
*/
|
|
217
197
|
isLive(entry) {
|
|
218
198
|
if (entry.kind !== 'tool')
|
|
219
199
|
return false;
|
|
@@ -271,105 +251,48 @@ export class TranscriptView {
|
|
|
271
251
|
return;
|
|
272
252
|
}
|
|
273
253
|
}
|
|
254
|
+
/** Entry folds remain local so a click does not spend every settled row's cache. */
|
|
255
|
+
entryTag(entry, base) {
|
|
256
|
+
const open = entry.kind === 'tool' ? this.expansionOf(entry) : entry.kind === 'reasoning' ? this.reasoningOpen(entry) : undefined;
|
|
257
|
+
const shape = entry.kind === 'tool' && this.subCallsOpen(entry) ? 'P' : 'p';
|
|
258
|
+
const marks = entry.kind === 'tool'
|
|
259
|
+
? `${open === true ? '+' : '-'}${shape}${(entry.card.subCalls ?? []).map(call => (this.subCallOpen(entry.id, call.id) ? '1' : '0')).join('')}`
|
|
260
|
+
: open === true ? '+' : '-';
|
|
261
|
+
const clock = this.isLive(entry) ? `|${Math.floor(this.model.now() / SECOND_MS)}` : '';
|
|
262
|
+
return `${base}|${marks}${clock}`;
|
|
263
|
+
}
|
|
274
264
|
render(width) {
|
|
275
265
|
if (width <= 0)
|
|
276
266
|
return [];
|
|
277
267
|
const state = this.viewState;
|
|
278
|
-
// The revision is part of the key: rows drawn under an older theme table
|
|
279
|
-
// must miss, or a settings change would restyle only the rows that happened
|
|
280
|
-
// to be redrawn for another reason.
|
|
281
|
-
// The air the reader asked for is part of the key for the same reason: the rows
|
|
282
|
-
// an entry holds are its own air plus its own body.
|
|
283
268
|
const gaps = this.air();
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
const
|
|
287
|
-
const
|
|
288
|
-
const settled = this.model.settledCount();
|
|
289
|
-
const entries = this.model.entries();
|
|
290
|
-
for (const [index, entry] of entries.entries()) {
|
|
291
|
-
const start = lines.length;
|
|
292
|
-
// Every fold this entry can answer to is part of the tag, so clicking one
|
|
293
|
-
// message — or one call inside it — rebuilds that message alone while the
|
|
294
|
-
// rows around it stay cached.
|
|
295
|
-
const open = entry.kind === 'tool' ? this.expansionOf(entry) : entry.kind === 'reasoning' ? this.reasoningOpen(entry) : undefined;
|
|
296
|
-
// Whether a program's calls are drawn is part of the key, because it moves
|
|
297
|
-
// rows the card's own fold does not: the calls come and go under a header
|
|
298
|
-
// that stays where it is, and a cached entry would keep answering with what
|
|
299
|
-
// the reader had already clicked away from.
|
|
300
|
-
const shape = entry.kind === 'tool' && this.subCallsOpen(entry) ? 'P' : 'p';
|
|
301
|
-
const marks = entry.kind === 'tool'
|
|
302
|
-
? `${open === true ? '+' : '-'}${shape}${(entry.card.subCalls ?? []).map(call => (this.subCallOpen(entry.id, call.id) ? '1' : '0')).join('')}`
|
|
303
|
-
: open === true ? '+' : '-';
|
|
304
|
-
// A running row is drawn from a clock the rest of the row is not, so its
|
|
305
|
-
// cache is spent every second: the entries after it stay put, and a card
|
|
306
|
-
// waiting out a two-minute run keeps saying so instead of freezing at the
|
|
307
|
-
// first second it was drawn.
|
|
308
|
-
const tag = `${baseTag}|${marks}${this.isLive(entry) ? `|${Math.floor(this.model.now() / SECOND_MS)}` : ''}`;
|
|
309
|
-
const local = [];
|
|
310
|
-
const copy = [];
|
|
311
|
-
const rows = [];
|
|
312
|
-
// The in-flight rows change on every frame, so caching them would only
|
|
313
|
-
// fill the cache with objects nobody will ask for again.
|
|
314
|
-
if (index >= settled) {
|
|
315
|
-
this.renderEntry(entry, rows, width, true, local, copy);
|
|
316
|
-
// A row still arriving is drawn every frame, so it is never cached: its
|
|
317
|
-
// copy account goes to the frame rather than to an entry nobody can name.
|
|
318
|
-
liveCopy.push(...copy);
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
const cached = this.rows.lookup(entry, tag);
|
|
322
|
-
const saved = this.entrySpans.get(entry);
|
|
323
|
-
const savedCopy = this.entryCopy.get(entry);
|
|
324
|
-
if (cached !== undefined && saved !== undefined && savedCopy !== undefined) {
|
|
325
|
-
rows.push(...cached);
|
|
326
|
-
local.push(...saved);
|
|
327
|
-
}
|
|
328
|
-
else {
|
|
329
|
-
this.renderEntry(entry, rows, width, false, local, copy);
|
|
330
|
-
this.rows.store(entry, tag, rows);
|
|
331
|
-
this.entrySpans.set(entry, local);
|
|
332
|
-
this.entryCopy.set(entry, copy);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
// The entry goes in through the seam rather than straight onto the rows drawn
|
|
336
|
-
// so far: the air it opens with is given up when the row above is already air,
|
|
337
|
-
// so a break between two things stays one break however many asked for one.
|
|
338
|
-
const base = start - placeGap(lines, rows);
|
|
339
|
-
// A span is kept relative to its entry so a cached entry can still hand it
|
|
340
|
-
// back, and the row of air a seam dropped moves it with the rows that stayed.
|
|
341
|
-
for (const span of local) {
|
|
342
|
-
spans.push({ ...span, start: span.start + base, end: span.end + base });
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
this.spans = spans;
|
|
346
|
-
this.liveCopy = liveCopy;
|
|
269
|
+
const keys = this.keymap();
|
|
270
|
+
// Width, folds, theme, spacing, and key hints can change without a transcript event.
|
|
271
|
+
const base = `${width}|${state.expandCards ? 'c' : '-'}${state.expandReasoning ? 'r' : '-'}${state.expandSubCalls ? 'p' : '-'}|${this.theme.revision}|${gaps.messages}:${gaps.steps}|${hintKeys(keys, 'surface.toolDetail')}|${hintKeys(keys, 'surface.reasoning')}`;
|
|
272
|
+
const retained = this.document.render(width, base, this.presentationRevision);
|
|
347
273
|
const picker = this.options.picker?.();
|
|
274
|
+
const gate = this.options.gate?.();
|
|
275
|
+
// pi-tui requires string[] but borrows child rows; the native PTY gate protects this pinned boundary.
|
|
276
|
+
if (picker === undefined && gate === undefined)
|
|
277
|
+
return retained;
|
|
278
|
+
// Overlays have independent mutable state and must never enter the retained conversation.
|
|
279
|
+
const lines = [...retained];
|
|
348
280
|
if (picker !== undefined)
|
|
349
281
|
this.pushPicker(lines, picker, width);
|
|
350
|
-
const gate = this.options.gate?.();
|
|
351
282
|
if (gate !== undefined)
|
|
352
283
|
this.gates.pushGate(lines, gate, width);
|
|
353
284
|
return lines;
|
|
354
285
|
}
|
|
355
286
|
/**
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
287
|
+
* The framed rows the last render drew, in the order the transcript reads.
|
|
288
|
+
*
|
|
289
|
+
* A copy of a selection is read off the screen, so it carries the frame the
|
|
290
|
+
* surface drew around a message — the sides, the padding beside them, and the
|
|
291
|
+
* rules above and below. This is the account that lets the surface take its own
|
|
292
|
+
* frame back out of a copy without ever touching a character the reader wrote.
|
|
293
|
+
*/
|
|
363
294
|
copyRows() {
|
|
364
|
-
|
|
365
|
-
for (const entry of this.model.entries()) {
|
|
366
|
-
const saved = this.entryCopy.get(entry);
|
|
367
|
-
if (saved !== undefined)
|
|
368
|
-
rows.push(...saved);
|
|
369
|
-
}
|
|
370
|
-
// The rows still arriving are not kept by entry, so they come from the frame.
|
|
371
|
-
rows.push(...this.liveCopy);
|
|
372
|
-
return rows;
|
|
295
|
+
return this.document.copyRows();
|
|
373
296
|
}
|
|
374
297
|
}
|
|
375
298
|
//# sourceMappingURL=view.js.map
|
package/lib/ui/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/ui/view.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/ui/view.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sagmans/dsh-tui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Terminal (CLI TUI) surface for DeepSeek Harness: interactive dsh in a terminal, no browser required",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json",
|
|
85
85
|
"test": "vitest run",
|
|
86
86
|
"coverage": "vitest run --coverage",
|
|
87
|
+
"test:terminal": "pnpm run build && node tools/terminal-behavior.mjs",
|
|
87
88
|
"test:release": "python3 -m unittest discover -s tests/release -p 'test_*.py'",
|
|
88
89
|
"prepare": "npm run build",
|
|
89
90
|
"prepack": "npm run build",
|