@zhixuan92/multi-model-agent-core 3.12.1 → 3.12.3

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/cost/compute.d.ts +33 -0
  3. package/dist/cost/compute.d.ts.map +1 -0
  4. package/dist/cost/compute.js +67 -0
  5. package/dist/cost/compute.js.map +1 -0
  6. package/dist/cost/rollup.d.ts +18 -0
  7. package/dist/cost/rollup.d.ts.map +1 -0
  8. package/dist/cost/rollup.js +43 -0
  9. package/dist/cost/rollup.js.map +1 -0
  10. package/dist/heartbeat.d.ts +7 -0
  11. package/dist/heartbeat.d.ts.map +1 -1
  12. package/dist/heartbeat.js +18 -5
  13. package/dist/heartbeat.js.map +1 -1
  14. package/dist/model-profiles.json +6 -6
  15. package/dist/observability/events.d.ts +3 -3
  16. package/dist/routing/model-profiles.d.ts +4 -3
  17. package/dist/routing/model-profiles.d.ts.map +1 -1
  18. package/dist/routing/model-profiles.js +12 -6
  19. package/dist/routing/model-profiles.js.map +1 -1
  20. package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
  21. package/dist/run-tasks/reviewed-lifecycle.js +71 -17
  22. package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
  23. package/dist/runners/base/result-builders.d.ts +2 -0
  24. package/dist/runners/base/result-builders.d.ts.map +1 -1
  25. package/dist/runners/base/result-builders.js +2 -0
  26. package/dist/runners/base/result-builders.js.map +1 -1
  27. package/dist/runners/base/usage-accumulator.d.ts +2 -10
  28. package/dist/runners/base/usage-accumulator.d.ts.map +1 -1
  29. package/dist/runners/base/usage-accumulator.js +14 -25
  30. package/dist/runners/base/usage-accumulator.js.map +1 -1
  31. package/dist/runners/claude-runner.d.ts.map +1 -1
  32. package/dist/runners/claude-runner.js +123 -26
  33. package/dist/runners/claude-runner.js.map +1 -1
  34. package/dist/runners/codex-runner.d.ts.map +1 -1
  35. package/dist/runners/codex-runner.js +114 -28
  36. package/dist/runners/codex-runner.js.map +1 -1
  37. package/dist/runners/openai-runner.d.ts.map +1 -1
  38. package/dist/runners/openai-runner.js +149 -56
  39. package/dist/runners/openai-runner.js.map +1 -1
  40. package/dist/runners/types.d.ts +7 -0
  41. package/dist/runners/types.d.ts.map +1 -1
  42. package/dist/telemetry/event-builder.d.ts.map +1 -1
  43. package/dist/telemetry/event-builder.js +48 -15
  44. package/dist/telemetry/event-builder.js.map +1 -1
  45. package/dist/telemetry/field-coverage.d.ts.map +1 -1
  46. package/dist/telemetry/field-coverage.js +15 -7
  47. package/dist/telemetry/field-coverage.js.map +1 -1
  48. package/dist/telemetry/types.d.ts +358 -164
  49. package/dist/telemetry/types.d.ts.map +1 -1
  50. package/dist/telemetry/types.js +63 -37
  51. package/dist/telemetry/types.js.map +1 -1
  52. package/dist/types.d.ts +0 -24
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js +0 -73
  55. package/dist/types.js.map +1 -1
  56. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { Agent, run as agentRun, setTracingDisabled, OpenAIChatCompletionsModel, MaxTurnsExceededError, tool, } from '@openai/agents';
2
2
  import { createHash } from 'node:crypto';
3
3
  import { z } from 'zod';
4
- import { withTimeout, computeCostUSD, computeCostDeltaVsParentUSD, } from '../types.js';
4
+ import { withTimeout, } from '../types.js';
5
+ import { priceTokens, subtractTokens, resolveRateCard } from '../cost/compute.js';
5
6
  import { injectionTypeFor } from './injection-type.js';
6
7
  import { reviewerEmittedFindingSchema, evidenceIsGrounded, } from '../executors/_shared/findings-schema.js';
7
8
  import { FileTracker } from '../tools/tracker.js';
