@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.
- package/README.md +1 -1
- package/dist/cost/compute.d.ts +33 -0
- package/dist/cost/compute.d.ts.map +1 -0
- package/dist/cost/compute.js +67 -0
- package/dist/cost/compute.js.map +1 -0
- package/dist/cost/rollup.d.ts +18 -0
- package/dist/cost/rollup.d.ts.map +1 -0
- package/dist/cost/rollup.js +43 -0
- package/dist/cost/rollup.js.map +1 -0
- package/dist/heartbeat.d.ts +7 -0
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +18 -5
- package/dist/heartbeat.js.map +1 -1
- package/dist/model-profiles.json +6 -6
- package/dist/observability/events.d.ts +3 -3
- package/dist/routing/model-profiles.d.ts +4 -3
- package/dist/routing/model-profiles.d.ts.map +1 -1
- package/dist/routing/model-profiles.js +12 -6
- package/dist/routing/model-profiles.js.map +1 -1
- package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
- package/dist/run-tasks/reviewed-lifecycle.js +71 -17
- package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
- package/dist/runners/base/result-builders.d.ts +2 -0
- package/dist/runners/base/result-builders.d.ts.map +1 -1
- package/dist/runners/base/result-builders.js +2 -0
- package/dist/runners/base/result-builders.js.map +1 -1
- package/dist/runners/base/usage-accumulator.d.ts +2 -10
- package/dist/runners/base/usage-accumulator.d.ts.map +1 -1
- package/dist/runners/base/usage-accumulator.js +14 -25
- package/dist/runners/base/usage-accumulator.js.map +1 -1
- package/dist/runners/claude-runner.d.ts.map +1 -1
- package/dist/runners/claude-runner.js +123 -26
- package/dist/runners/claude-runner.js.map +1 -1
- package/dist/runners/codex-runner.d.ts.map +1 -1
- package/dist/runners/codex-runner.js +114 -28
- package/dist/runners/codex-runner.js.map +1 -1
- package/dist/runners/openai-runner.d.ts.map +1 -1
- package/dist/runners/openai-runner.js +149 -56
- package/dist/runners/openai-runner.js.map +1 -1
- package/dist/runners/types.d.ts +7 -0
- package/dist/runners/types.d.ts.map +1 -1
- package/dist/telemetry/event-builder.d.ts.map +1 -1
- package/dist/telemetry/event-builder.js +48 -15
- package/dist/telemetry/event-builder.js.map +1 -1
- package/dist/telemetry/field-coverage.d.ts.map +1 -1
- package/dist/telemetry/field-coverage.js +15 -7
- package/dist/telemetry/field-coverage.js.map +1 -1
- package/dist/telemetry/types.d.ts +358 -164
- package/dist/telemetry/types.d.ts.map +1 -1
- package/dist/telemetry/types.js +63 -37
- package/dist/telemetry/types.js.map +1 -1
- package/dist/types.d.ts +0 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -73
- package/dist/types.js.map +1 -1
- 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,
|
|
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
|
-
...(
|
|
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
|
|
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:
|
|
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
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
*
|
|
685
|
-
*
|
|
686
|
-
*
|
|
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
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
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
|
-
|
|
699
|
-
|
|
728
|
+
sum += d.cached_tokens;
|
|
729
|
+
hasAny = true;
|
|
700
730
|
}
|
|
701
731
|
}
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
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
|
-
|
|
707
|
-
|
|
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
|
-
|
|
712
|
-
|
|
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 {
|
|
718
|
-
const
|
|
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
|
|
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 {
|
|
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
|
|
799
|
-
costDeltaVsParentUSD
|
|
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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"}
|
package/dist/runners/types.d.ts
CHANGED
|
@@ -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;
|
|
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
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
111
|
+
parentModel: parentNormalized?.canonical ?? null,
|
|
112
|
+
parentModelFamily: parentNormalized?.family ?? 'other',
|
|
113
|
+
tierUsage,
|
|
85
114
|
inputTokens: totalInputTokens,
|
|
86
115
|
outputTokens: totalOutputTokens,
|
|
87
|
-
|
|
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
|
-
|
|
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),
|