@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,18 +1,19 @@
1
1
  import { query } from '@anthropic-ai/claude-agent-sdk';
2
2
  import { createHash } from 'node:crypto';
3
- import { withTimeout, computeCostUSD, computeSavedCostUSD, } from '../types.js';
3
+ import { withTimeout, computeCostUSD, computeCostDeltaVsParentUSD, } from '../types.js';
4
4
  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
8
  import { CostMeter } from '../cost/cost-meter.js';
9
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, hasCompletedWork, MAX_DEGENERATE_RETRIES, } from './supervision.js';
10
+ import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
11
+ import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, hasCompletedWork, MAX_DEGENERATE_RETRIES, } from './supervision.js';
12
12
  import { injectionTypeFor } from './injection-type.js';
13
13
  import { classifyError, isRateLimit } from './error-classification.js';
14
- import { findModelProfile } from '../routing/model-profiles.js';
15
- import { buildOkResult as sharedBuildOkResult, buildIncompleteResult as sharedBuildIncompleteResult, buildForceSalvageResult as sharedBuildForceSalvageResult, buildMaxTurnsExitResult as sharedBuildMaxTurnsExitResult, } from './base/result-builders.js';
14
+ import { buildOkResult as sharedBuildOkResult, buildIncompleteResult as sharedBuildIncompleteResult, buildMaxTurnsExitResult as sharedBuildMaxTurnsExitResult, buildTimeCeilingResult as sharedBuildTimeCeilingResult, } from './base/result-builders.js';
15
+ import { checkTimeCeiling } from './base/time-check.js';
16
+ import { makeEmptyUsage, mergeUsage } from './base/usage-accumulator.js';
16
17
  /**
17
18
  * Minimal pushable async-iterable queue for feeding user messages to the
18
19
  * claude-agent-sdk `query()` in streaming-input mode.
@@ -82,6 +83,37 @@ function userMessage(text) {
82
83
  parent_tool_use_id: null,
83
84
  };
84
85
  }
86
+ /**
87
+ * Detect whether a thrown error signals a provider-side context-window
88
+ * limit (prompt too long, context window exceeded). Used by the catch
89
+ * block to stamp `errorCode: 'provider_context_limit'`.
90
+ */
91
+ function isContextLimit(err) {
92
+ // Collect all string-typed error surfaces from the thrown value —
93
+ // err.message, structured SDK error envelopes, and the stringified
94
+ // fallback of the whole value — so a plain string throw or a wrapped
95
+ // provider error is still classified as provider_context_limit.
96
+ const candidates = [];
97
+ if (err instanceof Error)
98
+ candidates.push(err.message);
99
+ if (typeof err === 'string')
100
+ candidates.push(err);
101
+ candidates.push(String(err ?? ''));
102
+ // Some SDKs wrap errors in { error: { message } } or { cause: { message } }
103
+ const e = (err ?? {});
104
+ if (e.error && typeof e.error?.message === 'string') {
105
+ candidates.push(e.error.message);
106
+ }
107
+ if (e.cause && typeof e.cause?.message === 'string') {
108
+ candidates.push(e.cause.message);
109
+ }
110
+ const status = typeof e.status === 'number' ? e.status : undefined;
111
+ const text = candidates.join(' ');
112
+ return (/context\s*window\s*exceeded/i.test(text) ||
113
+ /prompt is too long/i.test(text) ||
114
+ /400.*max_tokens/i.test(text) ||
115
+ (status === 400 && /max_tokens/i.test(text)));
116
+ }
85
117
  export async function runClaude(prompt, options, providerConfig, defaults) {
86
118
  const timeoutMs = options.timeoutMs ?? providerConfig.timeoutMs ?? defaults.timeoutMs;
87
119
  const toolMode = options.tools ?? defaults.tools;
@@ -109,8 +141,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
109
141
  // calls for that turn. That means `turns` already holds the current
110
142
  // turn number when the tracker callback fires mid-tool-loop, so we
111
143
  // attribute tool calls to `turns` directly (no +1 offset).
112
- let inputTokens = 0;
113
- let outputTokens = 0;
144
+ let usage = makeEmptyUsage();
114
145
  let costUSD = null;
115
146
  let turns = 0;
116
147
  const tracker = new FileTracker((summary) => {
@@ -137,17 +168,19 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
137
168
  * Build a cost_exceeded result.
138
169
  */
139
170
  function buildCostExceededResult() {
140
- const finalCostUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, costUSD);
141
- const savedCostUSD = computeSavedCostUSD(finalCostUSD, inputTokens, outputTokens, parentModel);
171
+ const finalCostUSD = effectiveClaudeCost(providerConfig, usage.inputTokens, usage.outputTokens, costUSD);
172
+ const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(finalCostUSD, usage.inputTokens, usage.outputTokens, parentModel);
142
173
  return {
143
174
  output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
144
175
  status: 'cost_exceeded',
145
176
  usage: {
146
- inputTokens,
147
- outputTokens,
148
- totalTokens: inputTokens + outputTokens,
177
+ inputTokens: usage.inputTokens,
178
+ outputTokens: usage.outputTokens,
179
+ totalTokens: usage.inputTokens + usage.outputTokens,
149
180
  costUSD: finalCostUSD,
150
- savedCostUSD,
181
+ costDeltaVsParentUSD,
182
+ cachedTokens: usage.cachedTokens,
183
+ reasoningTokens: null,
151
184
  },
152
185
  turns,
153
186
  filesRead: tracker.getReads(),
@@ -156,6 +189,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
156
189
  toolCalls: tracker.getToolCalls(),
157
190
  outputIsDiagnostic: true,
158
191
  escalationLog: [],
192
+ parsedFindings: null,
159
193
  durationMs: Date.now() - taskStartMs,
160
194
  };
161
195
  }
@@ -200,11 +234,14 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
200
234
  // Swallow — a broken callback must not affect dispatch.
201
235
  }
202
236
  }
