erosolar-cli 1.7.429 → 1.7.430

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.
Files changed (83) hide show
  1. package/dist/capabilities/enhancedGitCapability.js +3 -3
  2. package/dist/capabilities/enhancedGitCapability.js.map +1 -1
  3. package/dist/capabilities/learnCapability.d.ts +1 -1
  4. package/dist/capabilities/learnCapability.d.ts.map +1 -1
  5. package/dist/capabilities/learnCapability.js +1 -1
  6. package/dist/capabilities/learnCapability.js.map +1 -1
  7. package/dist/core/checkpoint.d.ts +1 -1
  8. package/dist/core/checkpoint.js +1 -1
  9. package/dist/core/costTracker.d.ts +1 -1
  10. package/dist/core/costTracker.js +1 -1
  11. package/dist/core/hooks.d.ts +1 -1
  12. package/dist/core/hooks.js +1 -1
  13. package/dist/core/memorySystem.d.ts +2 -2
  14. package/dist/core/memorySystem.js +2 -2
  15. package/dist/core/outputStyles.d.ts +2 -2
  16. package/dist/core/outputStyles.js +2 -2
  17. package/dist/core/validationRunner.d.ts +1 -1
  18. package/dist/core/validationRunner.js +1 -1
  19. package/dist/shell/interactiveShell.d.ts +5 -1
  20. package/dist/shell/interactiveShell.d.ts.map +1 -1
  21. package/dist/shell/interactiveShell.js +115 -83
  22. package/dist/shell/interactiveShell.js.map +1 -1
  23. package/dist/shell/systemPrompt.d.ts.map +1 -1
  24. package/dist/shell/systemPrompt.js +13 -34
  25. package/dist/shell/systemPrompt.js.map +1 -1
  26. package/dist/shell/terminalInputAdapter.d.ts +75 -83
  27. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  28. package/dist/shell/terminalInputAdapter.js +159 -220
  29. package/dist/shell/terminalInputAdapter.js.map +1 -1
  30. package/dist/shell/vimMode.d.ts +1 -1
  31. package/dist/shell/vimMode.js +1 -1
  32. package/dist/tools/buildTools.d.ts +1 -1
  33. package/dist/tools/buildTools.js +1 -1
  34. package/dist/tools/diffUtils.d.ts +2 -2
  35. package/dist/tools/diffUtils.js +2 -2
  36. package/dist/tools/editTools.js +4 -4
  37. package/dist/tools/editTools.js.map +1 -1
  38. package/dist/tools/localExplore.d.ts +3 -3
  39. package/dist/tools/localExplore.js +3 -3
  40. package/dist/tools/skillTools.js +2 -2
  41. package/dist/tools/skillTools.js.map +1 -1
  42. package/dist/tools/validationTools.js +1 -1
  43. package/dist/ui/DisplayEventQueue.d.ts +99 -0
  44. package/dist/ui/DisplayEventQueue.d.ts.map +1 -0
  45. package/dist/ui/DisplayEventQueue.js +167 -0
  46. package/dist/ui/DisplayEventQueue.js.map +1 -0
  47. package/dist/ui/SequentialRenderer.d.ts +69 -0
  48. package/dist/ui/SequentialRenderer.d.ts.map +1 -0
  49. package/dist/ui/SequentialRenderer.js +137 -0
  50. package/dist/ui/SequentialRenderer.js.map +1 -0
  51. package/dist/ui/ShellUIAdapter.d.ts +18 -6
  52. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  53. package/dist/ui/ShellUIAdapter.js +65 -14
  54. package/dist/ui/ShellUIAdapter.js.map +1 -1
  55. package/dist/ui/UnifiedUIRenderer.d.ts +184 -0
  56. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -0
  57. package/dist/ui/UnifiedUIRenderer.js +567 -0
  58. package/dist/ui/UnifiedUIRenderer.js.map +1 -0
  59. package/dist/ui/display.d.ts +100 -173
  60. package/dist/ui/display.d.ts.map +1 -1
  61. package/dist/ui/display.js +359 -927
  62. package/dist/ui/display.js.map +1 -1
  63. package/dist/ui/errorFormatter.d.ts +1 -1
  64. package/dist/ui/errorFormatter.js +1 -1
  65. package/dist/ui/shortcutsHelp.d.ts +6 -6
  66. package/dist/ui/shortcutsHelp.js +6 -6
  67. package/dist/ui/streamingFormatter.d.ts +2 -5
  68. package/dist/ui/streamingFormatter.d.ts.map +1 -1
  69. package/dist/ui/streamingFormatter.js +9 -33
  70. package/dist/ui/streamingFormatter.js.map +1 -1
  71. package/dist/ui/textHighlighter.d.ts +8 -8
  72. package/dist/ui/textHighlighter.js +9 -9
  73. package/dist/ui/textHighlighter.js.map +1 -1
  74. package/dist/ui/theme.d.ts +2 -2
  75. package/dist/ui/theme.js +4 -4
  76. package/dist/ui/theme.js.map +1 -1
  77. package/dist/ui/toolDisplay.d.ts +8 -8
  78. package/dist/ui/toolDisplay.js +8 -8
  79. package/package.json +1 -1
  80. package/dist/shell/terminalInput.d.ts +0 -619
  81. package/dist/shell/terminalInput.d.ts.map +0 -1
  82. package/dist/shell/terminalInput.js +0 -2699
  83. package/dist/shell/terminalInput.js.map +0 -1
