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.
@@ -362,6 +362,74 @@ async function runCLITests() {
362
362
  await stopCLI(ctx);
363
363
  }
364
364
  }));
365
+ // Test 8: Multiple sequential pastes don't cause issues
366
+ results.push(await runTest('CLI: Multiple sequential pastes handled correctly', async () => {
367
+ const ctx = await launchCLI();
368
+ try {
369
+ await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
370
+ const START = '\u001b[200~';
371
+ const END = '\u001b[201~';
372
+ // First paste
373
+ ctx.cli?.stdin?.write(START + 'First paste content\nLine 2' + END);
374
+ await wait(500);
375
+ // Second paste
376
+ ctx.cli?.stdin?.write(START + 'Second paste content\nLine 2' + END);
377
+ await wait(500);
378
+ // Should not crash or produce errors
379
+ if (ctx.errors.toLowerCase().includes('error') || ctx.errors.toLowerCase().includes('crash')) {
380
+ throw new Error(`CLI errors on multiple pastes: ${ctx.errors}`);
381
+ }
382
+ }
383
+ finally {
384
+ await stopCLI(ctx);
385
+ }
386
+ }));
387
+ // Test 9: Large paste (>5 lines) shows condensed summary
388
+ results.push(await runTest('CLI: Large paste shows condensed format', async () => {
389
+ const ctx = await launchCLI();
390
+ try {
391
+ await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
392
+ const START = '\u001b[200~';
393
+ const END = '\u001b[201~';
394
+ // Create a 10-line paste
395
+ const largePaste = Array.from({ length: 10 }, (_, i) => `Line ${i + 1} content`).join('\n');
396
+ ctx.cli?.stdin?.write(START + largePaste + END);
397
+ await wait(800);
398
+ // Should not have crashed
399
+ if (ctx.errors.toLowerCase().includes('crash') || ctx.errors.toLowerCase().includes('fatal')) {
400
+ throw new Error(`CLI crashed on large paste: ${ctx.errors}`);
401
+ }
402
+ }
403
+ finally {
404
+ await stopCLI(ctx);
405
+ }
406
+ }));
407
+ // Test 10: Paste then Ctrl+C clears the paste
408
+ results.push(await runTest('CLI: Ctrl+C clears pasted content', async () => {
409
+ const ctx = await launchCLI();
410
+ let processExited = false;
411
+ ctx.cli?.on('exit', () => { processExited = true; });
412
+ try {
413
+ await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
414
+ const START = '\u001b[200~';
415
+ const END = '\u001b[201~';
416
+ // Paste some content
417
+ ctx.cli?.stdin?.write(START + 'test paste\nline 2\nline 3' + END);
418
+ await wait(500);
419
+ // Send Ctrl+C to clear
420
+ ctx.cli?.stdin?.write('\x03');
421
+ await wait(500);
422
+ // Process should still be running (content was cleared, not exited)
423
+ // In non-TTY mode, behavior may differ, so we're lenient
424
+ if (!processExited || ctx.output.includes('Goodbye')) {
425
+ // Either still running or graceful exit - both acceptable
426
+ return;
427
+ }
428
+ }
429
+ finally {
430
+ await stopCLI(ctx);
431
+ }
432
+ }));
365
433
  return results;
366
434
  }