203
- // `claude-compatible` agents target an Anthropic-format endpoint hosted by
204
- // a third party (e.g. DeepSeek's https://api.deepseek.com/anthropic). The
205
- // agent SDK's `Options.env` merges on top of `process.env` per-invocation,
206
- // so a claude-compatible agent pointed at DeepSeek does not leak into a
207
- // sibling `claude` agent that uses the real Anthropic backend.
237
+ // `claude-compatible` agents target an Anthropic-format endpoint hosted by a
238
+ // third party (e.g. DeepSeek). claude-agent-sdk 0.2.113+ REPLACES process.env
239
+ // in the spawned subprocess with whatever is passed to Options.env (this is a
240
+ // breaking change from the pre-0.2.113 merge semantics). The `...process.env`
241
+ // spread below explicitly restores pre-0.2.113 inheritance for PATH, HOME,
242
+ // proxy vars, locale vars, etc., while the targeted overrides ensure a
243
+ // claude-compatible agent's endpoint and auth do not leak into a sibling
244
+ // `claude` agent on the same node.
208
245
  let resolvedAuthToken;
209
246
  let resolvedBaseUrl;
210
247
  if (providerConfig.type === 'claude-compatible') {
@@ -240,6 +277,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
240
277
  },
241
278
  ...(resolvedBaseUrl && resolvedAuthToken && {
242
279
  env: {
280
+ ...process.env, // critical: 0.2.113+ replaces process.env, so spread it explicitly
243
281
  ANTHROPIC_BASE_URL: resolvedBaseUrl,
244
282
  ANTHROPIC_AUTH_TOKEN: resolvedAuthToken,
245
283
  },
@@ -274,12 +312,9 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
274
312
  }
275
313
  // --- Scratchpad: buffers every assistant text block we see streaming
276
314
  // through the iterator. On any termination path (ok/incomplete/max_turns/
277
- // error/timeout/force_salvage) we salvage `scratchpad.latest()` when the
315
+ // error/timeout) we salvage `scratchpad.latest()` when the
278
316
  // final `result.result` is empty or degenerate. ---
279
317
  const scratchpad = new TextScratchpad();
280
- // --- Watchdog: resolve the input-token soft limit once per run ---
281
- const profile = findModelProfile(providerConfig.model);
282
- const softLimit = resolveInputTokenSoftLimit(providerConfig, profile);
283
318
  // --- Task timing + parent model (Task 9) --------------------------------
284
319
  const taskStartMs = Date.now();
285
320
  const parentModel = options.parentModel;
@@ -288,28 +323,22 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
288
323
  // --- Supervision / watchdog bookkeeping ---
289
324
  // Monitor model: only count degenerate retries when worker has NO tool calls.
290
325
  let degenerateRetries = 0;
291
- let stallTurnCounter = 0;
292
- let lastFilesRead = tracker.getReads().length;
293
- let lastFilesWritten = tracker.getWrites().length;
294
326
  // Initialised to `null` (NOT ''): on the first turn there is no
295
327
  // previous degenerate output to compare against, so the same-output
296
328
  // early-out must be skipped. See openai-runner regression #5.
297
329
  let lastDegenerateOutput = null;
298
- // High-watermark guard for the watchdog warning nudge — fire at most
299
- // once per distinct input-token level. Mirrors openai-runner.
300
- let lastWarnedInputTokens = -1;
301
330
  // --- Completed-result sentinel. Every exit from the supervision
302
331
  // state machine inside the `for await` iterator sets this to a fully-
303
332
  // built RunResult and then `break`s. After the loop, the one explicit
304
333
  // return on the happy path is `completedResult`. This gives every
305
- // exit (ok / incomplete / force_salvage / max_turns) a single
334
+ // exit (ok / incomplete / max_turns) a single
306
335
  // explicit owner, mirroring openai-runner's `while (true) + return`
307
336
  // shape but compatible with the for-await iterator contract. ---
308
337
  let completedResult = null;
309
338
  // --- Streaming input queue. See PushableUserMessageQueue docstring:
310
339
  // using an async iterable as the `prompt` enables mid-run user-message
311
- // injection (supervision re-prompts, re-grounding, budget-pressure
312
- // nudges) without restarting the CLI subprocess. ---
340
+ // injection (supervision re-prompts and re-grounding) without
341
+ // restarting the CLI subprocess. ---
313
342
  const messageQueue = new PushableUserMessageQueue();
314
343
  messageQueue.push(userMessage(promptWithBudgetHint));
315
344
  try {
@@ -317,6 +346,29 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
317
346
  if (msg.type === 'assistant') {
318
347
  turns++;
319
348
  emit({ kind: 'turn_start', turn: turns, provider: providerConfig.type, model: providerConfig.model });
349
+ const timeCeilingMs = checkTimeCeiling(taskStartMs, timeoutMs);
350
+ if (timeCeilingMs !== null) {
351
+ const finalCostUSD = effectiveClaudeCost(providerConfig, usage.inputTokens, usage.outputTokens, costUSD);
352
+ completedResult = sharedBuildTimeCeilingResult({
353
+ usage: {
354
+ inputTokens: usage.inputTokens,
355
+ outputTokens: usage.outputTokens,
356
+ totalTokens: usage.inputTokens + usage.outputTokens,
357
+ costUSD: finalCostUSD,
358
+ costDeltaVsParentUSD: computeCostDeltaVsParentUSD(finalCostUSD, usage.inputTokens, usage.outputTokens, parentModel),
359
+ cachedTokens: usage.cachedTokens,
360
+ reasoningTokens: null,
361
+ },
362
+ turns,
363
+ tracker,
364
+ scratchpad,
365
+ wallClockMs: timeCeilingMs,
366
+ timeoutMs,
367
+ durationMs: Date.now() - taskStartMs,
368
+ });
369
+ messageQueue.close();
370
+ break;
371
+ }
320
372
  // Capture every assistant text block as scratchpad fodder. The
321
373
  // claude-agent-sdk's BetaMessage.content is an array of blocks:
322
374
  // `{ type: 'text', text } | { type: 'tool_use', ... } |
@@ -362,70 +414,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
362
414
  }
363
415
  }
364
416
  }
