erosolar-cli 2.1.151 → 2.1.153

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.
@@ -539,6 +539,11 @@
539
539
  "command": "/permissions",
540
540
  "description": "Configure tool permissions (allow/deny rules)",
541
541
  "category": "configuration"
542
+ },
543
+ {
544
+ "command": "/update",
545
+ "description": "Check for updates and configure auto-update preference",
546
+ "category": "configuration"
542
547
  }
543
548
  ],
544
549
 
@@ -72,6 +72,9 @@ export declare class AgentRuntime {
72
72
  private lastToolCallSignature;
73
73
  private repeatedToolCallCount;
74
74
  private static readonly MAX_REPEATED_TOOL_CALLS;
75
+ private recentToolCalls;
76
+ private static readonly TOOL_HISTORY_SIZE;
77
+ private static readonly BEHAVIORAL_LOOP_THRESHOLD;
75
78
  constructor(options: AgentOptions);
76
79
  /**
77
80
  * Request cancellation of the current operation.
@@ -118,6 +121,25 @@ export declare class AgentRuntime {
118
121
  * and response contains verifiable claims (implementation, build success, etc.)
119
122
  */
120
123
  private triggerVerificationIfNeeded;
124
+ /**
125
+ * Extract a "command hash" from tool arguments for behavioral loop detection.
126
+ * For execute_bash, this is the actual command. For other tools, key identifying args.
127
+ */
128
+ private extractCmdHash;
129
+ /**
130
+ * Check for behavioral loops - model calling the same tool with similar args repeatedly.
131
+ * Returns an error message if a loop is detected, null otherwise.
132
+ *
133
+ * This catches patterns like:
134
+ * - "git status -sb" called 5 times (same command, different outputs)
135
+ * - Repeated file reads of the same file
136
+ * - Repeated searches with the same pattern
137
+ */
138
+ private checkBehavioralLoop;
139
+ /**
140
+ * Reset behavioral loop tracking (called when user provides new input or task completes)
141
+ */
142
+ private resetBehavioralLoopTracking;
121
143
  getHistory(): ConversationMessage[];
122
144
  loadHistory(history: ConversationMessage[]): void;
123
145
  clearHistory(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAGhB,KAAK,aAAa,EAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA4T/F,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/E,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC;IACpE,eAAe,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7E,8DAA8D;IAC9D,kBAAkB,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,8DAA8D;IAC9D,iBAAiB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChF,kFAAkF;IAClF,uBAAuB,CAAC,IAAI,IAAI,CAAC;IACjC,gFAAgF;IAChF,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7E,0FAA0F;IAC1F,gBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACjE,wEAAwE;IACxE,oBAAoB,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC;IACpF,yDAAyD;IACzD,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB,8EAA8E;IAC9E,eAAe,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5F;AAED,MAAM,WAAW,2BAA2B;IAC1C,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAGD,UAAU,YAAY;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAK;IAIpD,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;gBAE1C,OAAO,EAAE,YAAY;IAiBjC;;;OAGG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;OAEG;IACH,uBAAuB,IAAI,OAAO;IAIlC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;YAsCjD,mBAAmB;YA+JnB,4BAA4B;IAkQ1C;;;;;;;OAOG;YACW,gBAAgB;IAwF9B,OAAO,KAAK,aAAa,GAExB;IAED;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,oBAAoB;IAY5B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAyCnC;;;OAGG;IACH,OAAO,CAAC,cAAc;IA+BtB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAMnC,UAAU,IAAI,mBAAmB,EAAE;IAInC,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAajD,YAAY,IAAI,IAAI;IAOpB;;;;;;OAMG;YACW,qBAAqB;IAiCnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAI1C;;;;;;;;;;OAUG;YACW,0BAA0B;CA4MzC"}
@@ -7,7 +7,12 @@ const MAX_CONTEXT_RECOVERY_ATTEMPTS = 3;
7
7
  /**
8
8
  * Maximum number of auto-continuation attempts when model expresses intent but doesn't act
9
9
  */
10
- const MAX_AUTO_CONTINUE_ATTEMPTS = 3;
10
+ const MAX_AUTO_CONTINUE_ATTEMPTS = 5;
11
+ /**
12
+ * Threshold for short completion - responses shorter than this can be valid completions.
13
+ * Anything longer after tool work needs scrutiny.
14
+ */
15
+ const SHORT_COMPLETION_THRESHOLD = 80;
11
16
  // Streaming runs without timeouts - we let the model take as long as it needs
12
17
  /**
13
18
  * Patterns that indicate the model intends to take action but hasn't yet
@@ -95,8 +100,124 @@ const AUTO_CONTINUE_PROMPTS = [
95
100
  'Continue.',
96
101
  'Keep going. Call tools.',
97
102
  'You stopped mid-task. Continue with tools.',
103
+ 'Do not summarize. Act with tools or ask a specific question.',
104
+ 'Use tools to complete the task.',
98
105
  ];
99
106
  const PREMATURE_CONCLUSION_PROMPT = 'Show specific code. Call read_file on the matches.';
107
+ /**
108
+ * Patterns that indicate genuine completion of a task.
109
+ * These are short, definitive statements that signal work is done.
110
+ */
111
+ const COMPLETION_SIGNAL_PATTERNS = [
112
+ // Explicit done signals
113
+ /^(done|complete|finished|all set)[.!]?$/i,
114
+ // Short confirmations with specifics
115
+ /^(removed|deleted|fixed|created|updated|added)\s+.{1,50}[.!]?$/i,
116
+ // "X is now Y" short statements
117
+ /^.{1,30}\s+is\s+now\s+.{1,30}[.!]?$/i,
118
+ // Task completion with count
119
+ /^(cleaned|removed|fixed|updated)\s+\d+\s+.{1,30}[.!]?$/i,
120
+ ];
121
+ /**
122
+ * Patterns that indicate errors, failures, or incomplete work.
123
+ * When these are present, auto-continue should kick in to fix the issues.
124
+ * This is a PROGRAMMATIC check - if errors are reported, the task is NOT complete.
125
+ */
126
+ const ERROR_INDICATOR_PATTERNS = [
127
+ // Build/compile errors
128
+ /\b(error|errors|fail(s|ed|ure|ing)?|broken|crash(es|ed|ing)?)\b/i,
129
+ // Test failures
130
+ /\b(test(s)?\s+(fail|failing|failed)|failing\s+test)/i,
131
+ // TypeScript/compilation errors
132
+ /\b(typescript|ts|type)\s+error/i,
133
+ /\bts\(\d+,\d+\)/i, // TS error format like ts(700,45)
134
+ // Remaining/unresolved issues
135
+ /\b(persists?|remains?|still\s+(has|have|is|are|broken|failing))\b/i,
136
+ /\b(unresolved|outstanding|remaining)\s+(error|issue|problem)/i,
137
+ // Explicit incomplete signals
138
+ /\b(didn'?t|did\s+not|couldn'?t|could\s+not|wasn'?t|was\s+not)\s+(work|succeed|complete|finish|pass)/i,
139
+ /\b(skipped|blocked|cannot|unable\s+to)\b/i,
140
+ ];
141
+ /**
142
+ * Check if response contains error indicators that mean work is NOT complete.
143
+ * This is a simple, programmatic check - no complex NLP needed.
144
+ */
145
+ function containsErrorIndicators(content) {
146
+ return ERROR_INDICATOR_PATTERNS.some(p => p.test(content));
147
+ }
148
+ /**
149
+ * Check if response is a genuine completion signal (short, definitive statement).
150
+ * Returns true if the model is signaling it's actually done with the task.
151
+ * IMPORTANT: Returns false if error indicators are present - model should continue.
152
+ */
153
+ function isCompletionSignal(content) {
154
+ const trimmed = content.trim();
155
+ // PROGRAMMATIC: If errors are reported, this is NOT a valid completion
156
+ if (containsErrorIndicators(trimmed)) {
157
+ return false;
158
+ }
159
+ // Very short responses (<50 chars) with completion patterns are genuine signals
160
+ if (trimmed.length < 50) {
161
+ return COMPLETION_SIGNAL_PATTERNS.some(p => p.test(trimmed));
162
+ }
163
+ // Responses asking user for direction are valid stops
164
+ if (/\b(would you like|shall I|want me to|anything else)\b/i.test(trimmed) && trimmed.length < 200) {
165
+ return true;
166
+ }
167
+ // File:line citations indicate concrete work was shown
168
+ const hasCitation = /\b\w+\.(ts|js|tsx|jsx|py|go|rs|java|c|cpp|h|md|json|yaml|yml):\d+\b/.test(trimmed);
169
+ if (hasCitation) {
170
+ return true;
171
+ }
172
+ return false;
173
+ }
174
+ /**
175
+ * PROGRAMMATIC CHECK: After tool calls, should we auto-continue?
176
+ *
177
+ * SIMPLE RULE: After tools, model should ONLY stop if:
178
+ * 1. It asks the user a question (ends with ?)
179
+ * 2. It gives a very short completion (< 80 chars) WITHOUT planning words
180
+ *
181
+ * Everything else = CONTINUE. This is intentionally aggressive.
182
+ * The model should either be DONE (short message) or ASKING (question).
183
+ * Long explanations after tool work = continue to force action.
184
+ */
185
+ function shouldContinueAfterTools(content) {
186
+ const trimmed = content.trim();
187
+ // No content after tools = continue to get results
188
+ if (trimmed.length === 0) {
189
+ return true;
190
+ }
191
+ // ALWAYS CONTINUE: Error indicators mean work isn't done
192
+ if (containsErrorIndicators(trimmed)) {
193
+ return true;
194
+ }
195
+ // ALWAYS CONTINUE: Intent/planning patterns mean model wants to do more
196
+ if (INTENT_WITHOUT_ACTION_PATTERNS.some(p => p.test(trimmed))) {
197
+ return true;
198
+ }
199
+ // VALID STOP: Model asking user a question (ends with ?)
200
+ if (/\?\s*$/.test(trimmed)) {
201
+ return false;
202
+ }
203
+ // VALID STOP: Explicit user-direction phrases
204
+ if (/\b(would you like|shall I|want me to|do you want|should I|what would you prefer)\b/i.test(trimmed)) {
205
+ return false;
206
+ }
207
+ // VALID STOP: Very short completion (< 80 chars) - likely "Done." or similar
208
+ // But ONLY if it doesn't have planning words
209
+ if (trimmed.length < SHORT_COMPLETION_THRESHOLD) {
210
+ const hasPlanningWords = /\b(i'll|i will|let me|i need|i'm going|will now|going to|first|next|now i)\b/i.test(trimmed);
211
+ if (!hasPlanningWords) {
212
+ return false; // Short and not planning = valid completion
213
+ }
214
+ // Short but has planning words = continue
215
+ return true;
216
+ }
217
+ // CONTINUE: Long response after tools = likely narrating/summarizing
218
+ // Force model to either ask a question or give a short completion
219
+ return true;
220
+ }
100
221
  /**
101
222
  * Check if response indicates intent to act without actually acting
102
223
  * This detects when the model says "let me do X" but doesn't call any tools
@@ -112,6 +233,11 @@ function shouldAutoContinue(content, hasToolCalls, hasReasoningContent = false)
112
233
  if (withoutThinking.length === 0) {
113
234
  return false;
114
235
  }
236
+ // PROGRAMMATIC: If response reports errors/failures, auto-continue to fix them
237
+ // This is critical - if model reports "error persists" or "build failed", it should continue
238
+ if (containsErrorIndicators(withoutThinking)) {
239
+ return true;
240
+ }
115
241
  // If model output thinking/reasoning without much content, likely needs prompting
116
242
  if (hasReasoningContent && withoutThinking.length < 30) {
117
243
  return true;
@@ -164,6 +290,11 @@ export class AgentRuntime {
164
290
  lastToolCallSignature = null;
165
291
  repeatedToolCallCount = 0;
166
292
  static MAX_REPEATED_TOOL_CALLS = 3;
293
+ // Behavioral loop detection: track recent tool calls to catch repetitive patterns
294
+ // e.g., calling "execute_bash" with "git status" 5 times even if output differs slightly
295
+ recentToolCalls = [];
296
+ static TOOL_HISTORY_SIZE = 12;
297
+ static BEHAVIORAL_LOOP_THRESHOLD = 4; // Same tool+cmd 4+ times in last 12 = stuck
167
298
  constructor(options) {
168
299
  this.provider = options.provider;
169
300
  this.toolRuntime = options.toolRuntime;
@@ -215,8 +346,9 @@ export class AgentRuntime {
215
346
  if (!prompt) {
216
347
  return '';
217
348
  }
218
- // Reset cancellation flag at start of new request
349
+ // Reset cancellation flag and loop tracking at start of new request
219
350
  this.cancellationRequested = false;
351
+ this.resetBehavioralLoopTracking();
220
352
  // Handle multi-line paste: show summary to user, send full content to AI
221
353
  if (isMultilinePaste(prompt)) {
222
354
  const processed = processPaste(prompt);
@@ -264,7 +396,14 @@ export class AgentRuntime {
264
396
  // Reset recovery attempts on successful generation
265
397
  contextRecoveryAttempts = 0;
266
398
  if (response.type === 'tool_calls') {
267
- // Loop detection: check if same tool calls are being repeated
399
+ // BEHAVIORAL LOOP DETECTION: Check if model is stuck calling same tool repeatedly
400
+ const behavioralLoopResult = this.checkBehavioralLoop(response.toolCalls);
401
+ if (behavioralLoopResult) {
402
+ this.emitAssistantMessage(behavioralLoopResult, { isFinal: true, usage, contextStats });
403
+ this.messages.push({ role: 'assistant', content: behavioralLoopResult });
404
+ return behavioralLoopResult;
405
+ }
406
+ // Loop detection: check if same tool calls are being repeated (exact signature match)
268
407
  const toolSignature = response.toolCalls
269
408
  .map((t) => `${t.name}:${JSON.stringify(t.arguments)}`)
270
409
  .sort()
@@ -299,23 +438,20 @@ export class AgentRuntime {
299
438
  }
300
439
  this.messages.push(assistantMessage);
301
440
  await this.resolveToolCalls(response.toolCalls);
302
- // Check if narrative expresses intent to do MORE work OR gave a premature conclusion
303
- if (this._autoContinueEnabled && narration && autoContinueAttempts < MAX_AUTO_CONTINUE_ATTEMPTS) {
304
- const needsContinue = shouldAutoContinue(narration, false);
305
- const prematureStop = isPrematureConclusion(narration);
306
- if (needsContinue || prematureStop) {
441
+ // PROGRAMMATIC CONTINUATION: After tool work, model must either:
442
+ // 1. Call more tools (already handled by continue above)
443
+ // 2. Give a short completion signal
444
+ // 3. Ask user for direction
445
+ // PROGRAMMATIC: If model outputs narrative instead of concrete findings, continue
446
+ if (this._autoContinueEnabled && autoContinueAttempts < MAX_AUTO_CONTINUE_ATTEMPTS) {
447
+ if (shouldContinueAfterTools(narration ?? '')) {
307
448
  autoContinueAttempts++;
308
- const prompt = prematureStop
309
- ? PREMATURE_CONCLUSION_PROMPT
310
- : AUTO_CONTINUE_PROMPTS[Math.min(autoContinueAttempts - 1, AUTO_CONTINUE_PROMPTS.length - 1)];
449
+ const promptIndex = Math.min(autoContinueAttempts - 1, AUTO_CONTINUE_PROMPTS.length - 1);
311
450
  this.messages.push({
312
451
  role: 'user',
313
- content: prompt,
452
+ content: AUTO_CONTINUE_PROMPTS[promptIndex],
314
453
  });
315
- const message = prematureStop
316
- ? 'Model gave premature summary without concrete findings. Prompting to dig deeper...'
317
- : 'Model expressed intent to continue investigation...';
318
- this.callbacks.onAutoContinue?.(autoContinueAttempts, MAX_AUTO_CONTINUE_ATTEMPTS, message);
454
+ this.callbacks.onAutoContinue?.(autoContinueAttempts, MAX_AUTO_CONTINUE_ATTEMPTS, 'Model narrated instead of completing. Prompting to continue...');
319
455
  continue;
320
456
  }
321
457
  }
@@ -497,7 +633,15 @@ export class AgentRuntime {
497
633
  }
498
634
  // Check if we got tool calls
499
635
  if (toolCalls.length > 0) {
500
- // Loop detection: check if same tool calls are being repeated
636
+ // BEHAVIORAL LOOP DETECTION: Check if model is stuck calling same tool repeatedly
637
+ // This catches patterns like "git status" called 5 times even with slightly different outputs
638
+ const behavioralLoopResult = this.checkBehavioralLoop(toolCalls);
639
+ if (behavioralLoopResult) {
640
+ this.emitAssistantMessage(behavioralLoopResult, { isFinal: true, usage, contextStats, wasStreamed: true });
641
+ this.messages.push({ role: 'assistant', content: behavioralLoopResult });
642
+ return behavioralLoopResult;
643
+ }
644
+ // Loop detection: check if same tool calls are being repeated (exact signature match)
501
645
  const toolSignature = toolCalls
502
646
  .map((t) => `${t.name}:${JSON.stringify(t.arguments)}`)
503
647
  .sort()
@@ -531,18 +675,22 @@ export class AgentRuntime {
531
675
  };
532
676
  this.messages.push(assistantMessage);
533
677
  await this.resolveToolCalls(toolCalls);
534
- // Simple continuation rule: if model called tools AND output text (>10 chars),
535
- // continue UNLESS the response has specific file:line citations indicating completion.
536
- const hasNarration = narration.length > 10;
537
- const hasCitations = /:\d+\b/.test(narration); // Any :123 style citation
538
- if (this._autoContinueEnabled && hasNarration && !hasCitations && autoContinueAttempts < MAX_AUTO_CONTINUE_ATTEMPTS) {
539
- autoContinueAttempts++;
540
- this.messages.push({
541
- role: 'user',
542
- content: 'Continue.',
543
- });
544
- this.callbacks.onAutoContinue?.(autoContinueAttempts, MAX_AUTO_CONTINUE_ATTEMPTS, '');
545
- continue;
678
+ // PROGRAMMATIC CONTINUATION: After tool work, model must either:
679
+ // 1. Call more tools (already handled by continue above)
680
+ // 2. Give a short completion signal
681
+ // 3. Ask user for direction
682
+ // PROGRAMMATIC: If model outputs narrative instead of concrete findings, continue
683
+ if (this._autoContinueEnabled && autoContinueAttempts < MAX_AUTO_CONTINUE_ATTEMPTS) {
684
+ if (shouldContinueAfterTools(narration ?? '')) {
685
+ autoContinueAttempts++;
686
+ const promptIndex = Math.min(autoContinueAttempts - 1, AUTO_CONTINUE_PROMPTS.length - 1);
687
+ this.messages.push({
688
+ role: 'user',
689
+ content: AUTO_CONTINUE_PROMPTS[promptIndex],
690
+ });
691
+ this.callbacks.onAutoContinue?.(autoContinueAttempts, MAX_AUTO_CONTINUE_ATTEMPTS, 'Model narrated instead of completing. Prompting to continue...');
692
+ continue;
693
+ }
546
694
  }
547
695
  // Reset auto-continue counter since model appears to be done
548
696
  autoContinueAttempts = 0;
@@ -568,15 +716,20 @@ export class AgentRuntime {
568
716
  });
569
717
  continue;
570
718
  }
571
- // Simple rule: if text-only response without file:line citations, continue
572
- const hasCitations = /:\d+\b/.test(reply);
573
- if (this._autoContinueEnabled && reply.length > 10 && !hasCitations && autoContinueAttempts < MAX_AUTO_CONTINUE_ATTEMPTS) {
574
- autoContinueAttempts++;
575
- this.emitAssistantMessage(reply, { isFinal: false, usage, contextStats, wasStreamed: true });
576
- this.messages.push({ role: 'assistant', content: reply });
577
- this.messages.push({ role: 'user', content: 'Continue.' });
578
- this.callbacks.onAutoContinue?.(autoContinueAttempts, MAX_AUTO_CONTINUE_ATTEMPTS, '');
579
- continue;
719
+ // PROGRAMMATIC CHECK: Text-only responses after tool work need scrutiny
720
+ // If model outputs substantial narrative without tools, it's likely summarizing
721
+ // Check if this is a genuine completion or a premature summary
722
+ if (this._autoContinueEnabled && autoContinueAttempts < MAX_AUTO_CONTINUE_ATTEMPTS) {
723
+ // Intent patterns still catch "let me X" without tools
724
+ if (shouldAutoContinue(reply, false)) {
725
+ autoContinueAttempts++;
726
+ this.emitAssistantMessage(reply, { isFinal: false, usage, contextStats, wasStreamed: true });
727
+ this.messages.push({ role: 'assistant', content: reply });
728
+ const promptIndex = Math.min(autoContinueAttempts - 1, AUTO_CONTINUE_PROMPTS.length - 1);
729
+ this.messages.push({ role: 'user', content: AUTO_CONTINUE_PROMPTS[promptIndex] });
730
+ this.callbacks.onAutoContinue?.(autoContinueAttempts, MAX_AUTO_CONTINUE_ATTEMPTS, 'Model expressed intent but didn\'t act. Prompting to continue...');
731
+ continue;
732
+ }
580
733
  }
581
734
  // Final message - mark as streamed to avoid double-display in UI
582
735
  if (reply) {
@@ -749,6 +902,88 @@ export class AgentRuntime {
749
902
  model: this.modelId,
750
903
  });
751
904
  }
905
+ /**
906
+ * Extract a "command hash" from tool arguments for behavioral loop detection.
907
+ * For execute_bash, this is the actual command. For other tools, key identifying args.
908
+ */
909
+ extractCmdHash(name, args) {
910
+ // For bash/execute commands, extract the command itself
911
+ if (name === 'execute_bash' || name === 'Bash') {
912
+ const cmd = args['command'];
913
+ if (cmd) {
914
+ // Normalize: trim, take first 100 chars, remove variable parts like timestamps
915
+ return cmd.trim().slice(0, 100).replace(/\d{10,}/g, 'N');
916
+ }
917
+ }
918
+ // For file operations, use the path
919
+ if (name === 'read_file' || name === 'Read' || name === 'read_files') {
920
+ const path = args['path'] || args['file_path'] || args['paths'];
921
+ if (path)
922
+ return `path:${JSON.stringify(path).slice(0, 100)}`;
923
+ }
924
+ if (name === 'list_files' || name === 'Glob') {
925
+ const path = args['path'] || args['pattern'];
926
+ if (path)
927
+ return `path:${JSON.stringify(path).slice(0, 100)}`;
928
+ }
929
+ // For search, use the query/pattern
930
+ if (name === 'Grep' || name === 'grep' || name === 'search') {
931
+ const pattern = args['pattern'] || args['query'];
932
+ if (pattern)
933
+ return `search:${String(pattern).slice(0, 100)}`;
934
+ }
935
+ // Default: use first significant arg value
936
+ const firstArg = Object.values(args)[0];
937
+ if (firstArg) {
938
+ return String(firstArg).slice(0, 100);
939
+ }
940
+ return 'no-args';
941
+ }
942
+ /**
943
+ * Check for behavioral loops - model calling the same tool with similar args repeatedly.
944
+ * Returns an error message if a loop is detected, null otherwise.
945
+ *
946
+ * This catches patterns like:
947
+ * - "git status -sb" called 5 times (same command, different outputs)
948
+ * - Repeated file reads of the same file
949
+ * - Repeated searches with the same pattern
950
+ */
951
+ checkBehavioralLoop(toolCalls) {
952
+ // Track each tool call
953
+ for (const call of toolCalls) {
954
+ const cmdHash = this.extractCmdHash(call.name, call.arguments ?? {});
955
+ this.recentToolCalls.push({ name: call.name, cmdHash });
956
+ }
957
+ // Keep only recent history
958
+ while (this.recentToolCalls.length > AgentRuntime.TOOL_HISTORY_SIZE) {
959
+ this.recentToolCalls.shift();
960
+ }
961
+ // Count occurrences of each tool+cmdHash combination
962
+ const counts = new Map();
963
+ for (const { name, cmdHash } of this.recentToolCalls) {
964
+ const key = `${name}:${cmdHash}`;
965
+ counts.set(key, (counts.get(key) ?? 0) + 1);
966
+ }
967
+ // Check if any combination exceeds threshold
968
+ for (const [key, count] of counts) {
969
+ if (count >= AgentRuntime.BEHAVIORAL_LOOP_THRESHOLD) {
970
+ // Reset history to prevent immediate re-trigger
971
+ this.recentToolCalls = [];
972
+ // Extract the problematic tool name for a helpful message
973
+ const toolName = key.split(':')[0];
974
+ return `Behavioral loop detected: "${toolName}" called ${count} times with similar arguments. The task appears stuck. Please try a different approach or provide more specific instructions.`;
975
+ }
976
+ }
977
+ return null;
978
+ }
979
+ /**
980
+ * Reset behavioral loop tracking (called when user provides new input or task completes)
981
+ */
982
+ resetBehavioralLoopTracking() {
983
+ this.recentToolCalls = [];
984
+ this.lastToolCallSignature = null;
985
+ this.repeatedToolCallCount = 0;
986
+ }
752
987
  getHistory() {
753
988
  return this.messages.map(cloneMessage);
754
989
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
@@ -447,6 +447,7 @@ export declare class InteractiveShell {
447
447
  private handleTerminalSetupCommand;
448
448
  private handleApprovalsCommand;
449
449
  private handlePermissionsCommand;
450
+ private handleUpdateCommand;
450
451
  private handleInitCommand;
451
452
  private handleCompactCommand;
452
453
  private updateActiveSession;