@mupt-ai/dari-router 0.2.2 → 0.2.4
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 +17 -8
- package/dist/anonymous_actions.js +110 -44
- 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 +1 -0
- 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 +8 -4
- package/dist/cost.js.map +1 -1
- package/dist/eval_score_imputation.d.ts +14 -3
- package/dist/eval_score_imputation.js +83 -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 +29 -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 +59 -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 +1 -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/cost.d.ts
CHANGED
|
@@ -36,5 +36,6 @@ export declare function estimateCandidateCosts(args: {
|
|
|
36
36
|
averageOutputTokensByModel?: Readonly<Record<string, Partial<Record<ReasoningEffort, number>> | null>>;
|
|
37
37
|
cacheScope?: ReasoningCacheScopeLookup;
|
|
38
38
|
modelProvider?: ModelProviderLookup;
|
|
39
|
+
promptGrowthTokensPerTurn?: number;
|
|
39
40
|
}): CandidateCostEstimate[];
|
|
40
41
|
export declare function turnCostUsdAt(estimate: FixedTurnCostEstimate | null | undefined, turns: number): number | null;
|
package/dist/cost.js
CHANGED
|
@@ -230,6 +230,7 @@ export function estimateCandidateCosts(args) {
|
|
|
230
230
|
reasoningEffort,
|
|
231
231
|
provider,
|
|
232
232
|
outputTokens: args.averageOutputTokensByModel?.[model]?.[reasoningEffort],
|
|
233
|
+
promptGrowthTokensPerTurn: args.promptGrowthTokensPerTurn ?? 0,
|
|
233
234
|
})
|
|
234
235
|
: null,
|
|
235
236
|
};
|
|
@@ -254,9 +255,12 @@ function fixedTurnCostEstimate(args) {
|
|
|
254
255
|
const longestHorizon = horizons[horizons.length - 1] ?? 0;
|
|
255
256
|
const projections = [];
|
|
256
257
|
const outputTokens = args.outputTokens;
|
|
258
|
+
// Each turn's prompt carries the previous reply and the tool results it
|
|
259
|
+
// triggered, so it grows by at least the reply.
|
|
260
|
+
const growthTokens = Math.max(outputTokens, args.promptGrowthTokensPerTurn);
|
|
257
261
|
let totalCost = 0;
|
|
258
262
|
for (let turn = 1; turn <= longestHorizon; turn += 1) {
|
|
259
|
-
const inputTokens = args.estPromptTokens + (turn - 1) *
|
|
263
|
+
const inputTokens = args.estPromptTokens + (turn - 1) * growthTokens;
|
|
260
264
|
const price = pricingForPrompt(args.price, inputTokens);
|
|
261
265
|
// Cache modeling refines a projection; it must not gate its existence.
|
|
262
266
|
// Without a known cache policy, assume no reads or writes and charge
|
|
@@ -279,9 +283,9 @@ function fixedTurnCostEstimate(args) {
|
|
|
279
283
|
provider,
|
|
280
284
|
inputTokens,
|
|
281
285
|
// Later requests can only read prefixes that appeared in prior
|
|
282
|
-
// request inputs. The
|
|
283
|
-
// next request.
|
|
284
|
-
reusablePrefix: args.estPromptTokens + (turn - 2) *
|
|
286
|
+
// request inputs. The previous turn's reply and tool results are
|
|
287
|
+
// fresh on the next request.
|
|
288
|
+
reusablePrefix: args.estPromptTokens + (turn - 2) * growthTokens,
|
|
285
289
|
outputTokens,
|
|
286
290
|
});
|
|
287
291
|
if (horizons.includes(turn)) {
|
package/dist/cost.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
+
import { type ThinkingLevelRatios } from "./thinking_level_graph.js";
|
|
1
2
|
import { type ReasoningEffort } from "./types.js";
|
|
3
|
+
export type { ThinkingLevelRatios } from "./thinking_level_graph.js";
|
|
2
4
|
export type EvalScoreForImputation = {
|
|
3
5
|
model_id: string;
|
|
4
6
|
score: number;
|
|
5
7
|
thinking_level?: ReasoningEffort | null;
|
|
8
|
+
cost_per_task_usd?: number | null;
|
|
6
9
|
};
|
|
7
10
|
export type EvalForImputation = {
|
|
8
11
|
min_score: number;
|
|
9
12
|
max_score: number;
|
|
10
13
|
scores: readonly EvalScoreForImputation[];
|
|
11
14
|
};
|
|
12
|
-
export type ThinkingLevelRatios = ReadonlyMap<string, number>;
|
|
13
15
|
export type ResolvedRouterEvalScore = {
|
|
14
16
|
score: number;
|
|
15
17
|
imputed: boolean;
|
|
16
18
|
sourceModelId?: string;
|
|
17
19
|
};
|
|
18
20
|
export declare function createThinkingLevelRatios(evals: readonly EvalForImputation[]): ThinkingLevelRatios;
|
|
19
|
-
|
|
21
|
+
type ResolveScoreArgs = {
|
|
20
22
|
scores: readonly EvalScoreForImputation[];
|
|
21
23
|
modelId: string;
|
|
22
24
|
thinkingLevel: ReasoningEffort;
|
|
@@ -24,4 +26,13 @@ export declare function resolveRouterEvalScore(args: {
|
|
|
24
26
|
maxScore: number;
|
|
25
27
|
impute?: boolean;
|
|
26
28
|
ratios?: ThinkingLevelRatios;
|
|
27
|
-
}
|
|
29
|
+
};
|
|
30
|
+
export declare function resolveRouterEvalScore(args: ResolveScoreArgs): ResolvedRouterEvalScore | null;
|
|
31
|
+
export declare function createTaskCostRatios(evals: readonly Pick<EvalForImputation, "scores">[]): ThinkingLevelRatios;
|
|
32
|
+
export declare function resolveRouterEvalTaskCost(args: {
|
|
33
|
+
scores: readonly EvalScoreForImputation[];
|
|
34
|
+
modelId: string;
|
|
35
|
+
thinkingLevel: ReasoningEffort;
|
|
36
|
+
impute?: boolean;
|
|
37
|
+
ratios?: ThinkingLevelRatios;
|
|
38
|
+
}): number | null;
|
|
@@ -1,41 +1,62 @@
|
|
|
1
|
+
import { buildThinkingLevelGraphs, thinkingLevelRatio, } from "./thinking_level_graph.js";
|
|
1
2
|
import { REASONING_EFFORTS } from "./types.js";
|
|
2
3
|
// Only named, same-family predecessors may stand in for a new model while
|
|
3
4
|
// benchmark sources catch up. Never infer a predecessor from a slug.
|
|
4
5
|
const PREVIOUS_GENERATION = {
|
|
6
|
+
"openai/gpt-6.1-sol": "openai/gpt-6-sol",
|
|
5
7
|
"openai/gpt-6-sol": "openai/gpt-5.6-sol",
|
|
6
8
|
"openai/gpt-6-luna": "openai/gpt-5.6-luna",
|
|
7
9
|
"anthropic/claude-opus-5-5": "anthropic/claude-opus-5",
|
|
10
|
+
"anthropic/claude-sonnet-5-5": "anthropic/claude-sonnet-5",
|
|
8
11
|
"anthropic/claude-fable-5-1": "anthropic/claude-fable-5",
|
|
9
12
|
"meta/muse-spark-1.3": "meta/muse-spark-1.2",
|
|
10
13
|
"zai-org/GLM-5.3": "zai-org/GLM-5.2",
|
|
11
14
|
"xai/grok-4.7": "xai/grok-4.6",
|
|
12
15
|
};
|
|
13
16
|
export function createThinkingLevelRatios(evals) {
|
|
14
|
-
const
|
|
17
|
+
const observations = [];
|
|
15
18
|
for (const evalCard of evals) {
|
|
16
19
|
const range = evalCard.max_score - evalCard.min_score;
|
|
17
20
|
if (!Number.isFinite(range) || range <= 0)
|
|
18
21
|
continue;
|
|
19
22
|
const byModel = explicitScoresByModel(evalCard.scores, evalCard.min_score, range);
|
|
20
|
-
for (const levels of byModel
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
continue;
|
|
25
|
-
const ratio = targetScore / anchorScore;
|
|
26
|
-
if (!Number.isFinite(ratio) || ratio < 0)
|
|
27
|
-
continue;
|
|
28
|
-
const key = thinkingLevelPairKey(targetLevel, anchorLevel);
|
|
29
|
-
const values = samples.get(key) ?? [];
|
|
30
|
-
values.push(ratio);
|
|
31
|
-
samples.set(key, values);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
23
|
+
for (const [modelId, levels] of byModel) {
|
|
24
|
+
const provider = modelOwner(modelId);
|
|
25
|
+
if (provider)
|
|
26
|
+
observations.push({ provider, levels });
|
|
34
27
|
}
|
|
35
28
|
}
|
|
36
|
-
return
|
|
29
|
+
return buildThinkingLevelGraphs(observations);
|
|
37
30
|
}
|
|
38
31
|
export function resolveRouterEvalScore(args) {
|
|
32
|
+
const resolved = resolveRawScore(args);
|
|
33
|
+
if (!resolved?.imputed)
|
|
34
|
+
return resolved;
|
|
35
|
+
// Include every effort, not just enabled candidates, so previews and runtime
|
|
36
|
+
// agree. Cap each estimate by future measured data, then take prefix maxima.
|
|
37
|
+
const levels = REASONING_EFFORTS.map((thinkingLevel) => resolveRawScore({ ...args, thinkingLevel }));
|
|
38
|
+
const target = REASONING_EFFORTS.indexOf(args.thinkingLevel);
|
|
39
|
+
let floor = -Infinity;
|
|
40
|
+
for (let index = 0; index <= target; index++) {
|
|
41
|
+
const row = levels[index];
|
|
42
|
+
if (!row)
|
|
43
|
+
continue;
|
|
44
|
+
if (!row.imputed) {
|
|
45
|
+
floor = Math.max(floor, row.score);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
const ceiling = Math.min(Infinity, ...levels.slice(index + 1).flatMap((next) => next && !next.imputed ? [next.score] : []));
|
|
49
|
+
// Measured regressions can make a missing interval impossible to fill.
|
|
50
|
+
if (floor > ceiling) {
|
|
51
|
+
if (index === target)
|
|
52
|
+
return null;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
floor = Math.max(floor, Math.min(row.score, ceiling));
|
|
56
|
+
}
|
|
57
|
+
return { ...resolved, score: floor };
|
|
58
|
+
}
|
|
59
|
+
function resolveRawScore(args) {
|
|
39
60
|
const modelScores = args.scores.filter((score) => score.model_id === args.modelId);
|
|
40
61
|
const exact = modelScores.find((score) => score.thinking_level === args.thinkingLevel);
|
|
41
62
|
const generic = modelScores.find((score) => score.thinking_level == null);
|
|
@@ -45,7 +66,7 @@ export function resolveRouterEvalScore(args) {
|
|
|
45
66
|
if (!(args.impute ?? false))
|
|
46
67
|
return null;
|
|
47
68
|
const ratios = args.ratios ?? new Map();
|
|
48
|
-
const score = pairwiseRatioScore(modelScores, args.thinkingLevel, args.minScore, args.maxScore, ratios);
|
|
69
|
+
const score = pairwiseRatioScore(modelScores, modelOwner(args.modelId), args.thinkingLevel, args.minScore, args.maxScore, ratios);
|
|
49
70
|
if (score !== null)
|
|
50
71
|
return { score, imputed: true };
|
|
51
72
|
// A measured current-generation score or a valid same-model level
|
|
@@ -56,12 +77,49 @@ export function resolveRouterEvalScore(args) {
|
|
|
56
77
|
const previousScores = args.scores.filter((row) => row.model_id === previous);
|
|
57
78
|
const predecessor = previousScores.find((row) => row.thinking_level === args.thinkingLevel)
|
|
58
79
|
?? previousScores.find((row) => row.thinking_level == null);
|
|
59
|
-
const borrowed = predecessor?.score ?? pairwiseRatioScore(previousScores, args.thinkingLevel, args.minScore, args.maxScore, ratios);
|
|
80
|
+
const borrowed = predecessor?.score ?? pairwiseRatioScore(previousScores, modelOwner(previous), args.thinkingLevel, args.minScore, args.maxScore, ratios);
|
|
60
81
|
return borrowed === null || borrowed === undefined
|
|
61
82
|
? null
|
|
62
83
|
: { score: borrowed, imputed: true, sourceModelId: previous };
|
|
63
84
|
}
|
|
64
|
-
|
|
85
|
+
// Cost-per-task ratios between thinking levels, learned like score ratios. A
|
|
86
|
+
// zero floor makes the shared normalization cancel, leaving raw cost ratios.
|
|
87
|
+
export function createTaskCostRatios(evals) {
|
|
88
|
+
return createThinkingLevelRatios(evals.flatMap((evalCard) => {
|
|
89
|
+
const priced = evalCard.scores.flatMap((row) => {
|
|
90
|
+
const cost = row.cost_per_task_usd;
|
|
91
|
+
return typeof cost === "number" && Number.isFinite(cost) && cost > 0
|
|
92
|
+
? [{ ...row, score: cost }]
|
|
93
|
+
: [];
|
|
94
|
+
});
|
|
95
|
+
if (priced.length === 0)
|
|
96
|
+
return [];
|
|
97
|
+
return [{ min_score: 0, max_score: Math.max(...priced.map((row) => row.score)), scores: priced }];
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
// A measured cost wins; otherwise the same model's priced levels are scaled by
|
|
101
|
+
// cost ratios. Predecessors never lend costs: prices change between
|
|
102
|
+
// generations even when scores carry over.
|
|
103
|
+
export function resolveRouterEvalTaskCost(args) {
|
|
104
|
+
const priced = args.scores.filter((row) => row.model_id === args.modelId &&
|
|
105
|
+
typeof row.cost_per_task_usd === "number" &&
|
|
106
|
+
Number.isFinite(row.cost_per_task_usd) &&
|
|
107
|
+
row.cost_per_task_usd > 0);
|
|
108
|
+
const match = priced.find((row) => row.thinking_level === args.thinkingLevel)
|
|
109
|
+
?? priced.find((row) => row.thinking_level == null);
|
|
110
|
+
if (match)
|
|
111
|
+
return match.cost_per_task_usd;
|
|
112
|
+
if (!(args.impute ?? false))
|
|
113
|
+
return null;
|
|
114
|
+
const estimates = priced.flatMap((anchor) => {
|
|
115
|
+
if (anchor.thinking_level == null)
|
|
116
|
+
return [];
|
|
117
|
+
const ratio = thinkingLevelRatio(args.ratios ?? new Map(), modelOwner(args.modelId), anchor.thinking_level, args.thinkingLevel);
|
|
118
|
+
return ratio === undefined ? [] : [anchor.cost_per_task_usd * ratio];
|
|
119
|
+
});
|
|
120
|
+
return estimates.length === 0 ? null : mean(estimates);
|
|
121
|
+
}
|
|
122
|
+
function pairwiseRatioScore(modelScores, provider, targetLevel, minScore, maxScore, ratios) {
|
|
65
123
|
const range = maxScore - minScore;
|
|
66
124
|
if (!Number.isFinite(range) || range <= 0)
|
|
67
125
|
return null;
|
|
@@ -69,7 +127,7 @@ function pairwiseRatioScore(modelScores, targetLevel, minScore, maxScore, ratios
|
|
|
69
127
|
for (const anchor of modelScores) {
|
|
70
128
|
if (anchor.thinking_level == null || !Number.isFinite(anchor.score))
|
|
71
129
|
continue;
|
|
72
|
-
const ratio =
|
|
130
|
+
const ratio = thinkingLevelRatio(ratios, provider, anchor.thinking_level, targetLevel);
|
|
73
131
|
if (ratio === undefined)
|
|
74
132
|
continue;
|
|
75
133
|
const normalizedAnchor = (anchor.score - minScore) / range;
|
|
@@ -84,43 +142,6 @@ function pairwiseRatioScore(modelScores, targetLevel, minScore, maxScore, ratios
|
|
|
84
142
|
return null;
|
|
85
143
|
return round2(minScore + mean(estimates) * range);
|
|
86
144
|
}
|
|
87
|
-
// Prefer a directly observed relationship. When none exists, compose the
|
|
88
|
-
// shortest available chains (for example medium -> max -> xhigh) and average
|
|
89
|
-
// their products. This lets sparse calibration cards connect levels without a
|
|
90
|
-
// longer chain overriding stronger direct evidence.
|
|
91
|
-
function resolveThinkingLevelRatio(ratios, targetLevel, anchorLevel) {
|
|
92
|
-
const direct = ratios.get(thinkingLevelPairKey(targetLevel, anchorLevel));
|
|
93
|
-
if (direct !== undefined)
|
|
94
|
-
return direct;
|
|
95
|
-
let frontier = new Map([
|
|
96
|
-
[anchorLevel, { sum: 1, count: 1 }],
|
|
97
|
-
]);
|
|
98
|
-
const visited = new Set([anchorLevel]);
|
|
99
|
-
while (frontier.size > 0) {
|
|
100
|
-
const next = new Map();
|
|
101
|
-
for (const [currentLevel, paths] of frontier) {
|
|
102
|
-
for (const nextLevel of REASONING_EFFORTS) {
|
|
103
|
-
if (visited.has(nextLevel))
|
|
104
|
-
continue;
|
|
105
|
-
const edge = ratios.get(thinkingLevelPairKey(nextLevel, currentLevel));
|
|
106
|
-
if (edge === undefined || !Number.isFinite(edge) || edge < 0)
|
|
107
|
-
continue;
|
|
108
|
-
const existing = next.get(nextLevel) ?? { sum: 0, count: 0 };
|
|
109
|
-
existing.sum += paths.sum * edge;
|
|
110
|
-
existing.count += paths.count;
|
|
111
|
-
next.set(nextLevel, existing);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
const targetPaths = next.get(targetLevel);
|
|
115
|
-
if (targetPaths !== undefined) {
|
|
116
|
-
return targetPaths.sum / targetPaths.count;
|
|
117
|
-
}
|
|
118
|
-
for (const level of next.keys())
|
|
119
|
-
visited.add(level);
|
|
120
|
-
frontier = next;
|
|
121
|
-
}
|
|
122
|
-
return undefined;
|
|
123
|
-
}
|
|
124
145
|
function explicitScoresByModel(rows, minScore, range) {
|
|
125
146
|
const result = new Map();
|
|
126
147
|
for (const row of rows) {
|
|
@@ -134,8 +155,11 @@ function explicitScoresByModel(rows, minScore, range) {
|
|
|
134
155
|
}
|
|
135
156
|
return result;
|
|
136
157
|
}
|
|
137
|
-
|
|
138
|
-
|
|
158
|
+
// Eval model IDs use the canonical owner's namespace, not the serving provider.
|
|
159
|
+
// Unqualified IDs have no owner evidence and cannot calibrate or use a graph.
|
|
160
|
+
function modelOwner(modelId) {
|
|
161
|
+
const slash = modelId.indexOf("/");
|
|
162
|
+
return slash > 0 ? modelId.slice(0, slash).toLowerCase() : "";
|
|
139
163
|
}
|
|
140
164
|
function mean(values) {
|
|
141
165
|
return values.reduce((total, value) => total + value, 0) / values.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval_score_imputation.js","sourceRoot":"","sources":["../src/eval_score_imputation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"eval_score_imputation.js","sourceRoot":"","sources":["../src/eval_score_imputation.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,4 +26,12 @@ export const FIXED_TURN_CACHE_HIT_PROBABILITY = {
|
|
|
26
26
|
// September 16, 2026 native Grok 4.6 probe (low effort, short intervals).
|
|
27
27
|
xai: 0.90,
|
|
28
28
|
};
|
|
29
|
+
// Tokens an agent turn adds to the next prompt (its reply plus the tool
|
|
30
|
+
// results it triggered) before a conversation has enough history to measure
|
|
31
|
+
// its own rate. October 2026 Sentry agent runs grew 600-2,000 tokens per turn,
|
|
32
|
+
// two to five times the reply alone.
|
|
33
|
+
export const DEFAULT_PROMPT_GROWTH_TOKENS_PER_TURN = 1000;
|
|
34
|
+
// Recorded turns a conversation needs before its own prompt growth replaces
|
|
35
|
+
// the default.
|
|
36
|
+
export const MIN_TURNS_FOR_OBSERVED_PROMPT_GROWTH = 3;
|
|
29
37
|
//# sourceMappingURL=fixed_turn_cost_config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixed_turn_cost_config.js","sourceRoot":"","sources":["../src/fixed_turn_cost_config.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,iBAAiB;AACjB,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAEpE,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAEzD,4EAA4E;AAC5E,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,2EAA2E;AAC3E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,uEAAuE;IACvE,yEAAyE;IACzE,IAAI,EAAE,IAAI;IACV,0EAA0E;IAC1E,0EAA0E;IAC1E,GAAG,EAAE,IAAI;CACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"fixed_turn_cost_config.js","sourceRoot":"","sources":["../src/fixed_turn_cost_config.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,iBAAiB;AACjB,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAEpE,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAEzD,4EAA4E;AAC5E,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,2EAA2E;AAC3E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAEnD,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,uEAAuE;IACvE,yEAAyE;IACzE,IAAI,EAAE,IAAI;IACV,0EAA0E;IAC1E,0EAA0E;IAC1E,GAAG,EAAE,IAAI;CACD,CAAC;AAEX,wEAAwE;AACxE,4EAA4E;AAC5E,+EAA+E;AAC/E,qCAAqC;AACrC,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,CAAC;AAE1D,4EAA4E;AAC5E,eAAe;AACf,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export { createRouter, } from "./framework_router.js";
|
|
2
2
|
export { createPiRuntime, } from "./pi_runtime.js";
|
|
3
3
|
export { createAutoRouter, } from "./auto_router.js";
|
|
4
|
-
export { createJevRouter, } from "./jev_router.js";
|
|
5
4
|
export type { RouterProtocol, RouterTextContent, RouterImageContent, RouterContent, RouterMessageItem, RouterToolCallItem, RouterToolResultItem, RouterHostedToolCallStatus, RouterHostedToolCallItem, RouterReasoningItem, RouterInputItem, RouterTool, RouterToolChoice, RouterResponseFormat, RouterRequest, RouterModelCapabilities, RouterModel, RouterCandidate, RoutingPolicyInput, RoutingPolicyDecision, RoutingPolicy, RouterSelection, RouterUsage, RouterFinishReason, RouterOutputText, RouterOutputToolCall, RouterOutputReasoning, RouterOutputHostedToolCall, RouterOutputItem, RouterCompletion, RouterStreamEvent, RouterExecutorResult, RouterExecutorInput, RouterExecutor, CreateRouterOptions, Router, RouterLease, LeaseStore, RouterHookResult, RouterHooks, RouterFallbackConfig, } from "./framework_types.js";
|
|
6
5
|
export type { CreatePiRuntimeOptions, PiApiKey, PiCredentialInput, PiModelRegistry, PiRouterModelOptions, PiRuntime, } from "./pi_runtime.js";
|
|
7
6
|
export type { CreateAutoRouterOptions } from "./auto_router.js";
|
|
8
|
-
export type { CreateJevRouterOptions } from "./jev_router.js";
|
|
9
7
|
export type { ReasoningEffort } from "./types.js";
|
|
10
8
|
export { RouterFrameworkError } from "./framework_error.js";
|
|
11
9
|
export type { RouterFrameworkErrorKind } from "./framework_error.js";
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
export { createRouter, } from "./framework_router.js";
|
|
4
4
|
export { createPiRuntime, } from "./pi_runtime.js";
|
|
5
5
|
export { createAutoRouter, } from "./auto_router.js";
|
|
6
|
-
export { createJevRouter, } from "./jev_router.js";
|
|
7
6
|
export { RouterFrameworkError } from "./framework_error.js";
|
|
8
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8EAA8E;AAC9E,OAAO,EACL,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8EAA8E;AAC9E,OAAO,EACL,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAuD1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RouterCoreError } from "./errors.js";
|
|
2
|
+
import type { JsonValue } from "./json.js";
|
|
3
|
+
export declare const DEFAULT_JEV_ENDPOINT = "https://api.typesafe.ai/v1";
|
|
4
|
+
export declare const DEFAULT_JEV_MODEL = "jev-latest";
|
|
5
|
+
export type JevConfig = {
|
|
6
|
+
apiKey: string;
|
|
7
|
+
endpoint?: string;
|
|
8
|
+
model?: string;
|
|
9
|
+
timeoutMs?: number;
|
|
10
|
+
};
|
|
11
|
+
export type ResolvedJevConfig = {
|
|
12
|
+
apiKey: string;
|
|
13
|
+
endpoint: string;
|
|
14
|
+
model: string;
|
|
15
|
+
timeoutMs: number;
|
|
16
|
+
};
|
|
17
|
+
export type JevTokenUsage = {
|
|
18
|
+
input_tokens: number;
|
|
19
|
+
output_tokens: number;
|
|
20
|
+
};
|
|
21
|
+
export declare class JevOutputError extends RouterCoreError {
|
|
22
|
+
readonly usage: JevTokenUsage | null;
|
|
23
|
+
constructor(message: string, code: string, usage?: JevTokenUsage | null);
|
|
24
|
+
}
|
|
25
|
+
export declare function resolveJevConfig(input: JevConfig): ResolvedJevConfig;
|
|
26
|
+
export declare function postSystemOne(request: {
|
|
27
|
+
model: string;
|
|
28
|
+
state: JsonValue;
|
|
29
|
+
questions: Record<string, unknown>;
|
|
30
|
+
}, config: ResolvedJevConfig, signal: AbortSignal | undefined): Promise<unknown>;
|
|
31
|
+
export declare function invalidJevResponse(message: string, usage?: JevTokenUsage | null): JevOutputError;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// TypeSafe Jev System One transport. Jev (docs.typesafe.ai) is a System One
|
|
2
|
+
// model: it answers typed questions about a state instead of generating
|
|
3
|
+
// text, and the answers come back as calibrated probabilities. Callers own
|
|
4
|
+
// the questions; this module owns the connection, retries, and errors.
|
|
5
|
+
import { RouterCoreError } from "./errors.js";
|
|
6
|
+
import { RouterFrameworkError } from "./framework_error.js";
|
|
7
|
+
export const DEFAULT_JEV_ENDPOINT = "https://api.typesafe.ai/v1";
|
|
8
|
+
export const DEFAULT_JEV_MODEL = "jev-latest";
|
|
9
|
+
const DEFAULT_JEV_TIMEOUT_MS = 30_000;
|
|
10
|
+
// Rate-limit and overload responses get one backoff retry; anything else is
|
|
11
|
+
// the caller's failure to surface.
|
|
12
|
+
const JEV_RETRY_STATUSES = new Set([429, 529]);
|
|
13
|
+
const JEV_ATTEMPTS = 2;
|
|
14
|
+
const JEV_RETRY_DELAY_MS = 500;
|
|
15
|
+
const JEV_RETRY_MAX_DELAY_MS = 5_000;
|
|
16
|
+
// Jev answered 200 with a body the caller cannot use. Token counts are on
|
|
17
|
+
// the body even then, so hosts can still bill the call.
|
|
18
|
+
export class JevOutputError extends RouterCoreError {
|
|
19
|
+
usage;
|
|
20
|
+
constructor(message, code, usage = null) {
|
|
21
|
+
super("selector_output", message, code);
|
|
22
|
+
this.name = "JevOutputError";
|
|
23
|
+
this.usage = usage;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function resolveJevConfig(input) {
|
|
27
|
+
const apiKey = input.apiKey?.trim() ?? "";
|
|
28
|
+
if (!apiKey)
|
|
29
|
+
throw configurationError("Jev requires an apiKey.", "apiKey");
|
|
30
|
+
const endpoint = (input.endpoint ?? DEFAULT_JEV_ENDPOINT).trim().replace(/\/+$/, "");
|
|
31
|
+
let url;
|
|
32
|
+
try {
|
|
33
|
+
url = new URL(endpoint);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
throw configurationError("Jev endpoint must be a valid URL.", "endpoint");
|
|
37
|
+
}
|
|
38
|
+
if ((url.protocol !== "https:" && url.protocol !== "http:") || url.username || url.password) {
|
|
39
|
+
throw configurationError("Jev endpoint must be an HTTP(S) URL without embedded credentials.", "endpoint");
|
|
40
|
+
}
|
|
41
|
+
const model = (input.model ?? DEFAULT_JEV_MODEL).trim();
|
|
42
|
+
if (!model)
|
|
43
|
+
throw configurationError("Jev model must not be empty.", "model");
|
|
44
|
+
const timeoutMs = input.timeoutMs ?? DEFAULT_JEV_TIMEOUT_MS;
|
|
45
|
+
if (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {
|
|
46
|
+
throw configurationError("Jev timeoutMs must be a positive integer.", "timeoutMs");
|
|
47
|
+
}
|
|
48
|
+
return { apiKey, endpoint, model, timeoutMs };
|
|
49
|
+
}
|
|
50
|
+
// One System One call: POSTs the request, retries once on rate limits and
|
|
51
|
+
// overload, and returns the parsed body for the caller to interpret.
|
|
52
|
+
export async function postSystemOne(request, config, signal) {
|
|
53
|
+
for (let attempt = 1;; attempt += 1) {
|
|
54
|
+
const response = await fetchSystemOne(request, config, signal);
|
|
55
|
+
if (response.ok) {
|
|
56
|
+
try {
|
|
57
|
+
return await response.json();
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
throw invalidJevResponse("Jev returned a non-JSON response body.");
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (attempt < JEV_ATTEMPTS && JEV_RETRY_STATUSES.has(response.status)) {
|
|
64
|
+
await delay(retryDelayMs(response.headers.get("retry-after")), signal);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const body = await response.text().catch(() => "");
|
|
68
|
+
throw new RouterFrameworkError("policy", `Jev returned HTTP ${response.status}: ${body}`, "jev_http_error");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function invalidJevResponse(message, usage = null) {
|
|
72
|
+
return new JevOutputError(message, "selector_invalid_response", usage);
|
|
73
|
+
}
|
|
74
|
+
async function fetchSystemOne(request, config, signal) {
|
|
75
|
+
const timeout = AbortSignal.timeout(config.timeoutMs);
|
|
76
|
+
try {
|
|
77
|
+
return await fetch(`${config.endpoint}/systemone`, {
|
|
78
|
+
method: "POST",
|
|
79
|
+
headers: {
|
|
80
|
+
Authorization: `Bearer ${config.apiKey}`,
|
|
81
|
+
"Content-Type": "application/json",
|
|
82
|
+
},
|
|
83
|
+
body: JSON.stringify(request),
|
|
84
|
+
signal: signal === undefined ? timeout : AbortSignal.any([signal, timeout]),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
if (signal?.aborted)
|
|
89
|
+
throw error;
|
|
90
|
+
throw new RouterFrameworkError("policy", `Jev request failed: ${error instanceof Error ? error.message : String(error)}`, "jev_request_failed", undefined, { cause: error });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function retryDelayMs(retryAfter) {
|
|
94
|
+
const seconds = Number(retryAfter);
|
|
95
|
+
if (retryAfter === null || !Number.isFinite(seconds) || seconds <= 0)
|
|
96
|
+
return JEV_RETRY_DELAY_MS;
|
|
97
|
+
return Math.min(seconds * 1000, JEV_RETRY_MAX_DELAY_MS);
|
|
98
|
+
}
|
|
99
|
+
function delay(ms, signal) {
|
|
100
|
+
return new Promise((resolve, reject) => {
|
|
101
|
+
const timer = setTimeout(() => {
|
|
102
|
+
signal?.removeEventListener("abort", onAbort);
|
|
103
|
+
resolve();
|
|
104
|
+
}, ms);
|
|
105
|
+
const onAbort = () => {
|
|
106
|
+
clearTimeout(timer);
|
|
107
|
+
reject(signal?.reason);
|
|
108
|
+
};
|
|
109
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function configurationError(message, param) {
|
|
113
|
+
return new RouterCoreError("configuration", message, "jev_configuration_invalid", param);
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=jev_client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jev_client.js","sourceRoot":"","sources":["../src/jev_client.ts"],"names":[],"mappings":"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"}
|