@zhixuan92/multi-model-agent-core 3.10.7 → 3.11.1

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 (159) hide show
  1. package/README.md +3 -3
  2. package/dist/config/schema.d.ts +15 -0
  3. package/dist/config/schema.d.ts.map +1 -1
  4. package/dist/config/schema.js +17 -2
  5. package/dist/config/schema.js.map +1 -1
  6. package/dist/diagnostics/types.d.ts +11 -0
  7. package/dist/diagnostics/types.d.ts.map +1 -1
  8. package/dist/escalation/fallback.d.ts +16 -0
  9. package/dist/escalation/fallback.d.ts.map +1 -1
  10. package/dist/escalation/fallback.js +280 -19
  11. package/dist/escalation/fallback.js.map +1 -1
  12. package/dist/executors/audit.d.ts.map +1 -1
  13. package/dist/executors/audit.js +6 -4
  14. package/dist/executors/audit.js.map +1 -1
  15. package/dist/executors/debug.d.ts.map +1 -1
  16. package/dist/executors/debug.js +5 -3
  17. package/dist/executors/debug.js.map +1 -1
  18. package/dist/executors/delegate.d.ts +12 -0
  19. package/dist/executors/delegate.d.ts.map +1 -1
  20. package/dist/executors/delegate.js +46 -11
  21. package/dist/executors/delegate.js.map +1 -1
  22. package/dist/executors/execute-plan.d.ts.map +1 -1
  23. package/dist/executors/execute-plan.js +6 -4
  24. package/dist/executors/execute-plan.js.map +1 -1
  25. package/dist/executors/retry.d.ts.map +1 -1
  26. package/dist/executors/retry.js +2 -1
  27. package/dist/executors/retry.js.map +1 -1
  28. package/dist/executors/review.d.ts.map +1 -1
  29. package/dist/executors/review.js +2 -1
  30. package/dist/executors/review.js.map +1 -1
  31. package/dist/executors/shared-compute.js +4 -4
  32. package/dist/executors/shared-compute.js.map +1 -1
  33. package/dist/executors/types.d.ts +1 -1
  34. package/dist/executors/types.d.ts.map +1 -1
  35. package/dist/executors/verify.js +2 -2
  36. package/dist/executors/verify.js.map +1 -1
  37. package/dist/heartbeat.d.ts +5 -5
  38. package/dist/heartbeat.d.ts.map +1 -1
  39. package/dist/heartbeat.js +21 -17
  40. package/dist/heartbeat.js.map +1 -1
  41. package/dist/index.d.ts +4 -3
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +5 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/intake/compilers/audit.d.ts.map +1 -1
  46. package/dist/intake/compilers/audit.js +5 -2
  47. package/dist/intake/compilers/audit.js.map +1 -1
  48. package/dist/intake/compilers/debug.d.ts.map +1 -1
  49. package/dist/intake/compilers/debug.js +4 -0
  50. package/dist/intake/compilers/debug.js.map +1 -1
  51. package/dist/intake/compilers/delegate.d.ts +3 -0
  52. package/dist/intake/compilers/delegate.d.ts.map +1 -1
  53. package/dist/intake/compilers/delegate.js +5 -1
  54. package/dist/intake/compilers/delegate.js.map +1 -1
  55. package/dist/intake/compilers/execute-plan.d.ts.map +1 -1
  56. package/dist/intake/compilers/execute-plan.js +5 -0
  57. package/dist/intake/compilers/execute-plan.js.map +1 -1
  58. package/dist/intake/compilers/review.d.ts.map +1 -1
  59. package/dist/intake/compilers/review.js +3 -0
  60. package/dist/intake/compilers/review.js.map +1 -1
  61. package/dist/intake/compilers/verify.d.ts.map +1 -1
  62. package/dist/intake/compilers/verify.js +7 -0
  63. package/dist/intake/compilers/verify.js.map +1 -1
  64. package/dist/intake/force-clarification.d.ts +5 -0
  65. package/dist/intake/force-clarification.d.ts.map +1 -0
  66. package/dist/intake/force-clarification.js +44 -0
  67. package/dist/intake/force-clarification.js.map +1 -0
  68. package/dist/intake/pipeline.d.ts +1 -1
  69. package/dist/intake/pipeline.d.ts.map +1 -1
  70. package/dist/intake/pipeline.js +32 -1
  71. package/dist/intake/pipeline.js.map +1 -1
  72. package/dist/intake/resolve.d.ts.map +1 -1
  73. package/dist/intake/resolve.js +0 -1
  74. package/dist/intake/resolve.js.map +1 -1
  75. package/dist/observability/bus.d.ts.map +1 -1
  76. package/dist/observability/bus.js +20 -0
  77. package/dist/observability/bus.js.map +1 -1
  78. package/dist/observability/events.d.ts +85 -8
  79. package/dist/observability/events.d.ts.map +1 -1
  80. package/dist/observability/events.js +77 -2
  81. package/dist/observability/events.js.map +1 -1
  82. package/dist/provider.d.ts +1 -0
  83. package/dist/provider.d.ts.map +1 -1
  84. package/dist/provider.js +9 -1
  85. package/dist/provider.js.map +1 -1
  86. package/dist/review/diff-review.d.ts +2 -1
  87. package/dist/review/diff-review.d.ts.map +1 -1
  88. package/dist/review/diff-review.js +1 -0
  89. package/dist/review/diff-review.js.map +1 -1
  90. package/dist/review/quality-reviewer.d.ts +2 -2
  91. package/dist/review/quality-reviewer.d.ts.map +1 -1
  92. package/dist/review/quality-reviewer.js +21 -9
  93. package/dist/review/quality-reviewer.js.map +1 -1
  94. package/dist/review/spec-reviewer.d.ts +1 -1
  95. package/dist/review/spec-reviewer.d.ts.map +1 -1
  96. package/dist/review/spec-reviewer.js +3 -1
  97. package/dist/review/spec-reviewer.js.map +1 -1
  98. package/dist/routing/canonical-model-identity.d.ts +9 -0
  99. package/dist/routing/canonical-model-identity.d.ts.map +1 -0
  100. package/dist/routing/canonical-model-identity.js +54 -0
  101. package/dist/routing/canonical-model-identity.js.map +1 -0
  102. package/dist/run-tasks/execute-task.d.ts.map +1 -1
  103. package/dist/run-tasks/execute-task.js +2 -1
  104. package/dist/run-tasks/execute-task.js.map +1 -1
  105. package/dist/run-tasks/index.d.ts.map +1 -1
  106. package/dist/run-tasks/index.js +2 -1
  107. package/dist/run-tasks/index.js.map +1 -1
  108. package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
  109. package/dist/run-tasks/reviewed-lifecycle.js +195 -36
  110. package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
  111. package/dist/runners/base/result-builders.d.ts +13 -2
  112. package/dist/runners/base/result-builders.d.ts.map +1 -1
  113. package/dist/runners/base/result-builders.js +30 -1
  114. package/dist/runners/base/result-builders.js.map +1 -1
  115. package/dist/runners/base/time-check.d.ts +9 -0
  116. package/dist/runners/base/time-check.d.ts.map +1 -0
  117. package/dist/runners/base/time-check.js +18 -0
  118. package/dist/runners/base/time-check.js.map +1 -0
  119. package/dist/runners/base/usage-accumulator.d.ts +9 -0
  120. package/dist/runners/base/usage-accumulator.d.ts.map +1 -0
  121. package/dist/runners/base/usage-accumulator.js +19 -0
  122. package/dist/runners/base/usage-accumulator.js.map +1 -0
  123. package/dist/runners/claude-runner.d.ts.map +1 -1
  124. package/dist/runners/claude-runner.js +141 -180
  125. package/dist/runners/claude-runner.js.map +1 -1
  126. package/dist/runners/codex-runner.d.ts.map +1 -1
  127. package/dist/runners/codex-runner.js +99 -128
  128. package/dist/runners/codex-runner.js.map +1 -1
  129. package/dist/runners/error-classification.d.ts +11 -0
  130. package/dist/runners/error-classification.d.ts.map +1 -1
  131. package/dist/runners/error-classification.js +51 -0
  132. package/dist/runners/error-classification.js.map +1 -1
  133. package/dist/runners/openai-runner.d.ts.map +1 -1
  134. package/dist/runners/openai-runner.js +125 -172
  135. package/dist/runners/openai-runner.js.map +1 -1
  136. package/dist/runners/supervision.d.ts +0 -49
  137. package/dist/runners/supervision.d.ts.map +1 -1
  138. package/dist/runners/supervision.js +0 -67
  139. package/dist/runners/supervision.js.map +1 -1
  140. package/dist/runners/types.d.ts +15 -5
  141. package/dist/runners/types.d.ts.map +1 -1
  142. package/dist/telemetry/concern-classifier.d.ts +1 -1
  143. package/dist/telemetry/concern-classifier.d.ts.map +1 -1
  144. package/dist/telemetry/concern-classifier.js +5 -0
  145. package/dist/telemetry/concern-classifier.js.map +1 -1
  146. package/dist/telemetry/event-builder.d.ts.map +1 -1
  147. package/dist/telemetry/event-builder.js +10 -7
  148. package/dist/telemetry/event-builder.js.map +1 -1
  149. package/dist/telemetry/field-coverage.js +2 -2
  150. package/dist/telemetry/field-coverage.js.map +1 -1
  151. package/dist/telemetry/types.d.ts +142 -94
  152. package/dist/telemetry/types.d.ts.map +1 -1
  153. package/dist/telemetry/types.js +23 -17
  154. package/dist/telemetry/types.js.map +1 -1
  155. package/dist/types.d.ts +7 -2
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/types.js +5 -2
  158. package/dist/types.js.map +1 -1
  159. package/package.json +1 -1
