steroids-cli 0.8.44 → 0.9.2
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/dist/cleanup/backups.d.ts +26 -0
- package/dist/cleanup/backups.d.ts.map +1 -0
- package/dist/cleanup/backups.js +157 -0
- package/dist/cleanup/backups.js.map +1 -0
- package/dist/cleanup/directory-size.d.ts +1 -1
- package/dist/cleanup/directory-size.d.ts.map +1 -1
- package/dist/cleanup/directory-size.js +58 -6
- package/dist/cleanup/directory-size.js.map +1 -1
- package/dist/commands/ai.js +2 -2
- package/dist/commands/ai.js.map +1 -1
- package/dist/commands/config.js +80 -4
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/health-stuck.d.ts.map +1 -1
- package/dist/commands/health-stuck.js +8 -2
- package/dist/commands/health-stuck.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +19 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/loop-phases.d.ts +3 -3
- package/dist/commands/loop-phases.d.ts.map +1 -1
- package/dist/commands/loop-phases.js +308 -74
- package/dist/commands/loop-phases.js.map +1 -1
- package/dist/commands/loop.d.ts.map +1 -1
- package/dist/commands/loop.js +12 -1
- package/dist/commands/loop.js.map +1 -1
- package/dist/commands/tasks.d.ts.map +1 -1
- package/dist/commands/tasks.js +69 -2
- package/dist/commands/tasks.js.map +1 -1
- package/dist/config/ai-setup.d.ts +2 -1
- package/dist/config/ai-setup.d.ts.map +1 -1
- package/dist/config/ai-setup.js +234 -36
- package/dist/config/ai-setup.js.map +1 -1
- package/dist/config/loader.d.ts +21 -7
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +22 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +41 -3
- package/dist/config/schema.js.map +1 -1
- package/dist/database/queries.d.ts +37 -0
- package/dist/database/queries.d.ts.map +1 -1
- package/dist/database/queries.js +94 -2
- package/dist/database/queries.js.map +1 -1
- package/dist/database/schema.d.ts +2 -2
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/database/schema.js +21 -0
- package/dist/database/schema.js.map +1 -1
- package/dist/git/status.d.ts +1 -1
- package/dist/git/status.d.ts.map +1 -1
- package/dist/git/status.js +3 -2
- package/dist/git/status.js.map +1 -1
- package/dist/health/stuck-task-detector.d.ts +2 -0
- package/dist/health/stuck-task-detector.d.ts.map +1 -1
- package/dist/health/stuck-task-detector.js +39 -18
- package/dist/health/stuck-task-detector.js.map +1 -1
- package/dist/orchestrator/coder.d.ts.map +1 -1
- package/dist/orchestrator/coder.js +23 -6
- package/dist/orchestrator/coder.js.map +1 -1
- package/dist/orchestrator/coordinator.js +1 -1
- package/dist/orchestrator/coordinator.js.map +1 -1
- package/dist/orchestrator/fallback-handler.d.ts +1 -1
- package/dist/orchestrator/fallback-handler.d.ts.map +1 -1
- package/dist/orchestrator/fallback-handler.js.map +1 -1
- package/dist/orchestrator/invoke.d.ts +5 -1
- package/dist/orchestrator/invoke.d.ts.map +1 -1
- package/dist/orchestrator/invoke.js +9 -1
- package/dist/orchestrator/invoke.js.map +1 -1
- package/dist/orchestrator/post-reviewer.d.ts +5 -1
- package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
- package/dist/orchestrator/post-reviewer.js +100 -1
- package/dist/orchestrator/post-reviewer.js.map +1 -1
- package/dist/orchestrator/reviewer.d.ts +30 -2
- package/dist/orchestrator/reviewer.d.ts.map +1 -1
- package/dist/orchestrator/reviewer.js +121 -17
- package/dist/orchestrator/reviewer.js.map +1 -1
- package/dist/orchestrator/task-selector.d.ts.map +1 -1
- package/dist/orchestrator/task-selector.js +5 -1
- package/dist/orchestrator/task-selector.js.map +1 -1
- package/dist/orchestrator/types.d.ts +27 -0
- package/dist/orchestrator/types.d.ts.map +1 -1
- package/dist/parallel/merge-conflict-invoke.js +1 -1
- package/dist/parallel/merge-conflict-invoke.js.map +1 -1
- package/dist/prompts/coder.d.ts +4 -0
- package/dist/prompts/coder.d.ts.map +1 -1
- package/dist/prompts/coder.js +41 -0
- package/dist/prompts/coder.js.map +1 -1
- package/dist/prompts/reviewer.d.ts +4 -0
- package/dist/prompts/reviewer.d.ts.map +1 -1
- package/dist/prompts/reviewer.js +65 -0
- package/dist/prompts/reviewer.js.map +1 -1
- package/dist/providers/api-models.d.ts +14 -6
- package/dist/providers/api-models.d.ts.map +1 -1
- package/dist/providers/api-models.js +86 -5
- package/dist/providers/api-models.js.map +1 -1
- package/dist/providers/claude.d.ts +1 -1
- package/dist/providers/claude.d.ts.map +1 -1
- package/dist/providers/claude.js +57 -12
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex.d.ts +5 -1
- package/dist/providers/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +143 -40
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/gemini.d.ts +1 -1
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +53 -9
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/interface.d.ts +62 -1
- package/dist/providers/interface.d.ts.map +1 -1
- package/dist/providers/interface.js +105 -12
- package/dist/providers/interface.js.map +1 -1
- package/dist/providers/invocation-logger.d.ts +3 -0
- package/dist/providers/invocation-logger.d.ts.map +1 -1
- package/dist/providers/invocation-logger.js +22 -8
- package/dist/providers/invocation-logger.js.map +1 -1
- package/dist/providers/minimax.d.ts +50 -0
- package/dist/providers/minimax.d.ts.map +1 -0
- package/dist/providers/minimax.js +248 -0
- package/dist/providers/minimax.js.map +1 -0
- package/dist/providers/mistral.d.ts +6 -0
- package/dist/providers/mistral.d.ts.map +1 -1
- package/dist/providers/mistral.js +73 -4
- package/dist/providers/mistral.js.map +1 -1
- package/dist/providers/ollama.d.ts +50 -0
- package/dist/providers/ollama.d.ts.map +1 -0
- package/dist/providers/ollama.js +259 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +1 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/registry.d.ts +2 -2
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +28 -14
- package/dist/providers/registry.js.map +1 -1
- package/dist/runners/credit-pause.d.ts +1 -1
- package/dist/runners/credit-pause.d.ts.map +1 -1
- package/dist/runners/credit-pause.js +2 -2
- package/dist/runners/credit-pause.js.map +1 -1
- package/dist/runners/orchestrator-loop.js +2 -2
- package/dist/runners/orchestrator-loop.js.map +1 -1
- package/migrations/014_add_session_context.sql +17 -0
- package/migrations/015_add_follow_up_fields.sql +26 -0
- package/migrations/016_add_invocation_activity_timestamp.sql +8 -0
- package/migrations/manifest.json +25 -1
- package/package.json +1 -1
|
@@ -53,20 +53,20 @@ function refreshParallelWorkstreamLease(projectPath, leaseFence) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
* Check a coder/reviewer result for credit exhaustion using the provider's classifier.
|
|
56
|
+
* Check a coder/reviewer result for credit exhaustion or rate limits using the provider's classifier.
|
|
57
57
|
* Uses provider.classifyResult() which checks both stderr and stdout.
|
|
58
|
-
* Returns a CreditExhaustionResult if credits are exhausted, null otherwise.
|
|
58
|
+
* Returns a CreditExhaustionResult if credits are exhausted or rate limited, null otherwise.
|
|
59
59
|
*/
|
|
60
|
-
function checkCreditExhaustion(result, role, projectPath) {
|
|
60
|
+
async function checkCreditExhaustion(result, role, projectPath, reviewerConfig) {
|
|
61
61
|
if (result.success)
|
|
62
62
|
return null;
|
|
63
63
|
const config = (0, loader_js_1.loadConfig)(projectPath);
|
|
64
|
-
const roleConfig = config.ai?.[role];
|
|
64
|
+
const roleConfig = reviewerConfig || config.ai?.[role];
|
|
65
65
|
const providerName = roleConfig?.provider;
|
|
66
66
|
const modelName = roleConfig?.model;
|
|
67
67
|
if (!providerName || !modelName)
|
|
68
68
|
return null;
|
|
69
|
-
const registry = (0, registry_js_1.getProviderRegistry)();
|
|
69
|
+
const registry = await (0, registry_js_1.getProviderRegistry)();
|
|
70
70
|
const provider = registry.tryGet(providerName);
|
|
71
71
|
if (!provider)
|
|
72
72
|
return null;
|
|
@@ -80,6 +80,16 @@ function checkCreditExhaustion(result, role, projectPath) {
|
|
|
80
80
|
message: classification.message,
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
|
+
if (classification?.type === 'rate_limit') {
|
|
84
|
+
return {
|
|
85
|
+
action: 'rate_limit',
|
|
86
|
+
provider: providerName,
|
|
87
|
+
model: modelName,
|
|
88
|
+
role,
|
|
89
|
+
message: classification.message,
|
|
90
|
+
retryAfterMs: classification.retryAfterMs,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
83
93
|
return null;
|
|
84
94
|
}
|
|
85
95
|
const MAX_ORCHESTRATOR_PARSE_RETRIES = 3;
|
|
@@ -160,18 +170,19 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
|
|
|
160
170
|
if (!jsonMode) {
|
|
161
171
|
console.log('\n>>> Invoking CODER...\n');
|
|
162
172
|
}
|
|
173
|
+
const initialSha = (0, status_js_1.getCurrentCommitSha)(projectPath) || '';
|
|
163
174
|
const coderResult = await (0, coder_js_1.invokeCoder)(task, projectPath, action, coordinatorGuidance);
|
|
164
175
|
if (coderResult.timedOut) {
|
|
165
176
|
console.warn('Coder timed out. Will retry next iteration.');
|
|
166
177
|
return;
|
|
167
178
|
}
|
|
168
179
|
// Check for credit exhaustion before proceeding to orchestrator
|
|
169
|
-
const creditCheck = checkCreditExhaustion(coderResult, 'coder', projectPath);
|
|
180
|
+
const creditCheck = await checkCreditExhaustion(coderResult, 'coder', projectPath);
|
|
170
181
|
if (creditCheck) {
|
|
171
182
|
return creditCheck;
|
|
172
183
|
}
|
|
173
184
|
// STEP 2: Gather git state
|
|
174
|
-
const commits = (0, status_js_1.getRecentCommits)(projectPath, 5);
|
|
185
|
+
const commits = (0, status_js_1.getRecentCommits)(projectPath, 5, initialSha);
|
|
175
186
|
const files_changed = (0, status_js_1.getChangedFiles)(projectPath);
|
|
176
187
|
const has_uncommitted = (0, status_js_1.hasUncommittedChanges)(projectPath);
|
|
177
188
|
const diff_summary = (0, status_js_1.getDiffSummary)(projectPath);
|
|
@@ -210,24 +221,45 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
|
|
|
210
221
|
}
|
|
211
222
|
catch (error) {
|
|
212
223
|
console.error('Orchestrator invocation failed:', error);
|
|
213
|
-
//
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
224
|
+
// Check if coder seems finished even if orchestrator failed
|
|
225
|
+
const coderStdout = coderResult.stdout.toLowerCase();
|
|
226
|
+
const isTaskComplete = /complete|finished|done|ready/.test(coderStdout);
|
|
227
|
+
// Only count as having work if there are actual uncommitted changes or very recent session commits
|
|
228
|
+
const hasWork = has_uncommitted || commits.length > 0;
|
|
229
|
+
if (isTaskComplete && hasWork) {
|
|
230
|
+
orchestratorOutput = JSON.stringify({
|
|
231
|
+
action: has_uncommitted ? 'stage_commit_submit' : 'submit',
|
|
232
|
+
reasoning: 'FALLBACK: Orchestrator failed but coder signaled completion',
|
|
233
|
+
commits: commits.map(c => c.sha),
|
|
234
|
+
next_status: 'review',
|
|
235
|
+
metadata: {
|
|
236
|
+
files_changed: files_changed.length,
|
|
237
|
+
confidence: 'low',
|
|
238
|
+
exit_clean: true,
|
|
239
|
+
has_commits: commits.length > 0,
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
// Fallback to safe default: retry
|
|
245
|
+
orchestratorOutput = JSON.stringify({
|
|
246
|
+
action: 'retry',
|
|
247
|
+
reasoning: 'FALLBACK: Orchestrator failed, defaulting to retry',
|
|
248
|
+
commits: [],
|
|
249
|
+
next_status: 'in_progress',
|
|
250
|
+
metadata: {
|
|
251
|
+
files_changed: 0,
|
|
252
|
+
confidence: 'low',
|
|
253
|
+
exit_clean: true,
|
|
254
|
+
has_commits: false,
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}
|
|
226
258
|
}
|
|
227
259
|
// STEP 5: Parse orchestrator output with fallback
|
|
228
260
|
const handler = new fallback_handler_js_1.OrchestrationFallbackHandler();
|
|
229
261
|
let decision = handler.parseCoderOutput(orchestratorOutput);
|
|
230
|
-
if (decision.action === 'retry' && decision.reasoning.
|
|
262
|
+
if (decision.action === 'retry' && decision.reasoning.includes('FALLBACK: Orchestrator failed')) {
|
|
231
263
|
const consecutiveParseFallbackRetries = countConsecutiveOrchestratorFallbackEntries(db, task.id, CODER_PARSE_FALLBACK_MARKER) + 1;
|
|
232
264
|
if (consecutiveParseFallbackRetries >= MAX_ORCHESTRATOR_PARSE_RETRIES) {
|
|
233
265
|
decision = {
|
|
@@ -303,24 +335,58 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
|
|
|
303
335
|
if (!task)
|
|
304
336
|
return;
|
|
305
337
|
refreshParallelWorkstreamLease(projectPath, leaseFence);
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
338
|
+
const config = (0, loader_js_1.loadConfig)(projectPath);
|
|
339
|
+
const multiReviewEnabled = (0, reviewer_js_1.isMultiReviewEnabled)(config);
|
|
340
|
+
const strict = config.ai?.review?.strict ?? true;
|
|
341
|
+
let reviewerResult;
|
|
342
|
+
let reviewerResults = [];
|
|
343
|
+
// STEP 1: Invoke reviewer(s)
|
|
344
|
+
if (multiReviewEnabled) {
|
|
345
|
+
const reviewerConfigs = (0, reviewer_js_1.getReviewerConfigs)(config);
|
|
346
|
+
if (!jsonMode) {
|
|
347
|
+
console.log(`\n>>> Invoking ${reviewerConfigs.length} REVIEWERS in parallel...\n`);
|
|
348
|
+
if (coordinatorResult) {
|
|
349
|
+
console.log(`Coordinator guidance included (decision: ${coordinatorResult.decision})`);
|
|
350
|
+
}
|
|
311
351
|
}
|
|
352
|
+
reviewerResults = await (0, reviewer_js_1.invokeReviewers)(task, projectPath, reviewerConfigs, coordinatorResult?.guidance, coordinatorResult?.decision);
|
|
353
|
+
// Check for credit exhaustion in any reviewer
|
|
354
|
+
for (let i = 0; i < reviewerResults.length; i++) {
|
|
355
|
+
const res = reviewerResults[i];
|
|
356
|
+
const creditCheck = await checkCreditExhaustion(res, 'reviewer', projectPath, reviewerConfigs[i]);
|
|
357
|
+
if (creditCheck) {
|
|
358
|
+
return creditCheck;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
// Handle failures in strict mode
|
|
362
|
+
const failures = reviewerResults.filter(r => !r.success);
|
|
363
|
+
if (strict && failures.length > 0) {
|
|
364
|
+
if (!jsonMode) {
|
|
365
|
+
console.warn(`${failures.length} reviewer(s) failed in strict mode. Will retry.`);
|
|
366
|
+
}
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
// If not strict, we continue with the successful ones (resolveDecision handles empty/unclear)
|
|
312
370
|
}
|
|
313
|
-
|
|
314
|
-
if (reviewerResult.timedOut) {
|
|
371
|
+
else {
|
|
315
372
|
if (!jsonMode) {
|
|
316
|
-
console.
|
|
373
|
+
console.log('\n>>> Invoking REVIEWER...\n');
|
|
374
|
+
if (coordinatorResult) {
|
|
375
|
+
console.log(`Coordinator guidance included (decision: ${coordinatorResult.decision})`);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
reviewerResult = await (0, reviewer_js_1.invokeReviewer)(task, projectPath, coordinatorResult?.guidance, coordinatorResult?.decision);
|
|
379
|
+
if (reviewerResult.timedOut) {
|
|
380
|
+
if (!jsonMode) {
|
|
381
|
+
console.warn('Reviewer timed out. Will retry next iteration.');
|
|
382
|
+
}
|
|
383
|
+
return;
|
|
384
|
+
}
|
|
385
|
+
// Check for credit exhaustion
|
|
386
|
+
const creditCheck = await checkCreditExhaustion(reviewerResult, 'reviewer', projectPath);
|
|
387
|
+
if (creditCheck) {
|
|
388
|
+
return creditCheck;
|
|
317
389
|
}
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
// Check for credit exhaustion before proceeding to orchestrator
|
|
321
|
-
const creditCheck = checkCreditExhaustion(reviewerResult, 'reviewer', projectPath);
|
|
322
|
-
if (creditCheck) {
|
|
323
|
-
return creditCheck;
|
|
324
390
|
}
|
|
325
391
|
// STEP 2: Gather git context
|
|
326
392
|
const commit_sha = (0, status_js_1.getCurrentCommitSha)(projectPath) || '';
|
|
@@ -332,47 +398,178 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
|
|
|
332
398
|
additions: diffStats.additions,
|
|
333
399
|
deletions: diffStats.deletions,
|
|
334
400
|
};
|
|
335
|
-
// STEP 3:
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
401
|
+
// STEP 3: Resolve decision and merge notes if needed
|
|
402
|
+
let decision;
|
|
403
|
+
if (multiReviewEnabled) {
|
|
404
|
+
const { decision: finalDecision, needsMerge } = (0, reviewer_js_1.resolveDecision)(reviewerResults);
|
|
405
|
+
if (needsMerge) {
|
|
406
|
+
// Invoke multi-reviewer orchestrator to merge notes
|
|
407
|
+
const multiContext = {
|
|
408
|
+
task: {
|
|
409
|
+
id: task.id,
|
|
410
|
+
title: task.title,
|
|
411
|
+
rejection_count: task.rejection_count,
|
|
412
|
+
},
|
|
413
|
+
reviewer_results: reviewerResults.map(r => ({
|
|
414
|
+
provider: r.provider || 'unknown',
|
|
415
|
+
model: r.model || 'unknown',
|
|
416
|
+
decision: r.decision || 'unclear',
|
|
417
|
+
stdout: r.stdout,
|
|
418
|
+
stderr: r.stderr,
|
|
419
|
+
duration_ms: r.duration,
|
|
420
|
+
})),
|
|
421
|
+
git_context: gitContext,
|
|
422
|
+
};
|
|
423
|
+
try {
|
|
424
|
+
const orchestratorOutput = await (0, invoke_js_1.invokeMultiReviewerOrchestrator)(multiContext, projectPath);
|
|
425
|
+
const handler = new fallback_handler_js_1.OrchestrationFallbackHandler();
|
|
426
|
+
decision = handler.parseReviewerOutput(orchestratorOutput);
|
|
427
|
+
}
|
|
428
|
+
catch (error) {
|
|
429
|
+
console.error('Multi-reviewer orchestrator failed:', error);
|
|
430
|
+
decision = {
|
|
431
|
+
decision: 'unclear',
|
|
432
|
+
reasoning: 'FALLBACK: Multi-reviewer orchestrator failed',
|
|
433
|
+
notes: 'Review unclear, retrying',
|
|
434
|
+
next_status: 'review',
|
|
435
|
+
metadata: {
|
|
436
|
+
rejection_count: task.rejection_count,
|
|
437
|
+
confidence: 'low',
|
|
438
|
+
push_to_remote: false,
|
|
439
|
+
repeated_issue: false,
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
else {
|
|
445
|
+
// No merge needed (decision is Approve, Dispute, or Skip)
|
|
446
|
+
const multiContext = {
|
|
447
|
+
task: {
|
|
448
|
+
id: task.id,
|
|
449
|
+
title: task.title,
|
|
450
|
+
rejection_count: task.rejection_count,
|
|
451
|
+
},
|
|
452
|
+
reviewer_results: reviewerResults.map(r => ({
|
|
453
|
+
provider: r.provider || 'unknown',
|
|
454
|
+
model: r.model || 'unknown',
|
|
455
|
+
decision: r.decision || 'unclear',
|
|
456
|
+
stdout: r.stdout,
|
|
457
|
+
stderr: r.stderr,
|
|
458
|
+
duration_ms: r.duration,
|
|
459
|
+
})),
|
|
460
|
+
git_context: gitContext,
|
|
461
|
+
};
|
|
462
|
+
try {
|
|
463
|
+
const orchestratorOutput = await (0, invoke_js_1.invokeMultiReviewerOrchestrator)(multiContext, projectPath);
|
|
464
|
+
const handler = new fallback_handler_js_1.OrchestrationFallbackHandler();
|
|
465
|
+
decision = handler.parseReviewerOutput(orchestratorOutput);
|
|
466
|
+
}
|
|
467
|
+
catch (error) {
|
|
468
|
+
console.error('Multi-reviewer orchestrator failed (consensus path):', error);
|
|
469
|
+
const handler = new fallback_handler_js_1.OrchestrationFallbackHandler();
|
|
470
|
+
// REQUIRE UNANIMOUS CONSENSUS for the non-reject finalDecision
|
|
471
|
+
const isUnanimousConsensus = reviewerResults.length > 0 && reviewerResults.every(r => {
|
|
472
|
+
if (r.decision === finalDecision)
|
|
473
|
+
return true;
|
|
474
|
+
return handler.extractExplicitReviewerDecision(r.stdout) === finalDecision;
|
|
475
|
+
});
|
|
476
|
+
if (isUnanimousConsensus) {
|
|
477
|
+
const primaryResult = reviewerResults.find(r => r.decision === finalDecision) || reviewerResults[0];
|
|
478
|
+
decision = {
|
|
479
|
+
decision: (finalDecision === 'unclear' ? 'unclear' : finalDecision),
|
|
480
|
+
reasoning: `FALLBACK: Multi-reviewer orchestrator failed but all reviewers reached consensus: ${finalDecision}`,
|
|
481
|
+
notes: primaryResult?.notes || primaryResult?.stdout || 'No notes provided',
|
|
482
|
+
next_status: finalDecision === 'approve' ? 'completed' :
|
|
483
|
+
finalDecision === 'reject' ? 'in_progress' :
|
|
484
|
+
finalDecision === 'dispute' ? 'disputed' :
|
|
485
|
+
finalDecision === 'skip' ? 'skipped' : 'review',
|
|
486
|
+
metadata: {
|
|
487
|
+
rejection_count: task.rejection_count,
|
|
488
|
+
confidence: 'low',
|
|
489
|
+
push_to_remote: ['approve', 'dispute', 'skip'].includes(finalDecision),
|
|
490
|
+
repeated_issue: false,
|
|
491
|
+
}
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
decision = {
|
|
496
|
+
decision: 'unclear',
|
|
497
|
+
reasoning: 'FALLBACK: Multi-reviewer orchestrator failed and no unanimous consensus',
|
|
498
|
+
notes: 'Review unclear, retrying',
|
|
499
|
+
next_status: 'review',
|
|
500
|
+
metadata: {
|
|
501
|
+
rejection_count: task.rejection_count,
|
|
502
|
+
confidence: 'low',
|
|
503
|
+
push_to_remote: false,
|
|
504
|
+
repeated_issue: false,
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}
|
|
355
510
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
notes: 'Review unclear, retrying',
|
|
363
|
-
next_status: 'review',
|
|
364
|
-
metadata: {
|
|
511
|
+
else {
|
|
512
|
+
// Single reviewer flow
|
|
513
|
+
const context = {
|
|
514
|
+
task: {
|
|
515
|
+
id: task.id,
|
|
516
|
+
title: task.title,
|
|
365
517
|
rejection_count: task.rejection_count,
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
518
|
+
},
|
|
519
|
+
reviewer_output: {
|
|
520
|
+
stdout: reviewerResult.stdout,
|
|
521
|
+
stderr: reviewerResult.stderr,
|
|
522
|
+
exit_code: reviewerResult.exitCode,
|
|
523
|
+
timed_out: reviewerResult.timedOut,
|
|
524
|
+
duration_ms: reviewerResult.duration,
|
|
525
|
+
},
|
|
526
|
+
git_context: gitContext,
|
|
527
|
+
};
|
|
528
|
+
try {
|
|
529
|
+
const orchestratorOutput = await (0, invoke_js_1.invokeReviewerOrchestrator)(context, projectPath);
|
|
530
|
+
const handler = new fallback_handler_js_1.OrchestrationFallbackHandler();
|
|
531
|
+
decision = handler.parseReviewerOutput(orchestratorOutput);
|
|
532
|
+
}
|
|
533
|
+
catch (error) {
|
|
534
|
+
console.error('Orchestrator invocation failed:', error);
|
|
535
|
+
const handler = new fallback_handler_js_1.OrchestrationFallbackHandler();
|
|
536
|
+
const reviewerStdout = reviewerResult?.stdout ?? '';
|
|
537
|
+
const explicitDecision = handler.extractExplicitReviewerDecision(reviewerStdout);
|
|
538
|
+
if (explicitDecision) {
|
|
539
|
+
decision = {
|
|
540
|
+
decision: explicitDecision,
|
|
541
|
+
reasoning: `FALLBACK: Orchestrator failed but reviewer explicitly signaled ${explicitDecision.toUpperCase()}`,
|
|
542
|
+
notes: reviewerStdout,
|
|
543
|
+
next_status: explicitDecision === 'approve' ? 'completed' :
|
|
544
|
+
explicitDecision === 'reject' ? 'in_progress' :
|
|
545
|
+
explicitDecision === 'dispute' ? 'disputed' :
|
|
546
|
+
explicitDecision === 'skip' ? 'skipped' : 'review',
|
|
547
|
+
metadata: {
|
|
548
|
+
rejection_count: task.rejection_count,
|
|
549
|
+
confidence: 'low',
|
|
550
|
+
push_to_remote: ['approve', 'dispute', 'skip'].includes(explicitDecision),
|
|
551
|
+
repeated_issue: false,
|
|
552
|
+
}
|
|
553
|
+
};
|
|
369
554
|
}
|
|
370
|
-
|
|
555
|
+
else {
|
|
556
|
+
decision = {
|
|
557
|
+
decision: 'unclear',
|
|
558
|
+
reasoning: 'FALLBACK: Orchestrator failed, retrying review',
|
|
559
|
+
notes: 'Review unclear, retrying',
|
|
560
|
+
next_status: 'review',
|
|
561
|
+
metadata: {
|
|
562
|
+
rejection_count: task.rejection_count,
|
|
563
|
+
confidence: 'low',
|
|
564
|
+
push_to_remote: false,
|
|
565
|
+
repeated_issue: false,
|
|
566
|
+
}
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
}
|
|
371
570
|
}
|
|
372
|
-
// STEP
|
|
373
|
-
|
|
374
|
-
let decision = handler.parseReviewerOutput(orchestratorOutput);
|
|
375
|
-
if (decision.decision === 'unclear' && decision.reasoning.startsWith('FALLBACK: Orchestrator failed')) {
|
|
571
|
+
// STEP 4: Fallback for unclear decisions
|
|
572
|
+
if (decision.decision === 'unclear' && decision.reasoning.includes('FALLBACK: Orchestrator failed')) {
|
|
376
573
|
const consecutiveParseFallbackRetries = countConsecutiveOrchestratorFallbackEntries(db, task.id, REVIEWER_PARSE_FALLBACK_MARKER) + 1;
|
|
377
574
|
if (consecutiveParseFallbackRetries >= MAX_ORCHESTRATOR_PARSE_RETRIES) {
|
|
378
575
|
decision = {
|
|
@@ -395,12 +592,49 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
|
|
|
395
592
|
};
|
|
396
593
|
}
|
|
397
594
|
}
|
|
398
|
-
// STEP
|
|
595
|
+
// STEP 5: Log orchestrator decision for audit trail
|
|
399
596
|
(0, queries_js_1.addAuditEntry)(db, task.id, task.status, decision.next_status, 'orchestrator', {
|
|
400
597
|
actorType: 'orchestrator',
|
|
401
598
|
notes: `[${decision.decision}] ${decision.reasoning} (confidence: ${decision.metadata.confidence})`,
|
|
402
599
|
});
|
|
403
|
-
// STEP
|
|
600
|
+
// STEP 5.5: Create follow-up tasks if any (ONLY on approval)
|
|
601
|
+
if (decision.decision === 'approve' && decision.follow_up_tasks && decision.follow_up_tasks.length > 0) {
|
|
602
|
+
const depth = (0, queries_js_1.getFollowUpDepth)(db, task.id);
|
|
603
|
+
const maxDepth = config.followUpTasks?.maxDepth ?? 2;
|
|
604
|
+
if (depth < maxDepth) {
|
|
605
|
+
for (const followUp of decision.follow_up_tasks) {
|
|
606
|
+
try {
|
|
607
|
+
const nextDepth = depth + 1;
|
|
608
|
+
// Policy: Auto-implement depth 1 if configured.
|
|
609
|
+
// Depth 2+ always requires human promotion (approval).
|
|
610
|
+
let requiresPromotion = true;
|
|
611
|
+
if (nextDepth === 1 && config.followUpTasks?.autoImplementDepth1) {
|
|
612
|
+
requiresPromotion = false;
|
|
613
|
+
}
|
|
614
|
+
const followUpId = (0, queries_js_1.createFollowUpTask)(db, {
|
|
615
|
+
title: followUp.title,
|
|
616
|
+
description: followUp.description,
|
|
617
|
+
sectionId: task.section_id,
|
|
618
|
+
referenceTaskId: task.id,
|
|
619
|
+
referenceCommit: commit_sha || undefined,
|
|
620
|
+
requiresPromotion,
|
|
621
|
+
depth: nextDepth,
|
|
622
|
+
});
|
|
623
|
+
if (!jsonMode) {
|
|
624
|
+
const statusLabel = requiresPromotion ? '(deferred)' : '(active)';
|
|
625
|
+
console.log(`\n+ Created follow-up task ${statusLabel}: ${followUp.title} (${followUpId.substring(0, 8)})`);
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
catch (error) {
|
|
629
|
+
console.warn(`Failed to create follow-up task "${followUp.title}":`, error);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
else if (!jsonMode) {
|
|
634
|
+
console.log(`\n! Follow-up depth limit reached (${depth}), skipping new follow-ups.`);
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
// STEP 6: Execute the decision
|
|
404
638
|
const commitSha = commit_sha || undefined;
|
|
405
639
|
switch (decision.decision) {
|
|
406
640
|
case 'approve':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/commands/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA6EnD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/commands/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA6EnD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0XnF"}
|
package/dist/commands/loop.js
CHANGED
|
@@ -359,7 +359,7 @@ async function loopCommand(args, flags) {
|
|
|
359
359
|
const cachedCoord = coordinatorCache.get(task.id);
|
|
360
360
|
phaseResult = await (0, loop_phases_js_1.runReviewerPhase)(db, task, projectPath, flags.json, cachedCoord);
|
|
361
361
|
}
|
|
362
|
-
// Handle credit exhaustion
|
|
362
|
+
// Handle credit exhaustion or rate limits
|
|
363
363
|
if (phaseResult?.action === 'pause_credit_exhaustion') {
|
|
364
364
|
const pauseResult = await (0, credit_pause_js_1.handleCreditExhaustion)({
|
|
365
365
|
provider: phaseResult.provider,
|
|
@@ -383,6 +383,17 @@ async function loopCommand(args, flags) {
|
|
|
383
383
|
break;
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
|
+
else if (phaseResult?.action === 'rate_limit') {
|
|
387
|
+
const delayMs = phaseResult.retryAfterMs ?? 60000;
|
|
388
|
+
const delayMin = (delayMs / 60000).toFixed(1);
|
|
389
|
+
if (!flags.json) {
|
|
390
|
+
console.log(`\n[RATE LIMIT] ${phaseResult.message}`);
|
|
391
|
+
console.log(` Provider: ${phaseResult.provider} (${phaseResult.model})`);
|
|
392
|
+
console.log(` Waiting ${delayMin}m before retrying...`);
|
|
393
|
+
}
|
|
394
|
+
await sleep(delayMs);
|
|
395
|
+
continue; // Retry the same task
|
|
396
|
+
}
|
|
386
397
|
// Check if we should continue
|
|
387
398
|
if (values.once) {
|
|
388
399
|
if (!flags.json) {
|