@zhixuan92/multi-model-agent-core 0.3.1 → 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.
Files changed (112) hide show
  1. package/dist/config/load.js +9 -9
  2. package/dist/config/load.js.map +1 -1
  3. package/dist/config/schema.d.ts +168 -275
  4. package/dist/config/schema.d.ts.map +1 -1
  5. package/dist/config/schema.js +30 -39
  6. package/dist/config/schema.js.map +1 -1
  7. package/dist/cost/cost-meter.d.ts +13 -0
  8. package/dist/cost/cost-meter.d.ts.map +1 -0
  9. package/dist/cost/cost-meter.js +20 -0
  10. package/dist/cost/cost-meter.js.map +1 -0
  11. package/dist/delegate-with-escalation.d.ts +1 -28
  12. package/dist/delegate-with-escalation.d.ts.map +1 -1
  13. package/dist/delegate-with-escalation.js +10 -89
  14. package/dist/delegate-with-escalation.js.map +1 -1
  15. package/dist/error-codes.d.ts +4 -0
  16. package/dist/error-codes.d.ts.map +1 -0
  17. package/dist/error-codes.js +16 -0
  18. package/dist/error-codes.js.map +1 -0
  19. package/dist/index.d.ts +5 -5
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +4 -5
  22. package/dist/index.js.map +1 -1
  23. package/dist/model-profiles.json +10 -5
  24. package/dist/provider.d.ts +2 -2
  25. package/dist/provider.d.ts.map +1 -1
  26. package/dist/provider.js +10 -13
  27. package/dist/provider.js.map +1 -1
  28. package/dist/readiness/normalization-budget.d.ts +2 -0
  29. package/dist/readiness/normalization-budget.d.ts.map +1 -0
  30. package/dist/readiness/normalization-budget.js +9 -0
  31. package/dist/readiness/normalization-budget.js.map +1 -0
  32. package/dist/readiness/normalize-brief.d.ts +17 -0
  33. package/dist/readiness/normalize-brief.d.ts.map +1 -0
  34. package/dist/readiness/normalize-brief.js +124 -0
  35. package/dist/readiness/normalize-brief.js.map +1 -0
  36. package/dist/readiness/readiness.d.ts +16 -0
  37. package/dist/readiness/readiness.d.ts.map +1 -0
  38. package/dist/readiness/readiness.js +160 -0
  39. package/dist/readiness/readiness.js.map +1 -0
  40. package/dist/reporting/structured-report.d.ts +18 -0
  41. package/dist/reporting/structured-report.d.ts.map +1 -0
  42. package/dist/reporting/structured-report.js +100 -0
  43. package/dist/reporting/structured-report.js.map +1 -0
  44. package/dist/review/aggregate-result.d.ts +3 -0
  45. package/dist/review/aggregate-result.d.ts.map +1 -0
  46. package/dist/review/aggregate-result.js +31 -0
  47. package/dist/review/aggregate-result.js.map +1 -0
  48. package/dist/review/quality-reviewer.d.ts +13 -0
  49. package/dist/review/quality-reviewer.d.ts.map +1 -0
  50. package/dist/review/quality-reviewer.js +39 -0
  51. package/dist/review/quality-reviewer.js.map +1 -0
  52. package/dist/review/reviewer-prompt.d.ts +10 -0
  53. package/dist/review/reviewer-prompt.d.ts.map +1 -0
  54. package/dist/review/reviewer-prompt.js +58 -0
  55. package/dist/review/reviewer-prompt.js.map +1 -0
  56. package/dist/review/spec-reviewer.d.ts +13 -0
  57. package/dist/review/spec-reviewer.d.ts.map +1 -0
  58. package/dist/review/spec-reviewer.js +37 -0
  59. package/dist/review/spec-reviewer.js.map +1 -0
  60. package/dist/routing/model-profiles.d.ts +5 -0
  61. package/dist/routing/model-profiles.d.ts.map +1 -1
  62. package/dist/routing/model-profiles.js +5 -0
  63. package/dist/routing/model-profiles.js.map +1 -1
  64. package/dist/routing/resolve-agent.d.ts +8 -0
  65. package/dist/routing/resolve-agent.d.ts.map +1 -0
  66. package/dist/routing/resolve-agent.js +45 -0
  67. package/dist/routing/resolve-agent.js.map +1 -0
  68. package/dist/run-tasks.d.ts +0 -23
  69. package/dist/run-tasks.d.ts.map +1 -1
  70. package/dist/run-tasks.js +241 -72
  71. package/dist/run-tasks.js.map +1 -1
  72. package/dist/runners/claude-runner.d.ts.map +1 -1
  73. package/dist/runners/claude-runner.js +71 -34
  74. package/dist/runners/claude-runner.js.map +1 -1
  75. package/dist/runners/codex-runner.d.ts.map +1 -1
  76. package/dist/runners/codex-runner.js +72 -31
  77. package/dist/runners/codex-runner.js.map +1 -1
  78. package/dist/runners/openai-runner.d.ts.map +1 -1
  79. package/dist/runners/openai-runner.js +144 -32
  80. package/dist/runners/openai-runner.js.map +1 -1
  81. package/dist/runners/prevention.d.ts +2 -0
  82. package/dist/runners/prevention.d.ts.map +1 -1
  83. package/dist/runners/prevention.js +12 -0
  84. package/dist/runners/prevention.js.map +1 -1
  85. package/dist/runners/supervision.d.ts +31 -5
  86. package/dist/runners/supervision.d.ts.map +1 -1
  87. package/dist/runners/supervision.js +43 -68
  88. package/dist/runners/supervision.js.map +1 -1
  89. package/dist/tools/call-cache.d.ts +16 -0
  90. package/dist/tools/call-cache.d.ts.map +1 -0
  91. package/dist/tools/call-cache.js +28 -0
  92. package/dist/tools/call-cache.js.map +1 -0
  93. package/dist/types.d.ts +92 -30
  94. package/dist/types.d.ts.map +1 -1
  95. package/dist/types.js.map +1 -1
  96. package/package.json +48 -16
  97. package/dist/routing/capabilities.d.ts +0 -3
  98. package/dist/routing/capabilities.d.ts.map +0 -1
  99. package/dist/routing/capabilities.js +0 -26
  100. package/dist/routing/capabilities.js.map +0 -1
  101. package/dist/routing/get-provider-eligibility.d.ts +0 -8
  102. package/dist/routing/get-provider-eligibility.d.ts.map +0 -1
  103. package/dist/routing/get-provider-eligibility.js +0 -53
  104. package/dist/routing/get-provider-eligibility.js.map +0 -1
  105. package/dist/routing/resolve-task-capabilities.d.ts +0 -7
  106. package/dist/routing/resolve-task-capabilities.d.ts.map +0 -1
  107. package/dist/routing/resolve-task-capabilities.js +0 -19
  108. package/dist/routing/resolve-task-capabilities.js.map +0 -1
  109. package/dist/routing/select-provider-for-task.d.ts +0 -18
  110. package/dist/routing/select-provider-for-task.d.ts.map +0 -1
  111. package/dist/routing/select-provider-for-task.js +0 -50
  112. 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 { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
9
- import { validateCompletion, validateCoverage, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, trimProgressTrace, } from './supervision.js';
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;
@@ -483,16 +531,10 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
483
531
  // is an immediate ok-exit. Degenerate output either re-prompts
484
532
  // (and keeps reading the iterator) or — if the retry budget is
485
533
  // spent / same-output early-out fires — exits as incomplete. ---
486
- const validation = validateCompletion(output);
487
- // NEW: coverage check — only when syntactic validation passes
488
- if (validation.valid && options.expectedCoverage) {
489
- const coverageValidation = validateCoverage(output, options.expectedCoverage);
490
- if (!coverageValidation.valid) {
491
- validation.valid = false;
492
- validation.kind = coverageValidation.kind;
493
- validation.reason = coverageValidation.reason;
494
- }
495
- }
534
+ const validation = validateSubAgentOutput(output, {
535
+ expectedCoverage: options.expectedCoverage,
536
+ skipCompletionHeuristic: options.skipCompletionHeuristic,
537
+ });
496
538
  if (validation.valid) {
497
539
  completedResult = buildClaudeOkResult({
498
540
  tracker,
@@ -505,7 +547,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
505
547
  output,
506
548
  durationMs: Date.now() - taskStartMs,
507
549
  parentModel,
508
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
509
550
  });
510
551
  messageQueue.close();
511
552
  break;
@@ -525,7 +566,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
525
566
  reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
526
567
  durationMs: Date.now() - taskStartMs,
527
568
  parentModel,
528
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
529
569
  });
