@agi-fans/dsh-tui 0.13.0 → 0.15.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/CHANGELOG.md +56 -1
- package/lib/chrome/goal-bar.d.ts +13 -0
- package/lib/chrome/goal-bar.js +45 -0
- package/lib/chrome/goal-bar.js.map +1 -0
- package/lib/chrome/grapheme.d.ts +15 -0
- package/lib/chrome/grapheme.js +49 -0
- package/lib/chrome/grapheme.js.map +1 -0
- package/lib/chrome/markdown.js +96 -28
- package/lib/chrome/markdown.js.map +1 -1
- package/lib/chrome/renderer.d.ts +5 -61
- package/lib/chrome/renderer.js +17 -181
- package/lib/chrome/renderer.js.map +1 -1
- package/lib/chrome/status-config.d.ts +9 -4
- package/lib/chrome/status-config.js +13 -4
- package/lib/chrome/status-config.js.map +1 -1
- package/lib/chrome/status-line.d.ts +2 -0
- package/lib/chrome/status-line.js +4 -1
- package/lib/chrome/status-line.js.map +1 -1
- package/lib/chrome/tool-renderers.js +49 -3
- package/lib/chrome/tool-renderers.js.map +1 -1
- package/lib/commands/auth.d.ts +2 -2
- package/lib/commands/auth.js +6 -8
- package/lib/commands/auth.js.map +1 -1
- package/lib/commands/diff.d.ts +32 -0
- package/lib/commands/diff.js +116 -0
- package/lib/commands/diff.js.map +1 -0
- package/lib/commands/export.js +3 -3
- package/lib/commands/export.js.map +1 -1
- package/lib/commands/jobs.d.ts +14 -0
- package/lib/commands/jobs.js +82 -0
- package/lib/commands/jobs.js.map +1 -0
- package/lib/commands/model.d.ts +25 -0
- package/lib/commands/model.js +168 -4
- package/lib/commands/model.js.map +1 -1
- package/lib/commands/permission.d.ts +10 -1
- package/lib/commands/permission.js +24 -15
- package/lib/commands/permission.js.map +1 -1
- package/lib/commands/session.js +76 -4
- package/lib/commands/session.js.map +1 -1
- package/lib/commands/trajectory.js +1 -1
- package/lib/commands/trajectory.js.map +1 -1
- package/lib/definition.d.ts +25 -3
- package/lib/definition.js.map +1 -1
- package/lib/input/editor.d.ts +2 -0
- package/lib/input/editor.js +19 -9
- package/lib/input/editor.js.map +1 -1
- package/lib/input/keybindings-config.d.ts +1 -1
- package/lib/input/keybindings-config.js +9 -0
- package/lib/input/keybindings-config.js.map +1 -1
- package/lib/runtime/agent-profile.d.ts +11 -0
- package/lib/runtime/agent-profile.js +20 -1
- package/lib/runtime/agent-profile.js.map +1 -1
- package/lib/runtime/provider-local.d.ts +9 -1
- package/lib/runtime/provider-local.js +318 -91
- package/lib/runtime/provider-local.js.map +1 -1
- package/lib/runtime/runner.js +33 -8
- package/lib/runtime/runner.js.map +1 -1
- package/lib/runtime/startup-notices.js +1 -2
- package/lib/runtime/startup-notices.js.map +1 -1
- package/lib/runtime/tool-presentation.js +13 -2
- package/lib/runtime/tool-presentation.js.map +1 -1
- package/lib/session/interaction-adapter.js +4 -2
- package/lib/session/interaction-adapter.js.map +1 -1
- package/lib/session/job-notice.d.ts +28 -0
- package/lib/session/job-notice.js +34 -0
- package/lib/session/job-notice.js.map +1 -0
- package/lib/session/live-attempt-tracker.d.ts +43 -0
- package/lib/session/live-attempt-tracker.js +58 -0
- package/lib/session/live-attempt-tracker.js.map +1 -0
- package/lib/session/project-context.d.ts +2 -0
- package/lib/session/project-context.js +22 -11
- package/lib/session/project-context.js.map +1 -1
- package/lib/session/session-configuration.js +3 -3
- package/lib/session/session-configuration.js.map +1 -1
- package/lib/session/session-controller.d.ts +11 -5
- package/lib/session/session-controller.js +302 -66
- package/lib/session/session-controller.js.map +1 -1
- package/lib/session/subagent-roster.d.ts +37 -0
- package/lib/session/subagent-roster.js +80 -16
- package/lib/session/subagent-roster.js.map +1 -1
- package/lib/session/tui-settings.js +1 -0
- package/lib/session/tui-settings.js.map +1 -1
- package/lib/views/event-views.d.ts +44 -2
- package/lib/views/event-views.js +191 -64
- package/lib/views/event-views.js.map +1 -1
- package/lib/views/hotkeys.js +11 -4
- package/lib/views/hotkeys.js.map +1 -1
- package/lib/views/settings-list.js +1 -0
- package/lib/views/settings-list.js.map +1 -1
- package/lib/views/stream-time.d.ts +14 -0
- package/lib/views/stream-time.js +32 -0
- package/lib/views/stream-time.js.map +1 -0
- package/lib/views/streaming-reveal.js +14 -5
- package/lib/views/streaming-reveal.js.map +1 -1
- package/lib/views/trajectory.d.ts +47 -1
- package/lib/views/trajectory.js +393 -58
- package/lib/views/trajectory.js.map +1 -1
- package/lib/views/transcript-search.d.ts +42 -0
- package/lib/views/transcript-search.js +84 -0
- package/lib/views/transcript-search.js.map +1 -0
- package/package.json +45 -33
package/lib/chrome/renderer.d.ts
CHANGED
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* through verbatim, so callers own all styling (see ./style.ts).
|
|
8
|
-
|
|
9
|
-
* Cursor contract: after every render the cursor sits exactly at the
|
|
10
|
-
* frame's requested cursor position (default: the start of the line after
|
|
11
|
-
* the last frame line), and the renderer tracks that position so the next
|
|
12
|
-
* render diffs correctly from it — a render whose cursor sits on the input
|
|
13
|
-
* line must not shift the following frame. All emitted movement stays
|
|
14
|
-
* inside the frame, so a frame that fills the terminal never scrolls it.
|
|
15
|
-
* The renderer assumes exclusive write access to the output stream and a
|
|
16
|
-
* terminal cursor that starts at row 0 column 0 when the first frame is
|
|
17
|
-
* rendered.
|
|
2
|
+
* Shared frame definitions and display-line sanitization for the renderers.
|
|
3
|
+
*
|
|
4
|
+
* The main-screen renderer owns the live ANSI painting; this module keeps
|
|
5
|
+
* the frame shape, the write sink, and sanitization used by both it and the
|
|
6
|
+
* pure view pipeline.
|
|
18
7
|
* @module @agi-fans/dsh-tui
|
|
19
8
|
*/
|
|
20
9
|
/** Transcript viewport after the height clip (OMP ScrollView equivalent). */
|
|
@@ -58,50 +47,5 @@ export interface Frame {
|
|
|
58
47
|
export interface RenderSink {
|
|
59
48
|
write(chunk: string): void;
|
|
60
49
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Line diff between two frames: the write/clear operations that transform
|
|
63
|
-
* `oldLines` into `nextLines`. Rows are 0-based absolute indices into the
|
|
64
|
-
* frame; changed rows are rewritten, old-only rows are cleared in place.
|
|
65
|
-
* Pure — unit-testable without a terminal.
|
|
66
|
-
*/
|
|
67
|
-
export interface LineDiff {
|
|
68
|
-
/** Rows to write: absolute row index (0-based) and exact line text. */
|
|
69
|
-
writes: {
|
|
70
|
-
row: number;
|
|
71
|
-
text: string;
|
|
72
|
-
}[];
|
|
73
|
-
/** Stale rows (old-only) whose content must be cleared. */
|
|
74
|
-
clears: number[];
|
|
75
|
-
}
|
|
76
50
|
/** Keep styling/link escapes but remove content-owned cursor and screen controls. */
|
|
77
51
|
export declare function sanitizeDisplayLine(value: string): string;
|
|
78
|
-
/**
|
|
79
|
-
* Compute the line diff between two frames.
|
|
80
|
-
* @param oldLines - previously rendered lines.
|
|
81
|
-
* @param nextLines - lines to render now.
|
|
82
|
-
* @returns operations transforming old into next.
|
|
83
|
-
*/
|
|
84
|
-
export declare function computeLineDiff(oldLines: readonly string[], nextLines: readonly string[]): LineDiff;
|
|
85
|
-
/**
|
|
86
|
-
* Stateful ANSI renderer: executes line diffs into a sink, tracking the
|
|
87
|
-
* cursor position so consecutive frames diff correctly.
|
|
88
|
-
*/
|
|
89
|
-
export declare class LineRenderer {
|
|
90
|
-
#private;
|
|
91
|
-
/**
|
|
92
|
-
* @param sink - output stream receiving escape sequences and text.
|
|
93
|
-
* @param options.synchronized - wrap each paint in CSI 2026 (OMP flicker guard).
|
|
94
|
-
*/
|
|
95
|
-
constructor(sink: RenderSink, options?: {
|
|
96
|
-
synchronized?: boolean;
|
|
97
|
-
});
|
|
98
|
-
/** Render a frame, rewriting only the lines that changed. */
|
|
99
|
-
render(frame: Frame): void;
|
|
100
|
-
/**
|
|
101
|
-
* Move to the start of the frame's final row so a following newline exits
|
|
102
|
-
* below the UI instead of overwriting rows beneath the editor cursor.
|
|
103
|
-
*/
|
|
104
|
-
finish(): void;
|
|
105
|
-
/** Forget the rendered state; the next render treats the screen as empty. */
|
|
106
|
-
reset(): void;
|
|
107
|
-
}
|
package/lib/chrome/renderer.js
CHANGED
|
@@ -1,34 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* through verbatim, so callers own all styling (see ./style.ts).
|
|
8
|
-
|
|
9
|
-
* Cursor contract: after every render the cursor sits exactly at the
|
|
10
|
-
* frame's requested cursor position (default: the start of the line after
|
|
11
|
-
* the last frame line), and the renderer tracks that position so the next
|
|
12
|
-
* render diffs correctly from it — a render whose cursor sits on the input
|
|
13
|
-
* line must not shift the following frame. All emitted movement stays
|
|
14
|
-
* inside the frame, so a frame that fills the terminal never scrolls it.
|
|
15
|
-
* The renderer assumes exclusive write access to the output stream and a
|
|
16
|
-
* terminal cursor that starts at row 0 column 0 when the first frame is
|
|
17
|
-
* rendered.
|
|
2
|
+
* Shared frame definitions and display-line sanitization for the renderers.
|
|
3
|
+
*
|
|
4
|
+
* The main-screen renderer owns the live ANSI painting; this module keeps
|
|
5
|
+
* the frame shape, the write sink, and sanitization used by both it and the
|
|
6
|
+
* pure view pipeline.
|
|
18
7
|
* @module @agi-fans/dsh-tui
|
|
19
8
|
*/
|
|
20
|
-
// Exact-width rows leave a pending-wrap latch in several terminals. A later
|
|
21
|
-
// cursor move can materialize that wrap and leave phantom copies of fixed UI
|
|
22
|
-
// rows. Paints use explicit CRLFs, so disable DECAWM only for the write and
|
|
23
|
-
// restore it before returning control to the terminal.
|
|
24
|
-
const DISABLE_AUTOWRAP = '\x1b[?7l';
|
|
25
|
-
const ENABLE_AUTOWRAP = '\x1b[?7h';
|
|
26
|
-
const SYNC_OUTPUT_BEGIN = '\x1b[?2026h';
|
|
27
|
-
const SYNC_OUTPUT_END = '\x1b[?2026l';
|
|
28
9
|
const DISPLAY_ESCAPE = /\x1b(?:\[[0-9;?]*[ -/]*[@-~]|\][^\x07\x1b]*(?:\x07|\x1b\\))/gu;
|
|
29
10
|
const UNSAFE_CONTROL = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/gu;
|
|
11
|
+
// Bound memo: settled rows stay byte-identical across paints, so a long
|
|
12
|
+
// session repaints without re-sanitizing the whole history every frame.
|
|
13
|
+
const sanitizeCache = new Map();
|
|
14
|
+
const SANITIZE_CACHE_LIMIT = 20_000;
|
|
30
15
|
/** Keep styling/link escapes but remove content-owned cursor and screen controls. */
|
|
31
16
|
export function sanitizeDisplayLine(value) {
|
|
17
|
+
const cached = sanitizeCache.get(value);
|
|
18
|
+
if (cached !== undefined)
|
|
19
|
+
return cached;
|
|
32
20
|
const plain = (text) => text
|
|
33
21
|
.replaceAll('\r', ' ')
|
|
34
22
|
.replaceAll('\n', ' ')
|
|
@@ -43,162 +31,10 @@ export function sanitizeDisplayLine(value) {
|
|
|
43
31
|
}
|
|
44
32
|
cursor = match.index + sequence.length;
|
|
45
33
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Compute the line diff between two frames.
|
|
53
|
-
* @param oldLines - previously rendered lines.
|
|
54
|
-
* @param nextLines - lines to render now.
|
|
55
|
-
* @returns operations transforming old into next.
|
|
56
|
-
*/
|
|
57
|
-
export function computeLineDiff(oldLines, nextLines) {
|
|
58
|
-
let prefix = 0;
|
|
59
|
-
while (prefix < oldLines.length && prefix < nextLines.length && oldLines[prefix] === nextLines[prefix])
|
|
60
|
-
prefix += 1;
|
|
61
|
-
let suffix = 0;
|
|
62
|
-
// Suffix rows keep their screen row only when both frames have the same
|
|
63
|
-
// length; a grow/shrink shifts every row after the change, so the tail
|
|
64
|
-
// must be rewritten rather than skipped.
|
|
65
|
-
if (oldLines.length === nextLines.length) {
|
|
66
|
-
while (suffix < oldLines.length - prefix
|
|
67
|
-
&& oldLines[oldLines.length - 1 - suffix] === nextLines[nextLines.length - 1 - suffix])
|
|
68
|
-
suffix += 1;
|
|
69
|
-
}
|
|
70
|
-
const changedOld = oldLines.length - prefix - suffix;
|
|
71
|
-
const changedNew = nextLines.length - prefix - suffix;
|
|
72
|
-
const writes = [];
|
|
73
|
-
for (let i = 0; i < changedNew; i += 1) {
|
|
74
|
-
writes.push({ row: prefix + i, text: nextLines[prefix + i] ?? '' });
|
|
75
|
-
}
|
|
76
|
-
const clears = [];
|
|
77
|
-
for (let i = changedNew; i < changedOld; i += 1)
|
|
78
|
-
clears.push(prefix + i);
|
|
79
|
-
return { writes, clears };
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Stateful ANSI renderer: executes line diffs into a sink, tracking the
|
|
83
|
-
* cursor position so consecutive frames diff correctly.
|
|
84
|
-
*/
|
|
85
|
-
export class LineRenderer {
|
|
86
|
-
#last = [];
|
|
87
|
-
/** Terminal cursor row after the last render (0-based, screen-relative). */
|
|
88
|
-
#row = 0;
|
|
89
|
-
/** Terminal cursor column after the last render (0-based). */
|
|
90
|
-
#col = 0;
|
|
91
|
-
#cursorVisible = true;
|
|
92
|
-
#sink;
|
|
93
|
-
#synchronized;
|
|
94
|
-
/**
|
|
95
|
-
* @param sink - output stream receiving escape sequences and text.
|
|
96
|
-
* @param options.synchronized - wrap each paint in CSI 2026 (OMP flicker guard).
|
|
97
|
-
*/
|
|
98
|
-
constructor(sink, options) {
|
|
99
|
-
this.#sink = sink;
|
|
100
|
-
this.#synchronized = options?.synchronized === true;
|
|
101
|
-
}
|
|
102
|
-
/** Render a frame, rewriting only the lines that changed. */
|
|
103
|
-
render(frame) {
|
|
104
|
-
const next = frame.lines.map((line) => sanitizeDisplayLine(String(line)));
|
|
105
|
-
const diff = computeLineDiff(this.#last, next);
|
|
106
|
-
const changed = diff.writes.length > 0 || diff.clears.length > 0;
|
|
107
|
-
let out = '';
|
|
108
|
-
// Simulate the cursor through the emitted operations so the final
|
|
109
|
-
// positioning never depends on assumptions about where the ops left it.
|
|
110
|
-
let row = this.#row;
|
|
111
|
-
let col = this.#col;
|
|
112
|
-
if (changed) {
|
|
113
|
-
// Anchor every paint to an absolute screen row. Terminal integrations,
|
|
114
|
-
// raw tool output, or another stdout owner may have moved the physical
|
|
115
|
-
// cursor without updating our cache; relative motion would preserve that
|
|
116
|
-
// drift and leave old viewport indicators behind.
|
|
117
|
-
const prefix = diff.writes[0]?.row ?? diff.clears[0] ?? 0;
|
|
118
|
-
out += cursorPosition(prefix, 0);
|
|
119
|
-
row = prefix;
|
|
120
|
-
col = 0;
|
|
121
|
-
for (const write of diff.writes) {
|
|
122
|
-
out += '\r\x1b[K' + write.text;
|
|
123
|
-
row = write.row;
|
|
124
|
-
col = write.text.length;
|
|
125
|
-
if (write.row < next.length - 1) {
|
|
126
|
-
out += '\r\n';
|
|
127
|
-
row += 1;
|
|
128
|
-
col = 0;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
if (diff.clears.length > 0) {
|
|
132
|
-
// Walk down through the stale rows, clearing each in place, then
|
|
133
|
-
// return to the last written row (or the first rewritten row).
|
|
134
|
-
for (let i = 0; i < diff.clears.length; i += 1) {
|
|
135
|
-
if (i > 0 || diff.writes.length > 0) {
|
|
136
|
-
out += '\r\n';
|
|
137
|
-
row += 1;
|
|
138
|
-
col = 0;
|
|
139
|
-
}
|
|
140
|
-
out += '\x1b[K';
|
|
141
|
-
}
|
|
142
|
-
const back = diff.clears.length - (diff.writes.length > 0 ? 0 : 1);
|
|
143
|
-
if (back > 0) {
|
|
144
|
-
out += `\x1b[${back}A`;
|
|
145
|
-
row -= back;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
// Styled lines may contain escape bytes, so the column after a text
|
|
149
|
-
// write is not meaningful; normalize to the line start before the
|
|
150
|
-
// final positioning move.
|
|
151
|
-
if (col > 0) {
|
|
152
|
-
out += '\r';
|
|
153
|
-
col = 0;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
this.#last = next;
|
|
157
|
-
const target = frame.cursor ?? { row: next.length, column: 0 };
|
|
158
|
-
const cursorVisible = frame.cursorVisible !== false;
|
|
159
|
-
// Every changed paint ends at an absolute cursor coordinate. Identical
|
|
160
|
-
// frames remain true no-ops unless the logical caret itself moved.
|
|
161
|
-
const move = changed || target.row !== this.#row || target.column !== this.#col
|
|
162
|
-
? cursorPosition(target.row, target.column)
|
|
163
|
-
: '';
|
|
164
|
-
const hide = !cursorVisible && this.#cursorVisible ? '\x1b[?25l' : '';
|
|
165
|
-
const show = cursorVisible && !this.#cursorVisible ? '\x1b[?25h' : '';
|
|
166
|
-
const payload = hide + out + move + show;
|
|
167
|
-
if (payload !== '') {
|
|
168
|
-
this.#sink.write(this.#synchronized
|
|
169
|
-
? SYNC_OUTPUT_BEGIN + DISABLE_AUTOWRAP + payload + ENABLE_AUTOWRAP + SYNC_OUTPUT_END
|
|
170
|
-
: DISABLE_AUTOWRAP + payload + ENABLE_AUTOWRAP);
|
|
171
|
-
}
|
|
172
|
-
this.#row = target.row;
|
|
173
|
-
this.#col = target.column;
|
|
174
|
-
this.#cursorVisible = cursorVisible;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Move to the start of the frame's final row so a following newline exits
|
|
178
|
-
* below the UI instead of overwriting rows beneath the editor cursor.
|
|
179
|
-
*/
|
|
180
|
-
finish() {
|
|
181
|
-
const targetRow = Math.max(0, this.#last.length - 1);
|
|
182
|
-
let out = '';
|
|
183
|
-
if (this.#row > targetRow)
|
|
184
|
-
out += `\x1b[${this.#row - targetRow}A`;
|
|
185
|
-
else if (this.#row < targetRow)
|
|
186
|
-
out += `\x1b[${targetRow - this.#row}B`;
|
|
187
|
-
if (this.#col > 0)
|
|
188
|
-
out += '\r';
|
|
189
|
-
if (!this.#cursorVisible)
|
|
190
|
-
out += '\x1b[?25h';
|
|
191
|
-
if (out !== '')
|
|
192
|
-
this.#sink.write(out);
|
|
193
|
-
this.#row = targetRow;
|
|
194
|
-
this.#col = 0;
|
|
195
|
-
this.#cursorVisible = true;
|
|
196
|
-
}
|
|
197
|
-
/** Forget the rendered state; the next render treats the screen as empty. */
|
|
198
|
-
reset() {
|
|
199
|
-
this.#last = [];
|
|
200
|
-
this.#row = 0;
|
|
201
|
-
this.#col = 0;
|
|
202
|
-
}
|
|
34
|
+
const result = output + plain(value.slice(cursor));
|
|
35
|
+
if (sanitizeCache.size >= SANITIZE_CACHE_LIMIT)
|
|
36
|
+
sanitizeCache.clear();
|
|
37
|
+
sanitizeCache.set(value, result);
|
|
38
|
+
return result;
|
|
203
39
|
}
|
|
204
40
|
//# sourceMappingURL=renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/chrome/renderer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/chrome/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuCH,MAAM,cAAc,GAAG,+DAA+D,CAAA;AACtF,MAAM,cAAc,GAAG,oCAAoC,CAAA;AAE3D,wEAAwE;AACxE,wEAAwE;AACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC/C,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAEnC,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI;SACzC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAC9B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,QAAQ,CAAA;QACpB,CAAC;QACD,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAA;IACxC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,IAAI,aAAa,CAAC,IAAI,IAAI,oBAAoB;QAAE,aAAa,CAAC,KAAK,EAAE,CAAA;IACrE,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
/** Stable telemetry groups users can show, hide, and reorder. */
|
|
6
6
|
export declare const STATUS_GROUP_IDS: readonly ["context", "cache", "tokens", "speed", "durations", "counts"];
|
|
7
7
|
export type StatusGroupId = (typeof STATUS_GROUP_IDS)[number];
|
|
8
|
-
/** First-line pieces: model, reasoning effort, workspace path, and
|
|
9
|
-
export declare const STATUS_META_IDS: readonly ["model", "effort", "path", "git"];
|
|
8
|
+
/** First-line pieces: model, reasoning effort, workspace path, Git branch, and session title. */
|
|
9
|
+
export declare const STATUS_META_IDS: readonly ["model", "effort", "path", "git", "session"];
|
|
10
10
|
export type StatusMetaId = (typeof STATUS_META_IDS)[number];
|
|
11
11
|
/** Every independently placed footer item. */
|
|
12
|
-
export declare const STATUS_ITEM_IDS: readonly ["model", "effort", "path", "git", "context", "cache", "tokens", "speed", "durations", "counts"];
|
|
12
|
+
export declare const STATUS_ITEM_IDS: readonly ["model", "effort", "path", "git", "session", "context", "cache", "tokens", "speed", "durations", "counts"];
|
|
13
13
|
export type StatusItemId = (typeof STATUS_ITEM_IDS)[number];
|
|
14
14
|
export declare const STATUS_LABEL_STYLES: readonly ["compact", "full"];
|
|
15
15
|
export type StatusLabelStyle = (typeof STATUS_LABEL_STYLES)[number];
|
|
@@ -17,7 +17,7 @@ export type StatusLabelStyle = (typeof STATUS_LABEL_STYLES)[number];
|
|
|
17
17
|
* Color slots: one per preview item, plus legacy `metrics` as a fallback for
|
|
18
18
|
* telemetry groups that do not have their own color yet.
|
|
19
19
|
*/
|
|
20
|
-
export declare const STATUS_COLOR_SLOTS: readonly ["model", "effort", "path", "git", "context", "cache", "tokens", "speed", "durations", "counts", "metrics"];
|
|
20
|
+
export declare const STATUS_COLOR_SLOTS: readonly ["model", "effort", "path", "git", "session", "context", "cache", "tokens", "speed", "durations", "counts", "metrics"];
|
|
21
21
|
export type StatusColorSlot = (typeof STATUS_COLOR_SLOTS)[number];
|
|
22
22
|
/** Theme tokens offered for a status item. `default` keeps the built-in hierarchy. */
|
|
23
23
|
export declare const STATUS_COLOR_TOKENS: readonly ["default", "text", "muted", "accent", "success", "warning", "border", "label"];
|
|
@@ -56,6 +56,11 @@ export interface ResolvedStatusBarConfig extends StatusBarConfig {
|
|
|
56
56
|
export declare const STATUS_PRESETS: readonly ["minimal", "compact", "full"];
|
|
57
57
|
export type StatusPreset = (typeof STATUS_PRESETS)[number];
|
|
58
58
|
export declare const DEFAULT_STATUS_GROUPS: readonly StatusGroupId[];
|
|
59
|
+
/**
|
|
60
|
+
* Session title is offered but off by default: adding it to the first line
|
|
61
|
+
* would push narrow terminals into degradation sooner. The terminal window
|
|
62
|
+
* title carries it unconditionally.
|
|
63
|
+
*/
|
|
59
64
|
export declare const DEFAULT_STATUS_META: readonly StatusMetaId[];
|
|
60
65
|
export declare const DEFAULT_STATUS_COLORS: Required<StatusBarColors>;
|
|
61
66
|
/** Return a fresh default so callers can safely replace its group list. */
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/** Stable telemetry groups users can show, hide, and reorder. */
|
|
6
6
|
export const STATUS_GROUP_IDS = ['context', 'cache', 'tokens', 'speed', 'durations', 'counts'];
|
|
7
|
-
/** First-line pieces: model, reasoning effort, workspace path, and
|
|
8
|
-
export const STATUS_META_IDS = ['model', 'effort', 'path', 'git'];
|
|
7
|
+
/** First-line pieces: model, reasoning effort, workspace path, Git branch, and session title. */
|
|
8
|
+
export const STATUS_META_IDS = ['model', 'effort', 'path', 'git', 'session'];
|
|
9
9
|
/** Every independently placed footer item. */
|
|
10
10
|
export const STATUS_ITEM_IDS = [...STATUS_META_IDS, ...STATUS_GROUP_IDS];
|
|
11
11
|
export const STATUS_LABEL_STYLES = ['compact', 'full'];
|
|
@@ -23,6 +23,7 @@ export const DEFAULT_STATUS_SIDES = {
|
|
|
23
23
|
effort: 'left',
|
|
24
24
|
path: 'right',
|
|
25
25
|
git: 'right',
|
|
26
|
+
session: 'left',
|
|
26
27
|
context: 'left',
|
|
27
28
|
cache: 'left',
|
|
28
29
|
tokens: 'left',
|
|
@@ -33,12 +34,18 @@ export const DEFAULT_STATUS_SIDES = {
|
|
|
33
34
|
/** Legacy value accepted while existing settings documents migrate. */
|
|
34
35
|
export const STATUS_PRESETS = ['minimal', 'compact', 'full'];
|
|
35
36
|
export const DEFAULT_STATUS_GROUPS = STATUS_GROUP_IDS;
|
|
36
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Session title is offered but off by default: adding it to the first line
|
|
39
|
+
* would push narrow terminals into degradation sooner. The terminal window
|
|
40
|
+
* title carries it unconditionally.
|
|
41
|
+
*/
|
|
42
|
+
export const DEFAULT_STATUS_META = ['model', 'effort', 'path', 'git'];
|
|
37
43
|
export const DEFAULT_STATUS_COLORS = {
|
|
38
44
|
model: 'default',
|
|
39
45
|
effort: 'default',
|
|
40
46
|
path: 'default',
|
|
41
47
|
git: 'default',
|
|
48
|
+
session: 'default',
|
|
42
49
|
metrics: 'default',
|
|
43
50
|
context: 'default',
|
|
44
51
|
cache: 'default',
|
|
@@ -55,7 +62,9 @@ export function defaultStatusBarConfig() {
|
|
|
55
62
|
groups: [...DEFAULT_STATUS_GROUPS],
|
|
56
63
|
order: [...DEFAULT_STATUS_GROUPS],
|
|
57
64
|
meta: [...DEFAULT_STATUS_META],
|
|
58
|
-
|
|
65
|
+
// Every meta id keeps its slot so the settings list stays stable when an
|
|
66
|
+
// item is toggled; only `meta` decides what is actually painted.
|
|
67
|
+
metaOrder: [...STATUS_META_IDS],
|
|
59
68
|
colors: { ...DEFAULT_STATUS_COLORS },
|
|
60
69
|
sides: { ...DEFAULT_STATUS_SIDES },
|
|
61
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-config.js","sourceRoot":"","sources":["../../src/chrome/status-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAA;AAGvG,
|
|
1
|
+
{"version":3,"file":"status-config.js","sourceRoot":"","sources":["../../src/chrome/status-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ import type { Theme } from './theme.ts';
|
|
|
14
14
|
export interface StatusFooterOptions {
|
|
15
15
|
model: string;
|
|
16
16
|
reasoningEffort?: string;
|
|
17
|
+
/** Folded session title, shown only when the `session` meta item is enabled. */
|
|
18
|
+
sessionTitle?: string;
|
|
17
19
|
controls?: TuiSessionControls;
|
|
18
20
|
loop?: TuiLoopStatus;
|
|
19
21
|
pwd?: string;
|
|
@@ -272,7 +272,7 @@ function gitTone(branch, config) {
|
|
|
272
272
|
return /(?:^|\s)[*?]\d+/.test(branch) ? 'warning' : 'muted';
|
|
273
273
|
}
|
|
274
274
|
function visibleMetaIds(config) {
|
|
275
|
-
const order = config.metaOrder ?? ['model', 'effort', 'path', 'git'];
|
|
275
|
+
const order = config.metaOrder ?? ['model', 'effort', 'path', 'git', 'session'];
|
|
276
276
|
const visible = new Set(config.meta ?? ['model', 'effort', 'path', 'git']);
|
|
277
277
|
return order.filter(id => visible.has(id));
|
|
278
278
|
}
|
|
@@ -285,6 +285,9 @@ function buildMetaParts(options, config) {
|
|
|
285
285
|
if (id === 'effort' && options.reasoningEffort !== undefined && options.reasoningEffort !== '') {
|
|
286
286
|
parts.push({ id, text: options.reasoningEffort, color: itemColor(config, 'effort', 'customMessageLabel') });
|
|
287
287
|
}
|
|
288
|
+
if (id === 'session' && options.sessionTitle !== undefined && options.sessionTitle !== '') {
|
|
289
|
+
parts.push({ id, text: options.sessionTitle, color: itemColor(config, 'session', 'customMessageLabel') });
|
|
290
|
+
}
|
|
288
291
|
if (id === 'path' && options.pwd !== undefined && options.pwd !== '') {
|
|
289
292
|
parts.push({ id, text: options.pwd, color: itemColor(config, 'path', 'muted') });
|
|
290
293
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../src/chrome/status-line.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../src/chrome/status-line.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,44 @@ function stringField(value, key) {
|
|
|
41
41
|
function isSubagentToolName(name) {
|
|
42
42
|
return name === 'subagent' || name.startsWith('subagent_');
|
|
43
43
|
}
|
|
44
|
+
/** Declared deliverables from a `present` call, ignoring malformed entries. */
|
|
45
|
+
function presentedFiles(raw) {
|
|
46
|
+
const files = parsedObject(raw)?.['files'];
|
|
47
|
+
if (!Array.isArray(files))
|
|
48
|
+
return [];
|
|
49
|
+
const declared = [];
|
|
50
|
+
for (const entry of files) {
|
|
51
|
+
if (entry === null || typeof entry !== 'object' || Array.isArray(entry))
|
|
52
|
+
continue;
|
|
53
|
+
const record = entry;
|
|
54
|
+
const path = record['path'];
|
|
55
|
+
if (typeof path !== 'string' || path.trim() === '')
|
|
56
|
+
continue;
|
|
57
|
+
const description = typeof record['description'] === 'string' ? record['description'].trim() : '';
|
|
58
|
+
declared.push(description === '' ? { path } : { path, description });
|
|
59
|
+
}
|
|
60
|
+
return declared;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Presentation for the Harness `present` tool, which ships no presentCall: the
|
|
64
|
+
* card lists the declared source paths instead of the raw JSON arguments. The
|
|
65
|
+
* durable result only echoes those paths back, so it is hidden when it does.
|
|
66
|
+
*/
|
|
67
|
+
function presentFallback(name, raw, output) {
|
|
68
|
+
if (name !== 'present')
|
|
69
|
+
return undefined;
|
|
70
|
+
const files = presentedFiles(raw);
|
|
71
|
+
if (files.length === 0)
|
|
72
|
+
return undefined;
|
|
73
|
+
const rendered = output.trim();
|
|
74
|
+
const echoed = rendered === '' || rendered.split('\n').every(line => line.startsWith('Presented '));
|
|
75
|
+
return {
|
|
76
|
+
title: 'Deliverables',
|
|
77
|
+
summary: files.length === 1 ? '1 file' : `${files.length} files`,
|
|
78
|
+
lines: files.map(file => (file.description === undefined ? file.path : `${file.path} — ${file.description}`)),
|
|
79
|
+
...(echoed ? { hideOutput: true } : {}),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
44
82
|
/** Presentation for Harness delegation tools that do not ship presentCall. */
|
|
45
83
|
function subagentFallback(name, raw, output) {
|
|
46
84
|
const args = parsedObject(raw) ?? {};
|
|
@@ -62,7 +100,7 @@ function subagentFallback(name, raw, output) {
|
|
|
62
100
|
}
|
|
63
101
|
if (name === 'send_message') {
|
|
64
102
|
const message = stringField(args, 'message');
|
|
65
|
-
const id = stringField(args, 'subagent_id');
|
|
103
|
+
const id = stringField(args, 'agent_id') || stringField(args, 'subagent_id');
|
|
66
104
|
return {
|
|
67
105
|
title: 'Message',
|
|
68
106
|
...(id === '' ? {} : { summary: id }),
|
|
@@ -89,6 +127,8 @@ function contentLines(content) {
|
|
|
89
127
|
lines.push(...block.text.split('\n'));
|
|
90
128
|
else if (block.type === 'image')
|
|
91
129
|
lines.push(`[image ${block.attachment.width}×${block.attachment.height}]`);
|
|
130
|
+
else if (block.type === 'file')
|
|
131
|
+
lines.push(`[file ${block.attachment.name} · ${block.attachment.bytes} bytes]`);
|
|
92
132
|
else if (block.type === 'tool-call')
|
|
93
133
|
lines.push(`${block.name} ${block.arguments}`);
|
|
94
134
|
else if (block.type === 'tool-result')
|
|
@@ -207,11 +247,17 @@ function resultPresentation(view) {
|
|
|
207
247
|
/** Render a Harness presentation intent, falling back to durable raw arguments/result text. */
|
|
208
248
|
export function renderTool(input) {
|
|
209
249
|
const fallback = input.presentation === undefined
|
|
210
|
-
?
|
|
250
|
+
? presentFallback(input.name, input.arguments, input.output)
|
|
251
|
+
?? subagentFallback(input.name, input.arguments, input.output)
|
|
211
252
|
: undefined;
|
|
212
253
|
const call = callPresentation(input.presentation?.call, input.name);
|
|
213
254
|
const result = resultPresentation(input.presentation?.result);
|
|
214
|
-
|
|
255
|
+
// A tool that supplied a call card with a semantic title has already decided
|
|
256
|
+
// how the invocation reads; raw argument JSON would only duplicate it. The
|
|
257
|
+
// raw fallback stays for tools that ship no call presentation at all.
|
|
258
|
+
const semanticCall = input.presentation?.call !== undefined && call.title !== undefined;
|
|
259
|
+
const callLines = call.lines
|
|
260
|
+
?? (semanticCall ? [] : fallback?.lines ?? fallbackArgumentLines(input.arguments));
|
|
215
261
|
const outputLines = result.lines ?? (fallback?.hideOutput === true || input.output === '' ? [] : input.output.split('\n'));
|
|
216
262
|
const duplicateDiff = input.presentation?.call?.card === 'diff' && input.presentation.result?.card === 'diff';
|
|
217
263
|
const summary = result.summary ?? call.summary ?? fallback?.summary;
|