omniharness-cli 0.1.36 → 0.1.37
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/dist/ui/diff.d.ts +20 -0
- package/dist/ui/diff.js +91 -0
- package/dist/ui/diff.js.map +1 -0
- package/dist/ui/palette.d.ts +21 -0
- package/dist/ui/palette.js +37 -0
- package/dist/ui/palette.js.map +1 -0
- package/dist/ui/terminalInterface.js +107 -13
- package/dist/ui/terminalInterface.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal unified-diff detection and segmentation for the TUI.
|
|
3
|
+
*
|
|
4
|
+
* Pure module: given tool output text, decide whether it looks like a
|
|
5
|
+
* unified diff (a file-edit trail such as `git diff` emits) and, if so,
|
|
6
|
+
* split it into styled segments so the Ink renderer can color added lines
|
|
7
|
+
* green and removed lines red. Non-diff text passes through unchanged.
|
|
8
|
+
*/
|
|
9
|
+
import type { MarkdownSegment } from './markdown.js';
|
|
10
|
+
export interface DiffLine {
|
|
11
|
+
/** '+' added, '-' removed, '@' hunk header, ' ' context, 'file' H/---x headers. */
|
|
12
|
+
kind: '+' | '-' | '@' | ' ' | 'file';
|
|
13
|
+
text: string;
|
|
14
|
+
}
|
|
15
|
+
/** Parse unified-diff text into typed lines. Empty/absent input yields []. */
|
|
16
|
+
export declare function parseDiff(text: string): DiffLine[];
|
|
17
|
+
/** True when the output should be presented as a colored diff. */
|
|
18
|
+
export declare function looksLikeDiff(text: string): boolean;
|
|
19
|
+
/** Render unified-diff text into wrapped styled segments (one array per row). */
|
|
20
|
+
export declare function diffSegments(text: string, width: number): MarkdownSegment[][];
|
package/dist/ui/diff.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal unified-diff detection and segmentation for the TUI.
|
|
3
|
+
*
|
|
4
|
+
* Pure module: given tool output text, decide whether it looks like a
|
|
5
|
+
* unified diff (a file-edit trail such as `git diff` emits) and, if so,
|
|
6
|
+
* split it into styled segments so the Ink renderer can color added lines
|
|
7
|
+
* green and removed lines red. Non-diff text passes through unchanged.
|
|
8
|
+
*/
|
|
9
|
+
/** Parse unified-diff text into typed lines. Empty/absent input yields []. */
|
|
10
|
+
export function parseDiff(text) {
|
|
11
|
+
const lines = text.split('\n');
|
|
12
|
+
const out = [];
|
|
13
|
+
let inDiff = false;
|
|
14
|
+
for (const raw of lines) {
|
|
15
|
+
if (raw.startsWith('diff --git ') || raw.startsWith('Index: ')) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (raw.startsWith('+++ ') || raw.startsWith('--- ')) {
|
|
19
|
+
inDiff = true;
|
|
20
|
+
out.push({ kind: 'file', text: raw });
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
if (raw.startsWith('@@')) {
|
|
24
|
+
inDiff = true;
|
|
25
|
+
out.push({ kind: '@', text: raw });
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (!inDiff)
|
|
29
|
+
continue;
|
|
30
|
+
const marker = raw[0];
|
|
31
|
+
if (marker === '+') {
|
|
32
|
+
out.push({ kind: '+', text: raw.slice(1) });
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (marker === '-') {
|
|
36
|
+
out.push({ kind: '-', text: raw.slice(1) });
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (marker === ' ') {
|
|
40
|
+
out.push({ kind: ' ', text: raw.slice(1) });
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
out.push({ kind: ' ', text: raw });
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
/** True when the output should be presented as a colored diff. */
|
|
48
|
+
export function looksLikeDiff(text) {
|
|
49
|
+
return parseDiff(text).some((line) => line.kind === '+' || line.kind === '-');
|
|
50
|
+
}
|
|
51
|
+
const COLORS = {
|
|
52
|
+
'+': 'green',
|
|
53
|
+
'-': 'red',
|
|
54
|
+
'@': 'cyan',
|
|
55
|
+
' ': undefined,
|
|
56
|
+
file: 'dim',
|
|
57
|
+
};
|
|
58
|
+
const PREFIX = {
|
|
59
|
+
'+': '+ ',
|
|
60
|
+
'-': '- ',
|
|
61
|
+
'@': '@ ',
|
|
62
|
+
' ': ' ',
|
|
63
|
+
file: '',
|
|
64
|
+
};
|
|
65
|
+
/** Render one diff line into styled segments, preserving indentation exactly. */
|
|
66
|
+
function renderLine(line, width) {
|
|
67
|
+
const color = COLORS[line.kind];
|
|
68
|
+
const styled = (text) => ({ text, ...(color ? { color } : {}) });
|
|
69
|
+
const body = line.kind === 'file' ? line.text : `${PREFIX[line.kind]}${line.text}`;
|
|
70
|
+
if (body === '')
|
|
71
|
+
return [[styled('')]];
|
|
72
|
+
// Preserve the raw line verbatim (diff indentation is meaningful); hard-split
|
|
73
|
+
// only when a single line exceeds the column width.
|
|
74
|
+
const rows = [];
|
|
75
|
+
let rest = body;
|
|
76
|
+
while (rest.length > width) {
|
|
77
|
+
rows.push([styled(rest.slice(0, width))]);
|
|
78
|
+
rest = rest.slice(width);
|
|
79
|
+
}
|
|
80
|
+
rows.push([styled(rest)]);
|
|
81
|
+
return rows;
|
|
82
|
+
}
|
|
83
|
+
/** Render unified-diff text into wrapped styled segments (one array per row). */
|
|
84
|
+
export function diffSegments(text, width) {
|
|
85
|
+
const out = [];
|
|
86
|
+
for (const line of parseDiff(text).slice(0, 2000)) {
|
|
87
|
+
out.push(...renderLine(line, width));
|
|
88
|
+
}
|
|
89
|
+
return out;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/ui/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic color palette for the TUI.
|
|
3
|
+
*
|
|
4
|
+
* Pure module: exposes one set of named roles (accent, muted, success, warn,
|
|
5
|
+
* error, info) as Ink color values. When the terminal advertises truecolor
|
|
6
|
+
* (COLORTERM=truecolor|24bit) the roles resolve to 24-bit hex; otherwise they
|
|
7
|
+
* fall back to the closest ANSI-16 named colors so the UI never depends on
|
|
8
|
+
* truecolor support and never renders unreadable/gray secondary text.
|
|
9
|
+
*/
|
|
10
|
+
export interface Palette {
|
|
11
|
+
accent: string;
|
|
12
|
+
muted: string;
|
|
13
|
+
success: string;
|
|
14
|
+
warn: string;
|
|
15
|
+
error: string;
|
|
16
|
+
info: string;
|
|
17
|
+
}
|
|
18
|
+
/** Whether the terminal supports 24-bit color per the COLORTERM convention. */
|
|
19
|
+
export declare function supportsTrueColor(env?: Record<string, string | undefined>): boolean;
|
|
20
|
+
/** Resolve the semantic palette for the current terminal environment. */
|
|
21
|
+
export declare function palette(env?: Record<string, string | undefined>): Palette;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic color palette for the TUI.
|
|
3
|
+
*
|
|
4
|
+
* Pure module: exposes one set of named roles (accent, muted, success, warn,
|
|
5
|
+
* error, info) as Ink color values. When the terminal advertises truecolor
|
|
6
|
+
* (COLORTERM=truecolor|24bit) the roles resolve to 24-bit hex; otherwise they
|
|
7
|
+
* fall back to the closest ANSI-16 named colors so the UI never depends on
|
|
8
|
+
* truecolor support and never renders unreadable/gray secondary text.
|
|
9
|
+
*/
|
|
10
|
+
/** Truecolor palette (24-bit hex values Ink passes to chalk.hex). */
|
|
11
|
+
const TRUE_COLORS = {
|
|
12
|
+
accent: '#7aa2f7',
|
|
13
|
+
muted: '#8b93a7',
|
|
14
|
+
success: '#9ece6a',
|
|
15
|
+
warn: '#e0af68',
|
|
16
|
+
error: '#f7768e',
|
|
17
|
+
info: '#2ac3de',
|
|
18
|
+
};
|
|
19
|
+
/** ANSI-16 fallback used when the terminal has no truecolor support. */
|
|
20
|
+
const ANSI_16 = {
|
|
21
|
+
accent: 'blue',
|
|
22
|
+
muted: 'gray',
|
|
23
|
+
success: 'green',
|
|
24
|
+
warn: 'yellow',
|
|
25
|
+
error: 'red',
|
|
26
|
+
info: 'cyan',
|
|
27
|
+
};
|
|
28
|
+
/** Whether the terminal supports 24-bit color per the COLORTERM convention. */
|
|
29
|
+
export function supportsTrueColor(env = process.env) {
|
|
30
|
+
const colorTerm = env.COLORTERM;
|
|
31
|
+
return colorTerm === 'truecolor' || colorTerm === '24bit';
|
|
32
|
+
}
|
|
33
|
+
/** Resolve the semantic palette for the current terminal environment. */
|
|
34
|
+
export function palette(env = process.env) {
|
|
35
|
+
return supportsTrueColor(env) ? { ...TRUE_COLORS } : { ...ANSI_16 };
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"palette.js","sourceRoot":"","sources":["../../src/ui/palette.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,qEAAqE;AACrE,MAAM,WAAW,GAAY;IAC3B,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,wEAAwE;AACxE,MAAM,OAAO,GAAY;IACvB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,MAA0C,OAAO,CAAC,GAAG;IACrF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAChC,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,OAAO,CAAC;AAC5D,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,OAAO,CAAC,MAA0C,OAAO,CAAC,GAAG;IAC3E,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -5,7 +5,35 @@ import Spinner from 'ink-spinner';
|
|
|
5
5
|
import { appendPromptHistory, loadPromptHistory } from '../promptHistory.js';
|
|
6
6
|
import { deleteAt, deleteBefore, insertAt, layoutEditor, lineEndAt, lineStartAt, moveHorizontal, moveVerticalWrapped, normalizePaste } from './editor.js';
|
|
7
7
|
import { renderMarkdown } from './markdown.js';
|
|
8
|
+
import { looksLikeDiff, diffSegments } from './diff.js';
|
|
9
|
+
import { palette } from './palette.js';
|
|
8
10
|
import { KITTY_POP, KITTY_PUSH, KITTY_QUERY, isEncodedKey, isKittyQueryResponse, parseRawKey } from './keys.js';
|
|
11
|
+
function describeTarget(name, input) {
|
|
12
|
+
if (input && typeof input === 'object') {
|
|
13
|
+
const record = input;
|
|
14
|
+
if (typeof record.path === 'string')
|
|
15
|
+
return record.path;
|
|
16
|
+
if (typeof record.command === 'string')
|
|
17
|
+
return record.command;
|
|
18
|
+
if (typeof record.query === 'string')
|
|
19
|
+
return record.query.slice(0, 48);
|
|
20
|
+
}
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
function phaseFor(tool) {
|
|
24
|
+
switch (tool) {
|
|
25
|
+
case 'read_file': return 'reading files';
|
|
26
|
+
case 'write_file': return 'editing files';
|
|
27
|
+
case 'run_command': return 'running commands';
|
|
28
|
+
case 'semantic_search': return 'searching the workspace';
|
|
29
|
+
case 'index_workspace': return 'indexing the workspace';
|
|
30
|
+
case 'git_diff': return 'checking the diff';
|
|
31
|
+
case 'update_todo': return 'updating the plan';
|
|
32
|
+
case 'start_preview': return 'starting preview';
|
|
33
|
+
case 'write_memory': return 'remembering';
|
|
34
|
+
default: return tool;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
9
37
|
/** Map a restored transcript message into a rendered line (used on startup). */
|
|
10
38
|
function lineFromMessage(message) {
|
|
11
39
|
switch (message.role) {
|
|
@@ -61,18 +89,19 @@ function labelFor(role, model, toolName, fallback) {
|
|
|
61
89
|
default: return model ?? fallback ?? 'assistant';
|
|
62
90
|
}
|
|
63
91
|
}
|
|
64
|
-
|
|
92
|
+
const PALETTE = palette();
|
|
93
|
+
function colorFor(role, p = PALETTE) {
|
|
65
94
|
switch (role) {
|
|
66
|
-
case 'user': return
|
|
67
|
-
case 'error': return
|
|
68
|
-
case 'thinking': return
|
|
69
|
-
case 'tool': return
|
|
70
|
-
default: return
|
|
95
|
+
case 'user': return p.info;
|
|
96
|
+
case 'error': return p.error;
|
|
97
|
+
case 'thinking': return p.warn;
|
|
98
|
+
case 'tool': return p.muted;
|
|
99
|
+
default: return p.success;
|
|
71
100
|
}
|
|
72
101
|
}
|
|
73
102
|
function SegmentText({ segments, role }) {
|
|
74
|
-
const base = role === 'thinking' ? '
|
|
75
|
-
return _jsx(Text, { color: base, children: segments.map((segment, index) => (_jsx(Text, { bold: segment.bold, italic: segment.italic, strikethrough: segment.strikethrough, underline: segment.underline, dimColor: segment.dim, color: segment.color, children: segment.text }, index))) });
|
|
103
|
+
const base = role === 'thinking' ? PALETTE.warn : role === 'tool' ? PALETTE.muted : role === 'assistant' ? PALETTE.success : role === 'user' ? PALETTE.info : undefined;
|
|
104
|
+
return _jsx(Text, { color: base, children: segments.map((segment, index) => (_jsx(Text, { bold: segment.bold, italic: segment.italic, strikethrough: segment.strikethrough, underline: segment.underline, dimColor: segment.dim, color: segment.color ?? base, children: segment.text }, index))) });
|
|
76
105
|
}
|
|
77
106
|
export function TerminalInterface({ engine }) {
|
|
78
107
|
const { exit } = useApp();
|
|
@@ -105,6 +134,13 @@ export function TerminalInterface({ engine }) {
|
|
|
105
134
|
const [kitty, setKitty] = useState(null);
|
|
106
135
|
const [taskQueue, setTaskQueue] = useState(engine.state.taskQueue);
|
|
107
136
|
const [currentTool, setCurrentTool] = useState();
|
|
137
|
+
// Tool activity rendered as collapsible cards: each completed/ongoing tool
|
|
138
|
+
// call carries its target, status, and optional summary/diff trail.
|
|
139
|
+
const [toolCards, setToolCards] = useState([]);
|
|
140
|
+
const [expandedTool, setExpandedTool] = useState();
|
|
141
|
+
// Run timing: monotonic start time plus a ticking elapsed counter while busy.
|
|
142
|
+
const runStartedAt = useRef(null);
|
|
143
|
+
const [now, setNow] = useState(() => Date.now());
|
|
108
144
|
useEffect(() => {
|
|
109
145
|
let alive = true;
|
|
110
146
|
// Seed history from disk, but only if the user hasn't already submitted a
|
|
@@ -158,11 +194,19 @@ export function TerminalInterface({ engine }) {
|
|
|
158
194
|
setLiveAnswer('');
|
|
159
195
|
break;
|
|
160
196
|
case 'tool_start':
|
|
161
|
-
|
|
197
|
+
setToolCards((current) => [...current, {
|
|
198
|
+
id: `tc-${Date.now().toString(36)}-${current.length}`, name: event.tool,
|
|
199
|
+
target: describeTarget(event.tool, event.input), status: 'running',
|
|
200
|
+
trail: typeof event.input === 'object' && event.input !== null
|
|
201
|
+
&& typeof event.input.content === 'string'
|
|
202
|
+
? String(event.input.content) : undefined,
|
|
203
|
+
}]);
|
|
162
204
|
setCurrentTool(event.tool);
|
|
163
205
|
break;
|
|
164
206
|
case 'tool_result':
|
|
165
|
-
|
|
207
|
+
setToolCards((current) => current.length === 0
|
|
208
|
+
? current
|
|
209
|
+
: current.map((card, index) => index === current.length - 1 ? { ...card, status: 'done', summary: event.summary } : card));
|
|
166
210
|
setCurrentTool(undefined);
|
|
167
211
|
break;
|
|
168
212
|
case 'todos':
|
|
@@ -297,6 +341,9 @@ export function TerminalInterface({ engine }) {
|
|
|
297
341
|
setTaskQueue([]);
|
|
298
342
|
setError(undefined);
|
|
299
343
|
setCurrentTool(undefined);
|
|
344
|
+
setToolCards([]);
|
|
345
|
+
setExpandedTool(undefined);
|
|
346
|
+
runStartedAt.current = null;
|
|
300
347
|
setLiveThink('');
|
|
301
348
|
setLiveAnswer('');
|
|
302
349
|
syncPromptHistory([]);
|
|
@@ -313,6 +360,11 @@ export function TerminalInterface({ engine }) {
|
|
|
313
360
|
setEdit({ value: '', cursor: 0 });
|
|
314
361
|
setBusy(true);
|
|
315
362
|
setError(undefined);
|
|
363
|
+
setToolCards([]);
|
|
364
|
+
setExpandedTool(undefined);
|
|
365
|
+
if (runStartedAt.current === null)
|
|
366
|
+
runStartedAt.current = Date.now();
|
|
367
|
+
setNow(Date.now());
|
|
316
368
|
historyIdxRef.current = -1;
|
|
317
369
|
if (prompt) {
|
|
318
370
|
syncPromptHistory([prompt, ...promptHistoryRef.current.filter((entry) => entry !== prompt)].slice(0, 200));
|
|
@@ -335,6 +387,8 @@ export function TerminalInterface({ engine }) {
|
|
|
335
387
|
finally {
|
|
336
388
|
setBusy(false);
|
|
337
389
|
setCurrentTool(undefined);
|
|
390
|
+
setToolCards((current) => current.map((card) => card.status === 'running' ? { ...card, status: 'error' } : card));
|
|
391
|
+
runStartedAt.current = null;
|
|
338
392
|
setLiveThink('');
|
|
339
393
|
setLiveAnswer('');
|
|
340
394
|
}
|
|
@@ -469,6 +523,12 @@ export function TerminalInterface({ engine }) {
|
|
|
469
523
|
scrollTranscript(-pageSizeRef.current);
|
|
470
524
|
return;
|
|
471
525
|
}
|
|
526
|
+
// Ctrl+T toggles the most recent tool card between collapsed and expanded.
|
|
527
|
+
if (key.ctrl && value.toLowerCase() === 't') {
|
|
528
|
+
const latest = toolCards[toolCards.length - 1];
|
|
529
|
+
setExpandedTool((current) => (latest && current === latest.id) ? undefined : (latest ? latest.id : undefined));
|
|
530
|
+
return;
|
|
531
|
+
}
|
|
472
532
|
if (key.tab) {
|
|
473
533
|
applyAction({ kind: 'tab' });
|
|
474
534
|
return;
|
|
@@ -540,6 +600,18 @@ export function TerminalInterface({ engine }) {
|
|
|
540
600
|
if (metrics.fallback.attempts > 0)
|
|
541
601
|
hud.push(`fb ${metrics.fallback.attempts}`);
|
|
542
602
|
hud.push(`saved ${compression}`);
|
|
603
|
+
// Live statusline fields: model, mode, running phase, tokens/context, elapsed.
|
|
604
|
+
const runningTool = toolCards[toolCards.length - 1];
|
|
605
|
+
const phase = busy && currentTool ? phaseFor(currentTool) : (busy ? 'working' : 'ready');
|
|
606
|
+
const elapsedMs = busy && runStartedAt.current !== null
|
|
607
|
+
? Math.max(0, now - runStartedAt.current)
|
|
608
|
+
: 0;
|
|
609
|
+
const elapsed = busy
|
|
610
|
+
? (elapsedMs >= 60_000 ? `${Math.floor(elapsedMs / 60_000)}m${String(Math.floor((elapsedMs % 60_000) / 1000)).padStart(2, '0')}s` : `${Math.floor(elapsedMs / 1000)}s`)
|
|
611
|
+
: '';
|
|
612
|
+
const contextLabel = metrics.compression.inputTokens > 0
|
|
613
|
+
? `${(metrics.compression.inputTokens / 1000).toFixed(1)}k in`
|
|
614
|
+
: '';
|
|
543
615
|
const contentWidth = Math.max(20, width - 8);
|
|
544
616
|
const terminalRows = stdout.rows ?? 24;
|
|
545
617
|
const editorLayout = useMemo(() => layoutEditor(edit.value, edit.cursor, inputWidth), [edit.value, edit.cursor, inputWidth]);
|
|
@@ -595,7 +667,8 @@ export function TerminalInterface({ engine }) {
|
|
|
595
667
|
const footerRows = 3;
|
|
596
668
|
const chromeRows = 3 + footerRows + inputRows + (kitty !== null ? 1 : 0) + planRows + pickerRows + approvalRows;
|
|
597
669
|
const messageHeight = Math.max(3, terminalRows - chromeRows);
|
|
598
|
-
const
|
|
670
|
+
const toolRows = toolCards.length > 0 ? toolCards.length : 0; // one collapsed card per tool call
|
|
671
|
+
const statusRows = (engine.state.preview ? 1 : 0) + (busy ? 1 : 0) + toolRows;
|
|
599
672
|
const storedHeight = Math.max(0, messageHeight - Math.min(messageHeight, liveRows.length + statusRows));
|
|
600
673
|
const liveHeight = Math.max(0, messageHeight - storedHeight - statusRows);
|
|
601
674
|
const visibleLiveRows = liveHeight > 0 ? liveRows.slice(-liveHeight) : [];
|
|
@@ -631,13 +704,34 @@ export function TerminalInterface({ engine }) {
|
|
|
631
704
|
useEffect(() => {
|
|
632
705
|
setScrollOffset((current) => clamp(current, 0, maxScroll));
|
|
633
706
|
}, [maxScroll]);
|
|
707
|
+
// Tick a clock while a run is in flight so the statusline can show elapsed time
|
|
708
|
+
// without re-rendering on every event. runStartedAt is set when a run begins.
|
|
709
|
+
useEffect(() => {
|
|
710
|
+
if (!busy)
|
|
711
|
+
return;
|
|
712
|
+
const id = setInterval(() => setNow(Date.now()), 250);
|
|
713
|
+
return () => clearInterval(id);
|
|
714
|
+
}, [busy]);
|
|
634
715
|
return _jsxs(Box, { flexDirection: "column", width: width, height: terminalRows, paddingX: 2, overflow: "hidden", children: [_jsxs(Box, { justifyContent: "space-between", paddingY: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["OMNIHARNESS ", _jsxs(Text, { dimColor: true, children: ["\u00B7 ", mode, " mode"] })] }), _jsx(Text, { dimColor: true, children: "OMNIROUTE :20128" })] }), _jsxs(Box, { flexDirection: "column", height: messageHeight, overflow: "hidden", children: [lines.length === 0 && _jsxs(Box, { flexDirection: "column", marginTop: 2, children: [_jsx(Text, { color: "cyan", bold: true, children: "Ready when you are." }), _jsxs(Text, { dimColor: true, children: ["Describe the work. OmniHarness routes it through your OmniRoute account. Ctrl+", modeKey, " cycles plan \u00B7 build \u00B7 research \u00B7 crazy."] })] }), visibleRows.map((row, index) => row.saved
|
|
635
716
|
? _jsx(Text, { dimColor: true, children: row.saved }, row.key)
|
|
636
717
|
: row.first
|
|
637
718
|
? _jsxs(Box, { flexDirection: "column", marginTop: index === 0 ? 0 : 1, children: [_jsx(Text, { color: colorFor(row.role), bold: true, children: row.label }), _jsx(SegmentText, { segments: row.segments, role: row.role })] }, row.key)
|
|
638
719
|
: _jsx(SegmentText, { segments: row.segments, role: row.role }, row.key)), visibleLiveRows.map((row) => row.kind === 'label'
|
|
639
720
|
? _jsx(Text, { color: colorFor(row.role), bold: true, children: row.role === 'thinking' ? 'think' : engine.state.activeModel }, row.key)
|
|
640
|
-
: _jsx(SegmentText, { segments: row.segments, role: row.role }, row.key)),
|
|
721
|
+
: _jsx(SegmentText, { segments: row.segments, role: row.role }, row.key)), toolCards.slice(-6).map((card) => {
|
|
722
|
+
const expanded = expandedTool === card.id;
|
|
723
|
+
const status = card.status === 'running' ? _jsx(Text, { color: PALETTE.warn, children: "\u2022 running" }) : card.status === 'error' ? _jsx(Text, { color: PALETTE.error, children: "\u2715 error" }) : _jsx(Text, { color: PALETTE.success, children: "\u2713 done" });
|
|
724
|
+
const target = card.target ? ` · ${clip(card.target, Math.max(10, contentWidth - 40))}` : '';
|
|
725
|
+
const badge = expanded ? '▾' : '▸';
|
|
726
|
+
return _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { dimColor: true, children: [badge, " ", card.name, target, " \u00B7 ", status, expanded ? ' · Ctrl+T to collapse' : ''] }), expanded && (card.trail
|
|
727
|
+
? looksLikeDiff(card.trail)
|
|
728
|
+
? diffSegments(card.trail, contentWidth).slice(0, 12).map((segments, index) => _jsx(SegmentText, { segments: segments, role: "tool" }, index))
|
|
729
|
+
// A file-edit trail is the new content; show it as added (green) lines.
|
|
730
|
+
: card.trail.split('\n').slice(0, 12).map((line, index) => _jsx(Text, { color: PALETTE.success, children: line }, index))
|
|
731
|
+
: card.summary
|
|
732
|
+
? _jsx(Text, { dimColor: true, children: clip(card.summary, contentWidth) })
|
|
733
|
+
: _jsx(Text, { dimColor: true, children: "(no output)" }))] }, card.id);
|
|
734
|
+
}), engine.state.preview && _jsxs(Text, { color: "green", dimColor: true, children: ["preview live \u00B7 ", engine.state.preview.url] }), busy && _jsxs(Text, { color: "cyan", children: [_jsx(Spinner, { type: "dots" }), " working in ", mode, " mode on ", engine.state.activeModel, currentTool ? ` · now ${currentTool}` : ''] })] }), taskQueue.length > 0 && _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, marginTop: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { bold: true, color: "cyan", children: "plan" }), _jsxs(Text, { dimColor: true, children: [taskQueue.filter((item) => item.status === 'done').length, "/", taskQueue.length, " done"] })] }), taskQueue.slice(-6).map((item) => {
|
|
641
735
|
const marker = item.status === 'done' ? '✓' : item.status === 'active' ? '▸' : '○';
|
|
642
736
|
const color = item.status === 'done' ? 'green' : item.status === 'active' ? 'cyan' : undefined;
|
|
643
737
|
return _jsxs(Text, { color: color, dimColor: item.status === 'done', children: [marker, " ", clip(item.title, contentWidth - 4)] }, item.id);
|
|
@@ -648,6 +742,6 @@ export function TerminalInterface({ engine }) {
|
|
|
648
742
|
return _jsxs(Box, { flexDirection: "column", children: [header, _jsxs(Text, { color: index === pickerIndex ? 'cyan' : undefined, children: [index === pickerIndex ? '› ' : ' ', item.id, item.strategy ? _jsxs(Text, { dimColor: true, children: [" \u00B7 ", item.strategy] }) : null, item.id === engine.state.activeModel ? ' ✓' : ''] })] }, item.id);
|
|
649
743
|
})] }), approval && _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "yellow", paddingX: 2, paddingY: 1, marginTop: 1, children: [_jsxs(Text, { bold: true, color: "yellow", children: ["Approve ", approval.tool, "?"] }), _jsxs(Text, { dimColor: true, children: ["args: ", clip(typeof approval.input === 'string' ? approval.input : JSON.stringify(approval.input), contentWidth)] }), _jsx(Text, { dimColor: true, children: "y approve \u00B7 n deny" })] }), _jsx(Box, { borderStyle: "round", borderColor: error ? 'red' : 'cyan', paddingX: 1, marginTop: 1, flexDirection: "column", children: edit.value === ''
|
|
650
744
|
? _jsxs(Text, { color: "cyan", children: ["\u203A ", _jsx(Text, { dimColor: true, children: "type a task and press enter" })] })
|
|
651
|
-
: editorLayout.lines.map((text, index) => _jsxs(Text, { color: "cyan", children: [index === 0 ? '› ' : ' ', text] }, index)) }), kitty !== null && _jsx(Text, { dimColor: true, children: kitty ? 'kitty protocol active — Shift+Enter makes a new line' : 'this terminal can\'t distinguish Shift+Enter from Enter — use Ctrl+J for a new line' }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { dimColor: true, children: ["Enter send \u00B7 Shift+Enter/Ctrl+J new line \u00B7
|
|
745
|
+
: editorLayout.lines.map((text, index) => _jsxs(Text, { color: "cyan", children: [index === 0 ? '› ' : ' ', text] }, index)) }), kitty !== null && _jsx(Text, { dimColor: true, children: kitty ? 'kitty protocol active — Shift+Enter makes a new line' : 'this terminal can\'t distinguish Shift+Enter from Enter — use Ctrl+J for a new line' }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { color: busy ? PALETTE.info : PALETTE.muted, children: [busy && _jsx(Spinner, { type: "dots" }), phase, elapsed ? ` · ${elapsed}` : ''] }), _jsx(Text, { color: PALETTE.muted, children: [engine.state.activeModel, mode, contextLabel, scrollStatus].filter(Boolean).join(' · ') })] }), _jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { dimColor: true, children: ["Enter send \u00B7 Shift+Enter/Ctrl+J new line \u00B7 Ctrl+O models \u00B7 Ctrl+", modeKey, " mode \u00B7 Ctrl+C cancel/quit \u00B7 /help \u00B7 Ctrl+T tool"] }), hud.length > 0 && _jsx(Text, { dimColor: true, children: hud.join(' · ') })] })] })] });
|
|
652
746
|
}
|
|
653
747
|
//# sourceMappingURL=terminalInterface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalInterface.js","sourceRoot":"","sources":["../../src/ui/terminalInterface.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminalInterface.js","sourceRoot":"","sources":["../../src/ui/terminalInterface.tsx"],"names":[],"mappings":"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"}
|