@mupt-ai/dari-router 0.2.1 → 0.2.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 (79) hide show
  1. package/README.md +1 -1
  2. package/dist/anonymous_actions.d.ts +31 -2
  3. package/dist/anonymous_actions.js +225 -16
  4. package/dist/anonymous_actions.js.map +1 -1
  5. package/dist/cache_behavior.d.ts +1 -1
  6. package/dist/cache_behavior.js +23 -14
  7. package/dist/cache_behavior.js.map +1 -1
  8. package/dist/cache_scope.js +15 -7
  9. package/dist/cache_scope.js.map +1 -1
  10. package/dist/candidate_resolution.d.ts +2 -1
  11. package/dist/candidate_resolution.js +5 -2
  12. package/dist/candidate_resolution.js.map +1 -1
  13. package/dist/compatibility.d.ts +1 -0
  14. package/dist/compatibility.js +6 -0
  15. package/dist/compatibility.js.map +1 -1
  16. package/dist/continuation_state.d.ts +12 -0
  17. package/dist/continuation_state.js +48 -7
  18. package/dist/continuation_state.js.map +1 -1
  19. package/dist/cost.d.ts +8 -0
  20. package/dist/cost.js +47 -30
  21. package/dist/cost.js.map +1 -1
  22. package/dist/dari_policy.d.ts +1 -1
  23. package/dist/dari_policy.js +4 -2
  24. package/dist/dari_policy.js.map +1 -1
  25. package/dist/eval_score_imputation.d.ts +1 -0
  26. package/dist/eval_score_imputation.js +28 -2
  27. package/dist/eval_score_imputation.js.map +1 -1
  28. package/dist/fingerprint.js +45 -12
  29. package/dist/fingerprint.js.map +1 -1
  30. package/dist/fixed_turn_cost_config.d.ts +2 -0
  31. package/dist/fixed_turn_cost_config.js +7 -0
  32. package/dist/fixed_turn_cost_config.js.map +1 -1
  33. package/dist/index.d.ts +2 -0
  34. package/dist/index.js +1 -0
  35. package/dist/index.js.map +1 -1
  36. package/dist/jev_router.d.ts +5 -0
  37. package/dist/jev_router.js +22 -0
  38. package/dist/jev_router.js.map +1 -0
  39. package/dist/jev_selector.d.ts +77 -0
  40. package/dist/jev_selector.js +418 -0
  41. package/dist/jev_selector.js.map +1 -0
  42. package/dist/model_ids.d.ts +1 -0
  43. package/dist/model_ids.js +26 -0
  44. package/dist/model_ids.js.map +1 -1
  45. package/dist/pi_context.js +37 -6
  46. package/dist/pi_context.js.map +1 -1
  47. package/dist/pi_options.js +6 -3
  48. package/dist/pi_options.js.map +1 -1
  49. package/dist/policy-engine.d.ts +1 -0
  50. package/dist/policy-engine.js +1 -0
  51. package/dist/policy-engine.js.map +1 -1
  52. package/dist/prompts.d.ts +1 -0
  53. package/dist/prompts.js +21 -4
  54. package/dist/prompts.js.map +1 -1
  55. package/dist/route.d.ts +3 -0
  56. package/dist/route.js +64 -5
  57. package/dist/route.js.map +1 -1
  58. package/dist/routing_history.d.ts +1 -0
  59. package/dist/routing_history.js +2 -0
  60. package/dist/routing_history.js.map +1 -1
  61. package/dist/selector_input.d.ts +26 -1
  62. package/dist/selector_input.js +17 -1
  63. package/dist/selector_input.js.map +1 -1
  64. package/dist/selector_request.d.ts +3 -1
  65. package/dist/selector_request.js +52 -12
  66. package/dist/selector_request.js.map +1 -1
  67. package/dist/selector_truncation.d.ts +2 -0
  68. package/dist/selector_truncation.js +42 -0
  69. package/dist/selector_truncation.js.map +1 -1
  70. package/dist/types.d.ts +9 -2
  71. package/examples/basic_route.ts +1 -1
  72. package/examples/jev_router.ts +50 -0
  73. package/examples/managed/README.md +2 -2
  74. package/examples/managed/byok-router/router.yml +1 -1
  75. package/examples/managed/custom-rules-router/router.yml +5 -5
  76. package/examples/managed/{slm-router → dari}/README.md +1 -1
  77. package/examples/managed/{slm-router → dari}/router.yml +2 -2
  78. package/examples/managed/eval-router/router.yml +1 -1
  79. package/package.json +4 -3
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 and a hosted Auto Router policy.
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.
12
12
 
