erosolar-cli 2.1.188 → 2.1.189

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 (50) hide show
  1. package/README.md +2 -0
  2. package/dist/contracts/models.schema.json +9 -0
  3. package/dist/core/agent.d.ts +11 -11
  4. package/dist/core/agent.d.ts.map +1 -1
  5. package/dist/core/agent.js +31 -84
  6. package/dist/core/agent.js.map +1 -1
  7. package/dist/core/agentOrchestrator.d.ts +49 -0
  8. package/dist/core/agentOrchestrator.d.ts.map +1 -0
  9. package/dist/core/agentOrchestrator.js +313 -0
  10. package/dist/core/agentOrchestrator.js.map +1 -0
  11. package/dist/core/schemaValidator.d.ts +5 -0
  12. package/dist/core/schemaValidator.d.ts.map +1 -1
  13. package/dist/core/schemaValidator.js +65 -0
  14. package/dist/core/schemaValidator.js.map +1 -1
  15. package/dist/core/taskCompletionDetector.d.ts.map +1 -0
  16. package/dist/{shell → core}/taskCompletionDetector.js +1 -1
  17. package/dist/core/taskCompletionDetector.js.map +1 -0
  18. package/dist/core/toolRuntime.d.ts +4 -0
  19. package/dist/core/toolRuntime.d.ts.map +1 -1
  20. package/dist/core/toolRuntime.js +40 -64
  21. package/dist/core/toolRuntime.js.map +1 -1
  22. package/dist/shell/interactiveShell.d.ts +18 -3
  23. package/dist/shell/interactiveShell.d.ts.map +1 -1
  24. package/dist/shell/interactiveShell.js +395 -222
  25. package/dist/shell/interactiveShell.js.map +1 -1
  26. package/dist/shell/shellApp.js +8 -1
  27. package/dist/shell/shellApp.js.map +1 -1
  28. package/dist/tools/bashTools.d.ts +0 -1
  29. package/dist/tools/bashTools.d.ts.map +1 -1
  30. package/dist/tools/bashTools.js +3 -47
  31. package/dist/tools/bashTools.js.map +1 -1
  32. package/dist/tools/buildTools.js +1 -1
  33. package/dist/tools/buildTools.js.map +1 -1
  34. package/dist/tools/grepTools.js +6 -4
  35. package/dist/tools/grepTools.js.map +1 -1
  36. package/dist/tools/repoChecksTools.d.ts.map +1 -1
  37. package/dist/tools/repoChecksTools.js +5 -7
  38. package/dist/tools/repoChecksTools.js.map +1 -1
  39. package/dist/ui/ShellUIAdapter.d.ts +3 -2
  40. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  41. package/dist/ui/ShellUIAdapter.js +9 -7
  42. package/dist/ui/ShellUIAdapter.js.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/runtime/flowOrchestrator.d.ts +0 -71
  45. package/dist/runtime/flowOrchestrator.d.ts.map +0 -1
  46. package/dist/runtime/flowOrchestrator.js +0 -436
  47. package/dist/runtime/flowOrchestrator.js.map +0 -1
  48. package/dist/shell/taskCompletionDetector.d.ts.map +0 -1
  49. package/dist/shell/taskCompletionDetector.js.map +0 -1
  50. /package/dist/{shell → core}/taskCompletionDetector.d.ts +0 -0