365
- // --- Watchdog check (assistant-message cadence). We check
366
- // `inputTokens` as accumulated from prior `result` messages.
367
- // On the very first assistant message inputTokens is 0 and no
368
- // threshold can fire; that's correct. This is also the ONLY
369
- // site that handles `warning` — it logs AND pushes the nudge
370
- // as one action. The post-result site only handles
371
- // force_salvage. ---
372
- const watchdogStatus = checkWatchdogThreshold(inputTokens, softLimit);
373
- if (watchdogStatus !== 'ok') {
374
- logWatchdogEvent(watchdogStatus, {
375
- provider: providerConfig.type,
376
- model: providerConfig.model,
377
- turn: turns,
378
- inputTokens,
379
- softLimit,
380
- scratchpadChars: scratchpad.toString().length,
381
- });
382
- }
383
- if (watchdogStatus === 'force_salvage') {
384
- // `watchdog_force_salvage` is not an injected message — no
385
- // re-prompt is sent — but observers still want to see why the
386
- // run is being killed. We emit the event with
387
- // `contentLengthChars: 0` to reflect the "nothing was injected,
388
- // we just terminated" semantics (mirrors openai-runner).
389
- emit({
390
- kind: 'injection',
391
- injectionType: 'watchdog_force_salvage',
392
- turn: turns,
393
- contentLengthChars: 0,
394
- });
395
- completedResult = buildClaudeForceSalvageResult({
396
- tracker,
397
- scratchpad,
398
- providerConfig,
399
- sdkCostUSD: costUSD,
400
- inputTokens,
401
- outputTokens,
402
- turns,
403
- softLimit,
404
- durationMs: Date.now() - taskStartMs,
405
- parentModel,
406
- });
407
- messageQueue.close();
408
- abortController.abort();
409
- break;
410
- }
411
- // Fire the warning nudge at most once per distinct input-token
412
- // high-watermark. We push a user message into the queue so the
413
- // next turn of the conversation will address the budget-pressure
414
- // prompt. If the nudge response is itself a valid final answer,
415
- // the supervision loop on the NEXT `result` message will return
416
- // `ok`. High-watermark guard prevents re-nudging if inputTokens
417
- // stays the same across two assistant messages.
418
- if (watchdogStatus === 'warning' && inputTokens > lastWarnedInputTokens) {
419
- lastWarnedInputTokens = inputTokens;
420
- const warning = buildBudgetPressureNudge({ inputTokens, softLimit });
421
- emit({
422
- kind: 'injection',
423
- injectionType: 'watchdog_warning',
424
- turn: turns,
425
- contentLengthChars: warning.length,
426
- });
427
- messageQueue.push(userMessage(warning));
428
- }
429
417
  // --- Periodic re-grounding (best-effort in streaming-input