13
13
  ## Install
14
14
 
@@ -27,16 +27,41 @@ export type AnonymousEvalScore = {
27
27
  rank: number;
28
28
  rank_total: number;
29
29
  z_score: number;
30
+ score: number;
30
31
  };
31
32
  export type AnonymousEvalCard = {
32
33
  name: string;
33
34
  description: string | null;
35
+ min_score: number;
36
+ max_score: number;
34
37
  scores: AnonymousEvalScore[];
35
38
  };
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;
36
42
  export type AnonymousActionCost = {
37
43
  action: string;
38
44
  projections: TurnCostProjection[];
39
45
  };
46
+ export type AnonymousLeaseHistoryEntry = {
47
+ action: string;
48
+ requested_turns: number;
49
+ completed_turns: number;
50
+ rationale: string;
51
+ last_agent_thought: string | null;
52
+ last_tool_call: {
53
+ name: string;
54
+ arguments: JsonValue;
55
+ } | null;
56
+ last_tool_result: JsonValue | null;
57
+ tool_errors: number | null;
58
+ files_changed: number | null;
59
+ tests: {
60
+ command: string;
61
+ status: "passed" | "failed" | "unknown";
62
+ result: JsonValue | null;
63
+ } | null;
64
+ };
40
65
  export type AnonymousSelectorInput = {
41
66
  candidate_actions: Array<{
42
67
  action: string;
@@ -46,10 +71,14 @@ export type AnonymousSelectorInput = {
46
71
  action: string;
47
72
  } | null;
48
73
  cost_estimates: AnonymousActionCost[];
74
+ task: JsonValue | null;
75
+ lease_history: AnonymousLeaseHistoryEntry[];
49
76
  messages: JsonValue;
50
77
  };
51
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[];
52
80
  export declare function anonymizeSelectorInput(selectorInput: JsonObject, slots: readonly AnonymousActionSlot[]): AnonymousSelectorInput;
53
- export declare function buildAnonymousPolicyPrompt(anonymousSelectorInput: AnonymousSelectorInput, slots: readonly AnonymousActionSlot[]): AnonymousPolicyPrompt;
54
- export declare function formatAnonymousPolicyInput(input: AnonymousSelectorInput): string;
81
+ export declare function buildAnonymousPolicyPrompt(anonymousSelectorInput: AnonymousSelectorInput, slots: readonly AnonymousActionSlot[], evalScoreFormat?: AnonymousEvalScoreFormat): AnonymousPolicyPrompt;
82
+ export declare function formatAnonymousPolicyInput(input: AnonymousSelectorInput, evalScoreFormat?: AnonymousEvalScoreFormat): string;
55
83
  export declare function parseAnonymousActionSelection(completion: string, slots: readonly AnonymousActionSlot[], leaseTurns?: readonly number[]): AnonymousActionSelection;
84
+ export declare function sessionRng(sessionId: string): Rng;
@@ -2,11 +2,18 @@
2
2
  // anonymous action slots ("A", "B", ..., "AA", ...) and every model-identifying
3
3
  // field in the selector input is replaced by its slot, so a trained policy
4
4
  // cannot memorize model names or list positions. This is the canonical
5
- // open-weight selector protocol used by Dari's SLM routing strategy; the
5
+ // open-weight selector protocol used by Dari's routing strategy; the
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
- import { ANONYMOUS_ACTION_SYSTEM_PROMPT } from "./prompts.js";
8
+ import { createHash } from "node:crypto";
9
+ import { ANONYMOUS_ACTION_RAW_SCORE_SYSTEM_PROMPT, ANONYMOUS_ACTION_SYSTEM_PROMPT, } from "./prompts.js";
9
10
  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
+ }
10
17
  // Shuffles candidates into spreadsheet-style action slots A..Z, AA..AZ, ...
11
18
  // with the injected rng.