@@ -1,436 +0,0 @@
1
- const DEFAULT_CONFIG = {
2
- maxNoProgress: 5,
3
- maxVerificationAttempts: 2,
4
- };
5
- export class FlowOrchestrator {
6
- config;
7
- initialRequest = '';
8
- lastResponse = '';
9
- consecutivePlanOnly = 0;
10
- consecutiveNoProgress = 0;
11
- pendingVerification = false;
12
- verificationAttempts = 0;
13
- constructor(config = {}) {
14
- this.config = { ...DEFAULT_CONFIG, ...config };
15
- }
16
- start(initialRequest) {
17
- this.initialRequest = initialRequest;
18
- this.lastResponse = '';
19
- this.consecutivePlanOnly = 0;
20
- this.consecutiveNoProgress = 0;
21
- this.pendingVerification = false;
22
- this.verificationAttempts = 0;
23
- }
24
- isVerificationPending() {
25
- return this.pendingVerification;
26
- }
27
- decide(input) {
28
- const { iteration, response, toolsUsed, completionAnalysis, verificationConfirmed, } = input;
29
- const responseChanged = response !== this.lastResponse;
30
- const planOnly = this.isPlanOnlyResponse(response);
31
- const hasCompletionMarker = response.includes('TASK_FULLY_COMPLETE');
32
- const completionContradiction = hasCompletionMarker && this.responseIndicatesIncompleteWork(response);
33
- const needsEvidencePass = this.isEvidenceSeekingRequest(this.initialRequest);
34
- // Check if the response actually answers the user's request
35
- const providesUserAnswer = this.responseAnswersUserRequest(response, toolsUsed);
36
- const isInformationalRequest = this.isInformationalRequest(this.initialRequest);
37
- // Plan-only response with no tool work: force execution path
38
- if (planOnly && toolsUsed.length === 0) {
39
- this.consecutivePlanOnly++;
40
- return {
41
- type: 'execute-plan',
42
- prompt: this.buildPlanExecutionPrompt(response, this.consecutivePlanOnly),
43
- message: this.consecutivePlanOnly === 1
44
- ? '🛠️ Plan detected; executing it now.'
45
- : '🔁 Still planning without action; forcing execution.',
46
- };
47
- }
48
- this.consecutivePlanOnly = 0;
49
- // Explicit completion marker handling
50
- if (hasCompletionMarker) {
51
- if (completionContradiction) {
52
- this.lastResponse = response;
53
- return {
54
- type: 'continue',
55
- prompt: this.buildCompletionContradictionPrompt(),
56
- message: '\n⚠️ TASK_FULLY_COMPLETE detected but response indicates incomplete work. Continuing...',
57
- };
58
- }
59
- return {
60
- type: 'stop',
61
- message: `\n✅ Task explicitly marked complete after ${iteration} iteration(s).`,
62
- };
63
- }
64
- // Pending verification result
65
- if (this.pendingVerification) {
66
- this.pendingVerification = false;
67
- if (verificationConfirmed) {
68
- return {
69
- type: 'stop',
70
- message: `\n✅ Task completion verified by AI after ${iteration} iteration(s).`,
71
- };
72
- }
73
- this.lastResponse = response;
74
- return {
75
- type: 'continue',
76
- prompt: this.buildDefaultNextPrompt(),
77
- message: '🔄 Verification indicates more work needed. Continuing...',
78
- };
79
- }
80
- // CRITICAL: Don't auto-complete if response doesn't answer the user's request
81
- // Just because tests passed doesn't mean the task is done - user asked a question
82
- if (!providesUserAnswer && toolsUsed.length > 0) {
83
- this.lastResponse = response;
84
- return {
85
- type: 'continue',
86
- prompt: this.buildAnswerUserPrompt(),
87
- message: '📝 Tools executed successfully. Now provide a summary response to the user.',
88
- };
89
- }
90
- // Informational requests: stop once we've provided a clear answer
91
- if (isInformationalRequest && providesUserAnswer && !this.responseIndicatesIncompleteWork(response)) {
92
- const shallowTooling = needsEvidencePass && this.isShallowToolPass(toolsUsed, completionAnalysis);
93
- const lowConfidenceInformational = needsEvidencePass && completionAnalysis.confidence < 0.6;
94
- if (shallowTooling || lowConfidenceInformational) {
95
- this.lastResponse = response;
96
- return {
97
- type: 'continue',
98
- prompt: this.buildDeeperEvidencePrompt(response),
99
- message: shallowTooling
100
- ? '🔎 Last pass looked superficial; broaden coverage before concluding.'
101
- : '🔎 Confidence is low—do a fuller pass before stopping.',
102
- };
103
- }
104
- return {
105
- type: 'stop',
106
- message: `\n✅ Informational request answered after ${iteration} iteration(s).`,
107
- };
108
- }
109
- // High confidence completion - but ONLY if the response actually answers the user
110
- if (completionAnalysis.isComplete && completionAnalysis.confidence >= 0.85 && providesUserAnswer) {
111
- return {
112
- type: 'stop',
113
- message: `\n✅ Task completed with high confidence after ${iteration} iteration(s).\n Reason: ${completionAnalysis.reason}`,
114
- };
115
- }
116
- // For informational requests (questions), ensure the user gets an answer
117
- if (isInformationalRequest && toolsUsed.length > 0 && !providesUserAnswer) {
118
- this.lastResponse = response;
119
- return {
120
- type: 'continue',
121
- prompt: this.buildInformationalAnswerPrompt(),
122
- message: '🔍 Analysis complete. Now provide findings to the user.',
123
- };
124
- }
125
- // Medium confidence - trigger verification
126
- if (completionAnalysis.shouldVerify && completionAnalysis.verificationPrompt && this.verificationAttempts < this.config.maxVerificationAttempts) {
127
- this.pendingVerification = true;
128
- this.verificationAttempts++;
129
- this.lastResponse = response;
130
- return {
131
- type: 'verify',
132
- prompt: completionAnalysis.verificationPrompt,
133
- message: `\n🔍 Running verification round (confidence: ${(completionAnalysis.confidence * 100).toFixed(0)}%)...`,
134
- };
135
- }
136
- // No progress detection (same response as previous iterations)
137
- if (!responseChanged) {
138
- this.consecutiveNoProgress++;
139
- if (this.consecutiveNoProgress >= this.config.maxNoProgress) {
140
- if (this.verificationAttempts < this.config.maxVerificationAttempts) {
141
- this.pendingVerification = true;
142
- this.verificationAttempts++;
143
- this.consecutiveNoProgress = 0;
144
- this.lastResponse = response;
145
- return {
146
- type: 'verify',
147
- prompt: this.buildStagnationVerificationPrompt(),
148
- message: `\n⚠️ No progress for ${this.config.maxNoProgress} iterations. Running final verification...`,
149
- };
150
- }
151
- return {
152
- type: 'stagnation-stop',
153
- message: `\n⚠️ No progress detected for ${this.config.maxNoProgress} iterations and verification exhausted. Stopping.`,
154
- };
155
- }
156
- }
157
- else {
158
- this.consecutiveNoProgress = 0;
159
- }
160
- // Default path: continue iterating with next-step guidance
161
- this.lastResponse = response;
162
- return {
163
- type: 'continue',
164
- prompt: this.buildDefaultNextPrompt(),
165
- };
166
- }
167
- /**
168
- * Check if the user's request is informational (a question) vs a task request
169
- */
170
- isInformationalRequest(request) {
171
- const informationalPatterns = [
172
- /\b(any|are there|do you|what|which|where|how|is there|got any|find)\b.*\?/i,
173
- /\b(bugs?|issues?|errors?|problems?|fix(es)?)\b.*\?/i,
174
- /\b(check|review|analyze|scan|look|see)\b/i,
175
- /\b(explain|describe|summari[sz]e|overview|intro|introduction|tell me about)\b/i,
176
- /\b(status|state|condition)\b/i,
177
- ];
178
- return informationalPatterns.some(p => p.test(request));
179
- }
180
- /**
181
- * Check if the response actually provides an answer or summary to the user
182
- */
183
- responseAnswersUserRequest(response, toolsUsed = []) {
184
- const answerPatterns = [
185
- /\b(found|discovered|identified|detected)\s+\d+\s+\w+/i, // "found 5 issues"
186
- /\b(no|zero|0)\s+(bugs?|issues?|errors?|problems?)\s+(found|detected)/i, // "no bugs found"
187
- /\ball\s+tests?\s+(pass|passed|passing|succeed|succeeded)/i, // "all tests passed"
188
- /\b(here('s| is| are)|the following|summary|result|conclusion|findings?)/i,
189
- /\b(fixed|resolved|completed|done|finished)\b.*\b(bug|issue|error|problem)/i,
190
- /\b(everything\s+(is\s+)?(working|good|fine|clean))/i,
191
- /^(yes|no)[,.]?\s/i, // Direct answers
192
- /\b(in\s+summary|to\s+summarize|overall|in\s+conclusion)/i,
193
- ];
194
- // Strip obvious tool/log lines so raw command output doesn't masquerade as an answer
195
- const cleaned = response
196
- .replace(/```[\s\S]*?```/g, '')
197
- .split('\n')
198
- .map(line => line.trim())
199
- .filter(line => {
200
- if (!line)
201
- return false;
202
- const lower = line.toLowerCase();
203
- if (/^(stderr|stdout)\s*:/.test(lower))
204
- return false;
205
- if (/^(executing|running|command|output)\b/.test(lower))
206
- return false;
207
- if (/^⏺|^⎿/.test(line))
208
- return false;
209
- if (/^(pass|fail|ok)\b/.test(lower) && line.split(/\s+/).length <= 4)
210
- return false;
211
- if (/^(test suites:|tests:|snapshots:|time:)/i.test(line))
212
- return false;
213
- return true;
214
- })
215
- .join(' ')
216
- .trim();
217
- const hasAnswerPattern = answerPatterns.some(p => p.test(cleaned));
218
- if (hasAnswerPattern) {
219
- return true;
220
- }
221
- const looksLikeTestLogs = /\b(test suites:|tests:|snapshots:|ran all test suites|pass\s+\d+|fail\s+\d+)/i.test(cleaned) ||
222
- /\bjest\b/i.test(cleaned);
223
- // When tools were used, require an explicit summary/stance instead of treating raw tool output as an answer
224
- if (toolsUsed.length > 0) {
225
- if (looksLikeTestLogs) {
226
- return false;
227
- }
228
- const hasSummaryCue = /\b(summary|conclusion|overall|findings?|result|status)\b/i.test(cleaned);
229
- const hasOutcomeCue = /\b(found|identified|detected|resolved|fixed|clean|passing|failing|no\s+issues?)\b/i.test(cleaned);
230
- return (hasSummaryCue || hasOutcomeCue) && cleaned.length > 60;
231
- }
232
- // With no tools, fall back to recognizing substantial prose answers
233
- const hasSubstantialProse = cleaned.length > 120 && /[a-z]/i.test(cleaned) && /[.!?]/.test(cleaned);
234
- return hasSubstantialProse;
235
- }
236
- /**
237
- * Prompt the AI to provide an answer to the user after running tools
238
- */
239
- buildAnswerUserPrompt() {
240
- return `You've executed tools successfully. Now provide a clear response to the user:
241
-
242
- Original request: ${this.initialRequest}
243
-
244
- Based on the tool results, answer the user's question or summarize what was found/done.
245
- - If it was a question, provide the answer
246
- - If it was a task, summarize what was accomplished
247
- - If there were issues found, list them clearly
248
- - If everything is clean/passing, say so explicitly
249
-
250
- When done, end with "TASK_FULLY_COMPLETE" if no further action is needed.`;
251
- }
252
- /**
253
- * Prompt for informational requests that need a user-facing answer
254
- */
255
- buildInformationalAnswerPrompt() {
256
- return `Analysis is complete. Now answer the user's question:
257
-
258
- Original question: ${this.initialRequest}
259
-
260
- Provide a clear, concise answer based on your findings. Include:
261
- - Direct answer to the question
262
- - Supporting evidence from your analysis
263
- - Any recommendations if applicable
264
-
265
- Then say "TASK_FULLY_COMPLETE" if no further action is needed.`;
266
- }
267
- isPlanOnlyResponse(response) {
268
- const normalized = response.trim().toLowerCase();
269
- if (!normalized) {
270
- return false;
271
- }
272
- const completionGuards = [
273
- /\bnothing\s+(left|else)\s+(to\s+do|pending)\b/i,
274
- /\b(already|now)\s+(clean|complete|done)\b/i,
275
- /\b(no\s+(junk|issues?|changes?)\s+found)\b/i,
276
- ];
277
- if (completionGuards.some((pattern) => pattern.test(response))) {
278
- return false;
279
- }
280
- const planIndicators = [
281
- /\bplan\b/i,
282
- /\bapproach\b/i,
283
- /\bsteps?:\b/i,
284
- /\bstep\s+1\b/i,
285
- /\bstart by\b/i,
286
- /\bfirst[, ]/i,
287
- /\bthen\b/i,
288
- /\bnext\b/i,
289
- /\bi['’]?\s*will\b/i,
290
- /\bi['’]?\s*ll\b/i,
291
- /\bi['’]?\s*can\b.{0,40}\bthen\b/i,
292
- /\bi['’]?\s*(?:will|ll)\s+begin\b/i,
293
- ];
294
- return planIndicators.some((pattern) => pattern.test(response));
295
- }
296
- responseIndicatesIncompleteWork(response) {
297
- const incompletePatterns = [
298
- /hasn'?t\s+been\s+(integrated|implemented|connected|deployed|added|completed|tested|verified)\s*(yet|still)?/i,
299
- /not\s+(yet\s+)?(integrated|implemented|connected|deployed|functional|working|complete|tested|verified)/i,
300
- /ready\s+(for|to\s+be)\s+(integration|integrated|connected|deployed|testing|review)/i,
301
- /needs?\s+to\s+be\s+(integrated|connected|deployed|added|hooked|wired|tested|reviewed|merged)/i,
302
- /was\s+not\s+(performed|completed|implemented|deployed|integrated|tested)/i,
303
- /the\s+\w+\s+(service|module|component|feature)\s+hasn'?t\s+been/i,
304
- /still\s+(stores?|uses?|has|contains?|needs?|requires?|missing|lacks?|broken)/i,
305
- /\b(partially|mostly|almost|nearly|not\s+fully)\s+(complete|done|finished|implemented|working)/i,
306
- /\b(only\s+)?(part|some|half|portion)\s+of\s+(the\s+)?(task|work|feature|implementation)/i,
307
- /\b(should|might|may|could|appears?\s+to)\s+be\s+(complete|done|working|functional)/i,
308
- /\btheoretically\s+(complete|done|working|functional)/i,
309
- /\b(assuming|provided|if)\s+(everything|it|this|that)\s+(works?|is\s+correct)/i,
310
- /\b(done|complete|finished)\s+(but|except|however|although|though)/i,
311
- /however[,\s].{0,50}?(hasn'?t|not\s+yet|still\s+needs?|pending|remains?|missing|broken|failing)/i,
312
- /\bbut\s+.{0,30}?(not|hasn'?t|won'?t|can'?t|doesn'?t|isn'?t|wasn'?t)/i,
313
- /will\s+(need\s+to|require|have\s+to)\s+(integrate|connect|deploy|complete|implement|test|fix)/i,
314
- /\b(left\s+as|deferred|postponed|out\s+of\s+scope|for\s+later|in\s+a\s+future)/i,
315
- /\b(after\s+(restart|reboot|redeploy)|takes?\s+effect\s+after|once\s+you)/i,
316
- /\b(remaining|outstanding|pending|leftover)\s+(tasks?|items?|work|issues?|steps?)/i,
317
- /\b(more\s+to\s+do|still\s+have\s+to|yet\s+to\s+be\s+done)/i,
318
- /\b(blocker|blocked\s+by|waiting\s+(for|on)|depends?\s+on)/i,
319
- /\b(failing|broken|erroring)\s+(tests?|builds?|checks?|validations?)/i,
320
- /\btests?\s+(are\s+)?(still\s+)?failing/i,
321
- /\b(errors?|warnings?|issues?)\s+to\s+(address|fix|resolve)/i,
322
- /\b(doesn'?t|isn'?t|not)\s+(work|working|functional|functioning)/i,
323
- /\b(you('ll|\s+will)\s+need\s+to|manually\s+(run|configure|set|update)|requires?\s+user)/i,
324
- /\b(run\s+this|execute\s+the\s+following|apply\s+the\s+migration)/i,
325
- /\b(todo|fixme|hack|xxx):\s/i,
326
- /\b(need\s+to|should|must)\s+(add|implement|create|write|build|fix)\b/i,
327
- /\b(didn'?t|did\s+not)\s+have\s+(time|chance|opportunity)/i,
328
- /\b(beyond|outside)\s+(the\s+)?scope/i,
329
- /\b(for\s+now|at\s+this\s+point|currently)\s*.{0,20}?(not|without|lacks?|missing)/i,
330
- ];
331
- for (const pattern of incompletePatterns) {
332
- if (pattern.test(response)) {
333
- return true;
334
- }
335
- }
336
- return false;
337
- }
338
- isEvidenceSeekingRequest(request) {
339
- const diagnosticTerms = [
340
- /\b(bugs?|issues?|errors?|problems?|regressions?|defects?)\b/i,
341
- /\b(debug|triage|bugfix|hotfix)\b/i,
342
- /\b(review|scan|audit|check|inspect|investigate|analy[sz]e|assess)\b/i,
343
- ];
344
- const codeContextTerms = [
345
- /\b(repo|codebase|project|workspace|code|files?)\b/i,
346
- ];
347
- return diagnosticTerms.some(pattern => pattern.test(request)) ||
348
- codeContextTerms.some(pattern => pattern.test(request));
349
- }
350
- isShallowToolPass(toolsUsed, completionAnalysis) {
351
- if (toolsUsed.length === 0) {
352
- return false;
353
- }
354
- const uniqueTools = new Set(toolsUsed.map(tool => tool.toLowerCase()));
355
- const lightweightPatterns = [
356
- /\blist\b/,
357
- /\bls\b/,
358
- /\bdir\b/,
359
- /\bsearch\b/,
360
- /\bfind\b/,
361
- /\bgrep\b/,
362
- /\brg\b/,
363
- /\bscan\b/,
364
- /\bread\b/,
365
- /\bglob\b/,
366
- /\bwalk\b/,
367
- /\bstat\b/,
368
- ];
369
- const usesOnlyLightweightTools = [...uniqueTools].every(tool => lightweightPatterns.some(pattern => pattern.test(tool)));
370
- const repeatedSingleTool = uniqueTools.size === 1;
371
- const lowToolVolume = completionAnalysis.signals.toolsUsedInLastResponse <= 2;
372
- const noRecentWritesOrCommits = !completionAnalysis.signals.hasRecentFileWrites &&
373
- !completionAnalysis.signals.hasRecentCommits;
374
- return (usesOnlyLightweightTools || repeatedSingleTool || lowToolVolume) && noRecentWritesOrCommits;
375
- }
376
- buildDeeperEvidencePrompt(previousResponse) {
377
- return `Your previous reply looked like an early stop with limited evidence and low confidence.
378
-
379
- Original request: ${this.initialRequest}
380
-
381
- Previous response:
382
- ${previousResponse}
383
-
384
- Take a deeper, evidence-backed pass:
385
- - Use multiple tools (search across the repo, read key files, run quick checks) instead of a single TODO scan
386
- - Summarize concrete findings and what areas you inspected
387
- - If nothing is found, state the coverage you achieved
388
- - Only stop when you're confident the request is fully satisfied, then say "TASK_FULLY_COMPLETE"`;
389
- }
390
- buildPlanExecutionPrompt(plan, attempt) {
391
- const header = attempt > 1
392
- ? 'You have repeated the plan without executing it. Move to execution now.'
393
- : 'You proposed a plan. Execute it now without re-planning.';
394
- return `${header}
395
-
396
- Execute the steps with tools immediately:
397
- - Update plan status via the UpdatePlan tool (mark steps in_progress/completed).
398
- - Read/edit/run commands as needed; take multiple actions per turn.
399
- - Keep going until the original request is fully done, then respond with TASK_FULLY_COMPLETE.
400
-
401
- Original request:
402
- ${this.initialRequest}
403
-
404
- Plan to execute:
405
- ${plan}`.trim();
406
- }
407
- buildDefaultNextPrompt() {
408
- return `Continue with the next step. Remember:
409
- - Use bash to run git commands (git status, git add, git commit, git push)
410
- - Commit your changes with descriptive messages after completing improvements
411
- - Push changes when a logical milestone is reached
412
- - If all tasks are complete, respond with exactly: "TASK_FULLY_COMPLETE"
413
- - If there are errors or blockers, explain what's preventing progress
414
-
415
- What's the next action?`;
416
- }
417
- buildCompletionContradictionPrompt() {
418
- return `You marked the task as TASK_FULLY_COMPLETE but also indicated that work is still pending or not integrated. Please clarify:
419
-
420
- 1. Is ALL the originally requested work actually complete and functional?
421
- 2. If there are parts that are "ready but not integrated" or "implemented but not connected", those are NOT complete.
422
- 3. Only say TASK_FULLY_COMPLETE when the user's original request is 100% fulfilled.
423
-
424
- What remains to be done? Continue with the next step.`;
425
- }
426
- buildStagnationVerificationPrompt() {
427
- return `I notice you may be stuck or finished. Please confirm:
428
-
429
- 1. Is the original task FULLY complete?
430
- 2. If yes, respond with exactly: "TASK_FULLY_COMPLETE"
431
- 3. If no, what specific action should be taken next?
432
-
433
- Be explicit about the current state.`;
434
- }
435
- }
436
- //# sourceMappingURL=flowOrchestrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flowOrchestrator.js","sourceRoot":"","sources":["../../src/runtime/flowOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"taskCompletionDetector.d.ts","sourceRoot":"","sources":["../../src/shell/taskCompletionDetector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAEhC,8BAA8B,EAAE,OAAO,CAAC;IACxC,2BAA2B,EAAE,OAAO,CAAC;IACrC,0BAA0B,EAAE,OAAO,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAG9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gCAAgC,EAAE,MAAM,CAAC;IACzC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAG1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAG5B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAoED,eAAO,MAAM,WAAW,aAStB,CAAC;AAEH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,SAAS,CAAgC;;IAMjD;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAkB5E;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAgB3D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzD;;OAEG;IACH,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,kBAAkB;IAoD5F;;OAEG;IACH,OAAO,CAAC,aAAa;IAqCrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;OAEG;IACH,OAAO,CAAC,oCAAoC;IAW5C;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,uBAAuB,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO;IAc9D;;;OAGG;IACH,OAAO,CAAC,oCAAoC;CA+D7C;AAOD,wBAAgB,yBAAyB,IAAI,sBAAsB,CAKlE;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAIlD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"taskCompletionDetector.js","sourceRoot":"","sources":["../../src/shell/taskCompletionDetector.ts"],"names":[],"mappings":"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"}