erosolar-cli 1.7.166 → 1.7.167

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.
@@ -1 +1 @@
1
- {"version":3,"file":"editTools.d.ts","sourceRoot":"","sources":["../../src/tools/editTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAmCpE;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAwJjB"}
1
+ {"version":3,"file":"editTools.d.ts","sourceRoot":"","sources":["../../src/tools/editTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAmCpE;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAwKjB"}
@@ -59,7 +59,7 @@ export async function performSurgicalEdit(workingDir, args) {
59
59
  const oldString = args['old_string'];
60
60
  const newStringRaw = args['new_string'];
61
61
  const replaceAll = args['replace_all'] === true;
62
- const newString = typeof newStringRaw === 'string' ? newStringRaw : '';
62
+ let replacementString = typeof newStringRaw === 'string' ? newStringRaw : '';
63
63
  // Validate inputs
64
64
  if (typeof pathArg !== 'string' || !pathArg.trim()) {
65
65
  return 'Error: file_path must be a non-empty string.';
@@ -72,11 +72,11 @@ export async function performSurgicalEdit(workingDir, args) {
72
72
  }
73
73
  // Only error if both are identical AND non-empty (no-op edit)
74
74
  // Allow: empty old + content = create, content + empty new = delete
75
- if (oldString === newString && oldString !== '') {
75
+ if (oldString === replacementString && oldString !== '') {
76
76
  return 'Error: old_string and new_string are identical. No changes would be made.';
77
77
  }
78
78
  // Both empty is also a no-op
79
- if (oldString === '' && newString === '') {
79
+ if (oldString === '' && replacementString === '') {
80
80
  return 'Error: Both old_string and new_string are empty. Provide content to create a file or text to replace.';
81
81
  }
82
82
  try {
@@ -99,11 +99,11 @@ export async function performSurgicalEdit(workingDir, args) {
99
99
  const dir = dirname(filePath);
100
100
  await mkdir(dir, { recursive: true });
101
101
  // Write new file
102
- await writeFile(filePath, newString, 'utf-8');
102
+ await writeFile(filePath, replacementString, 'utf-8');
103
103
  const relativePath = relative(workingDir, filePath);
104
104
  const displayPath = relativePath && !relativePath.startsWith('..') ? relativePath : filePath;
105
- const lineCount = newString.split('\n').length;
106
- const diffSegments = buildDiffSegmentsFast('', newString);
105
+ const lineCount = replacementString.split('\n').length;
106
+ const diffSegments = buildDiffSegmentsFast('', replacementString);
107
107
  const addedLines = diffSegments.filter((s) => s.type === 'added').length;
108
108
  const diffLines = formatDiffLines(diffSegments, true);
109
109
  const diffBlock = diffLines.length > 0 ? diffLines.join('\n') : '(No visual diff - whitespace or formatting changes only)';
@@ -122,14 +122,21 @@ export async function performSurgicalEdit(workingDir, args) {
122
122
  }
123
123
  // Read current content (async for speed)
124
124
  const currentContent = await readFile(filePath, 'utf-8');
125
- // Normalize escaped literals to reduce mismatch errors (e.g., "\\n" vs actual newline)
125
+ // Normalize escaped literals and whitespace differences to reduce mismatch errors
126
126
  let targetString = oldString;
127
- let normalizedFromEscapes = false;
127
+ let matchNote = null;
128
128
  if (!currentContent.includes(targetString)) {
129
129
  const unescaped = unescapeLiteral(oldString);
130
130
  if (unescaped !== oldString && currentContent.includes(unescaped)) {
131
131
  targetString = unescaped;
132
- normalizedFromEscapes = true;
132
+ matchNote = 'normalized escaped old_string';
133
+ }
134
+ }
135
+ if (!currentContent.includes(targetString)) {
136
+ const flexibleMatch = matchWithFlexibleWhitespace(currentContent, targetString);
137
+ if (flexibleMatch) {
138
+ targetString = flexibleMatch;
139
+ matchNote = matchNote ? matchNote : 'normalized whitespace in old_string';
133
140
  }
134
141
  }
135
142
  // Check if old_string exists in file
@@ -150,14 +157,21 @@ export async function performSurgicalEdit(workingDir, args) {
150
157
  ].join('\n');
151
158
  }
152
159
  // Count occurrences
160
+ // Preserve indentation when we had to normalize whitespace to find the match
161
+ if (matchNote === 'normalized whitespace in old_string') {
162
+ const adjusted = alignIndentation(targetString, replacementString);
163
+ if (adjusted !== replacementString) {
164
+ replacementString = adjusted;
165
+ }
166
+ }
153
167
  const occurrences = countOccurrences(currentContent, targetString);
154
168
  if (!replaceAll && occurrences > 1) {
155
169
  return `Error: old_string appears ${occurrences} times in the file. Either:\n1. Provide a larger unique string that includes more context\n2. Set replace_all: true to replace all ${occurrences} occurrences\n\nFile: ${filePath}`;
156
170
  }
157
171
  // Perform replacement
158
172
  const newContent = replaceAll
159
- ? currentContent.split(targetString).join(newString)
160
- : currentContent.replace(targetString, newString);
173
+ ? currentContent.split(targetString).join(replacementString)
174
+ : currentContent.replace(targetString, replacementString);
161
175
  // Generate diff (fast in-memory algorithm, no git spawning)
162
176
  const diffSegments = buildDiffSegmentsFast(currentContent, newContent);
163
177
  // Write file (async for speed)
@@ -172,7 +186,7 @@ export async function performSurgicalEdit(workingDir, args) {
172
186
  const diffLines = formatDiffLines(diffSegments, true);
173
187
  const diffBlock = diffLines.length > 0 ? diffLines.join('\n') : '(No visual diff - whitespace or formatting changes only)';
174
188
  return [
175
- `✓ Edited ${displayPath}${occurrencesText}${normalizedFromEscapes ? ' [normalized escaped old_string]' : ''}`,
189
+ `✓ Edited ${displayPath}${occurrencesText}${matchNote ? ` [${matchNote}]` : ''}`,
176
190
  `Lines changed: +${addedLines} / -${removedLines}`,
177
191
  '',
178
192
  'Diff preview:',
@@ -183,7 +197,7 @@ export async function performSurgicalEdit(workingDir, args) {
183
197
  return buildError('editing file', error, {
184
198
  file_path: typeof pathArg === 'string' ? pathArg : '',
185
199
  old_string_length: typeof oldString === 'string' ? oldString.length : 0,
186
- new_string_length: typeof newString === 'string' ? newString.length : 0,
200
+ new_string_length: typeof replacementString === 'string' ? replacementString.length : 0,
187
201
  });
188
202
  }
189
203
  }
@@ -214,6 +228,52 @@ function unescapeLiteral(value) {
214
228
  .replace(/\\r/g, '\r')
215
229
  .replace(/\\t/g, '\t');
216
230
  }
231
+ /**
232
+ * Try to locate the search string allowing whitespace differences (indentation, spacing).
233
+ * Returns the exact substring from the original content when matched.
234
+ */
235
+ function matchWithFlexibleWhitespace(content, search) {
236
+ const normalizedPattern = buildWhitespaceFlexiblePattern(search);
237
+ if (!normalizedPattern) {
238
+ return null;
239
+ }
240
+ const regex = new RegExp(normalizedPattern, 's');
241
+ const match = content.match(regex);
242
+ return match ? match[0] : null;
243
+ }
244
+ function buildWhitespaceFlexiblePattern(search) {
245
+ if (!search.trim()) {
246
+ return null;
247
+ }
248
+ // Escape regex metacharacters, then replace whitespace runs with \\s+ to allow indentation variance
249
+ const escaped = search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
250
+ return escaped.replace(/\s+/g, '\\s+');
251
+ }
252
+ /**
253
+ * When whitespace normalization is used, keep the replacement aligned with the matched indentation.
254
+ * If a line in the replacement has no indentation, inherit indentation from the matched line.
255
+ */
256
+ function alignIndentation(target, replacement) {
257
+ const targetLines = target.split('\n');
258
+ const replacementLines = replacement.split('\n');
259
+ if (targetLines.length !== replacementLines.length) {
260
+ return replacement;
261
+ }
262
+ const adjusted = replacementLines.map((line, idx) => {
263
+ const targetLine = targetLines[idx] ?? '';
264
+ const targetIndent = targetLine.match(/^\s*/)?.[0] ?? '';
265
+ if (!line.trim()) {
266
+ return targetIndent;
267
+ }
268
+ const lineIndent = line.match(/^\s*/)?.[0] ?? '';
269
+ if (lineIndent.length < targetIndent.length) {
270
+ const missing = targetIndent.slice(lineIndent.length);
271
+ return `${lineIndent}${missing}${line.trimStart()}`;
272
+ }
273
+ return line;
274
+ });
275
+ return adjusted.join('\n');
276
+ }
217
277
  /**
218
278
  * Enhanced similar line finder with actionable suggestions for AI.
219
279
  * Provides exact text to use in old_string and clear next steps.
@@ -1 +1 @@
1
- {"version":3,"file":"editTools.js","sourceRoot":"","sources":["../../src/tools/editTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editTools.js","sourceRoot":"","sources":["../../src/tools/editTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enhancedCodeIntelligenceTools.d.ts","sourceRoot":"","sources":["../../src/tools/enhancedCodeIntelligenceTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC;AAED,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAyHxF"}
1
+ {"version":3,"file":"enhancedCodeIntelligenceTools.d.ts","sourceRoot":"","sources":["../../src/tools/enhancedCodeIntelligenceTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC;AAED,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAgJxF"}
@@ -107,6 +107,29 @@ export function createEnhancedCodeIntelligenceTools(workingDir) {
107
107
  return improveTypeSafety(filePath, workingDir, preview);
108
108
  },
109
109
  },
110
+ {
111
+ name: 'detect_code_smells',
112
+ description: 'Detect common code smells and anti-patterns across the codebase.',
113
+ parameters: {
114
+ type: 'object',
115
+ properties: {
116
+ path: {
117
+ type: 'string',
118
+ description: 'Path to analyze (default: current directory).',
119
+ },
120
+ maxFiles: {
121
+ type: 'number',
122
+ description: 'Maximum number of files to analyze (default: 50).',
123
+ },
124
+ },
125
+ additionalProperties: false,
126
+ },
127
+ handler: async (args) => {
128
+ const path = args['path'] ?? workingDir;
129
+ const maxFiles = args['maxFiles'] ?? 50;
130
+ return detectCodeSmells(path, maxFiles);
131
+ },
132
+ },
110
133
  {
111
134
  name: 'generate_code_quality_report',
112
135
  description: 'Generate comprehensive code quality report with actionable recommendations.',
@@ -230,6 +253,140 @@ function improveTypeSafety(filePath, workingDir, preview) {
230
253
  }
231
254
  return output.join('\n');
232
255
  }
256
+ function scanFiles(basePath, maxFiles) {
257
+ const files = [];
258
+ // Simple file scanning using existsSync
259
+ // For a directory, we'd normally use readdirSync recursively
260
+ // but since we're keeping this simple, just check if it's a single file
261
+ if (existsSync(basePath)) {
262
+ const { statSync, readdirSync } = require('node:fs');
263
+ const stats = statSync(basePath);
264
+ if (stats.isFile() && (basePath.endsWith('.ts') || basePath.endsWith('.js') || basePath.endsWith('.tsx') || basePath.endsWith('.jsx'))) {
265
+ return [basePath];
266
+ }
267
+ if (stats.isDirectory()) {
268
+ const scanDir = (dir) => {
269
+ if (files.length >= maxFiles)
270
+ return;
271
+ try {
272
+ const entries = readdirSync(dir, { withFileTypes: true });
273
+ for (const entry of entries) {
274
+ if (files.length >= maxFiles)
275
+ break;
276
+ const fullPath = join(dir, entry.name);
277
+ if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'node_modules' && entry.name !== 'dist') {
278
+ scanDir(fullPath);
279
+ }
280
+ else if (entry.isFile() && (entry.name.endsWith('.ts') || entry.name.endsWith('.js') || entry.name.endsWith('.tsx') || entry.name.endsWith('.jsx'))) {
281
+ files.push(fullPath);
282
+ }
283
+ }
284
+ }
285
+ catch {
286
+ // Ignore permission errors
287
+ }
288
+ };
289
+ scanDir(basePath);
290
+ }
291
+ }
292
+ return files;
293
+ }
294
+ function detectCodeSmells(path, maxFiles = 50) {
295
+ const output = [];
296
+ output.push('# Code Smell Detection Report');
297
+ output.push('');
298
+ // Common code smells to detect
299
+ const codeSmells = [
300
+ {
301
+ name: 'Long Method',
302
+ pattern: /function\s+\w+\s*\([^)]*\)\s*\{[\s\S]{200,}/g,
303
+ description: 'Methods longer than 200 characters suggest they do too much',
304
+ fix: 'Extract smaller methods with single responsibilities'
305
+ },
306
+ {
307
+ name: 'Large Class',
308
+ pattern: /class\s+\w+\s*\{[\s\S]{500,}/g,
309
+ description: 'Classes with excessive lines violate single responsibility principle',
310
+ fix: 'Split into smaller, focused classes'
311
+ },
312
+ {
313
+ name: 'Primitive Obsession',
314
+ pattern: /(?:let|const|var)\s+\w+\s*:\s*(string|number|boolean)\b/g,
315
+ description: 'Overuse of primitives instead of domain-specific types',
316
+ fix: 'Create value objects or domain-specific types'
317
+ },
318
+ {
319
+ name: 'Data Clumps',
320
+ pattern: /(?:\w+,\s*){3,}\w+/g,
321
+ description: 'Groups of data items that appear together frequently',
322
+ fix: 'Extract into parameter objects or data classes'
323
+ },
324
+ {
325
+ name: 'Feature Envy',
326
+ pattern: /this\.\w+\.\w+/g,
327
+ description: 'Method uses more features of another class than its own',
328
+ fix: 'Move method to the class it envies'
329
+ },
330
+ {
331
+ name: 'Inappropriate Intimacy',
332
+ pattern: /private\s+\w+\s*:\s*\w+/g,
333
+ description: 'Classes know too much about each other\'s internals',
334
+ fix: 'Reduce coupling through interfaces or mediators'
335
+ },
336
+ {
337
+ name: 'Message Chains',
338
+ pattern: /\.\w+\(\)\.\w+\(\)\.\w+\(\)/g,
339
+ description: 'Long chains of method calls indicate tight coupling',
340
+ fix: 'Hide delegate or extract intermediate object'
341
+ },
342
+ {
343
+ name: 'Shotgun Surgery',
344
+ pattern: /\/\/\s*TODO.*change|FIXME.*multiple/i,
345
+ description: 'Single change requires modifications in many places',
346
+ fix: 'Move related behavior into single class'
347
+ }
348
+ ];
349
+ output.push('## Common Code Smells Detected');
350
+ output.push('');
351
+ let totalSmells = 0;
352
+ const files = scanFiles(path, maxFiles);
353
+ files.forEach(file => {
354
+ const content = readFileSync(file, 'utf8');
355
+ const fileSmells = [];
356
+ codeSmells.forEach(smell => {
357
+ const matches = content.match(smell.pattern);
358
+ if (matches && matches.length > 0) {
359
+ fileSmells.push(`- **${smell.name}**: ${matches.length} instances - ${smell.description}`);
360
+ totalSmells += matches.length;
361
+ }
362
+ });
363
+ if (fileSmells.length > 0) {
364
+ output.push(`### ${file}`);
365
+ output.push(...fileSmells);
366
+ output.push('');
367
+ }
368
+ });
369
+ if (totalSmells === 0) {
370
+ output.push('✅ No significant code smells detected.');
371
+ output.push('');
372
+ output.push('The codebase appears to follow good design principles.');
373
+ }
374
+ else {
375
+ output.push(`## Summary`);
376
+ output.push(`- **Total smells detected**: ${totalSmells}`);
377
+ output.push(`- **Files analyzed**: ${files.length}`);
378
+ output.push('');
379
+ output.push('## Recommended Refactoring Actions');
380
+ output.push('');
381
+ codeSmells.forEach(smell => {
382
+ output.push(`- **${smell.name}**: ${smell.fix}`);
383
+ });
384
+ }
385
+ output.push('');
386
+ output.push('💡 Use `suggest_refactoring` for specific improvement suggestions.');
387
+ output.push('💡 Use `auto_refactor_complexity` for automated refactoring.');
388
+ return output.join('\n');
389
+ }
233
390
  function generateQualityReport(_path) {
234
391
  const output = [];
235
392
  output.push('# Comprehensive Code Quality Report');
@@ -240,6 +397,7 @@ function generateQualityReport(_path) {
240
397
  output.push('- Code duplication detection');
241
398
  output.push('- Performance optimization suggestions');
242
399
  output.push('- Maintainability scoring');
400
+ output.push('- **Code smell detection**');
243
401
  output.push('');
244
402
  output.push('🔍 Analysis covers:');
245
403
  output.push('- Function complexity (cyclomatic, cognitive)');
@@ -247,12 +405,14 @@ function generateQualityReport(_path) {
247
405
  output.push('- Type safety issues');
248
406
  output.push('- Code style consistency');
249
407
  output.push('- Documentation coverage');
408
+ output.push('- **Common code smells and anti-patterns**');
250
409
  output.push('');
251
410
  output.push('💡 Use individual tools for specific improvements:');
252
411
  output.push('- `analyze_code_complexity` for complexity analysis');
253
412
  output.push('- `suggest_refactoring` for improvement suggestions');
254
413
  output.push('- `auto_refactor_complexity` for automated refactoring');
255
414
  output.push('- `improve_type_safety` for type improvements');
415
+ output.push('- `detect_code_smells` for anti-pattern detection');
256
416
  return output.join('\n');
257
417
  }
258
418
  //# sourceMappingURL=enhancedCodeIntelligenceTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhancedCodeIntelligenceTools.js","sourceRoot":"","sources":["../../src/tools/enhancedCodeIntelligenceTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhancedCodeIntelligenceTools.js","sourceRoot":"","sources":["../../src/tools/enhancedCodeIntelligenceTools.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,17 @@ export declare class Display {
174
174
  latestModel: string;
175
175
  error?: string;
176
176
  }>): void;
177
+ /**
178
+ * Show streaming header - Claude Code style
179
+ *
180
+ * Displays a unified streaming status bar before AI response starts.
181
+ * This provides visual consistency with the startup Ready bar.
182
+ *
183
+ * Format:
184
+ * ───────────────────────────────────────────────────────
185
+ * ● Responding...
186
+ */
187
+ showStreamingHeader(): void;
177
188
  /**
178
189
  * Show model commands help
179
190
  */
@@ -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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"}
@@ -771,6 +771,28 @@ export class Display {
771
771
  this.writeLine(theme.ui.border('─'.repeat(width)));
772
772
  });
773
773
  }
774
+ /**
775
+ * Show streaming header - Claude Code style
776
+ *
777
+ * Displays a unified streaming status bar before AI response starts.
778
+ * This provides visual consistency with the startup Ready bar.
779
+ *
780
+ * Format:
781
+ * ───────────────────────────────────────────────────────
782
+ * ● Responding...
783
+ */
784
+ showStreamingHeader() {
785
+ const cols = getTerminalColumns();
786
+ const width = Math.min(cols - 4, 55);
787
+ this.withOutput(() => {
788
+ // Separator line (matches Ready bar style)
789
+ this.writeLine(theme.ui.border('─'.repeat(width)));
790
+ // Streaming status line
791
+ const indicator = theme.info('●');
792
+ const status = theme.ui.muted('Responding...');
793
+ this.writeLine(`${indicator} ${status}`);
794
+ });
795
+ }
774
796
  /**
775
797
  * Show model commands help
776
798
  */