@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
@@ -1 +1 @@
1
- {"version":3,"file":"pi_options.js","sourceRoot":"","sources":["../src/pi_options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi_options.js","sourceRoot":"","sources":["../src/pi_options.ts"],"names":[],"mappings":"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"}
@@ -21,5 +21,6 @@ export * from "./selector_wire.js";
21
21
  export * from "./selector_parse.js";
22
22
  export * from "./anonymous_actions.js";
23
23
  export * from "./route.js";
24
+ export * from "./jev_selector.js";
24
25
  export { createDariRoutingPolicy } from "./dari_policy.js";
25
26
  export type { DariPolicyDetails, DariPolicyState, DariRoutingPolicyOptions } from "./dari_policy.js";
@@ -21,5 +21,6 @@ export * from "./selector_wire.js";
21
21
  export * from "./selector_parse.js";
22
22
  export * from "./anonymous_actions.js";
23
23
  export * from "./route.js";
24
+ export * from "./jev_selector.js";
24
25
  export { createDariRoutingPolicy } from "./dari_policy.js";
25
26
  //# sourceMappingURL=policy-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../src/policy-engine.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../src/policy-engine.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/prompts.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export declare const SELECTOR_SYSTEM_PROMPT = "You are Dari's model router. Pick the best candidate model/thinking-level pair for the user's request.\n\n# Selection procedure\n\n1. Capability first: make sure the selected pair can reasonably handle the task. Consider both model capability and how much thinking the task needs; capability is never traded away for cost.\n2. Use imported eval scorecards as benchmark evidence when relevant. Rank is each candidate action's standing among the scored candidate actions on that benchmark, and z_score uses that same candidate group.\n3. A missing benchmark score means that candidate pair was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.\n4. When several pairs are viable on capability, use cost_estimates as the deciding factor between them.\n5. Prefer the previous_decision pair when the task hasn't changed.\n\n# Cost comparison rules\n\n- fixed_turn_cost_estimate.projections is the primary cost metric whenever it is present. Each entry estimates the whole agent loop from this decision point out to projected_turns requests, using current cache warmth, provider cache rules, cache hit probabilities, and output tokens folded into later requests. Compare candidates at the horizon the task looks likely to need.\n- Candidates with fixed_turn_cost_estimate are the preferred cost-comparison pool when capability is otherwise comparable.\n- Do not rank candidates by output_cost_per_mtok or est_input_cost_usd ahead of fixed_turn_cost_estimate.projections. Do not discard those estimates just because some candidates lack them.\n- For candidates without fixed_turn_cost_estimate, use est_input_cost_usd and output_cost_per_mtok as fallback cost evidence, and select such a candidate only when its capability and fallback pricing make it a better fit than candidates with fixed-turn estimates.\n\n# Output\n\nReturn JSON matching the provided schema. selected_model and reasoning_effort must exactly match one candidate pair.\nThe runtime chooses provider fallbacks separately; return only the primary decision.";
2
2
  export declare const CUSTOM_SELECTOR_SYSTEM_PROMPT: string;
3
3
  export declare const ANONYMOUS_ACTION_SYSTEM_PROMPT: string;
4
+ export declare const ANONYMOUS_ACTION_RAW_SCORE_SYSTEM_PROMPT: string;
package/dist/prompts.js CHANGED
@@ -42,14 +42,16 @@ The runtime chooses provider fallbacks separately; return only the primary decis
42
42
  // System prompt for the anonymous candidate-action protocol (see
43
43
  // anonymous_actions.ts). It carries every invariant instruction, including how
44
44
  // to read the per-action blocks, so the user message stays pure data.
45
- export const ANONYMOUS_ACTION_SYSTEM_PROMPT = [
45
+ const ANONYMOUS_ACTION_PROMPT_OPENING = [
46
46
  "You are Dari's model router for a coding agent.",
47
47
  "Choose exactly one anonymous candidate action for the agent's next turns, and how many turns to commit to it.",
48
48
  "Your choice is a lease: the chosen action serves that many consecutive turns before you are consulted again. A longer lease amortizes the cold start paid on its first turn across warm cache hits on the turns that follow; the lease ends early only if the task finishes or the provider fails.",
49
- "Each action's block lists its benchmark standing and its projected cost at each lease length you may choose.",
50
- "Rank is the action's position among the scored candidate actions on that benchmark, 1 being best. Z is how many standard deviations that action sits above or below the mean of those scored candidate actions.",
49
+ ];
50
+ const ANONYMOUS_ACTION_PROMPT_CLOSING = [
51
51
  "Cost is the projected spend for the whole agent loop over exactly the turns of each lease option, from current cache warmth. Compare actions at the lease you intend to pick.",
52
52
  "A missing benchmark score means that action was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.",
53
+ "The task section is the original user task. If it contains an explicit routing truncation marker, the middle was compacted to fit the policy window while preserving both ends. Lease history summarizes what earlier anonymous actions actually did; use completed turns, errors, tool results, and tests as evidence about whether the current phase needs a different action or lease length.",
54
+ "Action letters are fixed for the whole conversation: each candidate keeps one letter even as availability changes, so a letter may be absent from the current menu. In lease history, each Model line is the authoritative action label for that lease. Never infer or state a provider or model identity behind an action.",
53
55
  "Prefer a cheaper action only when it is sufficiently likely to complete the task successfully.",
54
56
  // Scaffolding for the thinking budget: the decision decomposes into judging
55
57
  // how hard the task is and then finding the cheapest action-and-lease that
@@ -58,8 +60,23 @@ export const ANONYMOUS_ACTION_SYSTEM_PROMPT = [
58
60
  "Think in exactly three short steps, then stop:",
59
61
  "1. Phase: one sentence — what stage the task is at based on the latest turn (exploring, editing, testing, wrapping up), roughly how many turns remain, and how hard the next step looks.",
60
62
  "2. Evidence: one sentence — the one or two benchmarks most like this work, and which actions stand out on them.",
61
- "3. Pick: name the cheapest action whose standing clears the difficulty, and the longest lease the remaining work justifies; go pricier or shorter only when the task demands it. Then end thinking immediately and answer.",
63
+ "3. Pick: name the cheapest action whose scores clear the difficulty, and the longest lease the remaining work justifies; go pricier or shorter only when the task demands it. Then end thinking immediately and answer.",
62
64
  "Do not walk through every action, restate the scorecards, or retell the conversation.",
63
65
  "Return only JSON matching the provided schema.",
66
+ ];
67
+ export const ANONYMOUS_ACTION_SYSTEM_PROMPT = [
68
+ ...ANONYMOUS_ACTION_PROMPT_OPENING,
69
+ "Each action's block lists its benchmark standing and its projected cost at each lease length you may choose.",
70
+ "Rank is the action's position among the scored candidate actions on that benchmark, 1 being best. Z is how many standard deviations that action sits above or below the mean of those scored candidate actions.",
71
+ ...ANONYMOUS_ACTION_PROMPT_CLOSING,
72
+ ].join("\n");
73
+ // Same protocol, but each action's benchmark line is the raw leaderboard value
74
+ // instead of its rank and z-score within the candidate group. The benchmarks
75
+ // glossary carries each benchmark's scale so the values stay comparable.
76
+ export const ANONYMOUS_ACTION_RAW_SCORE_SYSTEM_PROMPT = [
77
+ ...ANONYMOUS_ACTION_PROMPT_OPENING,
78
+ "Each action's block lists its raw benchmark scores and its projected cost at each lease length you may choose.",
79
+ "Score is the action's value on that benchmark's own scale; higher is better. The benchmarks section gives each benchmark's bounds and describes what its score is (an accuracy or pass rate, a comparative Elo rating, a composite index, or otherwise), so read a score against that. Scores are only comparable between actions on the same benchmark, never across benchmarks.",
80
+ ...ANONYMOUS_ACTION_PROMPT_CLOSING,
64
81
  ].join("\n");
65
82
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AAEvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,2EAA2E;AAC3E,uDAAuD;AACvD,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;qFAoB+C,CAAC;AAEtF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;kLASqI,sBAAsB;;;qFAGnH,CAAC;AAEtF,iEAAiE;AACjE,+EAA+E;AAC/E,sEAAsE;AACtE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,iDAAiD;IACjD,+GAA+G;IAC/G,oSAAoS;IACpS,8GAA8G;IAC9G,iNAAiN;IACjN,+KAA+K;IAC/K,0IAA0I;IAC1I,gGAAgG;IAChG,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,iEAAiE;IACjE,gDAAgD;IAChD,0LAA0L;IAC1L,iHAAiH;IACjH,4NAA4N;IAC5N,uFAAuF;IACvF,gDAAgD;CACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AAEvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,2EAA2E;AAC3E,uDAAuD;AACvD,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;qFAoB+C,CAAC;AAEtF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;kLASqI,sBAAsB;;;qFAGnH,CAAC;AAEtF,iEAAiE;AACjE,+EAA+E;AAC/E,sEAAsE;AACtE,MAAM,+BAA+B,GAAG;IACtC,iDAAiD;IACjD,+GAA+G;IAC/G,oSAAoS;CACrS,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACtC,+KAA+K;IAC/K,0IAA0I;IAC1I,kYAAkY;IAClY,6TAA6T;IAC7T,gGAAgG;IAChG,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,iEAAiE;IACjE,gDAAgD;IAChD,0LAA0L;IAC1L,iHAAiH;IACjH,yNAAyN;IACzN,uFAAuF;IACvF,gDAAgD;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,GAAG,+BAA+B;IAClC,8GAA8G;IAC9G,iNAAiN;IACjN,GAAG,+BAA+B;CACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,+EAA+E;AAC/E,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,GAAG,+BAA+B;IAClC,gHAAgH;IAChH,mXAAmX;IACnX,GAAG,+BAA+B;CACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
package/dist/route.d.ts CHANGED
@@ -31,11 +31,14 @@ type CandidatePreparationSharedInput = {
31
31
  customConfig?: CustomRouterConfig | null;
32
32
  modelPrices?: Record<string, RouterModelPrice>;
33
33
  pricing: PricingLookup;
34
+ promptTokenLimitFor?: (model: string) => number | null;
35
+ requiresPromptEstimateFor?: (model: string) => boolean;
34
36
  averageOutputTokensByModel?: Readonly<Record<string, Partial<Record<ReasoningEffort, number>> | null>>;
35
37
  chainsByModel: ReadonlyMap<string, string[]>;
36
38
  prefixHits?: RouterPrefixHit[];
37
39
  nowMs: number;
38
40
  looseChain?: readonly string[];
41
+ conversationId?: string;
39
42
  toolChoiceFp: string;
40
43
  responseFormatFp: string;
41
44
  previousDecision?: PreviousDecision;
package/dist/route.js CHANGED
@@ -21,6 +21,33 @@ import { routingCandidateKey } from "./types.js";
21
21
  export function prepareCandidates(input) {
22
22
  return prepareCandidatesWithAccounting(input, resolvePromptAccounting(input));
23
23
  }
24
+ function newestConversationHit(hits, conversationId) {
25
+ if (conversationId === undefined)
26
+ return undefined;
27
+ let newest;
28
+ let newestUpdatedAtMs = Number.NEGATIVE_INFINITY;
29
+ let newestDepth = Number.NEGATIVE_INFINITY;
30
+ for (const entry of hits ?? []) {
31
+ if (entry.conversation_id !== conversationId)
32
+ continue;
33
+ const parsedUpdatedAtMs = Date.parse(entry.updated_at);
34
+ const updatedAtMs = Number.isFinite(parsedUpdatedAtMs)
35
+ ? parsedUpdatedAtMs
36
+ : Number.NEGATIVE_INFINITY;
37
+ // A warm cache read bumps updated_at on a shallower row without
38
+ // rewriting its lease fields, and that touch shares the serving turn's
39
+ // clock with the turn's own write, so at equal freshness the deeper row
40
+ // is the row that carries the latest serving decision.
41
+ if (newest === undefined ||
42
+ updatedAtMs > newestUpdatedAtMs ||
43
+ (updatedAtMs === newestUpdatedAtMs && entry.message_depth > newestDepth)) {
44
+ newest = entry;
45
+ newestUpdatedAtMs = updatedAtMs;
46
+ newestDepth = entry.message_depth;
47
+ }
48
+ }
49
+ return newest === undefined ? undefined : { entry: newest, depth: 0 };
50
+ }
24
51
  function prepareCandidatesWithAccounting(input, promptAccounting) {
25
52
  const compatible = resolveCompatibleCandidates({
26
53
  requiredCapabilities: input.requiredCapabilities,
@@ -53,19 +80,25 @@ function prepareCandidatesWithAccounting(input, promptAccounting) {
53
80
  return provider !== undefined && prefixHitMatchesProvider(hit, provider);
54
81
  });
55
82
  hits = deriveModelChainHits(input.chainsByModel, providerCompatibleWarmHits);
56
- identityHit = deepestIdentityHit(input.chainsByModel, input.looseChain, input.prefixHits);
83
+ identityHit = deepestIdentityHit(input.chainsByModel, input.looseChain, input.prefixHits) ?? newestConversationHit(input.prefixHits, input.conversationId);
57
84
  if (identityHit) {
58
85
  conversationId = identityHit.entry.conversation_id;
59
- identityMatchDepth = identityHit.depth;
60
- previousDecision ??= previousDecisionFromHit(identityHit.entry, compatible.candidates);
61
- activeLease = activeLeaseFromHit(identityHit.entry, compatible.candidates);
86
+ identityMatchDepth = identityHit.depth > 0 ? identityHit.depth : null;
87
+ // Prefix matches measure shared history, not the latest routing state.
88
+ // A client can rewrite its tail and still match an older, expired lease.
89
+ // Only a trusted conversation id lets us use newer nonmatching rows.
90
+ const stateHit = input.conversationId === conversationId
91
+ ? newestConversationHit(input.prefixHits, conversationId) ?? identityHit
92
+ : identityHit;
93
+ previousDecision ??= previousDecisionFromHit(stateHit.entry, compatible.candidates);
94
+ activeLease = activeLeaseFromHit(stateHit.entry, compatible.candidates);
62
95
  // The prefetch write lands on whatever rows existed when the policy
63
96
  // finished, and later turns append rows without it, so the pending
64
97
  // lease is recovered from any recent row of this conversation — but
65
98
  // only when the previous lease ran to completion. The final hold turn
66
99
  // writes a zero countdown; a fallback-served turn writes none, and its
67
100
  // broken commitment must not be resurrected by a stale prefetch.
68
- if (identityHit.entry.lease_turns_remaining === 0) {
101
+ if (stateHit.entry.lease_turns_remaining === 0) {
69
102
  const matchConversationId = identityHit.entry.conversation_id;
70
103
  const conversationHits = (input.prefixHits ?? [])
71
104
  .filter((hit) => hit.conversation_id === matchConversationId)
@@ -108,6 +141,32 @@ function prepareCandidatesWithAccounting(input, promptAccounting) {
108
141
  catch (error) {
109
142
  warnings.push({ phase: "cost_estimation", error });
110
143
  }
144
+ if (input.promptTokenLimitFor !== undefined) {
145
+ const estimates = new Map(costEstimates.map((estimate) => [
146
+ routingCandidateKey({ model: estimate.model, reasoningEffort: estimate.reasoning_effort }),
147
+ estimate.est_prompt_tokens,
148
+ ]));
149
+ compatible.candidates = compatible.candidates.filter((candidate) => {
150
+ const limit = input.promptTokenLimitFor(candidate.model);
151
+ const tokens = estimates.get(routingCandidateKey(candidate));
152
+ return limit === null || (tokens === undefined
153
+ ? input.requiresPromptEstimateFor?.(candidate.model) === false
154
+ : tokens <= limit);
155
+ });
156
+ if (compatible.candidates.length === 0) {
157
+ throw new RouterCoreError("invalid_request", "The prompt exceeds the standard-price context range of all compatible models. Shorten or compact the conversation.", "context_length_exceeded");
158
+ }
159
+ previousDecision = compatiblePreviousDecision(previousDecision, compatible.candidates);
160
+ const keys = new Set(compatible.candidates.map(routingCandidateKey));
161
+ if (activeLease && !keys.has(routingCandidateKey(activeLease)))
162
+ activeLease = undefined;
163
+ if (pendingLease && !keys.has(routingCandidateKey(pendingLease)))
164
+ pendingLease = undefined;
165
+ costEstimates = costEstimates.filter((estimate) => keys.has(routingCandidateKey({
166
+ model: estimate.model,
167
+ reasoningEffort: estimate.reasoning_effort,
168
+ })));
169
+ }
111
170
  const candidateResolution = resolveStrategyCandidates({
112
171
  strategy: input.strategy,
113
172
  candidates: compatible.candidates,
package/dist/route.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const ROUTER_HISTORY_CHAR_BUDGET = 16000;
1
2
  type RoutingHistoryMessage = {
2
3
  role?: unknown;
3
4
  content?: unknown;
@@ -1,5 +1,7 @@
1
1
  // Router-only history compaction shared by production routing and GRPO
2
2
  // training. Provider-bound requests keep the complete conversation.
3
+ // Characters of conversation the anonymous policy selectors see.
4
+ export const ROUTER_HISTORY_CHAR_BUDGET = 16_000;
3
5
  export function compactRoutingHistory(messages, historyCharBudget) {
4
6
  if (historyCharBudget === undefined || messages.length <= 1)
5
7
  return messages;
@@ -1 +1 @@
1
- {"version":3,"file":"routing_history.js","sourceRoot":"","sources":["../src/routing_history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing_history.js","sourceRoot":"","sources":["../src/routing_history.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,29 @@
1
1
  import { type CandidateCostEstimate, type ChatMessage, type CustomRouterRule, type PreviousDecision, type ReasoningEffort, type RouterEval, type RoutingCandidate } from "./types.js";
2
- type SelectorCandidate = {
2
+ import type { JsonValue } from "./json.js";
3
+ export type SelectorCandidate = {
3
4
  model: string;
4
5
  thinking_level: RoutingCandidate["reasoningEffort"];
5
6
  };
7
+ export type SelectorLeaseTestObservation = {
8
+ command: string;
9
+ status: "passed" | "failed" | "unknown";
10
+ result: JsonValue | null;
11
+ };
12
+ export type SelectorLeaseHistoryEntry = {
13
+ candidate: SelectorCandidate;
14
+ requested_turns: number;
15
+ completed_turns: number;
16
+ rationale: string;
17
+ last_agent_thought: string | null;
18
+ last_tool_call: {
19
+ name: string;
20
+ arguments: JsonValue;
21
+ } | null;
22
+ last_tool_result: JsonValue | null;
23
+ tool_errors: number | null;
24
+ files_changed: number | null;
25
+ tests: SelectorLeaseTestObservation | null;
26
+ };
6
27
  type SelectorPreviousDecision = SelectorCandidate & {
7
28
  reason: string;
8
29
  };
@@ -11,6 +32,8 @@ export type SelectorInput = {
11
32
  imported_evals: Array<Record<string, unknown>>;
12
33
  previous_decision: SelectorPreviousDecision | null;
13
34
  cost_estimates: CandidateCostEstimate[] | null;
35
+ task?: ChatMessage | null;
36
+ lease_history?: SelectorLeaseHistoryEntry[];
14
37
  messages: ChatMessage[];
15
38
  };
16
39
  type SelectorCustomRule = Omit<CustomRouterRule, "thinking_level"> & {
@@ -30,6 +53,8 @@ export declare function buildSelectorInput(args: {
30
53
  previousDecision: PreviousDecision | null;
31
54
  costEstimates: CandidateCostEstimate[] | null;
32
55
  messages: ChatMessage[];
56
+ task?: ChatMessage | null;
57
+ leaseHistory?: SelectorLeaseHistoryEntry[];
33
58
  customRules?: CustomRouterRule[];
34
59
  defaultTarget?: {
35
60
  model: string;
@@ -4,6 +4,10 @@
4
4
  import { createThinkingLevelRatios, resolveRouterEvalScore, } from "./eval_score_imputation.js";
5
5
  import { isRecord, routingCandidateKey, } from "./types.js";
6
6
  const IMAGE_OMITTED_PLACEHOLDER = "<image omitted>";
7
+ // Numbered placeholders name images that travel to the selector out of band
8
+ // (the routing backend attaches them as ordered image parts), so scrubbing
9
+ // must leave them alone while still dropping any real image bytes or URLs.
10
+ const SELECTOR_IMAGE_PLACEHOLDER = /^<image \d+>$/;
7
11
  // Selector serialization must not include image bytes. The provider-facing
8
12
  // request and prefix fingerprint still use the original content, while this
9
13
  // stable placeholder preserves the selector's own prompt cache behavior.
@@ -13,12 +17,18 @@ export function selectorSafeMessages(messages) {
13
17
  return message;
14
18
  return {
15
19
  ...message,
16
- content: message.content.map((part) => isRecord(part) && part.type === "image_url"
20
+ content: message.content.map((part) => isRecord(part) && part.type === "image_url" && !isSelectorImagePlaceholder(part)
17
21
  ? { type: "image_url", image_url: { url: IMAGE_OMITTED_PLACEHOLDER } }
18
22
  : part),
19
23
  };
20
24
  });
21
25
  }
26
+ function isSelectorImagePlaceholder(part) {
27
+ const imageUrl = part["image_url"];
28
+ return isRecord(imageUrl)
29
+ && typeof imageUrl["url"] === "string"
30
+ && SELECTOR_IMAGE_PLACEHOLDER.test(imageUrl["url"]);
31
+ }
22
32
  export function buildSelectorInput(args) {
23
33
  const imputeEvalScores = args.imputeEvalScores ?? false;
24
34
  const input = {
@@ -35,6 +45,11 @@ export function buildSelectorInput(args) {
35
45
  }
36
46
  : null,
37
47
  cost_estimates: args.costEstimates,
48
+ // Only callers that computed lease context provide these; omitting the
49
+ // keys entirely keeps the input byte-identical to the shape before task
50
+ // and lease history existed, for routers with lease context disabled.
51
+ ...(args.task !== undefined ? { task: args.task } : {}),
52
+ ...(args.leaseHistory !== undefined ? { lease_history: args.leaseHistory } : {}),
38
53
  messages: args.messages,
39
54
  };
40
55
  if (args.customRules !== undefined) {
@@ -101,6 +116,7 @@ function matchingEvalScores(scores, candidates, imputeEvalScores, minScore, maxS
101
116
  score: resolved.score,
102
117
  notes: measured?.notes ?? null,
103
118
  ...(resolved.imputed ? { imputed: true } : {}),
119
+ ...(resolved.sourceModelId ? { source_model_id: resolved.sourceModelId } : {}),
104
120
  };
105
121
  })
106
122
  .filter((score) => score !== null);
@@ -1 +1 @@
1
- {"version":3,"file":"selector_input.js","sourceRoot":"","sources":["../src/selector_input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selector_input.js","sourceRoot":"","sources":["../src/selector_input.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type CustomSelectorInput, type SelectorInput } from "./selector_input.js";
1
+ import { type CustomSelectorInput, type SelectorInput, type SelectorLeaseHistoryEntry } from "./selector_input.js";
2
2
  import type { CandidateCostEstimate, ChatCompletionRequest, ChatMessage, CustomRouterRule, PreviousDecision, ReasoningEffort, RouterEval, RoutingCandidate } from "./types.js";
3
3
  export type BuiltSelectorRequest = {
4
4
  selectorInput: SelectorInput | CustomSelectorInput;
@@ -16,6 +16,8 @@ export type SelectorRequestArgs = {
16
16
  } | null;
17
17
  selectorModel: string;
18
18
  messages: ChatMessage[];
19
+ task?: ChatMessage | null;
20
+ leaseHistory?: SelectorLeaseHistoryEntry[];
19
21
  modelFallbackEnabled?: boolean;
20
22
  fallbackRequiresDifferentProvider?: boolean;
21
23
  imputeEvalScores?: boolean;
@@ -1,26 +1,64 @@
1
1
  import { RouterCoreError } from "./errors.js";
2
2
  import { CUSTOM_SELECTOR_SYSTEM_PROMPT, SELECTOR_SYSTEM_PROMPT } from "./prompts.js";
3
3
  import { buildSelectorInput, } from "./selector_input.js";
4
- import { trimMessagesFromFront } from "./selector_truncation.js";
4
+ import { olderMessageChars, trimMessagesFromFront, trimTaskMessage, } from "./selector_truncation.js";
5
5
  import { REASONING_EFFORTS } from "./types.js";
6
- // Builds the selector request, front-trimming conversation messages until the
7
- // serialized prompt fits the selector's context window. The window size is an
8
- // explicit input (in characters) so the core stays free of model-registry
9
- // lookups.
6
+ // Builds the selector request, trimming old conversation history first and an
7
+ // oversized retained task only when necessary. The window size is an explicit
8
+ // input (in characters) so the core stays free of model-registry lookups.
10
9
  export function buildSizedSelectorRequest(args) {
11
10
  let messages = args.messages;
12
- let built = buildSelectorRequest({ ...args, messages });
13
- let previousInputChars = Number.POSITIVE_INFINITY;
11
+ let task = args.task;
12
+ const taskExceedsWindow = task !== undefined
13
+ && task !== null
14
+ && JSON.stringify(task).length > args.contextWindowChars;
15
+ let built = buildSelectorRequest({ ...args, messages, task });
14
16
  while (true) {
15
17
  const inputChars = selectorRequestInputChars(built.selectorRequest);
16
18
  if (inputChars <= args.contextWindowChars)
17
19
  return built;
18
- if (inputChars >= previousInputChars) {
19
- throw new RouterCoreError("configuration", `Selector prompt cannot fit configured context window for ${args.selectorModel}.`, "configuration_error");
20
+ const dropChars = inputChars - args.contextWindowChars;
21
+ const removableHistoryChars = olderMessageChars(messages);
22
+ if (removableHistoryChars > 0) {
23
+ const trimmedMessages = trimMessagesFromFront(messages, Math.min(dropChars, removableHistoryChars));
24
+ const messagesBuilt = buildSelectorRequest({ ...args, messages: trimmedMessages, task });
25
+ if (selectorRequestInputChars(messagesBuilt.selectorRequest) < inputChars) {
26
+ messages = trimmedMessages;
27
+ built = messagesBuilt;
28
+ continue;
29
+ }
20
30
  }
21
- previousInputChars = inputChars;
22
- messages = trimMessagesFromFront(messages, inputChars - args.contextWindowChars);
23
- built = buildSelectorRequest({ ...args, messages });
31
+ // If the retained task cannot fit the whole window by itself, compact it
32
+ // before touching the latest conversation turn. Smaller tasks keep the
33
+ // previous behavior: the conversation view shrinks first.
34
+ if (taskExceedsWindow && task !== undefined && task !== null) {
35
+ const taskChars = JSON.stringify(task).length;
36
+ const maxTaskDropChars = Math.max(0, taskChars - Math.floor(args.contextWindowChars / 2));
37
+ const trimmedTask = trimTaskMessage(task, Math.min(dropChars, maxTaskDropChars));
38
+ const taskBuilt = buildSelectorRequest({ ...args, messages, task: trimmedTask });
39
+ if (selectorRequestInputChars(taskBuilt.selectorRequest) < inputChars) {
40
+ task = trimmedTask;
41
+ built = taskBuilt;
42
+ continue;
43
+ }
44
+ }
45
+ const trimmedMessages = trimMessagesFromFront(messages, dropChars);
46
+ const messagesBuilt = buildSelectorRequest({ ...args, messages: trimmedMessages, task });
47
+ if (selectorRequestInputChars(messagesBuilt.selectorRequest) < inputChars) {
48
+ messages = trimmedMessages;
49
+ built = messagesBuilt;
50
+ continue;
51
+ }
52
+ if (task !== undefined && task !== null) {
53
+ const trimmedTask = trimTaskMessage(task, dropChars);
54
+ const taskBuilt = buildSelectorRequest({ ...args, messages, task: trimmedTask });
55
+ if (selectorRequestInputChars(taskBuilt.selectorRequest) < inputChars) {
56
+ task = trimmedTask;
57
+ built = taskBuilt;
58
+ continue;
59
+ }
60
+ }
61
+ throw new RouterCoreError("configuration", `Selector prompt cannot fit configured context window for ${args.selectorModel}.`, "configuration_error");
24
62
  }
25
63
  }
26
64
  function selectorRequestInputChars(request) {
@@ -34,6 +72,8 @@ export function buildSelectorRequest(args) {
34
72
  previousDecision: args.previousDecision ?? null,
35
73
  costEstimates: args.costEstimates ?? null,
36
74
  messages: args.messages,
75
+ task: args.task,
76
+ leaseHistory: args.leaseHistory,
37
77
  customRules: args.customRules,
38
78
  defaultTarget: args.defaultTarget,
39
79
  modelFallbackEnabled: args.modelFallbackEnabled,
@@ -1 +1 @@
1
- {"version":3,"file":"selector_request.js","sourceRoot":"","sources":["../src/selector_request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selector_request.js","sourceRoot":"","sources":["../src/selector_request.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  import { type ChatMessage } from "./types.js";
2
+ export declare function olderMessageChars(messages: ChatMessage[]): number;
2
3
  export declare function trimMessagesFromFront(messages: ChatMessage[], dropChars: number): ChatMessage[];
4
+ export declare function trimTaskMessage(task: ChatMessage, dropChars: number): ChatMessage;