ai 4.3.16 → 4.3.18
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/CHANGELOG.md +12 -0
- package/dist/index.d.mts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +168 -110
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +117 -60
- package/dist/index.mjs.map +1 -1
- package/mcp-stdio/dist/index.js.map +1 -1
- package/mcp-stdio/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -20,29 +20,29 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
20
20
|
// streams/index.ts
|
21
21
|
var streams_exports = {};
|
22
22
|
__export(streams_exports, {
|
23
|
-
AISDKError: () =>
|
24
|
-
APICallError: () =>
|
23
|
+
AISDKError: () => import_provider21.AISDKError,
|
24
|
+
APICallError: () => import_provider21.APICallError,
|
25
25
|
AssistantResponse: () => AssistantResponse,
|
26
26
|
DownloadError: () => DownloadError,
|
27
|
-
EmptyResponseBodyError: () =>
|
27
|
+
EmptyResponseBodyError: () => import_provider21.EmptyResponseBodyError,
|
28
28
|
InvalidArgumentError: () => InvalidArgumentError,
|
29
29
|
InvalidDataContentError: () => InvalidDataContentError,
|
30
30
|
InvalidMessageRoleError: () => InvalidMessageRoleError,
|
31
|
-
InvalidPromptError: () =>
|
32
|
-
InvalidResponseDataError: () =>
|
31
|
+
InvalidPromptError: () => import_provider21.InvalidPromptError,
|
32
|
+
InvalidResponseDataError: () => import_provider21.InvalidResponseDataError,
|
33
33
|
InvalidStreamPartError: () => InvalidStreamPartError,
|
34
34
|
InvalidToolArgumentsError: () => InvalidToolArgumentsError,
|
35
|
-
JSONParseError: () =>
|
35
|
+
JSONParseError: () => import_provider21.JSONParseError,
|
36
36
|
LangChainAdapter: () => langchain_adapter_exports,
|
37
37
|
LlamaIndexAdapter: () => llamaindex_adapter_exports,
|
38
|
-
LoadAPIKeyError: () =>
|
38
|
+
LoadAPIKeyError: () => import_provider21.LoadAPIKeyError,
|
39
39
|
MCPClientError: () => MCPClientError,
|
40
40
|
MessageConversionError: () => MessageConversionError,
|
41
|
-
NoContentGeneratedError: () =>
|
41
|
+
NoContentGeneratedError: () => import_provider21.NoContentGeneratedError,
|
42
42
|
NoImageGeneratedError: () => NoImageGeneratedError,
|
43
43
|
NoObjectGeneratedError: () => NoObjectGeneratedError,
|
44
44
|
NoOutputSpecifiedError: () => NoOutputSpecifiedError,
|
45
|
-
NoSuchModelError: () =>
|
45
|
+
NoSuchModelError: () => import_provider21.NoSuchModelError,
|
46
46
|
NoSuchProviderError: () => NoSuchProviderError,
|
47
47
|
NoSuchToolError: () => NoSuchToolError,
|
48
48
|
Output: () => output_exports,
|
@@ -50,8 +50,9 @@ __export(streams_exports, {
|
|
50
50
|
StreamData: () => StreamData,
|
51
51
|
ToolCallRepairError: () => ToolCallRepairError,
|
52
52
|
ToolExecutionError: () => ToolExecutionError,
|
53
|
-
TypeValidationError: () =>
|
54
|
-
UnsupportedFunctionalityError: () =>
|
53
|
+
TypeValidationError: () => import_provider21.TypeValidationError,
|
54
|
+
UnsupportedFunctionalityError: () => import_provider21.UnsupportedFunctionalityError,
|
55
|
+
UnsupportedModelVersionError: () => UnsupportedModelVersionError,
|
55
56
|
appendClientMessage: () => appendClientMessage,
|
56
57
|
appendResponseMessages: () => appendResponseMessages,
|
57
58
|
convertToCoreMessages: () => convertToCoreMessages,
|
@@ -284,13 +285,24 @@ function pipeDataStreamToResponse(response, {
|
|
284
285
|
});
|
285
286
|
}
|
286
287
|
|
287
|
-
// errors/
|
288
|
+
// errors/unsupported-model-version-error.ts
|
288
289
|
var import_provider = require("@ai-sdk/provider");
|
290
|
+
var UnsupportedModelVersionError = class extends import_provider.AISDKError {
|
291
|
+
constructor() {
|
292
|
+
super({
|
293
|
+
name: "AI_UnsupportedModelVersionError",
|
294
|
+
message: `Unsupported model version. AI SDK 4 only supports models that implement specification version "v1". Please upgrade to AI SDK 5 to use this model.`
|
295
|
+
});
|
296
|
+
}
|
297
|
+
};
|
298
|
+
|
299
|
+
// errors/invalid-argument-error.ts
|
300
|
+
var import_provider2 = require("@ai-sdk/provider");
|
289
301
|
var name = "AI_InvalidArgumentError";
|
290
302
|
var marker = `vercel.ai.error.${name}`;
|
291
303
|
var symbol = Symbol.for(marker);
|
292
304
|
var _a;
|
293
|
-
var InvalidArgumentError = class extends
|
305
|
+
var InvalidArgumentError = class extends import_provider2.AISDKError {
|
294
306
|
constructor({
|
295
307
|
parameter,
|
296
308
|
value,
|
@@ -305,22 +317,22 @@ var InvalidArgumentError = class extends import_provider.AISDKError {
|
|
305
317
|
this.value = value;
|
306
318
|
}
|
307
319
|
static isInstance(error) {
|
308
|
-
return
|
320
|
+
return import_provider2.AISDKError.hasMarker(error, marker);
|
309
321
|
}
|
310
322
|
};
|
311
323
|
_a = symbol;
|
312
324
|
|
313
325
|
// util/retry-with-exponential-backoff.ts
|
314
|
-
var
|
326
|
+
var import_provider4 = require("@ai-sdk/provider");
|
315
327
|
var import_provider_utils = require("@ai-sdk/provider-utils");
|
316
328
|
|
317
329
|
// util/retry-error.ts
|
318
|
-
var
|
330
|
+
var import_provider3 = require("@ai-sdk/provider");
|
319
331
|
var name2 = "AI_RetryError";
|
320
332
|
var marker2 = `vercel.ai.error.${name2}`;
|
321
333
|
var symbol2 = Symbol.for(marker2);
|
322
334
|
var _a2;
|
323
|
-
var RetryError = class extends
|
335
|
+
var RetryError = class extends import_provider3.AISDKError {
|
324
336
|
constructor({
|
325
337
|
message,
|
326
338
|
reason,
|
@@ -333,7 +345,7 @@ var RetryError = class extends import_provider2.AISDKError {
|
|
333
345
|
this.lastError = errors[errors.length - 1];
|
334
346
|
}
|
335
347
|
static isInstance(error) {
|
336
|
-
return
|
348
|
+
return import_provider3.AISDKError.hasMarker(error, marker2);
|
337
349
|
}
|
338
350
|
};
|
339
351
|
_a2 = symbol2;
|
@@ -372,7 +384,7 @@ async function _retryWithExponentialBackoff(f, {
|
|
372
384
|
errors: newErrors
|
373
385
|
});
|
374
386
|
}
|
375
|
-
if (error instanceof Error &&
|
387
|
+
if (error instanceof Error && import_provider4.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
|
376
388
|
await (0, import_provider_utils.delay)(delayInMs);
|
377
389
|
return _retryWithExponentialBackoff(
|
378
390
|
f,
|
@@ -620,6 +632,9 @@ async function embed({
|
|
620
632
|
headers,
|
621
633
|
experimental_telemetry: telemetry
|
622
634
|
}) {
|
635
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
636
|
+
throw new UnsupportedModelVersionError();
|
637
|
+
}
|
623
638
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
624
639
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
625
640
|
model,
|
@@ -732,6 +747,9 @@ async function embedMany({
|
|
732
747
|
headers,
|
733
748
|
experimental_telemetry: telemetry
|
734
749
|
}) {
|
750
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
751
|
+
throw new UnsupportedModelVersionError();
|
752
|
+
}
|
735
753
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
736
754
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
737
755
|
model,
|
@@ -889,12 +907,12 @@ var DefaultEmbedManyResult = class {
|
|
889
907
|
};
|
890
908
|
|
891
909
|
// errors/no-image-generated-error.ts
|
892
|
-
var
|
910
|
+
var import_provider5 = require("@ai-sdk/provider");
|
893
911
|
var name3 = "AI_NoImageGeneratedError";
|
894
912
|
var marker3 = `vercel.ai.error.${name3}`;
|
895
913
|
var symbol3 = Symbol.for(marker3);
|
896
914
|
var _a3;
|
897
|
-
var NoImageGeneratedError = class extends
|
915
|
+
var NoImageGeneratedError = class extends import_provider5.AISDKError {
|
898
916
|
constructor({
|
899
917
|
message = "No image generated.",
|
900
918
|
cause,
|
@@ -905,7 +923,7 @@ var NoImageGeneratedError = class extends import_provider4.AISDKError {
|
|
905
923
|
this.responses = responses;
|
906
924
|
}
|
907
925
|
static isInstance(error) {
|
908
|
-
return
|
926
|
+
return import_provider5.AISDKError.hasMarker(error, marker3);
|
909
927
|
}
|
910
928
|
};
|
911
929
|
_a3 = symbol3;
|
@@ -1091,6 +1109,9 @@ async function generateImage({
|
|
1091
1109
|
headers
|
1092
1110
|
}) {
|
1093
1111
|
var _a17;
|
1112
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
1113
|
+
throw new UnsupportedModelVersionError();
|
1114
|
+
}
|
1094
1115
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
1095
1116
|
const maxImagesPerCall = (_a17 = model.maxImagesPerCall) != null ? _a17 : 1;
|
1096
1117
|
const callCount = Math.ceil(n / maxImagesPerCall);
|
@@ -1155,16 +1176,16 @@ var DefaultGenerateImageResult = class {
|
|
1155
1176
|
};
|
1156
1177
|
|
1157
1178
|
// core/generate-object/generate-object.ts
|
1158
|
-
var
|
1179
|
+
var import_provider13 = require("@ai-sdk/provider");
|
1159
1180
|
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
1160
1181
|
|
1161
1182
|
// errors/no-object-generated-error.ts
|
1162
|
-
var
|
1183
|
+
var import_provider6 = require("@ai-sdk/provider");
|
1163
1184
|
var name4 = "AI_NoObjectGeneratedError";
|
1164
1185
|
var marker4 = `vercel.ai.error.${name4}`;
|
1165
1186
|
var symbol4 = Symbol.for(marker4);
|
1166
1187
|
var _a4;
|
1167
|
-
var NoObjectGeneratedError = class extends
|
1188
|
+
var NoObjectGeneratedError = class extends import_provider6.AISDKError {
|
1168
1189
|
constructor({
|
1169
1190
|
message = "No object generated.",
|
1170
1191
|
cause,
|
@@ -1181,18 +1202,18 @@ var NoObjectGeneratedError = class extends import_provider5.AISDKError {
|
|
1181
1202
|
this.finishReason = finishReason;
|
1182
1203
|
}
|
1183
1204
|
static isInstance(error) {
|
1184
|
-
return
|
1205
|
+
return import_provider6.AISDKError.hasMarker(error, marker4);
|
1185
1206
|
}
|
1186
1207
|
};
|
1187
1208
|
_a4 = symbol4;
|
1188
1209
|
|
1189
1210
|
// util/download-error.ts
|
1190
|
-
var
|
1211
|
+
var import_provider7 = require("@ai-sdk/provider");
|
1191
1212
|
var name5 = "AI_DownloadError";
|
1192
1213
|
var marker5 = `vercel.ai.error.${name5}`;
|
1193
1214
|
var symbol5 = Symbol.for(marker5);
|
1194
1215
|
var _a5;
|
1195
|
-
var DownloadError = class extends
|
1216
|
+
var DownloadError = class extends import_provider7.AISDKError {
|
1196
1217
|
constructor({
|
1197
1218
|
url,
|
1198
1219
|
statusCode,
|
@@ -1207,7 +1228,7 @@ var DownloadError = class extends import_provider6.AISDKError {
|
|
1207
1228
|
this.statusText = statusText;
|
1208
1229
|
}
|
1209
1230
|
static isInstance(error) {
|
1210
|
-
return
|
1231
|
+
return import_provider7.AISDKError.hasMarker(error, marker5);
|
1211
1232
|
}
|
1212
1233
|
};
|
1213
1234
|
_a5 = symbol5;
|
@@ -1241,12 +1262,12 @@ async function download({ url }) {
|
|
1241
1262
|
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
1242
1263
|
|
1243
1264
|
// core/prompt/invalid-data-content-error.ts
|
1244
|
-
var
|
1265
|
+
var import_provider8 = require("@ai-sdk/provider");
|
1245
1266
|
var name6 = "AI_InvalidDataContentError";
|
1246
1267
|
var marker6 = `vercel.ai.error.${name6}`;
|
1247
1268
|
var symbol6 = Symbol.for(marker6);
|
1248
1269
|
var _a6;
|
1249
|
-
var InvalidDataContentError = class extends
|
1270
|
+
var InvalidDataContentError = class extends import_provider8.AISDKError {
|
1250
1271
|
constructor({
|
1251
1272
|
content,
|
1252
1273
|
cause,
|
@@ -1257,7 +1278,7 @@ var InvalidDataContentError = class extends import_provider7.AISDKError {
|
|
1257
1278
|
this.content = content;
|
1258
1279
|
}
|
1259
1280
|
static isInstance(error) {
|
1260
|
-
return
|
1281
|
+
return import_provider8.AISDKError.hasMarker(error, marker6);
|
1261
1282
|
}
|
1262
1283
|
};
|
1263
1284
|
_a6 = symbol6;
|
@@ -1315,12 +1336,12 @@ function convertUint8ArrayToText(uint8Array) {
|
|
1315
1336
|
}
|
1316
1337
|
|
1317
1338
|
// core/prompt/invalid-message-role-error.ts
|
1318
|
-
var
|
1339
|
+
var import_provider9 = require("@ai-sdk/provider");
|
1319
1340
|
var name7 = "AI_InvalidMessageRoleError";
|
1320
1341
|
var marker7 = `vercel.ai.error.${name7}`;
|
1321
1342
|
var symbol7 = Symbol.for(marker7);
|
1322
1343
|
var _a7;
|
1323
|
-
var InvalidMessageRoleError = class extends
|
1344
|
+
var InvalidMessageRoleError = class extends import_provider9.AISDKError {
|
1324
1345
|
constructor({
|
1325
1346
|
role,
|
1326
1347
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
@@ -1330,7 +1351,7 @@ var InvalidMessageRoleError = class extends import_provider8.AISDKError {
|
|
1330
1351
|
this.role = role;
|
1331
1352
|
}
|
1332
1353
|
static isInstance(error) {
|
1333
|
-
return
|
1354
|
+
return import_provider9.AISDKError.hasMarker(error, marker7);
|
1334
1355
|
}
|
1335
1356
|
};
|
1336
1357
|
_a7 = symbol7;
|
@@ -1681,7 +1702,7 @@ function prepareCallSettings({
|
|
1681
1702
|
}
|
1682
1703
|
|
1683
1704
|
// core/prompt/standardize-prompt.ts
|
1684
|
-
var
|
1705
|
+
var import_provider11 = require("@ai-sdk/provider");
|
1685
1706
|
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
1686
1707
|
var import_zod7 = require("zod");
|
1687
1708
|
|
@@ -1763,12 +1784,12 @@ function attachmentsToParts(attachments) {
|
|
1763
1784
|
}
|
1764
1785
|
|
1765
1786
|
// core/prompt/message-conversion-error.ts
|
1766
|
-
var
|
1787
|
+
var import_provider10 = require("@ai-sdk/provider");
|
1767
1788
|
var name8 = "AI_MessageConversionError";
|
1768
1789
|
var marker8 = `vercel.ai.error.${name8}`;
|
1769
1790
|
var symbol8 = Symbol.for(marker8);
|
1770
1791
|
var _a8;
|
1771
|
-
var MessageConversionError = class extends
|
1792
|
+
var MessageConversionError = class extends import_provider10.AISDKError {
|
1772
1793
|
constructor({
|
1773
1794
|
originalMessage,
|
1774
1795
|
message
|
@@ -1778,7 +1799,7 @@ var MessageConversionError = class extends import_provider9.AISDKError {
|
|
1778
1799
|
this.originalMessage = originalMessage;
|
1779
1800
|
}
|
1780
1801
|
static isInstance(error) {
|
1781
|
-
return
|
1802
|
+
return import_provider10.AISDKError.hasMarker(error, marker8);
|
1782
1803
|
}
|
1783
1804
|
};
|
1784
1805
|
_a8 = symbol8;
|
@@ -2162,26 +2183,26 @@ function standardizePrompt({
|
|
2162
2183
|
tools
|
2163
2184
|
}) {
|
2164
2185
|
if (prompt.prompt == null && prompt.messages == null) {
|
2165
|
-
throw new
|
2186
|
+
throw new import_provider11.InvalidPromptError({
|
2166
2187
|
prompt,
|
2167
2188
|
message: "prompt or messages must be defined"
|
2168
2189
|
});
|
2169
2190
|
}
|
2170
2191
|
if (prompt.prompt != null && prompt.messages != null) {
|
2171
|
-
throw new
|
2192
|
+
throw new import_provider11.InvalidPromptError({
|
2172
2193
|
prompt,
|
2173
2194
|
message: "prompt and messages cannot be defined at the same time"
|
2174
2195
|
});
|
2175
2196
|
}
|
2176
2197
|
if (prompt.system != null && typeof prompt.system !== "string") {
|
2177
|
-
throw new
|
2198
|
+
throw new import_provider11.InvalidPromptError({
|
2178
2199
|
prompt,
|
2179
2200
|
message: "system must be a string"
|
2180
2201
|
});
|
2181
2202
|
}
|
2182
2203
|
if (prompt.prompt != null) {
|
2183
2204
|
if (typeof prompt.prompt !== "string") {
|
2184
|
-
throw new
|
2205
|
+
throw new import_provider11.InvalidPromptError({
|
2185
2206
|
prompt,
|
2186
2207
|
message: "prompt must be a string"
|
2187
2208
|
});
|
@@ -2203,7 +2224,7 @@ function standardizePrompt({
|
|
2203
2224
|
tools
|
2204
2225
|
}) : prompt.messages;
|
2205
2226
|
if (messages.length === 0) {
|
2206
|
-
throw new
|
2227
|
+
throw new import_provider11.InvalidPromptError({
|
2207
2228
|
prompt,
|
2208
2229
|
message: "messages must not be empty"
|
2209
2230
|
});
|
@@ -2213,7 +2234,7 @@ function standardizePrompt({
|
|
2213
2234
|
schema: import_zod7.z.array(coreMessageSchema)
|
2214
2235
|
});
|
2215
2236
|
if (!validationResult.success) {
|
2216
|
-
throw new
|
2237
|
+
throw new import_provider11.InvalidPromptError({
|
2217
2238
|
prompt,
|
2218
2239
|
message: [
|
2219
2240
|
"message must be a CoreMessage or a UI message",
|
@@ -2232,7 +2253,7 @@ function standardizePrompt({
|
|
2232
2253
|
}
|
2233
2254
|
function detectPromptType(prompt) {
|
2234
2255
|
if (!Array.isArray(prompt)) {
|
2235
|
-
throw new
|
2256
|
+
throw new import_provider11.InvalidPromptError({
|
2236
2257
|
prompt,
|
2237
2258
|
message: [
|
2238
2259
|
"messages must be an array of CoreMessage or UIMessage",
|
@@ -2254,7 +2275,7 @@ function detectPromptType(prompt) {
|
|
2254
2275
|
if (nonMessageIndex === -1) {
|
2255
2276
|
return "messages";
|
2256
2277
|
}
|
2257
|
-
throw new
|
2278
|
+
throw new import_provider11.InvalidPromptError({
|
2258
2279
|
prompt,
|
2259
2280
|
message: [
|
2260
2281
|
"messages must be an array of CoreMessage or UIMessage",
|
@@ -2321,7 +2342,7 @@ function injectJsonInstruction({
|
|
2321
2342
|
}
|
2322
2343
|
|
2323
2344
|
// core/generate-object/output-strategy.ts
|
2324
|
-
var
|
2345
|
+
var import_provider12 = require("@ai-sdk/provider");
|
2325
2346
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
2326
2347
|
var import_ui_utils2 = require("@ai-sdk/ui-utils");
|
2327
2348
|
|
@@ -2360,7 +2381,7 @@ var noSchemaOutputStrategy = {
|
|
2360
2381
|
} : { success: true, value };
|
2361
2382
|
},
|
2362
2383
|
createElementStream() {
|
2363
|
-
throw new
|
2384
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2364
2385
|
functionality: "element streams in no-schema mode"
|
2365
2386
|
});
|
2366
2387
|
}
|
@@ -2382,7 +2403,7 @@ var objectOutputStrategy = (schema) => ({
|
|
2382
2403
|
return (0, import_provider_utils6.safeValidateTypes)({ value, schema });
|
2383
2404
|
},
|
2384
2405
|
createElementStream() {
|
2385
|
-
throw new
|
2406
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2386
2407
|
functionality: "element streams in object mode"
|
2387
2408
|
});
|
2388
2409
|
}
|
@@ -2405,10 +2426,10 @@ var arrayOutputStrategy = (schema) => {
|
|
2405
2426
|
},
|
2406
2427
|
validatePartialResult({ value, latestObject, isFirstDelta, isFinalDelta }) {
|
2407
2428
|
var _a17;
|
2408
|
-
if (!(0,
|
2429
|
+
if (!(0, import_provider12.isJSONObject)(value) || !(0, import_provider12.isJSONArray)(value.elements)) {
|
2409
2430
|
return {
|
2410
2431
|
success: false,
|
2411
|
-
error: new
|
2432
|
+
error: new import_provider12.TypeValidationError({
|
2412
2433
|
value,
|
2413
2434
|
cause: "value must be an object that contains an array of elements"
|
2414
2435
|
})
|
@@ -2448,10 +2469,10 @@ var arrayOutputStrategy = (schema) => {
|
|
2448
2469
|
};
|
2449
2470
|
},
|
2450
2471
|
validateFinalResult(value) {
|
2451
|
-
if (!(0,
|
2472
|
+
if (!(0, import_provider12.isJSONObject)(value) || !(0, import_provider12.isJSONArray)(value.elements)) {
|
2452
2473
|
return {
|
2453
2474
|
success: false,
|
2454
|
-
error: new
|
2475
|
+
error: new import_provider12.TypeValidationError({
|
2455
2476
|
value,
|
2456
2477
|
cause: "value must be an object that contains an array of elements"
|
2457
2478
|
})
|
@@ -2514,10 +2535,10 @@ var enumOutputStrategy = (enumValues) => {
|
|
2514
2535
|
additionalProperties: false
|
2515
2536
|
},
|
2516
2537
|
validateFinalResult(value) {
|
2517
|
-
if (!(0,
|
2538
|
+
if (!(0, import_provider12.isJSONObject)(value) || typeof value.result !== "string") {
|
2518
2539
|
return {
|
2519
2540
|
success: false,
|
2520
|
-
error: new
|
2541
|
+
error: new import_provider12.TypeValidationError({
|
2521
2542
|
value,
|
2522
2543
|
cause: 'value must be an object that contains a string in the "result" property.'
|
2523
2544
|
})
|
@@ -2526,19 +2547,19 @@ var enumOutputStrategy = (enumValues) => {
|
|
2526
2547
|
const result = value.result;
|
2527
2548
|
return enumValues.includes(result) ? { success: true, value: result } : {
|
2528
2549
|
success: false,
|
2529
|
-
error: new
|
2550
|
+
error: new import_provider12.TypeValidationError({
|
2530
2551
|
value,
|
2531
2552
|
cause: "value must be a string in the enum"
|
2532
2553
|
})
|
2533
2554
|
};
|
2534
2555
|
},
|
2535
2556
|
validatePartialResult() {
|
2536
|
-
throw new
|
2557
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2537
2558
|
functionality: "partial results in enum mode"
|
2538
2559
|
});
|
2539
2560
|
},
|
2540
2561
|
createElementStream() {
|
2541
|
-
throw new
|
2562
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2542
2563
|
functionality: "element streams in enum mode"
|
2543
2564
|
});
|
2544
2565
|
}
|
@@ -2738,6 +2759,9 @@ async function generateObject({
|
|
2738
2759
|
} = {},
|
2739
2760
|
...settings
|
2740
2761
|
}) {
|
2762
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
2763
|
+
throw new UnsupportedModelVersionError();
|
2764
|
+
}
|
2741
2765
|
validateObjectGenerationInput({
|
2742
2766
|
output,
|
2743
2767
|
mode,
|
@@ -2885,6 +2909,9 @@ async function generateObject({
|
|
2885
2909
|
"ai.response.id": responseData.id,
|
2886
2910
|
"ai.response.model": responseData.modelId,
|
2887
2911
|
"ai.response.timestamp": responseData.timestamp.toISOString(),
|
2912
|
+
"ai.response.providerMetadata": JSON.stringify(
|
2913
|
+
result2.providerMetadata
|
2914
|
+
),
|
2888
2915
|
"ai.usage.promptTokens": result2.usage.promptTokens,
|
2889
2916
|
"ai.usage.completionTokens": result2.usage.completionTokens,
|
2890
2917
|
// standardized gen-ai llm span attributes:
|
@@ -2995,6 +3022,9 @@ async function generateObject({
|
|
2995
3022
|
"ai.response.id": responseData.id,
|
2996
3023
|
"ai.response.model": responseData.modelId,
|
2997
3024
|
"ai.response.timestamp": responseData.timestamp.toISOString(),
|
3025
|
+
"ai.response.providerMetadata": JSON.stringify(
|
3026
|
+
result2.providerMetadata
|
3027
|
+
),
|
2998
3028
|
"ai.usage.promptTokens": result2.usage.promptTokens,
|
2999
3029
|
"ai.usage.completionTokens": result2.usage.completionTokens,
|
3000
3030
|
// standardized gen-ai llm span attributes:
|
@@ -3067,7 +3097,7 @@ async function generateObject({
|
|
3067
3097
|
try {
|
3068
3098
|
object2 = processResult(result);
|
3069
3099
|
} catch (error) {
|
3070
|
-
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (
|
3100
|
+
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider13.JSONParseError.isInstance(error.cause) || import_provider13.TypeValidationError.isInstance(error.cause))) {
|
3071
3101
|
const repairedText = await repairText({
|
3072
3102
|
text: result,
|
3073
3103
|
error: error.cause
|
@@ -3305,6 +3335,9 @@ function streamObject({
|
|
3305
3335
|
} = {},
|
3306
3336
|
...settings
|
3307
3337
|
}) {
|
3338
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
3339
|
+
throw new UnsupportedModelVersionError();
|
3340
|
+
}
|
3308
3341
|
validateObjectGenerationInput({
|
3309
3342
|
output,
|
3310
3343
|
mode,
|
@@ -3695,6 +3728,7 @@ var DefaultStreamObjectResult = class {
|
|
3695
3728
|
"ai.response.id": response.id,
|
3696
3729
|
"ai.response.model": response.modelId,
|
3697
3730
|
"ai.response.timestamp": response.timestamp.toISOString(),
|
3731
|
+
"ai.response.providerMetadata": JSON.stringify(providerMetadata),
|
3698
3732
|
"ai.usage.promptTokens": finalUsage.promptTokens,
|
3699
3733
|
"ai.usage.completionTokens": finalUsage.completionTokens,
|
3700
3734
|
// standardized gen-ai llm span attributes:
|
@@ -3715,7 +3749,8 @@ var DefaultStreamObjectResult = class {
|
|
3715
3749
|
"ai.usage.completionTokens": finalUsage.completionTokens,
|
3716
3750
|
"ai.response.object": {
|
3717
3751
|
output: () => JSON.stringify(object2)
|
3718
|
-
}
|
3752
|
+
},
|
3753
|
+
"ai.response.providerMetadata": JSON.stringify(providerMetadata)
|
3719
3754
|
}
|
3720
3755
|
})
|
3721
3756
|
);
|
@@ -3854,36 +3889,36 @@ var DefaultStreamObjectResult = class {
|
|
3854
3889
|
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
3855
3890
|
|
3856
3891
|
// errors/no-output-specified-error.ts
|
3857
|
-
var
|
3892
|
+
var import_provider14 = require("@ai-sdk/provider");
|
3858
3893
|
var name9 = "AI_NoOutputSpecifiedError";
|
3859
3894
|
var marker9 = `vercel.ai.error.${name9}`;
|
3860
3895
|
var symbol9 = Symbol.for(marker9);
|
3861
3896
|
var _a9;
|
3862
|
-
var NoOutputSpecifiedError = class extends
|
3897
|
+
var NoOutputSpecifiedError = class extends import_provider14.AISDKError {
|
3863
3898
|
// used in isInstance
|
3864
3899
|
constructor({ message = "No output specified." } = {}) {
|
3865
3900
|
super({ name: name9, message });
|
3866
3901
|
this[_a9] = true;
|
3867
3902
|
}
|
3868
3903
|
static isInstance(error) {
|
3869
|
-
return
|
3904
|
+
return import_provider14.AISDKError.hasMarker(error, marker9);
|
3870
3905
|
}
|
3871
3906
|
};
|
3872
3907
|
_a9 = symbol9;
|
3873
3908
|
|
3874
3909
|
// errors/tool-execution-error.ts
|
3875
|
-
var
|
3910
|
+
var import_provider15 = require("@ai-sdk/provider");
|
3876
3911
|
var name10 = "AI_ToolExecutionError";
|
3877
3912
|
var marker10 = `vercel.ai.error.${name10}`;
|
3878
3913
|
var symbol10 = Symbol.for(marker10);
|
3879
3914
|
var _a10;
|
3880
|
-
var ToolExecutionError = class extends
|
3915
|
+
var ToolExecutionError = class extends import_provider15.AISDKError {
|
3881
3916
|
constructor({
|
3882
3917
|
toolArgs,
|
3883
3918
|
toolName,
|
3884
3919
|
toolCallId,
|
3885
3920
|
cause,
|
3886
|
-
message = `Error executing tool ${toolName}: ${(0,
|
3921
|
+
message = `Error executing tool ${toolName}: ${(0, import_provider15.getErrorMessage)(cause)}`
|
3887
3922
|
}) {
|
3888
3923
|
super({ name: name10, message, cause });
|
3889
3924
|
this[_a10] = true;
|
@@ -3892,7 +3927,7 @@ var ToolExecutionError = class extends import_provider14.AISDKError {
|
|
3892
3927
|
this.toolCallId = toolCallId;
|
3893
3928
|
}
|
3894
3929
|
static isInstance(error) {
|
3895
|
-
return
|
3930
|
+
return import_provider15.AISDKError.hasMarker(error, marker10);
|
3896
3931
|
}
|
3897
3932
|
};
|
3898
3933
|
_a10 = symbol10;
|
@@ -3967,17 +4002,17 @@ var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
3967
4002
|
var import_ui_utils5 = require("@ai-sdk/ui-utils");
|
3968
4003
|
|
3969
4004
|
// errors/invalid-tool-arguments-error.ts
|
3970
|
-
var
|
4005
|
+
var import_provider16 = require("@ai-sdk/provider");
|
3971
4006
|
var name11 = "AI_InvalidToolArgumentsError";
|
3972
4007
|
var marker11 = `vercel.ai.error.${name11}`;
|
3973
4008
|
var symbol11 = Symbol.for(marker11);
|
3974
4009
|
var _a11;
|
3975
|
-
var InvalidToolArgumentsError = class extends
|
4010
|
+
var InvalidToolArgumentsError = class extends import_provider16.AISDKError {
|
3976
4011
|
constructor({
|
3977
4012
|
toolArgs,
|
3978
4013
|
toolName,
|
3979
4014
|
cause,
|
3980
|
-
message = `Invalid arguments for tool ${toolName}: ${(0,
|
4015
|
+
message = `Invalid arguments for tool ${toolName}: ${(0, import_provider16.getErrorMessage)(
|
3981
4016
|
cause
|
3982
4017
|
)}`
|
3983
4018
|
}) {
|
@@ -3987,18 +4022,18 @@ var InvalidToolArgumentsError = class extends import_provider15.AISDKError {
|
|
3987
4022
|
this.toolName = toolName;
|
3988
4023
|
}
|
3989
4024
|
static isInstance(error) {
|
3990
|
-
return
|
4025
|
+
return import_provider16.AISDKError.hasMarker(error, marker11);
|
3991
4026
|
}
|
3992
4027
|
};
|
3993
4028
|
_a11 = symbol11;
|
3994
4029
|
|
3995
4030
|
// errors/no-such-tool-error.ts
|
3996
|
-
var
|
4031
|
+
var import_provider17 = require("@ai-sdk/provider");
|
3997
4032
|
var name12 = "AI_NoSuchToolError";
|
3998
4033
|
var marker12 = `vercel.ai.error.${name12}`;
|
3999
4034
|
var symbol12 = Symbol.for(marker12);
|
4000
4035
|
var _a12;
|
4001
|
-
var NoSuchToolError = class extends
|
4036
|
+
var NoSuchToolError = class extends import_provider17.AISDKError {
|
4002
4037
|
constructor({
|
4003
4038
|
toolName,
|
4004
4039
|
availableTools = void 0,
|
@@ -4010,29 +4045,29 @@ var NoSuchToolError = class extends import_provider16.AISDKError {
|
|
4010
4045
|
this.availableTools = availableTools;
|
4011
4046
|
}
|
4012
4047
|
static isInstance(error) {
|
4013
|
-
return
|
4048
|
+
return import_provider17.AISDKError.hasMarker(error, marker12);
|
4014
4049
|
}
|
4015
4050
|
};
|
4016
4051
|
_a12 = symbol12;
|
4017
4052
|
|
4018
4053
|
// errors/tool-call-repair-error.ts
|
4019
|
-
var
|
4054
|
+
var import_provider18 = require("@ai-sdk/provider");
|
4020
4055
|
var name13 = "AI_ToolCallRepairError";
|
4021
4056
|
var marker13 = `vercel.ai.error.${name13}`;
|
4022
4057
|
var symbol13 = Symbol.for(marker13);
|
4023
4058
|
var _a13;
|
4024
|
-
var ToolCallRepairError = class extends
|
4059
|
+
var ToolCallRepairError = class extends import_provider18.AISDKError {
|
4025
4060
|
constructor({
|
4026
4061
|
cause,
|
4027
4062
|
originalError,
|
4028
|
-
message = `Error repairing tool call: ${(0,
|
4063
|
+
message = `Error repairing tool call: ${(0, import_provider18.getErrorMessage)(cause)}`
|
4029
4064
|
}) {
|
4030
4065
|
super({ name: name13, message, cause });
|
4031
4066
|
this[_a13] = true;
|
4032
4067
|
this.originalError = originalError;
|
4033
4068
|
}
|
4034
4069
|
static isInstance(error) {
|
4035
|
-
return
|
4070
|
+
return import_provider18.AISDKError.hasMarker(error, marker13);
|
4036
4071
|
}
|
4037
4072
|
};
|
4038
4073
|
_a13 = symbol13;
|
@@ -4216,6 +4251,9 @@ async function generateText({
|
|
4216
4251
|
...settings
|
4217
4252
|
}) {
|
4218
4253
|
var _a17;
|
4254
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
4255
|
+
throw new UnsupportedModelVersionError();
|
4256
|
+
}
|
4219
4257
|
if (maxSteps < 1) {
|
4220
4258
|
throw new InvalidArgumentError({
|
4221
4259
|
parameter: "maxSteps",
|
@@ -4384,6 +4422,9 @@ async function generateText({
|
|
4384
4422
|
"ai.response.id": responseData.id,
|
4385
4423
|
"ai.response.model": responseData.modelId,
|
4386
4424
|
"ai.response.timestamp": responseData.timestamp.toISOString(),
|
4425
|
+
"ai.response.providerMetadata": JSON.stringify(
|
4426
|
+
result.providerMetadata
|
4427
|
+
),
|
4387
4428
|
"ai.usage.promptTokens": result.usage.promptTokens,
|
4388
4429
|
"ai.usage.completionTokens": result.usage.completionTokens,
|
4389
4430
|
// standardized gen-ai llm span attributes:
|
@@ -4510,7 +4551,10 @@ async function generateText({
|
|
4510
4551
|
output: () => JSON.stringify(currentModelResponse.toolCalls)
|
4511
4552
|
},
|
4512
4553
|
"ai.usage.promptTokens": currentModelResponse.usage.promptTokens,
|
4513
|
-
"ai.usage.completionTokens": currentModelResponse.usage.completionTokens
|
4554
|
+
"ai.usage.completionTokens": currentModelResponse.usage.completionTokens,
|
4555
|
+
"ai.response.providerMetadata": JSON.stringify(
|
4556
|
+
currentModelResponse.providerMetadata
|
4557
|
+
)
|
4514
4558
|
}
|
4515
4559
|
})
|
4516
4560
|
);
|
@@ -4675,15 +4719,15 @@ var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
4675
4719
|
var import_ui_utils6 = require("@ai-sdk/ui-utils");
|
4676
4720
|
|
4677
4721
|
// errors/index.ts
|
4678
|
-
var
|
4722
|
+
var import_provider21 = require("@ai-sdk/provider");
|
4679
4723
|
|
4680
4724
|
// errors/invalid-stream-part-error.ts
|
4681
|
-
var
|
4725
|
+
var import_provider19 = require("@ai-sdk/provider");
|
4682
4726
|
var name14 = "AI_InvalidStreamPartError";
|
4683
4727
|
var marker14 = `vercel.ai.error.${name14}`;
|
4684
4728
|
var symbol14 = Symbol.for(marker14);
|
4685
4729
|
var _a14;
|
4686
|
-
var InvalidStreamPartError = class extends
|
4730
|
+
var InvalidStreamPartError = class extends import_provider19.AISDKError {
|
4687
4731
|
constructor({
|
4688
4732
|
chunk,
|
4689
4733
|
message
|
@@ -4693,18 +4737,18 @@ var InvalidStreamPartError = class extends import_provider18.AISDKError {
|
|
4693
4737
|
this.chunk = chunk;
|
4694
4738
|
}
|
4695
4739
|
static isInstance(error) {
|
4696
|
-
return
|
4740
|
+
return import_provider19.AISDKError.hasMarker(error, marker14);
|
4697
4741
|
}
|
4698
4742
|
};
|
4699
4743
|
_a14 = symbol14;
|
4700
4744
|
|
4701
4745
|
// errors/mcp-client-error.ts
|
4702
|
-
var
|
4746
|
+
var import_provider20 = require("@ai-sdk/provider");
|
4703
4747
|
var name15 = "AI_MCPClientError";
|
4704
4748
|
var marker15 = `vercel.ai.error.${name15}`;
|
4705
4749
|
var symbol15 = Symbol.for(marker15);
|
4706
4750
|
var _a15;
|
4707
|
-
var MCPClientError = class extends
|
4751
|
+
var MCPClientError = class extends import_provider20.AISDKError {
|
4708
4752
|
constructor({
|
4709
4753
|
name: name17 = "MCPClientError",
|
4710
4754
|
message,
|
@@ -4714,7 +4758,7 @@ var MCPClientError = class extends import_provider19.AISDKError {
|
|
4714
4758
|
this[_a15] = true;
|
4715
4759
|
}
|
4716
4760
|
static isInstance(error) {
|
4717
|
-
return
|
4761
|
+
return import_provider20.AISDKError.hasMarker(error, marker15);
|
4718
4762
|
}
|
4719
4763
|
};
|
4720
4764
|
_a15 = symbol15;
|
@@ -4800,7 +4844,7 @@ var object = ({
|
|
4800
4844
|
|
4801
4845
|
// core/generate-text/smooth-stream.ts
|
4802
4846
|
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
4803
|
-
var
|
4847
|
+
var import_provider22 = require("@ai-sdk/provider");
|
4804
4848
|
var CHUNKING_REGEXPS = {
|
4805
4849
|
word: /\S+\s+/m,
|
4806
4850
|
line: /\n+/m
|
@@ -4830,7 +4874,7 @@ function smoothStream({
|
|
4830
4874
|
} else {
|
4831
4875
|
const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
|
4832
4876
|
if (chunkingRegex == null) {
|
4833
|
-
throw new
|
4877
|
+
throw new import_provider22.InvalidArgumentError({
|
4834
4878
|
argument: "chunking",
|
4835
4879
|
message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
|
4836
4880
|
});
|
@@ -4868,7 +4912,7 @@ function smoothStream({
|
|
4868
4912
|
}
|
4869
4913
|
|
4870
4914
|
// core/generate-text/stream-text.ts
|
4871
|
-
var
|
4915
|
+
var import_provider23 = require("@ai-sdk/provider");
|
4872
4916
|
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
4873
4917
|
var import_ui_utils8 = require("@ai-sdk/ui-utils");
|
4874
4918
|
|
@@ -5229,6 +5273,9 @@ function streamText({
|
|
5229
5273
|
} = {},
|
5230
5274
|
...settings
|
5231
5275
|
}) {
|
5276
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
5277
|
+
throw new UnsupportedModelVersionError();
|
5278
|
+
}
|
5232
5279
|
return new DefaultStreamTextResult({
|
5233
5280
|
model,
|
5234
5281
|
telemetry,
|
@@ -5406,7 +5453,7 @@ var DefaultStreamTextResult = class {
|
|
5406
5453
|
}
|
5407
5454
|
if (part.type === "reasoning-signature") {
|
5408
5455
|
if (activeReasoningText == null) {
|
5409
|
-
throw new
|
5456
|
+
throw new import_provider23.AISDKError({
|
5410
5457
|
name: "InvalidStreamPart",
|
5411
5458
|
message: "reasoning-signature without reasoning"
|
5412
5459
|
});
|
@@ -5563,7 +5610,10 @@ var DefaultStreamTextResult = class {
|
|
5563
5610
|
}
|
5564
5611
|
},
|
5565
5612
|
"ai.usage.promptTokens": usage.promptTokens,
|
5566
|
-
"ai.usage.completionTokens": usage.completionTokens
|
5613
|
+
"ai.usage.completionTokens": usage.completionTokens,
|
5614
|
+
"ai.response.providerMetadata": JSON.stringify(
|
5615
|
+
lastStep.providerMetadata
|
5616
|
+
)
|
5567
5617
|
}
|
5568
5618
|
})
|
5569
5619
|
);
|
@@ -5940,6 +5990,7 @@ var DefaultStreamTextResult = class {
|
|
5940
5990
|
"ai.response.id": stepResponse.id,
|
5941
5991
|
"ai.response.model": stepResponse.modelId,
|
5942
5992
|
"ai.response.timestamp": stepResponse.timestamp.toISOString(),
|
5993
|
+
"ai.response.providerMetadata": JSON.stringify(stepProviderMetadata),
|
5943
5994
|
"ai.usage.promptTokens": stepUsage.promptTokens,
|
5944
5995
|
"ai.usage.completionTokens": stepUsage.completionTokens,
|
5945
5996
|
// standardized gen-ai llm span attributes:
|
@@ -6417,8 +6468,8 @@ var DefaultStreamTextResult = class {
|
|
6417
6468
|
};
|
6418
6469
|
|
6419
6470
|
// errors/no-speech-generated-error.ts
|
6420
|
-
var
|
6421
|
-
var NoSpeechGeneratedError = class extends
|
6471
|
+
var import_provider24 = require("@ai-sdk/provider");
|
6472
|
+
var NoSpeechGeneratedError = class extends import_provider24.AISDKError {
|
6422
6473
|
constructor(options) {
|
6423
6474
|
super({
|
6424
6475
|
name: "AI_NoSpeechGeneratedError",
|
@@ -6467,6 +6518,9 @@ async function generateSpeech({
|
|
6467
6518
|
headers
|
6468
6519
|
}) {
|
6469
6520
|
var _a17;
|
6521
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
6522
|
+
throw new UnsupportedModelVersionError();
|
6523
|
+
}
|
6470
6524
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
6471
6525
|
const result = await retry(
|
6472
6526
|
() => model.doGenerate({
|
@@ -6507,8 +6561,8 @@ var DefaultSpeechResult = class {
|
|
6507
6561
|
};
|
6508
6562
|
|
6509
6563
|
// errors/no-transcript-generated-error.ts
|
6510
|
-
var
|
6511
|
-
var NoTranscriptGeneratedError = class extends
|
6564
|
+
var import_provider25 = require("@ai-sdk/provider");
|
6565
|
+
var NoTranscriptGeneratedError = class extends import_provider25.AISDKError {
|
6512
6566
|
constructor(options) {
|
6513
6567
|
super({
|
6514
6568
|
name: "AI_NoTranscriptGeneratedError",
|
@@ -6527,6 +6581,9 @@ async function transcribe({
|
|
6527
6581
|
abortSignal,
|
6528
6582
|
headers
|
6529
6583
|
}) {
|
6584
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
6585
|
+
throw new UnsupportedModelVersionError();
|
6586
|
+
}
|
6530
6587
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
6531
6588
|
const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
|
6532
6589
|
const result = await retry(
|
@@ -6885,7 +6942,7 @@ function appendClientMessage({
|
|
6885
6942
|
|
6886
6943
|
// core/prompt/append-response-messages.ts
|
6887
6944
|
var import_ui_utils9 = require("@ai-sdk/ui-utils");
|
6888
|
-
var
|
6945
|
+
var import_provider26 = require("@ai-sdk/provider");
|
6889
6946
|
function appendResponseMessages({
|
6890
6947
|
messages,
|
6891
6948
|
responseMessages,
|
@@ -6968,7 +7025,7 @@ function appendResponseMessages({
|
|
6968
7025
|
break;
|
6969
7026
|
case "file":
|
6970
7027
|
if (part.data instanceof URL) {
|
6971
|
-
throw new
|
7028
|
+
throw new import_provider26.AISDKError({
|
6972
7029
|
name: "InvalidAssistantFileData",
|
6973
7030
|
message: "File data cannot be a URL"
|
6974
7031
|
});
|
@@ -7062,7 +7119,7 @@ function appendResponseMessages({
|
|
7062
7119
|
}
|
7063
7120
|
|
7064
7121
|
// core/registry/custom-provider.ts
|
7065
|
-
var
|
7122
|
+
var import_provider27 = require("@ai-sdk/provider");
|
7066
7123
|
function customProvider({
|
7067
7124
|
languageModels,
|
7068
7125
|
textEmbeddingModels,
|
@@ -7077,7 +7134,7 @@ function customProvider({
|
|
7077
7134
|
if (fallbackProvider) {
|
7078
7135
|
return fallbackProvider.languageModel(modelId);
|
7079
7136
|
}
|
7080
|
-
throw new
|
7137
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "languageModel" });
|
7081
7138
|
},
|
7082
7139
|
textEmbeddingModel(modelId) {
|
7083
7140
|
if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
|
@@ -7086,7 +7143,7 @@ function customProvider({
|
|
7086
7143
|
if (fallbackProvider) {
|
7087
7144
|
return fallbackProvider.textEmbeddingModel(modelId);
|
7088
7145
|
}
|
7089
|
-
throw new
|
7146
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
|
7090
7147
|
},
|
7091
7148
|
imageModel(modelId) {
|
7092
7149
|
if (imageModels != null && modelId in imageModels) {
|
@@ -7095,19 +7152,19 @@ function customProvider({
|
|
7095
7152
|
if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
|
7096
7153
|
return fallbackProvider.imageModel(modelId);
|
7097
7154
|
}
|
7098
|
-
throw new
|
7155
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "imageModel" });
|
7099
7156
|
}
|
7100
7157
|
};
|
7101
7158
|
}
|
7102
7159
|
var experimental_customProvider = customProvider;
|
7103
7160
|
|
7104
7161
|
// core/registry/no-such-provider-error.ts
|
7105
|
-
var
|
7162
|
+
var import_provider28 = require("@ai-sdk/provider");
|
7106
7163
|
var name16 = "AI_NoSuchProviderError";
|
7107
7164
|
var marker16 = `vercel.ai.error.${name16}`;
|
7108
7165
|
var symbol16 = Symbol.for(marker16);
|
7109
7166
|
var _a16;
|
7110
|
-
var NoSuchProviderError = class extends
|
7167
|
+
var NoSuchProviderError = class extends import_provider28.NoSuchModelError {
|
7111
7168
|
constructor({
|
7112
7169
|
modelId,
|
7113
7170
|
modelType,
|
@@ -7121,13 +7178,13 @@ var NoSuchProviderError = class extends import_provider27.NoSuchModelError {
|
|
7121
7178
|
this.availableProviders = availableProviders;
|
7122
7179
|
}
|
7123
7180
|
static isInstance(error) {
|
7124
|
-
return
|
7181
|
+
return import_provider28.AISDKError.hasMarker(error, marker16);
|
7125
7182
|
}
|
7126
7183
|
};
|
7127
7184
|
_a16 = symbol16;
|
7128
7185
|
|
7129
7186
|
// core/registry/provider-registry.ts
|
7130
|
-
var
|
7187
|
+
var import_provider29 = require("@ai-sdk/provider");
|
7131
7188
|
function createProviderRegistry(providers, {
|
7132
7189
|
separator = ":"
|
7133
7190
|
} = {}) {
|
@@ -7166,7 +7223,7 @@ var DefaultProviderRegistry = class {
|
|
7166
7223
|
splitId(id, modelType) {
|
7167
7224
|
const index = id.indexOf(this.separator);
|
7168
7225
|
if (index === -1) {
|
7169
|
-
throw new
|
7226
|
+
throw new import_provider29.NoSuchModelError({
|
7170
7227
|
modelId: id,
|
7171
7228
|
modelType,
|
7172
7229
|
message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
|
@@ -7179,7 +7236,7 @@ var DefaultProviderRegistry = class {
|
|
7179
7236
|
const [providerId, modelId] = this.splitId(id, "languageModel");
|
7180
7237
|
const model = (_b = (_a17 = this.getProvider(providerId)).languageModel) == null ? void 0 : _b.call(_a17, modelId);
|
7181
7238
|
if (model == null) {
|
7182
|
-
throw new
|
7239
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "languageModel" });
|
7183
7240
|
}
|
7184
7241
|
return model;
|
7185
7242
|
}
|
@@ -7189,7 +7246,7 @@ var DefaultProviderRegistry = class {
|
|
7189
7246
|
const provider = this.getProvider(providerId);
|
7190
7247
|
const model = (_a17 = provider.textEmbeddingModel) == null ? void 0 : _a17.call(provider, modelId);
|
7191
7248
|
if (model == null) {
|
7192
|
-
throw new
|
7249
|
+
throw new import_provider29.NoSuchModelError({
|
7193
7250
|
modelId: id,
|
7194
7251
|
modelType: "textEmbeddingModel"
|
7195
7252
|
});
|
@@ -7202,7 +7259,7 @@ var DefaultProviderRegistry = class {
|
|
7202
7259
|
const provider = this.getProvider(providerId);
|
7203
7260
|
const model = (_a17 = provider.imageModel) == null ? void 0 : _a17.call(provider, modelId);
|
7204
7261
|
if (model == null) {
|
7205
|
-
throw new
|
7262
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "imageModel" });
|
7206
7263
|
}
|
7207
7264
|
return model;
|
7208
7265
|
}
|
@@ -8197,6 +8254,7 @@ var StreamData = class {
|
|
8197
8254
|
ToolExecutionError,
|
8198
8255
|
TypeValidationError,
|
8199
8256
|
UnsupportedFunctionalityError,
|
8257
|
+
UnsupportedModelVersionError,
|
8200
8258
|
appendClientMessage,
|
8201
8259
|
appendResponseMessages,
|
8202
8260
|
convertToCoreMessages,
|