12
19
  export function assignAnonymousActions(candidates, rng) {
@@ -25,6 +32,30 @@ export function assignAnonymousActions(candidates, rng) {
25
32
  candidate,
26
33
  }));
27
34
  }
35
+ // Assigns letters over the conversation's full candidate roster, then keeps
36
+ // only the currently routable candidates with their letters intact. Letters
37
+ // therefore stay fixed for the whole agent loop even when pruning shrinks the
38
+ // menu mid-conversation; a pruned candidate's letter simply goes absent
39
+ // instead of being reassigned.
40
+ export function assignStableAnonymousActions(allCandidates, activeCandidates, rng) {
41
+ const slots = assignAnonymousActions(allCandidates, rng);
42
+ const byKey = new Map(slots.map((slot) => [candidateKey(slot.candidate.model, slot.candidate.reasoningEffort), slot]));
43
+ const active = activeCandidates.map((candidate) => {
44
+ const slot = byKey.get(candidateKey(candidate.model, candidate.reasoningEffort));
45
+ if (slot === undefined) {
46
+ throw new Error(`Active candidate ${candidate.model}/${candidate.reasoningEffort} is not on the anonymous action roster`);
47
+ }
48
+ return slot;
49
+ });
50
+ if (active.length < 2) {
51
+ throw new Error(`Anonymous action routing requires at least two active candidates, got ${active.length}`);
52
+ }
53
+ // Menu order follows the roster's letter order, matching the single-roster
54
+ // 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);
58
+ }
28
59
  function actionForIndex(index) {
29
60
  let remaining = index;
30
61
  let action = "";
@@ -46,46 +77,80 @@ export function anonymizeSelectorInput(selectorInput, slots) {
46
77
  imported_evals: anonymizeEvals(input["imported_evals"], byCandidate),
47
78
  previous_action: anonymizePreviousDecision(input["previous_decision"], byCandidate),
48
79
  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
+ lease_history: anonymizeLeaseHistory(input["lease_history"], byCandidate),
49
84
  messages: jsonValue(input["messages"], "selector input messages"),
50
85
  };
51
86
  }
