@mupt-ai/dari-router 0.2.4 → 1.0.290

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +148 -55
  2. package/dist/anonymous_actions.d.ts +1 -0
  3. package/dist/anonymous_actions.js +18 -7
  4. package/dist/anonymous_actions.js.map +1 -1
  5. package/dist/auto_router.d.ts +1 -1
  6. package/dist/auto_router.js.map +1 -1
  7. package/dist/cache_scope.js +8 -5
  8. package/dist/cache_scope.js.map +1 -1
  9. package/dist/cost.js +55 -38
  10. package/dist/cost.js.map +1 -1
  11. package/dist/dari_policy.d.ts +0 -3
  12. package/dist/dari_policy.js +2 -2
  13. package/dist/dari_policy.js.map +1 -1
  14. package/dist/eval_score_imputation.js +2 -0
  15. package/dist/eval_score_imputation.js.map +1 -1
  16. package/dist/framework_router.d.ts +2 -1
  17. package/dist/framework_router.js +264 -47
  18. package/dist/framework_router.js.map +1 -1
  19. package/dist/framework_types.d.ts +9 -0
  20. package/dist/framework_validation.js +1 -0
  21. package/dist/framework_validation.js.map +1 -1
  22. package/dist/gateway_executor.d.ts +16 -0
  23. package/dist/gateway_executor.js +523 -0
  24. package/dist/gateway_executor.js.map +1 -0
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/prompts/anonymous_action.md +5 -1
  29. package/dist/prompts.js +1 -2
  30. package/dist/prompts.js.map +1 -1
  31. package/dist/types.d.ts +1 -0
  32. package/examples/auto_router.ts +16 -11
  33. package/examples/basic_route.ts +19 -19
  34. package/examples/lease_stores.ts +21 -15
  35. package/examples/managed/README.md +3 -4
  36. package/examples/managed/byok-router/router.yml +4 -4
  37. package/examples/managed/custom-rules-router/router.yml +9 -9
  38. package/examples/managed/dari/router.yml +3 -2
  39. package/package.json +5 -14
  40. package/dist/pi_context.d.ts +0 -4
  41. package/dist/pi_context.js +0 -237
  42. package/dist/pi_context.js.map +0 -1
  43. package/dist/pi_options.d.ts +0 -3
  44. package/dist/pi_options.js +0 -300
  45. package/dist/pi_options.js.map +0 -1
  46. package/dist/pi_output.d.ts +0 -4
  47. package/dist/pi_output.js +0 -328
  48. package/dist/pi_output.js.map +0 -1
  49. package/dist/pi_runtime.d.ts +0 -3
  50. package/dist/pi_runtime.js +0 -163
  51. package/dist/pi_runtime.js.map +0 -1
  52. package/dist/pi_types.d.ts +0 -35
  53. package/dist/pi_types.js +0 -2
  54. package/dist/pi_types.js.map +0 -1
  55. package/examples/managed/eval-router/README.md +0 -18
  56. package/examples/managed/eval-router/router.yml +0 -11
  57. package/examples/pi_runtime.ts +0 -55
