@plurnk/plurnk-providers 1.4.0 → 1.6.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 +40 -34
- package/README.md +3 -0
- package/SPEC.md +153 -62
- package/dist/AiSdkProvider.d.ts +19 -25
- package/dist/AiSdkProvider.d.ts.map +1 -1
- package/dist/AiSdkProvider.js +353 -120
- package/dist/AiSdkProvider.js.map +1 -1
- package/dist/Mock.d.ts +7 -13
- package/dist/Mock.d.ts.map +1 -1
- package/dist/Mock.js +36 -8
- package/dist/Mock.js.map +1 -1
- package/dist/Pool.d.ts +2 -21
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +19 -14
- package/dist/Pool.js.map +1 -1
- package/dist/accounting.d.ts +6 -0
- package/dist/accounting.d.ts.map +1 -0
- package/dist/accounting.js +168 -0
- package/dist/accounting.js.map +1 -0
- package/dist/aiSdkTransport.d.ts +11 -3
- package/dist/aiSdkTransport.d.ts.map +1 -1
- package/dist/aiSdkTransport.js +198 -29
- package/dist/aiSdkTransport.js.map +1 -1
- package/dist/catalogProvider.d.ts +7 -2
- package/dist/catalogProvider.d.ts.map +1 -1
- package/dist/catalogProvider.js +32 -26
- package/dist/catalogProvider.js.map +1 -1
- package/dist/compatibleProvider.d.ts.map +1 -1
- package/dist/compatibleProvider.js +18 -7
- 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 +88 -43
- package/dist/cost.js.map +1 -1
- package/dist/env.d.ts +5 -7
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +30 -32
- package/dist/env.js.map +1 -1
- package/dist/errors.d.ts +14 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +60 -2
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/ollama.js +3 -3
- package/dist/ollama.js.map +1 -1
- package/dist/sdkModels.d.ts +6 -0
- package/dist/sdkModels.d.ts.map +1 -1
- package/dist/sdkModels.js +46 -3
- package/dist/sdkModels.js.map +1 -1
- package/dist/types.d.ts +40 -29
- package/dist/types.d.ts.map +1 -1
- package/dist/usage.d.ts +21 -4
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +188 -74
- package/dist/usage.js.map +1 -1
- package/package.json +9 -7
- package/src/AiSdkProvider.test.ts +1039 -182
- package/src/AiSdkProvider.ts +428 -141
- package/src/Mock.test.ts +37 -12
- package/src/Mock.ts +46 -12
- package/src/Pool.test.ts +19 -6
- package/src/Pool.ts +20 -16
- package/src/ProviderRegistry.test.ts +16 -11
- package/src/accounting.test.ts +94 -0
- package/src/accounting.ts +190 -0
- package/src/aiSdkTransport.test.ts +42 -49
- package/src/aiSdkTransport.ts +218 -32
- package/src/boundaries.test.ts +2 -0
- package/src/catalogProvider.test.ts +271 -24
- package/src/catalogProvider.ts +44 -28
- package/src/compatibleProvider.test.ts +6 -3
- package/src/compatibleProvider.ts +20 -7
- package/src/cost.test.ts +55 -35
- package/src/cost.ts +110 -54
- package/src/defaults.test.ts +13 -3
- package/src/env.test.ts +50 -26
- package/src/env.ts +43 -42
- package/src/errors.test.ts +47 -2
- package/src/errors.ts +68 -3
- package/src/index.ts +21 -5
- package/src/ollama.test.ts +4 -1
- package/src/ollama.ts +3 -3
- package/src/sdkModels.test.ts +94 -3
- package/src/sdkModels.ts +53 -3
- package/src/types.ts +91 -33
- package/src/usage.test.ts +112 -108
- package/src/usage.ts +233 -84
package/dist/aiSdkTransport.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type JSONValue, type LanguageModel } from "ai";
|
|
2
|
-
import type { ChatMessage, ProviderAttemptFinishReason, ProviderUsage, TokenLogprob } from "./types.ts";
|
|
2
|
+
import type { ChatMessage, ProviderAttemptFinishReason, ProviderChargeEvidence, ProviderUsage, TokenLogprob } from "./types.ts";
|
|
3
3
|
export type AiSdkTransportRequest = {
|
|
4
4
|
url: string;
|
|
5
5
|
model: string;
|
|
@@ -9,8 +9,8 @@ export type AiSdkTransportRequest = {
|
|
|
9
9
|
signal?: AbortSignal;
|
|
10
10
|
fetch?: typeof globalThis.fetch;
|
|
11
11
|
fetchTimeoutMs: number;
|
|
12
|
+
firstContentTimeoutMs?: number;
|
|
12
13
|
streamIdleTimeoutMs?: number;
|
|
13
|
-
retryAttempts: number;
|
|
14
14
|
streaming: boolean;
|
|
15
15
|
captureRawBody: boolean;
|
|
16
16
|
};
|
|
@@ -21,7 +21,7 @@ export type AiSdkTransportResponse = {
|
|
|
21
21
|
reasoningProjected: boolean;
|
|
22
22
|
finishReason: ProviderAttemptFinishReason;
|
|
23
23
|
rawFinishReason?: string;
|
|
24
|
-
usage
|
|
24
|
+
usage?: ProviderUsage;
|
|
25
25
|
metadata: Record<string, unknown>;
|
|
26
26
|
reasoningEncrypted: Array<{
|
|
27
27
|
id: string | null;
|
|
@@ -32,11 +32,13 @@ export type AiSdkTransportResponse = {
|
|
|
32
32
|
}>;
|
|
33
33
|
}>;
|
|
34
34
|
logprobs: TokenLogprob[];
|
|
35
|
+
chargeEvidence: ProviderChargeEvidence;
|
|
35
36
|
rawBody?: unknown;
|
|
36
37
|
};
|
|
37
38
|
export type AiSdkModelRequest = Omit<AiSdkTransportRequest, "url" | "model" | "body" | "fetch"> & {
|
|
38
39
|
languageModel: LanguageModel;
|
|
39
40
|
providerOptions?: Record<string, Record<string, JSONValue | undefined>>;
|
|
41
|
+
systemProviderOptions?: Record<string, Record<string, JSONValue | undefined>>;
|
|
40
42
|
temperature?: number;
|
|
41
43
|
topP?: number;
|
|
42
44
|
topK?: number;
|
|
@@ -50,5 +52,11 @@ export type AiSdkModelRequest = Omit<AiSdkTransportRequest, "url" | "model" | "b
|
|
|
50
52
|
declare const executeModel: (request: AiSdkModelRequest) => Promise<AiSdkTransportResponse>;
|
|
51
53
|
export declare const executeAiSdkModel: typeof executeModel;
|
|
52
54
|
export declare const executeOpenAICompatible: (request: AiSdkTransportRequest) => Promise<AiSdkTransportResponse>;
|
|
55
|
+
export type AiSdkTransportFailureEvidence = {
|
|
56
|
+
readonly usage?: ProviderUsage;
|
|
57
|
+
readonly chargeEvidence: ProviderChargeEvidence;
|
|
58
|
+
readonly status?: number;
|
|
59
|
+
};
|
|
60
|
+
export declare const transportFailureEvidence: (error: unknown) => AiSdkTransportFailureEvidence;
|
|
53
61
|
export {};
|
|
54
62
|
//# sourceMappingURL=aiSdkTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiSdkTransport.d.ts","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"aiSdkTransport.d.ts","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"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"}
|
package/dist/aiSdkTransport.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
2
|
-
import { generateText, streamText } from "ai";
|
|
2
|
+
import { APICallError, generateText, streamText } from "ai";
|
|
3
3
|
import { z } from "zod/v4";
|
|
4
4
|
import { normalizeUsage } from "./usage.js";
|
|
5
5
|
import { emitWarningOnce } from "./warnings.js";
|
|
6
|
+
import { ProviderTimeoutError, providerTimeoutOf } from "./errors.js";
|
|
6
7
|
const errorSchema = z.object({
|
|
7
8
|
error: z.object({
|
|
8
9
|
message: z.string(),
|
|
@@ -11,21 +12,27 @@ const errorSchema = z.object({
|
|
|
11
12
|
code: z.union([z.string(), z.number()]).nullish(),
|
|
12
13
|
}).passthrough(),
|
|
13
14
|
}).passthrough();
|
|
15
|
+
const retryDirective = (status, headers) => {
|
|
16
|
+
const raw = headers instanceof Headers
|
|
17
|
+
? headers.get("x-should-retry")
|
|
18
|
+
: Object.entries(headers).find(([name]) => name.toLowerCase() === "x-should-retry")?.[1];
|
|
19
|
+
const directive = raw?.trim().toLowerCase();
|
|
20
|
+
if (directive === "false")
|
|
21
|
+
return false;
|
|
22
|
+
if (directive === "true")
|
|
23
|
+
return true;
|
|
24
|
+
if (status !== undefined && status >= 520 && status <= 527)
|
|
25
|
+
return false;
|
|
26
|
+
return null;
|
|
27
|
+
};
|
|
14
28
|
const errorStructure = {
|
|
15
29
|
errorSchema,
|
|
16
30
|
errorToMessage: ({ error }) => error.message,
|
|
17
31
|
isRetryable(response) {
|
|
18
|
-
|
|
19
|
-
if (directive === "false")
|
|
20
|
-
return false;
|
|
21
|
-
if (directive === "true")
|
|
22
|
-
return true;
|
|
23
|
-
if (response.status >= 520 && response.status <= 527)
|
|
24
|
-
return false;
|
|
25
|
-
return response.status === 408
|
|
32
|
+
return retryDirective(response.status, response.headers) ?? (response.status === 408
|
|
26
33
|
|| response.status === 409
|
|
27
34
|
|| response.status === 429
|
|
28
|
-
|| response.status >= 500;
|
|
35
|
+
|| response.status >= 500);
|
|
29
36
|
},
|
|
30
37
|
};
|
|
31
38
|
const baseUrl = (completionUrl) => {
|
|
@@ -36,23 +43,42 @@ const baseUrl = (completionUrl) => {
|
|
|
36
43
|
url.pathname = url.pathname.slice(0, -"/chat/completions".length);
|
|
37
44
|
return url.toString().replace(/\/$/, "");
|
|
38
45
|
};
|
|
39
|
-
const usageOf = (usage
|
|
46
|
+
const usageOf = (usage) => normalizeUsage({
|
|
40
47
|
prompt_tokens: usage.inputTokens,
|
|
41
48
|
completion_tokens: usage.outputTokens,
|
|
42
49
|
total_tokens: usage.totalTokens,
|
|
43
|
-
prompt_tokens_details: {
|
|
50
|
+
prompt_tokens_details: {
|
|
51
|
+
cached_tokens: usage.inputTokenDetails.cacheReadTokens,
|
|
52
|
+
cache_write_tokens: usage.inputTokenDetails.cacheWriteTokens,
|
|
53
|
+
},
|
|
44
54
|
completion_tokens_details: usage.outputTokenDetails.reasoningTokens !== undefined
|
|
45
55
|
? { reasoning_tokens: usage.outputTokenDetails.reasoningTokens }
|
|
46
56
|
: undefined,
|
|
47
|
-
}
|
|
48
|
-
const wireUsageOf = (values
|
|
57
|
+
});
|
|
58
|
+
const wireUsageOf = (values) => {
|
|
49
59
|
for (let index = values.length - 1; index >= 0; index -= 1) {
|
|
50
60
|
const usage = recordOf(values[index])?.usage;
|
|
51
61
|
if (usage !== null && typeof usage === "object") {
|
|
52
|
-
return normalizeUsage(usage
|
|
62
|
+
return normalizeUsage(usage);
|
|
53
63
|
}
|
|
54
64
|
}
|
|
55
|
-
return
|
|
65
|
+
return undefined;
|
|
66
|
+
};
|
|
67
|
+
const wireUsageEvidenceOf = (values) => {
|
|
68
|
+
for (let index = values.length - 1; index >= 0; index -= 1) {
|
|
69
|
+
const record = recordOf(values[index]);
|
|
70
|
+
if (record !== null && record.usage !== undefined)
|
|
71
|
+
return record.usage;
|
|
72
|
+
}
|
|
73
|
+
return undefined;
|
|
74
|
+
};
|
|
75
|
+
const wireChargeEvidenceOf = (values) => {
|
|
76
|
+
for (let index = values.length - 1; index >= 0; index -= 1) {
|
|
77
|
+
const record = recordOf(values[index]);
|
|
78
|
+
if (record !== null && record.charge !== undefined)
|
|
79
|
+
return record.charge;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
56
82
|
};
|
|
57
83
|
const finishReasonOf = (reason) => {
|
|
58
84
|
switch (reason?.toLowerCase()) {
|
|
@@ -93,14 +119,75 @@ const metadataOf = (values) => {
|
|
|
93
119
|
if (record === null)
|
|
94
120
|
continue;
|
|
95
121
|
for (const [key, item] of Object.entries(record)) {
|
|
96
|
-
if (key !== "choices" && key !== "usage")
|
|
122
|
+
if (key !== "choices" && key !== "usage" && key !== "charge")
|
|
97
123
|
metadata[key] = item;
|
|
98
124
|
}
|
|
99
125
|
}
|
|
100
126
|
return metadata;
|
|
101
127
|
};
|
|
128
|
+
const transportTimeout = (cause, request) => {
|
|
129
|
+
const owned = providerTimeoutOf(cause);
|
|
130
|
+
if (owned !== null)
|
|
131
|
+
return owned;
|
|
132
|
+
const seen = new Set();
|
|
133
|
+
let current = cause;
|
|
134
|
+
while (typeof current === "object" && current !== null && !seen.has(current)) {
|
|
135
|
+
if (current.name === "TimeoutError")
|
|
136
|
+
break;
|
|
137
|
+
seen.add(current);
|
|
138
|
+
current = current.cause;
|
|
139
|
+
}
|
|
140
|
+
if (typeof current !== "object" || current === null)
|
|
141
|
+
return null;
|
|
142
|
+
const message = String(current.message ?? "");
|
|
143
|
+
if (/first chunk timeout/i.test(message)) {
|
|
144
|
+
return new ProviderTimeoutError("first_content", request.firstContentTimeoutMs ?? 0, cause);
|
|
145
|
+
}
|
|
146
|
+
if (/chunk timeout/i.test(message)) {
|
|
147
|
+
return new ProviderTimeoutError("stream_idle", request.streamIdleTimeoutMs ?? 0, cause);
|
|
148
|
+
}
|
|
149
|
+
return new ProviderTimeoutError("attempt", request.fetchTimeoutMs, cause);
|
|
150
|
+
};
|
|
151
|
+
const streamFailureValues = new WeakMap();
|
|
152
|
+
const applyRetryDirective = (error) => {
|
|
153
|
+
if (!APICallError.isInstance(error))
|
|
154
|
+
return error;
|
|
155
|
+
const directed = retryDirective(error.statusCode, error.responseHeaders ?? {});
|
|
156
|
+
if (directed === null || directed === error.isRetryable)
|
|
157
|
+
return error;
|
|
158
|
+
return new APICallError({
|
|
159
|
+
message: error.message,
|
|
160
|
+
url: error.url,
|
|
161
|
+
requestBodyValues: error.requestBodyValues,
|
|
162
|
+
statusCode: error.statusCode,
|
|
163
|
+
responseHeaders: error.responseHeaders,
|
|
164
|
+
responseBody: error.responseBody,
|
|
165
|
+
cause: error,
|
|
166
|
+
isRetryable: directed,
|
|
167
|
+
data: error.data,
|
|
168
|
+
});
|
|
169
|
+
};
|
|
102
170
|
const executeModel = async (request) => {
|
|
103
|
-
|
|
171
|
+
try {
|
|
172
|
+
return await executeModelOnce(request);
|
|
173
|
+
}
|
|
174
|
+
catch (cause) {
|
|
175
|
+
if (request.signal?.aborted)
|
|
176
|
+
throw request.signal.reason;
|
|
177
|
+
const timeout = transportTimeout(cause, request);
|
|
178
|
+
if (timeout === null)
|
|
179
|
+
throw applyRetryDirective(cause);
|
|
180
|
+
throw new APICallError({
|
|
181
|
+
message: timeout.message,
|
|
182
|
+
url: "model:generation",
|
|
183
|
+
requestBodyValues: {},
|
|
184
|
+
cause: timeout,
|
|
185
|
+
isRetryable: true,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
const executeModelOnce = async (request) => {
|
|
190
|
+
const { languageModel: model, providerOptions, systemProviderOptions, temperature, topP, topK, presencePenalty, frequencyPenalty, stopSequences, seed, maxOutputTokens, reasoning, } = request;
|
|
104
191
|
const settings = {
|
|
105
192
|
...(temperature === undefined ? {} : { temperature }),
|
|
106
193
|
...(topP === undefined ? {} : { topP }),
|
|
@@ -118,9 +205,12 @@ const executeModel = async (request) => {
|
|
|
118
205
|
if (request.messages.slice(instructionCount).some((message) => message.role === "system")) {
|
|
119
206
|
throw new Error("provider messages: system instructions must precede conversational messages");
|
|
120
207
|
}
|
|
121
|
-
const instructions = request.messages.slice(0, instructionCount).map(({ content }) => ({
|
|
208
|
+
const instructions = request.messages.slice(0, instructionCount).map(({ content }, index) => ({
|
|
122
209
|
role: "system",
|
|
123
210
|
content,
|
|
211
|
+
...(systemProviderOptions !== undefined && index === instructionCount - 1
|
|
212
|
+
? { providerOptions: systemProviderOptions }
|
|
213
|
+
: {}),
|
|
124
214
|
}));
|
|
125
215
|
const messages = request.messages.slice(instructionCount);
|
|
126
216
|
const common = {
|
|
@@ -129,12 +219,21 @@ const executeModel = async (request) => {
|
|
|
129
219
|
messages: messages.length > 0
|
|
130
220
|
? messages
|
|
131
221
|
: [{ role: "user", content: "" }],
|
|
132
|
-
|
|
222
|
+
// AiSdkProvider owns retries so every physical request is independently
|
|
223
|
+
// observed and accounted. The SDK transport executes exactly once.
|
|
224
|
+
maxRetries: 0,
|
|
133
225
|
abortSignal: request.signal,
|
|
134
226
|
headers: request.headers,
|
|
135
227
|
timeout: {
|
|
136
|
-
totalMs: request.fetchTimeoutMs,
|
|
137
|
-
...(request.
|
|
228
|
+
...(request.fetchTimeoutMs > 0 ? { totalMs: request.fetchTimeoutMs } : {}),
|
|
229
|
+
...(request.streaming
|
|
230
|
+
&& request.firstContentTimeoutMs !== undefined
|
|
231
|
+
&& request.firstContentTimeoutMs > 0
|
|
232
|
+
? { firstChunkMs: request.firstContentTimeoutMs }
|
|
233
|
+
: {}),
|
|
234
|
+
...(request.streaming
|
|
235
|
+
&& request.streamIdleTimeoutMs !== undefined
|
|
236
|
+
&& request.streamIdleTimeoutMs > 0
|
|
138
237
|
? { chunkMs: request.streamIdleTimeoutMs }
|
|
139
238
|
: {}),
|
|
140
239
|
},
|
|
@@ -148,6 +247,7 @@ const executeModel = async (request) => {
|
|
|
148
247
|
const rawBody = result.response.body;
|
|
149
248
|
const values = [rawBody];
|
|
150
249
|
const evidence = extractEvidence(values);
|
|
250
|
+
const accountingUsage = wireUsageEvidenceOf(values);
|
|
151
251
|
const reasoningText = evidence.reasoning || result.reasoningText || "";
|
|
152
252
|
const rawFinishReason = result.rawFinishReason;
|
|
153
253
|
return {
|
|
@@ -157,11 +257,25 @@ const executeModel = async (request) => {
|
|
|
157
257
|
reasoningProjected: evidence.reasoningProjected,
|
|
158
258
|
finishReason: finishReasonOf(rawFinishReason),
|
|
159
259
|
...(rawFinishReason === undefined ? {} : { rawFinishReason }),
|
|
160
|
-
usage: wireUsageOf(values
|
|
161
|
-
?? usageOf(result.usage, reasoningText, result.text),
|
|
260
|
+
usage: wireUsageOf(values) ?? usageOf(result.usage),
|
|
162
261
|
metadata: metadataOf(values),
|
|
163
262
|
reasoningEncrypted: evidence.reasoningEncrypted,
|
|
164
263
|
logprobs: evidence.logprobs,
|
|
264
|
+
chargeEvidence: {
|
|
265
|
+
...(wireChargeEvidenceOf(values) === undefined
|
|
266
|
+
? {}
|
|
267
|
+
: { charge: wireChargeEvidenceOf(values) }),
|
|
268
|
+
...(accountingUsage === undefined ? {} : { usage: accountingUsage }),
|
|
269
|
+
...(result.providerMetadata === undefined
|
|
270
|
+
? {}
|
|
271
|
+
: { providerMetadata: result.providerMetadata }),
|
|
272
|
+
response: {
|
|
273
|
+
id: result.response.id,
|
|
274
|
+
...(result.response.headers === undefined
|
|
275
|
+
? {}
|
|
276
|
+
: { headers: result.response.headers }),
|
|
277
|
+
},
|
|
278
|
+
},
|
|
165
279
|
...(request.captureRawBody ? { rawBody } : {}),
|
|
166
280
|
};
|
|
167
281
|
}
|
|
@@ -178,24 +292,43 @@ const executeModel = async (request) => {
|
|
|
178
292
|
if (part.type === "error")
|
|
179
293
|
streamError ??= part.error;
|
|
180
294
|
}
|
|
181
|
-
if (streamError !== undefined)
|
|
295
|
+
if (streamError !== undefined) {
|
|
296
|
+
if (typeof streamError === "object" && streamError !== null) {
|
|
297
|
+
streamFailureValues.set(streamError, [...rawChunks, streamError]);
|
|
298
|
+
}
|
|
182
299
|
throw streamError;
|
|
300
|
+
}
|
|
183
301
|
const evidence = extractEvidence(rawChunks);
|
|
302
|
+
const accountingUsage = wireUsageEvidenceOf(rawChunks);
|
|
184
303
|
const content = await result.text;
|
|
185
304
|
const reasoningText = evidence.reasoning || (await result.reasoningText) || "";
|
|
186
305
|
const rawFinishReason = await result.rawFinishReason;
|
|
306
|
+
const [response, providerMetadata] = await Promise.all([
|
|
307
|
+
result.response,
|
|
308
|
+
result.providerMetadata,
|
|
309
|
+
]);
|
|
187
310
|
return {
|
|
188
|
-
model:
|
|
311
|
+
model: response.modelId,
|
|
189
312
|
content,
|
|
190
313
|
reasoning: reasoningText,
|
|
191
314
|
reasoningProjected: evidence.reasoningProjected,
|
|
192
315
|
finishReason: finishReasonOf(rawFinishReason),
|
|
193
316
|
...(rawFinishReason === undefined ? {} : { rawFinishReason }),
|
|
194
|
-
usage: wireUsageOf(rawChunks
|
|
195
|
-
?? usageOf(await result.usage, reasoningText, content),
|
|
317
|
+
usage: wireUsageOf(rawChunks) ?? usageOf(await result.usage),
|
|
196
318
|
metadata: metadataOf(rawChunks),
|
|
197
319
|
reasoningEncrypted: evidence.reasoningEncrypted,
|
|
198
320
|
logprobs: evidence.logprobs,
|
|
321
|
+
chargeEvidence: {
|
|
322
|
+
...(wireChargeEvidenceOf(rawChunks) === undefined
|
|
323
|
+
? {}
|
|
324
|
+
: { charge: wireChargeEvidenceOf(rawChunks) }),
|
|
325
|
+
...(accountingUsage === undefined ? {} : { usage: accountingUsage }),
|
|
326
|
+
...(providerMetadata === undefined ? {} : { providerMetadata }),
|
|
327
|
+
response: {
|
|
328
|
+
id: response.id,
|
|
329
|
+
...(response.headers === undefined ? {} : { headers: response.headers }),
|
|
330
|
+
},
|
|
331
|
+
},
|
|
199
332
|
...(request.captureRawBody ? { rawBody: rawChunks } : {}),
|
|
200
333
|
};
|
|
201
334
|
};
|
|
@@ -223,12 +356,48 @@ export const executeOpenAICompatible = async (request) => {
|
|
|
223
356
|
messages: request.messages,
|
|
224
357
|
signal: request.signal,
|
|
225
358
|
fetchTimeoutMs: request.fetchTimeoutMs,
|
|
359
|
+
firstContentTimeoutMs: request.firstContentTimeoutMs,
|
|
226
360
|
streamIdleTimeoutMs: request.streamIdleTimeoutMs,
|
|
227
|
-
retryAttempts: request.retryAttempts,
|
|
228
361
|
streaming: request.streaming,
|
|
229
362
|
captureRawBody: request.captureRawBody,
|
|
230
363
|
});
|
|
231
364
|
};
|
|
365
|
+
const responseBodyValues = (error) => {
|
|
366
|
+
if (error.responseBody === undefined || error.responseBody.length === 0)
|
|
367
|
+
return [];
|
|
368
|
+
try {
|
|
369
|
+
return [JSON.parse(error.responseBody)];
|
|
370
|
+
}
|
|
371
|
+
catch {
|
|
372
|
+
return [];
|
|
373
|
+
}
|
|
374
|
+
};
|
|
375
|
+
export const transportFailureEvidence = (error) => {
|
|
376
|
+
const values = typeof error === "object" && error !== null
|
|
377
|
+
? streamFailureValues.get(error) ?? (APICallError.isInstance(error) ? responseBodyValues(error) : [])
|
|
378
|
+
: [];
|
|
379
|
+
const usage = wireUsageOf(values);
|
|
380
|
+
const usageEvidence = wireUsageEvidenceOf(values);
|
|
381
|
+
const charge = wireChargeEvidenceOf(values);
|
|
382
|
+
const wireStatus = values
|
|
383
|
+
.map(recordOf)
|
|
384
|
+
.find((record) => Number.isInteger(record?.status))?.status;
|
|
385
|
+
const apiStatus = APICallError.isInstance(error) ? error.statusCode : undefined;
|
|
386
|
+
const status = Number.isInteger(apiStatus) && apiStatus >= 100 && apiStatus <= 599
|
|
387
|
+
? apiStatus
|
|
388
|
+
: Number.isInteger(wireStatus) && wireStatus >= 100 && wireStatus <= 599
|
|
389
|
+
? wireStatus
|
|
390
|
+
: undefined;
|
|
391
|
+
return {
|
|
392
|
+
...(usage === undefined ? {} : { usage }),
|
|
393
|
+
chargeEvidence: {
|
|
394
|
+
...(charge === undefined ? {} : { charge }),
|
|
395
|
+
...(usageEvidence === undefined ? {} : { usage: usageEvidence }),
|
|
396
|
+
response: {},
|
|
397
|
+
},
|
|
398
|
+
...(status === undefined ? {} : { status }),
|
|
399
|
+
};
|
|
400
|
+
};
|
|
232
401
|
const extractEvidence = (values) => {
|
|
233
402
|
const encrypted = new Map();
|
|
234
403
|
const logprobs = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiSdkTransport.js","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aiSdkTransport.js","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { type ModelInfo } from "@plurnk/plurnk-models";
|
|
2
|
-
import type { Provider } from "./types.ts";
|
|
2
|
+
import type { Provider, ProviderCostNormalizer } from "./types.ts";
|
|
3
3
|
import type { LanguageModel } from "ai";
|
|
4
|
+
import type { AiSdkProviderOptions, CacheAffinity } from "./AiSdkProvider.ts";
|
|
4
5
|
import type { PluginAttribution, PluginAttributionContext } from "@plurnk/plurnk-meta";
|
|
5
|
-
export declare const providerFromSdkModel: ({ name, env, model, languageModel, url, headers, contextWindow, info, attributions, }: {
|
|
6
|
+
export declare const providerFromSdkModel: ({ name, env, model, languageModel, normalizeCost, url, headers, contextWindow, info, attributions, cacheAffinity, systemCacheProviderOptions, reasoningResponseProviderOptions, }: {
|
|
6
7
|
name: string;
|
|
7
8
|
env: NodeJS.ProcessEnv;
|
|
8
9
|
model: string;
|
|
9
10
|
languageModel?: LanguageModel;
|
|
11
|
+
normalizeCost?: ProviderCostNormalizer;
|
|
10
12
|
url?: string;
|
|
11
13
|
headers?: Readonly<Record<string, string>>;
|
|
12
14
|
contextWindow: number;
|
|
13
15
|
info?: ModelInfo;
|
|
14
16
|
attributions?: (context: PluginAttributionContext) => PluginAttribution;
|
|
17
|
+
cacheAffinity?: CacheAffinity;
|
|
18
|
+
systemCacheProviderOptions?: AiSdkProviderOptions;
|
|
19
|
+
reasoningResponseProviderOptions?: AiSdkProviderOptions;
|
|
15
20
|
}) => Provider;
|
|
16
21
|
export declare const catalogProviderFromEnv: (name: string, env: NodeJS.ProcessEnv, model: string, baseUrlOverride?: string) => Provider | null;
|
|
17
22
|
//# sourceMappingURL=catalogProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogProvider.d.ts","sourceRoot":"","sources":["../src/catalogProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"catalogProvider.d.ts","sourceRoot":"","sources":["../src/catalogProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAmBrF,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAmBvF,eAAO,MAAM,oBAAoB,sLAc9B;IACC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,iBAAiB,CAAC;IACxE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,0BAA0B,CAAC,EAAE,oBAAoB,CAAC;IAClD,gCAAgC,CAAC,EAAE,oBAAoB,CAAC;CAC3D,KAAG,QA2EH,CAAC;AAEF,eAAO,MAAM,sBAAsB,SACzB,MAAM,OACP,MAAM,CAAC,UAAU,SACf,MAAM,oBACK,MAAM,KACzB,QAAQ,GAAG,IAmCb,CAAC"}
|
package/dist/catalogProvider.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { lookupProvider, resolveModel } from "@plurnk/plurnk-models";
|
|
2
|
-
import { contextWindowFromEnv, effectiveContextWindow, dataCaptureFromEnv, envelopeFromEnv, parseRequiredFloat, parseRequiredInt,
|
|
2
|
+
import { contextWindowFromEnv, effectiveContextWindow, dataCaptureFromEnv, envelopeFromEnv, parseRequiredFloat, parseRequiredInt, parseTimeoutMs, cacheAffinityFromEnv, cacheWritePolicyFromEnv, reasoningFromEnv, reasoningResponseStyleFromEnv, resolveReserve, } from "./env.js";
|
|
3
3
|
import AiSdkProvider from "./AiSdkProvider.js";
|
|
4
4
|
import { configuredProviderInfo, createSdkModel } from "./sdkModels.js";
|
|
5
5
|
import { providerSource } from "./notices.js";
|
|
6
|
-
import {
|
|
6
|
+
import { estimateProviderCost } from "./cost.js";
|
|
7
7
|
import { emitWarningOnce } from "./warnings.js";
|
|
8
8
|
const reasoningStyleFromEnv = (env, name) => {
|
|
9
9
|
const prefix = name.replaceAll(/[^a-zA-Z0-9]/g, "_").toUpperCase();
|
|
@@ -19,8 +19,8 @@ const reasoningStyleFromEnv = (env, name) => {
|
|
|
19
19
|
}
|
|
20
20
|
return value;
|
|
21
21
|
};
|
|
22
|
-
export const providerFromSdkModel = ({ name, env, model, languageModel, url, headers, contextWindow, info, attributions, }) => {
|
|
23
|
-
emitWarningOnce(`${name} provider:
|
|
22
|
+
export const providerFromSdkModel = ({ name, env, model, languageModel, normalizeCost, url, headers, contextWindow, info, attributions, cacheAffinity, systemCacheProviderOptions, reasoningResponseProviderOptions, }) => {
|
|
23
|
+
emitWarningOnce(`${name} provider: request-level prompt counting is a chars/2 estimate; hard context-envelope admission fails closed without exact or bounded evidence`, "PLURNK_PROMPT_COUNT_ESTIMATE");
|
|
24
24
|
const reasoning = reasoningFromEnv(env, name);
|
|
25
25
|
const { reasoningReserve: configuredReasoning, completionReserve: configuredCompletion } = envelopeFromEnv(env, name);
|
|
26
26
|
const completionReserve = "tokens" in configuredCompletion
|
|
@@ -36,35 +36,32 @@ export const providerFromSdkModel = ({ name, env, model, languageModel, url, hea
|
|
|
36
36
|
: completionTokens === null
|
|
37
37
|
? configuredReasoning
|
|
38
38
|
: { tokens: Math.round(completionTokens / 2) };
|
|
39
|
-
const configuredRates = tokenRatesFromEnv(env, name);
|
|
40
39
|
const catalogCost = info?.cost;
|
|
41
|
-
const rates =
|
|
40
|
+
const rates = catalogCost === undefined ? null : {
|
|
42
41
|
input: catalogCost.inputPer1M,
|
|
43
42
|
output: catalogCost.outputPer1M,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
: (usage) => ({
|
|
55
|
-
kind: "estimated",
|
|
56
|
-
usd: String(calculateCostUsd(usage, rates)),
|
|
57
|
-
source: rateSource,
|
|
58
|
-
});
|
|
43
|
+
...(catalogCost.cacheReadPer1M === undefined
|
|
44
|
+
? {}
|
|
45
|
+
: { cacheRead: catalogCost.cacheReadPer1M }),
|
|
46
|
+
...(catalogCost.cacheWritePer1M === undefined
|
|
47
|
+
? {}
|
|
48
|
+
: { cacheWrite: catalogCost.cacheWritePer1M }),
|
|
49
|
+
};
|
|
50
|
+
const estimateCost = (usage) => estimateProviderCost(usage, rates, "Models.dev catalog rates");
|
|
51
|
+
const affinityEnabled = cacheAffinityFromEnv(env, name);
|
|
52
|
+
const cacheWritePolicy = cacheWritePolicyFromEnv(env, name);
|
|
59
53
|
return new AiSdkProvider({
|
|
60
54
|
model,
|
|
61
55
|
...(attributions === undefined ? {} : { attributions }),
|
|
62
56
|
...(languageModel === undefined ? {} : { languageModel }),
|
|
57
|
+
...(normalizeCost === undefined ? {} : { normalizeCost }),
|
|
63
58
|
...(url === undefined ? {} : { url }),
|
|
64
59
|
...(headers === undefined ? {} : { headers: { ...headers } }),
|
|
65
60
|
contextWindow,
|
|
66
|
-
fetchTimeoutMs:
|
|
67
|
-
|
|
61
|
+
fetchTimeoutMs: parseTimeoutMs(env.PLURNK_PROVIDERS_FETCH_TIMEOUT, "PLURNK_PROVIDERS_FETCH_TIMEOUT", name),
|
|
62
|
+
operationTimeoutMs: parseTimeoutMs(env.PLURNK_PROVIDERS_OPERATION_TIMEOUT, "PLURNK_PROVIDERS_OPERATION_TIMEOUT", name),
|
|
63
|
+
firstContentTimeoutMs: parseTimeoutMs(env.PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT, "PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT", name),
|
|
64
|
+
streamIdleTimeoutMs: parseTimeoutMs(env.PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT, "PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT", name),
|
|
68
65
|
reasoning,
|
|
69
66
|
reasoningResponseStyle: reasoningResponseStyleFromEnv(env, name),
|
|
70
67
|
temperature: parseRequiredFloat(env.PLURNK_PROVIDERS_TEMPERATURE, "PLURNK_PROVIDERS_TEMPERATURE", name, 0),
|
|
@@ -75,10 +72,15 @@ export const providerFromSdkModel = ({ name, env, model, languageModel, url, hea
|
|
|
75
72
|
retryAttempts: parseRequiredInt(env.PLURNK_PROVIDERS_RETRY_ATTEMPTS, "PLURNK_PROVIDERS_RETRY_ATTEMPTS", name),
|
|
76
73
|
errorDetailLimit: parseRequiredInt(env.PLURNK_PROVIDERS_ERROR_DETAIL_LIMIT, "PLURNK_PROVIDERS_ERROR_DETAIL_LIMIT", name),
|
|
77
74
|
reasoningStyle: reasoningStyleFromEnv(env, name),
|
|
78
|
-
|
|
75
|
+
...(affinityEnabled && cacheAffinity !== undefined ? { cacheAffinity } : {}),
|
|
76
|
+
...(cacheWritePolicy === "stable-system" && systemCacheProviderOptions !== undefined
|
|
77
|
+
? { systemCacheProviderOptions }
|
|
78
|
+
: {}),
|
|
79
|
+
...(reasoningResponseProviderOptions === undefined
|
|
80
|
+
? {}
|
|
81
|
+
: { reasoningResponseProviderOptions }),
|
|
79
82
|
serviceTier: env.PLURNK_PROVIDERS_SERVICE_TIER,
|
|
80
|
-
|
|
81
|
-
calculateCharge,
|
|
83
|
+
estimateCost,
|
|
82
84
|
source: providerSource(name),
|
|
83
85
|
gbnfDebug: env.PLURNK_PROVIDERS_GBNF_DEBUG !== undefined
|
|
84
86
|
&& env.PLURNK_PROVIDERS_GBNF_DEBUG !== ""
|
|
@@ -110,8 +112,12 @@ export const catalogProviderFromEnv = (name, env, model, baseUrlOverride) => {
|
|
|
110
112
|
env,
|
|
111
113
|
model: wireModel,
|
|
112
114
|
languageModel: sdk.languageModel,
|
|
115
|
+
normalizeCost: sdk.normalizeCost,
|
|
113
116
|
url: sdk.compatible?.url,
|
|
114
117
|
headers: sdk.compatible?.headers,
|
|
118
|
+
cacheAffinity: sdk.cacheAffinity,
|
|
119
|
+
systemCacheProviderOptions: sdk.systemCacheProviderOptions,
|
|
120
|
+
reasoningResponseProviderOptions: sdk.reasoningResponseProviderOptions,
|
|
115
121
|
contextWindow,
|
|
116
122
|
info,
|
|
117
123
|
});
|