erosolar-cli 1.7.399 → 1.7.401

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.
@@ -17,9 +17,8 @@ export interface ShellConfig {
17
17
  workspaceOptions: WorkspaceCaptureOptions;
18
18
  sessionRestore?: SessionRestoreConfig;
19
19
  enabledPlugins?: string[];
20
- version?: string;
21
- alternateScreen?: boolean;
22
20
  assistantBlocksEnabled?: boolean;
21
+ version?: string;
23
22
  }
24
23
  export interface SessionRestoreConfig {
25
24
  mode: 'none' | 'autosave' | 'session-id';
@@ -124,6 +123,12 @@ export declare class InteractiveShell {
124
123
  private readonly alternateScreenEnabled;
125
124
  private inputInitialized;
126
125
  private assistantStreamActive;
126
+ private assistantStreamPhase;
127
+ private assistantStreamHeaderShown;
128
+ private assistantStreamBuffer;
129
+ private assistantStreamMetadata;
130
+ private lastRequestStartedAt;
131
+ private lastToolSummaryRenderedAt;
127
132
  constructor(config: ShellConfig);
128
133
  private parallelAgentDisplayLines;
129
134
  private setupParallelAgentTracking;
@@ -244,9 +249,17 @@ export declare class InteractiveShell {
244
249
  private startAssistantStream;
245
250
  private streamAssistantChunk;
246
251
  private finalizeAssistantStream;
252
+ private processAssistantStreamChunk;
253
+ private writeAssistantStream;
254
+ private setAssistantStreamPhase;
255
+ private renderAssistantStreamHeader;
256
+ private splitAssistantStreamRemainder;
247
257
  private enqueueAssistantStream;
248
258
  private writeAssistantBlock;
249
259
  private renderAssistantBlock;
260
+ private renderAssistantContent;
261
+ private renderAssistantFallback;
262
+ private formatAssistantHeader;
250
263
  private isStreamingUiActive;
251
264
  /**
252
265
  * Render the prompt/control bar. During streaming, rely on the streaming frame
@@ -470,6 +483,7 @@ export declare class InteractiveShell {
470
483
  private buildThinkingDirective;
471
484
  private buildDisplayMetadata;
472
485
  private presentThoughtProcess;
486
+ private renderToolUsageSummary;
473
487
  private handleContextTelemetry;
474
488
  private totalTokens;
475
489
  private runContextCleanup;
@@ -496,6 +510,7 @@ export declare class InteractiveShell {
496
510
  /**
497
511
  * Build the session banner with comprehensive feature status.
498
512
  */
513
+ private getSessionFrameProps;
499
514
  private buildBanner;
500
515
  /**
501
516
  * Collect tool categories for banner display.
@@ -1 +1 @@
1
- {"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { promisify } from 'node:util';
4
4
  import { createInterface } from 'node:readline/promises';
5
5
  import { AssistantBlockRenderer } from '../ui/assistantBlockRenderer.js';
6
6
  import { display } from '../ui/display.js';
7
+ import { compactRenderer } from '../ui/compactRenderer.js';
7
8
  import { theme } from '../ui/theme.js';
8
9
  import { getContextWindowTokens } from '../core/contextWindow.js';
9
10
  import { ensureSecretForProvider, getSecretDefinitionForProvider, getSecretValue, listSecretDefinitions, MissingSecretError, maskSecret, setSecretValue, } from '../core/secretStore.js';
@@ -117,7 +118,7 @@ export class InteractiveShell {
117
118
  uiAdapter;
118
119
  uiUpdates;
119
120
  assistantBlocksEnabled;
120
- assistantBlockRenderer = null;
121
+ assistantBlockRenderer;
121
122
  _fileChangeTracker = new FileChangeTracker(); // Reserved for future file tracking features
122
123
  alphaZeroMetrics; // Alpha Zero 2 performance tracking
123
124
  statusSubscription = null;
@@ -185,6 +186,12 @@ export class InteractiveShell {
185
186
  alternateScreenEnabled;
186
187
  inputInitialized = false;
187
188
  assistantStreamActive = false;
189
+ assistantStreamPhase = null;
190
+ assistantStreamHeaderShown = false;
191
+ assistantStreamBuffer = '';
192
+ assistantStreamMetadata;
193
+ lastRequestStartedAt = null;
194
+ lastToolSummaryRenderedAt = null;
188
195
  constructor(config) {
189
196
  this.profile = config.profile;
190
197
  this.profileLabel = config.profileLabel;
@@ -199,8 +206,8 @@ export class InteractiveShell {
199
206
  this.alphaZeroModeEnabled = this.sessionPreferences.alphaZeroMode;
200
207
  this.sessionRestoreConfig = config.sessionRestore ?? { mode: 'none' };
201
208
  this._enabledPlugins = config.enabledPlugins ?? [];
202
- this.version = config.version ?? '0.0.0';
203
209
  this.assistantBlocksEnabled = config.assistantBlocksEnabled ?? true;
210
+ this.version = config.version ?? '0.0.0';
204
211
  // Alternate screen disabled - use terminal-native mode for proper scrollback and text selection
205
212
  this.alternateScreenEnabled = false;
206
213
  this.initializeSessionHistory();
@@ -296,12 +303,12 @@ export class InteractiveShell {
296
303
  onToggleAlphaZero: () => this.toggleAlphaZeroMode('shortcut'),
297
304
  onClearContext: () => this.handleClearContext(),
298
305
  });
299
- if (this.assistantBlocksEnabled) {
300
- this.assistantBlockRenderer = new AssistantBlockRenderer({
306
+ this.assistantBlockRenderer = this.assistantBlocksEnabled
307
+ ? new AssistantBlockRenderer({
301
308
  write: (text) => this.writeAssistantBlock(text),
302
309
  updates: this.uiUpdates,
303
- });
304
- }
310
+ })
311
+ : null;
305
312
  // Initialize Alpha Zero 2 metrics tracking
306
313
  this.alphaZeroMetrics = new MetricsTracker(`${this.profile}-${Date.now()}`);
307
314
  this.setupStatusTracking();
@@ -322,6 +329,7 @@ export class InteractiveShell {
322
329
  }
323
330
  // Stream banner first - this sets up scroll region dynamically
324
331
  const banner = this.buildBanner();
332
+ this.terminalInput.setSessionFrame(this.getSessionFrameProps());
325
333
  this.terminalInput.streamContent(banner + '\n\n');
326
334
  this.rebuildAgent();
327
335
  this.setupHandlers();
@@ -763,17 +771,27 @@ export class InteractiveShell {
763
771
  */
764
772
  async performContextCompaction() {
765
773
  try {
766
- // For now, just clear the history and show a message
767
- // A full implementation would summarize the conversation
768
- const oldLength = this.cachedHistory.length;
774
+ const sourceHistory = this.agent ? this.agent.getHistory() : this.cachedHistory;
775
+ const oldLength = sourceHistory.length;
769
776
  if (oldLength === 0) {
770
777
  display.showInfo('Context is already empty.');
771
778
  return;
772
779
  }
773
- // Keep the last few messages for continuity
774
- const keepCount = Math.min(4, oldLength);
775
- this.cachedHistory = this.cachedHistory.slice(-keepCount);
776
- display.showSuccess(`Context compacted: ${oldLength} messages reduced to ${keepCount}. ` +
780
+ // Preserve the first system message (base prompt) and the last few user/assistant turns.
781
+ const systemMessage = sourceHistory.find((message) => message.role === 'system') ?? null;
782
+ const conversationalMessages = sourceHistory.filter((message) => message.role !== 'system');
783
+ const keepCount = Math.min(4, conversationalMessages.length);
784
+ const tail = keepCount > 0 ? conversationalMessages.slice(-keepCount) : [];
785
+ const compacted = systemMessage ? [systemMessage, ...tail] : tail;
786
+ this.cachedHistory = compacted;
787
+ if (this.agent) {
788
+ this.agent.loadHistory(compacted);
789
+ }
790
+ // Reset tracked context usage so tools and status bars stay in sync post-compaction.
791
+ this.latestTokenUsage = { used: null, limit: this.activeContextWindowTokens ?? null };
792
+ this.updateContextUsage(0, CONTEXT_AUTOCOMPACT_PERCENT);
793
+ this.lastContextWarningLevel = null;
794
+ display.showSuccess(`Context compacted: ${oldLength} messages reduced to ${compacted.length}. ` +
777
795
  `Context usage reset. Continue your conversation.`);
778
796
  this.refreshControlBar();
779
797
  }
@@ -1345,14 +1363,14 @@ export class InteractiveShell {
1345
1363
  }
1346
1364
  startAssistantStream(metadata) {
1347
1365
  if (this.assistantStreamActive) {
1366
+ this.assistantStreamMetadata = metadata ?? this.assistantStreamMetadata;
1348
1367
  return;
1349
1368
  }
1350
1369
  this.assistantStreamActive = true;
1351
- if (!this.assistantBlocksEnabled || !this.assistantBlockRenderer) {
1352
- return;
1353
- }
1354
- const header = this.assistantBlockRenderer.formatHeader('response', metadata);
1355
- this.enqueueAssistantStream(`\n${header}\n`);
1370
+ this.assistantStreamPhase = null;
1371
+ this.assistantStreamHeaderShown = false;
1372
+ this.assistantStreamBuffer = '';
1373
+ this.assistantStreamMetadata = metadata;
1356
1374
  }
1357
1375
  streamAssistantChunk(chunk) {
1358
1376
  if (!chunk) {
@@ -1363,16 +1381,109 @@ export class InteractiveShell {
1363
1381
  contextWindowTokens: this.activeContextWindowTokens,
1364
1382
  });
1365
1383
  }
1366
- this.enqueueAssistantStream(chunk);
1384
+ this.processAssistantStreamChunk(chunk);
1367
1385
  }
1368
1386
  finalizeAssistantStream() {
1369
1387
  if (!this.assistantStreamActive) {
1370
1388
  return;
1371
1389
  }
1390
+ if (this.assistantStreamBuffer) {
1391
+ this.writeAssistantStream(this.assistantStreamBuffer);
1392
+ this.assistantStreamBuffer = '';
1393
+ }
1372
1394
  this.assistantStreamActive = false;
1373
- if (this.assistantBlocksEnabled && this.assistantBlockRenderer) {
1374
- this.enqueueAssistantStream('\n\n');
1395
+ this.assistantStreamPhase = null;
1396
+ this.assistantStreamHeaderShown = false;
1397
+ this.assistantStreamMetadata = undefined;
1398
+ this.enqueueAssistantStream('\n\n');
1399
+ }
1400
+ processAssistantStreamChunk(chunk) {
1401
+ this.assistantStreamBuffer += chunk;
1402
+ const tagRegex = /<(\/?)(thinking|response)>/i;
1403
+ while (this.assistantStreamBuffer.length > 0) {
1404
+ const match = tagRegex.exec(this.assistantStreamBuffer);
1405
+ if (!match || match.index === undefined) {
1406
+ // No more full tags - flush what we can but keep any partial tag prefix buffered
1407
+ const { flushable, remainder } = this.splitAssistantStreamRemainder(this.assistantStreamBuffer);
1408
+ if (flushable) {
1409
+ this.writeAssistantStream(flushable);
1410
+ }
1411
+ this.assistantStreamBuffer = remainder;
1412
+ return;
1413
+ }
1414
+ const tagIndex = match.index;
1415
+ const beforeTag = this.assistantStreamBuffer.slice(0, tagIndex);
1416
+ if (beforeTag) {
1417
+ this.writeAssistantStream(beforeTag);
1418
+ }
1419
+ // Advance buffer past the tag
1420
+ this.assistantStreamBuffer = this.assistantStreamBuffer.slice(tagIndex + match[0].length);
1421
+ const isClosing = match[1] === '/';
1422
+ const tagType = (match[2] ?? '').toLowerCase();
1423
+ if (isClosing) {
1424
+ if (this.assistantStreamPhase === tagType) {
1425
+ this.assistantStreamPhase = null;
1426
+ this.assistantStreamHeaderShown = false;
1427
+ }
1428
+ }
1429
+ else {
1430
+ this.setAssistantStreamPhase(tagType);
1431
+ }
1432
+ }
1433
+ }
1434
+ writeAssistantStream(content) {
1435
+ if (!content) {
1436
+ return;
1375
1437
  }
1438
+ if (!this.assistantStreamPhase) {
1439
+ this.setAssistantStreamPhase('response');
1440
+ }
1441
+ if (this.assistantStreamPhase) {
1442
+ this.renderAssistantStreamHeader(this.assistantStreamPhase);
1443
+ }
1444
+ this.enqueueAssistantStream(content);
1445
+ }
1446
+ setAssistantStreamPhase(phase) {
1447
+ if (this.assistantStreamPhase === phase) {
1448
+ return;
1449
+ }
1450
+ this.assistantStreamPhase = phase;
1451
+ this.assistantStreamHeaderShown = false;
1452
+ if (phase) {
1453
+ this.renderAssistantStreamHeader(phase);
1454
+ }
1455
+ }
1456
+ renderAssistantStreamHeader(type) {
1457
+ if (this.assistantStreamHeaderShown) {
1458
+ return;
1459
+ }
1460
+ const header = this.formatAssistantHeader(type, this.assistantStreamMetadata);
1461
+ if (header.trim()) {
1462
+ this.enqueueAssistantStream(`\n${header}\n`);
1463
+ }
1464
+ this.assistantStreamHeaderShown = true;
1465
+ }
1466
+ splitAssistantStreamRemainder(buffer) {
1467
+ if (!buffer) {
1468
+ return { flushable: '', remainder: '' };
1469
+ }
1470
+ const tags = ['<thinking>', '</thinking>', '<response>', '</response>'];
1471
+ let longest = '';
1472
+ for (const tag of tags) {
1473
+ for (let i = 1; i < tag.length; i += 1) {
1474
+ const prefix = tag.slice(0, i);
1475
+ if (buffer.endsWith(prefix) && prefix.length > longest.length) {
1476
+ longest = prefix;
1477
+ }
1478
+ }
1479
+ }
1480
+ if (!longest) {
1481
+ return { flushable: buffer, remainder: '' };
1482
+ }
1483
+ return {
1484
+ flushable: buffer.slice(0, -longest.length),
1485
+ remainder: longest,
1486
+ };
1376
1487
  }
1377
1488
  enqueueAssistantStream(content) {
1378
1489
  if (!content) {
@@ -1397,13 +1508,52 @@ export class InteractiveShell {
1397
1508
  });
1398
1509
  }
1399
1510
  renderAssistantBlock(type, content, metadata) {
1400
- if (!this.assistantBlockRenderer) {
1511
+ if (!this.assistantBlocksEnabled || !this.assistantBlockRenderer) {
1401
1512
  return;
1402
1513
  }
1403
1514
  this.assistantBlockRenderer.renderBlock(type, content, metadata);
1404
1515
  // Ensure the prompt stays pinned below freshly written blocks
1405
1516
  this.renderPromptArea();
1406
1517
  }
1518
+ renderAssistantContent(type, content, metadata) {
1519
+ const normalized = content.replace(/\r\n/g, '\n').trim();
1520
+ if (!normalized) {
1521
+ return;
1522
+ }
1523
+ if (this.assistantBlocksEnabled && this.assistantBlockRenderer) {
1524
+ this.renderAssistantBlock(type, normalized, metadata);
1525
+ return;
1526
+ }
1527
+ this.renderAssistantFallback(type, normalized, metadata);
1528
+ }
1529
+ renderAssistantFallback(type, content, metadata) {
1530
+ const header = this.formatAssistantHeader(type, metadata);
1531
+ const block = `\n${header}\n${content.trimEnd()}\n\n`;
1532
+ this.enqueueAssistantStream(block);
1533
+ }
1534
+ formatAssistantHeader(type, metadata) {
1535
+ if (this.assistantBlocksEnabled && this.assistantBlockRenderer) {
1536
+ return this.assistantBlockRenderer.formatHeader(type, metadata);
1537
+ }
1538
+ const label = type === 'thought' ? 'Thought' : type === 'tools' ? 'Tools' : 'Response';
1539
+ const timestamp = new Date().toLocaleTimeString('en-US', {
1540
+ hour12: false,
1541
+ hour: '2-digit',
1542
+ minute: '2-digit',
1543
+ second: '2-digit',
1544
+ });
1545
+ const parts = [`${label} · ${timestamp}`];
1546
+ const total = metadata?.usage ? this.totalTokens(metadata.usage) : null;
1547
+ if (total) {
1548
+ parts.push(`${total} tok`);
1549
+ }
1550
+ const windowTokens = metadata?.contextWindowTokens;
1551
+ if (total && windowTokens) {
1552
+ const percentage = Math.round((total / windowTokens) * 100);
1553
+ parts.push(`${percentage}% ctx`);
1554
+ }
1555
+ return parts.join(' • ');
1556
+ }
1407
1557
  isStreamingUiActive() {
1408
1558
  return this.streamingHeartbeatStart !== null;
1409
1559
  }
@@ -2169,26 +2319,21 @@ export class InteractiveShell {
2169
2319
  break;
2170
2320
  }
2171
2321
  };
2172
- const suppressCommandOutput = this.isStreamingUiActive();
2322
+ const streamingUiActive = this.isStreamingUiActive();
2323
+ const captureOptions = streamingUiActive
2324
+ ? { includeStreaming: false, suppressTypes: ['normal'] }
2325
+ : undefined;
2173
2326
  let capturedOutput = '';
2174
2327
  try {
2175
- const { output: outputBuffer } = await display.captureOutput(runCommand, {
2176
- silenceOutput: suppressCommandOutput,
2177
- });
2328
+ const { output: outputBuffer } = await display.captureOutput(runCommand, captureOptions);
2178
2329
  capturedOutput = outputBuffer;
2179
- if (suppressCommandOutput && capturedOutput.trim()) {
2180
- const normalized = capturedOutput.endsWith('\n') ? capturedOutput : `${capturedOutput}\n`;
2181
- this.writeLocked(normalized);
2182
- }
2183
2330
  }
2184
2331
  catch (error) {
2185
2332
  capturedOutput = error?.capturedOutput ?? capturedOutput;
2186
- if (suppressCommandOutput) {
2333
+ if (streamingUiActive) {
2187
2334
  const message = error instanceof Error ? error.message : String(error);
2188
- const { output: errorOutput } = await display.captureOutput(() => display.showError(message, error), { silenceOutput: true });
2189
- const streamedError = errorOutput || message;
2190
- capturedOutput = capturedOutput || streamedError;
2191
- this.writeLocked(streamedError.endsWith('\n') ? streamedError : `${streamedError}\n`);
2335
+ const { output: errorOutput } = await display.captureOutput(() => display.showError(message, error), { includeStreaming: false, suppressTypes: ['normal'] });
2336
+ capturedOutput = capturedOutput || errorOutput || message;
2192
2337
  }
2193
2338
  else {
2194
2339
  display.showError(error instanceof Error ? error.message : String(error), error);
@@ -5103,6 +5248,8 @@ export class InteractiveShell {
5103
5248
  // Keep the persistent input/control bar active as we transition into streaming.
5104
5249
  this.renderPromptArea(true);
5105
5250
  const requestStartTime = Date.now(); // Alpha Zero 2 timing
5251
+ this.lastRequestStartedAt = requestStartTime;
5252
+ this.lastToolSummaryRenderedAt = null;
5106
5253
  // Clear previous parallel agents and start fresh for new request
5107
5254
  const parallelManager = getParallelAgentManager();
5108
5255
  parallelManager.clear();
@@ -5803,12 +5950,9 @@ What's the next action?`;
5803
5950
  display.showThinking('Analyzing build errors');
5804
5951
  this.refreshStatusLine(true);
5805
5952
  this.hasShownThoughtProcess = false;
5806
- const response = await this.withStreamingUi('Fixing build errors', () => this.agent.send(prompt, true));
5953
+ await this.withStreamingUi('Fixing build errors', () => this.agent.send(prompt, true));
5807
5954
  display.stopThinking();
5808
5955
  this.refreshStatusLine(true);
5809
- if (response) {
5810
- display.showAssistantMessage(response, { isFinal: true });
5811
- }
5812
5956
  // Recursively verify the fix worked
5813
5957
  await this.enforceAutoBuild('verification');
5814
5958
  }
@@ -5837,31 +5981,27 @@ What's the next action?`;
5837
5981
  onStreamFallback: (info) => this.handleStreamingFallback(info),
5838
5982
  onAssistantMessage: (content, metadata) => {
5839
5983
  const enriched = this.buildDisplayMetadata(metadata);
5840
- const usingBlocks = this.assistantBlocksEnabled && this.assistantBlockRenderer !== null;
5984
+ const blocksActive = this.assistantBlocksEnabled && this.assistantBlockRenderer !== null;
5841
5985
  const parsed = this.splitThinkingResponse(content);
5842
5986
  const thinking = parsed?.thinking ?? null;
5843
- const shouldRenderThoughtBlock = Boolean(thinking) && !this.hasShownThoughtProcess;
5844
5987
  const responseContent = parsed ? parsed.response?.trim() ?? '' : content.trim();
5845
- const narrativeContent = parsed?.response ?? content;
5988
+ const narrativeContent = (parsed?.response ?? content).trim();
5989
+ if (thinking) {
5990
+ this.presentThoughtProcess(thinking, enriched, {
5991
+ wasStreamed: metadata.wasStreamed,
5992
+ renderWhenStreamed: blocksActive && Boolean(metadata.wasStreamed),
5993
+ });
5994
+ }
5846
5995
  if (metadata.isFinal) {
5847
- if (thinking) {
5848
- // Update status + summary, but skip the legacy UI output when blocks are enabled
5849
- this.presentThoughtProcess(thinking, enriched, {
5850
- wasStreamed: usingBlocks || metadata.wasStreamed,
5851
- });
5852
- if (usingBlocks && shouldRenderThoughtBlock && !metadata.wasStreamed) {
5853
- this.renderAssistantBlock('thought', thinking, enriched);
5854
- }
5855
- }
5856
- if (usingBlocks) {
5857
- if (!metadata.wasStreamed) {
5858
- const body = responseContent || content;
5859
- this.renderAssistantBlock('response', body, enriched);
5860
- }
5996
+ if (metadata.wasStreamed) {
5997
+ this.finalizeAssistantStream();
5861
5998
  }
5862
- else if (!metadata.wasStreamed && responseContent) {
5863
- display.showAssistantMessage(responseContent, enriched);
5999
+ const body = responseContent || content;
6000
+ const shouldRenderResponse = body && (blocksActive || !metadata.wasStreamed);
6001
+ if (shouldRenderResponse) {
6002
+ this.renderAssistantContent('response', body, { ...enriched, isFinal: true });
5864
6003
  }
6004
+ this.renderToolUsageSummary({ ...enriched, isFinal: true });
5865
6005
  // Status shown in mode controls bar - no separate status line needed
5866
6006
  display.stopThinking();
5867
6007
  // Update context usage for mode controls display
@@ -5875,30 +6015,20 @@ What's the next action?`;
5875
6015
  // Auto-verify changes: build first (catches type errors), then tests
5876
6016
  void this.enforceAutoBuild('final-response');
5877
6017
  void this.enforceAutoTests('final-response');
5878
- if (metadata.wasStreamed) {
5879
- this.finalizeAssistantStream();
5880
- }
5881
6018
  }
5882
6019
  else {
5883
- if (thinking) {
5884
- this.presentThoughtProcess(thinking, enriched, {
5885
- wasStreamed: usingBlocks || metadata.wasStreamed,
5886
- });
5887
- }
5888
6020
  // Non-final message = narrative text before tool calls (Claude Code style)
5889
6021
  // Stop spinner and show the narrative text directly
5890
6022
  display.stopThinking();
5891
- if (usingBlocks) {
5892
- if (metadata.wasStreamed) {
5893
- this.finalizeAssistantStream();
5894
- }
5895
- else {
5896
- this.renderAssistantBlock('thought', narrativeContent, enriched);
5897
- }
6023
+ if (metadata.wasStreamed) {
6024
+ this.finalizeAssistantStream();
5898
6025
  }
5899
- else if (!metadata.wasStreamed) {
5900
- const narrative = parsed?.response ?? content;
5901
- display.showNarrative(narrative.trim());
6026
+ const shouldRenderNarrative = narrativeContent && (blocksActive || !metadata.wasStreamed);
6027
+ if (shouldRenderNarrative) {
6028
+ this.renderAssistantContent('thought', narrativeContent, {
6029
+ ...enriched,
6030
+ isFinal: false,
6031
+ });
5902
6032
  }
5903
6033
  // The isProcessing flag already shows "⏳ Processing..." - no need for duplicate status
5904
6034
  this.requestPromptRefresh();
@@ -6094,11 +6224,37 @@ What's the next action?`;
6094
6224
  this.rebuildStreamingStatusLabel();
6095
6225
  this.refreshStatusLine(true);
6096
6226
  }
6097
- if (!options?.wasStreamed) {
6098
- display.showAssistantMessage(thinking, { ...metadata, isFinal: false });
6227
+ const shouldRender = !options?.wasStreamed || options?.renderWhenStreamed;
6228
+ if (shouldRender) {
6229
+ this.renderAssistantContent('thought', thinking, { ...metadata, isFinal: false });
6099
6230
  }
6100
6231
  this.hasShownThoughtProcess = true;
6101
6232
  }
6233
+ renderToolUsageSummary(metadata) {
6234
+ const since = this.lastToolSummaryRenderedAt ?? this.lastRequestStartedAt ?? Date.now();
6235
+ const operations = this.uiAdapter.getToolOperationsSince(since);
6236
+ if (!operations.length) {
6237
+ return;
6238
+ }
6239
+ const summaryLine = compactRenderer.formatCompactLine(operations, {
6240
+ showIcons: true,
6241
+ showTimings: true,
6242
+ });
6243
+ if (!summaryLine.trim()) {
6244
+ this.lastToolSummaryRenderedAt = Date.now();
6245
+ return;
6246
+ }
6247
+ this.lastToolSummaryRenderedAt =
6248
+ operations[operations.length - 1]?.startedAt ?? Date.now();
6249
+ const blockMetadata = { ...metadata, isFinal: true };
6250
+ if (this.assistantBlocksEnabled && this.assistantBlockRenderer) {
6251
+ this.renderAssistantBlock('tools', summaryLine, blockMetadata);
6252
+ return;
6253
+ }
6254
+ const header = this.formatAssistantHeader('tools', blockMetadata);
6255
+ const block = `\n${header}\n${summaryLine}\n\n`;
6256
+ this.enqueueAssistantStream(block);
6257
+ }
6102
6258
  handleContextTelemetry(metadata, displayMetadata) {
6103
6259
  if (!metadata.isFinal) {
6104
6260
  return null;
@@ -6551,16 +6707,21 @@ What's the next action?`;
6551
6707
  /**
6552
6708
  * Build the session banner with comprehensive feature status.
6553
6709
  */
6554
- buildBanner() {
6555
- const terminalWidth = output.columns ?? 100;
6556
- const width = Math.min(terminalWidth - 4, 110);
6557
- return renderSessionFrame({
6710
+ getSessionFrameProps() {
6711
+ return {
6558
6712
  profileLabel: this.profileLabel,
6559
6713
  profileName: this.profile,
6560
6714
  model: this.sessionState.model,
6561
6715
  provider: this.sessionState.provider,
6562
6716
  workspace: this.workingDir,
6563
6717
  version: this.version,
6718
+ };
6719
+ }
6720
+ buildBanner() {
6721
+ const terminalWidth = output.columns ?? 100;
6722
+ const width = Math.min(terminalWidth - 4, 110);
6723
+ return renderSessionFrame({
6724
+ ...this.getSessionFrameProps(),
6564
6725
  width,
6565
6726
  });
6566
6727
  }
@@ -6670,6 +6831,7 @@ What's the next action?`;
6670
6831
  return;
6671
6832
  }
6672
6833
  this.refreshContextGauge();
6834
+ this.terminalInput.setSessionFrame(this.getSessionFrameProps());
6673
6835
  // Banner is no longer stored in display - it was streamed as content
6674
6836
  // Model/provider changes are visible in the control bar
6675
6837
  if (!this.isProcessing) {