@mupt-ai/dari-router 0.2.3 → 0.2.5

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 (75) hide show
  1. package/README.md +14 -1
  2. package/dist/anonymous_actions.d.ts +18 -8
  3. package/dist/anonymous_actions.js +123 -46
  4. package/dist/anonymous_actions.js.map +1 -1
  5. package/dist/cache_behavior.js +1 -1
  6. package/dist/cache_behavior.js.map +1 -1
  7. package/dist/cache_scope.js +4 -1
  8. package/dist/cache_scope.js.map +1 -1
  9. package/dist/continuation_state.d.ts +1 -0
  10. package/dist/continuation_state.js +6 -1
  11. package/dist/continuation_state.js.map +1 -1
  12. package/dist/cost.d.ts +1 -0
  13. package/dist/cost.js +57 -36
  14. package/dist/cost.js.map +1 -1
  15. package/dist/eval_score_imputation.d.ts +14 -3
  16. package/dist/eval_score_imputation.js +82 -59
  17. package/dist/eval_score_imputation.js.map +1 -1
  18. package/dist/fixed_turn_cost_config.d.ts +2 -0
  19. package/dist/fixed_turn_cost_config.js +8 -0
  20. package/dist/fixed_turn_cost_config.js.map +1 -1
  21. package/dist/index.d.ts +0 -2
  22. package/dist/index.js +0 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/jev_client.d.ts +31 -0
  25. package/dist/jev_client.js +115 -0
  26. package/dist/jev_client.js.map +1 -0
  27. package/dist/jev_eval_relevance.d.ts +49 -0
  28. package/dist/jev_eval_relevance.js +176 -0
  29. package/dist/jev_eval_relevance.js.map +1 -0
  30. package/dist/jev_selector.d.ts +3 -27
  31. package/dist/jev_selector.js +31 -221
  32. package/dist/jev_selector.js.map +1 -1
  33. package/dist/model_ids.js +10 -3
  34. package/dist/model_ids.js.map +1 -1
  35. package/dist/pi_context.js.map +1 -1
  36. package/dist/pi_options.js +83 -26
  37. package/dist/pi_options.js.map +1 -1
  38. package/dist/pi_output.js +2 -2
  39. package/dist/pi_output.js.map +1 -1
  40. package/dist/policy-engine.d.ts +2 -0
  41. package/dist/policy-engine.js +2 -0
  42. package/dist/policy-engine.js.map +1 -1
  43. package/dist/prompts/anonymous_action.md +33 -0
  44. package/dist/prompts/anonymous_rules.md +5 -0
  45. package/dist/prompts/custom_rules.md +10 -0
  46. package/dist/prompts/jev_eval_relevance.json +12 -0
  47. package/dist/prompts/jev_selector.json +22 -0
  48. package/dist/prompts/selector.md +21 -0
  49. package/dist/prompts.d.ts +28 -3
  50. package/dist/prompts.js +58 -80
  51. package/dist/prompts.js.map +1 -1
  52. package/dist/route.d.ts +1 -0
  53. package/dist/route.js +21 -0
  54. package/dist/route.js.map +1 -1
  55. package/dist/routing_history.d.ts +3 -0
  56. package/dist/routing_history.js +90 -55
  57. package/dist/routing_history.js.map +1 -1
  58. package/dist/selector_input.d.ts +0 -2
  59. package/dist/selector_input.js +15 -7
  60. package/dist/selector_input.js.map +1 -1
  61. package/dist/selector_request.d.ts +0 -1
  62. package/dist/selector_request.js +14 -37
  63. package/dist/selector_request.js.map +1 -1
  64. package/dist/selector_truncation.d.ts +0 -1
  65. package/dist/selector_truncation.js +6 -39
  66. package/dist/selector_truncation.js.map +1 -1
  67. package/dist/thinking_level_graph.d.ts +10 -0
  68. package/dist/thinking_level_graph.js +64 -0
  69. package/dist/thinking_level_graph.js.map +1 -0
  70. package/dist/types.d.ts +2 -0
  71. package/package.json +4 -5
  72. package/dist/jev_router.d.ts +0 -5
  73. package/dist/jev_router.js +0 -22
  74. package/dist/jev_router.js.map +0 -1
  75. package/examples/jev_router.ts +0 -50
package/README.md CHANGED
@@ -8,7 +8,7 @@ It gives you three replaceable pieces:
8
8
  - **Policies** choose an eligible model.
9
9
  - **Executors** call the chosen model.
10
10
 
11
- The root package also includes a Pi AI executor, a hosted Auto Router policy, and a Jev Router policy backed by TypeSafe's Jev model.
11
+ The root package also includes a Pi AI executor and a hosted Auto Router policy.
12
12
 
