@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.
- package/README.md +1 -1
- package/dist/anonymous_actions.d.ts +31 -2
- package/dist/anonymous_actions.js +225 -16
- package/dist/anonymous_actions.js.map +1 -1
- package/dist/cache_behavior.d.ts +1 -1
- package/dist/cache_behavior.js +23 -14
- package/dist/cache_behavior.js.map +1 -1
- package/dist/cache_scope.js +15 -7
- package/dist/cache_scope.js.map +1 -1
- package/dist/candidate_resolution.d.ts +2 -1
- package/dist/candidate_resolution.js +5 -2
- package/dist/candidate_resolution.js.map +1 -1
- package/dist/compatibility.d.ts +1 -0
- package/dist/compatibility.js +6 -0
- package/dist/compatibility.js.map +1 -1
- package/dist/continuation_state.d.ts +12 -0
- package/dist/continuation_state.js +48 -7
- package/dist/continuation_state.js.map +1 -1
- package/dist/cost.d.ts +8 -0
- package/dist/cost.js +47 -30
- package/dist/cost.js.map +1 -1
- package/dist/dari_policy.d.ts +1 -1
- package/dist/dari_policy.js +4 -2
- package/dist/dari_policy.js.map +1 -1
- package/dist/eval_score_imputation.d.ts +1 -0
- package/dist/eval_score_imputation.js +28 -2
- package/dist/eval_score_imputation.js.map +1 -1
- package/dist/fingerprint.js +45 -12
- package/dist/fingerprint.js.map +1 -1
- package/dist/fixed_turn_cost_config.d.ts +2 -0
- package/dist/fixed_turn_cost_config.js +7 -0
- package/dist/fixed_turn_cost_config.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jev_router.d.ts +5 -0
- package/dist/jev_router.js +22 -0
- package/dist/jev_router.js.map +1 -0
- package/dist/jev_selector.d.ts +77 -0
- package/dist/jev_selector.js +418 -0
- package/dist/jev_selector.js.map +1 -0
- package/dist/model_ids.d.ts +1 -0
- package/dist/model_ids.js +26 -0
- package/dist/model_ids.js.map +1 -1
- package/dist/pi_context.js +37 -6
- package/dist/pi_context.js.map +1 -1
- package/dist/pi_options.js +6 -3
- package/dist/pi_options.js.map +1 -1
- package/dist/policy-engine.d.ts +1 -0
- package/dist/policy-engine.js +1 -0
- package/dist/policy-engine.js.map +1 -1
- package/dist/prompts.d.ts +1 -0
- package/dist/prompts.js +21 -4
- package/dist/prompts.js.map +1 -1
- package/dist/route.d.ts +3 -0
- package/dist/route.js +64 -5
- package/dist/route.js.map +1 -1
- package/dist/routing_history.d.ts +1 -0
- package/dist/routing_history.js +2 -0
- package/dist/routing_history.js.map +1 -1
- package/dist/selector_input.d.ts +26 -1
- package/dist/selector_input.js +17 -1
- package/dist/selector_input.js.map +1 -1
- package/dist/selector_request.d.ts +3 -1
- package/dist/selector_request.js +52 -12
- package/dist/selector_request.js.map +1 -1
- package/dist/selector_truncation.d.ts +2 -0
- package/dist/selector_truncation.js +42 -0
- package/dist/selector_truncation.js.map +1 -1
- package/dist/types.d.ts +9 -2
- package/examples/basic_route.ts +1 -1
- package/examples/jev_router.ts +50 -0
- package/examples/managed/README.md +2 -2
- package/examples/managed/byok-router/router.yml +1 -1
- package/examples/managed/custom-rules-router/router.yml +5 -5
- package/examples/managed/{slm-router → dari}/README.md +1 -1
- package/examples/managed/{slm-router → dari}/router.yml +2 -2
- package/examples/managed/eval-router/router.yml +1 -1
- 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
|
|
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
|
|
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 {
|
|
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
|
-
{
|
|
56
|
-
|
|
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
|
|
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
|
|
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(
|
|
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
|
-
|
|
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 =
|
|
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"],
|
|
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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"}
|
package/dist/cache_behavior.d.ts
CHANGED
|
@@ -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;
|
package/dist/cache_behavior.js
CHANGED
|
@@ -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
|
-
|
|
19
|
-
|
|
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
|
|
21
|
+
return modelFamilyProvider(model, provider) === "anthropic";
|
|
27
22
|
}
|
|
28
23
|
export function isOpenAiFamily(model, provider) {
|
|
29
|
-
return
|
|
24
|
+
return modelFamilyProvider(model, provider) === "openai";
|
|
30
25
|
}
|
|
31
26
|
function isFireworksFamily(model, provider) {
|
|
32
|
-
return
|
|
27
|
+
return modelFamilyProvider(model, provider) === "fireworks";
|
|
33
28
|
}
|
|
34
29
|
function isMetaFamily(model, provider) {
|
|
35
|
-
return
|
|
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 =
|
|
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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"cache_behavior.js","sourceRoot":"","sources":["../src/cache_behavior.ts"],"names":[],"mappings":"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"}
|