52
- export function buildAnonymousPolicyPrompt(anonymousSelectorInput, slots) {
87
+ export function buildAnonymousPolicyPrompt(anonymousSelectorInput, slots, evalScoreFormat = "raw") {
88
+ const format = evalScoreFormat === "standing" ? "standing" : "raw";
53
89
  return {
54
90
  messages: [
55
- { role: "system", content: ANONYMOUS_ACTION_SYSTEM_PROMPT },
56
- { role: "user", content: formatAnonymousPolicyInput(anonymousSelectorInput) },
91
+ {
92
+ role: "system",
93
+ content: format === "standing"
94
+ ? ANONYMOUS_ACTION_SYSTEM_PROMPT
95
+ : ANONYMOUS_ACTION_RAW_SCORE_SYSTEM_PROMPT,
96
+ },
97
+ { role: "user", content: formatAnonymousPolicyInput(anonymousSelectorInput, format) },
57
98
  ],
58
99
  actions: slots.map((slot) => slot.action),
59
100
  };
60
101
  }
61
102
  // Renders the anonymous selector input as sectioned text rather than raw JSON.
62
- // One block per action carries that action's benchmark standing and its
103
+ // One block per action carries that action's benchmark evidence and its
63
104
  // projected cost, so the policy compares like against like instead of
64
105
  // re-deriving comparisons from scores on incomparable scales and six cost
65
- // fields. How to read those blocks lives in ANONYMOUS_ACTION_SYSTEM_PROMPT,
106
+ // fields. How to read those blocks lives in the score system prompt,
66
107
  // keeping this message pure data. The conversation goes last: it is the only
67
108
  // section that grows turn over turn, so keeping it at the end preserves the
68
109
  // shared prefix.
69
- export function formatAnonymousPolicyInput(input) {
110
+ export function formatAnonymousPolicyInput(input, evalScoreFormat = "raw") {
70
111
  assertValidBenchmarkStandings(input.imported_evals);
71
112
  const sections = [
72
113
  ...(input.imported_evals.length > 0
73
- ? [section("benchmarks", input.imported_evals.map(glossaryLine).join("\n"))]
114
+ ? [section("benchmarks", input.imported_evals.map((card) => glossaryLine(card, evalScoreFormat)).join("\n"))]
74
115
  : []),
75
116
  section("candidates", input.candidate_actions
76
- .map((candidate) => candidateBlock(candidate.action, input))
117
+ .map((candidate) => candidateBlock(candidate.action, input, evalScoreFormat))
77
118
  .join("\n\n")),
78
119
  ...(input.previous_action === null
79
120
  ? []
80
121
  : [section("previous_action", input.previous_action.action)]),
122
+ ...(input.task === null ? [] : [section("task", JSON.stringify(input.task))]),
123
+ ...(input.lease_history.length === 0
124
+ ? []
125
+ : [section("lease_history", input.lease_history.map((entry, index) => leaseBlock(entry, index)).join("\n\n"))]),
81
126
  section("conversation", JSON.stringify(input.messages)),
82
127
  ];
83
128
  return sections.join("\n\n");
84
129
  }
130
+ function leaseBlock(entry, index) {
131
+ const lines = [
132
+ `<lease_${index + 1}>`,
133
+ `- Model: Action ${entry.action}`,
134
+ `- Requested Turns: ${entry.requested_turns}`,
135
+ `- Completed Turns: ${entry.completed_turns}`,
136
+ `- Rationale: ${JSON.stringify(entry.rationale)}`,
137
+ `- Last Agent Thought: ${jsonLabel(entry.last_agent_thought)}`,
138
+ `- Last Tool Call: ${jsonLabel(entry.last_tool_call)}`,
139
+ `- Last Tool Result: ${jsonLabel(entry.last_tool_result)}`,
140
+ `- Tool Errors: ${entry.tool_errors === null ? "Unknown" : entry.tool_errors}`,
141
+ `- Files Changed: ${entry.files_changed === null ? "Unknown" : entry.files_changed}`,
142
+ `- Tests: ${entry.tests === null ? "Not Run" : JSON.stringify(entry.tests)}`,
143
+ `</lease_${index + 1}>`,
144
+ ];
145
+ return lines.join("\n");
146
+ }
147
+ function jsonLabel(value) {
148
+ return value === null ? "None" : JSON.stringify(value);
149
+ }
85
150
  function section(name, body) {
86
151
  return `<${name}>\n${body}\n</${name}>`;
87
152
  }
88
- function candidateBlock(action, input) {
153
+ function candidateBlock(action, input, evalScoreFormat) {
89
154
  const cost = input.cost_estimates.find((entry) => entry.action === action);
90
155
  const lines = [`## Action ${action}`];
91
156
  if (cost !== undefined)
@@ -93,11 +158,18 @@ function candidateBlock(action, input) {
93
158
  for (const card of input.imported_evals) {
94
159
  const score = card.scores.find((entry) => entry.action === action);
95
160
  if (score !== undefined) {
96
- lines.push(`- ${card.name}: Rank ${score.rank}/${score.rank_total}, Z ${signed(score.z_score)}`);
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)}`);
97
164
  }
98
165
  }
99
166
  return lines.join("\n");
100
167
  }
168
+ function rawScore(value) {
169
+ if (Number.isInteger(value))
170
+ return String(value);
171
+ return value.toFixed(2).replace(/\.?0+$/, "");
172
+ }
101
173
  // One line, one unit, the same horizons for every action.
102
174
  function costLine(cost) {
103
175
  const horizons = cost.projections.map((projection) => `${projection.projected_turns} turn${projection.projected_turns === 1 ? "" : "s"} ${usd(projection.total_cost_usd)}`);
@@ -112,8 +184,13 @@ function usd(value) {
112
184
  const trimmed = value.toPrecision(3).replace(/0+$/, "").replace(/\.$/, "");
113
185
  return `$${trimmed}`;
114
186
  }
115
- function glossaryLine(card) {
116
- return card.description === null ? `- ${card.name}` : `- ${card.name}: ${card.description}`;
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
192
+ ? `- ${card.name}${scale}`
193
+ : `- ${card.name}${scale}: ${card.description}`;
117
194
  }
118
195
  function assertValidBenchmarkStandings(cards) {
119
196
  for (const [cardIndex, card] of cards.entries()) {
@@ -176,6 +253,24 @@ export function parseAnonymousActionSelection(completion, slots, leaseTurns) {
176
253
  }
177
254
  return { action, candidate: slot.candidate, turns };
178
255
  }
256
+ // Deterministic per-conversation rng so a conversation's action letters stay
257
+ // fixed across turns. The hash keeps unrelated conversation identifiers from
258
+ // exposing adjacent seeds.
259
+ export function sessionRng(sessionId) {
260
+ const digest = createHash("sha256")
261
+ .update("dari-anonymous-actions-v1\u0000")
262
+ .update(sessionId)
263
+ .digest();
264
+ let state = digest.readUInt32BE(0);
265
+ return () => {
266
+ // Mulberry32.
267
+ state = (state + 0x6d2b79f5) >>> 0;
268
+ let value = state;
269
+ value = Math.imul(value ^ (value >>> 15), value | 1);
270
+ value ^= value + Math.imul(value ^ (value >>> 7), value | 61);
271
+ return ((value ^ (value >>> 14)) >>> 0) / 0x1_0000_0000;
272
+ };
273
+ }
179
274
  // Fisher-Yates copy, drawing from the end, matching d3-array's shuffler so an
180
275
  // injected rng reproduces permutations recorded by harnesses that used d3.
181
276
  function shuffled(items, rng) {
@@ -212,22 +307,34 @@ function anonymizeEvals(value, byCandidate) {
212
307
  throw new Error(`selector eval[${evalIndex}].scores must be an array`);
213
308
  }
214
309
  const resolvedCount = scores.length;
310
+ const cardLabel = `selector eval[${evalIndex}]`;
311
+ const minScore = requiredNumber(card["min_score"], `${cardLabel}.min_score`);
312
+ const maxScore = requiredNumber(card["max_score"], `${cardLabel}.max_score`);
313
+ if (minScore >= maxScore)
314
+ throw new Error(`${cardLabel} score range is invalid`);
215
315
  const anonymousScores = scores.map((entryScore, scoreIndex) => {
216
- const label = `selector eval[${evalIndex}].scores[${scoreIndex}]`;
316
+ const label = `${cardLabel}.scores[${scoreIndex}]`;
217
317
  const score = jsonRecord(entryScore, label);
218
318
  const rank = requiredNumber(score["rank"], `${label}.rank`);
219
319
  const rankTotal = requiredNumber(score["rank_total"], `${label}.rank_total`);
220
320
  assertValidBenchmarkStanding(rank, rankTotal, resolvedCount, label);
321
+ const rawScore = requiredNumber(score["score"], `${label}.score`);
322
+ if (rawScore < minScore || rawScore > maxScore) {
323
+ throw new Error(`${label}.score must be between ${minScore} and ${maxScore}`);
324
+ }
221
325
  return {
222
326
  action: actionForCandidate(byCandidate, requiredString(score["model_id"], `${label}.model_id`), requiredString(score["thinking_level"], `${label}.thinking_level`)),
223
327
  rank,
224
328
  rank_total: rankTotal,
225
329
  z_score: requiredNumber(score["z_score"], `${label}.z_score`),
330
+ score: rawScore,
226
331
  };
227
332
  });
228
333
  return {
229
- name: requiredString(card["name"], `selector eval[${evalIndex}].name`),
334
+ name: requiredString(card["name"], `${cardLabel}.name`),
230
335
  description: typeof card["description"] === "string" ? card["description"] : null,
336
+ min_score: minScore,
337
+ max_score: maxScore,
231
338
  // Explicit allowlist: notes and any future field can name the model.
232
339
  scores: anonymousScores,
233
340
  };
@@ -280,6 +387,108 @@ function anonymizeCosts(value, byCandidate) {
280
387
  ];
281
388
  });
282
389
  }
390
+ function anonymizeLeaseHistory(value, byCandidate) {
391
+ if (value === null || value === undefined)
392
+ return [];
393
+ if (!Array.isArray(value)) {
394
+ throw new Error("Selector input lease_history must be an array");
395
+ }
396
+ const candidateModels = [...byCandidate.keys()].map((key) => key.split("\u0000", 1)[0]);
397
+ return value.map((entry, index) => {
398
+ const label = `selector lease_history[${index}]`;
399
+ const history = jsonRecord(entry, label);
400
+ const candidate = jsonRecord(history["candidate"], `${label}.candidate`);
401
+ const lastToolCall = nullableRecord(history["last_tool_call"], `${label}.last_tool_call`);
402
+ const tests = nullableRecord(history["tests"], `${label}.tests`);
403
+ const testStatus = tests?.["status"];
404
+ if (tests !== null &&
405
+ testStatus !== "passed" &&
406
+ testStatus !== "failed" &&
407
+ testStatus !== "unknown") {
408
+ throw new Error(`${label}.tests.status must be passed, failed, or unknown`);
409
+ }
410
+ const requestedTurns = positiveInteger(history["requested_turns"], `${label}.requested_turns`);
411
+ const completedTurns = nonNegativeInteger(history["completed_turns"], `${label}.completed_turns`);
412
+ if (completedTurns > requestedTurns) {
413
+ throw new Error(`${label}.completed_turns must not exceed requested_turns`);
414
+ }
415
+ return {
416
+ action: actionForCandidate(byCandidate, requiredString(candidate["model"], `${label}.candidate.model`), requiredString(candidate["thinking_level"], `${label}.candidate.thinking_level`)),
417
+ requested_turns: requestedTurns,
418
+ completed_turns: completedTurns,
419
+ rationale: scrubCandidateNames(stringOrEmpty(history["rationale"], `${label}.rationale`), candidateModels),
420
+ last_agent_thought: nullableString(history["last_agent_thought"], `${label}.last_agent_thought`),
421
+ last_tool_call: lastToolCall === null
422
+ ? null
423
+ : {
424
+ name: requiredString(lastToolCall["name"], `${label}.last_tool_call.name`),
425
+ arguments: scrubCandidateNames(jsonValue(lastToolCall["arguments"], `${label}.last_tool_call.arguments`), candidateModels),
426
+ },
427
+ last_tool_result: history["last_tool_result"] === null || history["last_tool_result"] === undefined
428
+ ? null
429
+ : scrubCandidateNames(jsonValue(history["last_tool_result"], `${label}.last_tool_result`), candidateModels),
430
+ tool_errors: history["tool_errors"] === null || history["tool_errors"] === undefined
431
+ ? null
432
+ : nonNegativeInteger(history["tool_errors"], `${label}.tool_errors`),
433
+ files_changed: history["files_changed"] === null || history["files_changed"] === undefined
434
+ ? null
435
+ : nonNegativeInteger(history["files_changed"], `${label}.files_changed`),
436
+ tests: tests === null
437
+ ? null
438
+ : {
439
+ command: stringOrEmpty(tests["command"], `${label}.tests.command`),
440
+ status: testStatus,
441
+ result: tests["result"] === null || tests["result"] === undefined
442
+ ? null
443
+ : scrubCandidateNames(jsonValue(tests["result"], `${label}.tests.result`), candidateModels),
444
+ },
445
+ };
446
+ }).map((entry) => ({
447
+ ...entry,
448
+ last_agent_thought: entry.last_agent_thought === null
449
+ ? null
450
+ : scrubCandidateNames(entry.last_agent_thought, candidateModels),
451
+ }));
452
+ }
453
+ function nullableRecord(value, label) {
454
+ if (value === null || value === undefined)
455
+ return null;
456
+ return jsonRecord(value, label);
457
+ }
458
+ function nullableString(value, label) {
459
+ if (value === null || value === undefined)
460
+ return null;
461
+ return stringOrEmpty(value, label);
462
+ }
463
+ function stringOrEmpty(value, label) {
464
+ if (typeof value !== "string")
465
+ throw new Error(`${label} must be a string`);
466
+ return value;
467
+ }
468
+ function nonNegativeInteger(value, label) {
469
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0) {
470
+ throw new Error(`${label} must be a non-negative integer`);
471
+ }
472
+ return value;
473
+ }
474
+ function positiveInteger(value, label) {
475
+ const parsed = nonNegativeInteger(value, label);
476
+ if (parsed === 0)
477
+ throw new Error(`${label} must be a positive integer`);
478
+ return parsed;
479
+ }
480
+ function scrubCandidateNames(value, candidateModels) {
481
+ if (typeof value === "string") {
482
+ return candidateModels.reduce((scrubbed, model) => scrubbed.split(model).join("anonymous candidate"), value);
483
+ }
484
+ if (Array.isArray(value)) {
485
+ return value.map((item) => scrubCandidateNames(item, candidateModels));
486
+ }
487
+ if (isRecordValue(value)) {
488
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, scrubCandidateNames(item, candidateModels)]));
489
+ }
490
+ return value;
491
+ }
283
492
  function requiredNumber(value, label) {
284
493
  if (typeof value !== "number" || !Number.isFinite(value)) {
285
494
  throw new Error(`${label} must be a finite number`);
@@ -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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"}
@@ -2,7 +2,7 @@ import type { RouterPrefixHit } from "./types.js";
2
2
  export declare const PREFIX_WARMTH_WINDOW_MS: number;
3
3
  export declare const ANTHROPIC_LOOKBACK_BLOCKS = 19;
4
4
  export declare const CROSS_TOKENIZER_RATIO = 1.1;
5
- export type PromptCacheProvider = "openai" | "anthropic" | "fireworks" | "meta";
5
+ export type PromptCacheProvider = "openai" | "anthropic" | "fireworks" | "meta" | "xai";
6
6
  export type ModelProviderLookup = (model: string) => string;
7
7
  export declare function isAnthropicFamily(model: string, provider?: string): boolean;
8
8
  export declare function isOpenAiFamily(model: string, provider?: string): boolean;
@@ -1,4 +1,4 @@
1
- import { canonicalModelId, nativeModelId, providerForModel } from "./model_ids.js";
1
+ import { canonicalModelId, modelFamilyProvider, nativeModelId, providerForModel } from "./model_ids.js";
2
2
  // Provider prompt caches stop serving a prefix roughly five minutes after it
3
3
  // was last written. Stored prefix entries outlive that: a host's lookback
4
4
  // keeps them long enough to still name the conversation and the decision it
@@ -14,25 +14,20 @@ const OPENAI_MIN_CACHE_TOKENS = 1024;
14
14
  const OPENAI_CACHE_INCREMENT_TOKENS = 128;
15
15
  // Callers that know the serving provider pass it; otherwise the model id's
16
16
  // prefix decides, and an id with no parseable prefix is an error, not a
17
- // silently generic model.
18
- function modelProvider(model, provider) {
19
- const resolved = (provider ?? providerForModel(model)).toLowerCase();
20
- // Personal ChatGPT subscriptions execute through the openai-codex adapter,
21
- // but retain OpenAI's tokenizer and automatic prompt-cache behavior. Keep
22
- // the execution-provider alias out of cache-family and cost classification.
23
- return resolved === "openai-codex" ? "openai" : resolved;
24
- }
17
+ // silently generic model. Family classification is shared with cache_scope
18
+ // through modelFamilyProvider, the single source of truth for how
19
+ // serving-provider aliases map to canonical model families.
25
20
  export function isAnthropicFamily(model, provider) {
26
- return modelProvider(model, provider) === "anthropic";
21
+ return modelFamilyProvider(model, provider) === "anthropic";
27
22
  }
28
23
  export function isOpenAiFamily(model, provider) {
29
- return modelProvider(model, provider) === "openai";
24
+ return modelFamilyProvider(model, provider) === "openai";
30
25
  }
31
26
  function isFireworksFamily(model, provider) {
32
- return modelProvider(model, provider) === "fireworks";
27
+ return modelFamilyProvider(model, provider) === "fireworks";
33
28
  }
34
29
  function isMetaFamily(model, provider) {
35
- return modelProvider(model, provider) === "meta";
30
+ return modelFamilyProvider(model, provider) === "meta";
36
31
  }
37
32
  export function promptCacheProviderForModel(model, provider) {
38
33
  if (isOpenAiFamily(model, provider))
@@ -43,6 +38,8 @@ export function promptCacheProviderForModel(model, provider) {
43
38
  return "fireworks";
44
39
  if (isMetaFamily(model, provider))
45
40
  return "meta";
41
+ if (modelFamilyProvider(model, provider) === "xai")
42
+ return "xai";
46
43
  return null;
47
44
  }
48
45
  export function openAiCachedPrefixTokens(promptTokens) {
@@ -72,7 +69,7 @@ export function anthropicMinCacheTokens(model, provider) {
72
69
  return OPENAI_MIN_CACHE_TOKENS;
73
70
  }
74
71
  export function tokenizerFamily(model, providerOverride) {
75
- const provider = modelProvider(model, providerOverride);
72
+ const provider = modelFamilyProvider(model, providerOverride);
76
73
  if (provider === "fireworks") {
77
74
  const canonical = canonicalModelId(model).toLowerCase();
78
75
  const providerPrefixed = canonical.startsWith(`${provider}/`);
@@ -111,7 +108,14 @@ export function prefixHitMatchesProvider(hit, currentProvider) {
111
108
  return storedProvider === current;
112
109
  return prefixProviderMatches(hit.model, current);
113
110
  }
111
+ // Provisional native xAI model: the live probe observed a 640-token cached
112
+ // prefix on a 705-token prompt, with reads in 128-token increments. These
113
+ // are conservative modeling assumptions, not documented provider guarantees.
114
+ const XAI_MIN_CACHE_TOKENS = 640;
115
+ const XAI_CACHE_INCREMENT_TOKENS = 128;
114
116
  export function providerMinCacheTokens(model, provider) {
117
+ if (modelFamilyProvider(model, provider) === "xai")
118
+ return XAI_MIN_CACHE_TOKENS;
115
119
  if (isAnthropicFamily(model, provider))
116
120
  return anthropicMinCacheTokens(model, provider);
117
121
  if (isFireworksFamily(model, provider) || isMetaFamily(model, provider))
@@ -134,6 +138,11 @@ export function providerCacheableTokens(model, provider, prefixTokens) {
134
138
  return 0;
135
139
  if (provider === "openai")
136
140
  return openAiCachedPrefixTokens(prefixTokens);
141
+ if (provider === "xai") {
142
+ return prefixTokens < XAI_MIN_CACHE_TOKENS
143
+ ? 0
144
+ : Math.floor(prefixTokens / XAI_CACHE_INCREMENT_TOKENS) * XAI_CACHE_INCREMENT_TOKENS;
145
+ }
137
146
  if (provider === "anthropic") {
138
147
  return prefixTokens >= anthropicMinCacheTokens(model, provider) ? Math.floor(prefixTokens) : 0;
139
148
  }
@@ -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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGxG,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,mEAAmE;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAErD,wEAAwE;AACxE,0EAA0E;AAC1E,+EAA+E;AAC/E,WAAW;AACX,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAK1C,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,kEAAkE;AAClE,4DAA4D;AAE5D,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAAiB;IAChE,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,WAAW,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,QAAiB;IAC7D,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,QAAiB;IACzD,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,WAAW,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,QAAiB;IACpD,OAAO,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,MAAM,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,QAAiB;IAEjB,IAAI,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrD,IAAI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3D,IAAI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3D,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC;IACjD,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,YAAoB;IAC3D,IAAI,YAAY,GAAG,uBAAuB;QAAE,OAAO,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,YAAY,GAAG,uBAAuB,CAAC;IACrD,OAAO,CACL,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,6BAA6B,CAAC,GAAG,6BAA6B,CAClF,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AACxE,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,QAAiB;IACtE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,uBAAuB,CAAC;IACxE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;SAChC,WAAW,EAAE;SACb,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAEpC,IACE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,gBAAyB;IACtE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC9D,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,aAAa,GAAG,4BAA4B,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;YAClD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,QAAQ,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,sDAAsD;AACtD,SAAS,qBAAqB,CAAC,KAAa,EAAE,QAAgB;IAC5D,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAoB,EACpB,eAAmC;IAEnC,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,cAAc;QAAE,OAAO,cAAc,KAAK,OAAO,CAAC;IACtD,OAAO,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,QAAiB;IACrE,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,KAAK;QAAE,OAAO,oBAAoB,CAAC;IAChF,IAAI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxF,IAAI,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IAClF,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED,6EAA6E;AAC7E,0EAA0E;AAC1E,wEAAwE;AACxE,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAC5B,IAA4C,EAC5C,KAAa;IAEb,MAAM,QAAQ,GAAG,KAAK,GAAG,uBAAuB,CAAC;IACjD,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,QAAQ,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,QAA6B,EAC7B,YAAoB;IAEpB,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,wBAAwB,CAAC,YAAY,CAAC,CAAC;IACzE,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,YAAY,GAAG,oBAAoB;YACxC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;IACzF,CAAC;IACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,YAAY,IAAI,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}