@zhixuan92/multi-model-agent-core 0.4.0 → 1.0.0
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/config/load.js +9 -9
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +168 -275
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +30 -39
- package/dist/config/schema.js.map +1 -1
- package/dist/cost/cost-meter.d.ts +13 -0
- package/dist/cost/cost-meter.d.ts.map +1 -0
- package/dist/cost/cost-meter.js +20 -0
- package/dist/cost/cost-meter.js.map +1 -0
- package/dist/delegate-with-escalation.d.ts +1 -28
- package/dist/delegate-with-escalation.d.ts.map +1 -1
- package/dist/delegate-with-escalation.js +9 -89
- package/dist/delegate-with-escalation.js.map +1 -1
- package/dist/error-codes.d.ts +4 -0
- package/dist/error-codes.d.ts.map +1 -0
- package/dist/error-codes.js +16 -0
- package/dist/error-codes.js.map +1 -0
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/model-profiles.json +10 -5
- package/dist/provider.d.ts +2 -2
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +10 -13
- package/dist/provider.js.map +1 -1
- package/dist/readiness/normalization-budget.d.ts +2 -0
- package/dist/readiness/normalization-budget.d.ts.map +1 -0
- package/dist/readiness/normalization-budget.js +9 -0
- package/dist/readiness/normalization-budget.js.map +1 -0
- package/dist/readiness/normalize-brief.d.ts +17 -0
- package/dist/readiness/normalize-brief.d.ts.map +1 -0
- package/dist/readiness/normalize-brief.js +124 -0
- package/dist/readiness/normalize-brief.js.map +1 -0
- package/dist/readiness/readiness.d.ts +16 -0
- package/dist/readiness/readiness.d.ts.map +1 -0
- package/dist/readiness/readiness.js +160 -0
- package/dist/readiness/readiness.js.map +1 -0
- package/dist/reporting/structured-report.d.ts +18 -0
- package/dist/reporting/structured-report.d.ts.map +1 -0
- package/dist/reporting/structured-report.js +100 -0
- package/dist/reporting/structured-report.js.map +1 -0
- package/dist/review/aggregate-result.d.ts +3 -0
- package/dist/review/aggregate-result.d.ts.map +1 -0
- package/dist/review/aggregate-result.js +31 -0
- package/dist/review/aggregate-result.js.map +1 -0
- package/dist/review/quality-reviewer.d.ts +13 -0
- package/dist/review/quality-reviewer.d.ts.map +1 -0
- package/dist/review/quality-reviewer.js +39 -0
- package/dist/review/quality-reviewer.js.map +1 -0
- package/dist/review/reviewer-prompt.d.ts +10 -0
- package/dist/review/reviewer-prompt.d.ts.map +1 -0
- package/dist/review/reviewer-prompt.js +58 -0
- package/dist/review/reviewer-prompt.js.map +1 -0
- package/dist/review/spec-reviewer.d.ts +13 -0
- package/dist/review/spec-reviewer.d.ts.map +1 -0
- package/dist/review/spec-reviewer.js +37 -0
- package/dist/review/spec-reviewer.js.map +1 -0
- package/dist/routing/model-profiles.d.ts +5 -0
- package/dist/routing/model-profiles.d.ts.map +1 -1
- package/dist/routing/model-profiles.js +5 -0
- package/dist/routing/model-profiles.js.map +1 -1
- package/dist/routing/resolve-agent.d.ts +8 -0
- package/dist/routing/resolve-agent.d.ts.map +1 -0
- package/dist/routing/resolve-agent.js +45 -0
- package/dist/routing/resolve-agent.js.map +1 -0
- package/dist/run-tasks.d.ts +0 -23
- package/dist/run-tasks.d.ts.map +1 -1
- package/dist/run-tasks.js +241 -72
- package/dist/run-tasks.js.map +1 -1
- package/dist/runners/claude-runner.d.ts.map +1 -1
- package/dist/runners/claude-runner.js +67 -24
- package/dist/runners/claude-runner.js.map +1 -1
- package/dist/runners/codex-runner.d.ts.map +1 -1
- package/dist/runners/codex-runner.js +68 -21
- package/dist/runners/codex-runner.js.map +1 -1
- package/dist/runners/openai-runner.d.ts.map +1 -1
- package/dist/runners/openai-runner.js +139 -20
- package/dist/runners/openai-runner.js.map +1 -1
- package/dist/runners/prevention.d.ts +2 -0
- package/dist/runners/prevention.d.ts.map +1 -1
- package/dist/runners/prevention.js +12 -0
- package/dist/runners/prevention.js.map +1 -1
- package/dist/runners/supervision.d.ts +1 -5
- package/dist/runners/supervision.d.ts.map +1 -1
- package/dist/runners/supervision.js +0 -68
- package/dist/runners/supervision.js.map +1 -1
- package/dist/tools/call-cache.d.ts +16 -0
- package/dist/tools/call-cache.d.ts.map +1 -0
- package/dist/tools/call-cache.js +28 -0
- package/dist/tools/call-cache.js.map +1 -0
- package/dist/types.d.ts +78 -30
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +48 -16
- package/dist/routing/capabilities.d.ts +0 -3
- package/dist/routing/capabilities.d.ts.map +0 -1
- package/dist/routing/capabilities.js +0 -26
- package/dist/routing/capabilities.js.map +0 -1
- package/dist/routing/get-provider-eligibility.d.ts +0 -8
- package/dist/routing/get-provider-eligibility.d.ts.map +0 -1
- package/dist/routing/get-provider-eligibility.js +0 -53
- package/dist/routing/get-provider-eligibility.js.map +0 -1
- package/dist/routing/resolve-task-capabilities.d.ts +0 -7
- package/dist/routing/resolve-task-capabilities.d.ts.map +0 -1
- package/dist/routing/resolve-task-capabilities.js +0 -19
- package/dist/routing/resolve-task-capabilities.js.map +0 -1
- package/dist/routing/select-provider-for-task.d.ts +0 -18
- package/dist/routing/select-provider-for-task.d.ts.map +0 -1
- package/dist/routing/select-provider-for-task.js +0 -50
- package/dist/routing/select-provider-for-task.js.map +0 -1
|
@@ -5,8 +5,10 @@ import { FileTracker } from '../tools/tracker.js';
|
|
|
5
5
|
import { createToolImplementations } from '../tools/definitions.js';
|
|
6
6
|
import { createClaudeToolServer } from '../tools/claude-adapter.js';
|
|
7
7
|
import { TextScratchpad } from '../tools/scratchpad.js';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { CostMeter } from '../cost/cost-meter.js';
|
|
9
|
+
import { CallCache } from '../tools/call-cache.js';
|
|
10
|
+
import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
|
|
11
|
+
import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, } from './supervision.js';
|
|
10
12
|
import { injectionTypeFor } from './injection-type.js';
|
|
11
13
|
import { classifyError } from './error-classification.js';
|
|
12
14
|
import { findModelProfile } from '../routing/model-profiles.js';
|
|
@@ -99,11 +101,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
99
101
|
// upstream and cannot corrupt this loop. We do not need to wrap it
|
|
100
102
|
// again here.
|
|
101
103
|
const onProgress = options.onProgress;
|
|
102
|
-
const shouldCaptureTrace = options.includeProgressTrace ?? false;
|
|
103
|
-
const traceBuffer = [];
|
|
104
104
|
const emit = (event) => {
|
|
105
|
-
if (shouldCaptureTrace)
|
|
106
|
-
traceBuffer.push(event);
|
|
107
105
|
if (onProgress)
|
|
108
106
|
onProgress(event);
|
|
109
107
|
};
|
|
@@ -124,6 +122,48 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
124
122
|
emit({ kind: 'tool_call', turn: turns, toolSummary: summary });
|
|
125
123
|
});
|
|
126
124
|
const toolImpls = createToolImplementations(tracker, cwd, sandboxPolicy, abortController.signal);
|
|
125
|
+
// --- Cost meter (Task 25) ------------------------------------------------
|
|
126
|
+
const costMeter = new CostMeter({ ceiling: options.maxCostUSD });
|
|
127
|
+
// --- Call cache (Task 25) ------------------------------------------------
|
|
128
|
+
const callCache = new CallCache();
|
|
129
|
+
const agentType = providerConfig.type ?? 'claude';
|
|
130
|
+
// Track last turn cost for estimating next turn cost
|
|
131
|
+
let lastTurnCostUSD = 0;
|
|
132
|
+
/**
|
|
133
|
+
* Check if we can afford the next turn based on previous turn cost estimate.
|
|
134
|
+
*/
|
|
135
|
+
function canAffordNextTurn() {
|
|
136
|
+
if (!costMeter.canProceed(lastTurnCostUSD > 0 ? lastTurnCostUSD : 0.001)) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Build a cost_exceeded result.
|
|
143
|
+
*/
|
|
144
|
+
function buildCostExceededResult() {
|
|
145
|
+
const finalCostUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, costUSD);
|
|
146
|
+
const savedCostUSD = computeSavedCostUSD(finalCostUSD, inputTokens, outputTokens, parentModel);
|
|
147
|
+
return {
|
|
148
|
+
output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
|
|
149
|
+
status: 'cost_exceeded',
|
|
150
|
+
usage: {
|
|
151
|
+
inputTokens,
|
|
152
|
+
outputTokens,
|
|
153
|
+
totalTokens: inputTokens + outputTokens,
|
|
154
|
+
costUSD: finalCostUSD,
|
|
155
|
+
savedCostUSD,
|
|
156
|
+
},
|
|
157
|
+
turns,
|
|
158
|
+
filesRead: tracker.getReads(),
|
|
159
|
+
directoriesListed: tracker.getDirectoriesListed(),
|
|
160
|
+
filesWritten: tracker.getWrites(),
|
|
161
|
+
toolCalls: tracker.getToolCalls(),
|
|
162
|
+
outputIsDiagnostic: true,
|
|
163
|
+
escalationLog: [],
|
|
164
|
+
durationMs: Date.now() - taskStartMs,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
127
167
|
// --- Prevention layer: system prompt + budget hint ---
|
|
128
168
|
//
|
|
129
169
|
// buildSystemPrompt() is deliberately static and parameter-free (same
|
|
@@ -134,7 +174,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
134
174
|
// node_modules/@anthropic-ai/claude-agent-sdk/sdk.d.ts L1460-1465 for the
|
|
135
175
|
// systemPrompt union type — `{ type: 'preset', preset: 'claude_code',
|
|
136
176
|
// append: string }` is the intended "add to defaults" shape.
|
|
137
|
-
const systemPrompt = buildSystemPrompt();
|
|
177
|
+
const systemPrompt = buildSystemPrompt() + buildFormatConstraintSuffix(options.formatConstraints ?? {});
|
|
138
178
|
const budgetHint = buildBudgetHint({ maxTurns });
|
|
139
179
|
const promptWithBudgetHint = `${budgetHint}\n\n${prompt}`;
|
|
140
180
|
// --- onInitialRequest (Task 12) ----------------------------------------
|
|
@@ -331,7 +371,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
331
371
|
softLimit,
|
|
332
372
|
durationMs: Date.now() - taskStartMs,
|
|
333
373
|
parentModel,
|
|
334
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
335
374
|
});
|
|
336
375
|
messageQueue.close();
|
|
337
376
|
abortController.abort();
|
|
@@ -361,6 +400,11 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
361
400
|
// the CLI subprocess decides to emit a final result after it
|
|
362
401
|
// processes the new user message. ---
|
|
363
402
|
if (turns > 0 && turns % RE_GROUNDING_INTERVAL_TURNS === 0) {
|
|
403
|
+
if (!canAffordNextTurn()) {
|
|
404
|
+
completedResult = buildCostExceededResult();
|
|
405
|
+
messageQueue.close();
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
364
408
|
const reground = buildReGroundingMessage({
|
|
365
409
|
originalPromptExcerpt: prompt,
|
|
366
410
|
currentTurn: turns,
|
|
@@ -418,6 +462,12 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
418
462
|
cumulativeInputTokens: inputTokens,
|
|
419
463
|
cumulativeOutputTokens: outputTokens,
|
|
420
464
|
});
|
|
465
|
+
// Track cost for this turn (Task 25)
|
|
466
|
+
const turnCost = computeCostUSD(turnInputTokens, turnOutputTokens, providerConfig);
|
|
467
|
+
if (turnCost !== null) {
|
|
468
|
+
lastTurnCostUSD = turnCost;
|
|
469
|
+
costMeter.add(turnCost);
|
|
470
|
+
}
|
|
421
471
|
// --- Watchdog check on the result message as well: input tokens
|
|
422
472
|
// have just jumped and we may now be in force_salvage territory.
|
|
423
473
|
// The post-result site ONLY handles force_salvage. `warning` is
|
|
@@ -452,7 +502,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
452
502
|
softLimit,
|
|
453
503
|
durationMs: Date.now() - taskStartMs,
|
|
454
504
|
parentModel,
|
|
455
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
456
505
|
});
|
|
457
506
|
messageQueue.close();
|
|
458
507
|
abortController.abort();
|
|
@@ -474,7 +523,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
474
523
|
reason: `claude-agent-sdk signaled error_max_turns after ${turns} turns (user-declared maxTurns: ${maxTurns})`,
|
|
475
524
|
durationMs: Date.now() - taskStartMs,
|
|
476
525
|
parentModel,
|
|
477
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
478
526
|
});
|
|
479
527
|
messageQueue.close();
|
|
480
528
|
break;
|
|
@@ -499,7 +547,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
499
547
|
output,
|
|
500
548
|
durationMs: Date.now() - taskStartMs,
|
|
501
549
|
parentModel,
|
|
502
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
503
550
|
});
|
|
504
551
|
messageQueue.close();
|
|
505
552
|
break;
|
|
@@ -519,7 +566,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
519
566
|
reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
|
|
520
567
|
durationMs: Date.now() - taskStartMs,
|
|
521
568
|
parentModel,
|
|
522
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
523
569
|
});
|
|
524
570
|
messageQueue.close();
|
|
525
571
|
break;
|
|
@@ -538,12 +584,16 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
538
584
|
reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
|
|
539
585
|
durationMs: Date.now() - taskStartMs,
|
|
540
586
|
parentModel,
|
|
541
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
542
587
|
});
|
|
543
588
|
messageQueue.close();
|
|
544
589
|
break;
|
|
545
590
|
}
|
|
546
591
|
// Push the re-prompt and continue reading the iterator.
|
|
592
|
+
if (!canAffordNextTurn()) {
|
|
593
|
+
completedResult = buildCostExceededResult();
|
|
594
|
+
messageQueue.close();
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
547
597
|
const rePrompt = buildRePrompt(validation);
|
|
548
598
|
emit({
|
|
549
599
|
kind: 'injection',
|
|
@@ -585,7 +635,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
585
635
|
escalationLog: [],
|
|
586
636
|
error: msg || reason,
|
|
587
637
|
durationMs: Date.now() - taskStartMs,
|
|
588
|
-
...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
589
638
|
};
|
|
590
639
|
}
|
|
591
640
|
// Every `break` inside the iterator above assigned `completedResult`
|
|
@@ -607,7 +656,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
607
656
|
turns,
|
|
608
657
|
durationMs: Date.now() - taskStartMs,
|
|
609
658
|
parentModel,
|
|
610
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
611
659
|
});
|
|
612
660
|
emit({ kind: 'done', status: drained.status });
|
|
613
661
|
return drained;
|
|
@@ -635,7 +683,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
|
635
683
|
outputIsDiagnostic: !hasSalvage,
|
|
636
684
|
escalationLog: [],
|
|
637
685
|
durationMs: Date.now() - taskStartMs,
|
|
638
|
-
...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
639
686
|
};
|
|
640
687
|
}, abortController);
|
|
641
688
|
}
|
|
@@ -644,7 +691,7 @@ function effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCost)
|
|
|
644
691
|
return computed ?? sdkCost;
|
|
645
692
|
}
|
|
646
693
|
function buildClaudeOkResult(args) {
|
|
647
|
-
const { tracker, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, output, durationMs, parentModel
|
|
694
|
+
const { tracker, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, output, durationMs, parentModel } = args;
|
|
648
695
|
const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
|
|
649
696
|
const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
|
|
650
697
|
return {
|
|
@@ -666,7 +713,6 @@ function buildClaudeOkResult(args) {
|
|
|
666
713
|
outputIsDiagnostic: false,
|
|
667
714
|
escalationLog: [],
|
|
668
715
|
durationMs,
|
|
669
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
670
716
|
};
|
|
671
717
|
}
|
|
672
718
|
/**
|
|
@@ -674,7 +720,7 @@ function buildClaudeOkResult(args) {
|
|
|
674
720
|
* scratchpad salvage; fall back to the incomplete diagnostic.
|
|
675
721
|
*/
|
|
676
722
|
function buildClaudeIncompleteResult(args) {
|
|
677
|
-
const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, reason, durationMs, parentModel
|
|
723
|
+
const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, reason, durationMs, parentModel } = args;
|
|
678
724
|
const filesRead = tracker.getReads();
|
|
679
725
|
const filesWritten = tracker.getWrites();
|
|
680
726
|
const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
|
|
@@ -707,11 +753,10 @@ function buildClaudeIncompleteResult(args) {
|
|
|
707
753
|
escalationLog: [],
|
|
708
754
|
error: reason,
|
|
709
755
|
durationMs,
|
|
710
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
711
756
|
};
|
|
712
757
|
}
|
|
713
758
|
function buildClaudeForceSalvageResult(args) {
|
|
714
|
-
const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel
|
|
759
|
+
const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel } = args;
|
|
715
760
|
const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
|
|
716
761
|
const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
|
|
717
762
|
const hasSalvage = !scratchpad.isEmpty();
|
|
@@ -735,11 +780,10 @@ function buildClaudeForceSalvageResult(args) {
|
|
|
735
780
|
outputIsDiagnostic: !hasSalvage,
|
|
736
781
|
escalationLog: [],
|
|
737
782
|
durationMs,
|
|
738
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
739
783
|
};
|
|
740
784
|
}
|
|
741
785
|
function buildClaudeMaxTurnsResult(args) {
|
|
742
|
-
const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel
|
|
786
|
+
const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel } = args;
|
|
743
787
|
const hasSalvage = !scratchpad.isEmpty();
|
|
744
788
|
// Note: `lastOutput` here is the model's last streamed text before the
|
|
745
789
|
// max-turns boundary — NOT a diagnostic template. If the scratchpad has
|
|
@@ -771,7 +815,6 @@ function buildClaudeMaxTurnsResult(args) {
|
|
|
771
815
|
escalationLog: [],
|
|
772
816
|
error: reason,
|
|
773
817
|
durationMs,
|
|
774
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
775
818
|
};
|
|
776
819
|
}
|
|
777
820
|
function buildClaudeIncompleteDiagnostic(opts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/runners/claude-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/runners/claude-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-runner.d.ts","sourceRoot":"","sources":["../../src/runners/codex-runner.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-runner.d.ts","sourceRoot":"","sources":["../../src/runners/codex-runner.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAgDrB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,MAAM,CAkD9E;AA0FD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACxE,OAAO,CAAC,SAAS,CAAC,CAgqBpB"}
|
|
@@ -6,8 +6,10 @@ import { withTimeout, computeCostUSD, computeSavedCostUSD, } from '../types.js';
|
|
|
6
6
|
import { FileTracker } from '../tools/tracker.js';
|
|
7
7
|
import { createToolImplementations } from '../tools/definitions.js';
|
|
8
8
|
import { TextScratchpad } from '../tools/scratchpad.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { CostMeter } from '../cost/cost-meter.js';
|
|
10
|
+
import { CallCache } from '../tools/call-cache.js';
|
|
11
|
+
import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
|
|
12
|
+
import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, } from './supervision.js';
|
|
11
13
|
import { injectionTypeFor } from './injection-type.js';
|
|
12
14
|
import { classifyError } from './error-classification.js';
|
|
13
15
|
import { findModelProfile } from '../routing/model-profiles.js';
|
|
@@ -165,11 +167,7 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
165
167
|
// upstream and cannot corrupt this loop. We do not need to wrap it
|
|
166
168
|
// again here.
|
|
167
169
|
const onProgress = options.onProgress;
|
|
168
|
-
const shouldCaptureTrace = options.includeProgressTrace ?? false;
|
|
169
|
-
const traceBuffer = [];
|
|
170
170
|
const emit = (event) => {
|
|
171
|
-
if (shouldCaptureTrace)
|
|
172
|
-
traceBuffer.push(event);
|
|
173
171
|
if (onProgress)
|
|
174
172
|
onProgress(event);
|
|
175
173
|
};
|
|
@@ -190,6 +188,48 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
190
188
|
emit({ kind: 'tool_call', turn: turns, toolSummary: summary });
|
|
191
189
|
});
|
|
192
190
|
const toolImpls = createToolImplementations(tracker, cwd, sandboxPolicy, abortController.signal);
|
|
191
|
+
// --- Cost meter (Task 25) ------------------------------------------------
|
|
192
|
+
const costMeter = new CostMeter({ ceiling: options.maxCostUSD });
|
|
193
|
+
// --- Call cache (Task 25) ------------------------------------------------
|
|
194
|
+
const callCache = new CallCache();
|
|
195
|
+
const agentType = providerConfig.type ?? 'codex';
|
|
196
|
+
// Track last turn cost for estimating next turn cost
|
|
197
|
+
let lastTurnCostUSD = 0;
|
|
198
|
+
/**
|
|
199
|
+
* Check if we can afford the next turn based on previous turn cost estimate.
|
|
200
|
+
*/
|
|
201
|
+
function canAffordNextTurn() {
|
|
202
|
+
if (!costMeter.canProceed(lastTurnCostUSD > 0 ? lastTurnCostUSD : 0.001)) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Build a cost_exceeded result.
|
|
209
|
+
*/
|
|
210
|
+
function buildCostExceededResult() {
|
|
211
|
+
const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
|
|
212
|
+
const savedCostUSD = computeSavedCostUSD(costUSD ?? 0, inputTokens, outputTokens, parentModel);
|
|
213
|
+
return {
|
|
214
|
+
output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
|
|
215
|
+
status: 'cost_exceeded',
|
|
216
|
+
usage: {
|
|
217
|
+
inputTokens,
|
|
218
|
+
outputTokens,
|
|
219
|
+
totalTokens: inputTokens + outputTokens,
|
|
220
|
+
costUSD: costUSD ?? 0,
|
|
221
|
+
savedCostUSD,
|
|
222
|
+
},
|
|
223
|
+
turns,
|
|
224
|
+
filesRead: tracker.getReads(),
|
|
225
|
+
directoriesListed: tracker.getDirectoriesListed(),
|
|
226
|
+
filesWritten: tracker.getWrites(),
|
|
227
|
+
toolCalls: tracker.getToolCalls(),
|
|
228
|
+
outputIsDiagnostic: true,
|
|
229
|
+
escalationLog: [],
|
|
230
|
+
durationMs: Date.now() - taskStartMs,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
193
233
|
const codexTools = toolMode === 'full' ? buildCodexTools(toolImpls, sandboxPolicy) : [];
|
|
194
234
|
const toolsByName = new Map(codexTools.map(t => [t.name, t]));
|
|
195
235
|
const responsesTools = codexTools.map(t => ({
|
|
@@ -216,7 +256,7 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
216
256
|
// provider/maxTurns options). The budget hint is prepended to the user
|
|
217
257
|
// prompt so the model sees it as part of its task brief, while the system
|
|
218
258
|
// prompt is threaded through the Responses API `instructions` field.
|
|
219
|
-
const systemPrompt = buildSystemPrompt();
|
|
259
|
+
const systemPrompt = buildSystemPrompt() + buildFormatConstraintSuffix(options.formatConstraints ?? {});
|
|
220
260
|
const budgetHint = buildBudgetHint({ maxTurns });
|
|
221
261
|
const promptWithBudgetHint = `${budgetHint}\n\n${prompt}`;
|
|
222
262
|
// --- onInitialRequest (Task 12) ----------------------------------------
|
|
@@ -301,6 +341,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
301
341
|
let lastWarnedInputTokens = -1;
|
|
302
342
|
try {
|
|
303
343
|
while (turns < maxTurns) {
|
|
344
|
+
// Track tokens at start of turn for cost accounting
|
|
345
|
+
const tokensAtTurnStart = inputTokens;
|
|
346
|
+
const outputTokensAtTurnStart = outputTokens;
|
|
304
347
|
turns++;
|
|
305
348
|
// Emit turn_start AFTER incrementing so `turn` matches the 1-indexed
|
|
306
349
|
// turn number we use everywhere else in this runner (the scratchpad
|
|
@@ -461,7 +504,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
461
504
|
softLimit,
|
|
462
505
|
durationMs: Date.now() - taskStartMs,
|
|
463
506
|
parentModel,
|
|
464
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
465
507
|
});
|
|
466
508
|
emit({ kind: 'done', status: salvaged.status });
|
|
467
509
|
return salvaged;
|
|
@@ -489,6 +531,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
489
531
|
}
|
|
490
532
|
// --- Periodic re-grounding inside the loop ---------------------
|
|
491
533
|
if (turns > 0 && turns % RE_GROUNDING_INTERVAL_TURNS === 0) {
|
|
534
|
+
if (!canAffordNextTurn()) {
|
|
535
|
+
return buildCostExceededResult();
|
|
536
|
+
}
|
|
492
537
|
const reground = buildReGroundingMessage({
|
|
493
538
|
originalPromptExcerpt: prompt,
|
|
494
539
|
currentTurn: turns,
|
|
@@ -522,6 +567,14 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
522
567
|
cumulativeInputTokens: inputTokens,
|
|
523
568
|
cumulativeOutputTokens: outputTokens,
|
|
524
569
|
});
|
|
570
|
+
// Track cost for this turn (Task 25)
|
|
571
|
+
const turnInputTokens = inputTokens - tokensAtTurnStart;
|
|
572
|
+
const turnOutputTokens = outputTokens - outputTokensAtTurnStart;
|
|
573
|
+
const turnCost = computeCostUSD(turnInputTokens, turnOutputTokens, providerConfig);
|
|
574
|
+
if (turnCost !== null) {
|
|
575
|
+
lastTurnCostUSD = turnCost;
|
|
576
|
+
costMeter.add(turnCost);
|
|
577
|
+
}
|
|
525
578
|
// If the model made no tool calls, the turn ended with either a
|
|
526
579
|
// final answer or a degenerate emission. Wrap in the supervision
|
|
527
580
|
// state machine: valid text is an immediate ok-exit; degenerate
|
|
@@ -545,7 +598,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
545
598
|
output: stripped,
|
|
546
599
|
durationMs: Date.now() - taskStartMs,
|
|
547
600
|
parentModel,
|
|
548
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
549
601
|
});
|
|
550
602
|
emit({ kind: 'done', status: ok.status });
|
|
551
603
|
return ok;
|
|
@@ -566,7 +618,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
566
618
|
reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
|
|
567
619
|
durationMs: Date.now() - taskStartMs,
|
|
568
620
|
parentModel,
|
|
569
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
570
621
|
});
|
|
571
622
|
emit({ kind: 'done', status: exhausted.status });
|
|
572
623
|
return exhausted;
|
|
@@ -576,6 +627,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
576
627
|
// to the re-prompt directly.
|
|
577
628
|
lastDegenerateOutput = stripped;
|
|
578
629
|
supervisionRetries++;
|
|
630
|
+
if (!canAffordNextTurn()) {
|
|
631
|
+
return buildCostExceededResult();
|
|
632
|
+
}
|
|
579
633
|
const rePrompt = buildRePrompt(validation);
|
|
580
634
|
input.push({
|
|
581
635
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -627,7 +681,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
627
681
|
reason: `hand-rolled loop exited after completing ${turns} of ${maxTurns} user-declared turns without producing a clean final answer`,
|
|
628
682
|
durationMs: Date.now() - taskStartMs,
|
|
629
683
|
parentModel,
|
|
630
|
-
traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
|
|
631
684
|
});
|
|
632
685
|
emit({ kind: 'done', status: maxTurnsResult.status });
|
|
633
686
|
return maxTurnsResult;
|
|
@@ -707,7 +760,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
707
760
|
escalationLog: [],
|
|
708
761
|
error: detailed,
|
|
709
762
|
durationMs: Date.now() - taskStartMs,
|
|
710
|
-
...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
711
763
|
};
|
|
712
764
|
}
|
|
713
765
|
};
|
|
@@ -737,12 +789,11 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
|
|
|
737
789
|
outputIsDiagnostic: !hasSalvage,
|
|
738
790
|
escalationLog: [],
|
|
739
791
|
durationMs: Date.now() - taskStartMs,
|
|
740
|
-
...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
741
792
|
};
|
|
742
793
|
}, abortController);
|
|
743
794
|
}
|
|
744
795
|
function buildCodexOkResult(args) {
|
|
745
|
-
const { tracker, providerConfig, inputTokens, outputTokens, turns, output, durationMs, parentModel
|
|
796
|
+
const { tracker, providerConfig, inputTokens, outputTokens, turns, output, durationMs, parentModel } = args;
|
|
746
797
|
const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
|
|
747
798
|
const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
|
|
748
799
|
return {
|
|
@@ -764,7 +815,6 @@ function buildCodexOkResult(args) {
|
|
|
764
815
|
outputIsDiagnostic: false,
|
|
765
816
|
escalationLog: [],
|
|
766
817
|
durationMs,
|
|
767
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
768
818
|
};
|
|
769
819
|
}
|
|
770
820
|
/**
|
|
@@ -772,7 +822,7 @@ function buildCodexOkResult(args) {
|
|
|
772
822
|
* scratchpad salvage; fall back to the incomplete diagnostic.
|
|
773
823
|
*/
|
|
774
824
|
function buildCodexIncompleteResult(args) {
|
|
775
|
-
const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, reason, durationMs, parentModel
|
|
825
|
+
const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, reason, durationMs, parentModel } = args;
|
|
776
826
|
const filesRead = tracker.getReads();
|
|
777
827
|
const filesWritten = tracker.getWrites();
|
|
778
828
|
const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
|
|
@@ -805,11 +855,10 @@ function buildCodexIncompleteResult(args) {
|
|
|
805
855
|
escalationLog: [],
|
|
806
856
|
error: reason,
|
|
807
857
|
durationMs,
|
|
808
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
809
858
|
};
|
|
810
859
|
}
|
|
811
860
|
function buildCodexForceSalvageResult(args) {
|
|
812
|
-
const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel
|
|
861
|
+
const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel } = args;
|
|
813
862
|
const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
|
|
814
863
|
const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
|
|
815
864
|
const hasSalvage = !scratchpad.isEmpty();
|
|
@@ -833,11 +882,10 @@ function buildCodexForceSalvageResult(args) {
|
|
|
833
882
|
outputIsDiagnostic: !hasSalvage,
|
|
834
883
|
escalationLog: [],
|
|
835
884
|
durationMs,
|
|
836
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
837
885
|
};
|
|
838
886
|
}
|
|
839
887
|
function buildCodexMaxTurnsResult(args) {
|
|
840
|
-
const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel
|
|
888
|
+
const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel } = args;
|
|
841
889
|
const hasSalvage = !scratchpad.isEmpty();
|
|
842
890
|
// Note: `lastOutput` here is the model's final text for the max-turns
|
|
843
891
|
// boundary — real model content, not a diagnostic template. Only the
|
|
@@ -868,7 +916,6 @@ function buildCodexMaxTurnsResult(args) {
|
|
|
868
916
|
escalationLog: [],
|
|
869
917
|
error: reason,
|
|
870
918
|
durationMs,
|
|
871
|
-
...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
|
|
872
919
|
};
|
|
873
920
|
}
|
|
874
921
|
function buildCodexIncompleteDiagnostic(opts) {
|