@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/ollama.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
2
|
-
import { contextWindowFromEnv, effectiveContextWindow,
|
|
2
|
+
import { contextWindowFromEnv, effectiveContextWindow, parseTimeoutMs, requireEnv } from "./env.js";
|
|
3
3
|
import { providerFromSdkModel } from "./catalogProvider.js";
|
|
4
4
|
const fetchContextWindow = async ({ baseUrl, model, timeout, }) => {
|
|
5
5
|
const response = await fetch(`${baseUrl}/api/show`, {
|
|
6
6
|
method: "POST",
|
|
7
7
|
headers: { "Content-Type": "application/json" },
|
|
8
8
|
body: JSON.stringify({ model }),
|
|
9
|
-
signal: AbortSignal.timeout(timeout),
|
|
9
|
+
...(timeout > 0 ? { signal: AbortSignal.timeout(timeout) } : {}),
|
|
10
10
|
});
|
|
11
11
|
if (!response.ok)
|
|
12
12
|
throw new Error(`ollama provider: /api/show returned ${response.status}`);
|
|
@@ -20,7 +20,7 @@ const fetchContextWindow = async ({ baseUrl, model, timeout, }) => {
|
|
|
20
20
|
export const ollamaProviderFromEnv = async (env, model, options) => {
|
|
21
21
|
const configured = options?.baseUrl ?? env.OLLAMA_BASE_URL ?? env.OLLAMA_HOST;
|
|
22
22
|
const baseUrl = requireEnv(configured, "OLLAMA_BASE_URL or OLLAMA_HOST (or a PLURNK_BASEURL_<alias> override)", "ollama").replace(/\/+$/, "").replace(/\/v1$/, "");
|
|
23
|
-
const timeout =
|
|
23
|
+
const timeout = parseTimeoutMs(env.PLURNK_PROVIDERS_FETCH_TIMEOUT, "PLURNK_PROVIDERS_FETCH_TIMEOUT", "ollama");
|
|
24
24
|
// {§model-fact-resolution}
|
|
25
25
|
const contextWindow = effectiveContextWindow(contextWindowFromEnv(env, "ollama"), await fetchContextWindow({ baseUrl, model, timeout }));
|
|
26
26
|
const languageModel = createOpenAICompatible({
|
package/dist/ollama.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,KAAK,EACL,OAAO,GAKV,EAAmB,EAAE;IAClB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,WAAW,EAAE;QAChD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/B,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAkB,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAChG,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+DAA+D,KAAK,GAAG,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACtC,GAAsB,EACtB,KAAa,EACb,OAAyB,EACR,EAAE;IACnB,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,IAAI,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,WAAW,CAAC;IAC9E,MAAM,OAAO,GAAG,UAAU,CACtB,UAAU,EACV,uEAAuE,EACvE,QAAQ,CACX,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,cAAc,CAC1B,GAAG,CAAC,8BAA8B,EAClC,gCAAgC,EAChC,QAAQ,CACX,CAAC;IACF,2BAA2B;IAC3B,MAAM,aAAa,GAAG,sBAAsB,CACxC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,EACnC,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CACxD,CAAC;IACF,MAAM,aAAa,GAAG,sBAAsB,CAAC;QACzC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,GAAG,OAAO,KAAK;QACxB,YAAY,EAAE,IAAI;KACrB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,oBAAoB,CAAC;QACxB,IAAI,EAAE,QAAQ;QACd,GAAG;QACH,KAAK;QACL,aAAa;QACb,aAAa;KAChB,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptTokens.d.ts","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"promptTokens.d.ts","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAStE,eAAO,MAAM,4BAA4B,UAC9B,OAAO,qBAEf,sBAqBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACnB,SAAS,WAAW,EAAE,sBAEjC,sBAKD,CAAC"}
|
package/dist/promptTokens.js
CHANGED
|
@@ -2,24 +2,27 @@ const KINDS = new Set([
|
|
|
2
2
|
"exact",
|
|
3
3
|
"upper_bound",
|
|
4
4
|
"estimate",
|
|
5
|
+
"unavailable",
|
|
5
6
|
]);
|
|
6
7
|
export const assertPromptTokenMeasurement = (value, owner = "provider") => {
|
|
7
8
|
if (typeof value !== "object" || value === null) {
|
|
8
9
|
throw new TypeError(`${owner}: prompt token measurement must be an object`);
|
|
9
10
|
}
|
|
10
11
|
const candidate = value;
|
|
11
|
-
|
|
12
|
+
const kind = candidate.kind;
|
|
13
|
+
if (!KINDS.has(kind)) {
|
|
12
14
|
throw new TypeError(`${owner}: prompt token measurement has invalid kind ${JSON.stringify(candidate.kind)}`);
|
|
13
15
|
}
|
|
14
|
-
if (
|
|
16
|
+
if (kind !== "unavailable"
|
|
17
|
+
&& (!Number.isInteger(candidate.tokens) || candidate.tokens < 0)) {
|
|
15
18
|
throw new TypeError(`${owner}: prompt token measurement tokens must be a non-negative integer`);
|
|
16
19
|
}
|
|
17
20
|
if (typeof candidate.source !== "string" || candidate.source.length === 0) {
|
|
18
21
|
throw new TypeError(`${owner}: prompt token measurement source must be a non-empty string`);
|
|
19
22
|
}
|
|
20
|
-
if (
|
|
23
|
+
if ((kind === "estimate" || kind === "unavailable")
|
|
21
24
|
&& (typeof candidate.detail !== "string" || candidate.detail.length === 0)) {
|
|
22
|
-
throw new TypeError(`${owner}:
|
|
25
|
+
throw new TypeError(`${owner}: ${kind} prompt token measurement requires detail`);
|
|
23
26
|
}
|
|
24
27
|
return value;
|
|
25
28
|
};
|
package/dist/promptTokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptTokens.js","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiC;IAClD,OAAO;IACP,aAAa;IACb,UAAU;
|
|
1
|
+
{"version":3,"file":"promptTokens.js","sourceRoot":"","sources":["../src/promptTokens.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,CAAiC;IAClD,OAAO;IACP,aAAa;IACb,UAAU;IACV,aAAa;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CACxC,KAAc,EACd,KAAK,GAAG,UAAU,EACI,EAAE;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAsC,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,+CAA+C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,IAAI,KAAK,aAAa;WACnB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAK,SAAS,CAAC,MAAiB,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,kEAAkE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8DAA8D,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,aAAa,CAAC;WAC5C,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,KAAK,IAAI,2CAA2C,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAA+B,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,QAAgC,EAChC,MAAM,GAAG,mEAAmE,EACtD,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACrF,MAAM,EAAE,kBAAkB;IAC1B,MAAM;CACT,CAAC,CAAC"}
|
package/dist/sdkModels.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { type ProviderInfo } from "@plurnk/plurnk-models";
|
|
2
2
|
import type { LanguageModel } from "ai";
|
|
3
|
-
import type {
|
|
3
|
+
import type { AiSdkProviderOptions, CacheAffinity } from "./AiSdkProvider.ts";
|
|
4
|
+
import type { ProviderCostNormalizer } from "./types.ts";
|
|
4
5
|
export type SdkModel = {
|
|
5
6
|
readonly languageModel?: LanguageModel;
|
|
6
|
-
readonly
|
|
7
|
+
readonly normalizeCost?: ProviderCostNormalizer;
|
|
7
8
|
readonly compatible?: {
|
|
8
9
|
readonly url: string;
|
|
9
10
|
readonly headers: Readonly<Record<string, string>>;
|
|
10
11
|
};
|
|
12
|
+
readonly cacheAffinity?: CacheAffinity;
|
|
13
|
+
readonly systemCacheProviderOptions?: AiSdkProviderOptions;
|
|
14
|
+
readonly reasoningResponseProviderOptions?: AiSdkProviderOptions;
|
|
15
|
+
readonly additiveReasoningProvider?: "anthropic" | "bedrock";
|
|
11
16
|
readonly catalog: ProviderInfo | null;
|
|
12
17
|
};
|
|
13
18
|
export declare const configuredProviderInfo: (provider: string, env: NodeJS.ProcessEnv) => ProviderInfo | null;
|
package/dist/sdkModels.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkModels.d.ts","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdkModels.d.ts","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE;QAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACtD,CAAC;IACF,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,oBAAoB,CAAC;IAC3D,QAAQ,CAAC,gCAAgC,CAAC,EAAE,oBAAoB,CAAC;IACjE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACzC,CAAC;AAOF,eAAO,MAAM,sBAAsB,aACrB,MAAM,OACX,MAAM,CAAC,UAAU,KACvB,YAAY,GAAG,IAejB,CAAC;AAuDF,eAAO,MAAM,cAAc,aACb,MAAM,SACT,MAAM,OACR,MAAM,CAAC,UAAU,oBACJ,MAAM,KACzB,QAAQ,GAAG,IA2Hb,CAAC"}
|
package/dist/sdkModels.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";
|
|
2
2
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
3
|
+
import { createCerebras } from "@ai-sdk/cerebras";
|
|
3
4
|
import { createDeepInfra } from "@ai-sdk/deepinfra";
|
|
4
5
|
import { createGoogle } from "@ai-sdk/google";
|
|
5
6
|
import { createGroq } from "@ai-sdk/groq";
|
|
6
7
|
import { createMistral } from "@ai-sdk/mistral";
|
|
7
8
|
import { createOpenAI } from "@ai-sdk/openai";
|
|
8
9
|
import { createTogetherAI } from "@ai-sdk/togetherai";
|
|
10
|
+
import { createXai } from "@ai-sdk/xai";
|
|
9
11
|
import { createOpenRouter } from "@openrouter/ai-sdk-provider";
|
|
10
12
|
import { lookupProvider } from "@plurnk/plurnk-models";
|
|
11
|
-
import {
|
|
13
|
+
import { providerCostNormalizer } from "./accounting.js";
|
|
14
|
+
const cacheControl = { type: "ephemeral" };
|
|
12
15
|
const envPrefix = (provider) => provider.replaceAll(/[^a-zA-Z0-9]/g, "_").toUpperCase();
|
|
13
16
|
export const configuredProviderInfo = (provider, env) => {
|
|
14
17
|
const prefix = `PLURNK_PROVIDERS_PROVIDER_${envPrefix(provider)}`;
|
|
@@ -68,11 +71,14 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
|
|
|
68
71
|
if (catalog === null)
|
|
69
72
|
return null;
|
|
70
73
|
const url = baseUrl(provider, env, catalog, baseUrlOverride);
|
|
71
|
-
const
|
|
74
|
+
const normalizeCost = providerCostNormalizer(catalog.npm);
|
|
72
75
|
switch (catalog.npm) {
|
|
73
76
|
case "@ai-sdk/openai":
|
|
74
77
|
return {
|
|
75
78
|
languageModel: createOpenAI({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).chat(model),
|
|
79
|
+
...(catalog.id === "openai"
|
|
80
|
+
? { cacheAffinity: { target: "provider-option", provider: "openai", name: "promptCacheKey" } }
|
|
81
|
+
: {}),
|
|
76
82
|
catalog,
|
|
77
83
|
};
|
|
78
84
|
case "@ai-sdk/groq":
|
|
@@ -80,6 +86,11 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
|
|
|
80
86
|
languageModel: createGroq({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
|
|
81
87
|
catalog,
|
|
82
88
|
};
|
|
89
|
+
case "@ai-sdk/cerebras":
|
|
90
|
+
return {
|
|
91
|
+
languageModel: createCerebras({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
|
|
92
|
+
catalog,
|
|
93
|
+
};
|
|
83
94
|
case "@ai-sdk/mistral":
|
|
84
95
|
return {
|
|
85
96
|
languageModel: createMistral({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
|
|
@@ -93,29 +104,36 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
|
|
|
93
104
|
case "@ai-sdk/deepinfra":
|
|
94
105
|
return {
|
|
95
106
|
languageModel: createDeepInfra({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
|
|
96
|
-
...(
|
|
107
|
+
...(normalizeCost === undefined ? {} : { normalizeCost }),
|
|
108
|
+
...(catalog.id === "deepinfra"
|
|
109
|
+
? { cacheAffinity: { target: "provider-option", provider: "deepinfra", name: "prompt_cache_key" } }
|
|
110
|
+
: {}),
|
|
97
111
|
catalog,
|
|
98
112
|
};
|
|
99
113
|
case "@ai-sdk/google":
|
|
100
114
|
return {
|
|
101
115
|
languageModel: createGoogle({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
|
|
116
|
+
reasoningResponseProviderOptions: {
|
|
117
|
+
google: { thinkingConfig: { includeThoughts: true } },
|
|
118
|
+
},
|
|
102
119
|
catalog,
|
|
103
120
|
};
|
|
104
|
-
case "@ai-sdk/xai":
|
|
105
|
-
const key = requireApiKey(provider, env, catalog);
|
|
106
|
-
const compatibleBase = url ?? "https://api.x.ai/v1";
|
|
121
|
+
case "@ai-sdk/xai":
|
|
107
122
|
return {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
...(
|
|
123
|
+
languageModel: createXai({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).chat(model),
|
|
124
|
+
...(catalog.id === "xai"
|
|
125
|
+
? { cacheAffinity: { target: "header", name: "x-grok-conv-id" } }
|
|
126
|
+
: {}),
|
|
127
|
+
...(normalizeCost === undefined ? {} : { normalizeCost }),
|
|
113
128
|
catalog,
|
|
114
129
|
};
|
|
115
|
-
}
|
|
116
130
|
case "@ai-sdk/anthropic":
|
|
117
131
|
return {
|
|
118
132
|
languageModel: createAnthropic({ apiKey: requireApiKey(provider, env, catalog), baseURL: url }).languageModel(model),
|
|
133
|
+
additiveReasoningProvider: "anthropic",
|
|
134
|
+
...(catalog.id === "anthropic"
|
|
135
|
+
? { systemCacheProviderOptions: { anthropic: { cacheControl } } }
|
|
136
|
+
: {}),
|
|
119
137
|
catalog,
|
|
120
138
|
};
|
|
121
139
|
case "@ai-sdk/amazon-bedrock":
|
|
@@ -128,6 +146,7 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
|
|
|
128
146
|
apiKey: env.AWS_BEARER_TOKEN_BEDROCK,
|
|
129
147
|
baseURL: url,
|
|
130
148
|
}).languageModel(model),
|
|
149
|
+
additiveReasoningProvider: "bedrock",
|
|
131
150
|
catalog,
|
|
132
151
|
};
|
|
133
152
|
case "@openrouter/ai-sdk-provider":
|
|
@@ -140,7 +159,13 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
|
|
|
140
159
|
...(env.OPENROUTER_X_TITLE === undefined ? {} : { "X-Title": env.OPENROUTER_X_TITLE }),
|
|
141
160
|
},
|
|
142
161
|
}).languageModel(model),
|
|
143
|
-
...(
|
|
162
|
+
...(catalog.id === "openrouter"
|
|
163
|
+
? { cacheAffinity: { target: "header", name: "x-session-id" } }
|
|
164
|
+
: {}),
|
|
165
|
+
...(catalog.id === "openrouter" && model.replace(/^~/, "").startsWith("anthropic/")
|
|
166
|
+
? { systemCacheProviderOptions: { openrouter: { cacheControl } } }
|
|
167
|
+
: {}),
|
|
168
|
+
...(normalizeCost === undefined ? {} : { normalizeCost }),
|
|
144
169
|
catalog,
|
|
145
170
|
};
|
|
146
171
|
case "@ai-sdk/openai-compatible":
|
|
@@ -155,6 +180,11 @@ export const createSdkModel = (provider, model, env, baseUrlOverride) => {
|
|
|
155
180
|
? {}
|
|
156
181
|
: { Authorization: `Bearer ${key}` },
|
|
157
182
|
},
|
|
183
|
+
...(catalog.id === "cloudflare-workers-ai"
|
|
184
|
+
? { cacheAffinity: { target: "header", name: "x-session-affinity" } }
|
|
185
|
+
: catalog.id === "fireworks-ai"
|
|
186
|
+
? { cacheAffinity: { target: "body", name: "prompt_cache_key" } }
|
|
187
|
+
: {}),
|
|
158
188
|
catalog,
|
|
159
189
|
};
|
|
160
190
|
default:
|
package/dist/sdkModels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkModels.js","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sdkModels.js","sourceRoot":"","sources":["../src/sdkModels.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { ProviderNotice } from "./notices.ts";
|
|
2
2
|
import type { LanguageModel } from "ai";
|
|
3
3
|
import type { PluginAttribution, PluginAttributionContext, PluginAttributionSource } from "@plurnk/plurnk-meta";
|
|
4
|
-
import type { ProviderCost } from "@plurnk/plurnk-contracts";
|
|
4
|
+
import type { ProviderCost, ProviderRequestAccounting } from "@plurnk/plurnk-contracts";
|
|
5
|
+
export type { ProviderAccounting, ProviderCost, ProviderRequestAccounting, ProviderUsage, } from "@plurnk/plurnk-contracts";
|
|
5
6
|
export interface ChatMessage {
|
|
6
7
|
role: "system" | "user" | "assistant";
|
|
7
8
|
content: string;
|
|
8
9
|
}
|
|
10
|
+
export type ProviderCallKind = "emission" | "bare";
|
|
9
11
|
export type PromptTokenMeasurement = {
|
|
10
12
|
readonly kind: "exact" | "upper_bound";
|
|
11
13
|
readonly tokens: number;
|
|
@@ -15,26 +17,41 @@ export type PromptTokenMeasurement = {
|
|
|
15
17
|
readonly tokens: number;
|
|
16
18
|
readonly source: string;
|
|
17
19
|
readonly detail: string;
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: "unavailable";
|
|
22
|
+
readonly source: string;
|
|
23
|
+
readonly detail: string;
|
|
18
24
|
};
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
readonly
|
|
22
|
-
readonly
|
|
23
|
-
readonly
|
|
24
|
-
readonly
|
|
25
|
+
export type ProviderRequestCapacityDecision = "admit" | "defer" | "reject";
|
|
26
|
+
export interface ProviderRequestCapacity {
|
|
27
|
+
readonly decision: ProviderRequestCapacityDecision;
|
|
28
|
+
readonly contextWindow: number | null;
|
|
29
|
+
readonly maxInputTokens: number | null;
|
|
30
|
+
readonly maxOutputTokens: number | null;
|
|
31
|
+
readonly outputBudget: number | null;
|
|
32
|
+
readonly reasoningBudget: number | null;
|
|
33
|
+
readonly inputCapacity: number | null;
|
|
34
|
+
readonly prompt: PromptTokenMeasurement;
|
|
25
35
|
}
|
|
26
|
-
export type
|
|
27
|
-
kind: "
|
|
36
|
+
export type ChargedCost = Extract<ProviderCost, {
|
|
37
|
+
kind: "charged";
|
|
28
38
|
}>;
|
|
29
39
|
export interface ProviderChargeEvidence {
|
|
30
40
|
readonly providerMetadata?: unknown;
|
|
41
|
+
readonly charge?: unknown;
|
|
31
42
|
readonly usage?: unknown;
|
|
32
43
|
readonly response: {
|
|
33
|
-
readonly id
|
|
44
|
+
readonly id?: string;
|
|
34
45
|
readonly headers?: Readonly<Record<string, string>>;
|
|
35
46
|
};
|
|
36
47
|
}
|
|
37
|
-
export type
|
|
48
|
+
export type ProviderCostNormalizer = (evidence: ProviderChargeEvidence) => ProviderCost | undefined;
|
|
49
|
+
export interface ProviderRequestIdentity {
|
|
50
|
+
readonly provider: string;
|
|
51
|
+
readonly model: string;
|
|
52
|
+
}
|
|
53
|
+
export type ProviderRequestSettlement = (accounting: ProviderRequestAccounting) => Promise<void>;
|
|
54
|
+
export type ProviderRequestObserver = (identity: ProviderRequestIdentity) => Promise<ProviderRequestSettlement>;
|
|
38
55
|
export type FinishReason = "stop" | "length" | "tool_calls" | "content_filter" | null;
|
|
39
56
|
export type ProviderAttemptFinishReason = FinishReason | "resource_interrupted";
|
|
40
57
|
export interface TokenAlternative {
|
|
@@ -58,7 +75,6 @@ export interface ProviderAssistant<TFinish extends ProviderAttemptFinishReason =
|
|
|
58
75
|
readonly content: string;
|
|
59
76
|
readonly reasoning: string | null;
|
|
60
77
|
readonly reasoningEncrypted?: ReadonlyArray<ProviderEncryptedReasoningItem>;
|
|
61
|
-
readonly usage: ProviderUsage;
|
|
62
78
|
readonly finishReason: TFinish;
|
|
63
79
|
readonly model: string;
|
|
64
80
|
readonly logprobs?: readonly TokenLogprob[];
|
|
@@ -72,41 +88,47 @@ export interface GrammarEvidence {
|
|
|
72
88
|
export interface ProviderResponse<TFinish extends ProviderAttemptFinishReason = FinishReason> {
|
|
73
89
|
readonly assistant: ProviderAssistant<TFinish>;
|
|
74
90
|
readonly assistantRaw: unknown;
|
|
75
|
-
readonly
|
|
91
|
+
readonly accounting: readonly ProviderRequestAccounting[];
|
|
92
|
+
readonly capacity: ProviderRequestCapacity;
|
|
76
93
|
readonly grammarEvidence?: GrammarEvidence;
|
|
77
94
|
readonly meta?: Record<string, unknown>;
|
|
78
95
|
readonly rawBody?: unknown;
|
|
79
96
|
readonly notices?: readonly ProviderNotice[];
|
|
80
97
|
}
|
|
81
98
|
export type ProviderAttempt = ProviderResponse<ProviderAttemptFinishReason>;
|
|
99
|
+
export interface ProviderGenerateArgs {
|
|
100
|
+
readonly messages: ChatMessage[];
|
|
101
|
+
readonly workerId: string;
|
|
102
|
+
readonly primaryWorkerId?: string;
|
|
103
|
+
readonly signal?: AbortSignal;
|
|
104
|
+
readonly grammar?: string;
|
|
105
|
+
readonly maxOutputTokens?: number;
|
|
106
|
+
readonly attributions?: string[];
|
|
107
|
+
readonly client?: string;
|
|
108
|
+
readonly strikes?: number;
|
|
109
|
+
readonly workspaceId?: string;
|
|
110
|
+
readonly loop?: number;
|
|
111
|
+
readonly turn?: number;
|
|
112
|
+
readonly sampling?: Record<string, unknown>;
|
|
113
|
+
readonly observeRequest?: ProviderRequestObserver;
|
|
114
|
+
readonly callKind?: ProviderCallKind;
|
|
115
|
+
}
|
|
82
116
|
export interface Provider {
|
|
83
117
|
attributions?(context: PluginAttributionContext): PluginAttribution;
|
|
84
|
-
generate(args:
|
|
85
|
-
messages: ChatMessage[];
|
|
86
|
-
workerId: string;
|
|
87
|
-
primaryWorkerId?: string;
|
|
88
|
-
signal?: AbortSignal;
|
|
89
|
-
grammar?: string;
|
|
90
|
-
maxTokens?: number;
|
|
91
|
-
attributions?: string[];
|
|
92
|
-
client?: string;
|
|
93
|
-
strikes?: number;
|
|
94
|
-
workspaceId?: string;
|
|
95
|
-
loop?: number;
|
|
96
|
-
turn?: number;
|
|
97
|
-
sampling?: Record<string, unknown>;
|
|
98
|
-
}): Promise<ProviderResponse>;
|
|
118
|
+
generate(args: ProviderGenerateArgs): Promise<ProviderResponse>;
|
|
99
119
|
readonly contextWindow: number | null;
|
|
120
|
+
readonly maxInputTokens: number | null;
|
|
121
|
+
readonly maxOutputTokens: number | null;
|
|
122
|
+
readonly outputBudget: number | null;
|
|
123
|
+
readonly reasoningBudget: number | null;
|
|
124
|
+
readonly inputCapacity: number | null;
|
|
100
125
|
readonly model: string;
|
|
101
126
|
readonly servedModel?: string;
|
|
102
127
|
readonly constrainsOutput?: boolean;
|
|
103
|
-
readonly
|
|
104
|
-
readonly
|
|
105
|
-
readonly completionReserve?: number | null;
|
|
128
|
+
readonly requiresOutputBudget?: boolean;
|
|
129
|
+
assessRequestCapacity(messages: readonly ChatMessage[], maxOutputTokens?: number, signal?: AbortSignal): Promise<ProviderRequestCapacity>;
|
|
106
130
|
countPromptTokens(messages: readonly ChatMessage[], signal?: AbortSignal): Promise<PromptTokenMeasurement>;
|
|
107
131
|
tokenize?(text: string): Promise<number[]>;
|
|
108
|
-
calculateCost(usage: ProviderUsage): number;
|
|
109
|
-
calculateCharge?(usage: ProviderUsage): Exclude<ProviderCost, AuthoritativeCharge>;
|
|
110
132
|
}
|
|
111
133
|
export interface ProviderOptions {
|
|
112
134
|
readonly baseUrl?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EACR,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/usage.d.ts
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
1
|
import type { ProviderUsage } from "./types.ts";
|
|
2
2
|
export type RawUsage = {
|
|
3
|
+
input_tokens?: number;
|
|
4
|
+
output_tokens?: number;
|
|
3
5
|
prompt_tokens?: number;
|
|
4
6
|
completion_tokens?: number;
|
|
5
7
|
total_tokens?: number;
|
|
6
8
|
cached_tokens?: number;
|
|
9
|
+
cache_creation_input_tokens?: number;
|
|
10
|
+
cache_read_input_tokens?: number;
|
|
7
11
|
prompt_cache_hit_tokens?: number;
|
|
8
12
|
prompt_cache_miss_tokens?: number;
|
|
9
13
|
prompt_tokens_details?: {
|
|
10
14
|
cached_tokens?: number;
|
|
15
|
+
cache_read_tokens?: number;
|
|
16
|
+
cache_write_tokens?: number;
|
|
17
|
+
};
|
|
18
|
+
input_tokens_details?: {
|
|
19
|
+
cached_tokens?: number;
|
|
20
|
+
cache_read_tokens?: number;
|
|
21
|
+
cache_write_tokens?: number;
|
|
11
22
|
};
|
|
12
23
|
completion_tokens_details?: {
|
|
13
24
|
reasoning_tokens?: number;
|
|
14
25
|
};
|
|
26
|
+
output_tokens_details?: {
|
|
27
|
+
reasoning_tokens?: number;
|
|
28
|
+
};
|
|
29
|
+
reasoning_tokens?: number;
|
|
15
30
|
};
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const normalizeUsage: (raw: RawUsage | null | undefined
|
|
31
|
+
export declare const validateProviderUsage: (usage: ProviderUsage) => ProviderUsage;
|
|
32
|
+
export declare const normalizeUsage: (raw: RawUsage | null | undefined) => ProviderUsage | undefined;
|
|
18
33
|
export type TokenRates = {
|
|
19
34
|
input: number;
|
|
20
35
|
output: number;
|
|
21
|
-
|
|
36
|
+
reasoning?: number;
|
|
37
|
+
cacheRead?: number;
|
|
38
|
+
cacheWrite?: number;
|
|
22
39
|
};
|
|
23
|
-
export declare const
|
|
24
|
-
export declare const
|
|
40
|
+
export declare const canonicalDecimal: (coefficient: bigint, scale: number) => string;
|
|
41
|
+
export declare const calculateCostUsdDecimal: (usage: ProviderUsage, rates: TokenRates) => string | null;
|
|
25
42
|
//# sourceMappingURL=usage.d.ts.map
|
package/dist/usage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,QAAQ,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,oBAAoB,CAAC,EAAE;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,yBAAyB,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,qBAAqB,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAgBF,eAAO,MAAM,qBAAqB,UAAW,aAAa,KAAG,aAqD5D,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,KAAG,aAAa,GAAG,SA6FjF,CAAC;AAIF,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAiBF,eAAO,MAAM,gBAAgB,gBAAiB,MAAM,SAAS,MAAM,KAAG,MAMrE,CAAC;AAEF,eAAO,MAAM,uBAAuB,UACzB,aAAa,SACb,UAAU,KAClB,MAAM,GAAG,IAyBX,CAAC"}
|