@@ -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,cAAc,EACnB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,YAAY,CAAC;AAyDlE;;;;;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;AAgHD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC/C,OAAO,CAAC,SAAS,CAAC,CA0qBpB"}
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,cAAc,EACnB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,YAAY,CAAC;AAsDlE;;;;;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;AAgHD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAC/C,OAAO,CAAC,SAAS,CAAC,CAypBpB"}
@@ -2,19 +2,20 @@ import OpenAI from 'openai';
2
2
  import { z } from 'zod';
3
3
  import { createHash } from 'node:crypto';
4
4
  import { getCodexAuth } from '../auth/codex-oauth.js';
5
- import { withTimeout, computeCostUSD, computeSavedCostUSD, } from '../types.js';
5
+ import { withTimeout, computeCostUSD, computeCostDeltaVsParentUSD, } from '../types.js';
6
6
  import { READONLY_TOOL_IDS } from '../tools/definitions.js';
7
7
  import { FileTracker } from '../tools/tracker.js';
8
8
  import { createToolImplementations } from '../tools/definitions.js';
9
9
  import { TextScratchpad } from '../tools/scratchpad.js';
10
10
  import { CostMeter } from '../cost/cost-meter.js';
11
11
  import { CallCache } from '../tools/call-cache.js';
12
- import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
13
- import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, hasCompletedWork, MAX_DEGENERATE_RETRIES, } from './supervision.js';
12
+ import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
13
+ import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, hasCompletedWork, MAX_DEGENERATE_RETRIES, } from './supervision.js';
14
14
  import { injectionTypeFor } from './injection-type.js';