530
570
  messageQueue.close();
531
571
  break;
@@ -544,12 +584,16 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
544
584
  reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
545
585
  durationMs: Date.now() - taskStartMs,
546
586
  parentModel,
547
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
548
587
  });
549
588
  messageQueue.close();
550
589
  break;
551
590
  }
552
591
  // Push the re-prompt and continue reading the iterator.
592
+ if (!canAffordNextTurn()) {
593
+ completedResult = buildCostExceededResult();
594
+ messageQueue.close();
595
+ break;
596
+ }
553
597
  const rePrompt = buildRePrompt(validation);
554
598
  emit({
555
599
  kind: 'injection',
@@ -591,7 +635,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
591
635
  escalationLog: [],
592
636
  error: msg || reason,
593
637
  durationMs: Date.now() - taskStartMs,
594
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
595
638
  };
596
639
  }
597
640
  // Every `break` inside the iterator above assigned `completedResult`
@@ -613,7 +656,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
613
656
  turns,
614
657
  durationMs: Date.now() - taskStartMs,
615
658
  parentModel,
616
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
617
659
  });
618
660
  emit({ kind: 'done', status: drained.status });
619
661
  return drained;
@@ -641,7 +683,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
641
683
  outputIsDiagnostic: !hasSalvage,
642
684
  escalationLog: [],