430
418
  // mode): inject a reminder every RE_GROUNDING_INTERVAL_TURNS
431
419
  // turns via the same queue. The iterator keeps reading until
@@ -459,12 +447,11 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
459
447
  }
460
448
  const hitMaxTurns = 'subtype' in msg && msg.subtype === 'error_max_turns';
461
449
  // Extract usage from modelUsage or usage, then ACCUMULATE into
462
- // the running inputTokens/outputTokens. Supervision retries in
450
+ // the running CanonicalUsage accumulator. Supervision retries in
463
451
  // streaming-input mode push a new user message into the queue
464
452
  // and the SDK emits a fresh `result` message per top-level user
465
453
  // turn — we want the cumulative usage across every result we
466
- // see, not just the last one. Accumulation keeps the watchdog
467
- // soft-limit check honest across retries and produces correct
454
+ // see, not just the last one. Accumulation produces correct
468
455
  // totals on any termination path.
469
456
  let turnInputTokens = 0;
470
457
  let turnOutputTokens = 0;
@@ -479,8 +466,27 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
479
466
  turnInputTokens = u['input_tokens'] ?? 0;
480
467
  turnOutputTokens = u['output_tokens'] ?? 0;
481
468
  }
482
- inputTokens += turnInputTokens;
483
- outputTokens += turnOutputTokens;
469
+ // --- CanonicalUsage: extract claude-specific cache fields ---
470
+ // cache_read_input_tokens + cache_creation_input_tokens are
471
+ // Claude's per-request cache counters; we sum them into
472
+ // cachedTokens (nullable: null when the API exposes neither).
473
+ let cacheRead;
474
+ let cacheCreate;
475
+ if ('usage' in msg && msg.usage) {
476
+ const u = msg.usage;
477
+ cacheRead = u['cache_read_input_tokens'] ?? undefined;
478
+ cacheCreate = u['cache_creation_input_tokens'] ?? undefined;
479
+ }
480
+ const turnCachedTokens = (cacheRead === undefined && cacheCreate === undefined)
481
+ ? null
482
+ : (cacheRead ?? 0) + (cacheCreate ?? 0);
483
+ const turnUsage = {
484
+ inputTokens: turnInputTokens,
485
+ outputTokens: turnOutputTokens,
486
+ cachedTokens: turnCachedTokens,
487
+ reasoningTokens: null, // claude API does not document reasoning tokens (§10)
488
+ };
489
+ usage = mergeUsage(usage, turnUsage);
484
490
  if ('total_cost_usd' in msg && typeof msg.total_cost_usd === 'number') {
485
491
  costUSD = msg.total_cost_usd;
486
492
  }
