@plurnk/plurnk-providers 1.5.0 → 1.6.1
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/.env.defaults +41 -34
- package/README.md +15 -0
- package/SPEC.md +242 -89
- package/dist/AiSdkProvider.d.ts +33 -33
- package/dist/AiSdkProvider.d.ts.map +1 -1
- package/dist/AiSdkProvider.js +442 -133
- package/dist/AiSdkProvider.js.map +1 -1
- package/dist/Mock.d.ts +10 -11
- package/dist/Mock.d.ts.map +1 -1
- package/dist/Mock.js +87 -25
- package/dist/Mock.js.map +1 -1
- package/dist/Pool.d.ts +9 -24
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +86 -25
- package/dist/Pool.js.map +1 -1
- package/dist/accounting.d.ts +5 -2
- package/dist/accounting.d.ts.map +1 -1
- package/dist/accounting.js +100 -16
- package/dist/accounting.js.map +1 -1
- package/dist/accountingPublic.d.ts +5 -0
- package/dist/accountingPublic.d.ts.map +1 -0
- package/dist/accountingPublic.js +3 -0
- package/dist/accountingPublic.js.map +1 -0
- package/dist/aiSdkTransport.d.ts +9 -2
- package/dist/aiSdkTransport.d.ts.map +1 -1
- package/dist/aiSdkTransport.js +160 -62
- package/dist/aiSdkTransport.js.map +1 -1
- package/dist/capacity.d.ts +26 -0
- package/dist/capacity.d.ts.map +1 -0
- package/dist/capacity.js +90 -0
- package/dist/capacity.js.map +1 -0
- package/dist/catalogProvider.d.ts +8 -3
- package/dist/catalogProvider.d.ts.map +1 -1
- package/dist/catalogProvider.js +45 -41
- package/dist/catalogProvider.js.map +1 -1
- package/dist/compatibleProvider.d.ts.map +1 -1
- package/dist/compatibleProvider.js +26 -12
- package/dist/compatibleProvider.js.map +1 -1
- package/dist/cost.d.ts +10 -10
- package/dist/cost.d.ts.map +1 -1
- package/dist/cost.js +90 -42
- package/dist/cost.js.map +1 -1
- package/dist/env.d.ts +13 -11
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +83 -46
- package/dist/env.js.map +1 -1
- package/dist/errors.d.ts +17 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +91 -8
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/ollama.js +3 -3
- package/dist/ollama.js.map +1 -1
- package/dist/promptTokens.d.ts.map +1 -1
- package/dist/promptTokens.js +7 -4
- package/dist/promptTokens.js.map +1 -1
- package/dist/sdkModels.d.ts +7 -2
- package/dist/sdkModels.d.ts.map +1 -1
- package/dist/sdkModels.js +43 -13
- package/dist/sdkModels.js.map +1 -1
- package/dist/types.d.ts +55 -33
- package/dist/types.d.ts.map +1 -1
- package/dist/usage.d.ts +22 -5
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +169 -83
- package/dist/usage.js.map +1 -1
- package/package.json +18 -7
- package/src/AiSdkProvider.test.ts +964 -206
- package/src/AiSdkProvider.ts +545 -155
- package/src/Mock.test.ts +69 -30
- package/src/Mock.ts +99 -29
- package/src/Pool.test.ts +90 -19
- package/src/Pool.ts +96 -27
- package/src/ProviderRegistry.test.ts +16 -11
- package/src/accounting.test.ts +58 -22
- package/src/accounting.ts +119 -18
- package/src/accountingPublic.ts +9 -0
- package/src/aiSdkTransport.test.ts +42 -49
- package/src/aiSdkTransport.ts +174 -62
- package/src/boundaries.test.ts +2 -0
- package/src/capacity.test.ts +92 -0
- package/src/capacity.ts +140 -0
- package/src/catalogProvider.test.ts +339 -30
- package/src/catalogProvider.ts +65 -47
- package/src/compatibleProvider.test.ts +7 -5
- package/src/compatibleProvider.ts +29 -13
- package/src/cost.test.ts +86 -36
- package/src/cost.ts +111 -50
- package/src/defaults.test.ts +13 -3
- package/src/env.test.ts +103 -25
- package/src/env.ts +153 -65
- package/src/errors.test.ts +80 -2
- package/src/errors.ts +107 -8
- package/src/index.ts +26 -7
- package/src/ollama.test.ts +5 -3
- package/src/ollama.ts +3 -3
- package/src/promptTokens.ts +8 -5
- package/src/sdkModels.test.ts +77 -8
- package/src/sdkModels.ts +51 -15
- package/src/types.ts +112 -51
- package/src/usage.test.ts +112 -116
- package/src/usage.ts +214 -93
package/dist/env.js
CHANGED
|
@@ -8,6 +8,14 @@ export const parseRequiredInt = (raw, name, label) => {
|
|
|
8
8
|
throw new Error(`${label} provider: ${name} must be a non-negative integer (got "${raw}")`);
|
|
9
9
|
return n;
|
|
10
10
|
};
|
|
11
|
+
export const MAX_PROVIDER_TIMEOUT_MS = 2_147_483_647;
|
|
12
|
+
export const parseTimeoutMs = (raw, name, label) => {
|
|
13
|
+
const timeoutMs = parseRequiredInt(raw, name, label);
|
|
14
|
+
if (timeoutMs > MAX_PROVIDER_TIMEOUT_MS) {
|
|
15
|
+
throw new Error(`${label} provider: ${name} must be at most ${MAX_PROVIDER_TIMEOUT_MS} milliseconds (got "${raw}")`);
|
|
16
|
+
}
|
|
17
|
+
return timeoutMs;
|
|
18
|
+
};
|
|
11
19
|
export const parseOptionalInt = (raw, name, label) => {
|
|
12
20
|
if (raw === undefined || raw.length === 0)
|
|
13
21
|
return null;
|
|
@@ -37,14 +45,6 @@ export const requireEnv = (raw, name, label) => {
|
|
|
37
45
|
throw new Error(`${label} provider: ${name} must be set`);
|
|
38
46
|
return raw;
|
|
39
47
|
};
|
|
40
|
-
export const promptCacheKeyFromEnv = (env, label) => {
|
|
41
|
-
const name = "PLURNK_PROVIDERS_PROMPT_CACHE_KEY";
|
|
42
|
-
const value = env[name];
|
|
43
|
-
if (value !== "0" && value !== "1") {
|
|
44
|
-
throw new Error(`${label} provider: ${name} must be "0" or "1"`);
|
|
45
|
-
}
|
|
46
|
-
return value === "1";
|
|
47
|
-
};
|
|
48
48
|
// {§provider-configuration} A still-set retired knob fails
|
|
49
49
|
// hard pointing at its successor — never silently coexists with the new floor.
|
|
50
50
|
// The retired names appear ONLY as this function's ARGUMENTS at the call sites
|
|
@@ -54,6 +54,23 @@ const shedRenamed = (env, oldName, newName, label, ref) => {
|
|
|
54
54
|
if (stale !== undefined && stale.length > 0)
|
|
55
55
|
throw new Error(`${label} provider: ${oldName} was renamed to ${newName} (${ref}); update the env`);
|
|
56
56
|
};
|
|
57
|
+
export const cacheAffinityFromEnv = (env, label) => {
|
|
58
|
+
const name = "PLURNK_PROVIDERS_CACHE_AFFINITY";
|
|
59
|
+
shedRenamed(env, "PLURNK_PROVIDERS_PROMPT_CACHE_KEY", name, label, "{§provider-cache-affinity}"); // lexicon-allow
|
|
60
|
+
const value = env[name];
|
|
61
|
+
if (value !== "0" && value !== "1") {
|
|
62
|
+
throw new Error(`${label} provider: ${name} must be "0" or "1"`);
|
|
63
|
+
}
|
|
64
|
+
return value === "1";
|
|
65
|
+
};
|
|
66
|
+
export const cacheWritePolicyFromEnv = (env, label) => {
|
|
67
|
+
const name = "PLURNK_PROVIDERS_CACHE_WRITE_POLICY";
|
|
68
|
+
const value = env[name];
|
|
69
|
+
if (value !== "off" && value !== "stable-system") {
|
|
70
|
+
throw new Error(`${label} provider: ${name} must be "off" or "stable-system"`);
|
|
71
|
+
}
|
|
72
|
+
return value;
|
|
73
|
+
};
|
|
57
74
|
// {§provider-evidence} Data-capture knobs are read identically by every provider
|
|
58
75
|
// (standard AND
|
|
59
76
|
// plugin) so the opt-in surface is one source of truth. Both OFF by default —
|
|
@@ -86,9 +103,9 @@ export function effectiveContextWindow(operatorCap, naturalWindow) {
|
|
|
86
103
|
? operatorCap
|
|
87
104
|
: Math.min(operatorCap, naturalWindow);
|
|
88
105
|
}
|
|
89
|
-
const
|
|
106
|
+
const parseTokenBudget = (raw, name, label) => {
|
|
90
107
|
if (raw === undefined || raw.length === 0)
|
|
91
|
-
throw new Error(`${label} provider: ${name} must be set (a percentage of the window like "
|
|
108
|
+
throw new Error(`${label} provider: ${name} must be set (a percentage of the context window like "35%", or an absolute token count)`);
|
|
92
109
|
const pct = /^([0-9]+(?:\.[0-9]+)?)%$/.exec(raw);
|
|
93
110
|
if (pct !== null) {
|
|
94
111
|
const p = Number(pct[1]);
|
|
@@ -101,25 +118,53 @@ const parseReserve = (raw, name, label) => {
|
|
|
101
118
|
throw new Error(`${label} provider: ${name} must be "<pct>%" or a positive integer token count (got "${raw}")`);
|
|
102
119
|
return { tokens: n };
|
|
103
120
|
};
|
|
104
|
-
|
|
105
|
-
reasoningReserve: parseReserve(env.PLURNK_PROVIDERS_REASONING_RESERVE, "PLURNK_PROVIDERS_REASONING_RESERVE", label),
|
|
106
|
-
completionReserve: parseReserve(env.PLURNK_PROVIDERS_COMPLETION_RESERVE, "PLURNK_PROVIDERS_COMPLETION_RESERVE", label),
|
|
107
|
-
});
|
|
108
|
-
// Resolve a ReserveSpec against a known window: absolutes stand alone; a
|
|
121
|
+
// Resolve a token budget against a known window: absolutes stand alone; a
|
|
109
122
|
// percentage needs the window (null when unknown — the underivable/no-cap case).
|
|
110
|
-
export const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
+
export const resolveTokenBudget = (spec, window) => "tokens" in spec
|
|
124
|
+
? spec.tokens
|
|
125
|
+
: window === null
|
|
126
|
+
? null
|
|
127
|
+
: Math.max(1, Math.round(spec.percent * window));
|
|
128
|
+
const shedRetiredEnvelope = (env, label) => {
|
|
129
|
+
for (const name of ["PLURNK_PROVIDERS_REASONING_RESERVE", "PLURNK_PROVIDERS_COMPLETION_RESERVE"]) {
|
|
130
|
+
if (env[name] !== undefined && env[name] !== "") {
|
|
131
|
+
throw new Error(`${label} provider: ${name} is retired; reasoning is now a subset of the total generation envelope. Replace the old pair with PLURNK_PROVIDERS_OUTPUT_BUDGET and optional PLURNK_PROVIDERS_REASONING_BUDGET ({§provider-generation-envelope})`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
const optionalTokenBudget = (raw, name, label) => raw === undefined || raw.length === 0
|
|
136
|
+
? null
|
|
137
|
+
: parseTokenBudget(raw, name, label);
|
|
138
|
+
const resolveGeneration = (outputSpec, reasoningSpec, contextWindow, maxOutputTokens, label) => {
|
|
139
|
+
const requestedOutput = outputSpec === null ? null : resolveTokenBudget(outputSpec, contextWindow);
|
|
140
|
+
const physicalCaps = [contextWindow, maxOutputTokens].filter((value) => value !== null);
|
|
141
|
+
const outputBudget = requestedOutput === null
|
|
142
|
+
? null
|
|
143
|
+
: Math.min(requestedOutput, ...physicalCaps);
|
|
144
|
+
if (contextWindow !== null && outputBudget !== null && outputBudget >= contextWindow) {
|
|
145
|
+
throw new Error(`${label} provider: PLURNK_PROVIDERS_OUTPUT_BUDGET (${outputBudget}) must leave positive input capacity inside the context window (${contextWindow})`);
|
|
146
|
+
}
|
|
147
|
+
const reasoningBudget = reasoningSpec === null
|
|
148
|
+
? null
|
|
149
|
+
: resolveTokenBudget(reasoningSpec, contextWindow);
|
|
150
|
+
if (reasoningBudget !== null && outputBudget === null) {
|
|
151
|
+
throw new Error(`${label} provider: PLURNK_PROVIDERS_REASONING_BUDGET requires a resolved PLURNK_PROVIDERS_OUTPUT_BUDGET; reasoning is a subset of total output`);
|
|
152
|
+
}
|
|
153
|
+
if (reasoningBudget !== null && outputBudget !== null && reasoningBudget >= outputBudget) {
|
|
154
|
+
throw new Error(`${label} provider: PLURNK_PROVIDERS_REASONING_BUDGET (${reasoningBudget}) exceeds the effective PLURNK_PROVIDERS_OUTPUT_BUDGET (${outputBudget}); reasoning is a subset of total output`);
|
|
155
|
+
}
|
|
156
|
+
return { outputBudget, reasoningBudget };
|
|
157
|
+
};
|
|
158
|
+
// Standard providers receive the shipped OUTPUT_BUDGET floor and fail hard if
|
|
159
|
+
// it is absent. Mock uses the tolerant sibling below so ordinary unit fixtures
|
|
160
|
+
// make no generation claim unless a test deliberately configures one.
|
|
161
|
+
export const generationEnvelopeFromEnv = (env, label, contextWindow, maxOutputTokens) => {
|
|
162
|
+
shedRetiredEnvelope(env, label);
|
|
163
|
+
return resolveGeneration(parseTokenBudget(env.PLURNK_PROVIDERS_OUTPUT_BUDGET, "PLURNK_PROVIDERS_OUTPUT_BUDGET", label), optionalTokenBudget(env.PLURNK_PROVIDERS_REASONING_BUDGET, "PLURNK_PROVIDERS_REASONING_BUDGET", label), contextWindow, maxOutputTokens, label);
|
|
164
|
+
};
|
|
165
|
+
export const resolveGenerationEnvelopeFromEnv = (env, contextWindow, maxOutputTokens = null) => {
|
|
166
|
+
shedRetiredEnvelope(env, "mock");
|
|
167
|
+
return resolveGeneration(optionalTokenBudget(env.PLURNK_PROVIDERS_OUTPUT_BUDGET, "PLURNK_PROVIDERS_OUTPUT_BUDGET", "mock"), optionalTokenBudget(env.PLURNK_PROVIDERS_REASONING_BUDGET, "PLURNK_PROVIDERS_REASONING_BUDGET", "mock"), contextWindow, maxOutputTokens, "mock");
|
|
123
168
|
};
|
|
124
169
|
export const reasoningResponseStyleFromEnv = (env, label) => {
|
|
125
170
|
const name = "PLURNK_PROVIDERS_REASONING_RESPONSE_STYLE";
|
|
@@ -131,7 +176,7 @@ export const reasoningResponseStyleFromEnv = (env, label) => {
|
|
|
131
176
|
}
|
|
132
177
|
return raw;
|
|
133
178
|
};
|
|
134
|
-
export const reasoningFromEnv = (env, label) => {
|
|
179
|
+
export const reasoningFromEnv = (env, label, resolvedBudget = null) => {
|
|
135
180
|
shedRenamed(env, "PLURNK_PROVIDERS_THINKING", "PLURNK_PROVIDERS_REASONING", label, "provider configuration contract"); // lexicon-allow
|
|
136
181
|
shedRenamed(env, "PLURNK_PROVIDERS_THINKING_CAPACITY", "PLURNK_PROVIDERS_REASONING_BUDGET", label, "provider configuration contract"); // lexicon-allow
|
|
137
182
|
const name = "PLURNK_PROVIDERS_REASONING";
|
|
@@ -140,16 +185,7 @@ export const reasoningFromEnv = (env, label) => {
|
|
|
140
185
|
throw new Error(`${label} provider: ${name} must be set (off | adaptive | on)`);
|
|
141
186
|
if (raw !== "off" && raw !== "adaptive" && raw !== "on")
|
|
142
187
|
throw new Error(`${label} provider: ${name} must be one of "off", "adaptive", "on" (got "${raw}")`);
|
|
143
|
-
|
|
144
|
-
return { mode: raw, budget: null };
|
|
145
|
-
const capName = "PLURNK_PROVIDERS_REASONING_BUDGET";
|
|
146
|
-
const capRaw = env[capName];
|
|
147
|
-
if (capRaw === undefined || capRaw.length === 0)
|
|
148
|
-
throw new Error(`${label} provider: ${capName} must be set when ${name}=on`);
|
|
149
|
-
const n = Number(capRaw);
|
|
150
|
-
if (!Number.isInteger(n) || n <= 0)
|
|
151
|
-
throw new Error(`${label} provider: ${capName} must be a positive integer (got "${capRaw}")`);
|
|
152
|
-
return { mode: "on", budget: n };
|
|
188
|
+
return { mode: raw, budget: raw === "off" ? null : resolvedBudget };
|
|
153
189
|
};
|
|
154
190
|
// ── Per-alias knob scoping (per-alias scoping doctrine, user 2026-07-03): PLURNK_PROVIDERS_<KNOB>[_<alias>] ──
|
|
155
191
|
// Every plurnk-owned knob accepts a per-alias override — the suffixed form wins,
|
|
@@ -159,22 +195,24 @@ export const reasoningFromEnv = (env, label) => {
|
|
|
159
195
|
// facts (API keys, canonical endpoints) remain vendor-named; the per-alias
|
|
160
196
|
// endpoint override stays PLURNK_BASEURL_<alias> (its existing precedent).
|
|
161
197
|
export const PROVIDERS_KNOBS = Object.freeze([
|
|
162
|
-
"
|
|
163
|
-
"PLURNK_PROVIDERS_COMPLETION_RESERVE",
|
|
198
|
+
"PLURNK_PROVIDERS_OUTPUT_BUDGET",
|
|
164
199
|
"PLURNK_PROVIDERS_REASONING_RESPONSE_STYLE",
|
|
165
200
|
"PLURNK_PROVIDERS_REASONING_BUDGET",
|
|
166
201
|
"PLURNK_PROVIDERS_REASONING",
|
|
167
202
|
"PLURNK_PROVIDERS_CONTEXT_WINDOW",
|
|
168
203
|
"PLURNK_PROVIDERS_RETRY_ATTEMPTS",
|
|
169
204
|
"PLURNK_PROVIDERS_ERROR_DETAIL_LIMIT",
|
|
205
|
+
"PLURNK_PROVIDERS_OPERATION_TIMEOUT",
|
|
170
206
|
"PLURNK_PROVIDERS_FETCH_TIMEOUT",
|
|
207
|
+
"PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT",
|
|
171
208
|
"PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT",
|
|
172
209
|
"PLURNK_PROVIDERS_LLAMA_SERVER",
|
|
173
210
|
"PLURNK_PROVIDERS_TEMPERATURE",
|
|
174
211
|
"PLURNK_PROVIDERS_REPEAT_PENALTY",
|
|
175
212
|
"PLURNK_PROVIDERS_FREQUENCY_PENALTY",
|
|
176
213
|
"PLURNK_PROVIDERS_SERVICE_TIER",
|
|
177
|
-
"
|
|
214
|
+
"PLURNK_PROVIDERS_CACHE_WRITE_POLICY",
|
|
215
|
+
"PLURNK_PROVIDERS_CACHE_AFFINITY",
|
|
178
216
|
"PLURNK_PROVIDERS_REPEAT_LAST_N",
|
|
179
217
|
"PLURNK_PROVIDERS_DRY_MULTIPLIER",
|
|
180
218
|
"PLURNK_PROVIDERS_DRY_BASE",
|
|
@@ -192,10 +230,9 @@ export const PROVIDERS_KNOBS = Object.freeze([
|
|
|
192
230
|
// single overlay.
|
|
193
231
|
//
|
|
194
232
|
// `knobs` (optional) lets a CONSUMER scope its OWN closed knob list with this
|
|
195
|
-
// same parser — e.g.
|
|
196
|
-
//
|
|
197
|
-
//
|
|
198
|
-
// rules. Default stays the providers-family list; my call sites pass nothing.
|
|
233
|
+
// same parser — e.g. service loop policy or prompt projection — without
|
|
234
|
+
// reimplementing the suffix/collision rules. Default stays the
|
|
235
|
+
// providers-family list; provider call sites pass nothing.
|
|
199
236
|
export const scopeEnvToAlias = (env, alias, knobs = PROVIDERS_KNOBS) => {
|
|
200
237
|
const folded = alias.toLowerCase();
|
|
201
238
|
const out = { ...env };
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,27 +1,41 @@
|
|
|
1
1
|
import { type ProblemDetails } from "@plurnk/plurnk-contracts";
|
|
2
|
-
import type { ProviderAttempt } from "./types.ts";
|
|
3
|
-
export type ProviderErrorKind = "rate_limit" | "network_failure" | "model_refused" | "invalid_response" | "unauthorized" | "quota_exceeded" | "grammar_invalid" | "resource_interrupted";
|
|
2
|
+
import type { ProviderAttempt, ProviderRequestAccounting, ProviderRequestCapacity } from "./types.ts";
|
|
3
|
+
export type ProviderErrorKind = "rate_limit" | "network_failure" | "deadline_exceeded" | "model_refused" | "invalid_response" | "unauthorized" | "quota_exceeded" | "grammar_invalid" | "capacity_exceeded" | "resource_interrupted";
|
|
4
4
|
export interface ClassifiedProviderError {
|
|
5
5
|
kind: ProviderErrorKind;
|
|
6
6
|
message: string;
|
|
7
7
|
retryable?: boolean;
|
|
8
8
|
attempts?: number;
|
|
9
9
|
retryExhausted?: boolean;
|
|
10
|
+
extensions?: Readonly<Record<string, unknown>>;
|
|
10
11
|
}
|
|
12
|
+
export type ProviderTimeoutPhase = "attempt" | "first_content" | "stream_idle" | "operation";
|
|
13
|
+
export declare class ProviderTimeoutError extends Error {
|
|
14
|
+
readonly phase: ProviderTimeoutPhase;
|
|
15
|
+
readonly timeoutMs: number;
|
|
16
|
+
constructor(phase: ProviderTimeoutPhase, timeoutMs: number, cause?: unknown);
|
|
17
|
+
}
|
|
18
|
+
export declare const providerTimeoutOf: (error: unknown) => ProviderTimeoutError | null;
|
|
11
19
|
export declare class ProviderError extends Error {
|
|
20
|
+
#private;
|
|
12
21
|
readonly source: string;
|
|
13
22
|
readonly kind: ProviderErrorKind;
|
|
14
23
|
readonly problem: ProblemDetails;
|
|
15
24
|
readonly attempt?: ProviderAttempt;
|
|
25
|
+
readonly capacity?: ProviderRequestCapacity;
|
|
16
26
|
constructor(source: string, kind: ProviderErrorKind, message: string, options?: {
|
|
17
27
|
status?: number | null;
|
|
18
28
|
cause?: unknown;
|
|
19
29
|
retryable?: boolean;
|
|
20
30
|
extensions?: Readonly<Record<string, unknown>>;
|
|
21
31
|
attempt?: ProviderAttempt;
|
|
32
|
+
accounting?: readonly ProviderRequestAccounting[];
|
|
33
|
+
capacity?: ProviderRequestCapacity;
|
|
22
34
|
});
|
|
23
35
|
get status(): number;
|
|
36
|
+
get accounting(): readonly ProviderRequestAccounting[];
|
|
37
|
+
prependAccounting(accounting: readonly ProviderRequestAccounting[]): void;
|
|
24
38
|
}
|
|
25
39
|
export declare const classifyProviderError: (err: unknown, detailLimit?: number) => ClassifiedProviderError;
|
|
26
|
-
export declare const toProviderError: (err: unknown, source: string, detailLimit?: number) => ProviderError;
|
|
40
|
+
export declare const toProviderError: (err: unknown, source: string, detailLimit?: number, capacity?: ProviderRequestCapacity) => ProviderError;
|
|
27
41
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGzE,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtG,MAAM,MAAM,iBAAiB,GACvB,YAAY,GACZ,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,CAAC;AAE7B,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,GAAG,WAAW,CAAC;AAE7F,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAW1E;CACJ;AAED,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,oBAAoB,GAAG,IASzE,CAAC;AAkEF,qBAAa,aAAc,SAAQ,KAAK;;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAG5C,YACI,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACL,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,eAAe,CAAC;QAC1B,UAAU,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;QAClD,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACjC,EAqBT;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,UAAU,IAAI,SAAS,yBAAyB,EAAE,CAErD;IAID,iBAAiB,CAAC,UAAU,EAAE,SAAS,yBAAyB,EAAE,GAAG,IAAI,CAExE;CACJ;AA0BD,eAAO,MAAM,qBAAqB,QACzB,OAAO,gBACE,MAAM,KACrB,uBAuEF,CAAC;AAEF,eAAO,MAAM,eAAe,QACnB,OAAO,UACJ,MAAM,gBACA,MAAM,aACT,uBAAuB,KACnC,aAsBF,CAAC"}
|
package/dist/errors.js
CHANGED
|
@@ -1,14 +1,43 @@
|
|
|
1
1
|
import { Problems } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import { APICallError, RetryError } from "ai";
|
|
3
3
|
import { providerSource } from "./notices.js";
|
|
4
|
+
export class ProviderTimeoutError extends Error {
|
|
5
|
+
phase;
|
|
6
|
+
timeoutMs;
|
|
7
|
+
constructor(phase, timeoutMs, cause) {
|
|
8
|
+
const labels = {
|
|
9
|
+
attempt: "Provider attempt",
|
|
10
|
+
first_content: "First provider content",
|
|
11
|
+
stream_idle: "Provider stream idle",
|
|
12
|
+
operation: "Provider operation",
|
|
13
|
+
};
|
|
14
|
+
super(`${labels[phase]} exceeded its ${timeoutMs} ms deadline.`, cause === undefined ? undefined : { cause });
|
|
15
|
+
this.name = "ProviderTimeoutError";
|
|
16
|
+
this.phase = phase;
|
|
17
|
+
this.timeoutMs = timeoutMs;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const providerTimeoutOf = (error) => {
|
|
21
|
+
const seen = new Set();
|
|
22
|
+
let current = error;
|
|
23
|
+
while (typeof current === "object" && current !== null && !seen.has(current)) {
|
|
24
|
+
if (current instanceof ProviderTimeoutError)
|
|
25
|
+
return current;
|
|
26
|
+
seen.add(current);
|
|
27
|
+
current = current.cause;
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
};
|
|
4
31
|
const defaultStatus = (kind) => {
|
|
5
32
|
switch (kind) {
|
|
6
33
|
case "unauthorized": return 401;
|
|
7
34
|
case "quota_exceeded": return 402;
|
|
35
|
+
case "capacity_exceeded": return 413;
|
|
8
36
|
case "rate_limit": return 429;
|
|
9
37
|
case "model_refused":
|
|
10
38
|
case "grammar_invalid": return 422;
|
|
11
39
|
case "invalid_response": return 502;
|
|
40
|
+
case "deadline_exceeded": return 504;
|
|
12
41
|
case "network_failure":
|
|
13
42
|
case "resource_interrupted": return 503;
|
|
14
43
|
}
|
|
@@ -18,8 +47,10 @@ const retryable = (kind) => {
|
|
|
18
47
|
case "rate_limit":
|
|
19
48
|
case "network_failure":
|
|
20
49
|
return true;
|
|
50
|
+
case "deadline_exceeded":
|
|
21
51
|
case "invalid_response":
|
|
22
52
|
case "grammar_invalid":
|
|
53
|
+
case "capacity_exceeded":
|
|
23
54
|
case "resource_interrupted":
|
|
24
55
|
case "model_refused":
|
|
25
56
|
case "unauthorized":
|
|
@@ -31,11 +62,13 @@ const buildProblem = (source, kind, message, status, extensions, retryableOverri
|
|
|
31
62
|
const code = {
|
|
32
63
|
rate_limit: "rate-limit",
|
|
33
64
|
network_failure: "network-failure",
|
|
65
|
+
deadline_exceeded: "deadline-exceeded",
|
|
34
66
|
model_refused: "model-refused",
|
|
35
67
|
invalid_response: "invalid-response",
|
|
36
68
|
unauthorized: "unauthorized",
|
|
37
69
|
quota_exceeded: "quota-exceeded",
|
|
38
70
|
grammar_invalid: "grammar-invalid",
|
|
71
|
+
capacity_exceeded: "capacity-exceeded",
|
|
39
72
|
resource_interrupted: "resource-interrupted",
|
|
40
73
|
};
|
|
41
74
|
return Problems.create(source, code[kind], status, message, {
|
|
@@ -54,12 +87,16 @@ export class ProviderError extends Error {
|
|
|
54
87
|
kind;
|
|
55
88
|
problem;
|
|
56
89
|
attempt;
|
|
90
|
+
capacity;
|
|
91
|
+
#accounting;
|
|
57
92
|
constructor(source, kind, message, options = {}) {
|
|
58
93
|
super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
|
|
59
94
|
this.name = "ProviderError";
|
|
60
95
|
this.source = providerSource(source);
|
|
61
96
|
this.kind = kind;
|
|
62
97
|
this.attempt = options.attempt;
|
|
98
|
+
this.capacity = options.capacity ?? options.attempt?.capacity;
|
|
99
|
+
this.#accounting = [...(options.accounting ?? options.attempt?.accounting ?? [])];
|
|
63
100
|
const status = options.status !== null && options.status !== undefined
|
|
64
101
|
&& Number.isInteger(options.status) && options.status >= 400 && options.status <= 599
|
|
65
102
|
? options.status
|
|
@@ -69,16 +106,32 @@ export class ProviderError extends Error {
|
|
|
69
106
|
get status() {
|
|
70
107
|
return this.problem.status;
|
|
71
108
|
}
|
|
109
|
+
get accounting() {
|
|
110
|
+
return this.#accounting;
|
|
111
|
+
}
|
|
112
|
+
// A capacity pool adds the already-settled requests from prior backends as
|
|
113
|
+
// the same failure crosses that orchestration boundary.
|
|
114
|
+
prependAccounting(accounting) {
|
|
115
|
+
if (accounting.length > 0)
|
|
116
|
+
this.#accounting = [...accounting, ...this.#accounting];
|
|
117
|
+
}
|
|
72
118
|
}
|
|
73
|
-
const
|
|
119
|
+
const wireError = (body) => {
|
|
74
120
|
try {
|
|
75
121
|
const { error } = JSON.parse(body);
|
|
76
|
-
|
|
122
|
+
const record = error;
|
|
123
|
+
return {
|
|
124
|
+
type: typeof record?.type === "string" ? record.type : null,
|
|
125
|
+
code: typeof record?.code === "string" || typeof record?.code === "number" ? String(record.code) : null,
|
|
126
|
+
message: typeof record?.message === "string" ? record.message : null,
|
|
127
|
+
};
|
|
77
128
|
}
|
|
78
129
|
catch {
|
|
79
|
-
return null;
|
|
130
|
+
return { type: null, code: null, message: null };
|
|
80
131
|
}
|
|
81
132
|
};
|
|
133
|
+
const CAPACITY_CODE = /^(?:context_length_exceeded|context_window_exceeded|input_too_long|prompt_too_long|request_too_large|token_limit_exceeded|max_tokens_exceeded)$/i;
|
|
134
|
+
const CAPACITY_MESSAGE = /(?:maximum context length|context (?:length|window).*(?:exceed|too (?:large|long)|maximum)|(?:input|prompt|request).*(?:token|length|size).*(?:exceed|too (?:large|long)|maximum))/i;
|
|
82
135
|
const preview = (value, limit) => {
|
|
83
136
|
const text = value instanceof Error ? value.message : String(value);
|
|
84
137
|
return limit !== undefined && text.length > limit
|
|
@@ -95,22 +148,47 @@ export const classifyProviderError = (err, detailLimit) => {
|
|
|
95
148
|
};
|
|
96
149
|
}
|
|
97
150
|
if (APICallError.isInstance(err)) {
|
|
151
|
+
const timeout = providerTimeoutOf(err);
|
|
152
|
+
if (timeout !== null) {
|
|
153
|
+
return {
|
|
154
|
+
kind: "network_failure",
|
|
155
|
+
message: timeout.message,
|
|
156
|
+
extensions: {
|
|
157
|
+
timeoutPhase: timeout.phase,
|
|
158
|
+
timeoutMs: timeout.timeoutMs,
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
98
162
|
const status = err.statusCode ?? 0;
|
|
99
163
|
const message = err.message.trim().length > 0
|
|
100
164
|
? preview(err.message, detailLimit)
|
|
101
165
|
: "The provider request failed without a diagnostic message.";
|
|
102
166
|
const body = err.responseBody ?? "";
|
|
167
|
+
const wire = wireError(body);
|
|
103
168
|
if (status === 401 || status === 403)
|
|
104
169
|
return { kind: "unauthorized", message };
|
|
105
170
|
if (status === 402)
|
|
106
171
|
return { kind: "quota_exceeded", message };
|
|
107
172
|
if (status === 429)
|
|
108
|
-
return { kind: "rate_limit", message };
|
|
173
|
+
return { kind: "rate_limit", message, retryable: err.isRetryable };
|
|
174
|
+
if (status === 408 || status === 409) {
|
|
175
|
+
return { kind: "network_failure", message, retryable: err.isRetryable };
|
|
176
|
+
}
|
|
109
177
|
if (status === 0 && err.isRetryable)
|
|
110
178
|
return { kind: "network_failure", message };
|
|
111
179
|
if (status >= 500)
|
|
112
|
-
return { kind: "network_failure", message };
|
|
113
|
-
if (status ===
|
|
180
|
+
return { kind: "network_failure", message, retryable: err.isRetryable };
|
|
181
|
+
if (status === 413 || ((status === 400 || status === 422)
|
|
182
|
+
&& ((wire.code !== null && CAPACITY_CODE.test(wire.code))
|
|
183
|
+
|| (wire.type !== null && CAPACITY_CODE.test(wire.type))
|
|
184
|
+
|| CAPACITY_MESSAGE.test(wire.message ?? message)))) {
|
|
185
|
+
return {
|
|
186
|
+
kind: "capacity_exceeded",
|
|
187
|
+
message,
|
|
188
|
+
extensions: status === 413 ? undefined : { providerStatus: status },
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
if (status === 422 && wire.type === "grammar_invalid") {
|
|
114
192
|
return { kind: "grammar_invalid", message };
|
|
115
193
|
}
|
|
116
194
|
return { kind: "invalid_response", message };
|
|
@@ -130,23 +208,28 @@ export const classifyProviderError = (err, detailLimit) => {
|
|
|
130
208
|
message: preview((error?.message ?? String(err)) || "The provider request failed.", detailLimit),
|
|
131
209
|
};
|
|
132
210
|
};
|
|
133
|
-
export const toProviderError = (err, source, detailLimit) => {
|
|
211
|
+
export const toProviderError = (err, source, detailLimit, capacity) => {
|
|
134
212
|
if (err instanceof ProviderError)
|
|
135
213
|
return err;
|
|
136
214
|
const underlying = RetryError.isInstance(err) ? err.lastError : err;
|
|
137
215
|
const classified = classifyProviderError(err, detailLimit);
|
|
138
216
|
const { kind, message } = classified;
|
|
139
|
-
const
|
|
217
|
+
const upstreamStatus = APICallError.isInstance(underlying) ? underlying.statusCode ?? null : null;
|
|
218
|
+
const status = kind === "capacity_exceeded" ? 413 : upstreamStatus;
|
|
140
219
|
return new ProviderError(source, kind, message, {
|
|
141
220
|
status,
|
|
142
221
|
cause: err,
|
|
143
222
|
retryable: classified.retryable,
|
|
144
223
|
extensions: {
|
|
224
|
+
...(classified.extensions ?? {}),
|
|
225
|
+
...(kind === "capacity_exceeded" ? { capacityStage: "upstream" } : {}),
|
|
226
|
+
...(capacity === undefined ? {} : { capacity }),
|
|
145
227
|
...(classified.attempts === undefined ? {} : { attempts: classified.attempts }),
|
|
146
228
|
...(classified.retryExhausted === undefined
|
|
147
229
|
? {}
|
|
148
230
|
: { retryExhausted: classified.retryExhausted }),
|
|
149
231
|
},
|
|
232
|
+
capacity,
|
|
150
233
|
});
|
|
151
234
|
};
|
|
152
235
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type { ChatMessage, FinishReason, GrammarEvidence, Provider, ProviderAssistant, ProviderAttempt, ProviderAttemptFinishReason, AiSdkProviderPlugin, ProviderOptions, ProviderResponse, ProviderEncryptedReasoningItem, ProviderUsage, PromptTokenMeasurement, TokenLogprob, TokenAlternative,
|
|
2
|
-
export type { ProviderCost } from "@plurnk/plurnk-contracts";
|
|
1
|
+
export type { ChatMessage, FinishReason, GrammarEvidence, Provider, ProviderAssistant, ProviderAttempt, ProviderAttemptFinishReason, AiSdkProviderPlugin, ProviderOptions, ProviderResponse, ProviderEncryptedReasoningItem, ProviderAccounting, ProviderCost, ProviderCostNormalizer, ProviderCallKind, ProviderGenerateArgs, ProviderRequestAccounting, ProviderRequestCapacity, ProviderRequestCapacityDecision, ProviderRequestIdentity, ProviderRequestObserver, ProviderRequestSettlement, ProviderUsage, PromptTokenMeasurement, TokenLogprob, TokenAlternative, } from "./types.ts";
|
|
3
2
|
export { assertPromptTokenMeasurement } from "./promptTokens.ts";
|
|
3
|
+
export { assessRequestCapacity, effectiveInputCapacity, effectiveOutputBudget, requestCapacityDecision } from "./capacity.ts";
|
|
4
4
|
export type { ProviderAlias } from "@plurnk/plurnk-aliases";
|
|
5
5
|
export { parseAliasesFromEnv, resolveActiveAlias } from "@plurnk/plurnk-aliases";
|
|
6
6
|
export { instantiateProvider, loadActiveProvider, resetDiscoveryCache, } from "./ProviderRegistry.ts";
|
|
@@ -10,10 +10,11 @@ export { default as AiSdkProvider, effortFromBudget } from "./AiSdkProvider.ts";
|
|
|
10
10
|
export type { AiSdkProviderConfig, ReasoningStyle, GrammarStyle } from "./AiSdkProvider.ts";
|
|
11
11
|
export { default as Pool } from "./Pool.ts";
|
|
12
12
|
export type { ProviderFetch } from "./AiSdkProvider.ts";
|
|
13
|
-
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, reasoningResponseStyleFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, effectiveContextWindow,
|
|
14
|
-
export type { Reasoning, ReasoningMode, ReasoningResponseStyle,
|
|
15
|
-
export { normalizeUsage,
|
|
16
|
-
export {
|
|
13
|
+
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, reasoningResponseStyleFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, effectiveContextWindow, generationEnvelopeFromEnv, resolveGenerationEnvelopeFromEnv, resolveTokenBudget, PROVIDERS_KNOBS } from "./env.ts";
|
|
14
|
+
export type { GenerationEnvelope, Reasoning, ReasoningMode, ReasoningResponseStyle, TokenBudgetSpec } from "./env.ts";
|
|
15
|
+
export { normalizeUsage, calculateCostUsdDecimal, validateProviderUsage } from "./usage.ts";
|
|
16
|
+
export { addDecimals, estimateProviderCost, providerCostUsd, resolveProviderCost, sumProviderCostsUsd, validateChargedCost, validateDecimal, validateProviderCost, } from "./cost.ts";
|
|
17
|
+
export { aggregateProviderAccounting, plurnkCostNormalizer, providerCostNormalizer, validateProviderRequestAccounting, } from "./accounting.ts";
|
|
17
18
|
export type { RawUsage, TokenRates } from "./usage.ts";
|
|
18
19
|
export { ProviderError, classifyProviderError, toProviderError } from "./errors.ts";
|
|
19
20
|
export { providerSource } from "./notices.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAK9H,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChF,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI5F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxV,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACH,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,GACpC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EACR,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { assertPromptTokenMeasurement } from "./promptTokens.js";
|
|
2
|
+
export { assessRequestCapacity, effectiveInputCapacity, effectiveOutputBudget, requestCapacityDecision } from "./capacity.js";
|
|
2
3
|
export { parseAliasesFromEnv, resolveActiveAlias } from "@plurnk/plurnk-aliases";
|
|
3
4
|
export { instantiateProvider, loadActiveProvider, resetDiscoveryCache, } from "./ProviderRegistry.js";
|
|
4
5
|
// Scope-agnostic plugin discovery ({§plugin-family-kind}).
|
|
@@ -9,9 +10,10 @@ export { default as AiSdkProvider, effortFromBudget } from "./AiSdkProvider.js";
|
|
|
9
10
|
// worker-sticky for KV-cache reuse, overflow to a healthy sibling; the blend
|
|
10
11
|
// DECISION stays the consumer's, by choosing which pool to call.
|
|
11
12
|
export { default as Pool } from "./Pool.js";
|
|
12
|
-
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, reasoningResponseStyleFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, effectiveContextWindow,
|
|
13
|
-
export { normalizeUsage,
|
|
14
|
-
export {
|
|
13
|
+
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, reasoningResponseStyleFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, effectiveContextWindow, generationEnvelopeFromEnv, resolveGenerationEnvelopeFromEnv, resolveTokenBudget, PROVIDERS_KNOBS } from "./env.js";
|
|
14
|
+
export { normalizeUsage, calculateCostUsdDecimal, validateProviderUsage } from "./usage.js";
|
|
15
|
+
export { addDecimals, estimateProviderCost, providerCostUsd, resolveProviderCost, sumProviderCostsUsd, validateChargedCost, validateDecimal, validateProviderCost, } from "./cost.js";
|
|
16
|
+
export { aggregateProviderAccounting, plurnkCostNormalizer, providerCostNormalizer, validateProviderRequestAccounting, } from "./accounting.js";
|
|
15
17
|
export { ProviderError, classifyProviderError, toProviderError } from "./errors.js";
|
|
16
18
|
export { providerSource } from "./notices.js";
|
|
17
19
|
export { default as Mock } from "./Mock.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAM9H,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,+EAA+E;AAC/E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,+EAA+E;AAC/E,6EAA6E;AAC7E,iEAAiE;AACjE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,eAAe,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAExV,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EACH,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,GACpC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAS9C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|