erosolar-cli 2.1.173 → 2.1.175

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 (81) hide show
  1. package/agents/erosolar-code.rules.json +5 -0
  2. package/dist/capabilities/askUserCapability.js +1 -1
  3. package/dist/capabilities/askUserCapability.js.map +1 -1
  4. package/dist/headless/evalMode.d.ts.map +1 -1
  5. package/dist/headless/evalMode.js +0 -6
  6. package/dist/headless/evalMode.js.map +1 -1
  7. package/dist/headless/headlessApp.d.ts.map +1 -1
  8. package/dist/headless/headlessApp.js +0 -6
  9. package/dist/headless/headlessApp.js.map +1 -1
  10. package/dist/mcp/sseClient.d.ts +1 -4
  11. package/dist/mcp/sseClient.d.ts.map +1 -1
  12. package/dist/mcp/sseClient.js +2 -36
  13. package/dist/mcp/sseClient.js.map +1 -1
  14. package/dist/mcp/stdioClient.d.ts +1 -4
  15. package/dist/mcp/stdioClient.d.ts.map +1 -1
  16. package/dist/mcp/stdioClient.js +1 -41
  17. package/dist/mcp/stdioClient.js.map +1 -1
  18. package/dist/mcp/toolBridge.d.ts +0 -3
  19. package/dist/mcp/toolBridge.d.ts.map +1 -1
  20. package/dist/mcp/toolBridge.js +2 -2
  21. package/dist/mcp/toolBridge.js.map +1 -1
  22. package/dist/mcp/types.d.ts +0 -18
  23. package/dist/mcp/types.d.ts.map +1 -1
  24. package/dist/shell/interactiveShell.d.ts +24 -14
  25. package/dist/shell/interactiveShell.d.ts.map +1 -1
  26. package/dist/shell/interactiveShell.js +167 -79
  27. package/dist/shell/interactiveShell.js.map +1 -1
  28. package/dist/shell/shellApp.d.ts.map +1 -1
  29. package/dist/shell/shellApp.js +8 -9
  30. package/dist/shell/shellApp.js.map +1 -1
  31. package/dist/ui/PromptController.d.ts +0 -6
  32. package/dist/ui/PromptController.d.ts.map +1 -1
  33. package/dist/ui/PromptController.js +0 -3
  34. package/dist/ui/PromptController.js.map +1 -1
  35. package/dist/ui/ShellUIAdapter.d.ts +6 -0
  36. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  37. package/dist/ui/ShellUIAdapter.js +40 -12
  38. package/dist/ui/ShellUIAdapter.js.map +1 -1
  39. package/dist/ui/UnifiedUIController.d.ts +2 -1
  40. package/dist/ui/UnifiedUIController.d.ts.map +1 -1
  41. package/dist/ui/UnifiedUIController.js +1 -0
  42. package/dist/ui/UnifiedUIController.js.map +1 -1
  43. package/dist/ui/UnifiedUIRenderer.d.ts +53 -6
  44. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  45. package/dist/ui/UnifiedUIRenderer.js +571 -72
  46. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  47. package/dist/ui/display.d.ts +4 -2
  48. package/dist/ui/display.d.ts.map +1 -1
  49. package/dist/ui/display.js +7 -8
  50. package/dist/ui/display.js.map +1 -1
  51. package/dist/ui/orchestration/StatusOrchestrator.d.ts +1 -1
  52. package/dist/ui/orchestration/StatusOrchestrator.js +1 -1
  53. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +2 -2
  54. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
  55. package/dist/ui/orchestration/UIUpdateCoordinator.js +1 -1
  56. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
  57. package/dist/ui/unified/index.d.ts +2 -0
  58. package/dist/ui/unified/index.d.ts.map +1 -1
  59. package/dist/ui/unified/index.js +4 -0
  60. package/dist/ui/unified/index.js.map +1 -1
  61. package/package.json +2 -2
  62. package/dist/codex/capabilities/codexCoreCapability.d.ts +0 -6
  63. package/dist/codex/capabilities/codexCoreCapability.d.ts.map +0 -1
  64. package/dist/codex/capabilities/codexCoreCapability.js +0 -516
  65. package/dist/codex/capabilities/codexCoreCapability.js.map +0 -1
  66. package/dist/codex/fs.d.ts +0 -4
  67. package/dist/codex/fs.d.ts.map +0 -1
  68. package/dist/codex/fs.js +0 -25
  69. package/dist/codex/fs.js.map +0 -1
  70. package/dist/codex/persistence/planStore.d.ts +0 -4
  71. package/dist/codex/persistence/planStore.d.ts.map +0 -1
  72. package/dist/codex/persistence/planStore.js +0 -59
  73. package/dist/codex/persistence/planStore.js.map +0 -1
  74. package/dist/codex/pluginAllowlist.d.ts +0 -4
  75. package/dist/codex/pluginAllowlist.d.ts.map +0 -1
  76. package/dist/codex/pluginAllowlist.js +0 -14
  77. package/dist/codex/pluginAllowlist.js.map +0 -1
  78. package/dist/codex/types.d.ts +0 -21
  79. package/dist/codex/types.d.ts.map +0 -1
  80. package/dist/codex/types.js +0 -62
  81. package/dist/codex/types.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import type { ProfileName } from '../config.js';