@@ -491,8 +497,8 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
491
497
  emit({
492
498
  kind: 'turn_complete',
493
499
  turn: turns,
494
- cumulativeInputTokens: inputTokens,
495
- cumulativeOutputTokens: outputTokens,
500
+ cumulativeInputTokens: usage.inputTokens,
501
+ cumulativeOutputTokens: usage.outputTokens,
496
502
  });
497
503
  // Track cost for this turn (Task 25)
498
504
  const turnCost = computeCostUSD(turnInputTokens, turnOutputTokens, providerConfig);
@@ -500,45 +506,6 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
500
506
  lastTurnCostUSD = turnCost;
501
507
  costMeter.add(turnCost);
502
508
  }
503
- // --- Watchdog check on the result message as well: input tokens
504
- // have just jumped and we may now be in force_salvage territory.
505
- // The post-result site ONLY handles force_salvage. `warning` is
506
- // intentionally ignored here — the assistant-message-cadence site
507
- // above is the single place that logs warnings AND pushes the
508
- // nudge into the queue. Logging `warning` here without pushing a
509
- // nudge would be misleading (suggests action that didn't happen).
510
- const postResultWatchdog = checkWatchdogThreshold(inputTokens, softLimit);
511
- if (postResultWatchdog === 'force_salvage') {
512
- logWatchdogEvent(postResultWatchdog, {
513
- provider: providerConfig.type,
514
- model: providerConfig.model,
515
- turn: turns,
516
- inputTokens,
517
- softLimit,
518
- scratchpadChars: scratchpad.toString().length,
519
- });
520
- emit({
521
- kind: 'injection',
522
- injectionType: 'watchdog_force_salvage',
523
- turn: turns,
524
- contentLengthChars: 0,
525
- });
526
- completedResult = buildClaudeForceSalvageResult({
527
- tracker,
528
- scratchpad,
529
- providerConfig,
530
- sdkCostUSD: costUSD,
531
- inputTokens,
532
- outputTokens,
533
- turns,
534
- softLimit,
535
- durationMs: Date.now() - taskStartMs,
536
- parentModel,
537
- });
538
- messageQueue.close();
539
- abortController.abort();
540
- break;
541
- }
542
509
  // --- Max-turns: don't supervise a max-turns termination,
543
510
  // build the incomplete result directly and exit. ---
