@mupt-ai/dari-router 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/dist/anonymous_actions.d.ts +18 -8
- package/dist/anonymous_actions.js +123 -46
- package/dist/anonymous_actions.js.map +1 -1
- package/dist/cache_behavior.js +1 -1
- package/dist/cache_behavior.js.map +1 -1
- package/dist/cache_scope.js +4 -1
- package/dist/cache_scope.js.map +1 -1
- package/dist/continuation_state.d.ts +1 -0
- package/dist/continuation_state.js +6 -1
- package/dist/continuation_state.js.map +1 -1
- package/dist/cost.d.ts +1 -0
- package/dist/cost.js +57 -36
- package/dist/cost.js.map +1 -1
- package/dist/eval_score_imputation.d.ts +14 -3
- package/dist/eval_score_imputation.js +82 -59
- package/dist/eval_score_imputation.js.map +1 -1
- package/dist/fixed_turn_cost_config.d.ts +2 -0
- package/dist/fixed_turn_cost_config.js +8 -0
- package/dist/fixed_turn_cost_config.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/jev_client.d.ts +31 -0
- package/dist/jev_client.js +115 -0
- package/dist/jev_client.js.map +1 -0
- package/dist/jev_eval_relevance.d.ts +49 -0
- package/dist/jev_eval_relevance.js +176 -0
- package/dist/jev_eval_relevance.js.map +1 -0
- package/dist/jev_selector.d.ts +3 -27
- package/dist/jev_selector.js +31 -221
- package/dist/jev_selector.js.map +1 -1
- package/dist/model_ids.js +10 -3
- package/dist/model_ids.js.map +1 -1
- package/dist/pi_context.js.map +1 -1
- package/dist/pi_options.js +83 -26
- package/dist/pi_options.js.map +1 -1
- package/dist/pi_output.js +2 -2
- package/dist/pi_output.js.map +1 -1
- package/dist/policy-engine.d.ts +2 -0
- package/dist/policy-engine.js +2 -0
- package/dist/policy-engine.js.map +1 -1
- package/dist/prompts/anonymous_action.md +33 -0
- package/dist/prompts/anonymous_rules.md +5 -0
- package/dist/prompts/custom_rules.md +10 -0
- package/dist/prompts/jev_eval_relevance.json +12 -0
- package/dist/prompts/jev_selector.json +22 -0
- package/dist/prompts/selector.md +21 -0
- package/dist/prompts.d.ts +28 -3
- package/dist/prompts.js +58 -80
- package/dist/prompts.js.map +1 -1
- package/dist/route.d.ts +1 -0
- package/dist/route.js +21 -0
- package/dist/route.js.map +1 -1
- package/dist/routing_history.d.ts +3 -0
- package/dist/routing_history.js +90 -55
- package/dist/routing_history.js.map +1 -1
- package/dist/selector_input.d.ts +0 -2
- package/dist/selector_input.js +15 -7
- package/dist/selector_input.js.map +1 -1
- package/dist/selector_request.d.ts +0 -1
- package/dist/selector_request.js +14 -37
- package/dist/selector_request.js.map +1 -1
- package/dist/selector_truncation.d.ts +0 -1
- package/dist/selector_truncation.js +6 -39
- package/dist/selector_truncation.js.map +1 -1
- package/dist/thinking_level_graph.d.ts +10 -0
- package/dist/thinking_level_graph.js +64 -0
- package/dist/thinking_level_graph.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/package.json +4 -5
- package/dist/jev_router.d.ts +0 -5
- package/dist/jev_router.js +0 -22
- package/dist/jev_router.js.map +0 -1
- package/examples/jev_router.ts +0 -50
package/dist/jev_selector.js
CHANGED
|
@@ -1,74 +1,25 @@
|
|
|
1
|
-
// TypeSafe Jev selector over the anonymous-action protocol.
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
1
|
+
// TypeSafe Jev as a routing selector over the anonymous-action protocol.
|
|
2
|
+
// Jev answers two Choice questions about the de-identified selector input —
|
|
3
|
+
// which anonymous candidate action serves the next turns, and how long a
|
|
4
|
+
// lease to commit to — and the answers come back as calibrated
|
|
5
|
+
// probabilities rather than parsed JSON. The hosted router uses it as the
|
|
6
|
+
// fallback when Dari's policy endpoint is unavailable.
|
|
7
7
|
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { isRecord, } from "./types.js";
|
|
18
|
-
export const DEFAULT_JEV_ENDPOINT = "https://api.typesafe.ai/v1";
|
|
19
|
-
export const DEFAULT_JEV_MODEL = "jev-latest";
|
|
20
|
-
const DEFAULT_JEV_TIMEOUT_MS = 30_000;
|
|
8
|
+
// Candidates are de-identified through the same anonymous-action protocol
|
|
9
|
+
// Dari uses (anonymous_actions.ts), so Jev decides on benchmark and cost
|
|
10
|
+
// evidence and never sees a model identity; comparisons Jev is weak at (cost
|
|
11
|
+
// ordering, benchmark standing) are computed here and passed as text.
|
|
12
|
+
import { anonymizeSelectorInput, } from "./anonymous_actions.js";
|
|
13
|
+
import { FIXED_TURN_COST_COMPARISON_TURNS } from "./fixed_turn_cost_config.js";
|
|
14
|
+
import { invalidJevResponse, JevOutputError, postSystemOne, } from "./jev_client.js";
|
|
15
|
+
import { fillPrompt, JEV_SELECTOR_PROMPT } from "./prompts.js";
|
|
16
|
+
import { isRecord } from "./types.js";
|
|
21
17
|
// Jev evaluates up to 32k tokens of state plus the longest question, and
|
|
22
18
|
// JSON-shaped conversation state tokenizes at roughly 2.7 characters per
|
|
23
19
|
// token. The selector request is sized on its JSON-escaped messages, which
|
|
24
20
|
// overstate the state Jev receives, so this budget leaves room for the
|
|
25
21
|
// questions and the action descriptions.
|
|
26
22
|
export const JEV_SELECTOR_CONTEXT_WINDOW_CHARS = 64_000;
|
|
27
|
-
// Rate-limit and overload responses get one backoff retry; anything else is
|
|
28
|
-
// the caller's failure to surface.
|
|
29
|
-
const JEV_RETRY_STATUSES = new Set([429, 529]);
|
|
30
|
-
const JEV_ATTEMPTS = 2;
|
|
31
|
-
const JEV_RETRY_DELAY_MS = 500;
|
|
32
|
-
const JEV_RETRY_MAX_DELAY_MS = 5_000;
|
|
33
|
-
// selector_output after TypeSafe returned 200. Token counts are on the body
|
|
34
|
-
// even when the action or lease answer is rejected, so hosts can still bill
|
|
35
|
-
// the selector call.
|
|
36
|
-
export class JevSelectorOutputError extends RouterCoreError {
|
|
37
|
-
usage;
|
|
38
|
-
constructor(message, code, usage = null) {
|
|
39
|
-
super("selector_output", message, code);
|
|
40
|
-
this.name = "JevSelectorOutputError";
|
|
41
|
-
this.usage = usage;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
export function resolveJevSelectorConfig(input) {
|
|
45
|
-
const apiKey = input.apiKey?.trim() ?? "";
|
|
46
|
-
if (!apiKey)
|
|
47
|
-
throw configurationError("Jev selector requires an apiKey.", "apiKey");
|
|
48
|
-
const endpoint = (input.endpoint ?? DEFAULT_JEV_ENDPOINT).trim().replace(/\/+$/, "");
|
|
49
|
-
let url;
|
|
50
|
-
try {
|
|
51
|
-
url = new URL(endpoint);
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
throw configurationError("Jev selector endpoint must be a valid URL.", "endpoint");
|
|
55
|
-
}
|
|
56
|
-
if ((url.protocol !== "https:" && url.protocol !== "http:") || url.username || url.password) {
|
|
57
|
-
throw configurationError("Jev selector endpoint must be an HTTP(S) URL without embedded credentials.", "endpoint");
|
|
58
|
-
}
|
|
59
|
-
const model = (input.model ?? DEFAULT_JEV_MODEL).trim();
|
|
60
|
-
if (!model)
|
|
61
|
-
throw configurationError("Jev selector model must not be empty.", "model");
|
|
62
|
-
const leaseTurns = input.leaseTurns ?? SELECTOR_LEASE_TURNS;
|
|
63
|
-
if (leaseTurns.some((turns, index) => !Number.isSafeInteger(turns) || turns <= 0 || (index > 0 && turns <= leaseTurns[index - 1]))) {
|
|
64
|
-
throw configurationError("Jev selector leaseTurns must be ascending positive integers.", "leaseTurns");
|
|
65
|
-
}
|
|
66
|
-
const timeoutMs = input.timeoutMs ?? DEFAULT_JEV_TIMEOUT_MS;
|
|
67
|
-
if (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {
|
|
68
|
-
throw configurationError("Jev selector timeoutMs must be a positive integer.", "timeoutMs");
|
|
69
|
-
}
|
|
70
|
-
return { apiKey, endpoint, model, leaseTurns, timeoutMs };
|
|
71
|
-
}
|
|
72
23
|
// Renders the de-identified selector input as a Jev request. Every candidate
|
|
73
24
|
// identity has already been replaced by its action letter; the only evidence
|
|
74
25
|
// an action carries is its projected cost and its benchmark standing.
|
|
@@ -95,7 +46,6 @@ export function buildJevSelectorRequest(anonymousInput, options) {
|
|
|
95
46
|
};
|
|
96
47
|
}
|
|
97
48
|
const state = {
|
|
98
|
-
task: anonymousInput.task,
|
|
99
49
|
previous_action: anonymousInput.previous_action === null
|
|
100
50
|
? null
|
|
101
51
|
: anonymousInput.previous_action.action,
|
|
@@ -113,15 +63,14 @@ export function buildJevSelectorRequest(anonymousInput, options) {
|
|
|
113
63
|
action: {
|
|
114
64
|
type: "choice",
|
|
115
65
|
instructions: {
|
|
116
|
-
question:
|
|
117
|
-
rules:
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"Use each action's benchmark scores and ranks as evidence of capability. A missing benchmark means the action was not measured on it, not that it scored poorly.",
|
|
121
|
-
"When several actions are capable enough, choose the one with the best (lowest-numbered) cost rank.",
|
|
122
|
-
"Prefer `previous_action` while the task and its current phase have not changed.",
|
|
123
|
-
],
|
|
66
|
+
question: JEV_SELECTOR_PROMPT.action.question,
|
|
67
|
+
rules: anonymousInput.router_rules === undefined
|
|
68
|
+
? JEV_SELECTOR_PROMPT.action.rules
|
|
69
|
+
: [...JEV_SELECTOR_PROMPT.action.rules, JEV_SELECTOR_PROMPT.action.router_rules_rule],
|
|
124
70
|
...(Object.keys(glossary).length === 0 ? {} : { benchmarks: glossary }),
|
|
71
|
+
...(anonymousInput.router_rules === undefined
|
|
72
|
+
? {}
|
|
73
|
+
: { router_rules: anonymousInput.router_rules }),
|
|
125
74
|
},
|
|
126
75
|
criteria,
|
|
127
76
|
},
|
|
@@ -130,23 +79,18 @@ export function buildJevSelectorRequest(anonymousInput, options) {
|
|
|
130
79
|
return { model: options.model, state, questions };
|
|
131
80
|
}
|
|
132
81
|
function leaseQuestion(leaseTurns) {
|
|
82
|
+
const { question, guidance, criteria: templates } = JEV_SELECTOR_PROMPT.lease;
|
|
133
83
|
const last = leaseTurns.length - 1;
|
|
134
84
|
const criteria = {};
|
|
135
85
|
leaseTurns.forEach((turns, index) => {
|
|
136
|
-
|
|
137
|
-
?
|
|
86
|
+
const template = index === 0
|
|
87
|
+
? templates.shortest
|
|
138
88
|
: index === last
|
|
139
|
-
?
|
|
140
|
-
:
|
|
89
|
+
? templates.longest
|
|
90
|
+
: templates.middle;
|
|
91
|
+
criteria[String(turns)] = fillPrompt(template, { turns: String(turns) });
|
|
141
92
|
});
|
|
142
|
-
return {
|
|
143
|
-
type: "choice",
|
|
144
|
-
instructions: {
|
|
145
|
-
question: "How many consecutive turns should the chosen action serve before the router reconsiders?",
|
|
146
|
-
guidance: "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. Judge from how much similar work remains after the latest turn of `conversation`.",
|
|
147
|
-
},
|
|
148
|
-
criteria,
|
|
149
|
-
};
|
|
93
|
+
return { type: "choice", instructions: { question, guidance }, criteria };
|
|
150
94
|
}
|
|
151
95
|
export function parseJevSelectorResponse(body, args) {
|
|
152
96
|
if (!isRecord(body) || typeof body.model !== "string" || !isRecord(body.answers)) {
|
|
@@ -165,7 +109,7 @@ export function parseJevSelectorResponse(body, args) {
|
|
|
165
109
|
const action = choiceAnswer(body.answers.action, "action", tokenUsage);
|
|
166
110
|
const slot = args.slots.find((entry) => entry.action === action.choice);
|
|
167
111
|
if (slot === undefined) {
|
|
168
|
-
throw new
|
|
112
|
+
throw new JevOutputError("Jev selected an action outside this router's candidates.", "selector_invalid_candidate", tokenUsage);
|
|
169
113
|
}
|
|
170
114
|
let lease;
|
|
171
115
|
let turns;
|
|
@@ -203,9 +147,6 @@ function decisionReason(action, turns, lease) {
|
|
|
203
147
|
// Anonymizes the named selector input against the slots, asks Jev, and maps
|
|
204
148
|
// the answers back onto the slots' candidates.
|
|
205
149
|
export async function selectWithJev(selectorInput, slots, config, signal) {
|
|
206
|
-
if ("custom_rules" in selectorInput || "default_target" in selectorInput) {
|
|
207
|
-
throw new RouterCoreError("configuration", "The Jev selector serves only the default routing policy and cannot apply custom routing rules.", "custom_rules_not_supported");
|
|
208
|
-
}
|
|
209
150
|
const anonymousInput = anonymizeSelectorInput(selectorInput, slots);
|
|
210
151
|
const request = buildJevSelectorRequest(anonymousInput, config);
|
|
211
152
|
const body = await postSystemOne(request, config, signal);
|
|
@@ -221,126 +162,6 @@ export async function selectWithJev(selectorInput, slots, config, signal) {
|
|
|
221
162
|
// Letters are assigned per call: the framework path carries no conversation
|
|
222
163
|
// identity, and every candidate-bearing field is re-lettered together, so
|
|
223
164
|
// correctness never depends on cross-turn stability.
|
|
224
|
-
export function createJevSelector(input) {
|
|
225
|
-
const config = resolveJevSelectorConfig(input);
|
|
226
|
-
return {
|
|
227
|
-
async select(request, signal) {
|
|
228
|
-
const selectorInput = selectorInputFromRequest(request);
|
|
229
|
-
const single = singleCandidate(selectorInput);
|
|
230
|
-
if (single !== undefined) {
|
|
231
|
-
return JSON.stringify({
|
|
232
|
-
selected_model: single.model,
|
|
233
|
-
reasoning_effort: single.reasoningEffort,
|
|
234
|
-
reason: "The router has only one compatible model/thinking-level pair.",
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
const candidates = selectorInput.candidate_pairs.map((pair) => ({
|
|
238
|
-
model: pair.model,
|
|
239
|
-
reasoningEffort: pair.thinking_level,
|
|
240
|
-
}));
|
|
241
|
-
const rng = typeof request.prompt_cache_key === "string" && request.prompt_cache_key !== ""
|
|
242
|
-
? sessionRng(request.prompt_cache_key)
|
|
243
|
-
: Math.random;
|
|
244
|
-
let selection;
|
|
245
|
-
try {
|
|
246
|
-
selection = await selectWithJev(selectorInput, assignAnonymousActions(candidates, rng), config, signal);
|
|
247
|
-
}
|
|
248
|
-
catch (error) {
|
|
249
|
-
throw frameworkError(error);
|
|
250
|
-
}
|
|
251
|
-
const { decision, response } = selection;
|
|
252
|
-
return JSON.stringify({
|
|
253
|
-
selected_model: decision.selectedModel,
|
|
254
|
-
reasoning_effort: decision.reasoningEffort,
|
|
255
|
-
reason: decision.reason,
|
|
256
|
-
...(decision.leaseTurnsRemaining === undefined
|
|
257
|
-
? {}
|
|
258
|
-
: { lease_turns_remaining: decision.leaseTurnsRemaining }),
|
|
259
|
-
jev: response,
|
|
260
|
-
});
|
|
261
|
-
},
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
function singleCandidate(selectorInput) {
|
|
265
|
-
if (selectorInput.candidate_pairs.length !== 1)
|
|
266
|
-
return undefined;
|
|
267
|
-
const pair = selectorInput.candidate_pairs[0];
|
|
268
|
-
return { model: pair.model, reasoningEffort: pair.thinking_level };
|
|
269
|
-
}
|
|
270
|
-
async function postSystemOne(request, config, signal) {
|
|
271
|
-
for (let attempt = 1;; attempt += 1) {
|
|
272
|
-
const response = await fetchSystemOne(request, config, signal);
|
|
273
|
-
if (response.ok) {
|
|
274
|
-
try {
|
|
275
|
-
return await response.json();
|
|
276
|
-
}
|
|
277
|
-
catch {
|
|
278
|
-
throw invalidResponse("Jev returned a non-JSON response body.");
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
if (attempt < JEV_ATTEMPTS && JEV_RETRY_STATUSES.has(response.status)) {
|
|
282
|
-
await delay(retryDelayMs(response.headers.get("retry-after")), signal);
|
|
283
|
-
continue;
|
|
284
|
-
}
|
|
285
|
-
const body = await response.text().catch(() => "");
|
|
286
|
-
throw new RouterFrameworkError("policy", `Jev returned HTTP ${response.status}: ${body}`, "jev_http_error");
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
async function fetchSystemOne(request, config, signal) {
|
|
290
|
-
const timeout = AbortSignal.timeout(config.timeoutMs);
|
|
291
|
-
try {
|
|
292
|
-
return await fetch(`${config.endpoint}/systemone`, {
|
|
293
|
-
method: "POST",
|
|
294
|
-
headers: {
|
|
295
|
-
Authorization: `Bearer ${config.apiKey}`,
|
|
296
|
-
"Content-Type": "application/json",
|
|
297
|
-
},
|
|
298
|
-
body: JSON.stringify(request),
|
|
299
|
-
signal: signal === undefined ? timeout : AbortSignal.any([signal, timeout]),
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
catch (error) {
|
|
303
|
-
if (signal?.aborted)
|
|
304
|
-
throw error;
|
|
305
|
-
throw new RouterFrameworkError("policy", `Jev request failed: ${error instanceof Error ? error.message : String(error)}`, "jev_request_failed", undefined, { cause: error });
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
function retryDelayMs(retryAfter) {
|
|
309
|
-
const seconds = Number(retryAfter);
|
|
310
|
-
if (retryAfter === null || !Number.isFinite(seconds) || seconds <= 0)
|
|
311
|
-
return JEV_RETRY_DELAY_MS;
|
|
312
|
-
return Math.min(seconds * 1000, JEV_RETRY_MAX_DELAY_MS);
|
|
313
|
-
}
|
|
314
|
-
function delay(ms, signal) {
|
|
315
|
-
return new Promise((resolve, reject) => {
|
|
316
|
-
const timer = setTimeout(() => {
|
|
317
|
-
signal?.removeEventListener("abort", onAbort);
|
|
318
|
-
resolve();
|
|
319
|
-
}, ms);
|
|
320
|
-
const onAbort = () => {
|
|
321
|
-
clearTimeout(timer);
|
|
322
|
-
reject(signal?.reason);
|
|
323
|
-
};
|
|
324
|
-
signal?.addEventListener("abort", onAbort, { once: true });
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
function selectorInputFromRequest(request) {
|
|
328
|
-
const user = request.messages?.find((message) => message.role === "user");
|
|
329
|
-
if (typeof user?.content !== "string") {
|
|
330
|
-
throw new RouterCoreError("invalid_request", "Selector request is missing the JSON user message.", "invalid_request_error");
|
|
331
|
-
}
|
|
332
|
-
let parsed;
|
|
333
|
-
try {
|
|
334
|
-
parsed = JSON.parse(user.content);
|
|
335
|
-
}
|
|
336
|
-
catch {
|
|
337
|
-
throw new RouterCoreError("invalid_request", "Selector request user message is not valid JSON.", "invalid_request_error");
|
|
338
|
-
}
|
|
339
|
-
if (!isRecord(parsed) || !Array.isArray(parsed.candidate_pairs) || !Array.isArray(parsed.messages)) {
|
|
340
|
-
throw new RouterCoreError("invalid_request", "Selector input is missing candidate_pairs or messages.", "invalid_request_error");
|
|
341
|
-
}
|
|
342
|
-
return parsed;
|
|
343
|
-
}
|
|
344
165
|
// Cost per action as text Jev can compare literally: the loop projections at
|
|
345
166
|
// each lease length, plus a rank across actions on the comparison horizon.
|
|
346
167
|
function actionCosts(costs) {
|
|
@@ -403,16 +224,5 @@ function usd(value) {
|
|
|
403
224
|
function percent(value) {
|
|
404
225
|
return `${Math.round(value * 100)}%`;
|
|
405
226
|
}
|
|
406
|
-
|
|
407
|
-
return new JevSelectorOutputError(message, "selector_invalid_response", usage);
|
|
408
|
-
}
|
|
409
|
-
function configurationError(message, param) {
|
|
410
|
-
return new RouterCoreError("configuration", message, "jev_configuration_invalid", param);
|
|
411
|
-
}
|
|
412
|
-
function frameworkError(error) {
|
|
413
|
-
if (!(error instanceof RouterCoreError))
|
|
414
|
-
return error;
|
|
415
|
-
const kind = error.kind === "selector_output" ? "policy" : error.kind;
|
|
416
|
-
return new RouterFrameworkError(kind, error.message, error.code, error.param, { cause: error });
|
|
417
|
-
}
|
|
227
|
+
const invalidResponse = invalidJevResponse;
|
|
418
228
|
//# sourceMappingURL=jev_selector.js.map
|
package/dist/jev_selector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jev_selector.js","sourceRoot":"","sources":["../src/jev_selector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jev_selector.js","sourceRoot":"","sources":["../src/jev_selector.ts"],"names":[],"mappings":"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"}
|
package/dist/model_ids.js
CHANGED
|
@@ -31,17 +31,24 @@ export function canonicalModelId(modelId) {
|
|
|
31
31
|
// retain the owner's tokenizer, prompt-cache, and cost family. Warm-prefix
|
|
32
32
|
// provenance is checked separately against the actual serving provider, so
|
|
33
33
|
// an alias here never lets one provider claim another's cached prefix.
|
|
34
|
-
//
|
|
34
|
+
// Vercel AI Gateway passes the upstream's prompt cache through: OpenAI and
|
|
35
|
+
// Anthropic models keep their owner's family, and open-weight models get
|
|
36
|
+
// automatic prefix caching with no write fee, the fireworks family (95-98% of
|
|
37
|
+
// prompt tokens read from cache in October 2026 GLM 5.3 and Kimi K3 agent
|
|
38
|
+
// runs). Returns null when the serving provider is not an alias.
|
|
35
39
|
function aliasFamilyProvider(model, provider) {
|
|
36
40
|
if (provider === "openai-codex")
|
|
37
41
|
return "openai";
|
|
38
|
-
|
|
42
|
+
const gateway = provider === "vercel-ai-gateway";
|
|
43
|
+
if (!gateway && provider !== "amazon-bedrock" && provider !== "azure")
|
|
39
44
|
return null;
|
|
40
45
|
const slash = canonicalModelId(model).indexOf("/");
|
|
41
46
|
if (slash <= 0)
|
|
42
47
|
return null;
|
|
43
48
|
const owner = canonicalModelId(model).slice(0, slash).toLowerCase();
|
|
44
|
-
|
|
49
|
+
if (owner === "openai" || owner === "anthropic")
|
|
50
|
+
return owner;
|
|
51
|
+
return gateway ? "fireworks" : null;
|
|
45
52
|
}
|
|
46
53
|
// The provider whose family behavior (tokenizer, prompt cache, cost class)
|
|
47
54
|
// a model follows: the serving provider itself, or the canonical model owner
|
package/dist/model_ids.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model_ids.js","sourceRoot":"","sources":["../src/model_ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAErD,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,kCAAkC,KAAK,EAAE,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACxH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,kCAAkC,KAAK,EAAE,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"model_ids.js","sourceRoot":"","sources":["../src/model_ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAErD,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,kCAAkC,KAAK,EAAE,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACxH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,kCAAkC,KAAK,EAAE,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,8EAA8E;AAC9E,0EAA0E;AAC1E,iEAAiE;AACjE,SAAS,mBAAmB,CAAC,KAAa,EAAE,QAAgB;IAC1D,IAAI,QAAQ,KAAK,cAAc;QAAE,OAAO,QAAQ,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,KAAK,mBAAmB,CAAC;IACjD,IAAI,CAAC,OAAO,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACnF,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,4EAA4E;AAC5E,iEAAiE;AACjE,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,QAAiB;IAClE,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,OAAO,OAAO,IAAI,QAAQ,CAAC;AAC7B,CAAC"}
|
package/dist/pi_context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi_context.js","sourceRoot":"","sources":["../src/pi_context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pi_context.js","sourceRoot":"","sources":["../src/pi_context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMtC,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,GAErB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,UAAU,SAAS,CAAC,OAAsB,EAAE,KAAc;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,SAAkF,CAAC;IACvF,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvF,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YAC/E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,SAAS,KAAK;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,EAAE;YACX,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,KAAK,EAAE,WAAW,EAAE;YACpB,UAAU,EAAE,MAAM;YAClB,SAAS;SACV,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;YACrF,cAAc,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,qEAAqE;gBACrE,8DAA8D;gBAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,uEAAuE;YACvE,qEAAqE;YACrE,wEAAwE;YACxE,wEAAwE;YACxE,oEAAoE;YACpE,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAChD,SAAS;QACX,CAAC;QACD,mBAAmB,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpD,cAAc,EAAE,CAAC;YACjB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC;YAChF,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,0DAA0D,EAC1D,gCAAgC,CACjC,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACpD,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9B,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,cAA4B;aACxC,CAAC,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,MAAM,GAA2B;gBACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,EAAE;aAChB,CAAC;YACF,MAAM,YAAY,GAAG,8BAA8B,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC/E,IAAI,YAAY,EAAE,CAAC;gBACjB,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvE,IAAI,QAAQ,EAAE,CAAC;oBACb,qEAAqE;oBACrE,iEAAiE;oBACjE,oCAAoC;oBACpC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACrC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,6DAA6D;gBAC7D,MAAM,IAAI,oBAAoB,CAC5B,eAAe,EACf,mDAAmD,KAAK,CAAC,GAAG,kEAAkE,EAC9H,kCAAkC,CACnC,CAAC;YACJ,CAAC;YACA,gBAAgB,EAAE,CAAC,OAAqD,CAAC,IAAI,CAAC;gBAC7E,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,IAAI,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,cAAc,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM;YAC9C,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,UAAU,GAAG,CAAC;YACpE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;YAC9B,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IACD,cAAc,EAAE,CAAC;IAEjB,MAAM,KAAK,GAAW,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,UAAU,EAAE,IAAI,CAAC,WAAiC;KACnD,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,QAAQ;QACR,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,IAAoE,EACpE,YAAuC;IAEvC,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,CAAC;QAC9D,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/D,iBAAiB,EAAE,8BAA8B,CAAC;gBAChD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;aAChD,CAAC;SACH,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC/C,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,iBAAiB,EAAE,YAAY,CAAC,SAAS;SAC1C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAE;QACZ,iBAAiB,EAAE,YAAY,CAAC,IAAI;QACpC,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA6B,EAC7B,IAAY,EACZ,SAAiB;IAEjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QACpC,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IACD,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,iBAAiB,CACxB,QAA6B,EAC7B,OAA0E,EAC1E,SAAiB;IAEjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,QAAQ,CAAC,OAAO,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CACtB,OAAyF;IAEzF,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACnF,CAAC;AAED,SAAS,UAAU,CAAC,OAAiC;IACnD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,oEAAoE,EACpE,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAChB,OAAiC,EACjC,QAAgB;IAEhB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,MAAM,QAAQ,oCAAoC,EAClD,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,KAAK,GAAG,uDAAuD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CAAC,KAAuC,EAAE,EAAU;IACxE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,mEAAmE;IACnE,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,cAAc,EAAE,iCAAiC,EACjD,2BAA2B,EAC3B,SAAS,EACT,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,EACjB,cAAc,EAAE,oCAAoC,EACpD,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW;IAClB,OAAO;QACL,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC"}
|
package/dist/pi_options.js
CHANGED
|
@@ -29,11 +29,9 @@ export async function piOptions(runtime, execution, model) {
|
|
|
29
29
|
...(request.generation.temperature === undefined
|
|
30
30
|
? {}
|
|
31
31
|
: { temperature: request.generation.temperature }),
|
|
32
|
-
...(request.generation.topP === undefined ? {} : { topP: request.generation.topP }),
|
|
33
32
|
...(request.generation.maxOutputTokens === undefined
|
|
34
33
|
? {}
|
|
35
34
|
: { maxTokens: request.generation.maxOutputTokens }),
|
|
36
|
-
...(request.generation.stop === undefined ? {} : { stop: request.generation.stop }),
|
|
37
35
|
...(request.cacheKey === undefined ? {} : { sessionId: request.cacheKey }),
|
|
38
36
|
// Only anthropic-messages reads metadata (and only user_id); no other
|
|
39
37
|
// fork API consumes metadata fields.
|
|
@@ -41,10 +39,6 @@ export async function piOptions(runtime, execution, model) {
|
|
|
41
39
|
? { metadata: { user_id: request.user } }
|
|
42
40
|
: {}),
|
|
43
41
|
...(execution.reasoningEffort === "off" ? {} : { reasoning: execution.reasoningEffort }),
|
|
44
|
-
...(request.responseFormat === undefined
|
|
45
|
-
? {}
|
|
46
|
-
: { responseFormat: piResponseFormat(request.responseFormat, model.api) }),
|
|
47
|
-
...(request.toolChoice === undefined ? {} : { toolChoice: piToolChoice(request.toolChoice) }),
|
|
48
42
|
};
|
|
49
43
|
const budget = request.reasoning?.budgetTokens;
|
|
50
44
|
if (budget !== undefined &&
|
|
@@ -58,8 +52,7 @@ export async function piOptions(runtime, execution, model) {
|
|
|
58
52
|
options.onPayload = patch;
|
|
59
53
|
return options;
|
|
60
54
|
}
|
|
61
|
-
//
|
|
62
|
-
// reject them up front as client errors instead of surfacing 502s.
|
|
55
|
+
// Reject controls the provider API cannot represent before starting a request.
|
|
63
56
|
function rejectUnsupportedOptions(request, model) {
|
|
64
57
|
if (request.generation.stop !== undefined && isOpenAIResponsesApi(model.api)) {
|
|
65
58
|
throw unsupportedPiOption("stop sequences", model.api);
|
|
@@ -71,6 +64,9 @@ function rejectUnsupportedOptions(request, model) {
|
|
|
71
64
|
(model.api === "google-generative-ai" || model.api === "google-vertex")) {
|
|
72
65
|
throw unsupportedPiOption("forcing a specific tool with tool_choice", model.api);
|
|
73
66
|
}
|
|
67
|
+
if (request.toolChoice === "none" && model.api === "bedrock-converse-stream") {
|
|
68
|
+
throw unsupportedPiOption("disabling tools with tool_choice", model.api);
|
|
69
|
+
}
|
|
74
70
|
if (request.responseFormat?.type === "json_object" && model.api === "bedrock-converse-stream") {
|
|
75
71
|
throw unsupportedPiOption("response_format json_object", model.api);
|
|
76
72
|
}
|
|
@@ -79,32 +75,31 @@ function unsupportedPiOption(option, api) {
|
|
|
79
75
|
return new RouterFrameworkError("invalid_request", `Pi API '${api}' does not support ${option}.`, "pi_option_unsupported");
|
|
80
76
|
}
|
|
81
77
|
function piResponseFormat(format, api) {
|
|
82
|
-
if (
|
|
83
|
-
// Anthropic has no json_object mode;
|
|
84
|
-
// schema so the request still produces JSON output.
|
|
78
|
+
if (api === "anthropic-messages") {
|
|
79
|
+
// Anthropic has no json_object mode; use a permissive object schema.
|
|
85
80
|
return {
|
|
86
81
|
type: "json_schema",
|
|
87
|
-
|
|
82
|
+
schema: format.type === "json_schema" ? format.schema : { type: "object" },
|
|
88
83
|
};
|
|
89
84
|
}
|
|
90
85
|
if (format.type !== "json_schema")
|
|
91
86
|
return format;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
schema: format.schema,
|
|
97
|
-
...(format.description === undefined ? {} : { description: format.description }),
|
|
98
|
-
...(format.strict === undefined ? {} : { strict: format.strict }),
|
|
99
|
-
},
|
|
100
|
-
};
|
|
87
|
+
const { type: _, ...schema } = format;
|
|
88
|
+
return isOpenAIResponsesApi(api)
|
|
89
|
+
? { type: "json_schema", ...schema }
|
|
90
|
+
: { type: "json_schema", json_schema: schema };
|
|
101
91
|
}
|
|
102
|
-
function piToolChoice(choice) {
|
|
103
|
-
if (
|
|
104
|
-
return "
|
|
92
|
+
function piToolChoice(choice, api) {
|
|
93
|
+
if (api === "anthropic-messages") {
|
|
94
|
+
return typeof choice === "string"
|
|
95
|
+
? { type: choice === "required" ? "any" : choice }
|
|
96
|
+
: { type: "tool", name: choice.name };
|
|
97
|
+
}
|
|
105
98
|
if (typeof choice === "string")
|
|
106
99
|
return choice;
|
|
107
|
-
return
|
|
100
|
+
return isOpenAIResponsesApi(api)
|
|
101
|
+
? { type: "function", name: choice.name }
|
|
102
|
+
: { type: "function", function: { name: choice.name } };
|
|
108
103
|
}
|
|
109
104
|
function payloadPatch(request, model, execution) {
|
|
110
105
|
const strictTools = request.tools.some((tool) => tool.strict !== undefined);
|
|
@@ -121,7 +116,11 @@ function payloadPatch(request, model, execution) {
|
|
|
121
116
|
if (!strictTools &&
|
|
122
117
|
parallel === undefined &&
|
|
123
118
|
!thinkingPatch &&
|
|
124
|
-
!imageDetailPatch
|
|
119
|
+
!imageDetailPatch &&
|
|
120
|
+
request.responseFormat === undefined &&
|
|
121
|
+
request.toolChoice === undefined &&
|
|
122
|
+
request.generation.topP === undefined &&
|
|
123
|
+
request.generation.stop === undefined) {
|
|
125
124
|
return undefined;
|
|
126
125
|
}
|
|
127
126
|
if ((strictTools || parallel !== undefined) && !PAYLOAD_PATCH_APIS.has(model.api)) {
|
|
@@ -131,6 +130,58 @@ function payloadPatch(request, model, execution) {
|
|
|
131
130
|
if (!isRecord(value))
|
|
132
131
|
return undefined;
|
|
133
132
|
let payload = value;
|
|
133
|
+
const api = model.api;
|
|
134
|
+
const google = api === "google-generative-ai" || api === "google-vertex";
|
|
135
|
+
const config = isRecord(payload.config) ? payload.config : {};
|
|
136
|
+
if (request.generation.topP !== undefined || request.generation.stop !== undefined) {
|
|
137
|
+
const stop = request.generation.stop;
|
|
138
|
+
const sequences = typeof stop === "string" ? [stop] : stop;
|
|
139
|
+
const controls = {
|
|
140
|
+
...(request.generation.topP === undefined ? {} : { [google || api === "bedrock-converse-stream" ? "topP" : "top_p"]: request.generation.topP }),
|
|
141
|
+
...(stop === undefined ? {} : { [google || api === "bedrock-converse-stream" ? "stopSequences" : api === "anthropic-messages" ? "stop_sequences" : "stop"]: api === "openai-completions" ? stop : sequences }),
|
|
142
|
+
};
|
|
143
|
+
payload = google ? { ...payload, config: { ...config, ...controls } }
|
|
144
|
+
: api === "bedrock-converse-stream" ? { ...payload, inferenceConfig: { ...(isRecord(payload.inferenceConfig) ? payload.inferenceConfig : {}), ...controls } }
|
|
145
|
+
: { ...payload, ...controls };
|
|
146
|
+
}
|
|
147
|
+
if (request.responseFormat !== undefined &&
|
|
148
|
+
(request.responseFormat.type !== "text" || isOpenAIResponsesApi(api) || api === "openai-completions")) {
|
|
149
|
+
const format = piResponseFormat(request.responseFormat, api);
|
|
150
|
+
if (google) {
|
|
151
|
+
payload = { ...payload, config: { ...(isRecord(payload.config) ? payload.config : {}), responseMimeType: "application/json", ...(request.responseFormat.type === "json_schema" ? { responseJsonSchema: request.responseFormat.schema } : {}) } };
|
|
152
|
+
}
|
|
153
|
+
else if (api === "bedrock-converse-stream") {
|
|
154
|
+
const response = request.responseFormat;
|
|
155
|
+
if (response.type === "json_schema")
|
|
156
|
+
payload = { ...payload, outputConfig: { textFormat: { type: "json_schema", structure: { jsonSchema: { name: response.name, schema: JSON.stringify(response.schema), ...(response.description === undefined ? {} : { description: response.description }) } } } } };
|
|
157
|
+
}
|
|
158
|
+
else if (isOpenAIResponsesApi(api)) {
|
|
159
|
+
payload = { ...payload, text: { ...(isRecord(payload.text) ? payload.text : {}), format } };
|
|
160
|
+
}
|
|
161
|
+
else if (api === "anthropic-messages") {
|
|
162
|
+
payload = { ...payload, output_config: { ...(isRecord(payload.output_config) ? payload.output_config : {}), format } };
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
payload = { ...payload, response_format: format };
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (request.toolChoice !== undefined) {
|
|
169
|
+
const choice = request.toolChoice;
|
|
170
|
+
if (google) {
|
|
171
|
+
const mode = choice === "none" ? "NONE" : choice === "required" ? "ANY" : "AUTO";
|
|
172
|
+
payload = { ...payload, config: { ...(isRecord(payload.config) ? payload.config : {}), toolConfig: { functionCallingConfig: { mode } } } };
|
|
173
|
+
}
|
|
174
|
+
else if (api === "bedrock-converse-stream") {
|
|
175
|
+
payload = { ...payload, toolConfig: { ...(isRecord(payload.toolConfig) ? payload.toolConfig : {}), toolChoice: typeof choice === "string" ? choice === "required" ? { any: {} } : { auto: {} } : { tool: { name: choice.name } } } };
|
|
176
|
+
}
|
|
177
|
+
else if (Array.isArray(payload.tools) && payload.tools.length > 0) {
|
|
178
|
+
payload = { ...payload, tool_choice: piToolChoice(choice, api) };
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
const { tool_choice: _, ...withoutToolChoice } = payload;
|
|
182
|
+
payload = withoutToolChoice;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
134
185
|
if (strictTools)
|
|
135
186
|
payload = patchStrictTools(payload, request, model.api);
|
|
136
187
|
if (parallel !== undefined)
|
|
@@ -139,6 +190,12 @@ function payloadPatch(request, model, execution) {
|
|
|
139
190
|
payload = patchImageDetails(payload, imageDetails);
|
|
140
191
|
if (thinkingPatch)
|
|
141
192
|
payload = patchAnthropicThinking(payload, request);
|
|
193
|
+
if (api !== "bedrock-converse-stream" &&
|
|
194
|
+
!google &&
|
|
195
|
+
(!Array.isArray(payload.tools) || payload.tools.length === 0)) {
|
|
196
|
+
const { tool_choice: _, ...withoutToolChoice } = payload;
|
|
197
|
+
payload = withoutToolChoice;
|
|
198
|
+
}
|
|
142
199
|
return payload;
|
|
143
200
|
};
|
|
144
201
|
}
|