15
- import { classifyError, isRateLimit } from './error-classification.js';
16
- import { findModelProfile } from '../routing/model-profiles.js';
17
- import { buildOkResult as sharedBuildOkResult, buildIncompleteResult as sharedBuildIncompleteResult, buildForceSalvageResult as sharedBuildForceSalvageResult, buildMaxTurnsExitResult as sharedBuildMaxTurnsExitResult, } from './base/result-builders.js';
15
+ import { classifyError, isRateLimit, isProviderContextLimit } from './error-classification.js';
16
+ import { buildOkResult as sharedBuildOkResult, buildIncompleteResult as sharedBuildIncompleteResult, buildMaxTurnsExitResult as sharedBuildMaxTurnsExitResult, buildTimeCeilingResult as sharedBuildTimeCeilingResult, } from './base/result-builders.js';
17
+ import { checkTimeCeiling } from './base/time-check.js';
18
+ import { mergeUsage, makeEmptyUsage } from './base/usage-accumulator.js';
18
19
  // CODEX_DEBUG=1 causes the runner to log raw HTTP request/response bodies to
19
20
  // stderr. Those bodies routinely include the user's prompt, file contents,
20
21
  // tool arguments, and other sensitive data — fine for local debugging,
@@ -198,8 +199,7 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
198
199
  // variable already reflects the current turn at that point (it was
199
200
  // incremented at the top of the iteration), so the callback can read it
200
201
  // directly — no +1 offset.
201
- let inputTokens = 0;
202
- let outputTokens = 0;
202
+ let usage = makeEmptyUsage();
203
203
  let turns = 0;