544
511
  if (hitMaxTurns) {
@@ -547,8 +514,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
547
514
  scratchpad,
548
515
  providerConfig,
549
516
  sdkCostUSD: costUSD,
550
- inputTokens,
551
- outputTokens,
517
+ usage,
552
518
  turns,
553
519
  lastOutput: output,
554
520
  reason: `claude-agent-sdk signaled error_max_turns after ${turns} turns`,
@@ -573,8 +539,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
573
539
  scratchpad,
574
540
  providerConfig,
575
541
  sdkCostUSD: costUSD,
576
- inputTokens,
577
- outputTokens,
542
+ usage,
578
543
  turns,
579
544
  output,
580
545
  durationMs: Date.now() - taskStartMs,
@@ -592,8 +557,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
592
557
  scratchpad,
593
558
  providerConfig,
594
559
  sdkCostUSD: costUSD,
595
- inputTokens,
596
- outputTokens,
560
+ usage,
597
561
  turns,
598
562
  reason: `supervision loop exhausted after ${degenerateRetries} degenerate retries without tool calls (last kind: ${validation.kind ?? 'unknown'})`,
599
563
  durationMs: Date.now() - taskStartMs,
@@ -613,8 +577,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
613
577
  scratchpad,
614
578
  providerConfig,
615
579
  sdkCostUSD: costUSD,
616
- inputTokens,
617
- outputTokens,
580
+ usage,
618
581
  turns,
619
582
  reason: `supervision loop exhausted after ${degenerateRetries} degenerate retries without tool calls (last kind: ${validation.kind ?? 'unknown'})`,
620
583
  durationMs: Date.now() - taskStartMs,
@@ -648,19 +611,22 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
648
611
  // distinguish abort / network / HTTP-error / generic failure modes.
649
612
  const { status, reason } = classifyError(err);
650
613
  const msg = err instanceof Error ? err.message : String(err);
614
+ const contextLimit = isContextLimit(err);
651
615
  emit({ kind: 'done', status });
652
616
  const hasSalvage = !scratchpad.isEmpty();
653
- const finalCostUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, costUSD);
654
- const savedCostUSD = computeSavedCostUSD(finalCostUSD, inputTokens, outputTokens, parentModel);
617
+ const finalCostUSD = effectiveClaudeCost(providerConfig, usage.inputTokens, usage.outputTokens, costUSD);
618
+ const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(finalCostUSD, usage.inputTokens, usage.outputTokens, parentModel);
655
619
  return {
656
620
  output: hasSalvage ? scratchpad.latest() : `Sub-agent error: ${msg}`,
657
621
  status,
658
622
  usage: {
659
- inputTokens,
660
- outputTokens,
661
- totalTokens: inputTokens + outputTokens,
623
+ inputTokens: usage.inputTokens,
624
+ outputTokens: usage.outputTokens,
625
+ totalTokens: usage.inputTokens + usage.outputTokens,
662
626
  costUSD: finalCostUSD,
663
- savedCostUSD,
627
+ costDeltaVsParentUSD,
628
+ cachedTokens: usage.cachedTokens,
629
+ reasoningTokens: null,
664
630
  },
665
631
  turns,
666
632
  filesRead: tracker.getReads(),
@@ -669,8 +635,10 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
669
635
  toolCalls: tracker.getToolCalls(),
670
636
  outputIsDiagnostic: !hasSalvage,
671
637
  escalationLog: [],
638
+ parsedFindings: null,
672
639
  error: msg || reason,
673
640
  durationMs: Date.now() - taskStartMs,
641
+ ...(contextLimit && { errorCode: 'provider_context_limit' }),
674
642
  ...(isRateLimit(err) && {
675
643
  structuredError: { code: 'rate_limit_exceeded', message: 'rate limited by provider', where: 'runner:claude' },
676
644
  }),
@@ -690,8 +658,7 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
690
658
  scratchpad,
691
659
  providerConfig,
692
660
  sdkCostUSD: costUSD,
693
- inputTokens,
694
- outputTokens,
661
+ usage,
695
662
  turns,
696
663
  durationMs: Date.now() - taskStartMs,
697
664
  parentModel,
@@ -702,8 +669,8 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
702
669
  return withTimeout(run(), timeoutMs, () => {
703
670
  emit({ kind: 'done', status: 'timeout' });
704
671
  const hasSalvage = !scratchpad.isEmpty();
705
- const finalCostUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, costUSD);
706
- const savedCostUSD = computeSavedCostUSD(finalCostUSD, inputTokens, outputTokens, parentModel);
672
+ const finalCostUSD = effectiveClaudeCost(providerConfig, usage.inputTokens, usage.outputTokens, costUSD);
673
+ const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(finalCostUSD, usage.inputTokens, usage.outputTokens, parentModel);
707
674
  return {
708
675
  output: hasSalvage ? scratchpad.latest() : `Agent timed out after ${timeoutMs}ms.`,
709
676
  status: 'timeout',
@@ -712,15 +679,18 @@ export async function runClaude(prompt, options, providerConfig, defaults) {
712
679
  filesWritten: tracker.getWrites(),
713
680
  toolCalls: tracker.getToolCalls(),
714
681
  usage: {
715
- inputTokens,
716
- outputTokens,
717
- totalTokens: inputTokens + outputTokens,
682
+ inputTokens: usage.inputTokens,
683
+ outputTokens: usage.outputTokens,
684
+ totalTokens: usage.inputTokens + usage.outputTokens,
718
685
  costUSD: finalCostUSD,
719
- savedCostUSD,
686
+ costDeltaVsParentUSD,
687
+ cachedTokens: usage.cachedTokens,
688
+ reasoningTokens: null,
720
689
  },
721
690
  turns,
722
691
  outputIsDiagnostic: !hasSalvage,
723
692
  escalationLog: [],
693
+ parsedFindings: null,
724
694
  durationMs: Date.now() - taskStartMs,
725
695
  };
726
696
  }, abortController, options.abortSignal);
@@ -730,14 +700,16 @@ function effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCost)
730
700
  return computed ?? sdkCost;