@@ -1,4 +1,11 @@
1
+ /**
2
+ * Display - Simplified UI facade that routes all output through UnifiedUIRenderer
3
+ *
4
+ * This class now serves as a compatibility layer, providing the same API
5
+ * but delegating all actual rendering to UnifiedUIRenderer.
6
+ */
1
7
  import type { ProviderUsage } from '../core/types.js';
8
+ import { UnifiedUIRenderer } from './UnifiedUIRenderer.js';
2
9
  type OutputStream = NodeJS.WritableStream & {
3
10
  columns?: number;
4
11
  rows?: number;
@@ -28,273 +35,193 @@ interface CommandPaletteItem {
28
35
  tone?: CommandPaletteTone;
29
36
  }
30
37
  /**
31
- * Display class manages all terminal UI output for the application.
32
- *
33
- * Architecture:
34
- * - Per-stream line tracking via StdoutLineTracker for consistent banner updates
35
- * - Output interceptor pattern for live update integration
36
- * - Banner state management for in-place updates
37
- * - Configurable width constraints via DISPLAY_CONSTANTS
38
+ * Display class - now a thin wrapper around UnifiedUIRenderer
38
39
  *
39
- * Claude Code Style Formatting:
40
- * - ⏺ prefix for tool calls, actions, and thinking/reasoning
41
- * - ⎿ prefix for results, details, and nested information
42
- * - ─ horizontal separators for dividing sections (edit diffs, etc.)
43
- * - > prefix for user prompts (handled in theme.ts formatUserPrompt)
44
- * - Compact epsilon spinner: ∴, ε, ✻
45
- *
46
- * Key responsibilities:
47
- * - Welcome banners and session information display
48
- * - Message formatting (assistant, system, errors, warnings)
49
- * - Spinner/thinking indicators
50
- * - Action and sub-action formatting with tree-style prefixes
51
- * - Text wrapping and layout management
52
- *
53
- * Error handling:
54
- * - Graceful degradation for non-TTY environments
55
- * - Input validation on public methods
56
- * - Safe cursor manipulation with fallback
40
+ * Provides backward-compatible API while routing all output through the renderer.
57
41
  */
58
42
  export declare class Display {
59
- private readonly stdoutTracker;
60
43
  private readonly outputStream;
61
44
  private readonly errorStream;
62
- private activeSpinner;
45
+ private renderer;
63
46
  private readonly outputInterceptors;
64
- private readonly outputLock;
65
- private readonly spinnerFrames;
66
- private captureStack;
47
+ private activeSpinner;
67
48
  private thinkingStartTime;
68
- private thinkingElapsedTimer;
69
- private thinkingBaseMessage;
70
- private pendingCarriageReturn;
71
- private streamingStatusVisible;
72
- private scrollRegionActive;
73
- private savedCursorRow;
74
49
  constructor(stream?: OutputStream, errorStream?: OutputStream);
50
+ setRenderer(renderer: UnifiedUIRenderer | null): void;
51
+ private enqueueEvent;
75
52
  registerOutputInterceptor(interceptor: OutputInterceptor): () => void;
76
- /**
77
- * Execute output with proper write lock coordination.
78
- * All display output goes through this method to prevent race conditions.
79
- *
80
- * Behavior:
81
- * - If write lock is already held, execute directly (we're in a protected context)
82
- * - Otherwise acquire lock during output to prevent interleaving
83
- * - Notifies interceptors before/after output for cursor positioning
84
- */
85
- private withOutput;
86
53
  private notifyBeforeOutput;
87
54
  private notifyAfterOutput;
88
- private pushCaptureBuffer;
89
- private appendCapturedOutput;
90
- private popCaptureBuffer;
91
- private write;
92
- private writeLine;
93
- /**
94
- * Write raw content directly to output stream.
95
- * For streaming output chunks - writes directly without locks during streaming mode.
96
- *
97
- * During streaming mode, content is written directly to stdout without any
98
- * lock coordination. This ensures streaming content flows smoothly without
99
- * being delayed by other UI components.
55
+ /**
56
+ * Clear any active spinner for backward compatibility with legacy rendering.
57
+ * Optionally emits a newline to separate subsequent output.
100
58
  */
101
- writeRaw(content: string): void;
59
+ private clearActiveSpinner;
102
60
  /**
103
- * Normalize streaming chunks so progress-style carriage returns render cleanly.
104
- * - Preserve CR-based rewrites instead of converting to newlines
105
- * - Clear lines when rewriting to avoid leftover characters
106
- * - Carry trailing CR across chunks so the next write can clear before drawing
61
+ * Write raw content directly
107
62
  */
108
- private normalizeStreamingContent;
63
+ writeRaw(content: string): void;
109
64
  /**
110
- * Stream chunk helper - writes directly to stdout during streaming.
111
- * This is the primary method for streaming AI responses.
65
+ * Stream chunk (for streaming responses)
112
66
  */
113
67
  stream(chunk: string): void;
114
68
  /**
115
- * Backward-compatible alias for stream().
69
+ * Backward-compatible alias
116
70
  */
117
71
  writeStreamChunk(chunk: string): void;
118
72
  /**
119
- * Get the output stream for direct access.
120
- * Prefer writeRaw/writeStreamChunk for interceptor support.
73
+ * Get the output stream for direct access
121
74
  */
122
75
  getOutputStream(): OutputStream;
123
76
  /**
124
- * Current number of lines written to stdout (tracked for positioning).
77
+ * Show thinking indicator
125
78
  */
126
- getTotalWrittenLines(): number;
127
- /**
128
- * Number of lines at the top of the terminal that belong to the pinned banner.
129
- * For integrated scroll-region layouts, banners are not pinned, so this is 0.
130
- */
131
- getPinnedHeaderLines(): number;
132
- private getColumnWidth;
133
79
  showThinking(message?: string): void;
134
80
  /**
135
- * Format elapsed seconds as human-readable time (e.g., "5s", "1m 23s")
81
+ * Update thinking message
136
82
  */
137
- private formatElapsedTime;
138
83
  updateThinking(message: string): void;
139
- stopThinking(addNewLine?: boolean): void;
140
84
  /**
141
- * Get current thinking elapsed time in milliseconds, or null if not thinking.
85
+ * Stop thinking
86
+ */
87
+ stopThinking(_addNewLine?: boolean): void;
88
+ /**
89
+ * Get thinking elapsed time
142
90
  */
143
91
  getThinkingElapsedMs(): number | null;
92
+ /**
93
+ * Check if spinner is active (always false with new renderer)
94
+ */
144
95
  isSpinnerActive(): boolean;
145
96
  /**
146
- * Check if output is currently locked (e.g., spinner is active).
147
- * Used by external callers to coordinate output timing.
97
+ * Check if output is locked (always false with event queue)
148
98
  */
149
99
  isOutputLocked(): boolean;
150
100
  /**
151
- * Execute a write callback safely, ensuring it doesn't interleave with spinner output.
152
- * If spinner is active, the write will be queued until spinner stops.
101
+ * Safe write (just calls callback immediately with event queue)
153
102
  */
154
103
  safeWrite(callback: () => void): void;
155
104
  /**
156
- * Get terminal rows, with fallback
157
- */
158
- private getTerminalRows;
159
- /**
160
- * Set up scroll region to reserve bottom line for status.
161
- * This allows content to scroll while status stays fixed.
105
+ * Show assistant message
162
106
  */
163
- setupScrollRegion(): void;
107
+ showAssistantMessage(content: string, metadata?: DisplayMessageMetadata): void;
164
108
  /**
165
- * Tear down scroll region and restore normal terminal.
109
+ * Show narrative (thought)
166
110
  */
167
- teardownScrollRegion(): void;
111
+ showNarrative(content: string): void;
168
112
  /**
169
- * Check if we're in a TTY (can use escape codes)
113
+ * Show action
170
114
  */
171
- private isTTY;
115
+ showAction(text: string, status?: ActionStatus): void;
172
116
  /**
173
- * Update the streaming status line (Claude Code style).
174
- * When scroll region is active, updates the fixed status area at bottom.
175
- * Call with null to clear the status line.
176
- * Uses shared writeLock to prevent race conditions with other output.
117
+ * Show sub-action
177
118
  */
178
- updateStreamingStatus(status: string | null): void;
119
+ showSubAction(text: string, status?: ActionStatus): void;
179
120
  /**
180
- * Internal implementation of updateStreamingStatus (called with lock held)
181
- * NOTE: During streaming, we do NOT write status lines to stdout to prevent
182
- * race conditions with stream chunks. The status is tracked internally and
183
- * the terminalInput's status message display handles showing it in the
184
- * reserved input area, separate from the main content stream.
121
+ * Show message
185
122
  */
186
- private updateStreamingStatusInternal;
123
+ showMessage(content: string, role?: 'assistant' | 'system'): void;
187
124
  /**
188
- * Check if streaming status is currently visible.
125
+ * Show system message
189
126
  */
190
- isStreamingStatusVisible(): boolean;
127
+ showSystemMessage(content: string): void;
191
128
  /**
192
- * Check if scroll region is active.
129
+ * Show error
193
130
  */
194
- isScrollRegionActive(): boolean;
131
+ showError(message: string, error?: unknown): void;
195
132
  /**
196
- * Clear streaming status and reset state.
133
+ * Show warning
197
134
  */
198
- clearStreamingStatus(): void;
135
+ showWarning(message: string): void;
199
136
  /**
200
- * Display parallel agent status (Claude Code style).
201
- * Shows a tree of running agents with their progress.
137
+ * Show info
202
138
  */
203
- parallelAgentStatus(content: string): void;
204
- private clearSpinnerIfActive;
205
- showAssistantMessage(content: string, metadata?: DisplayMessageMetadata): void;
206
- showNarrative(content: string): void;
207
- showAction(text: string, status?: ActionStatus): void;
208
- showSubAction(text: string, status?: ActionStatus): void;
209
- private buildWrappedSubActionLines;
210
- private buildRichSubActionLines;
211
- showMessage(content: string, role?: 'assistant' | 'system'): void;
212
- showSystemMessage(content: string): void;
213
- showError(message: string, error?: unknown): void;
214
- showWarning(message: string): void;
215
139
  showInfo(message: string): void;
216
140
  /**
217
- * Show a success message with simple styling
141
+ * Show success
218
142
  */
219
143
  showSuccess(message: string): void;
220
144
  /**
221
- * Show a stylish progress indicator for long operations
145
+ * Show progress badge
222
146
  */
223
147
  showProgressBadge(label: string, current: number, total: number): void;
148
+ /**
149
+ * Show status line
150
+ */
224
151
  showStatusLine(status: string, elapsedMs?: number, _context?: StatusLineContextInfo): void;
152
+ /**
153
+ * Show available tools (no-op)
154
+ */
225
155
  showAvailableTools(_tools: Array<{
226
156
  name: string;
227
157
  description: string;
228
158
  }>): void;
229
159
  /**
230
- * Show a compact launch panel of slash commands with wrapped descriptions.
160
+ * Show command palette
231
161
  */
232
162
  showCommandPalette(commands: CommandPaletteItem[], options?: {
233
163
  title?: string;
234
164
  intro?: string;
235
165
  }): void;
236
166
  /**
237
- * Show ready message with keyboard shortcuts hint (compact)
238
- * Note: Commands are now shown in the banner, so this is a no-op
167
+ * Show ready with hints (no-op)
239
168
  */
240
169
  showReadyWithHints(): void;
241
- private formatErrorDetails;
170
+ /**
171
+ * Show planning step
172
+ */
242
173
  showPlanningStep(step: string, index: number, total: number): void;
174
+ /**
175
+ * Show thinking block
176
+ */
177
+ showThinkingBlock(content: string, durationMs?: number): void;
178
+ /**
179
+ * Clear screen
180
+ */
243
181
  clear(): void;
244
- private formatModelLabel;
245
- private compactPath;
182
+ /**
183
+ * Update streaming status (routes to renderer)
184
+ */
185
+ updateStreamingStatus(status: string | null): void;
186
+ /**
187
+ * Clear streaming status
188
+ */
189
+ clearStreamingStatus(): void;
190
+ /**
191
+ * Check if streaming status is visible
192
+ */
193
+ isStreamingStatusVisible(): boolean;
194
+ /**
195
+ * Legacy compatibility methods (no-ops)
196
+ */
197
+ getTotalWrittenLines(): number;
198
+ getPinnedHeaderLines(): number;
199
+ setupScrollRegion(): void;
200
+ teardownScrollRegion(): void;
201
+ isScrollRegionActive(): boolean;
202
+ parallelAgentStatus(content: string): void;
203
+ private getColumnWidth;
204
+ private formatErrorDetails;
205
+ private formatElapsed;
246
206
  private buildChatBox;
247
207
  private resolveMessageWidth;
248
208
  private formatTelemetryLine;
249
- private formatElapsed;
209
+ private buildClaudeStyleThought;
210
+ private formatElapsedTime;
211
+ private applySingleBulletBlock;
250
212
  private buildCommandPalette;
251
213
  private groupPaletteCommands;
252
214
  private computeCommandColumnWidth;
253
215
  private formatPaletteCategory;
254
216
  private colorizePaletteText;
255
- /**
256
- * Wraps text with a prefix on the first line and optional continuation prefix.
257
- * Handles multi-line text and word wrapping intelligently.
258
- */
259
217
  private wrapWithPrefix;
218
+ private buildWrappedSubActionLines;
219
+ private buildSubActionPrefixes;
260
220
  private resolveStatusColor;
261
221
  private formatActionIcon;
262
- /**
263
- * Prefix a multi-line block with a single bullet, indenting subsequent lines.
264
- * Keeps entire assistant responses as one visual event.
265
- */
266
- private applySingleBulletBlock;
267
- private buildClaudeStyleThought;
268
- /**
269
- * Show a thinking block with rich formatting (public method for external use)
270
- * @param content The thinking content to display
271
- * @param durationMs Optional duration in milliseconds to show "Thought for Xs"
272
- */
273
- showThinkingBlock(content: string, durationMs?: number): void;
274
- private buildSubActionPrefixes;
275
- /**
276
- * Wraps a single line of text to fit within the specified width.
277
- * Intelligently handles word breaking and preserves spaces.
278
- */
279
222
  private wrapLine;
280
- /**
281
- * Attempts to append a word to the current line.
282
- * Returns instructions on how to handle the word.
283
- */
284
- private tryAppendWord;
285
- /**
286
- * Splits a long word into chunks that fit within the specified width.
287
- * Used when a single word is too long to fit on one line.
288
- */
289
223
  private chunkWord;
290
- /**
291
- * Returns the visible length of a string, excluding ANSI escape codes.
292
- */
293
224
  private visibleLength;
294
- /**
295
- * Removes ANSI escape codes from a string to get the visible text.
296
- * Uses the standard ANSI escape sequence pattern.
297
- */
298
225
  private stripAnsi;
299
226
  }
300
227
  export declare const display: Display;
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/ui/display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/ui/display.ts"],"names":[],"mappings":"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"}