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.
- package/agents/erosolar-code.rules.json +5 -0
- package/dist/capabilities/askUserCapability.js +1 -1
- package/dist/capabilities/askUserCapability.js.map +1 -1
- package/dist/headless/evalMode.d.ts.map +1 -1
- package/dist/headless/evalMode.js +0 -6
- package/dist/headless/evalMode.js.map +1 -1
- package/dist/headless/headlessApp.d.ts.map +1 -1
- package/dist/headless/headlessApp.js +0 -6
- package/dist/headless/headlessApp.js.map +1 -1
- package/dist/mcp/sseClient.d.ts +1 -4
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +2 -36
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/mcp/stdioClient.d.ts +1 -4
- package/dist/mcp/stdioClient.d.ts.map +1 -1
- package/dist/mcp/stdioClient.js +1 -41
- package/dist/mcp/stdioClient.js.map +1 -1
- package/dist/mcp/toolBridge.d.ts +0 -3
- package/dist/mcp/toolBridge.d.ts.map +1 -1
- package/dist/mcp/toolBridge.js +2 -2
- package/dist/mcp/toolBridge.js.map +1 -1
- package/dist/mcp/types.d.ts +0 -18
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/shell/interactiveShell.d.ts +24 -14
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +167 -79
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +8 -9
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/ui/PromptController.d.ts +0 -6
- package/dist/ui/PromptController.d.ts.map +1 -1
- package/dist/ui/PromptController.js +0 -3
- package/dist/ui/PromptController.js.map +1 -1
- package/dist/ui/ShellUIAdapter.d.ts +6 -0
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +40 -12
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/UnifiedUIController.d.ts +2 -1
- package/dist/ui/UnifiedUIController.d.ts.map +1 -1
- package/dist/ui/UnifiedUIController.js +1 -0
- package/dist/ui/UnifiedUIController.js.map +1 -1
- package/dist/ui/UnifiedUIRenderer.d.ts +53 -6
- package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
- package/dist/ui/UnifiedUIRenderer.js +571 -72
- package/dist/ui/UnifiedUIRenderer.js.map +1 -1
- package/dist/ui/display.d.ts +4 -2
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +7 -8
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/orchestration/StatusOrchestrator.d.ts +1 -1
- package/dist/ui/orchestration/StatusOrchestrator.js +1 -1
- package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +2 -2
- package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
- package/dist/ui/orchestration/UIUpdateCoordinator.js +1 -1
- package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
- package/dist/ui/unified/index.d.ts +2 -0
- package/dist/ui/unified/index.d.ts.map +1 -1
- package/dist/ui/unified/index.js +4 -0
- package/dist/ui/unified/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/codex/capabilities/codexCoreCapability.d.ts +0 -6
- package/dist/codex/capabilities/codexCoreCapability.d.ts.map +0 -1
- package/dist/codex/capabilities/codexCoreCapability.js +0 -516
- package/dist/codex/capabilities/codexCoreCapability.js.map +0 -1
- package/dist/codex/fs.d.ts +0 -4
- package/dist/codex/fs.d.ts.map +0 -1
- package/dist/codex/fs.js +0 -25
- package/dist/codex/fs.js.map +0 -1
- package/dist/codex/persistence/planStore.d.ts +0 -4
- package/dist/codex/persistence/planStore.d.ts.map +0 -1
- package/dist/codex/persistence/planStore.js +0 -59
- package/dist/codex/persistence/planStore.js.map +0 -1
- package/dist/codex/pluginAllowlist.d.ts +0 -4
- package/dist/codex/pluginAllowlist.d.ts.map +0 -1
- package/dist/codex/pluginAllowlist.js +0 -14
- package/dist/codex/pluginAllowlist.js.map +0 -1
- package/dist/codex/types.d.ts +0 -21
- package/dist/codex/types.d.ts.map +0 -1
- package/dist/codex/types.js +0 -62
- 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
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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']) {
|