643
685
  durationMs: Date.now() - taskStartMs,
644
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
645
686
  };
646
687
  }, abortController);
647
688
  }
@@ -650,7 +691,7 @@ function effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCost)
650
691
  return computed ?? sdkCost;
651
692
  }
652
693
  function buildClaudeOkResult(args) {
653
- const { tracker, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, output, durationMs, parentModel, traceBuffer } = args;
694
+ const { tracker, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, output, durationMs, parentModel } = args;
654
695
  const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
655
696
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
656
697
  return {
@@ -672,7 +713,6 @@ function buildClaudeOkResult(args) {
672
713
  outputIsDiagnostic: false,
673
714
  escalationLog: [],
674
715
  durationMs,
675
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
676
716
  };
677
717
  }
678
718
  /**
@@ -680,7 +720,7 @@ function buildClaudeOkResult(args) {
680
720
  * scratchpad salvage; fall back to the incomplete diagnostic.
681
721
  */
682
722
  function buildClaudeIncompleteResult(args) {
683
- const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, reason, durationMs, parentModel, traceBuffer } = args;
723
+ const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, reason, durationMs, parentModel } = args;
684
724
  const filesRead = tracker.getReads();
685
725
  const filesWritten = tracker.getWrites();
686
726
  const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
@@ -713,11 +753,10 @@ function buildClaudeIncompleteResult(args) {
713
753
  escalationLog: [],
714
754
  error: reason,
715
755
  durationMs,
716
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
717
756
  };
718
757
  }
719
758
  function buildClaudeForceSalvageResult(args) {
720
- const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel, traceBuffer } = args;
759
+ const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel } = args;
721
760
  const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
722
761
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
723
762
  const hasSalvage = !scratchpad.isEmpty();
@@ -741,11 +780,10 @@ function buildClaudeForceSalvageResult(args) {
741
780
  outputIsDiagnostic: !hasSalvage,
742
781
  escalationLog: [],
743
782
  durationMs,
744
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
745
783
  };
746
784
  }
747
785
  function buildClaudeMaxTurnsResult(args) {
748
- const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel, traceBuffer } = args;
786
+ const { tracker, scratchpad, providerConfig, sdkCostUSD, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel } = args;
749
787
  const hasSalvage = !scratchpad.isEmpty();
750
788
  // Note: `lastOutput` here is the model's last streamed text before the
751
789
  // max-turns boundary — NOT a diagnostic template. If the scratchpad has
@@ -777,7 +815,6 @@ function buildClaudeMaxTurnsResult(args) {
777
815
  escalationLog: [],
778
816
  error: reason,
779
817
  durationMs,
780
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
781
818
  };
782
819
  }
