erosolar-cli 1.7.213 → 1.7.215

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 (104) hide show
  1. package/dist/bin/erosolar.js +3 -0
  2. package/dist/bin/erosolar.js.map +1 -1
  3. package/dist/mcp/sseClient.d.ts.map +1 -1
  4. package/dist/mcp/sseClient.js +54 -27
  5. package/dist/mcp/sseClient.js.map +1 -1
  6. package/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -1
  7. package/dist/shell/claudeCodeStreamHandler.js +11 -1
  8. package/dist/shell/claudeCodeStreamHandler.js.map +1 -1
  9. package/dist/shell/interactiveShell.d.ts +10 -0
  10. package/dist/shell/interactiveShell.d.ts.map +1 -1
  11. package/dist/shell/interactiveShell.js +76 -31
  12. package/dist/shell/interactiveShell.js.map +1 -1
  13. package/dist/shell/shellApp.d.ts.map +1 -1
  14. package/dist/shell/shellApp.js +3 -0
  15. package/dist/shell/shellApp.js.map +1 -1
  16. package/dist/shell/streamingOutputManager.d.ts +1 -0
  17. package/dist/shell/streamingOutputManager.d.ts.map +1 -1
  18. package/dist/shell/streamingOutputManager.js +16 -4
  19. package/dist/shell/streamingOutputManager.js.map +1 -1
  20. package/dist/shell/terminalInput.d.ts +27 -7
  21. package/dist/shell/terminalInput.d.ts.map +1 -1
  22. package/dist/shell/terminalInput.js +91 -53
  23. package/dist/shell/terminalInput.js.map +1 -1
  24. package/dist/shell/terminalInputAdapter.d.ts +14 -0
  25. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  26. package/dist/shell/terminalInputAdapter.js +20 -0
  27. package/dist/shell/terminalInputAdapter.js.map +1 -1
  28. package/dist/ui/display.d.ts +17 -4
  29. package/dist/ui/display.d.ts.map +1 -1
  30. package/dist/ui/display.js +141 -81
  31. package/dist/ui/display.js.map +1 -1
  32. package/dist/ui/globalWriteLock.d.ts +38 -0
  33. package/dist/ui/globalWriteLock.d.ts.map +1 -0
  34. package/dist/ui/globalWriteLock.js +54 -0
  35. package/dist/ui/globalWriteLock.js.map +1 -0
  36. package/dist/ui/unified/layout.d.ts +27 -0
  37. package/dist/ui/unified/layout.d.ts.map +1 -0
  38. package/dist/ui/unified/layout.js +110 -0
  39. package/dist/ui/unified/layout.js.map +1 -0
  40. package/package.json +1 -1
  41. package/dist/ui/FixedInputArea.d.ts +0 -108
  42. package/dist/ui/FixedInputArea.d.ts.map +0 -1
  43. package/dist/ui/FixedInputArea.js +0 -312
  44. package/dist/ui/FixedInputArea.js.map +0 -1
  45. package/dist/ui/advancedTheme.d.ts +0 -246
  46. package/dist/ui/advancedTheme.d.ts.map +0 -1
  47. package/dist/ui/advancedTheme.js +0 -478
  48. package/dist/ui/advancedTheme.js.map +0 -1
  49. package/dist/ui/collapsibleContent.d.ts +0 -57
  50. package/dist/ui/collapsibleContent.d.ts.map +0 -1
  51. package/dist/ui/collapsibleContent.js +0 -106
  52. package/dist/ui/collapsibleContent.js.map +0 -1
  53. package/dist/ui/diffViewer.d.ts +0 -42
  54. package/dist/ui/diffViewer.d.ts.map +0 -1
  55. package/dist/ui/diffViewer.js +0 -343
  56. package/dist/ui/diffViewer.js.map +0 -1
  57. package/dist/ui/gitDisplay.d.ts +0 -45
  58. package/dist/ui/gitDisplay.d.ts.map +0 -1
  59. package/dist/ui/gitDisplay.js +0 -215
  60. package/dist/ui/gitDisplay.js.map +0 -1
  61. package/dist/ui/gitFormatter.d.ts +0 -29
  62. package/dist/ui/gitFormatter.d.ts.map +0 -1
  63. package/dist/ui/gitFormatter.js +0 -203
  64. package/dist/ui/gitFormatter.js.map +0 -1
  65. package/dist/ui/keyboardShortcuts.d.ts +0 -49
  66. package/dist/ui/keyboardShortcuts.d.ts.map +0 -1
  67. package/dist/ui/keyboardShortcuts.js +0 -128
  68. package/dist/ui/keyboardShortcuts.js.map +0 -1
  69. package/dist/ui/logFormatter.d.ts +0 -70
  70. package/dist/ui/logFormatter.d.ts.map +0 -1
  71. package/dist/ui/logFormatter.js +0 -323
  72. package/dist/ui/logFormatter.js.map +0 -1
  73. package/dist/ui/outputSummarizer.d.ts +0 -52
  74. package/dist/ui/outputSummarizer.d.ts.map +0 -1
  75. package/dist/ui/outputSummarizer.js +0 -242
  76. package/dist/ui/outputSummarizer.js.map +0 -1
  77. package/dist/ui/progressBar.d.ts +0 -51
  78. package/dist/ui/progressBar.d.ts.map +0 -1
  79. package/dist/ui/progressBar.js +0 -153
  80. package/dist/ui/progressBar.js.map +0 -1
  81. package/dist/ui/progressIndicator.d.ts +0 -69
  82. package/dist/ui/progressIndicator.d.ts.map +0 -1
  83. package/dist/ui/progressIndicator.js +0 -145
  84. package/dist/ui/progressIndicator.js.map +0 -1
  85. package/dist/ui/streamingIndicators.d.ts +0 -42
  86. package/dist/ui/streamingIndicators.d.ts.map +0 -1
  87. package/dist/ui/streamingIndicators.js +0 -155
  88. package/dist/ui/streamingIndicators.js.map +0 -1
  89. package/dist/ui/tableFormatter.d.ts +0 -31
  90. package/dist/ui/tableFormatter.d.ts.map +0 -1
  91. package/dist/ui/tableFormatter.js +0 -186
  92. package/dist/ui/tableFormatter.js.map +0 -1
  93. package/dist/ui/thinkingTracker.d.ts +0 -51
  94. package/dist/ui/thinkingTracker.d.ts.map +0 -1
  95. package/dist/ui/thinkingTracker.js +0 -115
  96. package/dist/ui/thinkingTracker.js.map +0 -1
  97. package/dist/ui/toolDisplayAdapter.d.ts +0 -66
  98. package/dist/ui/toolDisplayAdapter.d.ts.map +0 -1
  99. package/dist/ui/toolDisplayAdapter.js +0 -356
  100. package/dist/ui/toolDisplayAdapter.js.map +0 -1
  101. package/dist/ui/treeVisualizer.d.ts +0 -56
  102. package/dist/ui/treeVisualizer.d.ts.map +0 -1
  103. package/dist/ui/treeVisualizer.js +0 -247
  104. package/dist/ui/treeVisualizer.js.map +0 -1