@@ -129,6 +130,11 @@ export async function runOpenAI(prompt, options, runner) {
129
130
  let currentResult;
130
131
  // Track last turn cost for estimating next turn cost (used by runTurnAndBuffer)
131
132
  let lastTurnCostUSD = 0;
133
+ // Per-turn cumulative → delta tracking state (§3.5 point 2)
134
+ let lastCumulative = {
135
+ inputTokens: 0, outputTokens: 0,
136
+ cachedReadTokens: 0, cachedCreationTokens: 0, reasoningTokens: 0,
137
+ };
132
138
  // The tracker fires `onToolCall` synchronously inside every
133
139
  // `trackToolCall(...)` — which itself is called from inside a tool
134
140
  // implementation during an `agentRun` turn. That means `currentResult`
@@ -228,13 +234,25 @@ export async function runOpenAI(prompt, options, runner) {
228
234
  modelSettings.reasoning = { effort };
229
235
  if (Object.keys(providerData).length > 0)
230
236
  modelSettings.providerData = providerData;
237
+ // outputType is disabled for DeepSeek in review mode. DeepSeek's V4 hybrid
238
+ // models either fail schema-conformance enforcement OR the @openai/agents
239
+ // SDK's schema-enforcement code path skips usage aggregation on this
240
+ // backend specifically, leaving every review call with
241
+ // `state.usage = {inputTokens: 0, outputTokens: 0}` despite real tokens
242
+ // being burned (3.12.2 telemetry showed every audit's quality_review with
243
+ // 30+ turns and 0 cost). The downstream text-parser fallback in
244
+ // runAnnotationReview (parseReviewerFindings → fallbackExtractFindings)
245
+ // recovers findings from prose, so dropping the schema costs us nothing
246
+ // for DeepSeek. Other openai-compatible backends (OpenAI proper,
247
+ // structured-output-capable proxies like vLLM) keep outputType.
248
+ const useOutputType = runMode === 'review' && !isDeepSeek;
231
249
  const agent = new Agent({
232
250
  name: 'sub-agent',
233
251
  model,
234
252
  instructions,
235
253
  tools,
236
254
  ...(Object.keys(modelSettings).length > 0 && { modelSettings }),
237
- ...(runMode === 'review' && { outputType: reviewerOutputType }),
255
+ ...(useOutputType && { outputType: reviewerOutputType }),
238
256
  });
239
257
  // --- Scratchpad: buffers assistant text across every agentRun() call so
240
258
  // that every termination path (ok/incomplete/max_turns/error/timeout)
@@ -300,14 +318,28 @@ export async function runOpenAI(prompt, options, runner) {
300
318
  preview: text.slice(0, 200),
301
319
  });
302
320
  }
321
+ const cachedRead = sumCachedReadTokens(result.state.usage.inputTokensDetails) ?? 0;
322
+ const reasoning = sumReasoningTokens(result.state.usage.outputTokensDetails) ?? 0;
303
323
  emit({
304
324
  kind: 'turn_complete',
305
325
  turn: result.state.usage.requests,
306
326
  cumulativeInputTokens: result.state.usage.inputTokens,
307
327
  cumulativeOutputTokens: result.state.usage.outputTokens,
328
+ cumulativeCachedReadTokens: cachedRead > 0 ? cachedRead : undefined,
329
+ cumulativeReasoningTokens: reasoning > 0 ? reasoning : undefined,
308
330
  });