731
701
  }
732
702
  function claudeUsage(args) {
733
- const { providerConfig, sdkCostUSD, inputTokens, outputTokens, parentModel } = args;
734
- const costUSD = effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCostUSD);
703
+ const { providerConfig, sdkCostUSD, usage, parentModel } = args;
704
+ const costUSD = effectiveClaudeCost(providerConfig, usage.inputTokens, usage.outputTokens, sdkCostUSD);
735
705
  return {
736
- inputTokens,
737
- outputTokens,
738
- totalTokens: inputTokens + outputTokens,
706
+ inputTokens: usage.inputTokens,
707
+ outputTokens: usage.outputTokens,
708
+ totalTokens: usage.inputTokens + usage.outputTokens,
739
709
  costUSD,
740
- savedCostUSD: computeSavedCostUSD(costUSD, inputTokens, outputTokens, parentModel),
710
+ costDeltaVsParentUSD: computeCostDeltaVsParentUSD(costUSD, usage.inputTokens, usage.outputTokens, parentModel),
711
+ cachedTokens: usage.cachedTokens,
712
+ reasoningTokens: usage.reasoningTokens,
741
713
  };
742
714
  }
743
715
  function buildClaudeOkResult(args) {
@@ -764,17 +736,6 @@ function buildClaudeIncompleteResult(args) {
764
736
  reason: args.reason,
765
737
  });
766
738
  }
767
- function buildClaudeForceSalvageResult(args) {
768
- return sharedBuildForceSalvageResult({
769
- providerLabel: 'claude',
770
- usage: claudeUsage(args),
771
- turns: args.turns,
772
- tracker: args.tracker,
773
- scratchpad: args.scratchpad,
774
- softLimit: args.softLimit,
775
- durationMs: args.durationMs,
776
- });
777
- }
778
739
  function buildClaudeMaxTurnsExitResult(args) {
779
740
  return sharedBuildMaxTurnsExitResult({
780
741
  usage: claudeUsage(args),
@@ -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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"}