2
2
  import type { AgentProfileBlueprint } from '../core/agentProfiles.js';
3
- import type { CodexContext } from '../codex/types.js';
4
3
  import { AgentSession, type ModelSelection } from '../runtime/agentSession.js';
5
4
  import { LiveStatusTracker } from './liveStatus.js';
6
5
  import { type WorkspaceCaptureOptions } from '../workspace.js';
@@ -20,7 +19,6 @@ export interface ShellConfig {
20
19
  enabledPlugins?: string[];
21
20
  version?: string;
22
21
  alternateScreen?: boolean;
23
- codexContext?: CodexContext;
24
22
  }
25
23
  export interface SessionRestoreConfig {
26
24
  mode: 'none' | 'autosave' | 'session-id';
@@ -36,7 +34,6 @@ export declare class InteractiveShell {
36
34
  private readonly profile;
37
35
  private readonly profileLabel;
38
36
  private readonly workingDir;
39
- private readonly codexContext?;
40
37
  private readonly runtimeSession;
41
38
  private baseSystemPrompt;
42
39
  private workspaceOptions;
@@ -82,9 +79,7 @@ export declare class InteractiveShell {
82
79
  private readonly sessionPreferences;
83
80
  private autosaveEnabled;
84
81
  private verificationEnabled;
85
- private networkEnabled;
86
82
  private criticalApprovalMode;
87
- private codexApprovalForced;
88
83
  private editGuardMode;
89
84
  private pendingPermissionInput;
90
85
  private suppressNextNetworkReset;
@@ -103,6 +98,7 @@ export declare class InteractiveShell {
103
98
  private autoTestInFlight;
104
99
  private currentTaskType;
105
100
  private currentToolCalls;
101
+ private toolsUsedThisRun;
106
102
  private lastUserQuery;
107
103
  private lastAssistantResponse;
108
104
  private responseRendered;
@@ -133,7 +129,6 @@ export declare class InteractiveShell {
133
129
  private readonly version;
134
130
  private readonly alternateScreenEnabled;
135
131
  private welcomeShown;
136
- private guardrailBannerShown;
137
132
  private readonly renderer;
138
133
  private pendingMessages;
139
134
  constructor(config: ShellConfig);
@@ -146,10 +141,6 @@ export declare class InteractiveShell {
146
141
  private describeSessionLabel;
147
142
  private describeEditGuardMode;
148
143
  private abbreviatePath;
149
- private shouldForceApprovalMode;
150
- private getGuardrailMeta;
151
- private describePlanPath;
152
- private maybeShowCodexGuardrails;
153
144
  private checkAndShowUpdates;
154
145
  private describeUpdateSkipReason;
155
146
  private getPackageInfo;
@@ -209,10 +200,6 @@ export declare class InteractiveShell {
209
200
  private setVerificationMode;
210
201
  private toggleCriticalApprovalMode;
211
202
  private setCriticalApprovalMode;
212
- /**
213
- * Toggle network access on/off (Ctrl+Shift+N shortcut).
214
- */
215
- private toggleNetworkAccess;
216
203
  /**
217
204
  * Expand the last tool result (Ctrl+O shortcut).
218
205
  * Shows the full output from the most recent tool call.
@@ -379,6 +366,20 @@ export declare class InteractiveShell {
379
366
  * These commands run until the task is complete or user interrupts
380
367
  */
381
368
  private isContinuousCommand;
369
+ /**
370
+ * Detects actionable requests that should auto-run until completion even without explicit cues.
371
+ * Filters out obvious questions and informational prompts to avoid over-triggering.
372
+ */
373
+ private shouldAutoRunToCompletion;
374
+ /**
375
+ * Decide whether to automatically continue execution when the model stops after a plan/summary
376
+ * without taking actions. This keeps flows moving toward completion instead of stalling on planning.
377
+ */
378
+ private shouldAutoEscalateToExecution;
379
+ /**
380
+ * Build a follow-through request when the model stops after planning instead of executing.
381
+ */
382
+ private maybeAutoFollowThrough;
382
383
  private isExitCommand;
383
384
  /**
384
385
  * Check if the request is a self-improvement task
@@ -509,6 +510,15 @@ export declare class InteractiveShell {
509
510
  * Context is automatically managed - overflow errors trigger auto-recovery.
510
511
  */
511
512
  private processContinuousRequest;
513
+ /**
514
+ * Resolve executed tools for the current turn. Prefer the actual tool
515
+ * execution callbacks; fall back to parsing the response when unavailable.
516
+ */
517
+ private getExecutedTools;
518
+ /**
519
+ * Detect plan-only responses that narrate intent without executing actions.
520
+ */
521
+ private isPlanOnlyResponse;
512
522
  /**
513
523
  * Check if a response contains indicators that work is actually incomplete,
514
524
  * even if it also contains TASK_FULLY_COMPLETE marker.
@@ -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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"}
@@ -17,7 +17,7 @@ import { detectPromptBlockError, } from '../core/errors/promptBlockErrors.js';
17
17
  import { detectNetworkError } from '../core/errors/networkErrors.js';
18
18
  import { buildWorkspaceContext } from '../workspace.js';
19
19
  import { buildInteractiveSystemPrompt } from './systemPrompt.js';
20
- import { getTaskCompletionDetector, resetTaskCompletionDetector, } from './taskCompletionDetector.js';
20
+ import { getTaskCompletionDetector, resetTaskCompletionDetector, WRITE_TOOLS, } from './taskCompletionDetector.js';
21
21
  import { discoverAllModels, quickCheckProviders, getCachedDiscoveredModels, sortModelsByPriority } from '../core/modelDiscovery.js';
22
22
  import { getModels, getSlashCommands, getProviders } from '../core/agentSchemaLoader.js';
23
23
  import { loadMcpServers } from '../mcp/config.js';
@@ -85,12 +85,15 @@ const CONTEXT_CLEANUP_SYSTEM_PROMPT = `Summarize earlier IDE collaboration so th
85
85
  - Respond in plain Markdown only (no tool or shell calls).`;
86
86
  const MAX_ATTACHMENT_BYTES = 200 * 1024; // 200KB per attachment
87
87
  const MAX_ATTACHMENT_CHARS = 16000; // Guardrail to avoid flooding context
88
+ const WRITE_TOOL_NAMES = new Set(Array.from(WRITE_TOOLS)
89
+ .map((tool) => tool.toLowerCase())
90
+ // Bash/execute commands can be read-only; guard only on clear mutating tools
91
+ .filter((tool) => !tool.includes('bash') && !tool.startsWith('execute')));
88
92
  export class InteractiveShell {
89
93
  agent = null;
90
94
  profile;
91
95
  profileLabel;
92
96
  workingDir;
93
- codexContext;
94
97
  runtimeSession;
95
98
  baseSystemPrompt;
96
99
  workspaceOptions;
@@ -136,9 +139,7 @@ export class InteractiveShell {
136
139
  sessionPreferences;
137
140
  autosaveEnabled;
138
141
  verificationEnabled = false;
139
- networkEnabled = true; // Default to enabled, toggled via Ctrl+Shift+N
140
142
  criticalApprovalMode = 'auto';
141
- codexApprovalForced = false;
142
143
  editGuardMode = 'display-edits';
143
144
  pendingPermissionInput = null;
144
145
  suppressNextNetworkReset = false;
@@ -160,6 +161,7 @@ export class InteractiveShell {
160
161
  // AlphaZero learning tracking
161
162
  currentTaskType = 'general';
162
163
  currentToolCalls = [];
164
+ toolsUsedThisRun = [];
163
165
  lastUserQuery = '';
164
166
  lastAssistantResponse = null;
165
167
  responseRendered = false;
@@ -193,7 +195,6 @@ export class InteractiveShell {
193
195
  version;
194
196
  alternateScreenEnabled;
195
197
  welcomeShown = false;
196
- guardrailBannerShown = false;
197
198
  renderer;
198
199
  // Message queue for streaming mode coordination - prevents race conditions
199
200
  pendingMessages = [];
@@ -201,7 +202,6 @@ export class InteractiveShell {
201
202
  this.profile = config.profile;
202
203
  this.profileLabel = config.profileLabel;
203
204
  this.workingDir = config.workingDir;
204
- this.codexContext = config.codexContext;
205
205
  this.runtimeSession = config.session;
206
206
  this.baseSystemPrompt = config.baseSystemPrompt;
207
207
  this.workspaceOptions = { ...config.workspaceOptions };
@@ -209,10 +209,6 @@ export class InteractiveShell {
209
209
  this.thinkingMode = this.sessionPreferences.thinkingMode;
210
210
  this.autosaveEnabled = this.sessionPreferences.autosave;
211
211
  this.criticalApprovalMode = this.sessionPreferences.criticalApprovalMode;
212
- if (this.codexContext && this.shouldForceApprovalMode(this.codexContext.approvalPolicy)) {
213
- this.criticalApprovalMode = 'approval';
214
- this.codexApprovalForced = true;
215
- }
216
212
  const featureFlags = loadFeatureFlags();
217
213
  this.verificationEnabled = featureFlags.verification === true;
218
214
  this.sessionRestoreConfig = config.sessionRestore ?? { mode: 'none' };
@@ -313,7 +309,6 @@ export class InteractiveShell {
313
309
  onClearContext: () => this.handleClearContext(),
314
310
  onToggleCriticalApproval: () => this.toggleCriticalApprovalMode('shortcut'),
315
311
  onExpandToolResult: () => this.expandLastToolResult(),
316
- onToggleNetwork: () => this.toggleNetworkAccess(),
317
312
  });
318
313
  // Share renderer with Display so all output flows through the unified queue
319
314
  this.renderer = this.terminalInput.getRenderer();
@@ -517,52 +512,6 @@ export class InteractiveShell {
517
512
  }
518
513
  return pathValue;
519
514
  }
520
- shouldForceApprovalMode(policy) {
521
- return policy === 'on-request' || policy === 'untrusted' || policy === 'never';
522
- }
523
- getGuardrailMeta() {
524
- if (!this.codexContext) {
525
- return {};
526
- }
527
- const approvals = this.codexContext.approvalPolicy === 'on-request' || this.codexContext.approvalPolicy === 'untrusted'
528
- ? 'ask'
529
- : this.codexContext.approvalPolicy === 'never'
530
- ? 'never'
531
- : 'auto';
532
- const sandbox = this.codexContext.sandboxMode === 'workspace-write'
533
- ? 'workspace'
534
- : this.codexContext.sandboxMode === 'danger-full-access'
535
- ? 'danger'
536
- : this.codexContext.sandboxMode;
537
- // Use runtime networkEnabled state (defaults to true, toggled via Ctrl+Shift+N)
538
- const network = this.networkEnabled ? 'enabled' : 'restricted';
539
- return { sandbox, network, approvals };
540
- }
541
- describePlanPath() {
542
- const planPath = join(this.workingDir, '.erosolar', 'codex', 'plan.json');
543
- const relative = planPath.startsWith(this.workingDir) && planPath.length > this.workingDir.length
544
- ? planPath.slice(this.workingDir.length + 1)
545
- : planPath;
546
- return this.abbreviatePath(relative);
547
- }
548
- maybeShowCodexGuardrails() {
549
- if (!this.codexContext || this.guardrailBannerShown) {
550
- return;
551
- }
552
- const meta = this.getGuardrailMeta();
553
- const lines = [];
554
- lines.push(`Guardrails: sandbox ${meta.sandbox ?? 'workspace'} Ā· network ${meta.network ?? 'restricted'} Ā· approvals ${meta.approvals ?? 'auto'}`);
555
- lines.push('Flow: plan before edits, targeted reads, one in-progress step, validate once at the end.');
556
- const planPath = this.describePlanPath();
557
- if (planPath) {
558
- lines.push(`Plan file: ${planPath}`);
559
- }
560
- if (this.codexApprovalForced) {
561
- lines.push('Approval mode set to ask per environment policy.');
562
- }
563
- this.streamEventBlock(lines.join('\n'));
564
- this.guardrailBannerShown = true;
565
- }
566
515
  async checkAndShowUpdates() {
567
516
  try {
568
517
  const { checkForUpdates, getUpdateDecision, formatUpdateBanner, performBackgroundUpdate, readAutoUpdateState, shouldShowUpdateNotification, } = await import('../core/updateChecker.js');
@@ -680,7 +629,6 @@ export class InteractiveShell {
680
629
  this.terminalInput.start();
681
630
  this.resetRendererStreamingMode();
682
631
  await this.showWelcomeBanner();
683
- this.maybeShowCodexGuardrails();
684
632
  // Now refresh control bar with profile/model/version info
685
633
  this.refreshControlBar();
686
634
  // Now sync renderer and control bar state
@@ -951,17 +899,6 @@ export class InteractiveShell {
951
899
  : 'šŸ›”ļø High-impact actions now require your approval. (Ctrl+Shift+A to toggle; use /approvals ask to persist)';
952
900
  display.showSystemMessage(message);
953
901
  }
954
- /**
955
- * Toggle network access on/off (Ctrl+Shift+N shortcut).
956
- */
957
- toggleNetworkAccess() {
958
- this.networkEnabled = !this.networkEnabled;
959
- this.refreshControlBar();
960
- const message = this.networkEnabled
961
- ? '🌐 Network access enabled. (Ctrl+Shift+N to toggle)'
962
- : 'šŸ”’ Network access disabled. (Ctrl+Shift+N to toggle)';
963
- display.showSystemMessage(message);
964
- }
965
902
  /**
966
903
  * Expand the last tool result (Ctrl+O shortcut).
967
904
  * Shows the full output from the most recent tool call.
@@ -1712,13 +1649,9 @@ export class InteractiveShell {
1712
1649
  thinkingHotkey: 'tab',
1713
1650
  criticalApprovalMode: this.criticalApprovalMode,
1714
1651
  criticalApprovalHotkey: 'ctrl+shift+a',
1715
- networkEnabled: this.networkEnabled,
1716
- networkHotkey: 'ctrl+shift+n',
1717
1652
  });
1718
1653
  const workspaceDisplay = this.abbreviatePath(this.workingDir);
1719
- const guardrails = this.getGuardrailMeta();
1720
1654
  this.terminalInput.setChromeMeta({
1721
- ...guardrails,
1722
1655
  profile: this.profileLabel,
1723
1656
  workspace: workspaceDisplay,
1724
1657
  directory: workspaceDisplay,
@@ -2338,8 +2271,13 @@ export class InteractiveShell {
2338
2271
  await this.processSlashCommand(trimmed);
2339
2272
  return;
2340
2273
  }
2341
- // Check for continuous/infinite loop commands
2342
- if (this.isContinuousCommand(trimmed)) {
2274
+ // Check for continuous/infinite loop commands or auto-escalation to completion mode
2275
+ const explicitContinuous = this.isContinuousCommand(trimmed);
2276
+ const autoContinuous = this.shouldAutoRunToCompletion(trimmed);
2277
+ if (explicitContinuous || autoContinuous) {
2278
+ if (autoContinuous && !explicitContinuous) {
2279
+ display.showSystemMessage('⚔ Actionable request detected; running continuously until complete (Ctrl+C to stop).');
2280
+ }
2343
2281
  await this.processContinuousRequest(trimmed);
2344
2282
  this.syncRendererInput();
2345
2283
  return;
@@ -2361,6 +2299,90 @@ export class InteractiveShell {
2361
2299
  ];
2362
2300
  return patterns.some(pattern => pattern.test(lower));
2363
2301
  }
2302
+ /**
2303
+ * Detects actionable requests that should auto-run until completion even without explicit cues.
2304
+ * Filters out obvious questions and informational prompts to avoid over-triggering.
2305
+ */
2306
+ shouldAutoRunToCompletion(input) {
2307
+ const normalized = input.trim().toLowerCase();
2308
+ if (!normalized) {
2309
+ return false;
2310
+ }
2311
+ const isQuestion = /\?$/.test(normalized);
2312
+ const startsWithInfoWord = /^(what|why|how|when|where|who|which|can|could|would|should|is|are|do|does|did)\b/.test(normalized);
2313
+ // Multi-step maintenance/cleanup intents (order-agnostic to catch "junk to remove?" cases)
2314
+ const maintenancePatterns = [
2315
+ /\b(clean\s*up|cleanup|tidy|prune|trim|housekeep|housekeeping|sanitize)\b/,
2316
+ /\b(junk|unused|dead|legacy|obsolete|temp|tmp|artifact|artifacts|cache|trash)\b.*\b(remove|delete|strip|drop|purge|clear|clean)\b/,
2317
+ /\b(remove|delete|strip|drop|purge|clear|clean)\b.*\b(junk|unused|dead|legacy|obsolete|temp|tmp|artifact|artifacts|cache|trash)\b/,
2318
+ ];
2319
+ const strongMaintenanceIntent = maintenancePatterns.some((pattern) => pattern.test(normalized));
2320
+ // General action intent in a code context
2321
+ const actionVerb = /\b(fix|resolve|address|refactor|implement|upgrade|migrate|optimi[sz]e|modernize|stabilize|harden|ship|complete|finish|clean|remove|delete|prune|tidy|audit|cleanup)\b/;
2322
+ const codeContext = /\b(repo|codebase|project|app|service|package|module|component|workspace|cli|tests?|source|files?|artifacts?)\b/;
2323
+ const strongActionIntent = actionVerb.test(normalized) && codeContext.test(normalized) && normalized.length > 20;
2324
+ // Allow maintenance/refactor tasks to auto-run even if phrased as questions ("got any junk to remove?")
2325
+ if (strongMaintenanceIntent || strongActionIntent) {
2326
+ // But still avoid purely informational questions like "what is this repo?"
2327
+ if (startsWithInfoWord && !strongMaintenanceIntent) {
2328
+ return false;
2329
+ }
2330
+ return true;
2331
+ }
2332
+ return false;
2333
+ }
2334
+ /**
2335
+ * Decide whether to automatically continue execution when the model stops after a plan/summary
2336
+ * without taking actions. This keeps flows moving toward completion instead of stalling on planning.
2337
+ */
2338
+ shouldAutoEscalateToExecution(request, response, toolsUsed) {
2339
+ // Only auto-escalate when the original request itself was action-oriented
2340
+ if (!this.shouldAutoRunToCompletion(request)) {
2341
+ return false;
2342
+ }
2343
+ if (!response || response.includes('TASK_FULLY_COMPLETE')) {
2344
+ return false;
2345
+ }
2346
+ const lower = response.toLowerCase();
2347
+ // Skip if the model explicitly says it is blocked
2348
+ const blockerPatterns = [
2349
+ /\bneed(s)?\s+(more\s+)?(info|information|details|clarification)\b/,
2350
+ /\bmissing\s+(api\s*key|credentials?|access|permission|token)\b/,
2351
+ /\b(no|not)\s+authorized\b/,
2352
+ /\bcannot\s+(proceed|continue|start|run)\b/,
2353
+ /\bblocked\b/,
2354
+ ];
2355
+ if (blockerPatterns.some((pattern) => pattern.test(lower))) {
2356
+ return false;
2357
+ }
2358
+ const mutatingToolUsed = toolsUsed.some((tool) => WRITE_TOOL_NAMES.has(tool.toLowerCase()));
2359
+ const planOnly = this.isPlanOnlyResponse(response);
2360
+ const lowActionDensity = response.split(/\s+/).length < 80;
2361
+ // If it's clearly a plan-only response, continue regardless of prior tool usage
2362
+ if (planOnly) {
2363
+ return true;
2364
+ }
2365
+ // Thin responses without any mutating work should keep pushing toward completion
2366
+ if (!mutatingToolUsed && lowActionDensity) {
2367
+ return true;
2368
+ }
2369
+ return false;
2370
+ }
2371
+ /**
2372
+ * Build a follow-through request when the model stops after planning instead of executing.
2373
+ */
2374
+ maybeAutoFollowThrough(request, response, toolsUsed) {
2375
+ if (!this.shouldAutoEscalateToExecution(request, response, toolsUsed)) {
2376
+ return null;
2377
+ }
2378
+ const prompt = `${request.trim()}
2379
+
2380
+ Execute the plan you outlined. Use the available tools (bash, edits, git) to take the next actions and keep going until the request is fully accomplished. Do not restate the plan—perform the steps and report progress. Reply with TASK_FULLY_COMPLETE only when the work is truly done.`;
2381
+ return {
2382
+ prompt,
2383
+ reason: 'Plan-only or low-action response detected; auto-continuing to complete the task.',
2384
+ };
2385
+ }
2364
2386
  isExitCommand(input) {
2365
2387
  const lower = input.trim().toLowerCase();
2366
2388
  return (lower === 'exit' ||
@@ -5823,6 +5845,8 @@ export class InteractiveShell {
5823
5845
  if (!agent) {
5824
5846
  return;
5825
5847
  }
5848
+ this.toolsUsedThisRun = [];
5849
+ this.currentToolCalls = [];
5826
5850
  this.runtimeSession.toolRuntime.clearDiffSnapshots?.();
5827
5851
  if (this.suppressNextNetworkReset) {
5828
5852
  this.suppressNextNetworkReset = false;
@@ -5857,6 +5881,7 @@ export class InteractiveShell {
5857
5881
  this.setProcessingStatus();
5858
5882
  this.beginAiRuntime();
5859
5883
  let responseText = '';
5884
+ let autoFollowThrough = null;
5860
5885
  try {
5861
5886
  // Start streaming - no header needed, the input area already provides context
5862
5887
  this.startStreamingHeartbeat('Streaming response');
@@ -5872,13 +5897,14 @@ export class InteractiveShell {
5872
5897
  display.showWarning('The provider returned an empty response. Check your API key/provider selection or retry the prompt.');
5873
5898
  }
5874
5899
  // AlphaZero: Extract and track tool calls from response
5875
- const toolsUsed = this.extractToolsFromResponse(responseText);
5900
+ const toolsUsed = this.getExecutedTools(responseText);
5876
5901
  this.currentToolCalls = toolsUsed.map(name => ({
5877
5902
  name,
5878
5903
  arguments: {},
5879
5904
  success: true, // Assume success if we got here
5880
5905
  duration: 0,
5881
5906
  }));
5907
+ autoFollowThrough = this.maybeAutoFollowThrough(request, responseText, toolsUsed);
5882
5908
  // AlphaZero: Check for failure in response
5883
5909
  const failure = detectFailure(responseText, {
5884
5910
  toolCalls: this.currentToolCalls,
@@ -5937,6 +5963,11 @@ export class InteractiveShell {
5937
5963
  this.updateToolUsageMeta(this.uiAdapter.getToolUsageSummary({ plain: true }));
5938
5964
  this.setIdleStatus();
5939
5965
  this.updateStatusMessage(null);
5966
+ if (autoFollowThrough) {
5967
+ display.showSystemMessage(`šŸ” Auto-follow-through: ${autoFollowThrough.reason}`);
5968
+ this.enqueueFollowUpAction({ type: 'continuous', text: autoFollowThrough.prompt });
5969
+ }
5970
+ this.toolsUsedThisRun = [];
5940
5971
  queueMicrotask(() => this.uiUpdates.setMode('idle'));
5941
5972
  // CRITICAL: Ensure readline prompt is active for user input
5942
5973
  // Erosolar-CLI style: New prompt naturally appears at bottom
@@ -5974,6 +6005,8 @@ export class InteractiveShell {
5974
6005
  if (!agent) {
5975
6006
  return;
5976
6007
  }
6008
+ this.toolsUsedThisRun = [];
6009
+ this.currentToolCalls = [];
5977
6010
  this.lastUserQuery = initialRequest;
5978
6011
  this.clearToolUsageMeta();
5979
6012
  this.isProcessing = true;
@@ -6026,6 +6059,7 @@ When truly finished with ALL tasks, explicitly state "TASK_FULLY_COMPLETE".`;
6026
6059
  }
6027
6060
  while (iteration < MAX_ITERATIONS) {
6028
6061
  iteration++;
6062
+ this.toolsUsedThisRun = [];
6029
6063
  display.showSystemMessage(`\nšŸ“ Iteration ${iteration}/${MAX_ITERATIONS}`);
6030
6064
  this.updateStatusMessage(`Working on iteration ${iteration}...`);
6031
6065
  try {
@@ -6049,8 +6083,7 @@ The previous reply was empty. Resume the task now: take the next action, call th
6049
6083
  continue;
6050
6084
  }
6051
6085
  // Extract tools used from the response (look for tool call patterns)
6052
- const toolsUsed = this.extractToolsFromResponse(response);
6053
- completionDetector.recordToolCall.bind(completionDetector);
6086
+ const toolsUsed = this.getExecutedTools(response);
6054
6087
  toolsUsed.forEach(tool => completionDetector.recordToolCall(tool, true, true));
6055
6088
  // Use intelligent completion detection
6056
6089
  const completionAnalysis = completionDetector.analyzeCompletion(response, toolsUsed);
@@ -6182,6 +6215,7 @@ What's the next action?`;
6182
6215
  this.updateToolUsageMeta(this.uiAdapter.getToolUsageSummary({ plain: true }));
6183
6216
  this.setIdleStatus();
6184
6217
  this.updateStatusMessage(null);
6218
+ this.toolsUsedThisRun = [];
6185
6219
  queueMicrotask(() => this.uiUpdates.setMode('idle'));
6186
6220
  // CRITICAL: Ensure readline prompt is active for user input
6187
6221
  // Erosolar-CLI style: New prompt naturally appears at bottom
@@ -6191,6 +6225,59 @@ What's the next action?`;
6191
6225
  this.refreshQueueIndicators();
6192
6226
  }
6193
6227
  }
6228
+ /**
6229
+ * Resolve executed tools for the current turn. Prefer the actual tool
6230
+ * execution callbacks; fall back to parsing the response when unavailable.
6231
+ */
6232
+ getExecutedTools(responseText) {
6233
+ if (this.toolsUsedThisRun.length) {
6234
+ const seen = new Set();
6235
+ const ordered = [];
6236
+ for (const tool of this.toolsUsedThisRun) {
6237
+ const normalized = tool?.trim();
6238
+ if (!normalized || seen.has(normalized)) {
6239
+ continue;
6240
+ }
6241
+ seen.add(normalized);
6242
+ ordered.push(normalized);
6243
+ }
6244
+ return ordered;
6245
+ }
6246
+ return this.extractToolsFromResponse(responseText);
6247
+ }
6248
+ /**
6249
+ * Detect plan-only responses that narrate intent without executing actions.
6250
+ */
6251
+ isPlanOnlyResponse(response) {
6252
+ const normalized = response.trim().toLowerCase();
6253
+ if (!normalized) {
6254
+ return false;
6255
+ }
6256
+ // If the assistant is clearly declaring completion, don't treat it as plan-only
6257
+ const completionGuards = [
6258
+ /\bnothing\s+(left|else)\s+(to\s+do|pending)\b/i,
6259
+ /\b(already|now)\s+(clean|complete|done)\b/i,
6260
+ /\b(no\s+(junk|issues?|changes?)\s+found)\b/i,
6261
+ ];
6262
+ if (completionGuards.some((pattern) => pattern.test(response))) {
6263
+ return false;
6264
+ }
6265
+ const planIndicators = [
6266
+ /\bplan\b/i,
6267
+ /\bapproach\b/i,
6268
+ /\bsteps?:\b/i,
6269
+ /\bstep\s+1\b/i,
6270
+ /\bstart by\b/i,
6271
+ /\bfirst[, ]/i,
6272
+ /\bthen\b/i,
6273
+ /\bnext\b/i,
6274
+ /\bi['’]?\s*will\b/i,
6275
+ /\bi['’]?\s*ll\b/i,
6276
+ /\bi['’]?\s*can\b.{0,40}\bthen\b/i,
6277
+ /\bi['’]?\s*(?:will|ll)\s+begin\b/i,
6278
+ ];
6279
+ return planIndicators.some((pattern) => pattern.test(response));
6280
+ }
6194
6281
  /**
6195
6282
  * Check if a response contains indicators that work is actually incomplete,
6196
6283
  * even if it also contains TASK_FULLY_COMPLETE marker.
@@ -6882,7 +6969,7 @@ Return ONLY JSON array:
6882
6969
  display.showSystemMessage(`⚔ Context Recovery (${attempt}/${maxAttempts}): ${message}`);
6883
6970
  },
6884
6971
  onContextPruned: (removedCount, stats) => {
6885
- // Clear context squish status if active
6972
+ // Clear squish overlay if active
6886
6973
  this.statusTracker.clearOverride('context-squish');
6887
6974
  // Show notification that context was pruned
6888
6975
  const method = stats['method'];
@@ -6914,6 +7001,7 @@ Return ONLY JSON array:
6914
7001
  onToolExecution: (toolName, isStart, args) => {
6915
7002
  // Update activity status to show what tool is being executed
6916
7003
  if (isStart) {
7004
+ this.toolsUsedThisRun.push(toolName);
6917
7005
  // Show more specific activity for long-running tools
6918
7006
  let activity = `Running ${toolName}`;
6919
7007
  if (toolName === 'execute_bash' && args?.['command']) {