erosolar-cli 1.7.147 → 1.7.149

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.
@@ -1190,9 +1190,9 @@ export class InteractiveShell {
1190
1190
  // During processing, ONLY update pinnedChatBox - never write to output
1191
1191
  // This prevents paste from leaking into the streaming area
1192
1192
  if (this.isProcessing) {
1193
- // Use handleInput to trigger consistent paste detection and summarization
1193
+ // handleInput triggers handleMultilinePaste which handles rendering
1194
+ // NO redundant updatePersistentInput call - it causes double renders
1194
1195
  this.pinnedChatBox.handleInput(content);
1195
- this.pinnedChatBox.updatePersistentInput();
1196
1196
  return;
1197
1197
  }
1198
1198
  // Clear any echoed content first (only when not processing)
@@ -1224,9 +1224,9 @@ export class InteractiveShell {
1224
1224
  // During processing, ONLY update pinnedChatBox - never write to output
1225
1225
  // This prevents paste from leaking into the streaming area
1226
1226
  if (this.isProcessing) {
1227
- // Use handleInput to trigger consistent paste detection and summarization
1227
+ // handleInput triggers handleMultilinePaste which handles rendering
1228
+ // NO redundant updatePersistentInput call - it causes double renders
1228
1229
  this.pinnedChatBox.handleInput(content);
1229
- this.pinnedChatBox.updatePersistentInput();
1230
1230
  return;
1231
1231
  }
1232
1232
  // Clear remaining echoed lines from terminal (only when not processing)
@@ -2735,11 +2735,19 @@ export class InteractiveShell {
2735
2735
  this.pinnedChatBox.enableScrollRegion();
2736
2736
  // Suppress readline echo so typed characters only appear in persistent input box
2737
2737
  this.suppressReadlineOutput();
2738
+ // Set up periodic render timer to ensure pinned chat box stays visible during streaming
2739
+ const renderInterval = setInterval(() => {
2740
+ if (this.isProcessing && this.pinnedChatBox.isActive()) {
2741
+ this.pinnedChatBox.forceRender();
2742
+ }
2743
+ }, 2000); // Render every 2 seconds during streaming
2738
2744
  // Enable streaming for real-time text output (Claude Code style)
2739
2745
  await agent.send(request, true);
2740
2746
  await this.awaitPendingCleanup();
2741
2747
  this.captureHistorySnapshot();
2742
2748
  this.autosaveIfEnabled();
2749
+ // Clear the render interval when streaming completes
2750
+ clearInterval(renderInterval);
2743
2751
  // Track metrics with Alpha Zero 2
2744
2752
  const elapsedMs = Date.now() - requestStartTime;
2745
2753
  this.alphaZeroMetrics.recordMessage(elapsedMs);