204
204
  const tracker = new FileTracker((summary) => {
205
205
  emit({ kind: 'tool_call', turn: turns, toolSummary: summary });
@@ -225,17 +225,19 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
225
225
  * Build a cost_exceeded result.
226
226
  */
227
227
  function buildCostExceededResult() {
228
- const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
229
- const savedCostUSD = computeSavedCostUSD(costUSD ?? 0, inputTokens, outputTokens, parentModel);
228
+ const costUSD = computeCostUSD(usage.inputTokens, usage.outputTokens, providerConfig);
229
+ const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(costUSD ?? 0, usage.inputTokens, usage.outputTokens, parentModel);
230
230
  return {
231
231
  output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
232
232
  status: 'cost_exceeded',
233
233
  usage: {
234
- inputTokens,
235
- outputTokens,
236
- totalTokens: inputTokens + outputTokens,
234
+ inputTokens: usage.inputTokens,
235
+ outputTokens: usage.outputTokens,
236
+ totalTokens: usage.inputTokens + usage.outputTokens,
237
237
  costUSD: costUSD ?? 0,
238
- savedCostUSD,
238
+ costDeltaVsParentUSD,
239
+ cachedTokens: usage.cachedTokens,
240
+ reasoningTokens: usage.reasoningTokens,
239
241
  },
240
242
  turns,
241
243
  filesRead: tracker.getReads(),
@@ -244,6 +246,7 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
244
246
  toolCalls: tracker.getToolCalls(),
245
247
  outputIsDiagnostic: true,
246
248
  escalationLog: [],
249
+ parsedFindings: null,
247
250
  durationMs: Date.now() - taskStartMs,
248
251
  };
249
252
  }
@@ -300,12 +303,9 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
300
303
  }
301
304
  // --- Scratchpad: buffers every text emission the codex backend streams
302
305
  // through our loop. Every termination path (ok / incomplete / max_turns /
303
- // error / timeout / force_salvage) salvages `scratchpad.latest()` when
304
- // the final message is empty or degenerate. ---
306
+ // error / timeout) salvages `scratchpad.latest()` when the final message
307
+ // is empty or degenerate. ---
305
308
  const scratchpad = new TextScratchpad();
306
- // --- Watchdog: resolve the input-token soft limit once per run ---
307
- const profile = findModelProfile(providerConfig.model);
308
- const softLimit = resolveInputTokenSoftLimit(providerConfig, profile);
309
309
  // --- Task timing + parent model (Task 9) --------------------------------
310
310
  const taskStartMs = Date.now();
311
311
  const parentModel = options.parentModel;
@@ -342,7 +342,7 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
342
342
  // that doesn't exist.
343
343
  let lastResponseStatus = null;
344
344
  let lastResponseStatusTurn = null;
345
- // --- Supervision / watchdog bookkeeping ---
345
+ // --- Supervision bookkeeping ---
346
346
  // Monitor model: only count degenerate retries when worker has NO tool calls.
347
347
  let degenerateRetries = 0;
348
348
  let stallTurnCounter = 0;
@@ -355,20 +355,37 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
355
355
  // and break the loop before any retries run. See openai-runner
356
356
  // regression #5.
357
357
  let lastDegenerateOutput = null;
358
- // High-watermark guard for the watchdog warning nudge — fire at most
359
- // once per distinct input-token level. Mirrors openai-runner and
360
- // claude-runner.
361
- let lastWarnedInputTokens = -1;
362
358
  try {
363
359
  while (true) {
364
360
  // Track tokens at start of turn for cost accounting
365
- const tokensAtTurnStart = inputTokens;
366
- const outputTokensAtTurnStart = outputTokens;
361
+ const tokensAtTurnStart = usage.inputTokens;
362
+ const outputTokensAtTurnStart = usage.outputTokens;
367
363
  turns++;
368
364
  // Emit turn_start AFTER incrementing so `turn` matches the 1-indexed
369
365
  // turn number we use everywhere else in this runner (the scratchpad
370
- // append, watchdog logs, error diagnostics, result.turns).
366
+ // append, error diagnostics, result.turns).
371
367
  emit({ kind: 'turn_start', turn: turns, provider: 'codex', model: providerConfig.model });
368
+ // Time ceiling check before dispatching a provider call.
369
+ const timeCeilingMs = checkTimeCeiling(taskStartMs, timeoutMs);
370
+ if (timeCeilingMs !== null) {
371
+ return sharedBuildTimeCeilingResult({
372
+ usage: {
373
+ inputTokens: usage.inputTokens,
374
+ outputTokens: usage.outputTokens,
375
+ totalTokens: usage.inputTokens + usage.outputTokens,
376
+ costUSD: computeCostUSD(usage.inputTokens, usage.outputTokens, providerConfig),
377
+ costDeltaVsParentUSD: computeCostDeltaVsParentUSD(computeCostUSD(usage.inputTokens, usage.outputTokens, providerConfig) ?? 0, usage.inputTokens, usage.outputTokens, parentModel),
378
+ cachedTokens: usage.cachedTokens,
379
+ reasoningTokens: usage.reasoningTokens,
380
+ },
381
+ turns,
382
+ tracker,
383
+ scratchpad,
384
+ wallClockMs: timeCeilingMs,
385
+ timeoutMs,
386
+ durationMs: Date.now() - taskStartMs,
387
+ });
388
+ }
372
389
  // Codex backend requires streaming. The Codex backend's
373
390
  // `response.completed` event does NOT populate `response.output` —
374
391
  // we must accumulate content from individual stream events.
@@ -425,8 +442,17 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
425
442
  sawCompleted = true;
426
443
  const r = event.response;
427
444
  if (r?.usage) {
428
- inputTokens += r.usage.input_tokens ?? 0;
429
- outputTokens += r.usage.output_tokens ?? 0;
445
+ // Codex SDK ResponseUsage type doesn't declare cached_input_tokens /
446
+ // reasoning_tokens, but the wire payload carries them when the model
447
+ // emits them. Cast to a wider shape to read; null when absent.
448
+ const wideUsage = r.usage;
449
+ const turnUsage = {
450
+ inputTokens: wideUsage.input_tokens ?? 0,
451
+ outputTokens: wideUsage.output_tokens ?? 0,
452
+ cachedTokens: wideUsage.cached_input_tokens ?? null,
453
+ reasoningTokens: wideUsage.reasoning_tokens ?? null,
454
+ };
455
+ usage = mergeUsage(usage, turnUsage);
430
456
  }
431
457
  if (r?.status) {
432
458
  lastResponseStatus = r.status;
@@ -446,8 +472,8 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
446
472
  throw new Error('Codex stream ended without a response.completed event');
447
473
  }
448
474
  // Buffer this turn's text into the scratchpad BEFORE any exit so
449
- // every termination path (including supervision exhaustion and
450
- // force_salvage) can salvage it. Codex does not emit <think> tags
475
+ // every termination path (including supervision exhaustion) can
476
+ // salvage it. Codex does not emit <think> tags
451
477
  // by default, so there is no stripping step here.
452
478
  if (textThisTurn) {
453
479
  scratchpad.append(turns, textThisTurn);
@@ -490,65 +516,6 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
490
516
  });
491
517
  }
492
518
  }
