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,247 +0,0 @@
1
- /**
2
- * Tree Visualizer - Claude Code style
3
- * ASCII tree visualization for hierarchical data
4
- */
5
- import { theme } from './theme.js';
6
- /**
7
- * Format hierarchical data as ASCII tree
8
- * Example:
9
- * src/
10
- * โ”œโ”€โ”€ components/
11
- * โ”‚ โ”œโ”€โ”€ Header.tsx
12
- * โ”‚ โ””โ”€โ”€ Footer.tsx
13
- * โ””โ”€โ”€ utils/
14
- * โ””โ”€โ”€ helpers.ts
15
- */
16
- export function formatTree(node, options = {}, prefix = '', isLast = true, depth = 0) {
17
- const showLines = options.showLines ?? true;
18
- const maxDepth = options.maxDepth ?? Infinity;
19
- const compact = options.compact ?? false;
20
- if (depth > maxDepth) {
21
- return '';
22
- }
23
- const lines = [];
24
- // Build current line
25
- const connector = showLines ? (isLast ? 'โ””โ”€โ”€ ' : 'โ”œโ”€โ”€ ') : ' ';
26
- const icon = node.icon ? `${node.icon} ` : '';
27
- const metadata = node.metadata ? theme.ui.muted(` ${node.metadata}`) : '';
28
- let label = node.label;
29
- if (node.highlighted) {
30
- label = theme.info(label);
31
- }
32
- else if (options.colorizeDepth) {
33
- const colors = [theme.info, theme.success, theme.warning, theme.accent];
34
- const colorFn = colors[depth % colors.length];
35
- if (colorFn) {
36
- label = colorFn(label);
37
- }
38
- }
39
- const currentLine = `${prefix}${showLines ? theme.ui.muted(connector) : ''}${icon}${label}${metadata}`;
40
- lines.push(currentLine);
41
- // Process children
42
- if (node.children && node.children.length > 0) {
43
- const childPrefix = showLines
44
- ? prefix + (isLast ? ' ' : 'โ”‚ ')
45
- : `${prefix} `;
46
- node.children.forEach((child, index) => {
47
- const isLastChild = index === node.children.length - 1;
48
- const childTree = formatTree(child, options, childPrefix, isLastChild, depth + 1);
49
- if (childTree) {
50
- if (!compact || index === 0) {
51
- lines.push(childTree);
52
- }
53
- else {
54
- lines.push(childTree);
55
- }
56
- }
57
- });
58
- }
59
- return lines.join('\n');
60
- }
61
- /**
62
- * Format file system tree
63
- */
64
- export function formatFileTree(paths, options = {}) {
65
- const tree = buildFileTree(paths);
66
- return formatTree(tree, options);
67
- }
68
- /**
69
- * Build tree structure from file paths
70
- */
71
- function buildFileTree(paths) {
72
- const root = { label: '.', children: [] };
73
- const map = new Map();
74
- map.set('', root);
75
- // Sort paths for better display
76
- const sortedPaths = [...paths].sort();
77
- for (const path of sortedPaths) {
78
- const parts = path.split('/').filter(p => p);
79
- let currentPath = '';
80
- for (let i = 0; i < parts.length; i++) {
81
- const part = parts[i];
82
- if (!part)
83
- continue;
84
- const parentPath = currentPath;
85
- currentPath = currentPath ? `${currentPath}/${part}` : part;
86
- if (!map.has(currentPath)) {
87
- const isFile = i === parts.length - 1 && !part.endsWith('/');
88
- const icon = isFile ? getFileIcon(part) : '๐Ÿ“';
89
- const node = {
90
- label: part,
91
- icon,
92
- children: isFile ? undefined : []
93
- };
94
- const parent = map.get(parentPath);
95
- if (parent?.children) {
96
- parent.children.push(node);
97
- }
98
- map.set(currentPath, node);
99
- }
100
- }
101
- }
102
- return root;
103
- }
104
- /**
105
- * Get icon for file based on extension
106
- */
107
- function getFileIcon(filename) {
108
- const ext = filename.split('.').pop()?.toLowerCase();
109
- const iconMap = {
110
- ts: '๐Ÿ“˜',
111
- tsx: 'โš›๏ธ',
112
- js: '๐Ÿ“œ',
113
- jsx: 'โš›๏ธ',
114
- json: '๐Ÿ“‹',
115
- md: '๐Ÿ“',
116
- txt: '๐Ÿ“„',
117
- css: '๐ŸŽจ',
118
- scss: '๐ŸŽจ',
119
- html: '๐ŸŒ',
120
- py: '๐Ÿ',
121
- java: 'โ˜•',
122
- go: '๐Ÿ”ต',
123
- rs: '๐Ÿฆ€',
124
- rb: '๐Ÿ’Ž',
125
- php: '๐Ÿ˜',
126
- sh: 'โš™๏ธ',
127
- yml: 'โš™๏ธ',
128
- yaml: 'โš™๏ธ',
129
- xml: '๐Ÿ“ฐ',
130
- svg: '๐Ÿ–ผ๏ธ',
131
- png: '๐Ÿ–ผ๏ธ',
132
- jpg: '๐Ÿ–ผ๏ธ',
133
- gif: '๐Ÿ–ผ๏ธ'
134
- };
135
- return iconMap[ext || ''] || '๐Ÿ“„';
136
- }
137
- /**
138
- * Format dependency tree
139
- */
140
- export function formatDependencyTree(packageName, dependencies, options = {}) {
141
- const visited = new Set();
142
- function buildNode(pkg, depth = 0) {
143
- const deps = dependencies[pkg] || [];
144
- const circular = visited.has(pkg);
145
- if (circular) {
146
- return {
147
- label: pkg,
148
- metadata: '(circular)',
149
- icon: '๐Ÿ”„'
150
- };
151
- }
152
- visited.add(pkg);
153
- const children = depth < (options.maxDepth || 5)
154
- ? deps.map(dep => buildNode(dep, depth + 1))
155
- : [];
156
- return {
157
- label: pkg,
158
- icon: '๐Ÿ“ฆ',
159
- children: children.length > 0 ? children : undefined
160
- };
161
- }
162
- const tree = buildNode(packageName);
163
- return formatTree(tree, options);
164
- }
165
- /**
166
- * Format simple bulleted list as tree
167
- */
168
- export function formatBulletTree(items, indent = 0) {
169
- return items.map((item) => {
170
- const bullet = indent === 0 ? 'โ€ข' : 'โ—ฆ';
171
- const prefix = ' '.repeat(indent);
172
- const line = `${prefix}${theme.info(bullet)} ${item.label}`;
173
- if (item.items && item.items.length > 0) {
174
- const children = formatBulletTree(item.items, indent + 1);
175
- return `${line}\n${children}`;
176
- }
177
- return line;
178
- }).join('\n');
179
- }
180
- /**
181
- * Format git branch tree
182
- */
183
- export function formatBranchTree(branches) {
184
- // Build tree structure
185
- const branchMap = new Map();
186
- const roots = [];
187
- branches.forEach(branch => {
188
- const node = {
189
- label: branch.name,
190
- icon: branch.current ? 'โ—' : 'โ—‹',
191
- highlighted: branch.current,
192
- children: []
193
- };
194
- branchMap.set(branch.name, node);
195
- });
196
- branches.forEach(branch => {
197
- const node = branchMap.get(branch.name);
198
- if (!node)
199
- return;
200
- if (branch.parent) {
201
- const parent = branchMap.get(branch.parent);
202
- if (parent?.children) {
203
- parent.children.push(node);
204
- }
205
- else {
206
- roots.push(node);
207
- }
208
- }
209
- else {
210
- roots.push(node);
211
- }
212
- });
213
- return roots.map(root => formatTree(root, { showLines: true })).join('\n\n');
214
- }
215
- /**
216
- * Format directory summary with counts
217
- */
218
- export function formatDirectorySummary(paths) {
219
- const stats = {
220
- directories: 0,
221
- files: 0,
222
- byType: new Map()
223
- };
224
- paths.forEach(path => {
225
- if (path.endsWith('/')) {
226
- stats.directories++;
227
- }
228
- else {
229
- stats.files++;
230
- const ext = path.split('.').pop()?.toLowerCase() || 'no-ext';
231
- stats.byType.set(ext, (stats.byType.get(ext) || 0) + 1);
232
- }
233
- });
234
- const lines = [];
235
- lines.push(theme.info(`๐Ÿ“ ${stats.directories} directories, ๐Ÿ“„ ${stats.files} files`));
236
- if (stats.byType.size > 0) {
237
- const types = Array.from(stats.byType.entries())
238
- .sort((a, b) => b[1] - a[1])
239
- .slice(0, 5);
240
- const typeStr = types
241
- .map(([ext, count]) => `${ext}: ${count}`)
242
- .join(theme.ui.muted(' ยท '));
243
- lines.push(theme.ui.muted(` ${typeStr}`));
244
- }
245
- return lines.join('\n');
246
- }
247
- //# sourceMappingURL=treeVisualizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"treeVisualizer.js","sourceRoot":"","sources":["../../src/ui/treeVisualizer.ts"],"names":[],"mappings":"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"}