moderado 0.4.34 → 0.4.50
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/commands/chat.d.ts +7 -70
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +279 -453
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/chat_meta.d.ts +36 -0
- package/dist/commands/chat_meta.d.ts.map +1 -0
- package/dist/commands/chat_meta.js +102 -0
- package/dist/commands/chat_meta.js.map +1 -0
- package/dist/commands/chat_outcome.d.ts +31 -0
- package/dist/commands/chat_outcome.d.ts.map +1 -0
- package/dist/commands/chat_outcome.js +70 -0
- package/dist/commands/chat_outcome.js.map +1 -0
- package/dist/commands/chat_search.d.ts +24 -0
- package/dist/commands/chat_search.d.ts.map +1 -0
- package/dist/commands/chat_search.js +61 -0
- package/dist/commands/chat_search.js.map +1 -0
- package/dist/commands/chat_slash.d.ts +17 -0
- package/dist/commands/chat_slash.d.ts.map +1 -0
- package/dist/commands/chat_slash.js +109 -0
- package/dist/commands/chat_slash.js.map +1 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +25 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -2
- package/dist/config.js.map +1 -1
- package/dist/diagnostic_log.d.ts.map +1 -1
- package/dist/diagnostic_log.js +1 -0
- package/dist/diagnostic_log.js.map +1 -1
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +5 -1
- package/dist/sessions.js.map +1 -1
- package/dist/transcript.d.ts +19 -0
- package/dist/transcript.d.ts.map +1 -0
- package/dist/transcript.js +76 -0
- package/dist/transcript.js.map +1 -0
- package/dist/turn_summary.d.ts +76 -0
- package/dist/turn_summary.d.ts.map +1 -0
- package/dist/turn_summary.js +305 -0
- package/dist/turn_summary.js.map +1 -0
- package/dist/ui/box.d.ts +19 -0
- package/dist/ui/box.d.ts.map +1 -1
- package/dist/ui/box.js +119 -12
- package/dist/ui/box.js.map +1 -1
- package/dist/ui/chart.d.ts +2 -0
- package/dist/ui/chart.d.ts.map +1 -0
- package/dist/ui/chart.js +97 -0
- package/dist/ui/chart.js.map +1 -0
- package/dist/ui/composer.d.ts +80 -0
- package/dist/ui/composer.d.ts.map +1 -0
- package/dist/ui/composer.js +883 -0
- package/dist/ui/composer.js.map +1 -0
- package/dist/ui/help_content.d.ts +2 -2
- package/dist/ui/help_content.d.ts.map +1 -1
- package/dist/ui/help_content.js +5 -3
- package/dist/ui/help_content.js.map +1 -1
- package/dist/ui/model_selector.d.ts +1 -0
- package/dist/ui/model_selector.d.ts.map +1 -1
- package/dist/ui/model_selector.js +61 -18
- package/dist/ui/model_selector.js.map +1 -1
- package/dist/ui/popup.d.ts.map +1 -1
- package/dist/ui/popup.js +7 -0
- package/dist/ui/popup.js.map +1 -1
- package/dist/ui/provider_connect.d.ts +8 -0
- package/dist/ui/provider_connect.d.ts.map +1 -1
- package/dist/ui/provider_connect.js +81 -23
- package/dist/ui/provider_connect.js.map +1 -1
- package/dist/ui/renderer.d.ts +49 -4
- package/dist/ui/renderer.d.ts.map +1 -1
- package/dist/ui/renderer.js +167 -31
- package/dist/ui/renderer.js.map +1 -1
- package/dist/ui/terminal_approval.d.ts +21 -0
- package/dist/ui/terminal_approval.d.ts.map +1 -1
- package/dist/ui/terminal_approval.js +145 -47
- package/dist/ui/terminal_approval.js.map +1 -1
- package/dist/ui/welcome.d.ts +274 -69
- package/dist/ui/welcome.d.ts.map +1 -1
- package/dist/ui/welcome.js +729 -700
- package/dist/ui/welcome.js.map +1 -1
- package/dist/vendor/providers/presets.d.ts +16 -0
- package/dist/vendor/providers/presets.d.ts.map +1 -1
- package/dist/vendor/providers/presets.js +13 -0
- package/dist/vendor/providers/presets.js.map +1 -1
- package/dist/vendor/tools/checkpoints.js +5 -5
- package/dist/vendor/tools/checkpoints.js.map +1 -1
- package/dist/vendor/tools/jail.d.ts +8 -0
- package/dist/vendor/tools/jail.d.ts.map +1 -1
- package/dist/vendor/tools/jail.js +13 -2
- package/dist/vendor/tools/jail.js.map +1 -1
- package/dist/vendor/tools/tools/apply_patch.d.ts.map +1 -1
- package/dist/vendor/tools/tools/apply_patch.js +6 -3
- package/dist/vendor/tools/tools/apply_patch.js.map +1 -1
- package/dist/vendor/tools/tools/git_diff.d.ts.map +1 -1
- package/dist/vendor/tools/tools/git_diff.js +5 -3
- package/dist/vendor/tools/tools/git_diff.js.map +1 -1
- package/package.json +1 -1
|
@@ -284,53 +284,111 @@ async function chooseModeradoModel(connection, options) {
|
|
|
284
284
|
});
|
|
285
285
|
return modelId ? { ...connection, defaultModel: modelId } : connection;
|
|
286
286
|
}
|
|
287
|
-
|
|
287
|
+
/**
|
|
288
|
+
* The Gateway URL is a property of the deployment, not a question for the user:
|
|
289
|
+
* reuse the environment override, the configured Gateway, the saved profile, or
|
|
290
|
+
* the active connection before asking for a Prod/Dev choice at all.
|
|
291
|
+
*/
|
|
292
|
+
function knownModeradoGatewayUrl(options) {
|
|
293
|
+
const active = options.activeConnection;
|
|
294
|
+
const activeUrl = active && (active.id === 'moderado' || active.id === 'moderado-cloud') ? active.baseUrl : undefined;
|
|
295
|
+
const candidates = [
|
|
296
|
+
process.env.MODERADO_BASE_URL ?? process.env.MODERADO_CLOUD_BASE_URL,
|
|
297
|
+
options.gatewayUrl,
|
|
298
|
+
options.savedConnections?.moderado?.baseUrl,
|
|
299
|
+
options.savedConnections?.['moderado-cloud']?.baseUrl,
|
|
300
|
+
activeUrl,
|
|
301
|
+
];
|
|
302
|
+
return candidates.find((value) => typeof value === 'string' && value.trim().length > 0)?.trim();
|
|
303
|
+
}
|
|
304
|
+
async function resolveModeradoGatewayUrl(options) {
|
|
305
|
+
const known = knownModeradoGatewayUrl(options);
|
|
306
|
+
if (known) {
|
|
307
|
+
try {
|
|
308
|
+
return validateProviderBaseUrl(known);
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
// A malformed saved URL must not trap the user: fall through to the picker.
|
|
312
|
+
}
|
|
313
|
+
}
|
|
288
314
|
const modes = [
|
|
289
315
|
{ label: 'Prod Mode', value: 'production', description: 'https://modr.alfazen.org/v1' },
|
|
290
316
|
{ label: 'Dev Mode', value: 'development', description: 'http://127.0.0.1:4788/v1' },
|
|
291
317
|
];
|
|
292
318
|
if ((process.env.MODERADO_ENV ?? process.env.MODERADO_CLOUD_ENV) === 'development')
|
|
293
319
|
modes.reverse();
|
|
294
|
-
const defaultMode = 0;
|
|
295
320
|
const selectedMode = options.drawFrame
|
|
296
321
|
? await selectListPopup('Moderado Gateway Mode', modes, { drawFrame: options.drawFrame, signal: options.signal, hint: '↑↓ choose · Enter continue · Esc cancel' })
|
|
297
|
-
: (await askSelect('Moderado Gateway Mode', modes,
|
|
322
|
+
: (await askSelect('Moderado Gateway Mode', modes, 0, { signal: options.signal })).value;
|
|
298
323
|
if (!selectedMode || options.signal?.aborted)
|
|
299
324
|
return undefined;
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
325
|
+
return resolveModeradoBaseUrl(selectedMode, undefined);
|
|
326
|
+
}
|
|
327
|
+
async function resolveSavedModeradoConnection(options) {
|
|
328
|
+
if (options.forceReauthenticate)
|
|
303
329
|
return undefined;
|
|
304
|
-
let savedConnection;
|
|
305
330
|
const saved = options.savedConnections?.moderado ?? options.savedConnections?.['moderado-cloud'];
|
|
306
|
-
if (saved)
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
331
|
+
if (!saved)
|
|
332
|
+
return undefined;
|
|
333
|
+
try {
|
|
334
|
+
const resolved = options.resolveSavedConnection ? await options.resolveSavedConnection(saved) : saved;
|
|
335
|
+
return resolved.apiKey?.trim() ? resolved : undefined;
|
|
336
|
+
}
|
|
337
|
+
catch {
|
|
338
|
+
// Keep sign-in available when credential storage cannot be read.
|
|
339
|
+
return undefined;
|
|
315
340
|
}
|
|
316
|
-
|
|
317
|
-
|
|
341
|
+
}
|
|
342
|
+
async function askModeradoApiKey(baseUrl, options) {
|
|
343
|
+
let prompt = 'Moderado API key (mrd_…, optional for paid routes)';
|
|
318
344
|
while (!options.signal?.aborted) {
|
|
319
|
-
const apiKey = await askPopupText(prompt, options, true
|
|
345
|
+
const apiKey = await askPopupText(prompt, options, true);
|
|
320
346
|
if (apiKey === undefined)
|
|
321
347
|
return undefined;
|
|
322
348
|
try {
|
|
323
|
-
|
|
324
|
-
const connection = buildModeradoConnection(apiKey || undefined, credentialExpiresAt, enteredBaseUrl);
|
|
325
|
-
return chooseModeradoModel(connection, options);
|
|
349
|
+
return chooseModeradoModel(buildModeradoConnection(apiKey || undefined, undefined, baseUrl), options);
|
|
326
350
|
}
|
|
327
351
|
catch (error) {
|
|
328
352
|
prompt = `Invalid key: ${error instanceof Error ? error.message : String(error)} Try again`;
|
|
329
|
-
initialKey = '';
|
|
330
353
|
}
|
|
331
354
|
}
|
|
332
355
|
return undefined;
|
|
333
356
|
}
|
|
357
|
+
/**
|
|
358
|
+
* Connect to the Moderado Gateway. The flow asks only what it cannot know:
|
|
359
|
+
* the deployment (once, when nothing is configured), the credential (reused
|
|
360
|
+
* when saved, otherwise browser sign-in with a manual key as the fallback),
|
|
361
|
+
* and the model. The base URL is never typed by hand.
|
|
362
|
+
*/
|
|
363
|
+
export async function loginModeradoInteractive(options = {}) {
|
|
364
|
+
if (options.signal?.aborted)
|
|
365
|
+
return undefined;
|
|
366
|
+
const baseUrl = await resolveModeradoGatewayUrl(options);
|
|
367
|
+
if (!baseUrl || options.signal?.aborted)
|
|
368
|
+
return undefined;
|
|
369
|
+
const saved = await resolveSavedModeradoConnection(options);
|
|
370
|
+
if (saved?.apiKey) {
|
|
371
|
+
return chooseModeradoModel(buildModeradoConnection(saved.apiKey, saved.credentialExpiresAt, baseUrl), options);
|
|
372
|
+
}
|
|
373
|
+
// No reusable credential: sign in once instead of interrogating for a key.
|
|
374
|
+
const method = options.drawFrame
|
|
375
|
+
? await selectListPopup('Moderado Sign-in', [
|
|
376
|
+
{ label: 'Sign in with browser', value: 'browser', description: 'Opens mod.alfazen.org and returns here automatically' },
|
|
377
|
+
{ label: 'Paste an API key', value: 'key', description: 'Use an mrd_… key from your Moderado account' },
|
|
378
|
+
], { drawFrame: options.drawFrame, signal: options.signal, hint: '↑↓ choose · Enter continue · Esc cancel' })
|
|
379
|
+
: 'key';
|
|
380
|
+
if (!method)
|
|
381
|
+
return undefined;
|
|
382
|
+
if (method === 'browser') {
|
|
383
|
+
const auth = await authorizeModeradoInBrowser(options.signal, { drawFrame: options.drawFrame });
|
|
384
|
+
if (auth)
|
|
385
|
+
return chooseModeradoModel(buildModeradoConnection(auth.accessToken, auth.expiresAt, baseUrl), options);
|
|
386
|
+
if (options.signal?.aborted)
|
|
387
|
+
return undefined;
|
|
388
|
+
// Cancelled or unavailable browser flow: keep the manual key as a fallback.
|
|
389
|
+
}
|
|
390
|
+
return askModeradoApiKey(baseUrl, options);
|
|
391
|
+
}
|
|
334
392
|
/** @deprecated Use loginModeradoInteractive. */
|
|
335
393
|
export const loginModeradoCloudInteractive = loginModeradoInteractive;
|
|
336
394
|
async function askProviderBaseUrl(label, initialValue, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider_connect.js","sourceRoot":"","sources":["../../src/ui/provider_connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider_connect.js","sourceRoot":"","sources":["../../src/ui/provider_connect.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/renderer.d.ts
CHANGED
|
@@ -10,20 +10,65 @@ export declare class TerminalRenderer {
|
|
|
10
10
|
private readonly isChatMode;
|
|
11
11
|
private isStreamingAssistant;
|
|
12
12
|
private hasTransientProgress;
|
|
13
|
-
/**
|
|
14
|
-
private
|
|
15
|
-
private taskMaxSteps;
|
|
13
|
+
/** Latest progress sentence from the engine, shown as a short phase label. */
|
|
14
|
+
private taskStatus;
|
|
16
15
|
private sawTaskProgress;
|
|
17
16
|
private latestUsage?;
|
|
18
17
|
private hasUsageTitle;
|
|
19
18
|
private lastUsageTimestamp;
|
|
19
|
+
/**
|
|
20
|
+
* Raw engine status of the open row, or `undefined` when no row is open.
|
|
21
|
+
*
|
|
22
|
+
* This is the only row the renderer ever rewrites, and it is always the last
|
|
23
|
+
* row on screen, so repainting it cannot destroy anything above it. Every
|
|
24
|
+
* other write appends — which is what keeps the log scrollable.
|
|
25
|
+
*/
|
|
26
|
+
private liveStatus?;
|
|
27
|
+
/** Short display label of the open row. */
|
|
28
|
+
private liveLabel?;
|
|
29
|
+
private liveStartedAt;
|
|
30
|
+
/** Ticks the live row's clock while a phase runs; see startLiveClock. */
|
|
31
|
+
private liveTimer?;
|
|
32
|
+
/** Whether the last write ended a row, so the next one starts on a clean line. */
|
|
33
|
+
private atRowStart;
|
|
20
34
|
constructor(options?: TerminalRendererOptions);
|
|
35
|
+
/** Append output, remembering whether the cursor is sitting at a row start. */
|
|
36
|
+
private write;
|
|
37
|
+
/** Columns available for wrapping; a non-TTY stream reports no width. */
|
|
38
|
+
private columns;
|
|
39
|
+
private elapsedLabel;
|
|
21
40
|
handleEvent(event: AgentEvent): void;
|
|
22
41
|
private printUsageSummary;
|
|
23
42
|
private finishAssistantStream;
|
|
24
43
|
private clearTransientProgress;
|
|
25
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Finalise the live row in place and close it, so it becomes scrollback.
|
|
46
|
+
*
|
|
47
|
+
* The row is repainted with its settled glyph and elapsed time and then a
|
|
48
|
+
* newline pushes it up. Nothing above it is touched, so the terminal's own
|
|
49
|
+
* scrollback — the mouse wheel, the slider, PgUp — reaches every phase the
|
|
50
|
+
* agent went through.
|
|
51
|
+
*/
|
|
52
|
+
private commitLive;
|
|
53
|
+
/**
|
|
54
|
+
* Transient single-line progress, kept live on the last row only.
|
|
55
|
+
*
|
|
56
|
+
* The engine's step counter is deliberately not printed: `Step 1/25` stayed
|
|
57
|
+
* true for minutes while one inference ran, so it described the engine's loop
|
|
58
|
+
* rather than anything the reader could use.
|
|
59
|
+
*/
|
|
26
60
|
private paintTaskStatus;
|
|
61
|
+
/**
|
|
62
|
+
* Keep the live row's clock moving while a phase runs.
|
|
63
|
+
*
|
|
64
|
+
* One inference can run for minutes with no event of any kind, and a row
|
|
65
|
+
* frozen at `· 0s` reads as a hang. The timer is unref'd so it can never hold
|
|
66
|
+
* the process open, and it stops the moment the row is committed.
|
|
67
|
+
*/
|
|
68
|
+
private startLiveClock;
|
|
69
|
+
private stopLiveClock;
|
|
70
|
+
/** Release the live-row timer; safe to call more than once. */
|
|
71
|
+
dispose(): void;
|
|
27
72
|
private formatToolSummary;
|
|
28
73
|
}
|
|
29
74
|
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAYD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;IACrC,8EAA8E;IAC9E,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAa;IACvC;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,2CAA2C;IAC3C,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAK;IAC1B,yEAAyE;IACzE,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,kFAAkF;IAClF,OAAO,CAAC,UAAU,CAAQ;gBAEd,OAAO,GAAE,uBAA4B;IAMjD,+EAA+E;IAC/E,OAAO,CAAC,KAAK;IAKb,yEAAyE;IACzE,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;IAKpB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAuLpC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,sBAAsB;IAe9B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAMrB,+DAA+D;IAC/D,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,iBAAiB;CAQ1B"}
|
package/dist/ui/renderer.js
CHANGED
|
@@ -1,22 +1,58 @@
|
|
|
1
|
-
import { formatTokenUsage } from './welcome.js';
|
|
1
|
+
import { formatTokenUsage, describeActivity, wrapText } from './welcome.js';
|
|
2
|
+
/**
|
|
3
|
+
* Body rows one log entry may occupy before the rest folds into a footer.
|
|
4
|
+
*
|
|
5
|
+
* A tool result used to be printed as `lines[0].slice(0, 75)`: one clipped line
|
|
6
|
+
* that hid an entire payload behind “… (+37 lines)”. Five wrapped rows show
|
|
7
|
+
* enough of a real output to be read while keeping the log scannable, and the
|
|
8
|
+
* footer says exactly how much was left out.
|
|
9
|
+
*/
|
|
10
|
+
const LOG_ENTRY_MAX_ROWS = 5;
|
|
2
11
|
export class TerminalRenderer {
|
|
3
12
|
stdout;
|
|
4
13
|
verbose;
|
|
5
14
|
isChatMode;
|
|
6
15
|
isStreamingAssistant = false;
|
|
7
16
|
hasTransientProgress = false;
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
taskMaxSteps = 0;
|
|
17
|
+
/** Latest progress sentence from the engine, shown as a short phase label. */
|
|
18
|
+
taskStatus = '';
|
|
11
19
|
sawTaskProgress = false;
|
|
12
20
|
latestUsage;
|
|
13
21
|
hasUsageTitle = false;
|
|
14
22
|
lastUsageTimestamp = -Infinity;
|
|
23
|
+
/**
|
|
24
|
+
* Raw engine status of the open row, or `undefined` when no row is open.
|
|
25
|
+
*
|
|
26
|
+
* This is the only row the renderer ever rewrites, and it is always the last
|
|
27
|
+
* row on screen, so repainting it cannot destroy anything above it. Every
|
|
28
|
+
* other write appends — which is what keeps the log scrollable.
|
|
29
|
+
*/
|
|
30
|
+
liveStatus;
|
|
31
|
+
/** Short display label of the open row. */
|
|
32
|
+
liveLabel;
|
|
33
|
+
liveStartedAt = 0;
|
|
34
|
+
/** Ticks the live row's clock while a phase runs; see startLiveClock. */
|
|
35
|
+
liveTimer;
|
|
36
|
+
/** Whether the last write ended a row, so the next one starts on a clean line. */
|
|
37
|
+
atRowStart = true;
|
|
15
38
|
constructor(options = {}) {
|
|
16
39
|
this.stdout = options.stdout ?? process.stdout;
|
|
17
40
|
this.verbose = options.verbose ?? false;
|
|
18
41
|
this.isChatMode = options.isChatMode ?? false;
|
|
19
42
|
}
|
|
43
|
+
/** Append output, remembering whether the cursor is sitting at a row start. */
|
|
44
|
+
write(text) {
|
|
45
|
+
this.stdout.write(text);
|
|
46
|
+
this.atRowStart = text.endsWith('\n');
|
|
47
|
+
}
|
|
48
|
+
/** Columns available for wrapping; a non-TTY stream reports no width. */
|
|
49
|
+
columns() {
|
|
50
|
+
return Math.max(20, this.stdout.columns || 80);
|
|
51
|
+
}
|
|
52
|
+
elapsedLabel() {
|
|
53
|
+
const seconds = (Date.now() - this.liveStartedAt) / 1000;
|
|
54
|
+
return seconds < 1 ? '<1s' : `${Math.round(seconds)}s`;
|
|
55
|
+
}
|
|
20
56
|
handleEvent(event) {
|
|
21
57
|
// The interactive chat command owns a full-screen frame and redraws it as
|
|
22
58
|
// events arrive. Writing here would place output beneath the previous
|
|
@@ -37,8 +73,13 @@ export class TerminalRenderer {
|
|
|
37
73
|
this.hasUsageTitle = true;
|
|
38
74
|
}
|
|
39
75
|
else {
|
|
40
|
-
this.
|
|
76
|
+
this.write(`\r\x1b[K\x1b[38;5;244m${text}\x1b[0m`);
|
|
41
77
|
this.hasTransientProgress = true;
|
|
78
|
+
// The counters replaced the live row, so it is no longer ours to
|
|
79
|
+
// rewrite: the next phase opens a fresh one instead of committing
|
|
80
|
+
// text the reader can no longer see.
|
|
81
|
+
this.liveStatus = undefined;
|
|
82
|
+
this.liveLabel = undefined;
|
|
42
83
|
}
|
|
43
84
|
break;
|
|
44
85
|
}
|
|
@@ -52,18 +93,17 @@ export class TerminalRenderer {
|
|
|
52
93
|
: event.reason === 'user_pinned'
|
|
53
94
|
? 'Pinned'
|
|
54
95
|
: `Fallback (${event.reason})`;
|
|
55
|
-
this.
|
|
96
|
+
this.write(`\x1b[38;5;141m● Model:\x1b[0m ${reasonText} \x1b[1;38;5;75m${event.newModelId}\x1b[0m \x1b[38;5;244m(${event.accessClass})\x1b[0m\n`);
|
|
56
97
|
break;
|
|
57
98
|
}
|
|
58
99
|
case 'progress': {
|
|
59
100
|
if (this.verbose) {
|
|
60
101
|
this.finishAssistantStream();
|
|
61
102
|
this.clearTransientProgress();
|
|
62
|
-
this.
|
|
103
|
+
this.write(`\x1b[38;5;244m◇ ${event.status}\x1b[0m\n`);
|
|
63
104
|
}
|
|
64
105
|
else {
|
|
65
|
-
this.
|
|
66
|
-
this.taskMaxSteps = event.maxSteps ?? 0;
|
|
106
|
+
this.taskStatus = event.status;
|
|
67
107
|
this.sawTaskProgress = true;
|
|
68
108
|
this.paintTaskStatus();
|
|
69
109
|
}
|
|
@@ -71,9 +111,8 @@ export class TerminalRenderer {
|
|
|
71
111
|
}
|
|
72
112
|
case 'reasoning_delta': {
|
|
73
113
|
// Do not display internal thinking process. Keep subtle transient spinner.
|
|
74
|
-
if (
|
|
114
|
+
if (this.liveStatus === undefined)
|
|
75
115
|
this.paintTaskStatus();
|
|
76
|
-
}
|
|
77
116
|
break;
|
|
78
117
|
}
|
|
79
118
|
case 'assistant_delta': {
|
|
@@ -82,22 +121,23 @@ export class TerminalRenderer {
|
|
|
82
121
|
this.isStreamingAssistant = true;
|
|
83
122
|
}
|
|
84
123
|
this.stdout.write(event.delta);
|
|
124
|
+
this.atRowStart = false;
|
|
85
125
|
break;
|
|
86
126
|
}
|
|
87
127
|
case 'tool_call_initiated': {
|
|
88
128
|
this.finishAssistantStream();
|
|
89
129
|
this.clearTransientProgress();
|
|
90
130
|
const summary = this.formatToolSummary(event.toolName, event.parameters);
|
|
91
|
-
this.
|
|
131
|
+
this.write(`\x1b[38;5;75m⏺\x1b[0m \x1b[1m${event.toolName}\x1b[0m \x1b[38;5;244m${summary}\x1b[0m\n`);
|
|
92
132
|
break;
|
|
93
133
|
}
|
|
94
134
|
case 'diagnostic_result': {
|
|
95
135
|
this.finishAssistantStream();
|
|
96
136
|
this.clearTransientProgress();
|
|
97
137
|
const visible = event.diagnostics.slice(0, 10);
|
|
98
|
-
this.
|
|
138
|
+
this.write(`\x1b[38;5;203mDiagnostics (exit ${event.exitCode}):\x1b[0m\n`);
|
|
99
139
|
for (const diagnostic of visible)
|
|
100
|
-
this.
|
|
140
|
+
this.write(` ${diagnostic.file ? `${diagnostic.file}:${diagnostic.line ?? 0}:${diagnostic.column ?? 0} ` : ''}${diagnostic.code ? `${diagnostic.code} ` : ''}${diagnostic.message}\n`);
|
|
101
141
|
break;
|
|
102
142
|
}
|
|
103
143
|
case 'tool_result': {
|
|
@@ -110,9 +150,32 @@ export class TerminalRenderer {
|
|
|
110
150
|
? '\x1b[38;5;222m'
|
|
111
151
|
: '\x1b[38;5;203m';
|
|
112
152
|
const statusIcon = isSuccess ? '✔' : event.result.status === 'denied' ? '⚠' : '✖';
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
153
|
+
// Wrap instead of clipping: the first line of a payload is rarely the
|
|
154
|
+
// interesting one, and “… (+37 lines)” told the reader nothing about
|
|
155
|
+
// what the agent actually saw.
|
|
156
|
+
const width = Math.max(20, this.columns() - 4);
|
|
157
|
+
const trimmed = event.result.output.trim();
|
|
158
|
+
const rows = trimmed
|
|
159
|
+
? trimmed
|
|
160
|
+
.split('\n')
|
|
161
|
+
.flatMap((line) => (line.trim() ? wrapText(line, width) : ['']))
|
|
162
|
+
: [];
|
|
163
|
+
const shown = rows.slice(0, LOG_ENTRY_MAX_ROWS);
|
|
164
|
+
const hidden = rows.length - shown.length;
|
|
165
|
+
this.write(` \x1b[38;5;240m└\x1b[0m ${statusColor}${statusIcon}\x1b[0m`);
|
|
166
|
+
if (shown.length === 0) {
|
|
167
|
+
this.write(` \x1b[38;5;244m(no output)\x1b[0m\n\n`);
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
for (const [index, row] of shown.entries()) {
|
|
171
|
+
// ` └ ✔ ` is six cells, so continuation rows align under the text.
|
|
172
|
+
const gutter = index === 0 ? ' ' : ' ';
|
|
173
|
+
this.write(`${gutter}\x1b[38;5;244m${row}\x1b[0m\n`);
|
|
174
|
+
}
|
|
175
|
+
if (hidden > 0) {
|
|
176
|
+
this.write(` \x1b[38;5;240m… +${hidden} more line${hidden === 1 ? '' : 's'}\x1b[0m\n`);
|
|
177
|
+
}
|
|
178
|
+
this.write('\n');
|
|
116
179
|
break;
|
|
117
180
|
}
|
|
118
181
|
case 'completion': {
|
|
@@ -120,18 +183,17 @@ export class TerminalRenderer {
|
|
|
120
183
|
this.finishAssistantStream();
|
|
121
184
|
this.clearTransientProgress();
|
|
122
185
|
if (event.status === 'completed' && this.sawTaskProgress) {
|
|
123
|
-
this.
|
|
186
|
+
this.write(`\x1b[38;5;114m✔ Done (${event.totalSteps} ${event.totalSteps === 1 ? 'step' : 'steps'})\x1b[0m\n`);
|
|
124
187
|
}
|
|
125
188
|
this.sawTaskProgress = false;
|
|
126
|
-
this.
|
|
127
|
-
this.taskMaxSteps = 0;
|
|
189
|
+
this.taskStatus = '';
|
|
128
190
|
const bannerColor = event.status === 'completed'
|
|
129
191
|
? '\x1b[1;32m'
|
|
130
192
|
: event.status === 'step_limit_reached'
|
|
131
193
|
? '\x1b[1;33m'
|
|
132
194
|
: '\x1b[1;31m';
|
|
133
195
|
const icon = event.status === 'completed' ? '✔' : '⚠';
|
|
134
|
-
this.
|
|
196
|
+
this.write(`\n\x1b[90m╭─────────────────────────────────────────────────────────────╮\x1b[0m\n` +
|
|
135
197
|
`\x1b[90m│\x1b[0m ${icon} ${bannerColor}=== Session Finished: ${event.status.toUpperCase()} (Total Steps: ${event.totalSteps}) ===\x1b[0m\n` +
|
|
136
198
|
`\x1b[90m╰─────────────────────────────────────────────────────────────╯\x1b[0m\n`);
|
|
137
199
|
break;
|
|
@@ -140,14 +202,14 @@ export class TerminalRenderer {
|
|
|
140
202
|
this.printUsageSummary();
|
|
141
203
|
this.finishAssistantStream();
|
|
142
204
|
this.clearTransientProgress();
|
|
143
|
-
this.
|
|
205
|
+
this.write(`\n\x1b[1;31m✖ [Error ${event.code}]\x1b[0m ${event.message}\n`);
|
|
144
206
|
break;
|
|
145
207
|
}
|
|
146
208
|
case 'cancellation': {
|
|
147
209
|
this.printUsageSummary();
|
|
148
210
|
this.finishAssistantStream();
|
|
149
211
|
this.clearTransientProgress();
|
|
150
|
-
this.
|
|
212
|
+
this.write(`\n\x1b[1;33m⚠ [Cancelled]\x1b[0m ${event.reason}\n`);
|
|
151
213
|
break;
|
|
152
214
|
}
|
|
153
215
|
default:
|
|
@@ -162,29 +224,103 @@ export class TerminalRenderer {
|
|
|
162
224
|
if (!this.latestUsage)
|
|
163
225
|
return;
|
|
164
226
|
this.finishAssistantStream();
|
|
165
|
-
this.
|
|
227
|
+
this.write(`${formatTokenUsage(this.latestUsage)}\n`);
|
|
166
228
|
this.latestUsage = undefined;
|
|
167
229
|
}
|
|
168
230
|
finishAssistantStream() {
|
|
169
231
|
this.clearTransientProgress();
|
|
170
232
|
if (this.isStreamingAssistant) {
|
|
171
|
-
|
|
233
|
+
// Only add the line break the stream itself owes: committing a phase
|
|
234
|
+
// already ended its row, and a second newline would print a blank line.
|
|
235
|
+
if (!this.atRowStart)
|
|
236
|
+
this.write('\n');
|
|
172
237
|
this.isStreamingAssistant = false;
|
|
173
238
|
}
|
|
174
239
|
}
|
|
175
240
|
clearTransientProgress() {
|
|
241
|
+
if (this.liveStatus !== undefined) {
|
|
242
|
+
// The phase is over: keep it. Erasing the row (`\r\x1b[K`) is what made
|
|
243
|
+
// the log unreadable — the sentence the reader was halfway through
|
|
244
|
+
// vanished the moment the next phase started.
|
|
245
|
+
this.commitLive();
|
|
246
|
+
this.hasTransientProgress = false;
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
176
249
|
if (this.hasTransientProgress) {
|
|
177
|
-
this.
|
|
250
|
+
this.write('\r\x1b[K');
|
|
178
251
|
this.hasTransientProgress = false;
|
|
179
252
|
}
|
|
180
253
|
}
|
|
181
|
-
/**
|
|
254
|
+
/**
|
|
255
|
+
* Finalise the live row in place and close it, so it becomes scrollback.
|
|
256
|
+
*
|
|
257
|
+
* The row is repainted with its settled glyph and elapsed time and then a
|
|
258
|
+
* newline pushes it up. Nothing above it is touched, so the terminal's own
|
|
259
|
+
* scrollback — the mouse wheel, the slider, PgUp — reaches every phase the
|
|
260
|
+
* agent went through.
|
|
261
|
+
*/
|
|
262
|
+
commitLive() {
|
|
263
|
+
if (this.liveStatus === undefined)
|
|
264
|
+
return;
|
|
265
|
+
this.write(`\r\x1b[K\x1b[38;5;245m✔ ${this.liveLabel} · ${this.elapsedLabel()}\x1b[0m\n`);
|
|
266
|
+
this.liveStatus = undefined;
|
|
267
|
+
this.liveLabel = undefined;
|
|
268
|
+
this.stopLiveClock();
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Transient single-line progress, kept live on the last row only.
|
|
272
|
+
*
|
|
273
|
+
* The engine's step counter is deliberately not printed: `Step 1/25` stayed
|
|
274
|
+
* true for minutes while one inference ran, so it described the engine's loop
|
|
275
|
+
* rather than anything the reader could use.
|
|
276
|
+
*/
|
|
182
277
|
paintTaskStatus() {
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
this
|
|
278
|
+
const status = this.taskStatus || 'Working';
|
|
279
|
+
const label = describeActivity(status);
|
|
280
|
+
// A new engine phase commits the previous row first, so the log grows
|
|
281
|
+
// instead of being overwritten — this is the whole difference between a
|
|
282
|
+
// one-line spinner and a readable, scrollable activity log. Two phases that
|
|
283
|
+
// map to the same short label ("Inferring…" and "Inferring next action…")
|
|
284
|
+
// are still two rows, because the reader is following the work, not the
|
|
285
|
+
// label.
|
|
286
|
+
if (this.liveStatus !== status) {
|
|
287
|
+
this.commitLive();
|
|
288
|
+
this.liveStatus = status;
|
|
289
|
+
this.liveLabel = label;
|
|
290
|
+
this.liveStartedAt = Date.now();
|
|
291
|
+
}
|
|
292
|
+
this.write(`\r\x1b[K\x1b[38;5;245m⠋ ${label} · ${this.elapsedLabel()}\x1b[0m`);
|
|
187
293
|
this.hasTransientProgress = true;
|
|
294
|
+
this.startLiveClock();
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Keep the live row's clock moving while a phase runs.
|
|
298
|
+
*
|
|
299
|
+
* One inference can run for minutes with no event of any kind, and a row
|
|
300
|
+
* frozen at `· 0s` reads as a hang. The timer is unref'd so it can never hold
|
|
301
|
+
* the process open, and it stops the moment the row is committed.
|
|
302
|
+
*/
|
|
303
|
+
startLiveClock() {
|
|
304
|
+
if (this.liveTimer || !this.stdout.isTTY)
|
|
305
|
+
return;
|
|
306
|
+
this.liveTimer = setInterval(() => {
|
|
307
|
+
if (this.liveStatus === undefined) {
|
|
308
|
+
this.stopLiveClock();
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
this.paintTaskStatus();
|
|
312
|
+
}, 1000);
|
|
313
|
+
this.liveTimer.unref?.();
|
|
314
|
+
}
|
|
315
|
+
stopLiveClock() {
|
|
316
|
+
if (!this.liveTimer)
|
|
317
|
+
return;
|
|
318
|
+
clearInterval(this.liveTimer);
|
|
319
|
+
this.liveTimer = undefined;
|
|
320
|
+
}
|
|
321
|
+
/** Release the live-row timer; safe to call more than once. */
|
|
322
|
+
dispose() {
|
|
323
|
+
this.stopLiveClock();
|
|
188
324
|
}
|
|
189
325
|
formatToolSummary(toolName, params) {
|
|
190
326
|
if (params.filePath)
|