@plurnk/plurnk-providers 1.3.12 → 1.5.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/.env.defaults +47 -38
- package/README.md +68 -4
- package/SPEC.md +245 -62
- package/dist/AiSdkProvider.d.ts +19 -5
- package/dist/AiSdkProvider.d.ts.map +1 -1
- package/dist/AiSdkProvider.js +264 -156
- package/dist/AiSdkProvider.js.map +1 -1
- package/dist/Mock.d.ts +15 -17
- package/dist/Mock.d.ts.map +1 -1
- package/dist/Mock.js +27 -10
- package/dist/Mock.js.map +1 -1
- package/dist/Pool.d.ts +8 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +41 -8
- package/dist/Pool.js.map +1 -1
- package/dist/ProviderRegistry.d.ts +4 -1
- package/dist/ProviderRegistry.d.ts.map +1 -1
- package/dist/ProviderRegistry.js +7 -3
- package/dist/ProviderRegistry.js.map +1 -1
- package/dist/accounting.d.ts +3 -0
- package/dist/accounting.d.ts.map +1 -0
- package/dist/accounting.js +84 -0
- package/dist/accounting.js.map +1 -0
- package/dist/aiSdkTransport.d.ts +5 -2
- package/dist/aiSdkTransport.d.ts.map +1 -1
- package/dist/aiSdkTransport.js +91 -5
- package/dist/aiSdkTransport.js.map +1 -1
- package/dist/catalogProvider.d.ts +5 -2
- package/dist/catalogProvider.d.ts.map +1 -1
- package/dist/catalogProvider.js +24 -11
- package/dist/catalogProvider.js.map +1 -1
- package/dist/compatibleProvider.d.ts.map +1 -1
- package/dist/compatibleProvider.js +11 -4
- package/dist/compatibleProvider.js.map +1 -1
- package/dist/cost.d.ts +11 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +61 -0
- package/dist/cost.js.map +1 -0
- package/dist/discover.d.ts +2 -0
- package/dist/discover.d.ts.map +1 -1
- package/dist/discover.js +15 -9
- package/dist/discover.js.map +1 -1
- package/dist/env.d.ts +4 -6
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +27 -29
- package/dist/env.js.map +1 -1
- package/dist/errors.d.ts +27 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +152 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/notices.d.ts +10 -0
- package/dist/notices.d.ts.map +1 -0
- package/dist/notices.js +11 -0
- package/dist/notices.js.map +1 -0
- package/dist/ollama.d.ts.map +1 -1
- package/dist/ollama.js +3 -3
- package/dist/ollama.js.map +1 -1
- package/dist/openai.d.ts +1 -1
- package/dist/openai.d.ts.map +1 -1
- package/dist/promptTokens.d.ts +4 -0
- package/dist/promptTokens.d.ts.map +1 -0
- package/dist/promptTokens.js +32 -0
- package/dist/promptTokens.js.map +1 -0
- package/dist/sdkModels.d.ts +2 -0
- package/dist/sdkModels.d.ts.map +1 -1
- package/dist/sdkModels.js +17 -6
- package/dist/sdkModels.js.map +1 -1
- package/dist/types.d.ts +52 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/usage.d.ts +4 -0
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +64 -19
- package/dist/usage.js.map +1 -1
- package/dist/warnings.js +0 -0
- package/dist/warnings.js.map +1 -1
- package/package.json +15 -10
- package/src/AiSdkProvider.test.ts +750 -169
- package/src/AiSdkProvider.ts +354 -200
- package/src/Mock.test.ts +29 -14
- package/src/Mock.ts +36 -15
- package/src/Pool.test.ts +43 -6
- package/src/Pool.ts +56 -10
- package/src/ProviderRegistry.test.ts +158 -9
- package/src/ProviderRegistry.ts +19 -6
- package/src/accounting.test.ts +58 -0
- package/src/accounting.ts +88 -0
- package/src/aiSdkTransport.ts +101 -8
- package/src/boundaries.test.ts +9 -3
- package/src/catalogProvider.test.ts +43 -15
- package/src/catalogProvider.ts +32 -16
- package/src/compatibleProvider.test.ts +96 -0
- package/src/compatibleProvider.ts +15 -6
- package/src/cost.test.ts +64 -0
- package/src/cost.ts +78 -0
- package/src/defaults.test.ts +1 -0
- package/src/discover.test.ts +48 -7
- package/src/discover.ts +31 -21
- package/src/env.test.ts +38 -48
- package/src/env.ts +43 -40
- package/src/errors.test.ts +148 -0
- package/src/errors.ts +208 -0
- package/src/index.ts +30 -8
- package/src/lexicon-guard.test.ts +6 -6
- package/src/notices.ts +22 -0
- package/src/ollama.test.ts +64 -0
- package/src/ollama.ts +6 -3
- package/src/openai.ts +3 -0
- package/src/promptTokens.ts +41 -0
- package/src/sdkModels.test.ts +29 -3
- package/src/sdkModels.ts +19 -11
- package/src/types.ts +125 -64
- package/src/usage.test.ts +24 -5
- package/src/usage.ts +72 -21
- package/src/warnings.test.ts +10 -10
- package/src/warnings.ts +0 -0
- package/dist/OpenAICompat.d.ts +0 -76
- package/dist/OpenAICompat.d.ts.map +0 -1
- package/dist/OpenAICompat.js +0 -555
- package/dist/OpenAICompat.js.map +0 -1
- package/dist/openaiStream.d.ts +0 -47
- package/dist/openaiStream.d.ts.map +0 -1
- package/dist/openaiStream.js +0 -280
- package/dist/openaiStream.js.map +0 -1
- package/dist/standardProviders.d.ts +0 -31
- package/dist/standardProviders.d.ts.map +0 -1
- package/dist/standardProviders.js +0 -518
- package/dist/standardProviders.js.map +0 -1
- package/dist/telemetry.d.ts +0 -24
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/telemetry.js +0 -85
- package/dist/telemetry.js.map +0 -1
- package/src/telemetry.test.ts +0 -69
- package/src/telemetry.ts +0 -116
package/dist/cost.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const DECIMAL = /^(?:0|[1-9]\d*)(?:\.\d+)?$/;
|
|
2
|
+
const CURRENCY = /^[A-Z][A-Z0-9]{2,11}$/;
|
|
3
|
+
const nonEmpty = (value, name) => {
|
|
4
|
+
if (value.trim() === "")
|
|
5
|
+
throw new TypeError(`${name} must be non-empty`);
|
|
6
|
+
return value;
|
|
7
|
+
};
|
|
8
|
+
const decimal = (value, name) => {
|
|
9
|
+
if (!DECIMAL.test(value))
|
|
10
|
+
throw new TypeError(`${name} must be a canonical non-negative decimal string`);
|
|
11
|
+
return value;
|
|
12
|
+
};
|
|
13
|
+
export const validateAuthoritativeCharge = (charge) => {
|
|
14
|
+
if (charge.kind !== "authoritative")
|
|
15
|
+
throw new TypeError("provider charge must be authoritative");
|
|
16
|
+
decimal(charge.amount.amount, "provider charge amount");
|
|
17
|
+
if (!CURRENCY.test(charge.amount.currency)) {
|
|
18
|
+
throw new TypeError("provider charge currency must be an uppercase currency code");
|
|
19
|
+
}
|
|
20
|
+
decimal(charge.usdEquivalent, "provider charge USD equivalent");
|
|
21
|
+
nonEmpty(charge.source, "provider charge source");
|
|
22
|
+
return charge;
|
|
23
|
+
};
|
|
24
|
+
export const validateProviderCost = (cost) => {
|
|
25
|
+
switch (cost.kind) {
|
|
26
|
+
case "authoritative":
|
|
27
|
+
return validateAuthoritativeCharge(cost);
|
|
28
|
+
case "estimated":
|
|
29
|
+
decimal(cost.usd, "provider cost estimate");
|
|
30
|
+
nonEmpty(cost.source, "provider cost estimate source");
|
|
31
|
+
return cost;
|
|
32
|
+
case "free":
|
|
33
|
+
nonEmpty(cost.source, "provider free source");
|
|
34
|
+
return cost;
|
|
35
|
+
case "unknown":
|
|
36
|
+
nonEmpty(cost.reason, "provider unknown-cost reason");
|
|
37
|
+
return cost;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
export const resolveProviderCost = (charge, current) => {
|
|
41
|
+
if (charge !== undefined)
|
|
42
|
+
return validateAuthoritativeCharge(charge);
|
|
43
|
+
if (current !== undefined)
|
|
44
|
+
return validateProviderCost(current);
|
|
45
|
+
return {
|
|
46
|
+
kind: "unknown",
|
|
47
|
+
reason: "the response reported no cost and Models.dev has no rate for this model",
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export const providerCostUsd = (cost) => {
|
|
51
|
+
const value = cost.kind === "authoritative"
|
|
52
|
+
? cost.usdEquivalent
|
|
53
|
+
: cost.kind === "estimated"
|
|
54
|
+
? cost.usd
|
|
55
|
+
: cost.kind === "free"
|
|
56
|
+
? "0"
|
|
57
|
+
: null;
|
|
58
|
+
return value === null ? null : Number(value);
|
|
59
|
+
};
|
|
60
|
+
export const providerCostFor = (provider, usage, charge) => resolveProviderCost(charge, provider.calculateCharge?.(usage));
|
|
61
|
+
//# sourceMappingURL=cost.js.map
|
package/dist/cost.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"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"}
|
package/dist/discover.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PackageAttributions } from "@plurnk/plurnk-meta";
|
|
1
2
|
export type DiscoverOptions = {
|
|
2
3
|
cwd?: string;
|
|
3
4
|
packageDirs?: string[];
|
|
@@ -7,6 +8,7 @@ export type Discovery = {
|
|
|
7
8
|
registry: Map<string, string>;
|
|
8
9
|
skipped: Map<string, string>;
|
|
9
10
|
attributions: Map<string, string | string[]>;
|
|
11
|
+
packageAttributions: PackageAttributions;
|
|
10
12
|
};
|
|
11
13
|
export declare const discover: (options?: DiscoverOptions) => Promise<Discovery>;
|
|
12
14
|
//# sourceMappingURL=discover.d.ts.map
|
package/dist/discover.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,mBAAmB,EAGtB,MAAM,qBAAqB,CAAC;AAsB7B,MAAM,MAAM,eAAe,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC7C,mBAAmB,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAGF,eAAO,MAAM,QAAQ,aAAmB,eAAe,KAAQ,OAAO,CAAC,SAAS,CA6B/E,CAAC"}
|
package/dist/discover.js
CHANGED
|
@@ -7,6 +7,7 @@ export const discover = async (options = {}) => {
|
|
|
7
7
|
const registry = new Map();
|
|
8
8
|
const skipped = new Map();
|
|
9
9
|
const attributions = new Map();
|
|
10
|
+
const packageAttributions = new Map();
|
|
10
11
|
for (const dir of dirs) {
|
|
11
12
|
const info = await readProviderInfo(dir);
|
|
12
13
|
if (info === null)
|
|
@@ -20,11 +21,15 @@ export const discover = async (options = {}) => {
|
|
|
20
21
|
throw new Error(`provider name collision: '${info.name}' claimed by both `
|
|
21
22
|
+ `${existing} and ${info.packageName}`);
|
|
22
23
|
}
|
|
24
|
+
const tags = Meta.normalizeAttribution(info.attribution, info.packageName);
|
|
23
25
|
registry.set(info.name, info.packageName);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
const attribution = attributionProjection(info.attribution, tags);
|
|
27
|
+
if (attribution !== undefined)
|
|
28
|
+
attributions.set(info.name, attribution);
|
|
29
|
+
if (tags.length > 0)
|
|
30
|
+
packageAttributions.set(info.packageName, tags);
|
|
26
31
|
}
|
|
27
|
-
return { registry, skipped, attributions };
|
|
32
|
+
return { registry, skipped, attributions, packageAttributions };
|
|
28
33
|
};
|
|
29
34
|
// Enumerate every installed package directory — scoped and unscoped — under
|
|
30
35
|
// `<cwd>/node_modules`. Unreadable node_modules (e.g. nothing installed) → [].
|
|
@@ -54,16 +59,17 @@ const readProviderInfo = async (dir) => {
|
|
|
54
59
|
if (typeof plurnk !== "object" || plurnk === null)
|
|
55
60
|
return null;
|
|
56
61
|
const plurnkRec = plurnk;
|
|
57
|
-
if (plurnkRec
|
|
62
|
+
if (!Meta.declaresKind(plurnkRec, "provider"))
|
|
58
63
|
return null;
|
|
59
64
|
if (typeof plurnkRec.name !== "string" || plurnkRec.name === "")
|
|
60
65
|
return null;
|
|
61
66
|
if (typeof record.name !== "string" || record.name === "")
|
|
62
67
|
return null;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
return { name: plurnkRec.name, packageName: record.name, attribution: plurnkRec.attribution };
|
|
69
|
+
};
|
|
70
|
+
const attributionProjection = (raw, tags) => {
|
|
71
|
+
if (raw === undefined || raw === null)
|
|
72
|
+
return undefined;
|
|
73
|
+
return typeof raw === "string" ? raw : [...tags];
|
|
68
74
|
};
|
|
69
75
|
//# sourceMappingURL=discover.js.map
|
package/dist/discover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -9,12 +9,8 @@ export declare const dataCaptureFromEnv: (env: NodeJS.ProcessEnv, label: string)
|
|
|
9
9
|
rawBody: boolean;
|
|
10
10
|
};
|
|
11
11
|
export declare const contextWindowFromEnv: (env: NodeJS.ProcessEnv, label: string) => number | null;
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
cached: number;
|
|
15
|
-
output: number;
|
|
16
|
-
};
|
|
17
|
-
export declare const tokenRatesFromEnv: (env: NodeJS.ProcessEnv, label: string) => ProviderTokenRates | null;
|
|
12
|
+
export declare function effectiveContextWindow(operatorCap: number | null, naturalWindow: number): number;
|
|
13
|
+
export declare function effectiveContextWindow(operatorCap: number | null, naturalWindow: number | null): number | null;
|
|
18
14
|
export type ReserveSpec = {
|
|
19
15
|
percent: number;
|
|
20
16
|
} | {
|
|
@@ -34,6 +30,8 @@ export type Reasoning = {
|
|
|
34
30
|
mode: ReasoningMode;
|
|
35
31
|
budget: number | null;
|
|
36
32
|
};
|
|
33
|
+
export type ReasoningResponseStyle = "verbatim" | "think-tags";
|
|
34
|
+
export declare const reasoningResponseStyleFromEnv: (env: NodeJS.ProcessEnv, label: string) => ReasoningResponseStyle;
|
|
37
35
|
export declare const reasoningFromEnv: (env: NodeJS.ProcessEnv, label: string) => Reasoning;
|
|
38
36
|
export declare const PROVIDERS_KNOBS: readonly string[];
|
|
39
37
|
export declare const scopeEnvToAlias: (env: NodeJS.ProcessEnv, alias: string, knobs?: readonly string[]) => NodeJS.ProcessEnv;
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,KAAG,MAKvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,KAAG,MAAM,GAAG,IAKhG,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,KAAG,MAKtG,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,KAAG,MAAM,GAAG,IAK/G,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,KAAG,MAGjF,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,OAO7E,CAAC;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,KAAG,MAKvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,KAAG,MAAM,GAAG,IAKhG,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,KAAG,MAKtG,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,OAAO,MAAM,KAAG,MAAM,GAAG,IAK/G,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,SAAS,MAAM,KAAG,MAGjF,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,OAO7E,CAAC;AAoBF,eAAO,MAAM,kBAAkB,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CASxH,CAAC;AAIF,eAAO,MAAM,oBAAoB,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,MAAM,GAAG,IAGrF,CAAC;AAIF,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;AAClG,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAmBhH,MAAM,MAAM,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAenE,eAAO,MAAM,eAAe,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG;IAAE,gBAAgB,EAAE,WAAW,CAAC;IAAC,iBAAiB,EAAE,WAAW,CAAA;CAGrI,CAAC;AAIH,eAAO,MAAM,cAAc,SAAU,WAAW,UAAU,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,IACY,CAAC;AAQhG,eAAO,MAAM,sBAAsB,QAAS,MAAM,CAAC,UAAU,UAAU,MAAM,GAAG,IAAI,KAAG;IAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CAOzJ,CAAC;AAUF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE/D,eAAO,MAAM,6BAA6B,QACjC,MAAM,CAAC,UAAU,SACf,MAAM,KACd,sBAQF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,SAcxE,CAAC;AASF,eAAO,MAAM,eAAe,mBA0B1B,CAAC;AAaH,eAAO,MAAM,eAAe,QAAS,MAAM,CAAC,UAAU,SAAS,MAAM,UAAS,SAAS,MAAM,EAAE,KAAqB,MAAM,CAAC,UAkB1H,CAAC"}
|
package/dist/env.js
CHANGED
|
@@ -45,7 +45,7 @@ export const promptCacheKeyFromEnv = (env, label) => {
|
|
|
45
45
|
}
|
|
46
46
|
return value === "1";
|
|
47
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
|
|
51
51
|
// (each lexicon-allow), never as a live identifier.
|
|
@@ -54,7 +54,8 @@ 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
|
-
// Data-capture knobs
|
|
57
|
+
// {§provider-evidence} Data-capture knobs are read identically by every provider
|
|
58
|
+
// (standard AND
|
|
58
59
|
// plugin) so the opt-in surface is one source of truth. Both OFF by default —
|
|
59
60
|
// the flag is the isolation, so serving turns request and carry nothing.
|
|
60
61
|
// PLURNK_PROVIDERS_TOP_LOGPROBS "off" or a non-negative int = the OpenAI
|
|
@@ -72,31 +73,19 @@ export const dataCaptureFromEnv = (env, label) => {
|
|
|
72
73
|
rawBody: env.PLURNK_PROVIDERS_RAWBODY !== undefined && env.PLURNK_PROVIDERS_RAWBODY !== "" && env.PLURNK_PROVIDERS_RAWBODY !== "0",
|
|
73
74
|
};
|
|
74
75
|
};
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
// contextWindow); CONTEXT_SIZE was home-grown. One reader for base AND
|
|
78
|
-
// plugins, so the shed fires everywhere the knob is honored.
|
|
76
|
+
// {§model-fact-resolution} — one context-window reader for every provider path;
|
|
77
|
+
// the retired CONTEXT_SIZE spelling fails visibly at the same boundary.
|
|
79
78
|
export const contextWindowFromEnv = (env, label) => {
|
|
80
|
-
shedRenamed(env, "PLURNK_PROVIDERS_CONTEXT_SIZE", "PLURNK_PROVIDERS_CONTEXT_WINDOW", label, "
|
|
79
|
+
shedRenamed(env, "PLURNK_PROVIDERS_CONTEXT_SIZE", "PLURNK_PROVIDERS_CONTEXT_WINDOW", label, "{§model-fact-resolution}"); // lexicon-allow
|
|
81
80
|
return parseOptionalInt(env.PLURNK_PROVIDERS_CONTEXT_WINDOW, "PLURNK_PROVIDERS_CONTEXT_WINDOW", label);
|
|
82
81
|
};
|
|
83
|
-
export
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return null;
|
|
91
|
-
const input = parseRequiredFloat(env[inputName], inputName, label, 0);
|
|
92
|
-
return {
|
|
93
|
-
input,
|
|
94
|
-
cached: env[cachedName] === undefined || env[cachedName] === ""
|
|
95
|
-
? input
|
|
96
|
-
: parseRequiredFloat(env[cachedName], cachedName, label, 0),
|
|
97
|
-
output: parseRequiredFloat(env[outputName], outputName, label, 0),
|
|
98
|
-
};
|
|
99
|
-
};
|
|
82
|
+
export function effectiveContextWindow(operatorCap, naturalWindow) {
|
|
83
|
+
return operatorCap === null
|
|
84
|
+
? naturalWindow
|
|
85
|
+
: naturalWindow === null
|
|
86
|
+
? operatorCap
|
|
87
|
+
: Math.min(operatorCap, naturalWindow);
|
|
88
|
+
}
|
|
100
89
|
const parseReserve = (raw, name, label) => {
|
|
101
90
|
if (raw === undefined || raw.length === 0)
|
|
102
91
|
throw new Error(`${label} provider: ${name} must be set (a percentage of the window like "10%", or an absolute token count)`);
|
|
@@ -132,9 +121,19 @@ export const resolveEnvelopeFromEnv = (env, window) => {
|
|
|
132
121
|
completionReserve: one(env.PLURNK_PROVIDERS_COMPLETION_RESERVE, "PLURNK_PROVIDERS_COMPLETION_RESERVE"),
|
|
133
122
|
};
|
|
134
123
|
};
|
|
124
|
+
export const reasoningResponseStyleFromEnv = (env, label) => {
|
|
125
|
+
const name = "PLURNK_PROVIDERS_REASONING_RESPONSE_STYLE";
|
|
126
|
+
const raw = env[name];
|
|
127
|
+
if (raw === undefined || raw.length === 0)
|
|
128
|
+
return "verbatim";
|
|
129
|
+
if (raw !== "verbatim" && raw !== "think-tags") {
|
|
130
|
+
throw new Error(`${label} provider: ${name} must be "verbatim" or "think-tags" (got "${raw}")`);
|
|
131
|
+
}
|
|
132
|
+
return raw;
|
|
133
|
+
};
|
|
135
134
|
export const reasoningFromEnv = (env, label) => {
|
|
136
|
-
shedRenamed(env, "PLURNK_PROVIDERS_THINKING", "PLURNK_PROVIDERS_REASONING", label, "
|
|
137
|
-
shedRenamed(env, "PLURNK_PROVIDERS_THINKING_CAPACITY", "PLURNK_PROVIDERS_REASONING_BUDGET", label, "
|
|
135
|
+
shedRenamed(env, "PLURNK_PROVIDERS_THINKING", "PLURNK_PROVIDERS_REASONING", label, "provider configuration contract"); // lexicon-allow
|
|
136
|
+
shedRenamed(env, "PLURNK_PROVIDERS_THINKING_CAPACITY", "PLURNK_PROVIDERS_REASONING_BUDGET", label, "provider configuration contract"); // lexicon-allow
|
|
138
137
|
const name = "PLURNK_PROVIDERS_REASONING";
|
|
139
138
|
const raw = env[name];
|
|
140
139
|
if (raw === undefined || raw.length === 0)
|
|
@@ -162,13 +161,12 @@ export const reasoningFromEnv = (env, label) => {
|
|
|
162
161
|
export const PROVIDERS_KNOBS = Object.freeze([
|
|
163
162
|
"PLURNK_PROVIDERS_REASONING_RESERVE",
|
|
164
163
|
"PLURNK_PROVIDERS_COMPLETION_RESERVE",
|
|
164
|
+
"PLURNK_PROVIDERS_REASONING_RESPONSE_STYLE",
|
|
165
165
|
"PLURNK_PROVIDERS_REASONING_BUDGET",
|
|
166
166
|
"PLURNK_PROVIDERS_REASONING",
|
|
167
167
|
"PLURNK_PROVIDERS_CONTEXT_WINDOW",
|
|
168
|
-
"PLURNK_PROVIDERS_INPUT_USD_PER_MILLION",
|
|
169
|
-
"PLURNK_PROVIDERS_CACHE_READ_USD_PER_MILLION",
|
|
170
|
-
"PLURNK_PROVIDERS_OUTPUT_USD_PER_MILLION",
|
|
171
168
|
"PLURNK_PROVIDERS_RETRY_ATTEMPTS",
|
|
169
|
+
"PLURNK_PROVIDERS_ERROR_DETAIL_LIMIT",
|
|
172
170
|
"PLURNK_PROVIDERS_FETCH_TIMEOUT",
|
|
173
171
|
"PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT",
|
|
174
172
|
"PLURNK_PROVIDERS_LLAMA_SERVER",
|
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
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
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";
|
|
4
|
+
export interface ClassifiedProviderError {
|
|
5
|
+
kind: ProviderErrorKind;
|
|
6
|
+
message: string;
|
|
7
|
+
retryable?: boolean;
|
|
8
|
+
attempts?: number;
|
|
9
|
+
retryExhausted?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class ProviderError extends Error {
|
|
12
|
+
readonly source: string;
|
|
13
|
+
readonly kind: ProviderErrorKind;
|
|
14
|
+
readonly problem: ProblemDetails;
|
|
15
|
+
readonly attempt?: ProviderAttempt;
|
|
16
|
+
constructor(source: string, kind: ProviderErrorKind, message: string, options?: {
|
|
17
|
+
status?: number | null;
|
|
18
|
+
cause?: unknown;
|
|
19
|
+
retryable?: boolean;
|
|
20
|
+
extensions?: Readonly<Record<string, unknown>>;
|
|
21
|
+
attempt?: ProviderAttempt;
|
|
22
|
+
});
|
|
23
|
+
get status(): number;
|
|
24
|
+
}
|
|
25
|
+
export declare const classifyProviderError: (err: unknown, detailLimit?: number) => ClassifiedProviderError;
|
|
26
|
+
export declare const toProviderError: (err: unknown, source: string, detailLimit?: number) => ProviderError;
|
|
27
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +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;AAElD,MAAM,MAAM,iBAAiB,GACvB,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,kBAAkB,GAClB,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,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;CAC5B;AA4DD,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;IAEnC,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;KACxB,EAmBT;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACJ;AAkBD,eAAO,MAAM,qBAAqB,QACzB,OAAO,gBACE,MAAM,KACrB,uBA0CF,CAAC;AAEF,eAAO,MAAM,eAAe,QACnB,OAAO,UACJ,MAAM,gBACA,MAAM,KACrB,aAiBF,CAAC"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { Problems } from "@plurnk/plurnk-contracts";
|
|
2
|
+
import { APICallError, RetryError } from "ai";
|
|
3
|
+
import { providerSource } from "./notices.js";
|
|
4
|
+
const defaultStatus = (kind) => {
|
|
5
|
+
switch (kind) {
|
|
6
|
+
case "unauthorized": return 401;
|
|
7
|
+
case "quota_exceeded": return 402;
|
|
8
|
+
case "rate_limit": return 429;
|
|
9
|
+
case "model_refused":
|
|
10
|
+
case "grammar_invalid": return 422;
|
|
11
|
+
case "invalid_response": return 502;
|
|
12
|
+
case "network_failure":
|
|
13
|
+
case "resource_interrupted": return 503;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const retryable = (kind) => {
|
|
17
|
+
switch (kind) {
|
|
18
|
+
case "rate_limit":
|
|
19
|
+
case "network_failure":
|
|
20
|
+
return true;
|
|
21
|
+
case "invalid_response":
|
|
22
|
+
case "grammar_invalid":
|
|
23
|
+
case "resource_interrupted":
|
|
24
|
+
case "model_refused":
|
|
25
|
+
case "unauthorized":
|
|
26
|
+
case "quota_exceeded":
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const buildProblem = (source, kind, message, status, extensions, retryableOverride) => {
|
|
31
|
+
const code = {
|
|
32
|
+
rate_limit: "rate-limit",
|
|
33
|
+
network_failure: "network-failure",
|
|
34
|
+
model_refused: "model-refused",
|
|
35
|
+
invalid_response: "invalid-response",
|
|
36
|
+
unauthorized: "unauthorized",
|
|
37
|
+
quota_exceeded: "quota-exceeded",
|
|
38
|
+
grammar_invalid: "grammar-invalid",
|
|
39
|
+
resource_interrupted: "resource-interrupted",
|
|
40
|
+
};
|
|
41
|
+
return Problems.create(source, code[kind], status, message, {
|
|
42
|
+
providerKind: kind,
|
|
43
|
+
stage: "provider-request",
|
|
44
|
+
retryable: retryableOverride ?? retryable(kind),
|
|
45
|
+
...extensions,
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
// A provider operation failed before a completed exchange existed. An
|
|
49
|
+
// interrupted response may still carry attempt evidence for its consumer.
|
|
50
|
+
// The standardized Problem is the public failure contract; kind remains the
|
|
51
|
+
// provider pool's routing discriminator and is repeated as a Problem extension.
|
|
52
|
+
export class ProviderError extends Error {
|
|
53
|
+
source;
|
|
54
|
+
kind;
|
|
55
|
+
problem;
|
|
56
|
+
attempt;
|
|
57
|
+
constructor(source, kind, message, options = {}) {
|
|
58
|
+
super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
|
|
59
|
+
this.name = "ProviderError";
|
|
60
|
+
this.source = providerSource(source);
|
|
61
|
+
this.kind = kind;
|
|
62
|
+
this.attempt = options.attempt;
|
|
63
|
+
const status = options.status !== null && options.status !== undefined
|
|
64
|
+
&& Number.isInteger(options.status) && options.status >= 400 && options.status <= 599
|
|
65
|
+
? options.status
|
|
66
|
+
: defaultStatus(kind);
|
|
67
|
+
this.problem = buildProblem(this.source, kind, message, status, options.extensions ?? {}, options.retryable);
|
|
68
|
+
}
|
|
69
|
+
get status() {
|
|
70
|
+
return this.problem.status;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const wireErrorType = (body) => {
|
|
74
|
+
try {
|
|
75
|
+
const { error } = JSON.parse(body);
|
|
76
|
+
return typeof error?.type === "string" ? error.type : null;
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const preview = (value, limit) => {
|
|
83
|
+
const text = value instanceof Error ? value.message : String(value);
|
|
84
|
+
return limit !== undefined && text.length > limit
|
|
85
|
+
? `${text.slice(0, limit)}...`
|
|
86
|
+
: text;
|
|
87
|
+
};
|
|
88
|
+
export const classifyProviderError = (err, detailLimit) => {
|
|
89
|
+
if (RetryError.isInstance(err)) {
|
|
90
|
+
return {
|
|
91
|
+
...classifyProviderError(err.lastError, detailLimit),
|
|
92
|
+
retryable: false,
|
|
93
|
+
attempts: err.errors.length,
|
|
94
|
+
retryExhausted: err.reason === "maxRetriesExceeded",
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
if (APICallError.isInstance(err)) {
|
|
98
|
+
const status = err.statusCode ?? 0;
|
|
99
|
+
const message = err.message.trim().length > 0
|
|
100
|
+
? preview(err.message, detailLimit)
|
|
101
|
+
: "The provider request failed without a diagnostic message.";
|
|
102
|
+
const body = err.responseBody ?? "";
|
|
103
|
+
if (status === 401 || status === 403)
|
|
104
|
+
return { kind: "unauthorized", message };
|
|
105
|
+
if (status === 402)
|
|
106
|
+
return { kind: "quota_exceeded", message };
|
|
107
|
+
if (status === 429)
|
|
108
|
+
return { kind: "rate_limit", message };
|
|
109
|
+
if (status === 0 && err.isRetryable)
|
|
110
|
+
return { kind: "network_failure", message };
|
|
111
|
+
if (status >= 500)
|
|
112
|
+
return { kind: "network_failure", message };
|
|
113
|
+
if (status === 422 && wireErrorType(body) === "grammar_invalid") {
|
|
114
|
+
return { kind: "grammar_invalid", message };
|
|
115
|
+
}
|
|
116
|
+
return { kind: "invalid_response", message };
|
|
117
|
+
}
|
|
118
|
+
const wire = err;
|
|
119
|
+
if (wire?.type === "grammar_invalid") {
|
|
120
|
+
return {
|
|
121
|
+
kind: "grammar_invalid",
|
|
122
|
+
message: typeof wire.message === "string"
|
|
123
|
+
? preview(wire.message, detailLimit)
|
|
124
|
+
: "The provider rejected the response grammar.",
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
const error = err;
|
|
128
|
+
return {
|
|
129
|
+
kind: "network_failure",
|
|
130
|
+
message: preview((error?.message ?? String(err)) || "The provider request failed.", detailLimit),
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
export const toProviderError = (err, source, detailLimit) => {
|
|
134
|
+
if (err instanceof ProviderError)
|
|
135
|
+
return err;
|
|
136
|
+
const underlying = RetryError.isInstance(err) ? err.lastError : err;
|
|
137
|
+
const classified = classifyProviderError(err, detailLimit);
|
|
138
|
+
const { kind, message } = classified;
|
|
139
|
+
const status = APICallError.isInstance(underlying) ? underlying.statusCode ?? null : null;
|
|
140
|
+
return new ProviderError(source, kind, message, {
|
|
141
|
+
status,
|
|
142
|
+
cause: err,
|
|
143
|
+
retryable: classified.retryable,
|
|
144
|
+
extensions: {
|
|
145
|
+
...(classified.attempts === undefined ? {} : { attempts: classified.attempts }),
|
|
146
|
+
...(classified.retryExhausted === undefined
|
|
147
|
+
? {}
|
|
148
|
+
: { retryExhausted: classified.retryExhausted }),
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export type { ChatMessage, FinishReason, Provider, ProviderAssistant, AiSdkProviderPlugin, ProviderOptions, ProviderResponse, ProviderUsage, TokenLogprob, TokenAlternative, } from "./types.ts";
|
|
1
|
+
export type { ChatMessage, FinishReason, GrammarEvidence, Provider, ProviderAssistant, ProviderAttempt, ProviderAttemptFinishReason, AiSdkProviderPlugin, ProviderOptions, ProviderResponse, ProviderEncryptedReasoningItem, ProviderUsage, PromptTokenMeasurement, TokenLogprob, TokenAlternative, AuthoritativeCharge, } from "./types.ts";
|
|
2
|
+
export type { ProviderCost } from "@plurnk/plurnk-contracts";
|
|
3
|
+
export { assertPromptTokenMeasurement } from "./promptTokens.ts";
|
|
2
4
|
export type { ProviderAlias } from "@plurnk/plurnk-aliases";
|
|
3
5
|
export { parseAliasesFromEnv, resolveActiveAlias } from "@plurnk/plurnk-aliases";
|
|
4
6
|
export { instantiateProvider, loadActiveProvider, resetDiscoveryCache, } from "./ProviderRegistry.ts";
|
|
@@ -8,12 +10,16 @@ export { default as AiSdkProvider, effortFromBudget } from "./AiSdkProvider.ts";
|
|
|
8
10
|
export type { AiSdkProviderConfig, ReasoningStyle, GrammarStyle } from "./AiSdkProvider.ts";
|
|
9
11
|
export { default as Pool } from "./Pool.ts";
|
|
10
12
|
export type { ProviderFetch } from "./AiSdkProvider.ts";
|
|
11
|
-
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, envelopeFromEnv, resolveReserve } from "./env.ts";
|
|
12
|
-
export type { Reasoning, ReasoningMode, ReserveSpec } from "./env.ts";
|
|
13
|
-
export { normalizeUsage, calculateCostUsd } from "./usage.ts";
|
|
13
|
+
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, reasoningResponseStyleFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, effectiveContextWindow, envelopeFromEnv, resolveReserve, PROVIDERS_KNOBS } from "./env.ts";
|
|
14
|
+
export type { Reasoning, ReasoningMode, ReasoningResponseStyle, ReserveSpec } from "./env.ts";
|
|
15
|
+
export { normalizeUsage, calculateCostUsd, calculateCostUsdDecimal } from "./usage.ts";
|
|
16
|
+
export { providerCostFor, providerCostUsd, resolveProviderCost, validateAuthoritativeCharge, validateProviderCost, } from "./cost.ts";
|
|
14
17
|
export type { RawUsage, TokenRates } from "./usage.ts";
|
|
15
|
-
export { ProviderError, classifyProviderError, toProviderError
|
|
16
|
-
export
|
|
18
|
+
export { ProviderError, classifyProviderError, toProviderError } from "./errors.ts";
|
|
19
|
+
export { providerSource } from "./notices.ts";
|
|
20
|
+
export type { ProviderErrorKind } from "./errors.ts";
|
|
21
|
+
export type { ProviderNotice, ProviderNoticeKind } from "./notices.ts";
|
|
22
|
+
export type { PluginAttributionContext, PluginAttributionDeclaration, PluginAttributionSource, } from "@plurnk/plurnk-meta";
|
|
17
23
|
export { default as Mock } from "./Mock.ts";
|
|
18
24
|
export type { MockAssistant, MockResponse, MockReturnedAssistant } from "./Mock.ts";
|
|
19
25
|
export { mockDefaultUsage } from "./Mock.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,QAAQ,EACR,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,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,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAKjE,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,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxS,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EACH,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,WAAW,CAAC;AACnB,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,16 +1,19 @@
|
|
|
1
|
+
export { assertPromptTokenMeasurement } from "./promptTokens.js";
|
|
1
2
|
export { parseAliasesFromEnv, resolveActiveAlias } from "@plurnk/plurnk-aliases";
|
|
2
3
|
export { instantiateProvider, loadActiveProvider, resetDiscoveryCache, } from "./ProviderRegistry.js";
|
|
3
|
-
// Scope-agnostic plugin discovery (
|
|
4
|
+
// Scope-agnostic plugin discovery ({§plugin-family-kind}).
|
|
4
5
|
export { discover } from "./discover.js";
|
|
5
6
|
// Stable PLURNK adapter over AI SDK language models and compatible local URLs.
|
|
6
7
|
export { default as AiSdkProvider, effortFromBudget } from "./AiSdkProvider.js";
|
|
7
|
-
//
|
|
8
|
+
// {§provider-capacity-pool} Front N interchangeable backends as one Provider -
|
|
8
9
|
// worker-sticky for KV-cache reuse, overflow to a healthy sibling; the blend
|
|
9
10
|
// DECISION stays the consumer's, by choosing which pool to call.
|
|
10
11
|
export { default as Pool } from "./Pool.js";
|
|
11
|
-
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, envelopeFromEnv, resolveReserve } from "./env.js";
|
|
12
|
-
export { normalizeUsage, calculateCostUsd } from "./usage.js";
|
|
13
|
-
export {
|
|
12
|
+
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, parseOptionalFloat, requireEnv, reasoningFromEnv, reasoningResponseStyleFromEnv, scopeEnvToAlias, dataCaptureFromEnv, contextWindowFromEnv, effectiveContextWindow, envelopeFromEnv, resolveReserve, PROVIDERS_KNOBS } from "./env.js";
|
|
13
|
+
export { normalizeUsage, calculateCostUsd, calculateCostUsdDecimal } from "./usage.js";
|
|
14
|
+
export { providerCostFor, providerCostUsd, resolveProviderCost, validateAuthoritativeCharge, validateProviderCost, } from "./cost.js";
|
|
15
|
+
export { ProviderError, classifyProviderError, toProviderError } from "./errors.js";
|
|
16
|
+
export { providerSource } from "./notices.js";
|
|
14
17
|
export { default as Mock } from "./Mock.js";
|
|
15
18
|
export { mockDefaultUsage } from "./Mock.js";
|
|
16
19
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAMjE,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,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAExS,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EACH,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,WAAW,CAAC;AAEnB,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"}
|