@mupt-ai/dari-router 0.1.0 → 0.2.0
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 +89 -60
- package/dist/anonymous_actions.js +32 -10
- package/dist/anonymous_actions.js.map +1 -1
- package/dist/auto_router.d.ts +4 -1
- package/dist/auto_router.js +3 -3
- package/dist/auto_router.js.map +1 -1
- package/dist/cache_behavior.d.ts +8 -6
- package/dist/cache_behavior.js +56 -30
- package/dist/cache_behavior.js.map +1 -1
- package/dist/cache_scope.d.ts +2 -2
- package/dist/cache_scope.js +23 -18
- package/dist/cache_scope.js.map +1 -1
- package/dist/cost.d.ts +3 -2
- package/dist/cost.js +32 -23
- package/dist/cost.js.map +1 -1
- package/dist/dari_policy.d.ts +8 -2
- package/dist/dari_policy.js +39 -1
- package/dist/dari_policy.js.map +1 -1
- package/dist/eval_score_imputation.d.ts +26 -0
- package/dist/eval_score_imputation.js +83 -0
- package/dist/eval_score_imputation.js.map +1 -0
- package/dist/framework_lifecycle.d.ts +1 -1
- package/dist/framework_lifecycle.js +4 -1
- package/dist/framework_lifecycle.js.map +1 -1
- package/dist/framework_models.js +6 -0
- package/dist/framework_models.js.map +1 -1
- package/dist/framework_router.js +22 -11
- package/dist/framework_router.js.map +1 -1
- package/dist/framework_types.d.ts +9 -5
- package/dist/index.d.ts +9 -35
- package/dist/index.js +6 -37
- package/dist/index.js.map +1 -1
- package/dist/model_ids.js +4 -0
- package/dist/model_ids.js.map +1 -1
- package/dist/pi_runtime.js +19 -11
- package/dist/pi_runtime.js.map +1 -1
- package/dist/pi_types.d.ts +2 -2
- package/{src/index.ts → dist/policy-engine.d.ts} +2 -14
- package/dist/policy-engine.js +25 -0
- package/dist/policy-engine.js.map +1 -0
- package/dist/prompts.d.ts +1 -1
- package/dist/prompts.js +3 -3
- package/dist/prompts.js.map +1 -1
- package/dist/protocols.d.ts +5 -0
- package/dist/protocols.js +6 -0
- package/dist/protocols.js.map +1 -0
- package/dist/route.d.ts +3 -4
- package/dist/route.js +17 -10
- package/dist/route.js.map +1 -1
- package/dist/selector_input.d.ts +1 -0
- package/dist/selector_input.js +66 -78
- package/dist/selector_input.js.map +1 -1
- package/dist/selector_parse.d.ts +1 -0
- package/dist/selector_parse.js +2 -1
- package/dist/selector_parse.js.map +1 -1
- package/dist/selector_request.d.ts +1 -0
- package/dist/selector_request.js +1 -0
- package/dist/selector_request.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/examples/auto_router.ts +40 -0
- package/examples/basic_route.ts +130 -0
- package/examples/create_router.ts +114 -0
- package/examples/dari_policy.ts +86 -0
- package/examples/lease_stores.ts +159 -0
- package/examples/managed/README.md +50 -0
- package/examples/managed/byok-router/README.md +13 -0
- package/examples/managed/byok-router/router.yml +13 -0
- package/examples/managed/custom-rules-router/README.md +12 -0
- package/examples/managed/custom-rules-router/router.yml +24 -0
- package/examples/managed/eval-router/README.md +18 -0
- package/examples/managed/eval-router/router.yml +11 -0
- package/examples/managed/slm-router/README.md +12 -0
- package/examples/managed/slm-router/router.yml +8 -0
- package/examples/pi_runtime.ts +55 -0
- package/package.json +26 -7
- package/src/anonymous_actions.ts +0 -434
- package/src/auto_router.ts +0 -95
- package/src/cache_behavior.ts +0 -130
- package/src/cache_scope.ts +0 -58
- package/src/cache_switch_decision.ts +0 -53
- package/src/candidate_pruning.ts +0 -257
- package/src/candidate_resolution.ts +0 -208
- package/src/compatibility.ts +0 -162
- package/src/continuation_state.ts +0 -368
- package/src/cost.ts +0 -455
- package/src/dari_policy.ts +0 -360
- package/src/errors.ts +0 -27
- package/src/fingerprint.ts +0 -148
- package/src/fixed_turn_cost_config.ts +0 -24
- package/src/framework_error.ts +0 -38
- package/src/framework_lifecycle.ts +0 -74
- package/src/framework_models.ts +0 -186
- package/src/framework_router.ts +0 -490
- package/src/framework_streaming.ts +0 -613
- package/src/framework_types.ts +0 -372
- package/src/framework_validation.ts +0 -235
- package/src/json.ts +0 -43
- package/src/model_ids.ts +0 -29
- package/src/pi_context.ts +0 -251
- package/src/pi_options.ts +0 -295
- package/src/pi_output.ts +0 -387
- package/src/pi_reasoning_signature.ts +0 -41
- package/src/pi_runtime.ts +0 -238
- package/src/pi_types.ts +0 -71
- package/src/portable_reasoning_state.ts +0 -129
- package/src/previous_decision.ts +0 -109
- package/src/prompts.ts +0 -69
- package/src/protocol_anthropic.ts +0 -571
- package/src/protocol_openai_chat.ts +0 -645
- package/src/protocol_validation.ts +0 -202
- package/src/route.ts +0 -490
- package/src/routing_history.ts +0 -157
- package/src/selector_input.ts +0 -246
- package/src/selector_parse.ts +0 -138
- package/src/selector_request.ts +0 -130
- package/src/selector_truncation.ts +0 -48
- package/src/selector_wire.ts +0 -167
- package/src/types.ts +0 -231
package/dist/framework_router.js
CHANGED
|
@@ -13,11 +13,22 @@ export function createRouter(options) {
|
|
|
13
13
|
if (options.generateId !== undefined && typeof options.generateId !== "function") {
|
|
14
14
|
throw new RouterFrameworkError("configuration", "generateId must be a function.", "id_generator_invalid");
|
|
15
15
|
}
|
|
16
|
+
const defaultExecutorName = "default";
|
|
17
|
+
if (options.executors && Object.hasOwn(options.executors, defaultExecutorName)) {
|
|
18
|
+
throw new RouterFrameworkError("configuration", `executors cannot use the reserved name '${defaultExecutorName}'.`, "executor_name_reserved");
|
|
19
|
+
}
|
|
16
20
|
const executors = {
|
|
17
|
-
...(options.
|
|
21
|
+
...(options.executor === undefined ? {} : { [defaultExecutorName]: options.executor }),
|
|
18
22
|
...(options.executors ?? {}),
|
|
19
23
|
};
|
|
20
|
-
const modelDeclarations = options.models.map((model) =>
|
|
24
|
+
const modelDeclarations = options.models.map((model) => {
|
|
25
|
+
if (model.executor !== undefined)
|
|
26
|
+
return model;
|
|
27
|
+
if (options.executor === undefined) {
|
|
28
|
+
throw new RouterFrameworkError("configuration", `Model '${model.id}' does not name an executor and no default executor was supplied.`, "executor_missing");
|
|
29
|
+
}
|
|
30
|
+
return { ...model, executor: defaultExecutorName };
|
|
31
|
+
});
|
|
21
32
|
const models = Object.freeze(normalizeRouterModels(modelDeclarations, executors));
|
|
22
33
|
// In-memory lease commitments keyed by request cacheKey. When a policy
|
|
23
34
|
// returns leaseTurnsRemaining > 0, the router serves the same model for
|
|
@@ -67,11 +78,9 @@ export function createRouter(options) {
|
|
|
67
78
|
throwIfAborted(signal);
|
|
68
79
|
return validatePolicyDecision(chosen, candidates);
|
|
69
80
|
};
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
// turns or skipping committed leases.
|
|
74
|
-
const selectWithLeases = async (request, signal) => {
|
|
81
|
+
// Authoritative serving selection: consumes and commits leases keyed by
|
|
82
|
+
// cacheKey. Stateless inspection uses evaluatePolicy/selectWithoutLeases.
|
|
83
|
+
const select = async (request, signal = new AbortController().signal) => {
|
|
75
84
|
throwIfAborted(signal);
|
|
76
85
|
const candidates = eligibleRouterModels(request, models);
|
|
77
86
|
// Lease short-circuit: if a prior decision committed turns to a model that
|
|
@@ -98,7 +107,7 @@ export function createRouter(options) {
|
|
|
98
107
|
expiresAt: now + LEASE_TTL_MS,
|
|
99
108
|
}));
|
|
100
109
|
}
|
|
101
|
-
|
|
110
|
+
const selection = {
|
|
102
111
|
decision: {
|
|
103
112
|
selectedModel: candidate.id,
|
|
104
113
|
reasoningEffort: lease.reasoningEffort,
|
|
@@ -107,6 +116,8 @@ export function createRouter(options) {
|
|
|
107
116
|
},
|
|
108
117
|
candidates,
|
|
109
118
|
};
|
|
119
|
+
safeHook(() => hooks.onSelection?.(selection, request));
|
|
120
|
+
return selection;
|
|
110
121
|
}
|
|
111
122
|
await tryLeaseStore(() => leaseStore.delete(leaseKey));
|
|
112
123
|
}
|
|
@@ -124,6 +135,7 @@ export function createRouter(options) {
|
|
|
124
135
|
expiresAt: Date.now() + LEASE_TTL_MS,
|
|
125
136
|
}));
|
|
126
137
|
}
|
|
138
|
+
safeHook(() => hooks.onSelection?.(selection, request));
|
|
127
139
|
return selection;
|
|
128
140
|
};
|
|
129
141
|
const fetch = async (request) => {
|
|
@@ -158,9 +170,8 @@ export function createRouter(options) {
|
|
|
158
170
|
const normalized = protocol === "openai_chat_completions"
|
|
159
171
|
? openAIChatRequest(payload)
|
|
160
172
|
: anthropicRequest(payload);
|
|
161
|
-
const selection = await
|
|
173
|
+
const selection = await select(normalized, controller.signal);
|
|
162
174
|
effectiveSelection = selection;
|
|
163
|
-
safeHook(() => hooks.onSelection?.(selection, normalized));
|
|
164
175
|
const model = selection.candidates.find((candidate) => candidate.id === selection.decision.selectedModel);
|
|
165
176
|
// eligibleRouterModels guarantees each candidate's default effort is in
|
|
166
177
|
// its (filtered) reasoningEfforts.
|
|
@@ -300,7 +311,7 @@ export function createRouter(options) {
|
|
|
300
311
|
request.signal.removeEventListener("abort", abort);
|
|
301
312
|
}
|
|
302
313
|
};
|
|
303
|
-
return { models, select: selectWithoutLeases, fetch };
|
|
314
|
+
return { models, select, evaluatePolicy: selectWithoutLeases, fetch };
|
|
304
315
|
}
|
|
305
316
|
function protocolFor(request) {
|
|
306
317
|
const path = new URL(request.url).pathname.replace(/\/+$/, "");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework_router.js","sourceRoot":"","sources":["../src/framework_router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"framework_router.js","sourceRoot":"","sources":["../src/framework_router.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,6 +105,7 @@ export type RouterModel<Metadata = unknown> = {
|
|
|
105
105
|
id: string;
|
|
106
106
|
executor?: string;
|
|
107
107
|
provider?: string;
|
|
108
|
+
providerModelId?: string;
|
|
108
109
|
api?: string;
|
|
109
110
|
reasoningEfforts?: readonly ReasoningEffort[];
|
|
110
111
|
defaultReasoningEffort?: ReasoningEffort;
|
|
@@ -115,6 +116,7 @@ export type RouterCandidate<Metadata = unknown> = {
|
|
|
115
116
|
id: string;
|
|
116
117
|
executor: string;
|
|
117
118
|
provider: string;
|
|
119
|
+
providerModelId?: string;
|
|
118
120
|
api: string;
|
|
119
121
|
reasoningEfforts: readonly ReasoningEffort[];
|
|
120
122
|
defaultReasoningEffort: ReasoningEffort;
|
|
@@ -236,7 +238,7 @@ export type RouterExecutor<Metadata = unknown> = {
|
|
|
236
238
|
export type CreateRouterOptions<Metadata = unknown> = {
|
|
237
239
|
models: readonly RouterModel<Metadata>[];
|
|
238
240
|
policy: RoutingPolicy<Metadata>;
|
|
239
|
-
|
|
241
|
+
executor?: RouterExecutor<Metadata>;
|
|
240
242
|
executors?: Readonly<Record<string, RouterExecutor<Metadata>>>;
|
|
241
243
|
generateId?: () => string;
|
|
242
244
|
leaseStore?: LeaseStore;
|
|
@@ -246,6 +248,7 @@ export type CreateRouterOptions<Metadata = unknown> = {
|
|
|
246
248
|
export type Router<Metadata = unknown> = {
|
|
247
249
|
readonly models: readonly RouterCandidate<Metadata>[];
|
|
248
250
|
select(request: RouterRequest, signal?: AbortSignal): Promise<RouterSelection<Metadata>>;
|
|
251
|
+
evaluatePolicy(request: RouterRequest, signal?: AbortSignal): Promise<RouterSelection<Metadata>>;
|
|
249
252
|
fetch(request: Request): Promise<Response>;
|
|
250
253
|
};
|
|
251
254
|
export type RouterLease = {
|
|
@@ -260,11 +263,12 @@ export interface LeaseStore {
|
|
|
260
263
|
delete(cacheKey: string): void | Promise<void>;
|
|
261
264
|
pruneExpired(nowMs: number): void | Promise<void>;
|
|
262
265
|
}
|
|
266
|
+
export type RouterHookResult = void | Promise<void>;
|
|
263
267
|
export type RouterHooks<Metadata = unknown> = {
|
|
264
|
-
onSelection?(selection: RouterSelection<Metadata>, request: RouterRequest):
|
|
265
|
-
onCompletion?(completion: RouterCompletion, selection: RouterSelection<Metadata>):
|
|
266
|
-
onStreamClose?(completion: RouterCompletion | null, selection: RouterSelection<Metadata>, error: RouterFrameworkError | null):
|
|
267
|
-
onError?(error: RouterFrameworkError, selection: RouterSelection<Metadata>):
|
|
268
|
+
onSelection?(selection: RouterSelection<Metadata>, request: RouterRequest): RouterHookResult;
|
|
269
|
+
onCompletion?(completion: RouterCompletion, selection: RouterSelection<Metadata>): RouterHookResult;
|
|
270
|
+
onStreamClose?(completion: RouterCompletion | null, selection: RouterSelection<Metadata>, error: RouterFrameworkError | null): RouterHookResult;
|
|
271
|
+
onError?(error: RouterFrameworkError, selection: RouterSelection<Metadata>): RouterHookResult;
|
|
268
272
|
};
|
|
269
273
|
export type RouterFallbackConfig = {
|
|
270
274
|
enabled?: boolean;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,35 +1,9 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export * from "./compatibility.js";
|
|
11
|
-
export * from "./cache_switch_decision.js";
|
|
12
|
-
export * from "./candidate_pruning.js";
|
|
13
|
-
export * from "./candidate_resolution.js";
|
|
14
|
-
export * from "./previous_decision.js";
|
|
15
|
-
export * from "./prompts.js";
|
|
16
|
-
export * from "./selector_input.js";
|
|
17
|
-
export * from "./selector_truncation.js";
|
|
18
|
-
export * from "./routing_history.js";
|
|
19
|
-
export * from "./selector_request.js";
|
|
20
|
-
export * from "./selector_wire.js";
|
|
21
|
-
export * from "./selector_parse.js";
|
|
22
|
-
export * from "./anonymous_actions.js";
|
|
23
|
-
export * from "./route.js";
|
|
24
|
-
export * from "./framework_error.js";
|
|
25
|
-
export * from "./framework_types.js";
|
|
26
|
-
export * from "./continuation_state.js";
|
|
27
|
-
export * from "./portable_reasoning_state.js";
|
|
28
|
-
export * from "./framework_models.js";
|
|
29
|
-
export * from "./framework_router.js";
|
|
30
|
-
export * from "./pi_runtime.js";
|
|
31
|
-
export * from "./pi_reasoning_signature.js";
|
|
32
|
-
export { openAIChatRequest, openAIChatResponse } from "./protocol_openai_chat.js";
|
|
33
|
-
export { anthropicRequest, anthropicResponse } from "./protocol_anthropic.js";
|
|
34
|
-
export * from "./dari_policy.js";
|
|
35
|
-
export * from "./auto_router.js";
|
|
1
|
+
export { createRouter, } from "./framework_router.js";
|
|
2
|
+
export { createPiRuntime, } from "./pi_runtime.js";
|
|
3
|
+
export { createAutoRouter, } from "./auto_router.js";
|
|
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";
|
|
5
|
+
export type { CreatePiRuntimeOptions, PiApiKey, PiCredentialInput, PiModelRegistry, PiRouterModelOptions, PiRuntime, } from "./pi_runtime.js";
|
|
6
|
+
export type { CreateAutoRouterOptions } from "./auto_router.js";
|
|
7
|
+
export type { ReasoningEffort } from "./types.js";
|
|
8
|
+
export { RouterFrameworkError } from "./framework_error.js";
|
|
9
|
+
export type { RouterFrameworkErrorKind } from "./framework_error.js";
|
package/dist/index.js
CHANGED
|
@@ -1,38 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export * from "./fixed_turn_cost_config.js";
|
|
8
|
-
export * from "./cost.js";
|
|
9
|
-
export * from "./fingerprint.js";
|
|
10
|
-
export * from "./compatibility.js";
|
|
11
|
-
export * from "./cache_switch_decision.js";
|
|
12
|
-
export * from "./candidate_pruning.js";
|
|
13
|
-
export * from "./candidate_resolution.js";
|
|
14
|
-
export * from "./previous_decision.js";
|
|
15
|
-
export * from "./prompts.js";
|
|
16
|
-
export * from "./selector_input.js";
|
|
17
|
-
export * from "./selector_truncation.js";
|
|
18
|
-
export * from "./routing_history.js";
|
|
19
|
-
export * from "./selector_request.js";
|
|
20
|
-
export * from "./selector_wire.js";
|
|
21
|
-
export * from "./selector_parse.js";
|
|
22
|
-
export * from "./anonymous_actions.js";
|
|
23
|
-
export * from "./route.js";
|
|
24
|
-
export * from "./framework_error.js";
|
|
25
|
-
export * from "./framework_types.js";
|
|
26
|
-
export * from "./continuation_state.js";
|
|
27
|
-
export * from "./portable_reasoning_state.js";
|
|
28
|
-
export * from "./framework_models.js";
|
|
29
|
-
export * from "./framework_router.js";
|
|
30
|
-
export * from "./pi_runtime.js";
|
|
31
|
-
export * from "./pi_reasoning_signature.js";
|
|
32
|
-
// The protocol modules' SSE stream writers are framework_router plumbing, not
|
|
33
|
-
// public API; only the request/response codecs are re-exported.
|
|
34
|
-
export { openAIChatRequest, openAIChatResponse } from "./protocol_openai_chat.js";
|
|
35
|
-
export { anthropicRequest, anthropicResponse } from "./protocol_anthropic.js";
|
|
36
|
-
export * from "./dari_policy.js";
|
|
37
|
-
export * from "./auto_router.js";
|
|
1
|
+
// Stable framework API. Advanced policy-engine and protocol helpers live in
|
|
2
|
+
// explicit subpath exports so the root remains discoverable and refactorable.
|
|
3
|
+
export { createRouter, } from "./framework_router.js";
|
|
4
|
+
export { createPiRuntime, } from "./pi_runtime.js";
|
|
5
|
+
export { createAutoRouter, } from "./auto_router.js";
|
|
6
|
+
export { RouterFrameworkError } from "./framework_error.js";
|
|
38
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,
|
|
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"}
|
package/dist/model_ids.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { RouterCoreError } from "./errors.js";
|
|
2
2
|
const PROVIDER_PATTERN = /^[a-z][a-z0-9_.-]{0,119}$/;
|
|
3
|
+
// Legacy inference for provider-prefixed model ids. Canonical model ids may
|
|
4
|
+
// instead name their owner; explicit provider metadata must win when present.
|
|
3
5
|
export function providerForModel(model) {
|
|
4
6
|
const slash = model.indexOf("/");
|
|
5
7
|
if (slash <= 0) {
|
|
@@ -11,6 +13,8 @@ export function providerForModel(model) {
|
|
|
11
13
|
}
|
|
12
14
|
return provider;
|
|
13
15
|
}
|
|
16
|
+
// Legacy companion to providerForModel for ids whose first segment is the
|
|
17
|
+
// execution provider. Provider-neutral declarations use providerModelId.
|
|
14
18
|
export function nativeModelId(model) {
|
|
15
19
|
return model.slice(`${providerForModel(model)}/`.length);
|
|
16
20
|
}
|
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,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,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"}
|
|
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"}
|
package/dist/pi_runtime.js
CHANGED
|
@@ -17,8 +17,9 @@ export async function createPiRuntime(options) {
|
|
|
17
17
|
validateRuntimeOptions(options);
|
|
18
18
|
const dependencies = await piDependencies(options.registry);
|
|
19
19
|
const model = (id, overrides = {}) => {
|
|
20
|
-
const provider = modelProvider(id);
|
|
21
|
-
const
|
|
20
|
+
const provider = overrides.provider ?? modelProvider(id);
|
|
21
|
+
const providerModelId = overrides.providerModelId ?? legacyNativeModelId(id, provider);
|
|
22
|
+
const registered = registeredModel(dependencies.registry, provider, providerModelId, id);
|
|
22
23
|
const reasoningEfforts = overrides.reasoningEfforts === undefined
|
|
23
24
|
? dependencies.supportedThinkingLevels(registered)
|
|
24
25
|
: [...overrides.reasoningEfforts];
|
|
@@ -26,8 +27,8 @@ export async function createPiRuntime(options) {
|
|
|
26
27
|
?? (reasoningEfforts.includes("off") ? "off" : reasoningEfforts[0]);
|
|
27
28
|
return {
|
|
28
29
|
id,
|
|
29
|
-
executor: "pi",
|
|
30
30
|
provider,
|
|
31
|
+
providerModelId,
|
|
31
32
|
api: registered.api,
|
|
32
33
|
reasoningEfforts,
|
|
33
34
|
...(defaultReasoningEffort === undefined ? {} : { defaultReasoningEffort }),
|
|
@@ -42,7 +43,7 @@ export async function createPiRuntime(options) {
|
|
|
42
43
|
};
|
|
43
44
|
};
|
|
44
45
|
const run = async (execution) => {
|
|
45
|
-
const registered = registeredModel(dependencies.registry, execution.candidate.provider, execution.candidate.id);
|
|
46
|
+
const registered = registeredModel(dependencies.registry, execution.candidate.provider, execution.candidate.providerModelId, execution.candidate.id);
|
|
46
47
|
if (registered.api !== execution.candidate.api) {
|
|
47
48
|
throw new RouterFrameworkError("configuration", `Model '${execution.candidate.id}' declares API '${execution.candidate.api}' but Pi uses '${registered.api}'.`, "pi_model_api_mismatch");
|
|
48
49
|
}
|
|
@@ -84,6 +85,7 @@ export async function createPiRuntime(options) {
|
|
|
84
85
|
candidate: {
|
|
85
86
|
id: candidate.id,
|
|
86
87
|
provider: candidate.provider,
|
|
88
|
+
providerModelId: candidate.providerModelId,
|
|
87
89
|
api: candidate.api,
|
|
88
90
|
},
|
|
89
91
|
reasoningEffort: normalized.reasoning?.effort ?? candidate.defaultReasoningEffort ?? "off",
|
|
@@ -132,13 +134,19 @@ function modelProvider(id) {
|
|
|
132
134
|
throw new RouterFrameworkError("configuration", `Pi model '${id}' must include a provider prefix.`, "pi_model_provider_missing", undefined, { cause: error });
|
|
133
135
|
}
|
|
134
136
|
}
|
|
135
|
-
function
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
function legacyNativeModelId(id, provider) {
|
|
138
|
+
const prefix = `${provider.toLowerCase()}/`;
|
|
139
|
+
return id.toLowerCase().startsWith(prefix) ? id.slice(prefix.length) : id;
|
|
140
|
+
}
|
|
141
|
+
function registeredModel(registry, provider, providerModelId, id) {
|
|
142
|
+
let nativeId = providerModelId;
|
|
143
|
+
if (nativeId === undefined) {
|
|
144
|
+
try {
|
|
145
|
+
nativeId = nativeModelId(id);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
nativeId = id;
|
|
149
|
+
}
|
|
142
150
|
}
|
|
143
151
|
const registered = registry.getModel(provider, nativeId) ?? registry.getModel(provider, id);
|
|
144
152
|
if (registered === undefined) {
|
package/dist/pi_runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi_runtime.js","sourceRoot":"","sources":["../src/pi_runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA8B9D,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,oBAAoB;IACpB,wBAAwB;IACxB,sBAAsB;IACtB,eAAe;IACf,uBAAuB;IACvB,oBAAoB;IACpB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG,CACZ,EAAU,EACV,YAAqD,EAAE,EAChC,EAAE;QACzB,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pi_runtime.js","sourceRoot":"","sources":["../src/pi_runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/pi_types.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export type CreatePiRuntimeOptions = {
|
|
|
20
20
|
timeoutMs?: number;
|
|
21
21
|
maxRetries?: number;
|
|
22
22
|
};
|
|
23
|
-
export type PiRouterModelOptions<Metadata = unknown> = Omit<RouterModel<Metadata>, "id" | "executor" | "
|
|
23
|
+
export type PiRouterModelOptions<Metadata = unknown> = Omit<RouterModel<Metadata>, "id" | "executor" | "api">;
|
|
24
24
|
export type PiRuntime = {
|
|
25
25
|
model<Metadata = unknown>(id: string, options?: Partial<PiRouterModelOptions<Metadata>>): RouterModel<Metadata>;
|
|
26
26
|
execute<Metadata>(input: RouterExecutorInput<Metadata>): Promise<RouterExecutorResult>;
|
|
@@ -28,7 +28,7 @@ export type PiRuntime = {
|
|
|
28
28
|
};
|
|
29
29
|
export type PiExecution = {
|
|
30
30
|
request: RouterRequest;
|
|
31
|
-
candidate: Pick<RouterCandidate, "id" | "provider" | "api">;
|
|
31
|
+
candidate: Pick<RouterCandidate, "id" | "provider" | "providerModelId" | "api">;
|
|
32
32
|
reasoningEffort: ReasoningEffort;
|
|
33
33
|
signal: AbortSignal;
|
|
34
34
|
purpose: PiCredentialInput["purpose"];
|
|
@@ -21,17 +21,5 @@ export * from "./selector_wire.js";
|
|
|
21
21
|
export * from "./selector_parse.js";
|
|
22
22
|
export * from "./anonymous_actions.js";
|
|
23
23
|
export * from "./route.js";
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export * from "./continuation_state.js";
|
|
27
|
-
export * from "./portable_reasoning_state.js";
|
|
28
|
-
export * from "./framework_models.js";
|
|
29
|
-
export * from "./framework_router.js";
|
|
30
|
-
export * from "./pi_runtime.js";
|
|
31
|
-
export * from "./pi_reasoning_signature.js";
|
|
32
|
-
// The protocol modules' SSE stream writers are framework_router plumbing, not
|
|
33
|
-
// public API; only the request/response codecs are re-exported.
|
|
34
|
-
export { openAIChatRequest, openAIChatResponse } from "./protocol_openai_chat.js";
|
|
35
|
-
export { anthropicRequest, anthropicResponse } from "./protocol_anthropic.js";
|
|
36
|
-
export * from "./dari_policy.js";
|
|
37
|
-
export * from "./auto_router.js";
|
|
24
|
+
export { createDariRoutingPolicy } from "./dari_policy.js";
|
|
25
|
+
export type { DariPolicyDetails, DariPolicyState, DariRoutingPolicyOptions } from "./dari_policy.js";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export * from "./types.js";
|
|
2
|
+
export * from "./errors.js";
|
|
3
|
+
export * from "./json.js";
|
|
4
|
+
export * from "./model_ids.js";
|
|
5
|
+
export * from "./cache_behavior.js";
|
|
6
|
+
export * from "./cache_scope.js";
|
|
7
|
+
export * from "./fixed_turn_cost_config.js";
|
|
8
|
+
export * from "./cost.js";
|
|
9
|
+
export * from "./fingerprint.js";
|
|
10
|
+
export * from "./compatibility.js";
|
|
11
|
+
export * from "./cache_switch_decision.js";
|
|
12
|
+
export * from "./candidate_pruning.js";
|
|
13
|
+
export * from "./candidate_resolution.js";
|
|
14
|
+
export * from "./previous_decision.js";
|
|
15
|
+
export * from "./prompts.js";
|
|
16
|
+
export * from "./selector_input.js";
|
|
17
|
+
export * from "./selector_truncation.js";
|
|
18
|
+
export * from "./routing_history.js";
|
|
19
|
+
export * from "./selector_request.js";
|
|
20
|
+
export * from "./selector_wire.js";
|
|
21
|
+
export * from "./selector_parse.js";
|
|
22
|
+
export * from "./anonymous_actions.js";
|
|
23
|
+
export * from "./route.js";
|
|
24
|
+
export { createDariRoutingPolicy } from "./dari_policy.js";
|
|
25
|
+
//# sourceMappingURL=policy-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../src/policy-engine.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const SELECTOR_SYSTEM_PROMPT = "You are Dari's model router. Pick the best candidate model/thinking-level pair for the user's request.\n\n# Selection procedure\n\n1. Capability first: make sure the selected pair can reasonably handle the task. Consider both model capability and how much thinking the task needs; capability is never traded away for cost.\n2. Use imported eval scorecards as benchmark evidence when relevant.\n3. A missing benchmark score means that candidate pair was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.\n4. When several pairs are viable on capability, use cost_estimates as the deciding factor between them.\n5. Prefer the previous_decision pair when the task hasn't changed.\n\n# Cost comparison rules\n\n- fixed_turn_cost_estimate.projections is the primary cost metric whenever it is present. Each entry estimates the whole agent loop from this decision point out to projected_turns requests, using current cache warmth, provider cache rules, cache hit probabilities, and output tokens folded into later requests. Compare candidates at the horizon the task looks likely to need.\n- Candidates with fixed_turn_cost_estimate are the preferred cost-comparison pool when capability is otherwise comparable.\n- Do not rank candidates by output_cost_per_mtok or est_input_cost_usd ahead of fixed_turn_cost_estimate.projections. Do not discard those estimates just because some candidates lack them.\n- For candidates without fixed_turn_cost_estimate, use est_input_cost_usd and output_cost_per_mtok as fallback cost evidence, and select such a candidate only when its capability and fallback pricing make it a better fit than candidates with fixed-turn estimates.\n\n# Output\n\nReturn JSON matching the provided schema. selected_model and reasoning_effort must exactly match one candidate pair.\nThe runtime chooses provider fallbacks separately; return only the primary decision.";
|
|
1
|
+
export declare const SELECTOR_SYSTEM_PROMPT = "You are Dari's model router. Pick the best candidate model/thinking-level pair for the user's request.\n\n# Selection procedure\n\n1. Capability first: make sure the selected pair can reasonably handle the task. Consider both model capability and how much thinking the task needs; capability is never traded away for cost.\n2. Use imported eval scorecards as benchmark evidence when relevant. Rank is each candidate action's standing among the scored candidate actions on that benchmark, and z_score uses that same candidate group.\n3. A missing benchmark score means that candidate pair was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.\n4. When several pairs are viable on capability, use cost_estimates as the deciding factor between them.\n5. Prefer the previous_decision pair when the task hasn't changed.\n\n# Cost comparison rules\n\n- fixed_turn_cost_estimate.projections is the primary cost metric whenever it is present. Each entry estimates the whole agent loop from this decision point out to projected_turns requests, using current cache warmth, provider cache rules, cache hit probabilities, and output tokens folded into later requests. Compare candidates at the horizon the task looks likely to need.\n- Candidates with fixed_turn_cost_estimate are the preferred cost-comparison pool when capability is otherwise comparable.\n- Do not rank candidates by output_cost_per_mtok or est_input_cost_usd ahead of fixed_turn_cost_estimate.projections. Do not discard those estimates just because some candidates lack them.\n- For candidates without fixed_turn_cost_estimate, use est_input_cost_usd and output_cost_per_mtok as fallback cost evidence, and select such a candidate only when its capability and fallback pricing make it a better fit than candidates with fixed-turn estimates.\n\n# Output\n\nReturn JSON matching the provided schema. selected_model and reasoning_effort must exactly match one candidate pair.\nThe runtime chooses provider fallbacks separately; return only the primary decision.";
|
|
2
2
|
export declare const CUSTOM_SELECTOR_SYSTEM_PROMPT: string;
|
|
3
3
|
export declare const ANONYMOUS_ACTION_SYSTEM_PROMPT: string;
|
package/dist/prompts.js
CHANGED
|
@@ -10,7 +10,7 @@ export const SELECTOR_SYSTEM_PROMPT = `You are Dari's model router. Pick the bes
|
|
|
10
10
|
# Selection procedure
|
|
11
11
|
|
|
12
12
|
1. Capability first: make sure the selected pair can reasonably handle the task. Consider both model capability and how much thinking the task needs; capability is never traded away for cost.
|
|
13
|
-
2. Use imported eval scorecards as benchmark evidence when relevant.
|
|
13
|
+
2. Use imported eval scorecards as benchmark evidence when relevant. Rank is each candidate action's standing among the scored candidate actions on that benchmark, and z_score uses that same candidate group.
|
|
14
14
|
3. A missing benchmark score means that candidate pair was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.
|
|
15
15
|
4. When several pairs are viable on capability, use cost_estimates as the deciding factor between them.
|
|
16
16
|
5. Prefer the previous_decision pair when the task hasn't changed.
|
|
@@ -33,7 +33,7 @@ custom_rules is ordered by model price, most expensive first; the order is prese
|
|
|
33
33
|
When several rules match, pick the one whose when condition is most specific to the current request.
|
|
34
34
|
When no rule matches, select default_target if it is set; its null thinking_level also means Auto. Otherwise prefer previous_decision when it is a candidate; otherwise pick the most capable candidate pair.
|
|
35
35
|
Prefer previous_decision while the matched rule (or task phase) hasn't changed.
|
|
36
|
-
Use imported eval scorecards as benchmark evidence when relevant. A missing benchmark score means that candidate pair was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.
|
|
36
|
+
Use imported eval scorecards as benchmark evidence when relevant. Rank is each candidate action's standing among the scored candidate actions on that benchmark, and z_score uses that same candidate group. A missing benchmark score means that candidate pair was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.
|
|
37
37
|
Use cost_estimates only to break ties between rule-matched candidates or to choose among an Auto target's viable thinking levels; a rule match is never traded away for cost.
|
|
38
38
|
When using cost_estimates, fixed_turn_cost_estimate.projections is the primary cost metric whenever present because it includes current cache warmth and projected loop cost at ${PROJECTED_TURNS_PHRASE} turns. For candidates without fixed_turn_cost_estimate, use est_input_cost_usd and output_cost_per_mtok as fallback cost evidence. Do not rank by output_cost_per_mtok ahead of fixed_turn_cost_estimate.projections.
|
|
39
39
|
Return JSON matching the provided schema.
|
|
@@ -47,7 +47,7 @@ export const ANONYMOUS_ACTION_SYSTEM_PROMPT = [
|
|
|
47
47
|
"Choose exactly one anonymous candidate action for the agent's next turns, and how many turns to commit to it.",
|
|
48
48
|
"Your choice is a lease: the chosen action serves that many consecutive turns before you are consulted again. A longer lease amortizes the cold start paid on its first turn across warm cache hits on the turns that follow; the lease ends early only if the task finishes or the provider fails.",
|
|
49
49
|
"Each action's block lists its benchmark standing and its projected cost at each lease length you may choose.",
|
|
50
|
-
"Rank is the action's position among
|
|
50
|
+
"Rank is the action's position among the scored candidate actions on that benchmark, 1 being best. Z is how many standard deviations that action sits above or below the mean of those scored candidate actions.",
|
|
51
51
|
"Cost is the projected spend for the whole agent loop over exactly the turns of each lease option, from current cache warmth. Compare actions at the lease you intend to pick.",
|
|
52
52
|
"A missing benchmark score means that action was not evaluated on that benchmark; do not treat it as zero, failure, or negative evidence.",
|
|
53
53
|
"Prefer a cheaper action only when it is sufficiently likely to complete the task successfully.",
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AAEvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,2EAA2E;AAC3E,uDAAuD;AACvD,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;qFAoB+C,CAAC;AAEtF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;kLASqI,sBAAsB;;;qFAGnH,CAAC;AAEtF,iEAAiE;AACjE,+EAA+E;AAC/E,sEAAsE;AACtE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,iDAAiD;IACjD,+GAA+G;IAC/G,oSAAoS;IACpS,8GAA8G;IAC9G,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AAEvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,2EAA2E;AAC3E,uDAAuD;AACvD,MAAM,sBAAsB,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;qFAoB+C,CAAC;AAEtF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;kLASqI,sBAAsB;;;qFAGnH,CAAC;AAEtF,iEAAiE;AACjE,+EAA+E;AAC/E,sEAAsE;AACtE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,iDAAiD;IACjD,+GAA+G;IAC/G,oSAAoS;IACpS,8GAA8G;IAC9G,iNAAiN;IACjN,+KAA+K;IAC/K,0IAA0I;IAC1I,gGAAgG;IAChG,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,iEAAiE;IACjE,gDAAgD;IAChD,0LAA0L;IAC1L,iHAAiH;IACjH,4NAA4N;IAC5N,uFAAuF;IACvF,gDAAgD;CACjD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { openAIChatRequest, openAIChatResponse } from "./protocol_openai_chat.js";
|
|
2
|
+
export { anthropicRequest, anthropicResponse } from "./protocol_anthropic.js";
|
|
3
|
+
export * from "./continuation_state.js";
|
|
4
|
+
export * from "./portable_reasoning_state.js";
|
|
5
|
+
export * from "./pi_reasoning_signature.js";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { openAIChatRequest, openAIChatResponse } from "./protocol_openai_chat.js";
|
|
2
|
+
export { anthropicRequest, anthropicResponse } from "./protocol_anthropic.js";
|
|
3
|
+
export * from "./continuation_state.js";
|
|
4
|
+
export * from "./portable_reasoning_state.js";
|
|
5
|
+
export * from "./pi_reasoning_signature.js";
|
|
6
|
+
//# sourceMappingURL=protocols.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC"}
|
package/dist/route.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type CandidateMetadataLookup } from "./compatibility.js";
|
|
2
2
|
import { type CandidatePromptEstimate, type PricingLookup } from "./cost.js";
|
|
3
|
-
import type
|
|
3
|
+
import { type ReasoningCacheScopeLookup } from "./cache_scope.js";
|
|
4
4
|
import { type ActiveLease, type PendingLease } from "./previous_decision.js";
|
|
5
5
|
import { type StrategyCandidateResolution } from "./candidate_resolution.js";
|
|
6
6
|
import { type BuiltSelectorRequest } from "./selector_request.js";
|
|
@@ -15,7 +15,6 @@ export type CandidatePromptAnchor = {
|
|
|
15
15
|
};
|
|
16
16
|
export type CandidatePromptAccounting = {
|
|
17
17
|
anchorSemantics: "matched_prefix" | "stored_input";
|
|
18
|
-
defaultBlockDepth: number;
|
|
19
18
|
providerBlockDepthFor: (model: string) => number;
|
|
20
19
|
promptEstimateFor: (model: string, anchor?: CandidatePromptAnchor) => CandidatePromptEstimate;
|
|
21
20
|
};
|
|
@@ -52,7 +51,6 @@ export type CandidatePreparationInput = CandidatePreparationSharedInput & ({
|
|
|
52
51
|
tailCharsFor?: LegacyTailCharsFor;
|
|
53
52
|
});
|
|
54
53
|
export type CandidatePreparation = {
|
|
55
|
-
blockDepth: number;
|
|
56
54
|
hits: ChainHits;
|
|
57
55
|
conversationId: string | null;
|
|
58
56
|
identityMatchDepth: number | null;
|
|
@@ -85,6 +83,7 @@ export type RouteInput = CandidatePreparationSharedInput & RouteAccountingInput
|
|
|
85
83
|
fallbackRequiresDifferentProvider?: boolean;
|
|
86
84
|
};
|
|
87
85
|
export type PreparedRoute = CandidatePreparation & {
|
|
86
|
+
modelProvider: (model: string) => string;
|
|
88
87
|
fallbackConfig: RouteFallbackConfig;
|
|
89
88
|
selectorPreparation: BuiltSelectorRequest | null;
|
|
90
89
|
};
|
|
@@ -94,7 +93,7 @@ export type RouteResult = {
|
|
|
94
93
|
fallbackDecision?: RoutingDecision;
|
|
95
94
|
outputText: string;
|
|
96
95
|
};
|
|
97
|
-
export declare function finalizeRoute(prepared: Pick<PreparedRoute, "candidateResolution" | "fallbackConfig">, selectorOutputText: string): RouteResult;
|
|
96
|
+
export declare function finalizeRoute(prepared: Pick<PreparedRoute, "candidateResolution" | "fallbackConfig" | "modelProvider">, selectorOutputText: string): RouteResult;
|
|
98
97
|
export type Selector = {
|
|
99
98
|
select(request: ChatCompletionRequest, signal?: AbortSignal): Promise<string>;
|
|
100
99
|
};
|