erosolar-cli 2.1.231 → 2.1.235
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-security.rules.json +84 -0
- package/config/security-deployment.json +10 -9
- package/dist/bin/cliMode.d.ts +12 -0
- package/dist/bin/cliMode.d.ts.map +1 -0
- package/dist/bin/cliMode.js +27 -0
- package/dist/bin/cliMode.js.map +1 -0
- package/dist/bin/erosolar.js +47 -46
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/capabilities/index.d.ts +1 -0
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +1 -0
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/taoCapability.d.ts +13 -0
- package/dist/capabilities/taoCapability.d.ts.map +1 -0
- package/dist/capabilities/taoCapability.js +20 -0
- package/dist/capabilities/taoCapability.js.map +1 -0
- package/dist/contracts/agent-profiles.schema.json +16 -0
- package/dist/contracts/tools.schema.json +12 -0
- package/dist/core/agent.d.ts +6 -0
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +22 -0
- package/dist/core/agent.js.map +1 -1
- package/dist/core/agentOrchestrator.d.ts +9 -13
- package/dist/core/agentOrchestrator.d.ts.map +1 -1
- package/dist/core/agentOrchestrator.js +237 -107
- package/dist/core/agentOrchestrator.js.map +1 -1
- package/dist/core/baseToolFactory.d.ts +187 -0
- package/dist/core/baseToolFactory.d.ts.map +1 -0
- package/dist/core/baseToolFactory.js +352 -0
- package/dist/core/baseToolFactory.js.map +1 -0
- package/dist/core/constants.d.ts +5 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +5 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/errors/index.d.ts +50 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +156 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/safetyValidator.d.ts.map +1 -1
- package/dist/core/errors/safetyValidator.js +6 -137
- package/dist/core/errors/safetyValidator.js.map +1 -1
- package/dist/headless/headlessApp.d.ts.map +1 -1
- package/dist/headless/headlessApp.js +2 -15
- package/dist/headless/headlessApp.js.map +1 -1
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/plugins/tools/tao/taoPlugin.d.ts +3 -0
- package/dist/plugins/tools/tao/taoPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/tao/taoPlugin.js +14 -0
- package/dist/plugins/tools/tao/taoPlugin.js.map +1 -0
- package/dist/providers/baseProvider.d.ts +148 -0
- package/dist/providers/baseProvider.d.ts.map +1 -0
- package/dist/providers/baseProvider.js +284 -0
- package/dist/providers/baseProvider.js.map +1 -0
- package/dist/shell/commandRegistry.d.ts +122 -0
- package/dist/shell/commandRegistry.d.ts.map +1 -0
- package/dist/shell/commandRegistry.js +371 -0
- package/dist/shell/commandRegistry.js.map +1 -0
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +2 -15
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +2 -13
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/tao/index.d.ts +28 -0
- package/dist/tools/tao/index.d.ts.map +1 -0
- package/dist/tools/tao/index.js +33 -0
- package/dist/tools/tao/index.js.map +1 -0
- package/dist/tools/tao/intentParser.d.ts +9 -0
- package/dist/tools/tao/intentParser.d.ts.map +1 -0
- package/dist/tools/tao/intentParser.js +163 -0
- package/dist/tools/tao/intentParser.js.map +1 -0
- package/dist/tools/tao/rlEngine.d.ts +40 -0
- package/dist/tools/tao/rlEngine.d.ts.map +1 -0
- package/dist/tools/tao/rlEngine.js +237 -0
- package/dist/tools/tao/rlEngine.js.map +1 -0
- package/dist/tools/tao/sessionState.d.ts +9 -0
- package/dist/tools/tao/sessionState.d.ts.map +1 -0
- package/dist/tools/tao/sessionState.js +18 -0
- package/dist/tools/tao/sessionState.js.map +1 -0
- package/dist/tools/tao/types.d.ts +109 -0
- package/dist/tools/tao/types.d.ts.map +1 -0
- package/dist/tools/tao/types.js +5 -0
- package/dist/tools/tao/types.js.map +1 -0
- package/dist/tools/tao/verification.d.ts +23 -0
- package/dist/tools/tao/verification.d.ts.map +1 -0
- package/dist/tools/tao/verification.js +211 -0
- package/dist/tools/tao/verification.js.map +1 -0
- package/dist/tools/taoTools.d.ts +23 -0
- package/dist/tools/taoTools.d.ts.map +1 -0
- package/dist/tools/taoTools.js +14501 -0
- package/dist/tools/taoTools.js.map +1 -0
- package/dist/ui/UnifiedUIRenderer.d.ts +5 -0
- package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
- package/dist/ui/UnifiedUIRenderer.js +49 -21
- package/dist/ui/UnifiedUIRenderer.js.map +1 -1
- package/dist/ui/animation/AnimationScheduler.d.ts +5 -0
- package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -1
- package/dist/ui/animation/AnimationScheduler.js +9 -1
- package/dist/ui/animation/AnimationScheduler.js.map +1 -1
- package/dist/ui/index.d.ts +102 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +120 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/interrupts/InterruptManager.d.ts +16 -1
- package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -1
- package/dist/ui/interrupts/InterruptManager.js +68 -6
- package/dist/ui/interrupts/InterruptManager.js.map +1 -1
- package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +18 -0
- package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
- package/dist/ui/orchestration/UIUpdateCoordinator.js +64 -5
- package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
- package/dist/utils/packageInfo.d.ts +14 -0
- package/dist/utils/packageInfo.d.ts.map +1 -0
- package/dist/utils/packageInfo.js +45 -0
- package/dist/utils/packageInfo.js.map +1 -0
- package/package.json +3 -3
- package/scripts/deploy-security-capabilities.js +157 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TASK_FULLY_COMPLETE } from './constants.js';
|
|
1
2
|
import { TaskCompletionDetector } from './taskCompletionDetector.js';
|
|
2
3
|
/**
|
|
3
4
|
* Single-pass orchestration: drive the agent to finish as much as possible
|
|
@@ -13,7 +14,7 @@ export class AgentOrchestrator {
|
|
|
13
14
|
const enforceActions = options?.enforceActions ?? true;
|
|
14
15
|
const verificationMode = options?.verificationMode ?? 'auto';
|
|
15
16
|
const singlePassFocus = options?.singlePassFocus ?? true;
|
|
16
|
-
const maxAttempts = Math.max(1, options?.maxAttempts ??
|
|
17
|
+
const maxAttempts = Math.max(1, options?.maxAttempts ?? 6);
|
|
17
18
|
const completionDetector = new TaskCompletionDetector();
|
|
18
19
|
const contextualGuidance = this.buildContextualGuidance(request);
|
|
19
20
|
const attempts = [];
|
|
@@ -46,11 +47,10 @@ export class AgentOrchestrator {
|
|
|
46
47
|
attempts.push(attempt);
|
|
47
48
|
finalAttempt = attempt;
|
|
48
49
|
exitReason = attempt.exitReason;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (
|
|
53
|
-
maxAttemptsHit = true;
|
|
50
|
+
// Single exit check - combines completion and limit detection
|
|
51
|
+
maxAttemptsHit = attempts.length >= maxAttempts;
|
|
52
|
+
const continueRun = this.shouldContinue(attempts, maxAttempts);
|
|
53
|
+
if (!continueRun || maxAttemptsHit) {
|
|
54
54
|
break;
|
|
55
55
|
}
|
|
56
56
|
nextPrompt = this.buildContinuationPrompt(request, attempt, attempts.length + 1, enforceActions, contextualGuidance);
|
|
@@ -78,6 +78,10 @@ export class AgentOrchestrator {
|
|
|
78
78
|
if (analysis.empty) {
|
|
79
79
|
return 'empty-response';
|
|
80
80
|
}
|
|
81
|
+
// AI safety refusal - terminal state, do not retry
|
|
82
|
+
if (analysis.refusal) {
|
|
83
|
+
return 'refusal';
|
|
84
|
+
}
|
|
81
85
|
if (analysis.blocked) {
|
|
82
86
|
return 'blocked';
|
|
83
87
|
}
|
|
@@ -111,20 +115,85 @@ export class AgentOrchestrator {
|
|
|
111
115
|
return { summary, limitations, recommendations };
|
|
112
116
|
}
|
|
113
117
|
/**
|
|
114
|
-
* Generate
|
|
115
|
-
*
|
|
118
|
+
* Generate comprehensive insight summary for user transparency.
|
|
119
|
+
* Shows what was done, what might be incomplete, and potential concerns.
|
|
116
120
|
*/
|
|
117
|
-
async generateInsightSummary(
|
|
118
|
-
// Get the actual conversation history for real context
|
|
121
|
+
async generateInsightSummary(_request, _response, toolsUsed, exitReason, attemptsCount, maxAttemptsHit, completion, attempts) {
|
|
119
122
|
const history = this.agent.getHistory();
|
|
120
|
-
const
|
|
121
|
-
//
|
|
122
|
-
|
|
123
|
+
const ctx = this.extractContextAndLimitations(history, toolsUsed, attempts);
|
|
124
|
+
// Build comprehensive summary sections
|
|
125
|
+
const sections = [];
|
|
126
|
+
// 1. What was done - key findings and actions
|
|
127
|
+
if (ctx.keyFindings.length > 0) {
|
|
128
|
+
const findings = ctx.keyFindings.slice(0, 3).join('; ');
|
|
129
|
+
sections.push(`Done: ${findings}`);
|
|
130
|
+
}
|
|
131
|
+
// 2. Tool execution summary
|
|
132
|
+
const allTools = attempts.flatMap(a => a.toolExecutions);
|
|
133
|
+
const successfulTools = allTools.filter(t => t.success);
|
|
134
|
+
const failedTools = allTools.filter(t => !t.success);
|
|
135
|
+
if (allTools.length > 0) {
|
|
136
|
+
const toolSummary = [];
|
|
137
|
+
if (successfulTools.length > 0) {
|
|
138
|
+
const uniqueTools = [...new Set(successfulTools.map(t => t.name))];
|
|
139
|
+
toolSummary.push(`${successfulTools.length} tool calls (${uniqueTools.slice(0, 4).join(', ')}${uniqueTools.length > 4 ? '...' : ''})`);
|
|
140
|
+
}
|
|
141
|
+
if (failedTools.length > 0) {
|
|
142
|
+
toolSummary.push(`${failedTools.length} failed`);
|
|
143
|
+
}
|
|
144
|
+
if (toolSummary.length > 0) {
|
|
145
|
+
sections.push(`Tools: ${toolSummary.join(', ')}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else if (toolsUsed.length === 0) {
|
|
149
|
+
sections.push('Tools: none used (response may be ungrounded)');
|
|
150
|
+
}
|
|
151
|
+
// 3. Verification status
|
|
152
|
+
const verifyParts = [];
|
|
153
|
+
if (ctx.ranTests)
|
|
154
|
+
verifyParts.push('tests ran');
|
|
155
|
+
if (ctx.hasVerification && !ctx.ranTests)
|
|
156
|
+
verifyParts.push('build checked');
|
|
157
|
+
if (ctx.madeEdits && !ctx.ranTests)
|
|
158
|
+
verifyParts.push('edits NOT tested');
|
|
159
|
+
if (ctx.hasErrors)
|
|
160
|
+
verifyParts.push('ERRORS detected');
|
|
161
|
+
if (ctx.hasWarnings)
|
|
162
|
+
verifyParts.push('warnings present');
|
|
163
|
+
if (verifyParts.length > 0) {
|
|
164
|
+
sections.push(`Status: ${verifyParts.join(', ')}`);
|
|
165
|
+
}
|
|
166
|
+
// 4. Completion status and concerns
|
|
167
|
+
const concerns = [];
|
|
168
|
+
if (maxAttemptsHit && exitReason !== 'complete') {
|
|
169
|
+
concerns.push(`stopped after ${attemptsCount} attempts (may be incomplete)`);
|
|
170
|
+
}
|
|
171
|
+
if (exitReason === 'incomplete') {
|
|
172
|
+
concerns.push('task may not be fully complete');
|
|
173
|
+
}
|
|
174
|
+
if (completion.shouldVerify) {
|
|
175
|
+
concerns.push('manual verification recommended');
|
|
176
|
+
}
|
|
177
|
+
// 5. Honest limitations - what AI cannot guarantee
|
|
178
|
+
if (ctx.limitations.length > 0) {
|
|
179
|
+
const limitationsStr = ctx.limitations.slice(0, 3).join(', ');
|
|
180
|
+
concerns.push(limitationsStr);
|
|
181
|
+
}
|
|
182
|
+
// Add concerns section if any
|
|
183
|
+
if (concerns.length > 0) {
|
|
184
|
+
sections.push(`Note: ${concerns.join('; ')}`);
|
|
185
|
+
}
|
|
186
|
+
// 6. Potential hallucination warning for ungrounded responses
|
|
187
|
+
if (toolsUsed.length === 0 && !ctx.hasVerification) {
|
|
188
|
+
sections.push('⚠️ No tool verification - response based on model knowledge only');
|
|
189
|
+
}
|
|
190
|
+
// Return null only for clean, verified completions
|
|
191
|
+
if (sections.length === 0 ||
|
|
192
|
+
(exitReason === 'complete' && !completion.shouldVerify &&
|
|
193
|
+
ctx.hasVerification && !ctx.hasErrors && ctx.limitations.length === 0)) {
|
|
123
194
|
return null;
|
|
124
195
|
}
|
|
125
|
-
|
|
126
|
-
const insight = await this.buildIntelligentInsight(request, exitReason, maxAttemptsHit, completion, context);
|
|
127
|
-
return insight;
|
|
196
|
+
return sections.join(' | ');
|
|
128
197
|
}
|
|
129
198
|
/**
|
|
130
199
|
* Extract context AND limitations from the run.
|
|
@@ -181,128 +250,122 @@ export class AgentOrchestrator {
|
|
|
181
250
|
}
|
|
182
251
|
}
|
|
183
252
|
}
|
|
184
|
-
//
|
|
253
|
+
// Intelligent limitation analysis - context-aware reasoning about what could go wrong
|
|
254
|
+
const toolNames = allTools.map(t => t.name);
|
|
255
|
+
const assistantMessages = relevant.filter(m => m.role === 'assistant').map(m => String(m.content || ''));
|
|
256
|
+
const lastAssistant = assistantMessages[assistantMessages.length - 1] || '';
|
|
257
|
+
// 1. Verification gaps
|
|
185
258
|
if (!ranTests) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
259
|
+
if (madeEdits) {
|
|
260
|
+
limitations.push('code edits made but no tests executed - behavior unverified');
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
limitations.push('no automated tests ran');
|
|
264
|
+
}
|
|
190
265
|
}
|
|
191
266
|
if (madeEdits && !hasVerification) {
|
|
192
|
-
limitations.push('no build
|
|
267
|
+
limitations.push('no build or lint check performed after edits');
|
|
193
268
|
}
|
|
269
|
+
// 2. Tool execution concerns
|
|
194
270
|
if (toolsUsed.length === 0) {
|
|
195
|
-
limitations.push('
|
|
271
|
+
limitations.push('response not grounded in tool execution - may contain assumptions');
|
|
196
272
|
}
|
|
197
|
-
|
|
198
|
-
|
|
273
|
+
const failedToolNames = allTools.filter(t => !t.success).map(t => t.name);
|
|
274
|
+
if (failedToolNames.length > 0) {
|
|
275
|
+
const unique = [...new Set(failedToolNames)];
|
|
276
|
+
limitations.push(`${unique.length} tool(s) failed: ${unique.slice(0, 3).join(', ')}${unique.length > 3 ? '...' : ''}`);
|
|
199
277
|
}
|
|
200
|
-
//
|
|
278
|
+
// 3. Potential hallucination indicators
|
|
279
|
+
if (lastAssistant) {
|
|
280
|
+
// Check for speculative language suggesting uncertainty
|
|
281
|
+
if (/\b(might|may|could|possibly|probably|likely|assume|guess|think)\b/i.test(lastAssistant)) {
|
|
282
|
+
if (!/\b(definitely|confirmed|verified|tested|checked)\b/i.test(lastAssistant)) {
|
|
283
|
+
limitations.push('response contains speculative language - verify claims');
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// Check for claims without tool evidence
|
|
287
|
+
if (/\b(fixed|resolved|completed|works now)\b/i.test(lastAssistant) && !ranTests && !hasVerification) {
|
|
288
|
+
limitations.push('completion claimed without verification - manually confirm');
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
// 4. Edge case and scope concerns
|
|
201
292
|
if (madeEdits) {
|
|
202
|
-
//
|
|
293
|
+
// Analyze edit scope
|
|
294
|
+
const editCount = allTools.filter(t => ['edit', 'edit_file', 'write', 'write_file'].includes(t.name) && t.success).length;
|
|
295
|
+
if (editCount > 3) {
|
|
296
|
+
limitations.push(`${editCount} files edited - review each for correctness`);
|
|
297
|
+
}
|
|
203
298
|
if (!ranTests) {
|
|
204
|
-
limitations.push('
|
|
299
|
+
limitations.push('edge cases and error handling paths untested');
|
|
205
300
|
}
|
|
206
301
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
// Build context summary for LLM
|
|
215
|
-
const statusParts = [];
|
|
216
|
-
if (context.hasErrors)
|
|
217
|
-
statusParts.push('errors occurred');
|
|
218
|
-
if (context.hasWarnings)
|
|
219
|
-
statusParts.push('warnings present');
|
|
220
|
-
if (context.madeEdits)
|
|
221
|
-
statusParts.push('files edited');
|
|
222
|
-
if (context.ranTests)
|
|
223
|
-
statusParts.push('tests ran');
|
|
224
|
-
if (!context.hasVerification)
|
|
225
|
-
statusParts.push('no verification');
|
|
226
|
-
if (maxAttemptsHit && exitReason !== 'complete')
|
|
227
|
-
statusParts.push('stopped early');
|
|
228
|
-
const prompt = `Analyze this AI task run and provide ONE concise sentence insight for a developer.
|
|
229
|
-
Be specific about what happened, what worked/failed, and any limitations.
|
|
230
|
-
|
|
231
|
-
Task: ${this.truncateForPrompt(request, 120)}
|
|
232
|
-
Exit: ${exitReason}
|
|
233
|
-
Status: ${statusParts.join(', ') || 'completed'}
|
|
234
|
-
${context.keyFindings.length > 0 ? `Findings:\n${context.keyFindings.slice(0, 5).join('\n')}` : ''}
|
|
235
|
-
${context.limitations.length > 0 ? `Limitations: ${context.limitations.join(', ')}` : ''}
|
|
236
|
-
|
|
237
|
-
Reply with ONLY one sentence (no preamble, no "Here is", no quotes). Be honest about gaps.`;
|
|
238
|
-
try {
|
|
239
|
-
const insight = await this.agent.send(prompt, false);
|
|
240
|
-
this.agent.drainToolExecutions();
|
|
241
|
-
return this.extractCoreSentence(insight);
|
|
302
|
+
// 5. Security and production concerns
|
|
303
|
+
if (toolNames.includes('bash')) {
|
|
304
|
+
const bashOutputs = relevant.filter(m => m.role === 'tool').map(m => String(m.content || ''));
|
|
305
|
+
const hasSensitiveOps = bashOutputs.some(o => /\b(rm -rf|chmod 777|sudo|password|secret|token|key=)\b/i.test(o));
|
|
306
|
+
if (hasSensitiveOps) {
|
|
307
|
+
limitations.push('sensitive operations detected - review security implications');
|
|
308
|
+
}
|
|
242
309
|
}
|
|
243
|
-
|
|
244
|
-
|
|
310
|
+
// 6. Incomplete task indicators
|
|
311
|
+
if (hasErrors && !keyFindings.some(f => /fixed|resolved/i.test(f))) {
|
|
312
|
+
limitations.push('errors detected but not explicitly resolved');
|
|
245
313
|
}
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* Extract core sentence from LLM response.
|
|
249
|
-
*/
|
|
250
|
-
extractCoreSentence(text) {
|
|
251
|
-
if (!text)
|
|
252
|
-
return null;
|
|
253
|
-
const cleaned = text
|
|
254
|
-
.replace(/```[\s\S]*?```/g, '')
|
|
255
|
-
.replace(/\*\*([^*]+)\*\*/g, '$1')
|
|
256
|
-
.replace(/^[\s\S]*?(?:insight|key|outcome|issue|note):\s*/i, '')
|
|
257
|
-
.replace(/\s+/g, ' ')
|
|
258
|
-
.trim();
|
|
259
|
-
// Get first real sentence, skip meta-sentences
|
|
260
|
-
const sentences = cleaned.split(/(?<=[.!?])\s+/);
|
|
261
|
-
for (const s of sentences) {
|
|
262
|
-
if (/^(here|this|the key|based on|looking)/i.test(s))
|
|
263
|
-
continue;
|
|
264
|
-
if (s.length >= 15 && s.length <= 120)
|
|
265
|
-
return s.trim();
|
|
266
|
-
}
|
|
267
|
-
if (cleaned.length > 100) {
|
|
268
|
-
return cleaned.slice(0, 97) + '...';
|
|
269
|
-
}
|
|
270
|
-
return cleaned || null;
|
|
271
|
-
}
|
|
272
|
-
truncateForPrompt(text, maxLength = 800) {
|
|
273
|
-
if (!text)
|
|
274
|
-
return '';
|
|
275
|
-
const trimmed = text.trim();
|
|
276
|
-
if (trimmed.length <= maxLength)
|
|
277
|
-
return trimmed;
|
|
278
|
-
return `${trimmed.slice(0, maxLength - 3)}...`;
|
|
314
|
+
return { keyFindings, hasErrors, hasWarnings, hasVerification, ranTests, madeEdits, limitations };
|
|
279
315
|
}
|
|
280
316
|
buildSinglePassPrompt(originalRequest, enforceActions, contextualGuidance) {
|
|
281
317
|
const actionLine = enforceActions
|
|
282
|
-
? '- Use tools to complete the task.'
|
|
318
|
+
? '- Use tools to complete the task. Act immediately instead of re-planning.'
|
|
283
319
|
: '- Provide your best response.';
|
|
284
320
|
const guidanceBlock = this.formatContextualGuidance(contextualGuidance);
|
|
285
321
|
return `${originalRequest.trim()}
|
|
286
322
|
|
|
287
323
|
${actionLine}
|
|
288
324
|
- Finish as much as possible now.
|
|
325
|
+
- Favor direct execution over additional planning.
|
|
326
|
+
- Run quick verification (tests/build) when claiming completion.
|
|
289
327
|
- Show outputs as evidence.
|
|
290
328
|
- End with TASK_FULLY_COMPLETE when done.${guidanceBlock}`;
|
|
291
329
|
}
|
|
292
|
-
shouldContinue(
|
|
293
|
-
|
|
294
|
-
|
|
330
|
+
shouldContinue(attempts, maxAttempts) {
|
|
331
|
+
if (!attempts.length) {
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
const latest = attempts[attempts.length - 1];
|
|
335
|
+
const exitReason = latest.exitReason;
|
|
336
|
+
if (attempts.length >= maxAttempts) {
|
|
295
337
|
return false;
|
|
296
338
|
}
|
|
339
|
+
// AI safety refusal - never retry, respect the model's decision
|
|
340
|
+
if (exitReason === 'refusal') {
|
|
341
|
+
return false;
|
|
342
|
+
}
|
|
343
|
+
// Allow recovery attempts for common failure modes before giving up
|
|
344
|
+
if (exitReason === 'no-action') {
|
|
345
|
+
const noActionAttempts = attempts.filter((a) => a.exitReason === 'no-action').length;
|
|
346
|
+
return noActionAttempts < 2;
|
|
347
|
+
}
|
|
348
|
+
if (exitReason === 'verification-needed') {
|
|
349
|
+
const verificationAttempts = attempts.filter((a) => a.exitReason === 'verification-needed').length;
|
|
350
|
+
return verificationAttempts < 2;
|
|
351
|
+
}
|
|
352
|
+
if (exitReason === 'empty-response') {
|
|
353
|
+
const emptyResponses = attempts.filter((a) => a.exitReason === 'empty-response').length;
|
|
354
|
+
return emptyResponses < 2;
|
|
355
|
+
}
|
|
356
|
+
if (exitReason === 'blocked') {
|
|
357
|
+
const blockedResponses = attempts.filter((a) => a.exitReason === 'blocked').length;
|
|
358
|
+
return blockedResponses < 2;
|
|
359
|
+
}
|
|
297
360
|
// Detect repetition loops - if last 3 attempts had no new tool usage, stop
|
|
298
|
-
if (attempts.length >= 3) {
|
|
361
|
+
if (exitReason === 'incomplete' && attempts.length >= 3) {
|
|
299
362
|
const recentAttempts = attempts.slice(-3);
|
|
300
363
|
const allNoTools = recentAttempts.every(a => a.toolsUsed.length === 0);
|
|
301
364
|
if (allNoTools) {
|
|
302
365
|
return false; // Stuck in a loop with no progress
|
|
303
366
|
}
|
|
304
367
|
}
|
|
305
|
-
return
|
|
368
|
+
return exitReason === 'incomplete';
|
|
306
369
|
}
|
|
307
370
|
buildContinuationPrompt(originalRequest, attempt, nextAttemptNumber, enforceActions, contextualGuidance) {
|
|
308
371
|
const actionLine = enforceActions
|
|
@@ -313,17 +376,46 @@ ${actionLine}
|
|
|
313
376
|
? `Tools used: ${attempt.toolsUsed.join(', ')}.`
|
|
314
377
|
: '';
|
|
315
378
|
const guidanceBlock = this.formatContextualGuidance(contextualGuidance);
|
|
379
|
+
const recoveryGuidance = this.buildRecoveryGuidance(attempt);
|
|
380
|
+
const recoveryBlock = recoveryGuidance.length
|
|
381
|
+
? `\nRecovery focus:\n${recoveryGuidance.map((line) => `- ${line}`).join('\n')}`
|
|
382
|
+
: '';
|
|
316
383
|
return `${originalRequest.trim()}
|
|
317
384
|
|
|
318
385
|
Pass ${nextAttemptNumber}: ${reason}
|
|
319
386
|
${toolContext}
|
|
320
387
|
${actionLine}
|
|
321
|
-
- End with TASK_FULLY_COMPLETE when done.${guidanceBlock}`;
|
|
388
|
+
- End with TASK_FULLY_COMPLETE when done.${guidanceBlock}${recoveryBlock}`;
|
|
389
|
+
}
|
|
390
|
+
buildRecoveryGuidance(attempt) {
|
|
391
|
+
const guidance = [];
|
|
392
|
+
if (attempt.exitReason === 'no-action' || attempt.analysis.planOnly || !attempt.analysis.tookAction) {
|
|
393
|
+
guidance.push('Skip more planning; call tools now (read/search -> edit/run checks).');
|
|
394
|
+
}
|
|
395
|
+
if (attempt.exitReason === 'verification-needed') {
|
|
396
|
+
guidance.push('Run verification now (tests/build) and include the output before stopping.');
|
|
397
|
+
}
|
|
398
|
+
if (attempt.exitReason === 'empty-response') {
|
|
399
|
+
guidance.push('Provide a substantive update with tool calls and outputs; previous reply was empty.');
|
|
400
|
+
}
|
|
401
|
+
if (attempt.exitReason === 'blocked') {
|
|
402
|
+
guidance.push('Proceed with available context without asking for more input; use tools to unblock.');
|
|
403
|
+
}
|
|
404
|
+
const failedTools = attempt.toolExecutions.filter((tool) => !tool.success).map((tool) => tool.name);
|
|
405
|
+
if (failedTools.length > 0) {
|
|
406
|
+
const uniqueFailed = Array.from(new Set(failedTools));
|
|
407
|
+
guidance.push(`Retry failed tools with fixes or alternatives (${uniqueFailed.join(', ')}).`);
|
|
408
|
+
}
|
|
409
|
+
return guidance;
|
|
322
410
|
}
|
|
323
411
|
buildContextualGuidance(request) {
|
|
324
412
|
const normalized = request.toLowerCase();
|
|
325
413
|
const guidance = [];
|
|
326
414
|
guidance.push('Ground responses in actual code; read files before suggesting changes.');
|
|
415
|
+
const isLargePaste = normalized.length > 4000 || normalized.split('\n').length > 120;
|
|
416
|
+
if (isLargePaste) {
|
|
417
|
+
guidance.push('Work directly with the provided long input; avoid asking for more detail and act on it.');
|
|
418
|
+
}
|
|
327
419
|
const bugSweep = /\bbugs?\b|\bdefects?\b|\bissues?\b|\bbug\s+report\b/.test(normalized);
|
|
328
420
|
if (bugSweep) {
|
|
329
421
|
guidance.push('Search broadly for related issues.');
|
|
@@ -332,6 +424,10 @@ ${actionLine}
|
|
|
332
424
|
if (needsUnderstanding) {
|
|
333
425
|
guidance.push('Skim project structure before detailed analysis.');
|
|
334
426
|
}
|
|
427
|
+
const securityWork = /\b(pentest|red\s*team|offensive|exploit|attack|apt|threat|recon|scan|payload|shell|persistence|tao|security testing)\b/.test(normalized);
|
|
428
|
+
if (securityWork) {
|
|
429
|
+
guidance.push('For security/offensive tasks use the TAO suite (TaoOps for NL planning; KineticOps/Recon/Fuzz/Payload/Persist/Hash/NetCraft for execution) and show evidence.');
|
|
430
|
+
}
|
|
335
431
|
return guidance;
|
|
336
432
|
}
|
|
337
433
|
formatContextualGuidance(guidance) {
|
|
@@ -348,6 +444,12 @@ ${actionLine}
|
|
|
348
444
|
return attempt.completion.reason
|
|
349
445
|
? `verification was requested (${attempt.completion.reason}).`
|
|
350
446
|
: 'verification was requested.';
|
|
447
|
+
case 'empty-response':
|
|
448
|
+
return 'previous response was empty or non-substantive.';
|
|
449
|
+
case 'blocked':
|
|
450
|
+
return 'model reported being blocked; continue with available context and tools.';
|
|
451
|
+
case 'refusal':
|
|
452
|
+
return 'request was declined.';
|
|
351
453
|
case 'incomplete':
|
|
352
454
|
default:
|
|
353
455
|
return attempt.completion.reason
|
|
@@ -365,6 +467,7 @@ ${actionLine}
|
|
|
365
467
|
const completionContradiction = this.hasCompletionContradiction(trimmed);
|
|
366
468
|
const continuing = this.hasContinuingSignal(trimmed);
|
|
367
469
|
const blocked = this.isBlockedResponse(trimmed);
|
|
470
|
+
const refusal = this.isRefusalResponse(trimmed);
|
|
368
471
|
const tooLight = wordCount < 80;
|
|
369
472
|
const substantiveAnswer = this.hasSubstantiveAnswer(trimmed, {
|
|
370
473
|
planOnly,
|
|
@@ -385,6 +488,7 @@ ${actionLine}
|
|
|
385
488
|
tookAction,
|
|
386
489
|
readyToStop,
|
|
387
490
|
blocked,
|
|
491
|
+
refusal,
|
|
388
492
|
};
|
|
389
493
|
}
|
|
390
494
|
isPlanOnly(response) {
|
|
@@ -412,7 +516,7 @@ ${actionLine}
|
|
|
412
516
|
hasExplicitCompletion(response) {
|
|
413
517
|
if (!response.trim())
|
|
414
518
|
return false;
|
|
415
|
-
if (response.includes(
|
|
519
|
+
if (response.includes(TASK_FULLY_COMPLETE))
|
|
416
520
|
return true;
|
|
417
521
|
const completionPatterns = [
|
|
418
522
|
/\btask(s)? (is|are)?\s*complete\b/i,
|
|
@@ -425,7 +529,7 @@ ${actionLine}
|
|
|
425
529
|
}
|
|
426
530
|
hasCompletionContradiction(response) {
|
|
427
531
|
// Skip contradiction check if TASK_FULLY_COMPLETE is present - explicit marker takes precedence
|
|
428
|
-
if (response.includes(
|
|
532
|
+
if (response.includes(TASK_FULLY_COMPLETE)) {
|
|
429
533
|
return false;
|
|
430
534
|
}
|
|
431
535
|
const contradictions = [
|
|
@@ -490,6 +594,32 @@ ${actionLine}
|
|
|
490
594
|
];
|
|
491
595
|
return patterns.some((pattern) => pattern.test(response));
|
|
492
596
|
}
|
|
597
|
+
/**
|
|
598
|
+
* Detects AI safety refusals - when the model declines to help with a request.
|
|
599
|
+
* These are terminal states that should not be retried.
|
|
600
|
+
*/
|
|
601
|
+
isRefusalResponse(response) {
|
|
602
|
+
if (!response.trim())
|
|
603
|
+
return false;
|
|
604
|
+
const patterns = [
|
|
605
|
+
// Direct refusals
|
|
606
|
+
/\b(i\s+)?(can'?t|cannot|won'?t|will\s+not)\s+(help|assist|do\s+that|provide|comply|support)\b/i,
|
|
607
|
+
/\bi'?m\s+(not\s+able|unable)\s+to\s+(help|assist|do\s+that|provide)\b/i,
|
|
608
|
+
/\bi\s+(refuse|decline)\s+to\b/i,
|
|
609
|
+
/\bsorry[,.]?\s+(but\s+)?(i\s+)?(can'?t|cannot|won'?t|am\s+not\s+able)\b/i,
|
|
610
|
+
// Harmful/dangerous content refusals
|
|
611
|
+
/\b(harmful|dangerous|illegal|unethical|malicious|destructive)\s+(content|request|activity)\b/i,
|
|
612
|
+
/\bagainst\s+(my|the)\s+(guidelines|policies|principles|ethics)\b/i,
|
|
613
|
+
/\bviolates?\s+(my|the)?\s*(guidelines|policies|terms|safety)\b/i,
|
|
614
|
+
/\bnot\s+(designed|intended|programmed|able)\s+to\s+(help|assist)\s+with\b/i,
|
|
615
|
+
// Safety/ethics language
|
|
616
|
+
/\b(ethical|safety|responsible)\s+(concerns?|guidelines?|reasons?)\b/i,
|
|
617
|
+
/\bcould\s+(cause|lead\s+to)\s+(harm|damage|injury)\b/i,
|
|
618
|
+
// DeepSeek specific patterns
|
|
619
|
+
/\bI'm an AI assistant.{0,50}(cannot|won't|can't)\b/i,
|
|
620
|
+
];
|
|
621
|
+
return patterns.some((pattern) => pattern.test(response));
|
|
622
|
+
}
|
|
493
623
|
wordCount(text) {
|
|
494
624
|
if (!text.trim())
|
|
495
625
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentOrchestrator.js","sourceRoot":"","sources":["../../src/core/agentOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentOrchestrator.js","sourceRoot":"","sources":["../../src/core/agentOrchestrator.ts"],"names":[],"mappings":"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"}
|