493
- // --- Watchdog checks after tokens are updated -------------------
494
- const watchdogStatus = checkWatchdogThreshold(inputTokens, softLimit);
495
- if (watchdogStatus !== 'ok') {
496
- logWatchdogEvent(watchdogStatus, {
497
- provider: 'codex',
498
- model: providerConfig.model,
499
- turn: turns,
500
- inputTokens,
501
- softLimit,
502
- scratchpadChars: scratchpad.toString().length,
503
- });
504
- }
505
- if (watchdogStatus === 'force_salvage') {
506
- // `watchdog_force_salvage` is not an injected message — no
507
- // re-prompt is sent — but observers still want to see exactly
508
- // why the run is being killed. Emit with contentLengthChars: 0
509
- // to reflect the "nothing was injected, we just terminated"
510
- // semantics (mirrors openai-runner and claude-runner).
511
- emit({
512
- kind: 'injection',
513
- injectionType: 'watchdog_force_salvage',
514
- turn: turns,
515
- contentLengthChars: 0,
516
- });
517
- const salvaged = buildCodexForceSalvageResult({
518
- tracker,
519
- scratchpad,
520
- providerConfig,
521
- inputTokens,
522
- outputTokens,
523
- turns,
524
- softLimit,
525
- durationMs: Date.now() - taskStartMs,
526
- parentModel,
527
- });
528
- emit({ kind: 'done', status: salvaged.status });
529
- return salvaged;
530
- }
531
- // Warning-band nudge: fire at most once per distinct input-token
532
- // high-watermark. Pushed as a user message so the next turn of
533
- // the codex loop addresses the budget-pressure prompt. We use
534
- // the shared prevention helper (NOT an inline string) so every
535
- // runner emits byte-identical wording.
536
- if (watchdogStatus === 'warning' && inputTokens > lastWarnedInputTokens) {
537
- lastWarnedInputTokens = inputTokens;
538
- const warning = buildBudgetPressureNudge({ inputTokens, softLimit });
539
- input.push({
540
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
541
- role: 'user',
542
- content: warning,
543
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
544
- });
545
- emit({
546
- kind: 'injection',
547
- injectionType: 'watchdog_warning',
548
- turn: turns,
549
- contentLengthChars: warning.length,
550
- });
551
- }
552
519
  // --- Periodic re-grounding inside the loop ---------------------