367
435
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"selfTest.js","sourceRoot":"","sources":["../../src/bin/selfTest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selfTest.js","sourceRoot":"","sources":["../../src/bin/selfTest.ts"],"names":[],"mappings":"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"}
@@ -57,14 +57,26 @@ export declare class ToolRuntime {
57
57
  private readonly fileWriteCount;
58
58
  private readonly fileReadHistory;
59
59
  private readOnlyToolCount;
60
- private explorationWarningIssued;
61
- private pendingWarnings;
62
60
  constructor(baseTools?: ToolDefinition[], options?: ToolRuntimeOptions);
63
61
  registerSuite(suite: ToolSuite): void;
64
62
  unregisterSuite(id: string): void;
65
63
  listProviderTools(): ProviderToolDefinition[];
66
64
  execute(call: ToolCallRequest): Promise<string>;
67
65
  private getCacheKey;
66
+ /**
67
+ * Check for redundant operations and BLOCK them before execution.
68
+ * Returns a message if blocked, null if operation should proceed.
69
+ */
70
+ private checkAndBlockRedundancy;
71
+ /**
72
+ * Record a file read for redundancy tracking.
73
+ * Call this after a successful read to cache the content.
74
+ */
75
+ recordFileRead(filePath: string, content: string): void;
76
+ /**
77
+ * Invalidate cached read for a file (call after edit/write).
78
+ */
79
+ invalidateFileRead(filePath: string): void;
68
80
  clearCache(): void;
69
81
  /**
70
82
  * Enforce cache size limit by removing oldest entries (FIFO)
@@ -77,8 +89,7 @@ export declare class ToolRuntime {
77
89
  private addTool;
78
90
  private removeFromOrder;
79
91
  /**
80
- * Detect inefficient tool usage patterns and emit warnings.
81
- * This helps the model learn to use tools more effectively.
92
+ * Detect write inefficiencies. Read inefficiencies are handled by checkAndBlockRedundancy.
82
93
  */
83
94
  private detectInefficiencies;
84
95
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"toolRuntime.d.ts","sourceRoot":"","sources":["../../src/core/toolRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolRuntime.d.ts","sourceRoot":"","sources":["../../src/core/toolRuntime.ts"],"names":[],"mappings":"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"}
@@ -24,11 +24,8 @@ export class ToolRuntime {
24
24
  // Inefficiency detection: track file operations per session
25
25
  fileWriteCount = new Map();
26
26
  fileReadHistory = new Map();
27
- // Exploration loop detection
28
- readOnlyToolCount = 0; // Count of read-only tools without edits
29
- explorationWarningIssued = false;
30
- // Collect warnings to inject into tool results
31
- pendingWarnings = [];
27
+ // Exploration loop detection (used by checkAndBlockRedundancy)
28
+ readOnlyToolCount = 0;
32
29
  constructor(baseTools = [], options = {}) {
33
30
  this.observer = options.observer ?? null;
34
31
  this.contextManager = options.contextManager ?? null;
@@ -87,28 +84,20 @@ export class ToolRuntime {
87
84
  }
88
85
  // Check if tool is cacheable
89
86
  const isCacheable = record.definition.cacheable ?? CACHEABLE_TOOLS.has(call.name);
90
- // Try to get from cache
87
+ // BLOCK redundant operations before they happen
88
+ const blocked = this.checkAndBlockRedundancy(call);
89
+ if (blocked) {
90
+ this.observer?.onToolResult?.(call, blocked);
91
+ return blocked;
92
+ }
93
+ // Try to get from cache (exact match)
91
94
  if (this.enableCache && isCacheable) {
92
95
  const cacheKey = this.getCacheKey(call);
93
96
  const cached = this.cache.get(cacheKey);
94
97
  if (cached && Date.now() - cached.timestamp < this.cacheTTLMs) {
95
- // Still detect inefficiencies on cache hits - the model is attempting
96
- // to read content that's already in context, which is wasteful
97
- const args = normalizeToolArguments(call.arguments);
98
- this.pendingWarnings = [];
99
- this.detectInefficiencies(call, args, cached.result);
100
- // Inject warnings into cached result so model learns
101
- let output = cached.result;
102
- if (this.pendingWarnings.length > 0) {
103
- const warningBlock = this.pendingWarnings.map(w => `⚠ INEFFICIENCY [${w.type.toUpperCase().replace(/_/g, ' ')}]\n` +
104
- ` ${w.message}\n` +
105
- ` → ${w.suggestion}`).join('\n\n');
106
- output = `${warningBlock}\n\n${output}`;
107
- this.pendingWarnings = [];
108
- }
109
98
  this.observer?.onCacheHit?.(call);
110
- this.observer?.onToolResult?.(call, output);
111
- return output;
99
+ this.observer?.onToolResult?.(call, cached.result);
100
+ return cached.result;
112
101
  }
113
102
  }
114
103
  this.observer?.onToolStart?.(call);
@@ -138,18 +127,22 @@ export class ToolRuntime {
138
127
  // Enforce cache size limit to prevent memory growth
139
128
  this.enforceCacheLimit();
140
129
  }
141
- // Detect inefficient patterns and collect warnings
142
- this.pendingWarnings = [];
143
- this.detectInefficiencies(call, args, output);
144
- // Inject warnings into tool result so model learns from them
145
- if (this.pendingWarnings.length > 0) {
146
- const warningBlock = this.pendingWarnings.map(w => `⚠ INEFFICIENCY [${w.type.toUpperCase().replace(/_/g, ' ')}]\n` +
147
- ` ${w.message}\n` +
148
- ` → ${w.suggestion}`).join('\n\n');
149
- // Prepend warning to output so model sees it first
150
- output = `${warningBlock}\n\n${output}`;
151
- this.pendingWarnings = [];
130
+ // Auto-record successful file reads for redundancy prevention
131
+ if ((call.name === 'Read' || call.name === 'read_file') && !output.startsWith('Error')) {
132
+ const rawPath = String(args['file_path'] ?? args['path'] ?? '');
133
+ if (rawPath) {
134
+ this.recordFileRead(rawPath, output);
135
+ }
136
+ }
137
+ // Auto-invalidate file cache on edits/writes
138
+ if ((call.name === 'Edit' || call.name === 'edit_file' || call.name === 'Write' || call.name === 'write_file') && !output.startsWith('Error')) {
139
+ const rawPath = String(args['file_path'] ?? args['path'] ?? '');
140
+ if (rawPath) {
141
+ this.invalidateFileRead(rawPath);
142
+ }
152
143
  }
144
+ // Track write counts and other inefficiency patterns
145
+ this.detectInefficiencies(call, args, output);
153
146
  this.observer?.onToolResult?.(call, output);
154
147
  return output;
155
148
  }
@@ -169,6 +162,60 @@ export class ToolRuntime {
169
162
  getCacheKey(call) {
170
163
  return `${call.name}:${JSON.stringify(call.arguments)}`;
171
164
  }
165
+ /**
166
+ * Check for redundant operations and BLOCK them before execution.
167
+ * Returns a message if blocked, null if operation should proceed.
168
+ */
169
+ checkAndBlockRedundancy(call) {
170
+ const toolName = call.name;
171
+ const args = normalizeToolArguments(call.arguments);
172
+ // Track read-only vs edit tools
173
+ const readOnlyTools = new Set(['Read', 'read_file', 'Glob', 'glob', 'Grep', 'grep', 'list_files', 'search_files']);
174
+ const editTools = new Set(['Edit', 'edit_file', 'Write', 'write_file', 'Bash', 'bash']);
175
+ // Reset exploration counter on edits
176
+ if (editTools.has(toolName)) {
177
+ this.readOnlyToolCount = 0;
178
+ return null;
179
+ }
180
+ // For read-only tools, check for redundancy
181
+ if (readOnlyTools.has(toolName)) {
182
+ this.readOnlyToolCount++;
183
+ // Block file reads if we've already read the same file
184
+ if (toolName === 'Read' || toolName === 'read_file') {
185
+ const rawPath = String(args['file_path'] ?? args['path'] ?? '');
186
+ const filePath = rawPath ? resolve(rawPath) : '';
187
+ if (filePath) {
188
+ const history = this.fileReadHistory.get(filePath);
189
+ if (history && history.count >= 1 && history.cachedContent) {
190
+ // Already read this file - return cached content with note
191
+ history.count++;
192
+ this.fileReadHistory.set(filePath, history);
193
+ // Return cached content - no re-read needed
194
+ return `✓ Read ${filePath} (cached)\n\n${history.cachedContent}`;
195
+ }
196
+ }
197
+ }
198
+ }
199
+ return null;
200
+ }
201
+ /**
202
+ * Record a file read for redundancy tracking.
203
+ * Call this after a successful read to cache the content.
204
+ */
205
+ recordFileRead(filePath, content) {
206
+ const normalizedPath = resolve(filePath);
207
+ const history = this.fileReadHistory.get(normalizedPath) ?? { count: 0 };
208
+ history.count++;
209
+ history.cachedContent = content;
210
+ this.fileReadHistory.set(normalizedPath, history);
211
+ }
212
+ /**
213
+ * Invalidate cached read for a file (call after edit/write).
214
+ */
215
+ invalidateFileRead(filePath) {
216
+ const normalizedPath = resolve(filePath);
217
+ this.fileReadHistory.delete(normalizedPath);
218
+ }
172
219
  clearCache() {
173
220
  this.cache.clear();
174
221
  }
@@ -219,125 +266,26 @@ export class ToolRuntime {
219
266
  }
220
267
  }
221
268
  /**
222
- * Detect inefficient tool usage patterns and emit warnings.
223
- * This helps the model learn to use tools more effectively.
269
+ * Detect write inefficiencies. Read inefficiencies are handled by checkAndBlockRedundancy.
224
270
  */
225
271
  detectInefficiencies(call, args, _output) {
226
272
  const toolName = call.name;
227
- // Track read-only vs edit tools for exploration loop detection
228
- const readOnlyTools = new Set(['Read', 'read_file', 'Glob', 'glob', 'Grep', 'grep', 'list_files', 'search_files']);
229
- const editTools = new Set(['Edit', 'edit_file', 'Write', 'write_file', 'Bash', 'bash']);
230
- if (readOnlyTools.has(toolName)) {
231
- this.readOnlyToolCount++;
232
- // Warn if too many read-only operations without any edits
233
- // Threshold of 15 allows for reasonable exploration while catching excessive loops
234
- if (this.readOnlyToolCount >= 15 && !this.explorationWarningIssued) {
235
- this.explorationWarningIssued = true;
236
- const warning = {
237
- type: 'redundant_read',
238
- message: `Exploration loop detected: ${this.readOnlyToolCount} read-only operations without any edits.`,
239
- suggestion: 'STOP EXPLORING. You have enough context. Plan your changes and START IMPLEMENTING. ' +
240
- 'Use Edit/Write tools to make changes now.',
241
- };
242
- this.pendingWarnings.push(warning);
243
- this.observer?.onInefficiencyWarning?.(warning);
244
- }
245
- }
246
- else if (editTools.has(toolName)) {
247
- // Reset exploration counter when an edit happens
248
- this.readOnlyToolCount = 0;
249
- this.explorationWarningIssued = false;
250
- }
251
273
  // Detect multiple writes to the same file
252
274
  if (toolName === 'Write' || toolName === 'write_file') {
253
275
  const rawPath = String(args['file_path'] ?? args['path'] ?? '');
254
- // Normalize path to absolute to catch same file with different path formats
255
276
  const filePath = rawPath ? resolve(rawPath) : '';
256
277
  if (filePath) {
257
278
  const count = (this.fileWriteCount.get(filePath) ?? 0) + 1;
258
279
  this.fileWriteCount.set(filePath, count);
280
+ // Log multiple writes for stats (no warnings needed - just track)
259
281
  if (count > 1) {
260
- const warning = {
282
+ this.observer?.onInefficiencyWarning?.({
261
283
  type: 'multiple_writes',
262
- message: `File "${filePath}" has been written ${count} times in this session.`,
263
- filePath,
264
- suggestion: 'Use Edit tool for modifications instead of rewriting the entire file. ' +
265
- 'Multiple Write calls indicate poor planning - read the file first, plan changes, then use Edit.',
266
- };
267
- this.pendingWarnings.push(warning);
268
- this.observer?.onInefficiencyWarning?.(warning);
269
- }
270
- // Also warn if writing to an existing file (should use Edit)
271
- if (count === 1 && _output.includes('Updated')) {
272
- const warning = {
273
- type: 'should_use_edit',
274
- message: `Write tool used to modify existing file "${filePath}".`,
275
- filePath,
276
- suggestion: 'Use Edit tool for modifying existing files - it makes surgical replacements ' +
277
- 'and prevents accidental content loss. Write tool should only be used for NEW files.',
278
- };
279
- this.pendingWarnings.push(warning);
280
- this.observer?.onInefficiencyWarning?.(warning);
281
- }
282
- }
283
- }
284
- // Detect redundant partial file reads
285
- if (toolName === 'Read' || toolName === 'read_file') {
286
- const rawPath = String(args['file_path'] ?? args['path'] ?? '');
287
- // Normalize path to absolute to catch same file with different path formats
288
- const filePath = rawPath ? resolve(rawPath) : '';
289
- const offset = typeof args['offset'] === 'number' ? args['offset'] : undefined;
290
- const limit = typeof args['limit'] === 'number' ? args['limit'] : undefined;
291
- if (filePath) {
292
- const history = this.fileReadHistory.get(filePath) ?? { count: 0 };
293
- history.count++;
294
- // Warn on ANY re-read of a file (after first read)
295
- if (history.count === 2) {
296
- const warning = {
297
- type: 'redundant_read',
298
- message: `File "${filePath}" already read in this session (read #${history.count}).`,
299
- filePath,
300
- suggestion: 'You already have this file in context. Use your memory instead of re-reading. ' +
301
- 'Re-reads waste tokens and slow execution.',
302
- };
303
- this.pendingWarnings.push(warning);
304
- this.observer?.onInefficiencyWarning?.(warning);
305
- }
306
- // Warn if reading the same file multiple times with small limits (chunked reading)
307
- if (history.count > 1 && !history.warnedPartial && (limit !== undefined || offset !== undefined)) {
308
- // Check if this appears to be sequential reads (chunked reading)
309
- const isChunkedRead = history.lastOffset !== undefined &&
310
- offset !== undefined &&
311
- offset > history.lastOffset;
312
- if (isChunkedRead) {
313
- history.warnedPartial = true;
314
- const warning = {
315
- type: 'partial_read',
316
- message: `File "${filePath}" being read in chunks (${history.count} reads).`,
317
- filePath,
318
- suggestion: 'Read the FULL file at once (omit limit/offset) instead of reading in chunks. ' +
319
- 'One full read is more efficient than multiple partial reads. Only use limit/offset for files over 2000 lines.',
320
- };
321
- this.pendingWarnings.push(warning);
322
- this.observer?.onInefficiencyWarning?.(warning);
323
- }
324
- }
325
- // Warn about excessive redundant reads (3+)
326
- if (history.count >= 3 && !history.warnedRedundant) {
327
- history.warnedRedundant = true;
328
- const warning = {
329
- type: 'redundant_read',
330
- message: `STOP! File "${filePath}" read ${history.count} times. This is excessive.`,
284
+ message: `File "${filePath}" written ${count} times`,
331
285
  filePath,
332
- suggestion: 'You are stuck in an exploration loop. STOP READING and START IMPLEMENTING. ' +
333
- 'The file content is in your context window - use it!',
334
- };
335
- this.pendingWarnings.push(warning);
336
- this.observer?.onInefficiencyWarning?.(warning);
286
+ suggestion: 'Use Edit tool instead of Write for modifications',
287
+ });
337
288
  }
338
- history.lastOffset = offset;
339
- history.lastLimit = limit;
340
- this.fileReadHistory.set(filePath, history);
341
289
  }
342
290
  }
343
291
  }
@@ -348,8 +296,6 @@ export class ToolRuntime {
348
296
  this.fileWriteCount.clear();
349
297
  this.fileReadHistory.clear();
350
298
  this.readOnlyToolCount = 0;
351
- this.explorationWarningIssued = false;
352
- this.pendingWarnings = [];
353
299
  }
354
300
  /**
355
301
  * Invalidate cache entries related to modified files.
@@ -1 +1 @@
1
- {"version":3,"file":"toolRuntime.js","sourceRoot":"","sources":["../../src/core/toolRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolRuntime.js","sourceRoot":"","sources":["../../src/core/toolRuntime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}