783
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;AA+CrB;;;;;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,CA+mBpB"}
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 { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
10
- import { validateCompletion, validateCoverage, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, trimProgressTrace, } from './supervision.js';
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
@@ -530,16 +583,10 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
530
583
  // incomplete with scratchpad salvage.
531
584
  if (toolCalls.length === 0) {
532
585
  const stripped = textThisTurn; // codex does not emit <think> tags
533
- const validation = validateCompletion(stripped);
534
- // NEW: coverage check — only when syntactic validation passes
535
- if (validation.valid && options.expectedCoverage) {
536
- const coverageValidation = validateCoverage(stripped, options.expectedCoverage);
537
- if (!coverageValidation.valid) {
538
- validation.valid = false;
539
- validation.kind = coverageValidation.kind;
540
- validation.reason = coverageValidation.reason;
541
- }
542
- }
586
+ const validation = validateSubAgentOutput(stripped, {
587
+ expectedCoverage: options.expectedCoverage,
588
+ skipCompletionHeuristic: options.skipCompletionHeuristic,
589
+ });
543
590
  if (validation.valid) {
544
591
  const ok = buildCodexOkResult({
545
592
  tracker,
@@ -551,7 +598,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
551
598
  output: stripped,
552
599
  durationMs: Date.now() - taskStartMs,
553
600
  parentModel,
554
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
555
601
  });
556
602
  emit({ kind: 'done', status: ok.status });
557
603
  return ok;
@@ -572,7 +618,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
572
618
  reason: `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${validation.kind ?? 'unknown'})`,
573
619
  durationMs: Date.now() - taskStartMs,
574
620
  parentModel,
575
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
576
621
  });
577
622
  emit({ kind: 'done', status: exhausted.status });
578
623
  return exhausted;
@@ -582,6 +627,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
582
627
  // to the re-prompt directly.
583
628
  lastDegenerateOutput = stripped;
584
629
  supervisionRetries++;
630
+ if (!canAffordNextTurn()) {
631
+ return buildCostExceededResult();
632
+ }
585
633
  const rePrompt = buildRePrompt(validation);
586
634
  input.push({
587
635
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -633,7 +681,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
633
681
  reason: `hand-rolled loop exited after completing ${turns} of ${maxTurns} user-declared turns without producing a clean final answer`,
634
682
  durationMs: Date.now() - taskStartMs,
635
683
  parentModel,
636
- traceBuffer: shouldCaptureTrace ? traceBuffer : undefined,
637
684
  });
638
685
  emit({ kind: 'done', status: maxTurnsResult.status });
639
686
  return maxTurnsResult;
@@ -713,7 +760,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
713
760
  escalationLog: [],
714
761
  error: detailed,
715
762
  durationMs: Date.now() - taskStartMs,
716
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
717
763
  };
718
764
  }
719
765
  };
@@ -743,12 +789,11 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
743
789
  outputIsDiagnostic: !hasSalvage,
744
790
  escalationLog: [],
745
791
  durationMs: Date.now() - taskStartMs,
746
- ...(shouldCaptureTrace && { progressTrace: trimProgressTrace(traceBuffer) }),
747
792
  };
748
793
  }, abortController);
749
794
  }
750
795
  function buildCodexOkResult(args) {
751
- const { tracker, providerConfig, inputTokens, outputTokens, turns, output, durationMs, parentModel, traceBuffer } = args;
796
+ const { tracker, providerConfig, inputTokens, outputTokens, turns, output, durationMs, parentModel } = args;
752
797
  const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
753
798
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
754
799
  return {
@@ -770,7 +815,6 @@ function buildCodexOkResult(args) {
770
815
  outputIsDiagnostic: false,
771
816
  escalationLog: [],
772
817
  durationMs,
773
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
774
818
  };
775
819
  }
776
820
  /**
@@ -778,7 +822,7 @@ function buildCodexOkResult(args) {
778
822
  * scratchpad salvage; fall back to the incomplete diagnostic.
779
823
  */
780
824
  function buildCodexIncompleteResult(args) {
781
- const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, reason, durationMs, parentModel, traceBuffer } = args;
825
+ const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, reason, durationMs, parentModel } = args;
782
826
  const filesRead = tracker.getReads();
783
827
  const filesWritten = tracker.getWrites();
784
828
  const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
@@ -811,11 +855,10 @@ function buildCodexIncompleteResult(args) {
811
855
  escalationLog: [],
812
856
  error: reason,
813
857
  durationMs,
814
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
815
858
  };
816
859
  }
817
860
  function buildCodexForceSalvageResult(args) {
818
- const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel, traceBuffer } = args;
861
+ const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, softLimit, durationMs, parentModel } = args;
819
862
  const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
820
863
  const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
821
864
  const hasSalvage = !scratchpad.isEmpty();
@@ -839,11 +882,10 @@ function buildCodexForceSalvageResult(args) {
839
882
  outputIsDiagnostic: !hasSalvage,
840
883
  escalationLog: [],
841
884
  durationMs,
842
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
843
885
  };
844
886
  }
845
887
  function buildCodexMaxTurnsResult(args) {
846
- const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel, traceBuffer } = args;
888
+ const { tracker, scratchpad, providerConfig, inputTokens, outputTokens, turns, maxTurns, lastOutput, reason, durationMs, parentModel } = args;
847
889
  const hasSalvage = !scratchpad.isEmpty();
848
890
  // Note: `lastOutput` here is the model's final text for the max-turns
849
891
  // boundary — real model content, not a diagnostic template. Only the
@@ -874,7 +916,6 @@ function buildCodexMaxTurnsResult(args) {
874
916
  escalationLog: [],
875
917
  error: reason,
876
918
  durationMs,
877
- ...(traceBuffer && { progressTrace: trimProgressTrace(traceBuffer) }),
878
919
  };
879
920
  }
880
921
  function buildCodexIncompleteDiagnostic(opts) {