553
520
  if (turns > 0 && turns % RE_GROUNDING_INTERVAL_TURNS === 0) {
554
521
  if (!canAffordNextTurn()) {
@@ -575,21 +542,20 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
575
542
  });
576
543
  }
577
544
  // --- turn_complete: one event per while-iteration. Fires after the
578
- // watchdog + re-grounding checks have run (so cumulative token
579
- // counts and any injection events are already on the wire) and
580
- // BEFORE the supervision branching / tool-execution loop. Every
545
+ // re-grounding checks have run (so cumulative token counts and any
546
+ // injection events are already on the wire) and BEFORE the supervision branching / tool-execution loop. Every
581
547
  // continue/return in the branches below happens AFTER this event,
582
548
  // so the sequence "turn_start ... text_emission ... turn_complete"
583
549
  // is guaranteed per iteration.
584
550
  emit({
585
551
  kind: 'turn_complete',
586
552
  turn: turns,
587
- cumulativeInputTokens: inputTokens,
588
- cumulativeOutputTokens: outputTokens,
553
+ cumulativeInputTokens: usage.inputTokens,
554
+ cumulativeOutputTokens: usage.outputTokens,
589
555
  });
590
556
  // Track cost for this turn (Task 25)
591
- const turnInputTokens = inputTokens - tokensAtTurnStart;
592
- const turnOutputTokens = outputTokens - outputTokensAtTurnStart;
557
+ const turnInputTokens = usage.inputTokens - tokensAtTurnStart;
558
+ const turnOutputTokens = usage.outputTokens - outputTokensAtTurnStart;
593
559
  const turnCost = computeCostUSD(turnInputTokens, turnOutputTokens, providerConfig);
