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.
Files changed (119) hide show
  1. package/agents/erosolar-security.rules.json +84 -0
  2. package/config/security-deployment.json +10 -9
  3. package/dist/bin/cliMode.d.ts +12 -0
  4. package/dist/bin/cliMode.d.ts.map +1 -0
  5. package/dist/bin/cliMode.js +27 -0
  6. package/dist/bin/cliMode.js.map +1 -0
  7. package/dist/bin/erosolar.js +47 -46
  8. package/dist/bin/erosolar.js.map +1 -1
  9. package/dist/capabilities/index.d.ts +1 -0
  10. package/dist/capabilities/index.d.ts.map +1 -1
  11. package/dist/capabilities/index.js +1 -0
  12. package/dist/capabilities/index.js.map +1 -1
  13. package/dist/capabilities/taoCapability.d.ts +13 -0
  14. package/dist/capabilities/taoCapability.d.ts.map +1 -0
  15. package/dist/capabilities/taoCapability.js +20 -0
  16. package/dist/capabilities/taoCapability.js.map +1 -0
  17. package/dist/contracts/agent-profiles.schema.json +16 -0
  18. package/dist/contracts/tools.schema.json +12 -0
  19. package/dist/core/agent.d.ts +6 -0
  20. package/dist/core/agent.d.ts.map +1 -1
  21. package/dist/core/agent.js +22 -0
  22. package/dist/core/agent.js.map +1 -1
  23. package/dist/core/agentOrchestrator.d.ts +9 -13
  24. package/dist/core/agentOrchestrator.d.ts.map +1 -1
  25. package/dist/core/agentOrchestrator.js +237 -107
  26. package/dist/core/agentOrchestrator.js.map +1 -1
  27. package/dist/core/baseToolFactory.d.ts +187 -0
  28. package/dist/core/baseToolFactory.d.ts.map +1 -0
  29. package/dist/core/baseToolFactory.js +352 -0
  30. package/dist/core/baseToolFactory.js.map +1 -0
  31. package/dist/core/constants.d.ts +5 -0
  32. package/dist/core/constants.d.ts.map +1 -0
  33. package/dist/core/constants.js +5 -0
  34. package/dist/core/constants.js.map +1 -0
  35. package/dist/core/errors/index.d.ts +50 -0
  36. package/dist/core/errors/index.d.ts.map +1 -0
  37. package/dist/core/errors/index.js +156 -0
  38. package/dist/core/errors/index.js.map +1 -0
  39. package/dist/core/errors/safetyValidator.d.ts.map +1 -1
  40. package/dist/core/errors/safetyValidator.js +6 -137
  41. package/dist/core/errors/safetyValidator.js.map +1 -1
  42. package/dist/headless/headlessApp.d.ts.map +1 -1
  43. package/dist/headless/headlessApp.js +2 -15
  44. package/dist/headless/headlessApp.js.map +1 -1
  45. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  46. package/dist/plugins/tools/nodeDefaults.js +2 -0
  47. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  48. package/dist/plugins/tools/tao/taoPlugin.d.ts +3 -0
  49. package/dist/plugins/tools/tao/taoPlugin.d.ts.map +1 -0
  50. package/dist/plugins/tools/tao/taoPlugin.js +14 -0
  51. package/dist/plugins/tools/tao/taoPlugin.js.map +1 -0
  52. package/dist/providers/baseProvider.d.ts +148 -0
  53. package/dist/providers/baseProvider.d.ts.map +1 -0
  54. package/dist/providers/baseProvider.js +284 -0
  55. package/dist/providers/baseProvider.js.map +1 -0
  56. package/dist/shell/commandRegistry.d.ts +122 -0
  57. package/dist/shell/commandRegistry.d.ts.map +1 -0
  58. package/dist/shell/commandRegistry.js +371 -0
  59. package/dist/shell/commandRegistry.js.map +1 -0
  60. package/dist/shell/shellApp.d.ts.map +1 -1
  61. package/dist/shell/shellApp.js +2 -15
  62. package/dist/shell/shellApp.js.map +1 -1
  63. package/dist/tools/bashTools.d.ts.map +1 -1
  64. package/dist/tools/bashTools.js +2 -13
  65. package/dist/tools/bashTools.js.map +1 -1
  66. package/dist/tools/tao/index.d.ts +28 -0
  67. package/dist/tools/tao/index.d.ts.map +1 -0
  68. package/dist/tools/tao/index.js +33 -0
  69. package/dist/tools/tao/index.js.map +1 -0
  70. package/dist/tools/tao/intentParser.d.ts +9 -0
  71. package/dist/tools/tao/intentParser.d.ts.map +1 -0
  72. package/dist/tools/tao/intentParser.js +163 -0
  73. package/dist/tools/tao/intentParser.js.map +1 -0
  74. package/dist/tools/tao/rlEngine.d.ts +40 -0
  75. package/dist/tools/tao/rlEngine.d.ts.map +1 -0
  76. package/dist/tools/tao/rlEngine.js +237 -0
  77. package/dist/tools/tao/rlEngine.js.map +1 -0
  78. package/dist/tools/tao/sessionState.d.ts +9 -0
  79. package/dist/tools/tao/sessionState.d.ts.map +1 -0
  80. package/dist/tools/tao/sessionState.js +18 -0
  81. package/dist/tools/tao/sessionState.js.map +1 -0
  82. package/dist/tools/tao/types.d.ts +109 -0
  83. package/dist/tools/tao/types.d.ts.map +1 -0
  84. package/dist/tools/tao/types.js +5 -0
  85. package/dist/tools/tao/types.js.map +1 -0
  86. package/dist/tools/tao/verification.d.ts +23 -0
  87. package/dist/tools/tao/verification.d.ts.map +1 -0
  88. package/dist/tools/tao/verification.js +211 -0
  89. package/dist/tools/tao/verification.js.map +1 -0
  90. package/dist/tools/taoTools.d.ts +23 -0
  91. package/dist/tools/taoTools.d.ts.map +1 -0
  92. package/dist/tools/taoTools.js +14501 -0
  93. package/dist/tools/taoTools.js.map +1 -0
  94. package/dist/ui/UnifiedUIRenderer.d.ts +5 -0
  95. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  96. package/dist/ui/UnifiedUIRenderer.js +49 -21
  97. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  98. package/dist/ui/animation/AnimationScheduler.d.ts +5 -0
  99. package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -1
  100. package/dist/ui/animation/AnimationScheduler.js +9 -1
  101. package/dist/ui/animation/AnimationScheduler.js.map +1 -1
  102. package/dist/ui/index.d.ts +102 -0
  103. package/dist/ui/index.d.ts.map +1 -0
  104. package/dist/ui/index.js +120 -0
  105. package/dist/ui/index.js.map +1 -0
  106. package/dist/ui/interrupts/InterruptManager.d.ts +16 -1
  107. package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -1
  108. package/dist/ui/interrupts/InterruptManager.js +68 -6
  109. package/dist/ui/interrupts/InterruptManager.js.map +1 -1
  110. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +18 -0
  111. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
  112. package/dist/ui/orchestration/UIUpdateCoordinator.js +64 -5
  113. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
  114. package/dist/utils/packageInfo.d.ts +14 -0
  115. package/dist/utils/packageInfo.d.ts.map +1 -0
  116. package/dist/utils/packageInfo.js +45 -0
  117. package/dist/utils/packageInfo.js.map +1 -0
  118. package/package.json +3 -3
  119. 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 ?? 5);
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
- if (!this.shouldContinue(exitReason, attempts)) {
50
- break;
51
- }
52
- if (attempts.length >= maxAttempts) {
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 intelligent insight by analyzing the actual conversation context.
115
- * Includes honest assessment of what was/wasn't verified.
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(request, _response, toolsUsed, exitReason, _attemptsCount, maxAttemptsHit, completion, attempts) {
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 context = this.extractContextAndLimitations(history, toolsUsed, attempts);
121
- // Skip summary only for truly clean completions with verified output
122
- if (exitReason === 'complete' && !completion.shouldVerify && context.hasVerification && !context.hasErrors) {
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
- // Build insight with limitations baked in
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
- // Build honest limitations - be clear about what AI orchestration cannot guarantee
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
- limitations.push('no tests ran');
187
- }
188
- if (madeEdits && !ranTests) {
189
- limitations.push('edits untested');
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/lint check');
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('no tools used - ungrounded response');
271
+ limitations.push('response not grounded in tool execution - may contain assumptions');
196
272
  }
197
- if (allTools.some(t => !t.success)) {
198
- limitations.push('some tools failed');
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
- // Core AI limitations - always honest about what we can't know
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
- // AI can't truly verify runtime behavior, edge cases, or production impact
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('runtime behavior unverified');
299
+ limitations.push('edge cases and error handling paths untested');
205
300
  }
206
301
  }
207
- return { keyFindings, hasErrors, hasWarnings, hasVerification, ranTests, madeEdits, limitations };
208
- }
209
- /**
210
- * Build intelligent insight by asking LLM to analyze the run context.
211
- * Always uses AI generation - no static fallbacks.
212
- */
213
- async buildIntelligentInsight(request, exitReason, maxAttemptsHit, _completion, context) {
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
- catch {
244
- return null;
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(exitReason, attempts) {
293
- // Only continue on incomplete - no-action after multiple attempts means we're stuck
294
- if (exitReason !== 'incomplete') {
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 true;
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('TASK_FULLY_COMPLETE'))
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('TASK_FULLY_COMPLETE')) {
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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"}