@@ -1 +0,0 @@
1
- {"version":3,"file":"pi_output.js","sourceRoot":"","sources":["../src/pi_output.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { CreatePiRuntimeOptions, PiRuntime } from "./pi_types.js";
2
- export type { CreatePiRuntimeOptions, PiApiKey, PiCredentialInput, PiModelRegistry, PiRouterModelOptions, PiRuntime, } from "./pi_types.js";
3
- export declare function createPiRuntime(options: CreatePiRuntimeOptions): Promise<PiRuntime>;
@@ -1,163 +0,0 @@
1
- import { RouterFrameworkError } from "./framework_error.js";
2
- import { nativeModelId, providerForModel } from "./model_ids.js";
3
- import { piContext } from "./pi_context.js";
4
- import { piOptions } from "./pi_options.js";
5
- import { routerCompletion, routerEvents } from "./pi_output.js";
6
- import { openAIChatRequest } from "./protocol_openai_chat.js";
7
- const STRUCTURED_OUTPUT_APIS = new Set([
8
- "anthropic-messages",
9
- "azure-openai-responses",
10
- "google-generative-ai",
11
- "google-vertex",
12
- "mistral-conversations",
13
- "openai-completions",
14
- "openai-responses",
15
- ]);
16
- export async function createPiRuntime(options) {
17
- validateRuntimeOptions(options);
18
- const dependencies = await piDependencies(options.registry);
19
- const model = (id, overrides = {}) => {
20
- const provider = overrides.provider ?? modelProvider(id);
21
- const providerModelId = overrides.providerModelId ?? legacyNativeModelId(id, provider);
22
- const registered = registeredModel(dependencies.registry, provider, providerModelId, id);
23
- const reasoningEfforts = overrides.reasoningEfforts === undefined
24
- ? dependencies.supportedThinkingLevels(registered)
25
- : [...overrides.reasoningEfforts];
26
- const defaultReasoningEffort = overrides.defaultReasoningEffort
27
- ?? (reasoningEfforts.includes("off") ? "off" : reasoningEfforts[0]);
28
- return {
29
- id,
30
- provider,
31
- providerModelId,
32
- api: registered.api,
33
- reasoningEfforts,
34
- ...(defaultReasoningEffort === undefined ? {} : { defaultReasoningEffort }),
35
- capabilities: {
36
- imageInput: registered.input.includes("image"),
37
- toolUse: true,
38
- structuredOutput: STRUCTURED_OUTPUT_APIS.has(registered.api),
39
- streaming: true,
40
- ...overrides.capabilities,
41
- },
42
- ...(overrides.metadata === undefined ? {} : { metadata: overrides.metadata }),
43
- };
44
- };
45
- const run = async (execution) => {
46
- const registered = registeredModel(dependencies.registry, execution.candidate.provider, execution.candidate.providerModelId, execution.candidate.id);
47
- if (registered.api !== execution.candidate.api) {
48
- throw new RouterFrameworkError("configuration", `Model '${execution.candidate.id}' declares API '${execution.candidate.api}' but Pi uses '${registered.api}'.`, "pi_model_api_mismatch");
49
- }
50
- const context = piContext(execution.request, registered);
51
- const streamOptions = await piOptions(options, execution, registered);
52
- if (execution.request.stream) {
53
- const events = dependencies.registry.streamSimple(registered, context, streamOptions);
54
- return { type: "stream", events: routerEvents(events, execution.signal) };
55
- }
56
- const message = await dependencies.registry.completeSimple(registered, context, streamOptions);
57
- return { type: "complete", output: routerCompletion(message, execution.signal) };
58
- };
59
- return {
60
- model,
61
- execute: async (input) => run({
62
- request: input.request,
63
- candidate: input.model,
64
- reasoningEffort: input.decision.reasoningEffort,
65
- signal: input.signal,
66
- purpose: "execution",
67
- }),
68
- select: async (request, signal = new AbortController().signal) => {
69
- let normalized;
70
- try {
71
- normalized = openAIChatRequest(request);
72
- }
73
- catch (error) {
74
- // The selector request is constructed internally; an invalid request
75
- // here is a router bug, not the end user's fault.
76
- if (error instanceof RouterFrameworkError && error.kind === "invalid_request") {
77
- throw new RouterFrameworkError("configuration", error.message, "pi_selector_request_invalid", error.param, { cause: error });
78
- }
79
- throw error;
80
- }
81
- const selectorModel = requiredSelectorModel(request.model);
82
- const candidate = model(selectorModel);
83
- const result = await run({
84
- request: { ...normalized, stream: false },
85
- candidate: {
86
- id: candidate.id,
87
- provider: candidate.provider,
88
- providerModelId: candidate.providerModelId,
89
- api: candidate.api,
90
- },
91
- reasoningEffort: normalized.reasoning?.effort ?? candidate.defaultReasoningEffort ?? "off",
92
- signal,
93
- purpose: "selector",
94
- });
95
- if (result.type !== "complete") {
96
- throw new RouterFrameworkError("configuration", "Pi returned a stream for a non-streaming selector request.", "pi_selector_mode_mismatch");
97
- }
98
- return result.output.content
99
- .filter((item) => item.type === "text")
100
- .map((item) => item.text)
101
- .join("");
102
- },
103
- };
104
- }
105
- async function piDependencies(registry) {
106
- const pi = await import("@mupt-ai/pi-ai");
107
- const resolvedRegistry = registry ?? (await import("@mupt-ai/pi-ai/providers/all")).builtinModels();
108
- return {
109
- registry: resolvedRegistry,
110
- supportedThinkingLevels: (model) => pi.getSupportedThinkingLevels(model),
111
- };
112
- }
113
- function validateRuntimeOptions(options) {
114
- if (!options || (typeof options.apiKey !== "string" && typeof options.apiKey !== "function")) {
115
- throw new RouterFrameworkError("configuration", "createPiRuntime requires an API key or API-key resolver.", "pi_api_key_missing");
116
- }
117
- if (typeof options.apiKey === "string" && !options.apiKey.trim()) {
118
- throw new RouterFrameworkError("configuration", "createPiRuntime API keys must be non-empty strings.", "pi_api_key_missing");
119
- }
120
- for (const [name, value] of [
121
- ["timeoutMs", options.timeoutMs],
122
- ["maxRetries", options.maxRetries],
123
- ]) {
124
- if (value !== undefined && (!Number.isSafeInteger(value) || value < 0)) {
125
- throw new RouterFrameworkError("configuration", `createPiRuntime ${name} must be a non-negative integer.`, "pi_options_invalid");
126
- }
127
- }
128
- }
129
- function modelProvider(id) {
130
- try {
131
- return providerForModel(id);
132
- }
133
- catch (error) {
134
- throw new RouterFrameworkError("configuration", `Pi model '${id}' must include a provider prefix.`, "pi_model_provider_missing", undefined, { cause: error });
135
- }
136
- }
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
- }
150
- }
151
- const registered = registry.getModel(provider, nativeId) ?? registry.getModel(provider, id);
152
- if (registered === undefined) {
153
- throw new RouterFrameworkError("configuration", `Pi does not know model '${id}' for provider '${provider}'.`, "pi_model_not_found");
154
- }
155
- return registered;
156
- }
157
- function requiredSelectorModel(value) {
158
- if (typeof value !== "string" || !value.trim()) {
159
- throw new RouterFrameworkError("configuration", "The Pi selector request requires a model.", "pi_selector_model_missing");
160
- }
161
- return value;
162
- }
163
- //# sourceMappingURL=pi_runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pi_runtime.js","sourceRoot":"","sources":["../src/pi_runtime.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import type { Api, AssistantMessage, AssistantMessageEvent, Context, Model, SimpleStreamOptions } from "@mupt-ai/pi-ai";
2
- import type { ChatCompletionRequest, ReasoningEffort } from "./types.js";
3
- import type { RouterCandidate, RouterExecutorInput, RouterExecutorResult, RouterModel, RouterRequest } from "./framework_types.js";
4
- export type PiModel = Model<Api>;
5
- export type PiCredentialInput = {
6
- provider: string;
7
- model: string;
8
- api: string;
9
- purpose: "execution" | "selector";
10
- };
11
- export type PiApiKey = string | ((input: PiCredentialInput) => string | Promise<string>);
12
- export type PiModelRegistry = {
13
- getModel(provider: string, id: string): PiModel | undefined;
14
- completeSimple(model: PiModel, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage>;
15
- streamSimple(model: PiModel, context: Context, options?: SimpleStreamOptions): AsyncIterable<AssistantMessageEvent>;
16
- };
17
- export type CreatePiRuntimeOptions = {
18
- apiKey: PiApiKey;
19
- registry?: PiModelRegistry;
20
- timeoutMs?: number;
21
- maxRetries?: number;
22
- };
23
- export type PiRouterModelOptions<Metadata = unknown> = Omit<RouterModel<Metadata>, "id" | "executor" | "api">;
24
- export type PiRuntime = {
25
- model<Metadata = unknown>(id: string, options?: Partial<PiRouterModelOptions<Metadata>>): RouterModel<Metadata>;
26
- execute<Metadata>(input: RouterExecutorInput<Metadata>): Promise<RouterExecutorResult>;
27
- select(request: ChatCompletionRequest, signal?: AbortSignal): Promise<string>;
28
- };
29
- export type PiExecution = {
30
- request: RouterRequest;
31
- candidate: Pick<RouterCandidate, "id" | "provider" | "providerModelId" | "api">;
32
- reasoningEffort: ReasoningEffort;
33
- signal: AbortSignal;
34
- purpose: PiCredentialInput["purpose"];
35
- };
package/dist/pi_types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=pi_types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pi_types.js","sourceRoot":"","sources":["../src/pi_types.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- # Eval Router
2
-
3
- An automatic managed router that imports an eval scorecard into its selection context.
4
-
5
- The eval ID is organization-specific, so replace `evl_your_scorecard` in `router.yml` with an ID returned by:
6
-
7
- ```bash
8
- dari auth login
9
- dari eval list
10
- ```
11
-
12
- Then create the router:
13
-
14
- ```bash
15
- dari router create ./router.yml
16
- ```
17
-
18
- The scorecard must contain scores for the enabled model and reasoning-level pairs you want the selector to consider. Keep organization-specific IDs and scores out of public example files.
@@ -1,11 +0,0 @@
1
- # Replace evl_your_scorecard with an eval ID from `dari eval list` before creating.
2
- name: Example Eval Router
3
- enabled_models:
4
- - openai/gpt-5.6-sol
5
- - anthropic/claude-sonnet-5
6
- provider_key_sources:
7
- openai: managed
8
- anthropic: managed
9
- routing_strategy: dari
10
- eval_ids:
11
- - evl_your_scorecard
@@ -1,55 +0,0 @@
1
- // A real end-to-end router using the built-in Pi AI runtime.
2
- //
3
- // Run with:
4
- // OPENAI_API_KEY=... bun run example:pi
5
-
6
- import {
7
- createPiRuntime,
8
- createRouter,
9
- type RoutingPolicy,
10
- } from "../src/index.js";
11
-
12
- const apiKey = process.env.OPENAI_API_KEY;
13
- if (!apiKey) throw new Error("OPENAI_API_KEY is required.");
14
-
15
- const pi = await createPiRuntime({ apiKey });
16
- const models = [
17
- pi.model("openai/gpt-5.4-mini"),
18
- pi.model("openai/gpt-5.4"),
19
- ];
20
- const policy: RoutingPolicy = ({ request, candidates }) => {
21
- const promptLength = request.items.reduce((length, item) =>
22
- item.type === "message"
23
- ? length + item.content.reduce(
24
- (total, part) => total + (part.type === "text" ? part.text.length : 0),
25
- 0,
26
- )
27
- : length,
28
- 0);
29
- const preferred = promptLength > 500
30
- ? "openai/gpt-5.4"
31
- : "openai/gpt-5.4-mini";
32
- return {
33
- model: candidates.find((candidate) => candidate.id === preferred)?.id
34
- ?? candidates[0]!.id,
35
- reason: promptLength > 500
36
- ? "Use the stronger model for the longer prompt."
37
- : "Use the smaller model for the short prompt.",
38
- };
39
- };
40
- const router = createRouter({ models, policy, executor: pi });
41
-
42
- const response = await router.fetch(new Request(
43
- "http://router.local/v1/chat/completions",
44
- {
45
- method: "POST",
46
- headers: { "Content-Type": "application/json" },
47
- body: JSON.stringify({
48
- model: "my-router",
49
- messages: [{ role: "user", content: "Explain LLM routing in one sentence." }],
50
- }),
51
- },
52
- ));
53
-
54
- if (!response.ok) throw new Error(await response.text());
55
- console.log(await response.json());