594
560
  if (turnCost !== null) {
595
561
  lastTurnCostUSD = turnCost;
@@ -613,8 +579,10 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
613
579
  tracker,
614
580
  scratchpad,
615
581
  providerConfig,
616
- inputTokens,
617
- outputTokens,
582
+ inputTokens: usage.inputTokens,
583
+ outputTokens: usage.outputTokens,
584
+ cachedTokens: usage.cachedTokens,
585
+ reasoningTokens: usage.reasoningTokens,
618
586
  turns,
619
587
  output: stripped,
620
588
  durationMs: Date.now() - taskStartMs,
@@ -633,8 +601,10 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
633
601
  tracker,
634
602
  scratchpad,
635
603
  providerConfig,
636
- inputTokens,
637
- outputTokens,
604
+ inputTokens: usage.inputTokens,
605
+ outputTokens: usage.outputTokens,
606
+ cachedTokens: usage.cachedTokens,
607
+ reasoningTokens: usage.reasoningTokens,
638
608
  turns,
639
609
  reason: `supervision loop exhausted after ${degenerateRetries} degenerate retries without tool calls (last kind: ${validation.kind ?? 'unknown'})`,
640
610
  durationMs: Date.now() - taskStartMs,
@@ -698,8 +668,10 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
698
668
  tracker,
699
669
  scratchpad,
700
670
  providerConfig,
701
- inputTokens,
702
- outputTokens,
671
+ inputTokens: usage.inputTokens,
672
+ outputTokens: usage.outputTokens,
673
+ cachedTokens: usage.cachedTokens,
674
+ reasoningTokens: usage.reasoningTokens,
703
675
  turns,
704
676
  lastOutput: output,
705
677
  reason: `loop exited after ${turns} turns without producing a clean final answer`,
@@ -758,22 +730,25 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
758
730
  // and `classifyError` only decides which RunStatus bucket the
759
731
  // failure lands in.
760
732
  const { status } = classifyError(err);
733
+ const errorCode = isProviderContextLimit(err) ? 'provider_context_limit' : undefined;
761
734
  // Salvage: if the scratchpad has buffered text from earlier turns,
762
735
  // return it as the output. Pre-Task-5 behavior returned only the
763
736
  // error string, losing 30k+ tokens of work on abort.
764
737
  emit({ kind: 'done', status });
765
738
  const hasSalvage = !scratchpad.isEmpty();
766
- const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
767
- const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
739
+ const costUSD = computeCostUSD(usage.inputTokens, usage.outputTokens, providerConfig);
740
+ const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(costUSD, usage.inputTokens, usage.outputTokens, parentModel);
768
741
  return {
769
742
  output: hasSalvage ? scratchpad.latest() : `Sub-agent error: ${detailed}`,
770
743
  status,
771
744
  usage: {
772
- inputTokens,
773
- outputTokens,
774
- totalTokens: inputTokens + outputTokens,
745
+ inputTokens: usage.inputTokens,
746
+ outputTokens: usage.outputTokens,
747
+ totalTokens: usage.inputTokens + usage.outputTokens,
775
748
  costUSD,
776
- savedCostUSD,
749
+ costDeltaVsParentUSD,
750
+ cachedTokens: usage.cachedTokens,
751
+ reasoningTokens: usage.reasoningTokens,
777
752
  },
778
753
  turns,
779
754
  filesRead: tracker.getReads(),
@@ -782,8 +757,10 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
782
757
  toolCalls: tracker.getToolCalls(),
783
758
  outputIsDiagnostic: !hasSalvage,
784
759
  escalationLog: [],
760
+ parsedFindings: null,
785
761
  error: detailed,
786
762
  durationMs: Date.now() - taskStartMs,
763
+ ...(errorCode !== undefined && { errorCode }),
787
764
  ...(isRateLimit(err) && {
788
765
  structuredError: { code: 'rate_limit_exceeded', message: 'rate limited by provider', where: 'runner:codex' },
789
766
  }),
@@ -793,8 +770,8 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
793
770
  return withTimeout(run(), timeoutMs, () => {
794
771
  emit({ kind: 'done', status: 'timeout' });
795
772
  const hasSalvage = !scratchpad.isEmpty();
796
- const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
797
- const savedCostUSD = computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel);
773
+ const costUSD = computeCostUSD(usage.inputTokens, usage.outputTokens, providerConfig);
774
+ const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(costUSD, usage.inputTokens, usage.outputTokens, parentModel);
798
775
  return {
799
776
  // Preserve any text the scratchpad buffered before the timeout fired.
800
777
  // Partial usage is read from the running accumulators hoisted above —
@@ -806,28 +783,33 @@ export async function runCodex(prompt, options, providerConfig, defaults) {
806
783
  filesWritten: tracker.getWrites(),
807
784
  toolCalls: tracker.getToolCalls(),
808
785
  usage: {
809
- inputTokens,
810
- outputTokens,
811
- totalTokens: inputTokens + outputTokens,
786
+ inputTokens: usage.inputTokens,
787
+ outputTokens: usage.outputTokens,
788
+ totalTokens: usage.inputTokens + usage.outputTokens,
812
789
  costUSD,
813
- savedCostUSD,
790
+ costDeltaVsParentUSD,
791
+ cachedTokens: usage.cachedTokens,
792
+ reasoningTokens: usage.reasoningTokens,
814
793
  },
815
794
  turns,
816
795
  outputIsDiagnostic: !hasSalvage,
817
796
  escalationLog: [],
797
+ parsedFindings: null,
818
798
  durationMs: Date.now() - taskStartMs,
819
799
  };
820
800
  }, abortController, options.abortSignal);
821
801
  }
822
802
  function codexUsage(args) {
823
- const { providerConfig, inputTokens, outputTokens, parentModel } = args;
803
+ const { providerConfig, inputTokens, outputTokens, cachedTokens, reasoningTokens, parentModel } = args;
824
804
  const costUSD = computeCostUSD(inputTokens, outputTokens, providerConfig);
825
805
  return {
826
806
  inputTokens,
827
807
  outputTokens,
828
808
  totalTokens: inputTokens + outputTokens,
829
809
  costUSD,
830
- savedCostUSD: computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel),
810
+ costDeltaVsParentUSD: computeCostDeltaVsParentUSD(costUSD, inputTokens, outputTokens, parentModel),
811
+ cachedTokens,
812
+ reasoningTokens,
831
813
  };
832
814
  }
833
815
  function buildCodexOkResult(args) {
@@ -855,17 +837,6 @@ function buildCodexIncompleteResult(args) {
855
837
  stampExhausted: true,
856
838
  });
857
839
  }