13
13
  ## Install
14
14
 
@@ -115,6 +115,19 @@ import {
115
115
  } from "@mupt-ai/dari-router/eval-score-imputation";
116
116
  ```
117
117
 
118
+ Imputation learns a separate thinking-level graph for each model owner (the
119
+ canonical model ID namespace, such as `openai` or `anthropic`), not the serving
120
+ provider. Each edge averages ratios observed within the same model and eval.
121
+ Direct edges win; otherwise shortest-path products are averaged. Providers never
122
+ share edges or act as a global fallback. Exact and generic scores still win,
123
+ and explicitly mapped predecessor models remain the final fallback. Only
124
+ estimated scores are made nondecreasing with effort: future measured scores cap
125
+ estimates, then prefix maxima prevent higher-effort estimates from falling below
126
+ lower-effort evidence. Measured scores and calibration data are never changed.
127
+ Conflicting measured bounds leave the missing interval blank. The graph algorithm
128
+ lives in `src/thinking_level_graph.ts`; eval parsing and normalization stay in
129
+ `src/eval_score_imputation.ts`.
130
+
118
131
  Most applications should use `createRouter`. Use `router.evaluatePolicy()` for stateless previews and `router.select()` when you need the same lease-aware selection used by `router.fetch()`.
119
132
 
120
133
  ## Development
@@ -1,3 +1,4 @@
1
+ import type { ReasoningCacheScopeLookup } from "./cache_scope.js";
1
2
  import { type JsonObject, type JsonValue } from "./json.js";
2
3
  import type { TurnCostProjection } from "./types.js";
3
4
  export type Rng = () => number;
@@ -28,6 +29,8 @@ export type AnonymousEvalScore = {
28
29
  rank_total: number;
29
30
  z_score: number;
30
31
  score: number;
32
+ cost_per_task_usd?: number;
33
+ estimated?: true;
31
34
  };
32
35
  export type AnonymousEvalCard = {
33
36
  name: string;
@@ -36,11 +39,9 @@ export type AnonymousEvalCard = {
36
39
  max_score: number;
37
40
  scores: AnonymousEvalScore[];
38
41
  };
39
- export type AnonymousEvalScoreFormat = "standing" | "raw";
40
- export declare const ANONYMOUS_EVAL_SCORE_FORMATS: readonly AnonymousEvalScoreFormat[];
41
- export declare function parseAnonymousEvalScoreFormat(value: unknown, label: string): AnonymousEvalScoreFormat;
42
42
  export type AnonymousActionCost = {
43
43
  action: string;
44
+ cold_start_usd: number;
44
45
  projections: TurnCostProjection[];
45
46
  };
46
47
  export type AnonymousLeaseHistoryEntry = {
@@ -62,6 +63,13 @@ export type AnonymousLeaseHistoryEntry = {
62
63
  result: JsonValue | null;
63
64
  } | null;
64
65
  };
66
+ export type AnonymousRouterRules = {
67
+ rules: Array<{
68
+ when: string;
69
+ actions: string[];
70
+ }>;
71
+ default_actions: string[] | null;
72
+ };
65
73
  export type AnonymousSelectorInput = {
66
74
  candidate_actions: Array<{
67
75
  action: string;
@@ -71,14 +79,16 @@ export type AnonymousSelectorInput = {
71
79
  action: string;
72
80
  } | null;
73
81
  cost_estimates: AnonymousActionCost[];
74
- task: JsonValue | null;
75
82
  lease_history: AnonymousLeaseHistoryEntry[];
76
83
  messages: JsonValue;
84
+ router_rules?: AnonymousRouterRules;
77
85
  };
78
- export declare function assignAnonymousActions(candidates: readonly AnonymousActionCandidate[], rng: Rng): AnonymousActionSlot[];
79
- export declare function assignStableAnonymousActions(allCandidates: readonly AnonymousActionCandidate[], activeCandidates: readonly AnonymousActionCandidate[], rng: Rng): AnonymousActionSlot[];
86
+ export declare function assignAnonymousActions(candidates: readonly AnonymousActionCandidate[], rng: Rng, cacheScope?: ReasoningCacheScopeLookup): AnonymousActionSlot[];
87
+ export declare function assignStableAnonymousActions(allCandidates: readonly AnonymousActionCandidate[], activeCandidates: readonly AnonymousActionCandidate[], rng: Rng, cacheScope?: ReasoningCacheScopeLookup): AnonymousActionSlot[];
80
88
  export declare function anonymizeSelectorInput(selectorInput: JsonObject, slots: readonly AnonymousActionSlot[]): AnonymousSelectorInput;
81
- export declare function buildAnonymousPolicyPrompt(anonymousSelectorInput: AnonymousSelectorInput, slots: readonly AnonymousActionSlot[], evalScoreFormat?: AnonymousEvalScoreFormat): AnonymousPolicyPrompt;
82
- export declare function formatAnonymousPolicyInput(input: AnonymousSelectorInput, evalScoreFormat?: AnonymousEvalScoreFormat): string;
89
+ export declare function buildAnonymousPolicyPrompt(anonymousSelectorInput: AnonymousSelectorInput, slots: readonly AnonymousActionSlot[]): AnonymousPolicyPrompt;
90
+ export declare function formatRouterRules(rules: AnonymousRouterRules): string;
91
+ export declare function leaseAnswerInstruction(leaseTurns: readonly number[]): string;
92
+ export declare function formatAnonymousPolicyInput(input: AnonymousSelectorInput): string;
83
93
  export declare function parseAnonymousActionSelection(completion: string, slots: readonly AnonymousActionSlot[], leaseTurns?: readonly number[]): AnonymousActionSelection;
84
94
  export declare function sessionRng(sessionId: string): Rng;
@@ -6,40 +6,44 @@
6
6
  // named-candidate protocol in selector_input.ts/prompts.ts remains available
7
7
  // for custom routers that use a general-purpose LLM selector.
8
8
  import { createHash } from "node:crypto";
9
- import { ANONYMOUS_ACTION_RAW_SCORE_SYSTEM_PROMPT, ANONYMOUS_ACTION_SYSTEM_PROMPT, } from "./prompts.js";
9
+ import { FIXED_TURN_COST_COMPARISON_TURNS } from "./fixed_turn_cost_config.js";
10
+ import { ANONYMOUS_ACTION_SYSTEM_PROMPT, ANONYMOUS_RULES_PROMPT } from "./prompts.js";
10
11
  import { jsonRecord, jsonValue, requiredString, } from "./json.js";
11
- export const ANONYMOUS_EVAL_SCORE_FORMATS = ["standing", "raw"];
12
- export function parseAnonymousEvalScoreFormat(value, label) {
13
- if (value === "standing" || value === "raw")
14
- return value;
15
- throw new Error(`${label} must be one of ${ANONYMOUS_EVAL_SCORE_FORMATS.join(", ")}`);
16
- }
17
12
  // Shuffles candidates into spreadsheet-style action slots A..Z, AA..AZ, ...
18
- // with the injected rng.
19
- export function assignAnonymousActions(candidates, rng) {
13
+ // with the injected rng. Given a cache scope, a model whose thinking levels
14
+ // share one prompt cache gets one letter with a level suffix ("A:high",
15
+ // "A:low"), so the policy sees that changing level keeps the cache warm;
16
+ // effort-keyed levels stay separate letters.
17
+ export function assignAnonymousActions(candidates, rng, cacheScope) {
20
18
  if (candidates.length < 2) {
21
19
  throw new Error(`Anonymous action routing requires at least two candidates, got ${candidates.length}`);
22
20
  }
23
21
  const keys = new Set();
22
+ const groups = new Map();
24
23
  for (const candidate of candidates) {
25
24
  const key = candidateKey(candidate.model, candidate.reasoningEffort);
26
25
  if (keys.has(key))
27
26
  throw new Error(`Duplicate anonymous action candidate ${key}`);
28
27
  keys.add(key);
28
+ const groupKey = cacheScope?.(candidate.model) === "shared" ? candidate.model : key;
29
+ groups.set(groupKey, [...(groups.get(groupKey) ?? []), candidate]);
29
30
  }
30
- return shuffled(candidates, rng).map((candidate, index) => ({
31
- action: actionForIndex(index),
31
+ return shuffled([...groups.values()], rng).flatMap((group, index) => group.map((candidate) => ({
32
+ action: group.length === 1
33
+ ? actionForIndex(index)
34
+ : `${actionForIndex(index)}:${candidate.reasoningEffort}`,
32
35
  candidate,
33
- }));
36
+ })));
34
37
  }
35
38
  // Assigns letters over the conversation's full candidate roster, then keeps
36
39
  // only the currently routable candidates with their letters intact. Letters
37
40
  // therefore stay fixed for the whole agent loop even when pruning shrinks the
38
41
  // menu mid-conversation; a pruned candidate's letter simply goes absent
39
42
  // instead of being reassigned.
40
- export function assignStableAnonymousActions(allCandidates, activeCandidates, rng) {
41
- const slots = assignAnonymousActions(allCandidates, rng);
43
+ export function assignStableAnonymousActions(allCandidates, activeCandidates, rng, cacheScope) {
44
+ const slots = assignAnonymousActions(allCandidates, rng, cacheScope);
42
45
  const byKey = new Map(slots.map((slot) => [candidateKey(slot.candidate.model, slot.candidate.reasoningEffort), slot]));
46
+ const rosterOrder = new Map(slots.map((slot, index) => [slot, index]));
43
47
  const active = activeCandidates.map((candidate) => {
44
48
  const slot = byKey.get(candidateKey(candidate.model, candidate.reasoningEffort));
45
49
  if (slot === undefined) {
@@ -52,9 +56,7 @@ export function assignStableAnonymousActions(allCandidates, activeCandidates, rn
52
56
  }
53
57
  // Menu order follows the roster's letter order, matching the single-roster
54
58
  // behavior where slots come back in assignment order.
55
- return active.sort((left, right) => left.action.length === right.action.length
56
- ? left.action.localeCompare(right.action)
57
- : left.action.length - right.action.length);
59
+ return active.sort((left, right) => rosterOrder.get(left) - rosterOrder.get(right));
58
60
  }
59
61
  function actionForIndex(index) {
60
62
  let remaining = index;
@@ -77,28 +79,76 @@ export function anonymizeSelectorInput(selectorInput, slots) {
77
79
  imported_evals: anonymizeEvals(input["imported_evals"], byCandidate),
78
80
  previous_action: anonymizePreviousDecision(input["previous_decision"], byCandidate),
79
81
  cost_estimates: anonymizeCosts(input["cost_estimates"], byCandidate),
80
- task: input["task"] === null || input["task"] === undefined
81
- ? null
82
- : jsonValue(input["task"], "selector input task"),
83
82
  lease_history: anonymizeLeaseHistory(input["lease_history"], byCandidate),
84
83
  messages: jsonValue(input["messages"], "selector input messages"),
84
+ ...(Array.isArray(input["custom_rules"])
85
+ ? { router_rules: anonymizeRouterRules(input["custom_rules"], input["default_target"], slots) }
86
+ : {}),
85
87
  };
86
88
  }
87
- export function buildAnonymousPolicyPrompt(anonymousSelectorInput, slots, evalScoreFormat = "raw") {
88
- const format = evalScoreFormat === "standing" ? "standing" : "raw";
89
+ function anonymizeRouterRules(customRules, defaultTarget, slots) {
90
+ const actionsFor = (model, thinkingLevel) => slots
91
+ .filter((slot) => slot.candidate.model === model
92
+ && (thinkingLevel === null || thinkingLevel === undefined
93
+ || slot.candidate.reasoningEffort === thinkingLevel))
94
+ .map((slot) => slot.action);
95
+ const rules = customRules.flatMap((value, index) => {
96
+ const rule = jsonRecord(value, `custom_rules[${index}]`);
97
+ const actions = actionsFor(requiredString(rule["use"], `custom_rules[${index}].use`), rule["thinking_level"]);
98
+ return actions.length === 0
99
+ ? []
100
+ : [{ when: requiredString(rule["when"], `custom_rules[${index}].when`), actions }];
101
+ });
102
+ let defaultActions = null;
103
+ if (defaultTarget !== null && defaultTarget !== undefined) {
104
+ const target = jsonRecord(defaultTarget, "default_target");
105
+ const actions = actionsFor(requiredString(target["model"], "default_target.model"), target["thinking_level"]);
106
+ defaultActions = actions.length === 0 ? null : actions;
107
+ }
108
+ return { rules, default_actions: defaultActions };
109
+ }
110
+ export function buildAnonymousPolicyPrompt(anonymousSelectorInput, slots) {
111
+ // Rules are static per router, so they ride in the system prompt and the
112
+ // conversation-last user message keeps its shared prefix.
113
+ const rules = anonymousSelectorInput.router_rules;
89
114
  return {
90
115
  messages: [
91
116
  {
92
117
  role: "system",
93
- content: format === "standing"
118
+ content: rules === undefined
94
119
  ? ANONYMOUS_ACTION_SYSTEM_PROMPT
95
- : ANONYMOUS_ACTION_RAW_SCORE_SYSTEM_PROMPT,
120
+ : `${ANONYMOUS_ACTION_SYSTEM_PROMPT}\n\n${ANONYMOUS_RULES_PROMPT}\n${formatRouterRules(rules)}`,
96
121
  },
97
- { role: "user", content: formatAnonymousPolicyInput(anonymousSelectorInput, format) },
122
+ { role: "user", content: formatAnonymousPolicyInput(anonymousSelectorInput) },
98
123
  ],
99
124
  actions: slots.map((slot) => slot.action),
100
125
  };
101
126
  }
127
+ export function formatRouterRules(rules) {
128
+ const actionList = (actions) => actions.map((action) => `Action ${action}`).join(", ");
129
+ const lines = rules.rules.map((rule) => `- When ${JSON.stringify(rule.when)}: ${actionList(rule.actions)}`);
130
+ if (rules.default_actions !== null)
131
+ lines.push(`- Default: ${actionList(rules.default_actions)}`);
132
+ return section("router_rules", lines.join("\n"));
133
+ }
134
+ // The answer format a lease-trained policy learned, stating its lease menu: a
135
+ // contiguous range as "any whole number from a to b", otherwise the values.
136
+ // Training appends it to the system prompt, so serving must too.
137
+ export function leaseAnswerInstruction(leaseTurns) {
138
+ if (leaseTurns.length === 0)
139
+ throw new Error("A lease answer instruction requires lease turn options");
140
+ const sorted = [...leaseTurns].sort((left, right) => left - right);
141
+ const contiguous = sorted.every((turns, index) => index === 0 || turns === sorted[index - 1] + 1);
142
+ const menu = contiguous
143
+ ? `any whole number from ${sorted[0]} to ${sorted[sorted.length - 1]}`
144
+ : `one of ${sorted.join(", ")}`;
145
+ return `Answer with {"action": <action>, "turns": <lease length>}, where action is written exactly as in its "## Action" heading and turns is ${menu}.`;
146
+ }
147
+ // The conversation is the coding agent's own transcript, and a long one ends
148
+ // the prompt far from the system prompt, so the policy can drift into doing
149
+ // the agent's task. The job is restated after it.
150
+ const ROUTING_REMINDER = "You are routing, not solving: the conversation above is evidence about the coding agent's progress. " +
151
+ "Pick the action and lease length for the agent's next turns, and answer only with the JSON.";
102
152
  // Renders the anonymous selector input as sectioned text rather than raw JSON.
103
153
  // One block per action carries that action's benchmark evidence and its
104
154
  // projected cost, so the policy compares like against like instead of
@@ -107,23 +157,28 @@ export function buildAnonymousPolicyPrompt(anonymousSelectorInput, slots, evalSc
107
157
  // keeping this message pure data. The conversation goes last: it is the only
108
158
  // section that grows turn over turn, so keeping it at the end preserves the
109
159
  // shared prefix.
110
- export function formatAnonymousPolicyInput(input, evalScoreFormat = "raw") {
160
+ export function formatAnonymousPolicyInput(input) {
111
161
  assertValidBenchmarkStandings(input.imported_evals);
112
162
  const sections = [
113
163
  ...(input.imported_evals.length > 0
114
- ? [section("benchmarks", input.imported_evals.map((card) => glossaryLine(card, evalScoreFormat)).join("\n"))]
164
+ ? [section("benchmarks", [
165
+ ...(input.imported_evals.some((card) => card.scores.some((score) => score.estimated))
166
+ ? ["Scores marked (est.) were estimated from the same model's other settings or its predecessor, not measured."]
167
+ : []),
168
+ ...input.imported_evals.map((card) => glossaryLine(card)),
169
+ ].join("\n"))]
115
170
  : []),
116
171
  section("candidates", input.candidate_actions
117
- .map((candidate) => candidateBlock(candidate.action, input, evalScoreFormat))
172
+ .map((candidate) => candidateBlock(candidate.action, input))
118
173
  .join("\n\n")),
119
174
  ...(input.previous_action === null
120
175
  ? []
121
176
  : [section("previous_action", input.previous_action.action)]),
122
- ...(input.task === null ? [] : [section("task", JSON.stringify(input.task))]),
123
177
  ...(input.lease_history.length === 0
124
178
  ? []
125
179
  : [section("lease_history", input.lease_history.map((entry, index) => leaseBlock(entry, index)).join("\n\n"))]),
126
180
  section("conversation", JSON.stringify(input.messages)),
181
+ ROUTING_REMINDER,
127
182
  ];
128
183
  return sections.join("\n\n");
129
184
  }
@@ -150,17 +205,18 @@ function jsonLabel(value) {
150
205
  function section(name, body) {
151
206
  return `<${name}>\n${body}\n</${name}>`;
152
207
  }
153
- function candidateBlock(action, input, evalScoreFormat) {
208
+ function candidateBlock(action, input) {
154
209
  const cost = input.cost_estimates.find((entry) => entry.action === action);
155
210
  const lines = [`## Action ${action}`];