309
- // Track cost for this turn
310
- const turnCost = computeCostUSD(result.state.usage.inputTokens, result.state.usage.outputTokens, runner.providerConfig);
331
+ // Track cost for this turn using per-turn delta from cumulative
332
+ const cur = {
333
+ inputTokens: Math.max(0, result.state.usage.inputTokens - cachedRead),
334
+ outputTokens: result.state.usage.outputTokens,
335
+ cachedReadTokens: cachedRead,
336
+ cachedCreationTokens: 0,
337
+ reasoningTokens: reasoning,
338
+ };
339
+ const turnTokens = subtractTokens(cur, lastCumulative);
340
+ lastCumulative = cur;
341
+ const rateCard = resolveProviderRateCard(runner.providerConfig);
342
+ const turnCost = rateCard ? priceTokens(turnTokens, rateCard) : null;
311
343
  if (turnCost !== null) {
312
344
  lastTurnCostUSD = turnCost;
313
345
  costMeter.add(turnCost);
@@ -350,11 +382,11 @@ export async function runOpenAI(prompt, options, runner) {
350
382
  * Build a cost_exceeded result.
351
383
  */
352
384
  function buildCostExceededResult(turnsAtFailure) {
353
- const partial = partialUsage(currentResult, runner.providerConfig);
385
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
354
386
  return {
355
387
  output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
356
388
  status: 'cost_exceeded',
357
- usage: { ...partial, costDeltaVsParentUSD: 0 },
389
+ usage: partial,
358
390
  turns: turnsAtFailure,
359
391
  filesRead: tracker.getReads(),
360
392
  directoriesListed: tracker.getDirectoriesListed(),
@@ -404,7 +436,7 @@ export async function runOpenAI(prompt, options, runner) {
404
436
  });
405
437
  if (validation.valid) {
406
438
  const ok = buildOkResult(stripped, currentResult, tracker, runner.providerConfig, Date.now() - taskStartMs, parentModel);
407
- if (runMode === 'review') {
439
+ if (runMode === 'review' && useOutputType) {
408
440
  const parsed = reviewerOutputType.safeParse(currentResult.finalOutput);
409
441
  if (parsed.success) {
410
442
  ok.parsedFindings = parsed.data.findings.map(f => ({
@@ -413,17 +445,15 @@ export async function runOpenAI(prompt, options, runner) {
413
445
  }));
414
446
  }
415
447
  else {
416
- emit({ kind: 'done', status: 'error' });
417
- return {
418
- ...ok,
419
- output: `Reviewer structured output validation failed: ${parsed.error.message}`,
420
- status: 'error',
421
- error: `reviewer outputType validation failed: ${parsed.error.message}`,
422
- parsedFindings: null,
423
- };
448
+ // OpenAI-proper structured-output failure: should be rare since
449
+ // OpenAI honors the schema, but if it happens we still don't
450
+ // want to discard the call — fall through to the text parser.
451
+ ok.parsedFindings = null;
424
452
  }
425
453
  }
426
454
  else {
455
+ // Review mode on non-OpenAI provider, OR delegate mode: text-parser
456
+ // fallback in runAnnotationReview handles findings extraction.
427
457
  ok.parsedFindings = null;
428
458
  }
429
459
  emit({ kind: 'done', status: ok.status });
@@ -581,8 +611,7 @@ export async function runOpenAI(prompt, options, runner) {
581
611
  const filesRead = tracker.getReads();
582
612
  const filesWritten = tracker.getWrites();
583
613
  const toolCalls = tracker.getToolCalls();
584
- const partial = partialUsage(currentResult, runner.providerConfig);
585
- const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(partial.costUSD, partial.inputTokens, partial.outputTokens, parentModel, partial.cachedTokens, partial.reasoningTokens);
614
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
586
615
  emit({ kind: 'done', status: 'incomplete' });
587
616
  const hasSalvage = !scratchpad.isEmpty();
588
617
  const turnsAtFailure = currentResult?.state.usage.requests ?? 0;
@@ -593,7 +622,7 @@ export async function runOpenAI(prompt, options, runner) {
593
622
  status: 'incomplete',
594
623
  errorCode: 'degenerate_exhausted',
595
624
  error: `agent exhausted time/cost budget after ${turnsAtFailure} turns`,
596
- usage: { ...partial, costDeltaVsParentUSD },
625
+ usage: partial,
597
626
  turns: turnsAtFailure,
598
627
  filesRead,
599
628
  directoriesListed: tracker.getDirectoriesListed(),
@@ -608,7 +637,7 @@ export async function runOpenAI(prompt, options, runner) {
608
637
  if (err instanceof Error && '__timeCeiling' in err) {
609
638
  const ceilingMs = err.__timeCeiling;
610
639
  emit({ kind: 'done', status: 'incomplete' });
611
- const partial = partialUsage(currentResult, runner.providerConfig);
640
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
612
641
  return sharedBuildTimeCeilingResult({
613
642
  usage: { inputTokens: partial.inputTokens, outputTokens: partial.outputTokens, totalTokens: partial.totalTokens, costUSD: partial.costUSD, costDeltaVsParentUSD: partial.costDeltaVsParentUSD ?? null, cachedTokens: partial.cachedTokens ?? null, reasoningTokens: partial.reasoningTokens ?? null },
614
643
  turns: currentResult?.state.usage.requests ?? 0,
@@ -629,12 +658,11 @@ export async function runOpenAI(prompt, options, runner) {
629
658
  const msg = err instanceof Error ? err.message : String(err);
630
659
  emit({ kind: 'done', status });
631
660
  const hasSalvage = !scratchpad.isEmpty();
632
- const partial = partialUsage(currentResult, runner.providerConfig);
633
- const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(partial.costUSD, partial.inputTokens, partial.outputTokens, parentModel, partial.cachedTokens, partial.reasoningTokens);
661
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
634
662
  return {
635
663
  output: hasSalvage ? scratchpad.latest() : `Sub-agent error: ${msg}`,
636
664
  status,
637
- usage: { ...partial, costDeltaVsParentUSD },
665
+ usage: partial,
638
666
  turns: currentResult?.state.usage.requests ?? 0,
639
667
  filesRead: tracker.getReads(),
640
668
  directoriesListed: tracker.getDirectoriesListed(),
@@ -657,8 +685,7 @@ export async function runOpenAI(prompt, options, runner) {
657
685
  return withTimeout(run(), timeoutMs, () => {
658
686
  emit({ kind: 'done', status: 'timeout' });
659
687
  const hasSalvage = !scratchpad.isEmpty();
660
- const partial = partialUsage(currentResult, runner.providerConfig);
661
- const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(partial.costUSD, partial.inputTokens, partial.outputTokens, parentModel, partial.cachedTokens, partial.reasoningTokens);
688
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
662
689
  return {
663
690
  output: hasSalvage
664
691
  ? scratchpad.latest()
@@ -670,7 +697,7 @@ export async function runOpenAI(prompt, options, runner) {
670
697
  toolCalls: tracker.getToolCalls(),
671
698
  // Preserve partial usage from the last successful agentRun so the
672
699
  // caller sees real numbers, not zeros, on a timeout.
673
- usage: { ...partial, costDeltaVsParentUSD },
700
+ usage: partial,
674
701
  turns: currentResult?.state.usage.requests ?? 0,
675
702
  outputIsDiagnostic: !hasSalvage,
676
703
  escalationLog: [],
@@ -680,49 +707,93 @@ export async function runOpenAI(prompt, options, runner) {
680
707
  }, abortController, options.abortSignal);
681
708
  }
682
709
  // --- Helpers: canonical return-shape builders -------------------------------
710
+ function resolveProviderRateCard(config) {
711
+ return resolveRateCard(config.model, {
712
+ inputCostPerMTok: config.inputCostPerMTok,
713
+ outputCostPerMTok: config.outputCostPerMTok,
714
+ });
715
+ }
683
716
  /**
684
- * Extract cached/reasoning tokens into {@link CanonicalUsage} shape (§3.6).
685
- *
686
- * The @openai/agents SDK stores per-request detail records in
687
- * `inputTokensDetails: Array<Record<string, number>>` and
688
- * `outputTokensDetails: Array<Record<string, number>>`. The OpenAI API
689
- * returns `cached_tokens` and `reasoning_tokens` as snake_case keys
690
- * inside those detail objects. We sum across all requests; if the provider
691
- * never exposed the detail field the result is null.
717
+ * Sum cached_tokens across inputTokensDetails records.
718
+ * OpenAI exposes cache reads only via `cached_tokens` in inputTokensDetails;
719
+ * there is no cache creation exposure.
692
720
  */
693
- function extractCanonicalTokens(usage) {
694
- let cachedTokens = 0;
695
- let hasCached = false;
696
- for (const d of usage.inputTokensDetails ?? []) {
721
+ function sumCachedReadTokens(details) {
722
+ if (!details || details.length === 0)
723
+ return null;
724
+ let sum = 0;
725
+ let hasAny = false;
726
+ for (const d of details) {
697
727
  if (typeof d.cached_tokens === 'number') {
698
- cachedTokens += d.cached_tokens;
699
- hasCached = true;
728
+ sum += d.cached_tokens;
729
+ hasAny = true;
700
730
  }
701
731
  }
702
- let reasoningTokens = 0;
703
- let hasReasoning = false;
704
- for (const d of usage.outputTokensDetails ?? []) {
732
+ return hasAny ? sum : null;
733
+ }
734
+ /**
735
+ * Sum reasoning_tokens across outputTokensDetails records.
736
+ */
737
+ function sumReasoningTokens(details) {
738
+ if (!details || details.length === 0)
739
+ return null;
740
+ let sum = 0;
741
+ let hasAny = false;
742
+ for (const d of details) {
705
743
  if (typeof d.reasoning_tokens === 'number') {
706
- reasoningTokens += d.reasoning_tokens;
707
- hasReasoning = true;
744
+ sum += d.reasoning_tokens;
745
+ hasAny = true;
708
746
  }
709
747
  }
748
+ return hasAny ? sum : null;
749
+ }
750
+ /**
751
+ * Extract split cache/reasoning tokens into {@link CanonicalUsage} shape (§3.6).
752
+ *
753
+ * OpenAI exposes cache reads via `cached_tokens` in `inputTokensDetails` and
754
+ * reasoning tokens via `reasoning_tokens` in `outputTokensDetails`. There is
755
+ * no cache creation dimension in OpenAI's API, so `cachedCreationTokens` is
756
+ * always null.
757
+ */
758
+ function extractCanonicalTokens(usage) {
710
759
  return {
711
- cachedTokens: hasCached ? cachedTokens : null,
712
- reasoningTokens: hasReasoning ? reasoningTokens : null,
760
+ cachedReadTokens: sumCachedReadTokens(usage.inputTokensDetails),
761
+ cachedCreationTokens: null,
762
+ reasoningTokens: sumReasoningTokens(usage.outputTokensDetails),
713
763
  };
714
764
  }
715
765
  export function openAIUsage(currentResult, providerConfig, parentModel) {
716
766
  const u = currentResult.state.usage;
717
- const { cachedTokens, reasoningTokens } = extractCanonicalTokens(u);
718
- const costUSD = computeCostUSD(u.inputTokens, u.outputTokens, providerConfig, cachedTokens ?? 0, reasoningTokens ?? 0);
767
+ const { cachedReadTokens, reasoningTokens } = extractCanonicalTokens(u);
768
+ const cachedRead = cachedReadTokens ?? 0;
769
+ const reasoning = reasoningTokens ?? 0;
770
+ const nonCachedInput = Math.max(0, u.inputTokens - cachedRead);
771
+ const workerCard = resolveProviderRateCard(providerConfig);
772
+ const tokenCounts = {
773
+ inputTokens: nonCachedInput,
774
+ outputTokens: u.outputTokens,
775
+ cachedReadTokens: cachedRead,
776
+ cachedCreationTokens: 0,
777
+ reasoningTokens: reasoning,
778
+ };
779
+ const costUSD = workerCard ? priceTokens(tokenCounts, workerCard) : null;
780
+ let costDeltaVsParentUSD = null;
781
+ if (costUSD !== null && parentModel) {
782
+ const parentCard = resolveRateCard(parentModel);
783
+ if (parentCard) {
784
+ costDeltaVsParentUSD = costUSD - priceTokens(tokenCounts, parentCard);
785
+ }
786
+ }
787
+ const legacyCached = cachedReadTokens !== null ? cachedRead : null;
719
788
  return {
720
789
  inputTokens: u.inputTokens,
721
790
  outputTokens: u.outputTokens,
722
791
  totalTokens: u.totalTokens,
723
792
  costUSD,
724
- costDeltaVsParentUSD: computeCostDeltaVsParentUSD(costUSD, u.inputTokens, u.outputTokens, parentModel, cachedTokens, reasoningTokens),
725
- cachedTokens,
793
+ costDeltaVsParentUSD,
794
+ cachedTokens: legacyCached,
795
+ cachedReadTokens,
796
+ cachedCreationTokens: null,
726
797
  reasoningTokens,
727
798
  };
728
799
  }
@@ -785,19 +856,41 @@ function formatFileList(files) {
785
856
  * non-happy-path return so the caller sees real token counts (and a
786
857
  * real cost estimate) instead of zeros.
787
858
  */
788
- function partialUsage(result, providerConfig) {
859
+ function partialUsage(result, providerConfig, parentModel) {
789
860
  if (!result) {
790
- return { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: null, costDeltaVsParentUSD: null, cachedTokens: null, reasoningTokens: null };
861
+ return { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: null, costDeltaVsParentUSD: null, cachedTokens: null, cachedReadTokens: null, cachedCreationTokens: null, reasoningTokens: null };
791
862
  }
792
863
  const usage = result.state.usage;
793
- const { cachedTokens, reasoningTokens } = extractCanonicalTokens(usage);
864
+ const { cachedReadTokens, reasoningTokens } = extractCanonicalTokens(usage);
865
+ const cachedRead = cachedReadTokens ?? 0;
866
+ const reasoning = reasoningTokens ?? 0;
867
+ const nonCachedInput = Math.max(0, usage.inputTokens - cachedRead);
868
+ const workerCard = resolveProviderRateCard(providerConfig);
869
+ const tokenCounts = {
870
+ inputTokens: nonCachedInput,
871
+ outputTokens: usage.outputTokens,
872
+ cachedReadTokens: cachedRead,
873
+ cachedCreationTokens: 0,
874
+ reasoningTokens: reasoning,
875
+ };
876
+ const costUSD = workerCard ? priceTokens(tokenCounts, workerCard) : null;
877
+ let costDeltaVsParentUSD = null;
878
+ if (costUSD !== null && parentModel) {
879
+ const parentCard = resolveRateCard(parentModel);
880
+ if (parentCard) {
881
+ costDeltaVsParentUSD = costUSD - priceTokens(tokenCounts, parentCard);
882
+ }
883
+ }
884
+ const legacyCached = cachedReadTokens !== null ? cachedRead : null;
794
885
  return {
795
886
  inputTokens: usage.inputTokens,
796
887
  outputTokens: usage.outputTokens,
797
888
  totalTokens: usage.totalTokens,
798
- costUSD: computeCostUSD(usage.inputTokens, usage.outputTokens, providerConfig, cachedTokens ?? 0, reasoningTokens ?? 0),
799
- costDeltaVsParentUSD: null,
800
- cachedTokens,
889
+ costUSD,
890
+ costDeltaVsParentUSD,
891
+ cachedTokens: legacyCached,
892
+ cachedReadTokens,
893
+ cachedCreationTokens: null,
801
894
  reasoningTokens,
802
895
  };
803
896
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai-runner.js","sourceRoot":"","sources":["../../src/runners/openai-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-runner.js","sourceRoot":"","sources":["../../src/runners/openai-runner.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@ export interface TokenUsage {
11
11
  costDeltaVsParentUSD: number | null;
12
12
  /** Input tokens served from cache rather than computed. null = provider does not expose this dimension. */
13
13
  cachedTokens: number | null;
14
+ /** Cache read tokens — input tokens retrieved from prompt cache. null = provider does not expose this dimension. */
15
+ cachedReadTokens?: number | null;
16
+ /** Cache creation tokens — input tokens written to prompt cache. null = provider does not expose this dimension. */
17
+ cachedCreationTokens?: number | null;
14
18
  /** Output tokens attributed to reasoning/thinking. null = provider does not expose this dimension. */
15
19
  reasoningTokens: number | null;
16
20
  }
@@ -118,6 +122,9 @@ export type InternalRunnerEvent = {
118
122
  turn: number;
119
123
  cumulativeInputTokens: number;
120
124
  cumulativeOutputTokens: number;
125
+ cumulativeCachedReadTokens?: number;
126
+ cumulativeCachedCreationTokens?: number;
127
+ cumulativeReasoningTokens?: number;
121
128
  } | {
122
129
  kind: 'injection';
123
130
  injectionType: 'reground' | 'supervise_empty' | 'supervise_thinking' | 'supervise_fragment' | 'supervise_insufficient_coverage';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runners/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runners/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../src/telemetry/event-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AAI5D,OAAO,EAAa,KAAK,sBAAsB,EAAiD,MAAM,YAAY,CAAC;AAmBnH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,aAAa,CAAC;IACvG,QAAQ,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;IACpF,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAMD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,sBAAsB,CA4GjF"}
1
+ {"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../src/telemetry/event-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAa,KAAK,sBAAsB,EAAiD,MAAM,YAAY,CAAC;AAqBnH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,OAAO,GAAG,aAAa,CAAC;IACvG,QAAQ,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;IACpF,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAMD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,sBAAsB,CAwIjF"}
@@ -1,9 +1,10 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { computeCostDeltaVsParentUSD } from '../types.js';
3
2
  import { normalizeModel } from './normalize.js';
4
3
  import { classifyConcern } from './concern-classifier.js';
5
4
  import { ErrorCode } from './types.js';
6
5
  import { deriveTerminalStatus } from '../run-tasks/derive-terminal-status.js';
6
+ import { rollupByTier, sumTokens } from '../cost/rollup.js';
7
+ import { priceTokens, resolveRateCard } from '../cost/compute.js';
7
8
  import { clampStageCost, clampTaskCost, clampInputTokens, clampOutputTokens, clampCachedTokens, clampReasoningTokens, clampToolCallCount, clampFilesReadCount, clampFilesWrittenCount, clampTurnCount, clampDurationMsStage, clampDurationMsTotal, } from './clamp.js';
8
9
  const KNOWN_CAPABILITIES = new Set(['web_search', 'web_fetch']);
9
10
  const REVIEWED_ROUTES = new Set(['delegate', 'audit', 'review', 'verify', 'debug', 'execute-plan', 'investigate']);
@@ -37,17 +38,43 @@ export function buildTaskCompletedEvent(ctx) {
37
38
  stages[0].durationMs += totalDurationMs - allocated;
38
39
  }
39
40
  }
40
- // Top-level totals are summed across all stages (impl + reviewers + reworks +
41
- // verify + commit) so the dashboard's `total_cost_cents` reflects the true
42
- // task cost. runResult.usage only carries the LAST implementer attempt and
43
- // ignores reviewer + earlier-impl rounds — using it would systematically
44
- // under-report cost (~24× in real-world rework cases).
45
- const totalCostUSD = clampTaskCost(stages.reduce((s, st) => s + (st.costUSD ?? 0), 0));
46
- const totalInputTokens = clampInputTokens(stages.reduce((s, st) => s + (st.inputTokens ?? 0), 0));
47
- const totalOutputTokens = clampOutputTokens(stages.reduce((s, st) => s + (st.outputTokens ?? 0), 0));
48
- const totalCachedTokens = clampCachedTokens(stages.reduce((s, st) => s + (st.cachedTokens ?? 0), 0));
49
- const totalReasoningTokens = clampReasoningTokens(stages.reduce((s, st) => s + (st.reasoningTokens ?? 0), 0));
50
- const costDeltaVsParentUSD = computeCostDeltaVsParentUSD(totalCostUSD, totalInputTokens, totalOutputTokens, parentModel ?? undefined, totalCachedTokens, totalReasoningTokens);
41
+ // ── Tier-level rollup (§3.2, §3.3) ───────────────────────────────────
42
+ const tierUsage = rollupByTier(stages.map(s => ({
43
+ tier: s.tier,
44
+ model: s.model,
45
+ costUSD: s.costUSD,
46
+ inputTokens: s.inputTokens,
47
+ outputTokens: s.outputTokens,
48
+ cachedReadTokens: s.cachedReadTokens ?? 0,
49
+ cachedCreationTokens: s.cachedCreationTokens ?? 0,
50
+ reasoningTokens: s.reasoningTokens ?? 0,
51
+ })));
52
+ const allTokens = sumTokens(stages.map(s => ({
53
+ inputTokens: s.inputTokens,
54
+ outputTokens: s.outputTokens,
55
+ cachedReadTokens: s.cachedReadTokens ?? 0,
56
+ cachedCreationTokens: s.cachedCreationTokens ?? 0,
57
+ reasoningTokens: s.reasoningTokens ?? 0,
58
+ })));
59
+ // Honest-null: ANY contributing stage with costUSD: null poisons the total.
60
+ // Matches rollupByTier semantics — invariant: Σ tierUsage[T].costUSD === totalCostUSD
61
+ // (both null OR both equal).
62
+ const anyNullCost = stages.some(s => s.costUSD === null);
63
+ const totalCostUSD = stages.length === 0
64
+ ? 0
65
+ : (anyNullCost ? null : clampTaskCost(stages.reduce((sum, s) => sum + s.costUSD, 0)));
66
+ const totalInputTokens = clampInputTokens(allTokens.inputTokens);
67
+ const totalOutputTokens = clampOutputTokens(allTokens.outputTokens);
68
+ const totalCachedReadTokens = clampCachedTokens(allTokens.cachedReadTokens);
69
+ const totalCachedCreationTokens = clampCachedTokens(allTokens.cachedCreationTokens);
70
+ const totalReasoningTokens = clampReasoningTokens(allTokens.reasoningTokens);
71
+ const parentCard = resolveRateCard(parentModel);
72
+ const parentEquivalentCostUSD = parentCard ? priceTokens(allTokens, parentCard) : null;
73
+ const costDeltaVsParentUSD = (totalCostUSD === null || parentEquivalentCostUSD === null)
74
+ ? null
75
+ : totalCostUSD - parentEquivalentCostUSD;
76
+ // Canonicalize parentModel for emission (matches implementerModel emission path).
77
+ const parentNormalized = parentModel ? normalizeModel(parentModel) : null;
51
78
  const rawReviewPolicy = ctx.reviewPolicy ?? (QUALITY_ONLY_ROUTES.has(route) ? 'quality_only' : 'full');
52
79
  // Normalize TaskSpec-level values to wire enum:
53
80
  // 'off' → 'none' (wire form for no-review)
@@ -81,13 +108,17 @@ export function buildTaskCompletedEvent(ctx) {
81
108
  terminalStatus: deriveTerminalStatus(runResult),
82
109
  workerStatus: deriveWorkerStatus(runResult),
83
110
  errorCode: deriveErrorCode(runResult),
84
- parentModelFamily: parentModel ? normalizeModel(parentModel).family : 'other',
111
+ parentModel: parentNormalized?.canonical ?? null,
112
+ parentModelFamily: parentNormalized?.family ?? 'other',
113
+ tierUsage,
85
114
  inputTokens: totalInputTokens,
86
115
  outputTokens: totalOutputTokens,
87
- cachedTokens: totalCachedTokens,
116
+ cachedReadTokens: totalCachedReadTokens,
117
+ cachedCreationTokens: totalCachedCreationTokens,
88
118
  reasoningTokens: totalReasoningTokens,
89
119
  totalDurationMs,
90
120
  totalCostUSD,
121
+ parentEquivalentCostUSD,
91
122
  costDeltaVsParentUSD,
92
123
  concernCount: Math.min(runResult.concerns?.length ?? 0, 150),
93
124
  escalationCount,
@@ -157,11 +188,13 @@ function extractStageData(raw, _rr, _stageName) {
157
188
  return {
158
189
  model: raw.model ? normalizeModel(raw.model).canonical ?? raw.model : 'custom',
159
190
  tier: raw.agentTier ?? 'standard',
191
+ round: raw.round ?? 0,
160
192
  durationMs: clampDurationMsStage(raw.durationMs ?? 0),
161
193
  costUSD: clampStageCost(raw.costUSD ?? 0),
162
194
  inputTokens: clampInputTokens(raw.inputTokens ?? 0),
163
195
  outputTokens: clampOutputTokens(raw.outputTokens ?? 0),
164
- cachedTokens: clampCachedTokens(raw.cachedTokens ?? 0),
196
+ cachedReadTokens: clampCachedTokens(raw.cachedReadTokens ?? 0),
197
+ cachedCreationTokens: clampCachedTokens(raw.cachedCreationTokens ?? 0),
165
198
  reasoningTokens: clampReasoningTokens(raw.reasoningTokens ?? 0),
166
199
  toolCallCount: clampToolCallCount(raw.toolCallCount ?? 0),
167
200
  filesReadCount: clampFilesReadCount(raw.filesReadCount ?? 0),