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

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 +38 -4
  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 +129 -46
  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`
@@ -300,14 +306,28 @@ export async function runOpenAI(prompt, options, runner) {
300
306
  preview: text.slice(0, 200),
301
307
  });
302
308
  }
309
+ const cachedRead = sumCachedReadTokens(result.state.usage.inputTokensDetails) ?? 0;
310
+ const reasoning = sumReasoningTokens(result.state.usage.outputTokensDetails) ?? 0;
303
311
  emit({
304
312
  kind: 'turn_complete',
305
313
  turn: result.state.usage.requests,
306
314
  cumulativeInputTokens: result.state.usage.inputTokens,
307
315
  cumulativeOutputTokens: result.state.usage.outputTokens,
316
+ cumulativeCachedReadTokens: cachedRead > 0 ? cachedRead : undefined,
317
+ cumulativeReasoningTokens: reasoning > 0 ? reasoning : undefined,
308
318
  });
309
- // Track cost for this turn
310
- const turnCost = computeCostUSD(result.state.usage.inputTokens, result.state.usage.outputTokens, runner.providerConfig);
319
+ // Track cost for this turn using per-turn delta from cumulative
320
+ const cur = {
321
+ inputTokens: Math.max(0, result.state.usage.inputTokens - cachedRead),
322
+ outputTokens: result.state.usage.outputTokens,
323
+ cachedReadTokens: cachedRead,
324
+ cachedCreationTokens: 0,
325
+ reasoningTokens: reasoning,
326
+ };
327
+ const turnTokens = subtractTokens(cur, lastCumulative);
328
+ lastCumulative = cur;
329
+ const rateCard = resolveProviderRateCard(runner.providerConfig);
330
+ const turnCost = rateCard ? priceTokens(turnTokens, rateCard) : null;
311
331
  if (turnCost !== null) {
312
332
  lastTurnCostUSD = turnCost;
313
333
  costMeter.add(turnCost);
@@ -350,11 +370,11 @@ export async function runOpenAI(prompt, options, runner) {
350
370
  * Build a cost_exceeded result.
351
371
  */
352
372
  function buildCostExceededResult(turnsAtFailure) {
353
- const partial = partialUsage(currentResult, runner.providerConfig);
373
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
354
374
  return {
355
375
  output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
356
376
  status: 'cost_exceeded',
357
- usage: { ...partial, costDeltaVsParentUSD: 0 },
377
+ usage: partial,
358
378
  turns: turnsAtFailure,
359
379
  filesRead: tracker.getReads(),
360
380
  directoriesListed: tracker.getDirectoriesListed(),
@@ -581,8 +601,7 @@ export async function runOpenAI(prompt, options, runner) {
581
601
  const filesRead = tracker.getReads();
582
602
  const filesWritten = tracker.getWrites();
583
603
  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);
604
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
586
605
  emit({ kind: 'done', status: 'incomplete' });
587
606
  const hasSalvage = !scratchpad.isEmpty();
588
607
  const turnsAtFailure = currentResult?.state.usage.requests ?? 0;
@@ -593,7 +612,7 @@ export async function runOpenAI(prompt, options, runner) {
593
612
  status: 'incomplete',
594
613
  errorCode: 'degenerate_exhausted',
595
614
  error: `agent exhausted time/cost budget after ${turnsAtFailure} turns`,
596
- usage: { ...partial, costDeltaVsParentUSD },
615
+ usage: partial,
597
616
  turns: turnsAtFailure,
598
617
  filesRead,
599
618
  directoriesListed: tracker.getDirectoriesListed(),
@@ -608,7 +627,7 @@ export async function runOpenAI(prompt, options, runner) {
608
627
  if (err instanceof Error && '__timeCeiling' in err) {
609
628
  const ceilingMs = err.__timeCeiling;
610
629
  emit({ kind: 'done', status: 'incomplete' });
611
- const partial = partialUsage(currentResult, runner.providerConfig);
630
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
612
631
  return sharedBuildTimeCeilingResult({
613
632
  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
633
  turns: currentResult?.state.usage.requests ?? 0,
@@ -629,12 +648,11 @@ export async function runOpenAI(prompt, options, runner) {
629
648
  const msg = err instanceof Error ? err.message : String(err);
630
649
  emit({ kind: 'done', status });
631
650
  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);
651
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
634
652
  return {
635
653
  output: hasSalvage ? scratchpad.latest() : `Sub-agent error: ${msg}`,
636
654
  status,
637
- usage: { ...partial, costDeltaVsParentUSD },
655
+ usage: partial,
638
656
  turns: currentResult?.state.usage.requests ?? 0,
639
657
  filesRead: tracker.getReads(),
640
658
  directoriesListed: tracker.getDirectoriesListed(),
@@ -657,8 +675,7 @@ export async function runOpenAI(prompt, options, runner) {
657
675
  return withTimeout(run(), timeoutMs, () => {
658
676
  emit({ kind: 'done', status: 'timeout' });
659
677
  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);
678
+ const partial = partialUsage(currentResult, runner.providerConfig, parentModel);
662
679
  return {
663
680
  output: hasSalvage
664
681
  ? scratchpad.latest()
@@ -670,7 +687,7 @@ export async function runOpenAI(prompt, options, runner) {
670
687
  toolCalls: tracker.getToolCalls(),
671
688
  // Preserve partial usage from the last successful agentRun so the
672
689
  // caller sees real numbers, not zeros, on a timeout.
673
- usage: { ...partial, costDeltaVsParentUSD },
690
+ usage: partial,
674
691
  turns: currentResult?.state.usage.requests ?? 0,
675
692
  outputIsDiagnostic: !hasSalvage,
676
693
  escalationLog: [],
@@ -680,49 +697,93 @@ export async function runOpenAI(prompt, options, runner) {
680
697
  }, abortController, options.abortSignal);
681
698
  }
682
699
  // --- Helpers: canonical return-shape builders -------------------------------
700
+ function resolveProviderRateCard(config) {
701
+ return resolveRateCard(config.model, {
702
+ inputCostPerMTok: config.inputCostPerMTok,
703
+ outputCostPerMTok: config.outputCostPerMTok,
704
+ });
705
+ }
683
706
  /**
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.
707
+ * Sum cached_tokens across inputTokensDetails records.
708
+ * OpenAI exposes cache reads only via `cached_tokens` in inputTokensDetails;
709
+ * there is no cache creation exposure.
692
710
  */
693
- function extractCanonicalTokens(usage) {
694
- let cachedTokens = 0;
695
- let hasCached = false;
696
- for (const d of usage.inputTokensDetails ?? []) {
711
+ function sumCachedReadTokens(details) {
712
+ if (!details || details.length === 0)
713
+ return null;
714
+ let sum = 0;
715
+ let hasAny = false;
716
+ for (const d of details) {
697
717
  if (typeof d.cached_tokens === 'number') {
698
- cachedTokens += d.cached_tokens;
699
- hasCached = true;
718
+ sum += d.cached_tokens;
719
+ hasAny = true;
700
720
  }
701
721
  }
702
- let reasoningTokens = 0;
703
- let hasReasoning = false;
704
- for (const d of usage.outputTokensDetails ?? []) {
722
+ return hasAny ? sum : null;
723
+ }
724
+ /**
725
+ * Sum reasoning_tokens across outputTokensDetails records.
726
+ */
727
+ function sumReasoningTokens(details) {
728
+ if (!details || details.length === 0)
729
+ return null;
730
+ let sum = 0;
731
+ let hasAny = false;
732
+ for (const d of details) {
705
733
  if (typeof d.reasoning_tokens === 'number') {
706
- reasoningTokens += d.reasoning_tokens;
707
- hasReasoning = true;
734
+ sum += d.reasoning_tokens;
735
+ hasAny = true;
708
736
  }
709
737
  }
738
+ return hasAny ? sum : null;
739
+ }
740
+ /**
741
+ * Extract split cache/reasoning tokens into {@link CanonicalUsage} shape (§3.6).
742
+ *
743
+ * OpenAI exposes cache reads via `cached_tokens` in `inputTokensDetails` and
744
+ * reasoning tokens via `reasoning_tokens` in `outputTokensDetails`. There is
745
+ * no cache creation dimension in OpenAI's API, so `cachedCreationTokens` is
746
+ * always null.
747
+ */
748
+ function extractCanonicalTokens(usage) {
710
749
  return {
711
- cachedTokens: hasCached ? cachedTokens : null,
712
- reasoningTokens: hasReasoning ? reasoningTokens : null,
750
+ cachedReadTokens: sumCachedReadTokens(usage.inputTokensDetails),
751
+ cachedCreationTokens: null,
752
+ reasoningTokens: sumReasoningTokens(usage.outputTokensDetails),
713
753
  };
714
754
  }
715
755
  export function openAIUsage(currentResult, providerConfig, parentModel) {
716
756
  const u = currentResult.state.usage;
717
- const { cachedTokens, reasoningTokens } = extractCanonicalTokens(u);
718
- const costUSD = computeCostUSD(u.inputTokens, u.outputTokens, providerConfig, cachedTokens ?? 0, reasoningTokens ?? 0);
757
+ const { cachedReadTokens, reasoningTokens } = extractCanonicalTokens(u);
758
+ const cachedRead = cachedReadTokens ?? 0;
759
+ const reasoning = reasoningTokens ?? 0;
760
+ const nonCachedInput = Math.max(0, u.inputTokens - cachedRead);
761
+ const workerCard = resolveProviderRateCard(providerConfig);
762
+ const tokenCounts = {
763
+ inputTokens: nonCachedInput,
764
+ outputTokens: u.outputTokens,
765
+ cachedReadTokens: cachedRead,
766
+ cachedCreationTokens: 0,
767
+ reasoningTokens: reasoning,
768
+ };
769
+ const costUSD = workerCard ? priceTokens(tokenCounts, workerCard) : null;
770
+ let costDeltaVsParentUSD = null;
771
+ if (costUSD !== null && parentModel) {
772
+ const parentCard = resolveRateCard(parentModel);
773
+ if (parentCard) {
774
+ costDeltaVsParentUSD = costUSD - priceTokens(tokenCounts, parentCard);
775
+ }
776
+ }
777
+ const legacyCached = cachedReadTokens !== null ? cachedRead : null;
719
778
  return {
720
779
  inputTokens: u.inputTokens,
721
780
  outputTokens: u.outputTokens,
722
781
  totalTokens: u.totalTokens,
723
782
  costUSD,
724
- costDeltaVsParentUSD: computeCostDeltaVsParentUSD(costUSD, u.inputTokens, u.outputTokens, parentModel, cachedTokens, reasoningTokens),
725
- cachedTokens,
783
+ costDeltaVsParentUSD,
784
+ cachedTokens: legacyCached,
785
+ cachedReadTokens,
786
+ cachedCreationTokens: null,
726
787
  reasoningTokens,
727
788
  };
728
789
  }
@@ -785,19 +846,41 @@ function formatFileList(files) {
785
846
  * non-happy-path return so the caller sees real token counts (and a
786
847
  * real cost estimate) instead of zeros.
787
848
  */
788
- function partialUsage(result, providerConfig) {
849
+ function partialUsage(result, providerConfig, parentModel) {
789
850
  if (!result) {
790
- return { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: null, costDeltaVsParentUSD: null, cachedTokens: null, reasoningTokens: null };
851
+ return { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: null, costDeltaVsParentUSD: null, cachedTokens: null, cachedReadTokens: null, cachedCreationTokens: null, reasoningTokens: null };
791
852
  }
792
853
  const usage = result.state.usage;
793
- const { cachedTokens, reasoningTokens } = extractCanonicalTokens(usage);
854
+ const { cachedReadTokens, reasoningTokens } = extractCanonicalTokens(usage);
855
+ const cachedRead = cachedReadTokens ?? 0;
856
+ const reasoning = reasoningTokens ?? 0;
857
+ const nonCachedInput = Math.max(0, usage.inputTokens - cachedRead);
858
+ const workerCard = resolveProviderRateCard(providerConfig);
859
+ const tokenCounts = {
860
+ inputTokens: nonCachedInput,
861
+ outputTokens: usage.outputTokens,
862
+ cachedReadTokens: cachedRead,
863
+ cachedCreationTokens: 0,
864
+ reasoningTokens: reasoning,
865
+ };
866
+ const costUSD = workerCard ? priceTokens(tokenCounts, workerCard) : null;
867
+ let costDeltaVsParentUSD = null;
868
+ if (costUSD !== null && parentModel) {
869
+ const parentCard = resolveRateCard(parentModel);
870
+ if (parentCard) {
871
+ costDeltaVsParentUSD = costUSD - priceTokens(tokenCounts, parentCard);
872
+ }
873
+ }
874
+ const legacyCached = cachedReadTokens !== null ? cachedRead : null;
794
875
  return {
795
876
  inputTokens: usage.inputTokens,
796
877
  outputTokens: usage.outputTokens,
797
878
  totalTokens: usage.totalTokens,
798
- costUSD: computeCostUSD(usage.inputTokens, usage.outputTokens, providerConfig, cachedTokens ?? 0, reasoningTokens ?? 0),
799
- costDeltaVsParentUSD: null,
800
- cachedTokens,
879
+ costUSD,
880
+ costDeltaVsParentUSD,
881
+ cachedTokens: legacyCached,
882
+ cachedReadTokens,
883
+ cachedCreationTokens: null,
801
884
  reasoningTokens,
802
885
  };
803
886
  }
@@ -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),