858
- function buildCodexForceSalvageResult(args) {
859
- return sharedBuildForceSalvageResult({
860
- providerLabel: 'codex',
861
- usage: codexUsage(args),
862
- turns: args.turns,
863
- tracker: args.tracker,
864
- scratchpad: args.scratchpad,
865
- softLimit: args.softLimit,
866
- durationMs: args.durationMs,
867
- });
868
- }
869
840
  function buildCodexMaxTurnsExitResult(args) {
870
841
  return sharedBuildMaxTurnsExitResult({
871
842
  usage: codexUsage(args),
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runner.js","sourceRoot":"","sources":["../../src/runners/codex-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-runner.js","sourceRoot":"","sources":["../../src/runners/codex-runner.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,17 @@ import type { RunStatus } from './types.js';
23
23
  * here is the *classification* string; the codex catch branch still builds
24
24
  * a richer `detailed` message and uses it as the final `error` field.
25
25
  */
26
+ /**
27
+ * Detect whether an error represents a provider-side context-limit
28
+ * violation. Pattern-matches known provider error signatures for
29
+ * context-window exceeded conditions.
30
+ *
31
+ * Used by every runner to set errorCode='provider_context_limit' so the
32
+ * escalation orchestrator and downstream observers can distinguish
33
+ * context-limit failures from other API errors without string-matching
34
+ * the error field.
35
+ */
36
+ export declare function isProviderContextLimit(err: unknown): boolean;
26
37
  /**
27
38
  * Detect whether an error represents a provider-side rate limit (HTTP 429
28
39
  * or equivalent). Used by every runner to surface a structured
@@ -1 +1 @@
1
- {"version":3,"file":"error-classification.d.ts","sourceRoot":"","sources":["../../src/runners/error-classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoDjF"}
1
+ {"version":3,"file":"error-classification.d.ts","sourceRoot":"","sources":["../../src/runners/error-classification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAqC5D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMjD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA+DjF"}
@@ -22,6 +22,47 @@
22
22
  * here is the *classification* string; the codex catch branch still builds
23
23
  * a richer `detailed` message and uses it as the final `error` field.
24
24
  */
25
+ /**
26
+ * Detect whether an error represents a provider-side context-limit
27
+ * violation. Pattern-matches known provider error signatures for
28
+ * context-window exceeded conditions.
29
+ *
30
+ * Used by every runner to set errorCode='provider_context_limit' so the
31
+ * escalation orchestrator and downstream observers can distinguish
32
+ * context-limit failures from other API errors without string-matching
33
+ * the error field.
34
+ */
35
+ export function isProviderContextLimit(err) {
36
+ const e = (err ?? {});
37
+ const message = typeof e.message === 'string' ? e.message : '';
38
+ const code = typeof e.code === 'string' ? e.code : '';
39
+ const error = typeof e.error === 'string' ? e.error : '';
40
+ const bodyText = typeof e.bodyText === 'string' ? e.bodyText : '';
41
+ // Also inspect nested error shapes (some SDKs wrap in error.code / error.message).
42
+ const nestedError = (typeof e.error === 'object' && e.error !== null) ? e.error : null;
43
+ const nestedCode = typeof nestedError?.code === 'string' ? nestedError.code : '';
44
+ const nestedMessage = typeof nestedError?.message === 'string' ? nestedError.message : '';
45
+ const combined = `${message} ${code} ${error} ${bodyText} ${nestedCode} ${nestedMessage}`;
46
+ // Check structured code fields first — these are the most specific
47
+ // provider signals (OpenAI-compatible APIs commonly use this code).
48
+ if (code === 'context_length_exceeded' || nestedCode === 'context_length_exceeded')
49
+ return true;
50
+ // OpenAI-compatible signatures seen in APIError messages:
51
+ // - "context_length_exceeded"
52
+ // - "context length exceeded"
53
+ // - "This model's maximum context length is ..."
54
+ // - "Please reduce the length of the messages"
55
+ if (/context[_ -]length[_ -]exceeded/i.test(combined))
56
+ return true;
57
+ if (/maximum context length/i.test(combined))
58
+ return true;
59
+ if (/reduce the length of the messages?/i.test(combined))
60
+ return true;
61
+ // Anthropic / generic context-window signatures.
62
+ if (/context window(?: is| size| exceeded| limit| too)/i.test(combined))
63
+ return true;
64
+ return false;
65
+ }
25
66
  /**
26
67
  * Detect whether an error represents a provider-side rate limit (HTTP 429
27
68
  * or equivalent). Used by every runner to surface a structured
@@ -40,6 +81,16 @@ export function isRateLimit(err) {
40
81
  return false;
41
82
  }
42
83
  export function classifyError(err) {
84
+ // Provider context-window failures are API-side rejections even when the
85
+ // thrown shape lacks a numeric HTTP status. Check this before generic HTTP
86
+ // handling so classifyError() participates in provider_context_limit
87
+ // classification instead of leaving these as plain api_error/error.
88
+ if (isProviderContextLimit(err)) {
89
+ return {
90
+ status: 'api_error',
91
+ reason: 'provider_context_limit',
92
+ };
93
+ }
43
94
  // Unwrap the common fields we read below. `err` may be anything, so guard
44
95
  // every access.
45
96
  const e = (err ?? {});