156
211
  if (cost !== undefined)
157
- lines.push(costLine(cost));
212
+ lines.push(...costLines(cost));
158
213
  for (const card of input.imported_evals) {
159
214
  const score = card.scores.find((entry) => entry.action === action);
160
215
  if (score !== undefined) {
161
- lines.push(evalScoreFormat === "standing"
162
- ? `- ${card.name}: Rank ${score.rank}/${score.rank_total}, Z ${signed(score.z_score)}`
163
- : `- ${card.name}: Score ${rawScore(score.score)}`);
216
+ const line = `- ${card.name}: Score ${rawScore(score.score)}${score.estimated ? " (est.)" : ""}`;
217
+ lines.push(score.cost_per_task_usd === undefined
218
+ ? line
219
+ : `${line}, ${usd(score.cost_per_task_usd)}/task`);
164
220
  }
165
221
  }
166
222
  return lines.join("\n");
@@ -170,13 +226,22 @@ function rawScore(value) {
170
226
  return String(value);
171
227
  return value.toFixed(2).replace(/\.?0+$/, "");
172
228
  }
173
- // One line, one unit, the same horizons for every action.
174
- function costLine(cost) {
175
- const horizons = cost.projections.map((projection) => `${projection.projected_turns} turn${projection.projected_turns === 1 ? "" : "s"} ${usd(projection.total_cost_usd)}`);
176
- return `- Cost: ${horizons.join(", ")}`;
177
- }
178
- function signed(value) {
179
- return value >= 0 ? `+${value.toFixed(2)}` : value.toFixed(2);
229
+ // Two numbers per action. The cold start is what switching to it costs before
230
+ // its cache is warm. The per turn cost is the steady spend once it is warm,
231
+ // taken from the turns between the comparison horizon and the longest one so
232
+ // the cold start does not leak into it.
233
+ function costLines(cost) {
234
+ const at = (turns) => cost.projections.find((entry) => entry.projected_turns === turns);
235
+ const comparison = at(FIXED_TURN_COST_COMPARISON_TURNS);
236
+ const longest = cost.projections[cost.projections.length - 1];
237
+ const warmTurns = longest.projected_turns - FIXED_TURN_COST_COMPARISON_TURNS;
238
+ const perTurn = comparison === undefined || warmTurns <= 0
239
+ ? longest.total_cost_usd / longest.projected_turns
240
+ : (longest.total_cost_usd - comparison.total_cost_usd) / warmTurns;
241
+ return [
242
+ `- Cold start cost: ${usd(cost.cold_start_usd)}`,
243
+ `- Per turn cost: ${usd(perTurn)}`,
244
+ ];
180
245
  }
181
246
  function usd(value) {
182
247
  if (value >= 1)
@@ -184,13 +249,14 @@ function usd(value) {
184
249
  const trimmed = value.toPrecision(3).replace(/0+$/, "").replace(/\.$/, "");
185
250
  return `$${trimmed}`;
186
251
  }
187
- function glossaryLine(card, evalScoreFormat) {
188
- const scale = evalScoreFormat === "standing"
189
- ? ""
190
- : ` (scale ${rawScore(card.min_score)}–${rawScore(card.max_score)}, higher is better)`;
191
- return card.description === null
252
+ function glossaryLine(card) {
253
+ const scale = ` (scale ${rawScore(card.min_score)}–${rawScore(card.max_score)}, higher is better)`;
254
+ const line = card.description === null
192
255
  ? `- ${card.name}${scale}`
193
256
  : `- ${card.name}${scale}: ${card.description}`;
257
+ return card.scores.some((score) => score.cost_per_task_usd !== undefined)
258
+ ? `${line} $/task is the model API spend for one task of this benchmark at that action's setting.`
259
+ : line;
194
260
  }
195
261
  function assertValidBenchmarkStandings(cards) {
196
262
  for (const [cardIndex, card] of cards.entries()) {
@@ -322,12 +388,22 @@ function anonymizeEvals(value, byCandidate) {
322
388
  if (rawScore < minScore || rawScore > maxScore) {
323
389
  throw new Error(`${label}.score must be between ${minScore} and ${maxScore}`);
324
390
  }
391
+ const costPerTask = score["cost_per_task_usd"];
392
+ if (costPerTask !== undefined && (typeof costPerTask !== "number" || !(costPerTask > 0))) {
393
+ throw new Error(`${label}.cost_per_task_usd must be a positive number`);
394
+ }
395
+ const imputed = score["imputed"];
396
+ if (imputed !== undefined && imputed !== true) {
397
+ throw new Error(`${label}.imputed must be true when present`);
398
+ }
325
399
  return {
326
400
  action: actionForCandidate(byCandidate, requiredString(score["model_id"], `${label}.model_id`), requiredString(score["thinking_level"], `${label}.thinking_level`)),
327
401
  rank,
328
402
  rank_total: rankTotal,
329
403
  z_score: requiredNumber(score["z_score"], `${label}.z_score`),
330
404
  score: rawScore,
405
+ ...(costPerTask === undefined ? {} : { cost_per_task_usd: costPerTask }),
406
+ ...(imputed === true ? { estimated: true } : {}),
331
407
  };
332
408
  });
333
409
  return {
@@ -375,6 +451,7 @@ function anonymizeCosts(value, byCandidate) {
375
451
  return [
376
452
  {
377
453
  action,
454
+ cold_start_usd: requiredNumber(fixedTurn["cold_start_usd"], `${label}.fixed_turn_cost_estimate.cold_start_usd`),
378
455
  projections: fixedTurn["projections"].map((projection, projectionIndex) => {
379
456
  const projectionLabel = `${label}.fixed_turn_cost_estimate.projections[${projectionIndex}]`;
380
457
  const record = jsonRecord(projection, projectionLabel);
@@ -1 +1 @@
1
- {"version":3,"file":"anonymous_actions.js","sourceRoot":"","sources":["../src/anonymous_actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anonymous_actions.js","sourceRoot":"","sources":["../src/anonymous_actions.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export function anthropicMinCacheTokens(model, provider) {
63
63
  native.includes("haiku-4-5")) {
64
64
  return 4096;
65
65
  }
66
- if (native.includes("fable-5")) {
66
+ if (native.includes("fable-5") || native.includes("haiku-5-5")) {
67
67
  return 512;
68
68
  }
69
69
  return OPENAI_MIN_CACHE_TOKENS;
@@ -1 +1 @@
1
- {"version":3,"file":"cache_behavior.js","sourceRoot":"","sources":["../src/cache_behavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache_behavior.js","sourceRoot":"","sources":["../src/cache_behavior.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,9 @@ import { canonicalModelId, modelFamilyProvider } from "./model_ids.js";
11
11
  // Luna explicitly preserve prompt-cache identity across effort changes, so
12
12
  // their first-party OpenAI partitions are shared. Anthropic models are effort_keyed
13
13
  // because pi-ai places cache_control on message blocks, which Anthropic
14
- // invalidates on thinking changes; budget-thinking Haiku would share under a
14
+ // invalidates on thinking changes; Opus 5.5 is the exception, since it supports
15
+ // mid-conversation effort changes without invalidating the prefix cache.
16
+ // Budget-thinking Haiku would share under a
15
17
  // system-block breakpoint, so revalidate its entry if pi-ai's Anthropic cache
16
18
  // placement changes. Fireworks caching ignored reasoning entirely.
17
19
  // Unlisted models default to effort_keyed: the safe direction is to
@@ -24,6 +26,7 @@ export const DEFAULT_REASONING_CACHE_SCOPES = {
24
26
  "openai:openai/gpt-5.6-terra": "effort_keyed",
25
27
  "openai:openai/gpt-5.6-luna": "effort_keyed",
26
28
  "anthropic:anthropic/claude-opus-4-8": "effort_keyed",
29
+ "anthropic:anthropic/claude-opus-5-5": "shared",
27
30
  "anthropic:anthropic/claude-haiku-4-5": "effort_keyed", // via pi-ai message-block cache_control; see note above
28
31
  "fireworks:deepseek-ai/DeepSeek-V4-Pro-0813": "shared",
29
32
  "fireworks:deepseek-ai/DeepSeek-V4-Flash-0731": "shared",
@@ -1 +1 @@
1
- {"version":3,"file":"cache_scope.js","sourceRoot":"","sources":["../src/cache_scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIvE,yEAAyE;AACzE,uEAAuE;AACvE,0BAA0B;AAC1B,uEAAuE;AACvE,+EAA+E;AAC/E,8DAA8D;AAC9D,uEAAuE;AACvE,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,oFAAoF;AACpF,wEAAwE;AACxE,6EAA6E;AAC7E,8EAA8E;AAC9E,mEAAmE;AACnE,oEAAoE;AACpE,oEAAoE;AACpE,MAAM,CAAC,MAAM,8BAA8B,GAAkD;IAC3F,2BAA2B,EAAE,QAAQ;IACrC,yBAAyB,EAAE,QAAQ;IACnC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,cAAc;IAC3C,6BAA6B,EAAE,cAAc;IAC7C,4BAA4B,EAAE,cAAc;IAC5C,qCAAqC,EAAE,cAAc;IACrD,sCAAsC,EAAE,cAAc,EAAE,wDAAwD;IAChH,4CAA4C,EAAE,QAAQ;IACtD,8CAA8C,EAAE,QAAQ;IACxD,2BAA2B,EAAE,QAAQ;IACrC,iCAAiC,EAAE,QAAQ;CAC5C,CAAC;AAIF,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,QAAiB;IAEjB,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9E,MAAM,YAAY,GAAG,GAAG,cAAc,GAAG,CAAC;IAC1C,MAAM,eAAe,GAAG,cAAc,KAAK,WAAW,IAAI,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,8BAA8B,CAAC,GAAG,cAAc,IAAI,eAAe,EAAE,CAAC;WACxE,cAAc,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,wEAAwE;AACxE,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,eAA0C,EAC1C,UAAsC,EACtC,QAAiB;IAEjB,MAAM,KAAK,GAAG,UAAU,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC;IAC1D,OAAO,GAAG,iBAAiB,SAAS,eAAe,IAAI,EAAE,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"cache_scope.js","sourceRoot":"","sources":["../src/cache_scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIvE,yEAAyE;AACzE,uEAAuE;AACvE,0BAA0B;AAC1B,uEAAuE;AACvE,+EAA+E;AAC/E,8DAA8D;AAC9D,uEAAuE;AACvE,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,oFAAoF;AACpF,wEAAwE;AACxE,gFAAgF;AAChF,yEAAyE;AACzE,4CAA4C;AAC5C,8EAA8E;AAC9E,mEAAmE;AACnE,oEAAoE;AACpE,oEAAoE;AACpE,MAAM,CAAC,MAAM,8BAA8B,GAAkD;IAC3F,2BAA2B,EAAE,QAAQ;IACrC,yBAAyB,EAAE,QAAQ;IACnC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,cAAc;IAC3C,6BAA6B,EAAE,cAAc;IAC7C,4BAA4B,EAAE,cAAc;IAC5C,qCAAqC,EAAE,cAAc;IACrD,qCAAqC,EAAE,QAAQ;IAC/C,sCAAsC,EAAE,cAAc,EAAE,wDAAwD;IAChH,4CAA4C,EAAE,QAAQ;IACtD,8CAA8C,EAAE,QAAQ;IACxD,2BAA2B,EAAE,QAAQ;IACrC,iCAAiC,EAAE,QAAQ;CAC5C,CAAC;AAIF,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,QAAiB;IAEjB,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9E,MAAM,YAAY,GAAG,GAAG,cAAc,GAAG,CAAC;IAC1C,MAAM,eAAe,GAAG,cAAc,KAAK,WAAW,IAAI,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,8BAA8B,CAAC,GAAG,cAAc,IAAI,eAAe,EAAE,CAAC;WACxE,cAAc,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,wEAAwE;AACxE,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,eAA0C,EAC1C,UAAsC,EACtC,QAAiB;IAEjB,MAAM,KAAK,GAAG,UAAU,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3F,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC;IAC1D,OAAO,GAAG,iBAAiB,SAAS,eAAe,IAAI,EAAE,EAAE,CAAC;AAC9D,CAAC"}
@@ -38,6 +38,7 @@ export type RouterContinuationState = ProviderContinuationState;
38
38
  export declare function encodeProviderContinuationState(value: ProviderContinuationState): string;
39
39
  export declare function decodeUntrustedProviderContinuationState(value: string): ProviderContinuationState | null;
40
40
  export declare function isOpenAIResponsesApi(api: string): boolean;
41
+ export declare function isOpenAIReasoningContinuationApi(api: string): boolean;
41
42
  export declare function compatibleProviderContinuation(continuation: ProviderContinuationState | undefined, target: ProviderIdentity | null): ProviderContinuationState | null;
42
43
  export declare function sameProviderIdentity(a: ProviderIdentity, b: ProviderIdentity): boolean;
43
44
  export declare function providerIdentityFromModel(model: {
@@ -49,11 +49,16 @@ export function decodeUntrustedProviderContinuationState(value) {
49
49
  export function isOpenAIResponsesApi(api) {
50
50
  return api === "openai-responses" || api === "azure-openai-responses";
51
51
  }
52
+ // OpenAI reasoning continuations also replay on the ChatGPT-subscription Codex
53
+ // Responses transport, which returns the same encrypted reasoning items.
54
+ export function isOpenAIReasoningContinuationApi(api) {
55
+ return isOpenAIResponsesApi(api) || api === "openai-codex-responses";
56
+ }
52
57
  export function compatibleProviderContinuation(continuation, target) {
53
58
  if (!continuation || !target || !sameProviderIdentity(continuation.source, target))
54
59
  return null;
55
60
  if (continuation.kind === "openai_reasoning") {
56
- return isOpenAIResponsesApi(target.api) ? continuation : null;
61
+ return isOpenAIReasoningContinuationApi(target.api) ? continuation : null;
57
62
  }
58
63
  // Anthropic thinking signatures also round-trip through Bedrock's Converse
59
64
  // Stream transport (Claude on Bedrock rejects replayed thinking without its