@@ -1,145 +0,0 @@
1
- /**
2
- * Progress Indicator - Claude Code style
3
- * Shows progress bars and elapsed time for long operations
4
- */
5
- import { theme } from './theme.js';
6
- export class ProgressIndicator {
7
- state = null;
8
- /**
9
- * Start tracking progress
10
- */
11
- start(total, message) {
12
- this.state = {
13
- current: 0,
14
- total,
15
- startTime: Date.now(),
16
- message,
17
- };
18
- }
19
- /**
20
- * Update progress
21
- */
22
- update(current, message) {
23
- if (!this.state)
24
- return;
25
- this.state.current = Math.min(current, this.state.total);
26
- if (message) {
27
- this.state.message = message;
28
- }
29
- }
30
- /**
31
- * Increment progress by 1
32
- */
33
- increment(message) {
34
- if (!this.state)
35
- return;
36
- this.update(this.state.current + 1, message);
37
- }
38
- /**
39
- * Complete and clear progress
40
- */
41
- complete() {
42
- this.state = null;
43
- }
44
- /**
45
- * Get elapsed time in milliseconds
46
- */
47
- getElapsed() {
48
- if (!this.state)
49
- return 0;
50
- return Date.now() - this.state.startTime;
51
- }
52
- /**
53
- * Get progress percentage (0-100)
54
- */
55
- getPercentage() {
56
- if (!this.state || this.state.total === 0)
57
- return 0;
58
- return Math.floor((this.state.current / this.state.total) * 100);
59
- }
60
- /**
61
- * Format progress bar (Claude Code style)
62
- * Example: [████████████░░░░░░░░] 60% complete
63
- */
64
- formatProgressBar(width = 20) {
65
- if (!this.state)
66
- return '';
67
- const percentage = this.getPercentage();
68
- const filled = Math.floor((percentage / 100) * width);
69
- const empty = width - filled;
70
- const filledBar = theme.success('█'.repeat(filled));
71
- const emptyBar = theme.ui.muted('░'.repeat(empty));
72
- const percentText = theme.info(`${percentage}%`);
73
- return ` [${filledBar}${emptyBar}] ${percentText} complete`;
74
- }
75
- /**
76
- * Format elapsed time
77
- */
78
- formatElapsed() {
79
- const elapsed = this.getElapsed();
80
- const seconds = Math.floor(elapsed / 1000);
81
- if (seconds < 60) {
82
- return `${seconds}s`;
83
- }
84
- const minutes = Math.floor(seconds / 60);
85
- const remainingSeconds = seconds % 60;
86
- return `${minutes}m ${remainingSeconds}s`;
87
- }
88
- /**
89
- * Format full progress display with message
90
- */
91
- format() {
92
- if (!this.state)
93
- return '';
94
- const lines = [];
95
- // Message line
96
- if (this.state.message) {
97
- const elapsed = this.formatElapsed();
98
- lines.push(` ${this.state.message} ${theme.ui.muted(`(${elapsed} elapsed)`)}`);
99
- }
100
- // Progress bar
101
- lines.push(this.formatProgressBar());
102
- // Items completed
103
- const itemsText = `${this.state.current} / ${this.state.total}`;
104
- lines.push(` ${theme.ui.muted(itemsText)}`);
105
- return lines.join('\n');
106
- }
107
- /**
108
- * Check if progress is active
109
- */
110
- isActive() {
111
- return this.state !== null;
112
- }
113
- /**
114
- * Get current state
115
- */
116
- getState() {
117
- return this.state;
118
- }
119
- }
120
- /**
121
- * Create a simple spinner animation
122
- */
123
- export function createSpinnerFrames() {
124
- return ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
125
- }
126
- /**
127
- * Format operation timing (Claude Code style)
128
- * Example: "45s elapsed"
129
- */
130
- export function formatOperationTiming(startTime) {
131
- const elapsed = Date.now() - startTime;
132
- const seconds = Math.floor(elapsed / 1000);
133
- if (seconds < 1) {
134
- return theme.ui.muted('< 1s');
135
- }
136
- if (seconds < 60) {
137
- return theme.ui.muted(`${seconds}s elapsed`);
138
- }
139
- const minutes = Math.floor(seconds / 60);
140
- const remainingSeconds = seconds % 60;
141
- return theme.ui.muted(`${minutes}m ${remainingSeconds}s elapsed`);
142
- }
143
- // Singleton instance
144
- export const progressIndicator = new ProgressIndicator();
145
- //# sourceMappingURL=progressIndicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"progressIndicator.js","sourceRoot":"","sources":["../../src/ui/progressIndicator.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Streaming Response Indicators - Claude Code style
3
- * Visual indicators for streaming AI responses
4
- */
5
- /**
6
- * Streaming status indicator
7
- */
8
- export declare function formatStreamingStatus(state: 'starting' | 'streaming' | 'paused' | 'complete'): string;
9
- /**
10
- * Token counter for streaming responses
11
- */
12
- export declare function formatTokenStream(tokensReceived: number, estimated?: number): string;
13
- /**
14
- * Format streaming rate (tokens/second)
15
- */
16
- export declare function formatStreamRate(tokensPerSecond: number): string;
17
- /**
18
- * Chunk receipt indicator
19
- */
20
- export declare function formatChunkIndicator(chunkNumber: number, size?: number): string;
21
- /**
22
- * Streaming latency indicator
23
- */
24
- export declare function formatLatency(ms: number): string;
25
- /**
26
- * Multi-model streaming indicator (for parallel requests)
27
- */
28
- export interface ModelStream {
29
- model: string;
30
- status: 'waiting' | 'streaming' | 'complete' | 'error';
31
- tokensReceived?: number;
32
- }
33
- export declare function formatMultiStreamStatus(streams: ModelStream[]): string;
34
- /**
35
- * Thinking/reasoning indicator for extended thinking
36
- */
37
- export declare function formatThinkingIndicator(seconds: number, deep?: boolean): string;
38
- /**
39
- * Buffer status for streaming
40
- */
41
- export declare function formatBufferStatus(bufferSize: number, maxSize: number): string;
42
- //# sourceMappingURL=streamingIndicators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streamingIndicators.d.ts","sourceRoot":"","sources":["../../src/ui/streamingIndicators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAWrG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAUpF;AAqBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAahE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAI/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAmBhD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CA2BtE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,UAAQ,GAAG,MAAM,CAS7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAc9E"}
@@ -1,155 +0,0 @@
1
- /**
2
- * Streaming Response Indicators - Claude Code style
3
- * Visual indicators for streaming AI responses
4
- */
5
- import { theme } from './theme.js';
6
- /**
7
- * Streaming status indicator
8
- */
9
- export function formatStreamingStatus(state) {
10
- switch (state) {
11
- case 'starting':
12
- return `${theme.info('◐')} ${theme.ui.muted('Starting stream...')}`;
13
- case 'streaming':
14
- return `${theme.success('◉')} ${theme.info('Streaming...')}`;
15
- case 'paused':
16
- return `${theme.warning('◫')} ${theme.ui.muted('Paused')}`;
17
- case 'complete':
18
- return `${theme.success('✓')} ${theme.ui.muted('Stream complete')}`;
19
- }
20
- }
21
- /**
22
- * Token counter for streaming responses
23
- */
24
- export function formatTokenStream(tokensReceived, estimated) {
25
- const received = theme.info(`${tokensReceived} tokens`);
26
- if (estimated) {
27
- const percentage = Math.round((tokensReceived / estimated) * 100);
28
- const bar = createMiniBar(percentage);
29
- return `${received} ${theme.ui.muted('│')} ${bar} ${theme.ui.muted(`~${estimated} expected`)}`;
30
- }
31
- return received;
32
- }
33
- /**
34
- * Create a mini progress bar
35
- */
36
- function createMiniBar(percentage) {
37
- const filled = Math.floor(percentage / 10);
38
- const empty = 10 - filled;
39
- let color;
40
- if (percentage >= 90) {
41
- color = theme.warning;
42
- }
43
- else if (percentage >= 70) {
44
- color = theme.info;
45
- }
46
- else {
47
- color = theme.success;
48
- }
49
- return color('▓'.repeat(filled)) + theme.ui.muted('░'.repeat(empty));
50
- }
51
- /**
52
- * Format streaming rate (tokens/second)
53
- */
54
- export function formatStreamRate(tokensPerSecond) {
55
- const rate = tokensPerSecond.toFixed(1);
56
- let quality;
57
- if (tokensPerSecond > 50) {
58
- quality = theme.success('fast');
59
- }
60
- else if (tokensPerSecond > 20) {
61
- quality = theme.info('good');
62
- }
63
- else {
64
- quality = theme.warning('slow');
65
- }
66
- return `${rate} tok/s ${theme.ui.muted('│')} ${quality}`;
67
- }
68
- /**
69
- * Chunk receipt indicator
70
- */
71
- export function formatChunkIndicator(chunkNumber, size) {
72
- const chunk = theme.ui.muted(`#${chunkNumber}`);
73
- const sizeStr = size ? ` ${theme.ui.muted(`(${size}b)`)}` : '';
74
- return `${theme.info('◇')} ${chunk}${sizeStr}`;
75
- }
76
- /**
77
- * Streaming latency indicator
78
- */
79
- export function formatLatency(ms) {
80
- let status;
81
- let color;
82
- if (ms < 100) {
83
- status = 'excellent';
84
- color = theme.success;
85
- }
86
- else if (ms < 300) {
87
- status = 'good';
88
- color = theme.info;
89
- }
90
- else if (ms < 1000) {
91
- status = 'fair';
92
- color = theme.warning;
93
- }
94
- else {
95
- status = 'slow';
96
- color = theme.error;
97
- }
98
- return `${color(`${ms}ms`)} ${theme.ui.muted(`(${status})`)}`;
99
- }
100
- export function formatMultiStreamStatus(streams) {
101
- return streams.map(stream => {
102
- let icon;
103
- let statusColor;
104
- switch (stream.status) {
105
- case 'waiting':
106
- icon = theme.ui.muted('○');
107
- statusColor = theme.ui.muted;
108
- break;
109
- case 'streaming':
110
- icon = theme.success('◉');
111
- statusColor = theme.info;
112
- break;
113
- case 'complete':
114
- icon = theme.success('✓');
115
- statusColor = theme.success;
116
- break;
117
- case 'error':
118
- icon = theme.error('✗');
119
- statusColor = theme.error;
120
- break;
121
- }
122
- const tokens = stream.tokensReceived ? ` ${theme.ui.muted(`(${stream.tokensReceived} tok)`)}` : '';
123
- return ` ${icon} ${statusColor(stream.model)}${tokens}`;
124
- }).join('\n');
125
- }
126
- /**
127
- * Thinking/reasoning indicator for extended thinking
128
- */
129
- export function formatThinkingIndicator(seconds, deep = false) {
130
- const duration = seconds < 60
131
- ? `${Math.round(seconds)}s`
132
- : `${Math.floor(seconds / 60)}m ${Math.round(seconds % 60)}s`;
133
- const type = deep ? 'Deep thinking' : 'Thinking';
134
- const icon = deep ? theme.accent('∴∴∴') : theme.info('∴');
135
- return `${icon} ${theme.ui.muted(type)} ${theme.info(duration)}`;
136
- }
137
- /**
138
- * Buffer status for streaming
139
- */
140
- export function formatBufferStatus(bufferSize, maxSize) {
141
- const percentage = Math.round((bufferSize / maxSize) * 100);
142
- const bar = createMiniBar(percentage);
143
- let status;
144
- if (percentage > 90) {
145
- status = theme.error('buffer full');
146
- }
147
- else if (percentage > 70) {
148
- status = theme.warning('buffer high');
149
- }
150
- else {
151
- status = theme.success('buffer ok');
152
- }
153
- return `${bar} ${status} ${theme.ui.muted(`${bufferSize}/${maxSize}`)}`;
154
- }
155
- //# sourceMappingURL=streamingIndicators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streamingIndicators.js","sourceRoot":"","sources":["../../src/ui/streamingIndicators.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Table Formatter - Claude Code style
3
- * Formats data as clean, aligned tables
4
- */
5
- export interface TableColumn {
6
- header: string;
7
- key: string;
8
- width?: number | 'auto';
9
- align?: 'left' | 'center' | 'right';
10
- format?: (value: any) => string;
11
- }
12
- export interface TableOptions {
13
- maxWidth?: number;
14
- borders?: boolean;
15
- headerStyle?: 'bold' | 'color' | 'both';
16
- rowNumbers?: boolean;
17
- compact?: boolean;
18
- }
19
- /**
20
- * Format data as a table (Claude Code style)
21
- */
22
- export declare function formatTable(data: Array<Record<string, any>>, columns: TableColumn[], options?: TableOptions): string;
23
- /**
24
- * Format simple key-value pairs as a compact table
25
- */
26
- export declare function formatKeyValueTable(data: Record<string, any>): string;
27
- /**
28
- * Quick table for arrays of primitives
29
- */
30
- export declare function formatListAsTable(items: string[], columns?: number): string;
31
- //# sourceMappingURL=tableFormatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tableFormatter.d.ts","sourceRoot":"","sources":["../../src/ui/tableFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAChC,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,GAAE,YAAiB,GACzB,MAAM,CAwER;AA4GD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAcrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAU,GAAG,MAAM,CAgB9E"}
@@ -1,186 +0,0 @@
1
- /**
2
- * Table Formatter - Claude Code style
3
- * Formats data as clean, aligned tables
4
- */
5
- import { theme } from './theme.js';
6
- import { getTerminalColumns } from './layout.js';
7
- /**
8
- * Format data as a table (Claude Code style)
9
- */
10
- export function formatTable(data, columns, options = {}) {
11
- if (data.length === 0) {
12
- return theme.ui.muted('(No data)');
13
- }
14
- const maxWidth = options.maxWidth || Math.min(getTerminalColumns(), 120);
15
- const borders = options.borders ?? true;
16
- const headerStyle = options.headerStyle ?? 'both';
17
- const compact = options.compact ?? false;
18
- // Calculate column widths
19
- const columnWidths = calculateColumnWidths(data, columns, maxWidth, options.rowNumbers ?? false);
20
- // Build header
21
- const lines = [];
22
- const header = formatRow(columns.map(col => col.header), columnWidths, columns.map(col => col.align ?? 'left'), options.rowNumbers ? '#' : undefined);
23
- // Style header
24
- let styledHeader = header;
25
- if (headerStyle === 'bold' || headerStyle === 'both') {
26
- styledHeader = theme.bold(header);
27
- }
28
- if (headerStyle === 'color' || headerStyle === 'both') {
29
- styledHeader = theme.info(styledHeader);
30
- }
31
- if (borders) {
32
- const totalWidth = columnWidths.reduce((sum, w) => sum + w, 0) +
33
- (columnWidths.length - 1) * 3 +
34
- (options.rowNumbers ? 6 : 2);
35
- lines.push(theme.ui.muted('─'.repeat(totalWidth)));
36
- }
37
- lines.push(styledHeader);
38
- if (borders) {
39
- const totalWidth = columnWidths.reduce((sum, w) => sum + w, 0) +
40
- (columnWidths.length - 1) * 3 +
41
- (options.rowNumbers ? 6 : 2);
42
- lines.push(theme.ui.muted('─'.repeat(totalWidth)));
43
- }
44
- // Build rows
45
- data.forEach((row, index) => {
46
- const values = columns.map(col => {
47
- const value = row[col.key];
48
- return col.format ? col.format(value) : String(value ?? '');
49
- });
50
- const rowNum = options.rowNumbers ? String(index + 1) : undefined;
51
- const formattedRow = formatRow(values, columnWidths, columns.map(col => col.align ?? 'left'), rowNum);
52
- lines.push(formattedRow);
53
- // Add separator for compact mode
54
- if (!compact && index < data.length - 1) {
55
- // Optional: add subtle separators
56
- }
57
- });
58
- if (borders) {
59
- const totalWidth = columnWidths.reduce((sum, w) => sum + w, 0) +
60
- (columnWidths.length - 1) * 3 +
61
- (options.rowNumbers ? 6 : 2);
62
- lines.push(theme.ui.muted('─'.repeat(totalWidth)));
63
- }
64
- return lines.join('\n');
65
- }
66
- /**
67
- * Calculate optimal column widths
68
- */
69
- function calculateColumnWidths(data, columns, maxWidth, hasRowNumbers) {
70
- const widths = [];
71
- const rowNumWidth = hasRowNumbers ? 4 : 0;
72
- const separatorWidth = (columns.length - 1) * 3 + rowNumWidth; // " │ " between columns
73
- const availableWidth = maxWidth - separatorWidth;
74
- // Calculate min/max widths for each column
75
- const minWidths = [];
76
- const maxWidths = [];
77
- columns.forEach((col, index) => {
78
- const headerWidth = col.header.length;
79
- const maxDataWidth = Math.max(...data.map(row => {
80
- const value = row[col.key];
81
- const formatted = col.format ? col.format(value) : String(value ?? '');
82
- return formatted.length;
83
- }));
84
- minWidths[index] = Math.max(headerWidth, 3); // Minimum 3 chars
85
- maxWidths[index] = col.width === 'auto'
86
- ? Math.max(headerWidth, maxDataWidth)
87
- : (typeof col.width === 'number' ? col.width : Math.max(headerWidth, maxDataWidth));
88
- });
89
- // Distribute available width
90
- const totalMin = minWidths.reduce((sum, w) => sum + w, 0);
91
- const totalMax = maxWidths.reduce((sum, w) => sum + w, 0);
92
- if (totalMax <= availableWidth) {
93
- // All columns fit at max width
94
- return maxWidths;
95
- }
96
- else if (totalMin > availableWidth) {
97
- // Even min widths don't fit, use equal distribution
98
- const equalWidth = Math.floor(availableWidth / columns.length);
99
- return columns.map(() => Math.max(equalWidth, 3));
100
- }
101
- else {
102
- // Proportionally distribute
103
- columns.forEach((_, index) => {
104
- const maxWidth = maxWidths[index];
105
- if (maxWidth !== undefined) {
106
- widths[index] = Math.floor((maxWidth / totalMax) * availableWidth);
107
- }
108
- });
109
- return widths;
110
- }
111
- }
112
- /**
113
- * Format a single row
114
- */
115
- function formatRow(values, widths, aligns, rowNum) {
116
- const cells = values.map((value, index) => {
117
- const width = widths[index] ?? 10;
118
- const align = aligns[index] ?? 'left';
119
- return alignText(truncate(value, width), width, align);
120
- });
121
- const rowPrefix = rowNum ? theme.ui.muted(`${rowNum.padStart(3)} │ `) : '';
122
- return rowPrefix + cells.join(theme.ui.muted(' │ '));
123
- }
124
- /**
125
- * Align text within a width
126
- */
127
- function alignText(text, width, align) {
128
- const len = text.length;
129
- if (len >= width)
130
- return text;
131
- const padding = width - len;
132
- switch (align) {
133
- case 'center':
134
- const leftPad = Math.floor(padding / 2);
135
- const rightPad = padding - leftPad;
136
- return ' '.repeat(leftPad) + text + ' '.repeat(rightPad);
137
- case 'right':
138
- return ' '.repeat(padding) + text;
139
- default:
140
- return text + ' '.repeat(padding);
141
- }
142
- }
143
- /**
144
- * Truncate text with ellipsis
145
- */
146
- function truncate(text, maxLength) {
147
- if (text.length <= maxLength)
148
- return text;
149
- if (maxLength <= 3)
150
- return text.slice(0, maxLength);
151
- return `${text.slice(0, maxLength - 3)}...`;
152
- }
153
- /**
154
- * Format simple key-value pairs as a compact table
155
- */
156
- export function formatKeyValueTable(data) {
157
- const entries = Object.entries(data);
158
- if (entries.length === 0) {
159
- return theme.ui.muted('(Empty)');
160
- }
161
- const maxKeyWidth = Math.max(...entries.map(([key]) => key.length));
162
- const lines = entries.map(([key, value]) => {
163
- const formattedKey = theme.info(key.padEnd(maxKeyWidth));
164
- const formattedValue = String(value);
165
- return ` ${formattedKey} ${theme.ui.muted('│')} ${formattedValue}`;
166
- });
167
- return lines.join('\n');
168
- }
169
- /**
170
- * Quick table for arrays of primitives
171
- */
172
- export function formatListAsTable(items, columns = 3) {
173
- if (items.length === 0) {
174
- return theme.ui.muted('(Empty)');
175
- }
176
- const maxWidth = Math.min(getTerminalColumns(), 100);
177
- const columnWidth = Math.floor(maxWidth / columns) - 2;
178
- const lines = [];
179
- for (let i = 0; i < items.length; i += columns) {
180
- const row = items.slice(i, i + columns);
181
- const formatted = row.map(item => truncate(item, columnWidth).padEnd(columnWidth));
182
- lines.push(` ${formatted.join(' ')}`);
183
- }
184
- return lines.join('\n');
185
- }
186
- //# sourceMappingURL=tableFormatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tableFormatter.js","sourceRoot":"","sources":["../../src/ui/tableFormatter.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- /**
2
- * Thinking Tracker - Claude Code style
3
- * Tracks thinking time and displays formatted blocks
4
- */
5
- export interface ThinkingBlock {
6
- id: string;
7
- startTime: number;
8
- endTime?: number;
9
- content?: string;
10
- expanded: boolean;
11
- }
12
- export declare class ThinkingTracker {
13
- private blocks;
14
- private activeBlockId;
15
- private nextId;
16
- /**
17
- * Start a new thinking block
18
- */
19
- startThinking(): string;
20
- /**
21
- * End the current thinking block
22
- */
23
- endThinking(content?: string): ThinkingBlock | null;
24
- /**
25
- * Get thinking duration in milliseconds
26
- */
27
- getThinkingDuration(blockId: string): number | null;
28
- /**
29
- * Format thinking block for display (Claude Code style)
30
- * Example: "∴ Thought for 3s (ctrl+o to show thinking)"
31
- */
32
- formatThinkingBlock(blockId: string): string;
33
- /**
34
- * Format duration in human-readable form
35
- */
36
- private formatDuration;
37
- /**
38
- * Toggle thinking block expansion
39
- */
40
- toggleExpansion(blockId: string): boolean;
41
- /**
42
- * Get expanded content if available
43
- */
44
- getExpandedContent(blockId: string): string | null;
45
- /**
46
- * Clear all thinking blocks
47
- */
48
- clear(): void;
49
- }
50
- export declare const thinkingTracker: ThinkingTracker;
51
- //# sourceMappingURL=thinkingTracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thinkingTracker.d.ts","sourceRoot":"","sources":["../../src/ui/thinkingTracker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAK;IAEnB;;OAEG;IACH,aAAa,IAAI,MAAM;IAWvB;;OAEG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAanD;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQnD;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAiB5C;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQzC;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOlD;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}