ai 4.3.17 → 4.3.19
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 +165 -120
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +114 -70
- 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 +3 -3
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,
|
@@ -560,19 +572,7 @@ function recordSpan({
|
|
560
572
|
return result;
|
561
573
|
} catch (error) {
|
562
574
|
try {
|
563
|
-
|
564
|
-
span.recordException({
|
565
|
-
name: error.name,
|
566
|
-
message: error.message,
|
567
|
-
stack: error.stack
|
568
|
-
});
|
569
|
-
span.setStatus({
|
570
|
-
code: import_api2.SpanStatusCode.ERROR,
|
571
|
-
message: error.message
|
572
|
-
});
|
573
|
-
} else {
|
574
|
-
span.setStatus({ code: import_api2.SpanStatusCode.ERROR });
|
575
|
-
}
|
575
|
+
recordErrorOnSpan(span, error);
|
576
576
|
} finally {
|
577
577
|
span.end();
|
578
578
|
}
|
@@ -580,6 +580,21 @@ function recordSpan({
|
|
580
580
|
}
|
581
581
|
});
|
582
582
|
}
|
583
|
+
function recordErrorOnSpan(span, error) {
|
584
|
+
if (error instanceof Error) {
|
585
|
+
span.recordException({
|
586
|
+
name: error.name,
|
587
|
+
message: error.message,
|
588
|
+
stack: error.stack
|
589
|
+
});
|
590
|
+
span.setStatus({
|
591
|
+
code: import_api2.SpanStatusCode.ERROR,
|
592
|
+
message: error.message
|
593
|
+
});
|
594
|
+
} else {
|
595
|
+
span.setStatus({ code: import_api2.SpanStatusCode.ERROR });
|
596
|
+
}
|
597
|
+
}
|
583
598
|
|
584
599
|
// core/telemetry/select-telemetry-attributes.ts
|
585
600
|
function selectTelemetryAttributes({
|
@@ -620,6 +635,9 @@ async function embed({
|
|
620
635
|
headers,
|
621
636
|
experimental_telemetry: telemetry
|
622
637
|
}) {
|
638
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
639
|
+
throw new UnsupportedModelVersionError();
|
640
|
+
}
|
623
641
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
624
642
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
625
643
|
model,
|
@@ -732,6 +750,9 @@ async function embedMany({
|
|
732
750
|
headers,
|
733
751
|
experimental_telemetry: telemetry
|
734
752
|
}) {
|
753
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
754
|
+
throw new UnsupportedModelVersionError();
|
755
|
+
}
|
735
756
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
736
757
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
737
758
|
model,
|
@@ -889,12 +910,12 @@ var DefaultEmbedManyResult = class {
|
|
889
910
|
};
|
890
911
|
|
891
912
|
// errors/no-image-generated-error.ts
|
892
|
-
var
|
913
|
+
var import_provider5 = require("@ai-sdk/provider");
|
893
914
|
var name3 = "AI_NoImageGeneratedError";
|
894
915
|
var marker3 = `vercel.ai.error.${name3}`;
|
895
916
|
var symbol3 = Symbol.for(marker3);
|
896
917
|
var _a3;
|
897
|
-
var NoImageGeneratedError = class extends
|
918
|
+
var NoImageGeneratedError = class extends import_provider5.AISDKError {
|
898
919
|
constructor({
|
899
920
|
message = "No image generated.",
|
900
921
|
cause,
|
@@ -905,7 +926,7 @@ var NoImageGeneratedError = class extends import_provider4.AISDKError {
|
|
905
926
|
this.responses = responses;
|
906
927
|
}
|
907
928
|
static isInstance(error) {
|
908
|
-
return
|
929
|
+
return import_provider5.AISDKError.hasMarker(error, marker3);
|
909
930
|
}
|
910
931
|
};
|
911
932
|
_a3 = symbol3;
|
@@ -1091,6 +1112,9 @@ async function generateImage({
|
|
1091
1112
|
headers
|
1092
1113
|
}) {
|
1093
1114
|
var _a17;
|
1115
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
1116
|
+
throw new UnsupportedModelVersionError();
|
1117
|
+
}
|
1094
1118
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
1095
1119
|
const maxImagesPerCall = (_a17 = model.maxImagesPerCall) != null ? _a17 : 1;
|
1096
1120
|
const callCount = Math.ceil(n / maxImagesPerCall);
|
@@ -1155,16 +1179,16 @@ var DefaultGenerateImageResult = class {
|
|
1155
1179
|
};
|
1156
1180
|
|
1157
1181
|
// core/generate-object/generate-object.ts
|
1158
|
-
var
|
1182
|
+
var import_provider13 = require("@ai-sdk/provider");
|
1159
1183
|
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
1160
1184
|
|
1161
1185
|
// errors/no-object-generated-error.ts
|
1162
|
-
var
|
1186
|
+
var import_provider6 = require("@ai-sdk/provider");
|
1163
1187
|
var name4 = "AI_NoObjectGeneratedError";
|
1164
1188
|
var marker4 = `vercel.ai.error.${name4}`;
|
1165
1189
|
var symbol4 = Symbol.for(marker4);
|
1166
1190
|
var _a4;
|
1167
|
-
var NoObjectGeneratedError = class extends
|
1191
|
+
var NoObjectGeneratedError = class extends import_provider6.AISDKError {
|
1168
1192
|
constructor({
|
1169
1193
|
message = "No object generated.",
|
1170
1194
|
cause,
|
@@ -1181,18 +1205,18 @@ var NoObjectGeneratedError = class extends import_provider5.AISDKError {
|
|
1181
1205
|
this.finishReason = finishReason;
|
1182
1206
|
}
|
1183
1207
|
static isInstance(error) {
|
1184
|
-
return
|
1208
|
+
return import_provider6.AISDKError.hasMarker(error, marker4);
|
1185
1209
|
}
|
1186
1210
|
};
|
1187
1211
|
_a4 = symbol4;
|
1188
1212
|
|
1189
1213
|
// util/download-error.ts
|
1190
|
-
var
|
1214
|
+
var import_provider7 = require("@ai-sdk/provider");
|
1191
1215
|
var name5 = "AI_DownloadError";
|
1192
1216
|
var marker5 = `vercel.ai.error.${name5}`;
|
1193
1217
|
var symbol5 = Symbol.for(marker5);
|
1194
1218
|
var _a5;
|
1195
|
-
var DownloadError = class extends
|
1219
|
+
var DownloadError = class extends import_provider7.AISDKError {
|
1196
1220
|
constructor({
|
1197
1221
|
url,
|
1198
1222
|
statusCode,
|
@@ -1207,7 +1231,7 @@ var DownloadError = class extends import_provider6.AISDKError {
|
|
1207
1231
|
this.statusText = statusText;
|
1208
1232
|
}
|
1209
1233
|
static isInstance(error) {
|
1210
|
-
return
|
1234
|
+
return import_provider7.AISDKError.hasMarker(error, marker5);
|
1211
1235
|
}
|
1212
1236
|
};
|
1213
1237
|
_a5 = symbol5;
|
@@ -1241,12 +1265,12 @@ async function download({ url }) {
|
|
1241
1265
|
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
1242
1266
|
|
1243
1267
|
// core/prompt/invalid-data-content-error.ts
|
1244
|
-
var
|
1268
|
+
var import_provider8 = require("@ai-sdk/provider");
|
1245
1269
|
var name6 = "AI_InvalidDataContentError";
|
1246
1270
|
var marker6 = `vercel.ai.error.${name6}`;
|
1247
1271
|
var symbol6 = Symbol.for(marker6);
|
1248
1272
|
var _a6;
|
1249
|
-
var InvalidDataContentError = class extends
|
1273
|
+
var InvalidDataContentError = class extends import_provider8.AISDKError {
|
1250
1274
|
constructor({
|
1251
1275
|
content,
|
1252
1276
|
cause,
|
@@ -1257,7 +1281,7 @@ var InvalidDataContentError = class extends import_provider7.AISDKError {
|
|
1257
1281
|
this.content = content;
|
1258
1282
|
}
|
1259
1283
|
static isInstance(error) {
|
1260
|
-
return
|
1284
|
+
return import_provider8.AISDKError.hasMarker(error, marker6);
|
1261
1285
|
}
|
1262
1286
|
};
|
1263
1287
|
_a6 = symbol6;
|
@@ -1315,12 +1339,12 @@ function convertUint8ArrayToText(uint8Array) {
|
|
1315
1339
|
}
|
1316
1340
|
|
1317
1341
|
// core/prompt/invalid-message-role-error.ts
|
1318
|
-
var
|
1342
|
+
var import_provider9 = require("@ai-sdk/provider");
|
1319
1343
|
var name7 = "AI_InvalidMessageRoleError";
|
1320
1344
|
var marker7 = `vercel.ai.error.${name7}`;
|
1321
1345
|
var symbol7 = Symbol.for(marker7);
|
1322
1346
|
var _a7;
|
1323
|
-
var InvalidMessageRoleError = class extends
|
1347
|
+
var InvalidMessageRoleError = class extends import_provider9.AISDKError {
|
1324
1348
|
constructor({
|
1325
1349
|
role,
|
1326
1350
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
@@ -1330,7 +1354,7 @@ var InvalidMessageRoleError = class extends import_provider8.AISDKError {
|
|
1330
1354
|
this.role = role;
|
1331
1355
|
}
|
1332
1356
|
static isInstance(error) {
|
1333
|
-
return
|
1357
|
+
return import_provider9.AISDKError.hasMarker(error, marker7);
|
1334
1358
|
}
|
1335
1359
|
};
|
1336
1360
|
_a7 = symbol7;
|
@@ -1681,7 +1705,7 @@ function prepareCallSettings({
|
|
1681
1705
|
}
|
1682
1706
|
|
1683
1707
|
// core/prompt/standardize-prompt.ts
|
1684
|
-
var
|
1708
|
+
var import_provider11 = require("@ai-sdk/provider");
|
1685
1709
|
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
1686
1710
|
var import_zod7 = require("zod");
|
1687
1711
|
|
@@ -1763,12 +1787,12 @@ function attachmentsToParts(attachments) {
|
|
1763
1787
|
}
|
1764
1788
|
|
1765
1789
|
// core/prompt/message-conversion-error.ts
|
1766
|
-
var
|
1790
|
+
var import_provider10 = require("@ai-sdk/provider");
|
1767
1791
|
var name8 = "AI_MessageConversionError";
|
1768
1792
|
var marker8 = `vercel.ai.error.${name8}`;
|
1769
1793
|
var symbol8 = Symbol.for(marker8);
|
1770
1794
|
var _a8;
|
1771
|
-
var MessageConversionError = class extends
|
1795
|
+
var MessageConversionError = class extends import_provider10.AISDKError {
|
1772
1796
|
constructor({
|
1773
1797
|
originalMessage,
|
1774
1798
|
message
|
@@ -1778,7 +1802,7 @@ var MessageConversionError = class extends import_provider9.AISDKError {
|
|
1778
1802
|
this.originalMessage = originalMessage;
|
1779
1803
|
}
|
1780
1804
|
static isInstance(error) {
|
1781
|
-
return
|
1805
|
+
return import_provider10.AISDKError.hasMarker(error, marker8);
|
1782
1806
|
}
|
1783
1807
|
};
|
1784
1808
|
_a8 = symbol8;
|
@@ -2162,26 +2186,26 @@ function standardizePrompt({
|
|
2162
2186
|
tools
|
2163
2187
|
}) {
|
2164
2188
|
if (prompt.prompt == null && prompt.messages == null) {
|
2165
|
-
throw new
|
2189
|
+
throw new import_provider11.InvalidPromptError({
|
2166
2190
|
prompt,
|
2167
2191
|
message: "prompt or messages must be defined"
|
2168
2192
|
});
|
2169
2193
|
}
|
2170
2194
|
if (prompt.prompt != null && prompt.messages != null) {
|
2171
|
-
throw new
|
2195
|
+
throw new import_provider11.InvalidPromptError({
|
2172
2196
|
prompt,
|
2173
2197
|
message: "prompt and messages cannot be defined at the same time"
|
2174
2198
|
});
|
2175
2199
|
}
|
2176
2200
|
if (prompt.system != null && typeof prompt.system !== "string") {
|
2177
|
-
throw new
|
2201
|
+
throw new import_provider11.InvalidPromptError({
|
2178
2202
|
prompt,
|
2179
2203
|
message: "system must be a string"
|
2180
2204
|
});
|
2181
2205
|
}
|
2182
2206
|
if (prompt.prompt != null) {
|
2183
2207
|
if (typeof prompt.prompt !== "string") {
|
2184
|
-
throw new
|
2208
|
+
throw new import_provider11.InvalidPromptError({
|
2185
2209
|
prompt,
|
2186
2210
|
message: "prompt must be a string"
|
2187
2211
|
});
|
@@ -2203,7 +2227,7 @@ function standardizePrompt({
|
|
2203
2227
|
tools
|
2204
2228
|
}) : prompt.messages;
|
2205
2229
|
if (messages.length === 0) {
|
2206
|
-
throw new
|
2230
|
+
throw new import_provider11.InvalidPromptError({
|
2207
2231
|
prompt,
|
2208
2232
|
message: "messages must not be empty"
|
2209
2233
|
});
|
@@ -2213,7 +2237,7 @@ function standardizePrompt({
|
|
2213
2237
|
schema: import_zod7.z.array(coreMessageSchema)
|
2214
2238
|
});
|
2215
2239
|
if (!validationResult.success) {
|
2216
|
-
throw new
|
2240
|
+
throw new import_provider11.InvalidPromptError({
|
2217
2241
|
prompt,
|
2218
2242
|
message: [
|
2219
2243
|
"message must be a CoreMessage or a UI message",
|
@@ -2232,7 +2256,7 @@ function standardizePrompt({
|
|
2232
2256
|
}
|
2233
2257
|
function detectPromptType(prompt) {
|
2234
2258
|
if (!Array.isArray(prompt)) {
|
2235
|
-
throw new
|
2259
|
+
throw new import_provider11.InvalidPromptError({
|
2236
2260
|
prompt,
|
2237
2261
|
message: [
|
2238
2262
|
"messages must be an array of CoreMessage or UIMessage",
|
@@ -2254,7 +2278,7 @@ function detectPromptType(prompt) {
|
|
2254
2278
|
if (nonMessageIndex === -1) {
|
2255
2279
|
return "messages";
|
2256
2280
|
}
|
2257
|
-
throw new
|
2281
|
+
throw new import_provider11.InvalidPromptError({
|
2258
2282
|
prompt,
|
2259
2283
|
message: [
|
2260
2284
|
"messages must be an array of CoreMessage or UIMessage",
|
@@ -2321,7 +2345,7 @@ function injectJsonInstruction({
|
|
2321
2345
|
}
|
2322
2346
|
|
2323
2347
|
// core/generate-object/output-strategy.ts
|
2324
|
-
var
|
2348
|
+
var import_provider12 = require("@ai-sdk/provider");
|
2325
2349
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
2326
2350
|
var import_ui_utils2 = require("@ai-sdk/ui-utils");
|
2327
2351
|
|
@@ -2360,7 +2384,7 @@ var noSchemaOutputStrategy = {
|
|
2360
2384
|
} : { success: true, value };
|
2361
2385
|
},
|
2362
2386
|
createElementStream() {
|
2363
|
-
throw new
|
2387
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2364
2388
|
functionality: "element streams in no-schema mode"
|
2365
2389
|
});
|
2366
2390
|
}
|
@@ -2382,7 +2406,7 @@ var objectOutputStrategy = (schema) => ({
|
|
2382
2406
|
return (0, import_provider_utils6.safeValidateTypes)({ value, schema });
|
2383
2407
|
},
|
2384
2408
|
createElementStream() {
|
2385
|
-
throw new
|
2409
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2386
2410
|
functionality: "element streams in object mode"
|
2387
2411
|
});
|
2388
2412
|
}
|
@@ -2405,10 +2429,10 @@ var arrayOutputStrategy = (schema) => {
|
|
2405
2429
|
},
|
2406
2430
|
validatePartialResult({ value, latestObject, isFirstDelta, isFinalDelta }) {
|
2407
2431
|
var _a17;
|
2408
|
-
if (!(0,
|
2432
|
+
if (!(0, import_provider12.isJSONObject)(value) || !(0, import_provider12.isJSONArray)(value.elements)) {
|
2409
2433
|
return {
|
2410
2434
|
success: false,
|
2411
|
-
error: new
|
2435
|
+
error: new import_provider12.TypeValidationError({
|
2412
2436
|
value,
|
2413
2437
|
cause: "value must be an object that contains an array of elements"
|
2414
2438
|
})
|
@@ -2448,10 +2472,10 @@ var arrayOutputStrategy = (schema) => {
|
|
2448
2472
|
};
|
2449
2473
|
},
|
2450
2474
|
validateFinalResult(value) {
|
2451
|
-
if (!(0,
|
2475
|
+
if (!(0, import_provider12.isJSONObject)(value) || !(0, import_provider12.isJSONArray)(value.elements)) {
|
2452
2476
|
return {
|
2453
2477
|
success: false,
|
2454
|
-
error: new
|
2478
|
+
error: new import_provider12.TypeValidationError({
|
2455
2479
|
value,
|
2456
2480
|
cause: "value must be an object that contains an array of elements"
|
2457
2481
|
})
|
@@ -2514,10 +2538,10 @@ var enumOutputStrategy = (enumValues) => {
|
|
2514
2538
|
additionalProperties: false
|
2515
2539
|
},
|
2516
2540
|
validateFinalResult(value) {
|
2517
|
-
if (!(0,
|
2541
|
+
if (!(0, import_provider12.isJSONObject)(value) || typeof value.result !== "string") {
|
2518
2542
|
return {
|
2519
2543
|
success: false,
|
2520
|
-
error: new
|
2544
|
+
error: new import_provider12.TypeValidationError({
|
2521
2545
|
value,
|
2522
2546
|
cause: 'value must be an object that contains a string in the "result" property.'
|
2523
2547
|
})
|
@@ -2526,19 +2550,19 @@ var enumOutputStrategy = (enumValues) => {
|
|
2526
2550
|
const result = value.result;
|
2527
2551
|
return enumValues.includes(result) ? { success: true, value: result } : {
|
2528
2552
|
success: false,
|
2529
|
-
error: new
|
2553
|
+
error: new import_provider12.TypeValidationError({
|
2530
2554
|
value,
|
2531
2555
|
cause: "value must be a string in the enum"
|
2532
2556
|
})
|
2533
2557
|
};
|
2534
2558
|
},
|
2535
2559
|
validatePartialResult() {
|
2536
|
-
throw new
|
2560
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2537
2561
|
functionality: "partial results in enum mode"
|
2538
2562
|
});
|
2539
2563
|
},
|
2540
2564
|
createElementStream() {
|
2541
|
-
throw new
|
2565
|
+
throw new import_provider12.UnsupportedFunctionalityError({
|
2542
2566
|
functionality: "element streams in enum mode"
|
2543
2567
|
});
|
2544
2568
|
}
|
@@ -2738,6 +2762,9 @@ async function generateObject({
|
|
2738
2762
|
} = {},
|
2739
2763
|
...settings
|
2740
2764
|
}) {
|
2765
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
2766
|
+
throw new UnsupportedModelVersionError();
|
2767
|
+
}
|
2741
2768
|
validateObjectGenerationInput({
|
2742
2769
|
output,
|
2743
2770
|
mode,
|
@@ -3073,7 +3100,7 @@ async function generateObject({
|
|
3073
3100
|
try {
|
3074
3101
|
object2 = processResult(result);
|
3075
3102
|
} catch (error) {
|
3076
|
-
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (
|
3103
|
+
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider13.JSONParseError.isInstance(error.cause) || import_provider13.TypeValidationError.isInstance(error.cause))) {
|
3077
3104
|
const repairedText = await repairText({
|
3078
3105
|
text: result,
|
3079
3106
|
error: error.cause
|
@@ -3311,6 +3338,9 @@ function streamObject({
|
|
3311
3338
|
} = {},
|
3312
3339
|
...settings
|
3313
3340
|
}) {
|
3341
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
3342
|
+
throw new UnsupportedModelVersionError();
|
3343
|
+
}
|
3314
3344
|
validateObjectGenerationInput({
|
3315
3345
|
output,
|
3316
3346
|
mode,
|
@@ -3862,36 +3892,36 @@ var DefaultStreamObjectResult = class {
|
|
3862
3892
|
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
3863
3893
|
|
3864
3894
|
// errors/no-output-specified-error.ts
|
3865
|
-
var
|
3895
|
+
var import_provider14 = require("@ai-sdk/provider");
|
3866
3896
|
var name9 = "AI_NoOutputSpecifiedError";
|
3867
3897
|
var marker9 = `vercel.ai.error.${name9}`;
|
3868
3898
|
var symbol9 = Symbol.for(marker9);
|
3869
3899
|
var _a9;
|
3870
|
-
var NoOutputSpecifiedError = class extends
|
3900
|
+
var NoOutputSpecifiedError = class extends import_provider14.AISDKError {
|
3871
3901
|
// used in isInstance
|
3872
3902
|
constructor({ message = "No output specified." } = {}) {
|
3873
3903
|
super({ name: name9, message });
|
3874
3904
|
this[_a9] = true;
|
3875
3905
|
}
|
3876
3906
|
static isInstance(error) {
|
3877
|
-
return
|
3907
|
+
return import_provider14.AISDKError.hasMarker(error, marker9);
|
3878
3908
|
}
|
3879
3909
|
};
|
3880
3910
|
_a9 = symbol9;
|
3881
3911
|
|
3882
3912
|
// errors/tool-execution-error.ts
|
3883
|
-
var
|
3913
|
+
var import_provider15 = require("@ai-sdk/provider");
|
3884
3914
|
var name10 = "AI_ToolExecutionError";
|
3885
3915
|
var marker10 = `vercel.ai.error.${name10}`;
|
3886
3916
|
var symbol10 = Symbol.for(marker10);
|
3887
3917
|
var _a10;
|
3888
|
-
var ToolExecutionError = class extends
|
3918
|
+
var ToolExecutionError = class extends import_provider15.AISDKError {
|
3889
3919
|
constructor({
|
3890
3920
|
toolArgs,
|
3891
3921
|
toolName,
|
3892
3922
|
toolCallId,
|
3893
3923
|
cause,
|
3894
|
-
message = `Error executing tool ${toolName}: ${(0,
|
3924
|
+
message = `Error executing tool ${toolName}: ${(0, import_provider15.getErrorMessage)(cause)}`
|
3895
3925
|
}) {
|
3896
3926
|
super({ name: name10, message, cause });
|
3897
3927
|
this[_a10] = true;
|
@@ -3900,7 +3930,7 @@ var ToolExecutionError = class extends import_provider14.AISDKError {
|
|
3900
3930
|
this.toolCallId = toolCallId;
|
3901
3931
|
}
|
3902
3932
|
static isInstance(error) {
|
3903
|
-
return
|
3933
|
+
return import_provider15.AISDKError.hasMarker(error, marker10);
|
3904
3934
|
}
|
3905
3935
|
};
|
3906
3936
|
_a10 = symbol10;
|
@@ -3975,17 +4005,17 @@ var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
3975
4005
|
var import_ui_utils5 = require("@ai-sdk/ui-utils");
|
3976
4006
|
|
3977
4007
|
// errors/invalid-tool-arguments-error.ts
|
3978
|
-
var
|
4008
|
+
var import_provider16 = require("@ai-sdk/provider");
|
3979
4009
|
var name11 = "AI_InvalidToolArgumentsError";
|
3980
4010
|
var marker11 = `vercel.ai.error.${name11}`;
|
3981
4011
|
var symbol11 = Symbol.for(marker11);
|
3982
4012
|
var _a11;
|
3983
|
-
var InvalidToolArgumentsError = class extends
|
4013
|
+
var InvalidToolArgumentsError = class extends import_provider16.AISDKError {
|
3984
4014
|
constructor({
|
3985
4015
|
toolArgs,
|
3986
4016
|
toolName,
|
3987
4017
|
cause,
|
3988
|
-
message = `Invalid arguments for tool ${toolName}: ${(0,
|
4018
|
+
message = `Invalid arguments for tool ${toolName}: ${(0, import_provider16.getErrorMessage)(
|
3989
4019
|
cause
|
3990
4020
|
)}`
|
3991
4021
|
}) {
|
@@ -3995,18 +4025,18 @@ var InvalidToolArgumentsError = class extends import_provider15.AISDKError {
|
|
3995
4025
|
this.toolName = toolName;
|
3996
4026
|
}
|
3997
4027
|
static isInstance(error) {
|
3998
|
-
return
|
4028
|
+
return import_provider16.AISDKError.hasMarker(error, marker11);
|
3999
4029
|
}
|
4000
4030
|
};
|
4001
4031
|
_a11 = symbol11;
|
4002
4032
|
|
4003
4033
|
// errors/no-such-tool-error.ts
|
4004
|
-
var
|
4034
|
+
var import_provider17 = require("@ai-sdk/provider");
|
4005
4035
|
var name12 = "AI_NoSuchToolError";
|
4006
4036
|
var marker12 = `vercel.ai.error.${name12}`;
|
4007
4037
|
var symbol12 = Symbol.for(marker12);
|
4008
4038
|
var _a12;
|
4009
|
-
var NoSuchToolError = class extends
|
4039
|
+
var NoSuchToolError = class extends import_provider17.AISDKError {
|
4010
4040
|
constructor({
|
4011
4041
|
toolName,
|
4012
4042
|
availableTools = void 0,
|
@@ -4018,29 +4048,29 @@ var NoSuchToolError = class extends import_provider16.AISDKError {
|
|
4018
4048
|
this.availableTools = availableTools;
|
4019
4049
|
}
|
4020
4050
|
static isInstance(error) {
|
4021
|
-
return
|
4051
|
+
return import_provider17.AISDKError.hasMarker(error, marker12);
|
4022
4052
|
}
|
4023
4053
|
};
|
4024
4054
|
_a12 = symbol12;
|
4025
4055
|
|
4026
4056
|
// errors/tool-call-repair-error.ts
|
4027
|
-
var
|
4057
|
+
var import_provider18 = require("@ai-sdk/provider");
|
4028
4058
|
var name13 = "AI_ToolCallRepairError";
|
4029
4059
|
var marker13 = `vercel.ai.error.${name13}`;
|
4030
4060
|
var symbol13 = Symbol.for(marker13);
|
4031
4061
|
var _a13;
|
4032
|
-
var ToolCallRepairError = class extends
|
4062
|
+
var ToolCallRepairError = class extends import_provider18.AISDKError {
|
4033
4063
|
constructor({
|
4034
4064
|
cause,
|
4035
4065
|
originalError,
|
4036
|
-
message = `Error repairing tool call: ${(0,
|
4066
|
+
message = `Error repairing tool call: ${(0, import_provider18.getErrorMessage)(cause)}`
|
4037
4067
|
}) {
|
4038
4068
|
super({ name: name13, message, cause });
|
4039
4069
|
this[_a13] = true;
|
4040
4070
|
this.originalError = originalError;
|
4041
4071
|
}
|
4042
4072
|
static isInstance(error) {
|
4043
|
-
return
|
4073
|
+
return import_provider18.AISDKError.hasMarker(error, marker13);
|
4044
4074
|
}
|
4045
4075
|
};
|
4046
4076
|
_a13 = symbol13;
|
@@ -4224,6 +4254,9 @@ async function generateText({
|
|
4224
4254
|
...settings
|
4225
4255
|
}) {
|
4226
4256
|
var _a17;
|
4257
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
4258
|
+
throw new UnsupportedModelVersionError();
|
4259
|
+
}
|
4227
4260
|
if (maxSteps < 1) {
|
4228
4261
|
throw new InvalidArgumentError({
|
4229
4262
|
parameter: "maxSteps",
|
@@ -4619,6 +4652,7 @@ async function executeTools({
|
|
4619
4652
|
}
|
4620
4653
|
return result2;
|
4621
4654
|
} catch (error) {
|
4655
|
+
recordErrorOnSpan(span, error);
|
4622
4656
|
throw new ToolExecutionError({
|
4623
4657
|
toolCallId,
|
4624
4658
|
toolName,
|
@@ -4689,15 +4723,15 @@ var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
4689
4723
|
var import_ui_utils6 = require("@ai-sdk/ui-utils");
|
4690
4724
|
|
4691
4725
|
// errors/index.ts
|
4692
|
-
var
|
4726
|
+
var import_provider21 = require("@ai-sdk/provider");
|
4693
4727
|
|
4694
4728
|
// errors/invalid-stream-part-error.ts
|
4695
|
-
var
|
4729
|
+
var import_provider19 = require("@ai-sdk/provider");
|
4696
4730
|
var name14 = "AI_InvalidStreamPartError";
|
4697
4731
|
var marker14 = `vercel.ai.error.${name14}`;
|
4698
4732
|
var symbol14 = Symbol.for(marker14);
|
4699
4733
|
var _a14;
|
4700
|
-
var InvalidStreamPartError = class extends
|
4734
|
+
var InvalidStreamPartError = class extends import_provider19.AISDKError {
|
4701
4735
|
constructor({
|
4702
4736
|
chunk,
|
4703
4737
|
message
|
@@ -4707,18 +4741,18 @@ var InvalidStreamPartError = class extends import_provider18.AISDKError {
|
|
4707
4741
|
this.chunk = chunk;
|
4708
4742
|
}
|
4709
4743
|
static isInstance(error) {
|
4710
|
-
return
|
4744
|
+
return import_provider19.AISDKError.hasMarker(error, marker14);
|
4711
4745
|
}
|
4712
4746
|
};
|
4713
4747
|
_a14 = symbol14;
|
4714
4748
|
|
4715
4749
|
// errors/mcp-client-error.ts
|
4716
|
-
var
|
4750
|
+
var import_provider20 = require("@ai-sdk/provider");
|
4717
4751
|
var name15 = "AI_MCPClientError";
|
4718
4752
|
var marker15 = `vercel.ai.error.${name15}`;
|
4719
4753
|
var symbol15 = Symbol.for(marker15);
|
4720
4754
|
var _a15;
|
4721
|
-
var MCPClientError = class extends
|
4755
|
+
var MCPClientError = class extends import_provider20.AISDKError {
|
4722
4756
|
constructor({
|
4723
4757
|
name: name17 = "MCPClientError",
|
4724
4758
|
message,
|
@@ -4728,7 +4762,7 @@ var MCPClientError = class extends import_provider19.AISDKError {
|
|
4728
4762
|
this[_a15] = true;
|
4729
4763
|
}
|
4730
4764
|
static isInstance(error) {
|
4731
|
-
return
|
4765
|
+
return import_provider20.AISDKError.hasMarker(error, marker15);
|
4732
4766
|
}
|
4733
4767
|
};
|
4734
4768
|
_a15 = symbol15;
|
@@ -4814,7 +4848,7 @@ var object = ({
|
|
4814
4848
|
|
4815
4849
|
// core/generate-text/smooth-stream.ts
|
4816
4850
|
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
4817
|
-
var
|
4851
|
+
var import_provider22 = require("@ai-sdk/provider");
|
4818
4852
|
var CHUNKING_REGEXPS = {
|
4819
4853
|
word: /\S+\s+/m,
|
4820
4854
|
line: /\n+/m
|
@@ -4844,7 +4878,7 @@ function smoothStream({
|
|
4844
4878
|
} else {
|
4845
4879
|
const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
|
4846
4880
|
if (chunkingRegex == null) {
|
4847
|
-
throw new
|
4881
|
+
throw new import_provider22.InvalidArgumentError({
|
4848
4882
|
argument: "chunking",
|
4849
4883
|
message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
|
4850
4884
|
});
|
@@ -4882,7 +4916,7 @@ function smoothStream({
|
|
4882
4916
|
}
|
4883
4917
|
|
4884
4918
|
// core/generate-text/stream-text.ts
|
4885
|
-
var
|
4919
|
+
var import_provider23 = require("@ai-sdk/provider");
|
4886
4920
|
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
4887
4921
|
var import_ui_utils8 = require("@ai-sdk/ui-utils");
|
4888
4922
|
|
@@ -5130,6 +5164,7 @@ function runToolsTransformation({
|
|
5130
5164
|
}
|
5131
5165
|
},
|
5132
5166
|
(error) => {
|
5167
|
+
recordErrorOnSpan(span, error);
|
5133
5168
|
toolResultsStreamController.enqueue({
|
5134
5169
|
type: "error",
|
5135
5170
|
error: new ToolExecutionError({
|
@@ -5243,6 +5278,9 @@ function streamText({
|
|
5243
5278
|
} = {},
|
5244
5279
|
...settings
|
5245
5280
|
}) {
|
5281
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
5282
|
+
throw new UnsupportedModelVersionError();
|
5283
|
+
}
|
5246
5284
|
return new DefaultStreamTextResult({
|
5247
5285
|
model,
|
5248
5286
|
telemetry,
|
@@ -5420,7 +5458,7 @@ var DefaultStreamTextResult = class {
|
|
5420
5458
|
}
|
5421
5459
|
if (part.type === "reasoning-signature") {
|
5422
5460
|
if (activeReasoningText == null) {
|
5423
|
-
throw new
|
5461
|
+
throw new import_provider23.AISDKError({
|
5424
5462
|
name: "InvalidStreamPart",
|
5425
5463
|
message: "reasoning-signature without reasoning"
|
5426
5464
|
});
|
@@ -6435,8 +6473,8 @@ var DefaultStreamTextResult = class {
|
|
6435
6473
|
};
|
6436
6474
|
|
6437
6475
|
// errors/no-speech-generated-error.ts
|
6438
|
-
var
|
6439
|
-
var NoSpeechGeneratedError = class extends
|
6476
|
+
var import_provider24 = require("@ai-sdk/provider");
|
6477
|
+
var NoSpeechGeneratedError = class extends import_provider24.AISDKError {
|
6440
6478
|
constructor(options) {
|
6441
6479
|
super({
|
6442
6480
|
name: "AI_NoSpeechGeneratedError",
|
@@ -6485,6 +6523,9 @@ async function generateSpeech({
|
|
6485
6523
|
headers
|
6486
6524
|
}) {
|
6487
6525
|
var _a17;
|
6526
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
6527
|
+
throw new UnsupportedModelVersionError();
|
6528
|
+
}
|
6488
6529
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
6489
6530
|
const result = await retry(
|
6490
6531
|
() => model.doGenerate({
|
@@ -6525,8 +6566,8 @@ var DefaultSpeechResult = class {
|
|
6525
6566
|
};
|
6526
6567
|
|
6527
6568
|
// errors/no-transcript-generated-error.ts
|
6528
|
-
var
|
6529
|
-
var NoTranscriptGeneratedError = class extends
|
6569
|
+
var import_provider25 = require("@ai-sdk/provider");
|
6570
|
+
var NoTranscriptGeneratedError = class extends import_provider25.AISDKError {
|
6530
6571
|
constructor(options) {
|
6531
6572
|
super({
|
6532
6573
|
name: "AI_NoTranscriptGeneratedError",
|
@@ -6545,6 +6586,9 @@ async function transcribe({
|
|
6545
6586
|
abortSignal,
|
6546
6587
|
headers
|
6547
6588
|
}) {
|
6589
|
+
if (typeof model === "string" || model.specificationVersion !== "v1") {
|
6590
|
+
throw new UnsupportedModelVersionError();
|
6591
|
+
}
|
6548
6592
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
6549
6593
|
const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
|
6550
6594
|
const result = await retry(
|
@@ -6903,7 +6947,7 @@ function appendClientMessage({
|
|
6903
6947
|
|
6904
6948
|
// core/prompt/append-response-messages.ts
|
6905
6949
|
var import_ui_utils9 = require("@ai-sdk/ui-utils");
|
6906
|
-
var
|
6950
|
+
var import_provider26 = require("@ai-sdk/provider");
|
6907
6951
|
function appendResponseMessages({
|
6908
6952
|
messages,
|
6909
6953
|
responseMessages,
|
@@ -6986,7 +7030,7 @@ function appendResponseMessages({
|
|
6986
7030
|
break;
|
6987
7031
|
case "file":
|
6988
7032
|
if (part.data instanceof URL) {
|
6989
|
-
throw new
|
7033
|
+
throw new import_provider26.AISDKError({
|
6990
7034
|
name: "InvalidAssistantFileData",
|
6991
7035
|
message: "File data cannot be a URL"
|
6992
7036
|
});
|
@@ -7080,7 +7124,7 @@ function appendResponseMessages({
|
|
7080
7124
|
}
|
7081
7125
|
|
7082
7126
|
// core/registry/custom-provider.ts
|
7083
|
-
var
|
7127
|
+
var import_provider27 = require("@ai-sdk/provider");
|
7084
7128
|
function customProvider({
|
7085
7129
|
languageModels,
|
7086
7130
|
textEmbeddingModels,
|
@@ -7095,7 +7139,7 @@ function customProvider({
|
|
7095
7139
|
if (fallbackProvider) {
|
7096
7140
|
return fallbackProvider.languageModel(modelId);
|
7097
7141
|
}
|
7098
|
-
throw new
|
7142
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "languageModel" });
|
7099
7143
|
},
|
7100
7144
|
textEmbeddingModel(modelId) {
|
7101
7145
|
if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
|
@@ -7104,7 +7148,7 @@ function customProvider({
|
|
7104
7148
|
if (fallbackProvider) {
|
7105
7149
|
return fallbackProvider.textEmbeddingModel(modelId);
|
7106
7150
|
}
|
7107
|
-
throw new
|
7151
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
|
7108
7152
|
},
|
7109
7153
|
imageModel(modelId) {
|
7110
7154
|
if (imageModels != null && modelId in imageModels) {
|
@@ -7113,19 +7157,19 @@ function customProvider({
|
|
7113
7157
|
if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
|
7114
7158
|
return fallbackProvider.imageModel(modelId);
|
7115
7159
|
}
|
7116
|
-
throw new
|
7160
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "imageModel" });
|
7117
7161
|
}
|
7118
7162
|
};
|
7119
7163
|
}
|
7120
7164
|
var experimental_customProvider = customProvider;
|
7121
7165
|
|
7122
7166
|
// core/registry/no-such-provider-error.ts
|
7123
|
-
var
|
7167
|
+
var import_provider28 = require("@ai-sdk/provider");
|
7124
7168
|
var name16 = "AI_NoSuchProviderError";
|
7125
7169
|
var marker16 = `vercel.ai.error.${name16}`;
|
7126
7170
|
var symbol16 = Symbol.for(marker16);
|
7127
7171
|
var _a16;
|
7128
|
-
var NoSuchProviderError = class extends
|
7172
|
+
var NoSuchProviderError = class extends import_provider28.NoSuchModelError {
|
7129
7173
|
constructor({
|
7130
7174
|
modelId,
|
7131
7175
|
modelType,
|
@@ -7139,13 +7183,13 @@ var NoSuchProviderError = class extends import_provider27.NoSuchModelError {
|
|
7139
7183
|
this.availableProviders = availableProviders;
|
7140
7184
|
}
|
7141
7185
|
static isInstance(error) {
|
7142
|
-
return
|
7186
|
+
return import_provider28.AISDKError.hasMarker(error, marker16);
|
7143
7187
|
}
|
7144
7188
|
};
|
7145
7189
|
_a16 = symbol16;
|
7146
7190
|
|
7147
7191
|
// core/registry/provider-registry.ts
|
7148
|
-
var
|
7192
|
+
var import_provider29 = require("@ai-sdk/provider");
|
7149
7193
|
function createProviderRegistry(providers, {
|
7150
7194
|
separator = ":"
|
7151
7195
|
} = {}) {
|
@@ -7184,7 +7228,7 @@ var DefaultProviderRegistry = class {
|
|
7184
7228
|
splitId(id, modelType) {
|
7185
7229
|
const index = id.indexOf(this.separator);
|
7186
7230
|
if (index === -1) {
|
7187
|
-
throw new
|
7231
|
+
throw new import_provider29.NoSuchModelError({
|
7188
7232
|
modelId: id,
|
7189
7233
|
modelType,
|
7190
7234
|
message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
|
@@ -7197,7 +7241,7 @@ var DefaultProviderRegistry = class {
|
|
7197
7241
|
const [providerId, modelId] = this.splitId(id, "languageModel");
|
7198
7242
|
const model = (_b = (_a17 = this.getProvider(providerId)).languageModel) == null ? void 0 : _b.call(_a17, modelId);
|
7199
7243
|
if (model == null) {
|
7200
|
-
throw new
|
7244
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "languageModel" });
|
7201
7245
|
}
|
7202
7246
|
return model;
|
7203
7247
|
}
|
@@ -7207,7 +7251,7 @@ var DefaultProviderRegistry = class {
|
|
7207
7251
|
const provider = this.getProvider(providerId);
|
7208
7252
|
const model = (_a17 = provider.textEmbeddingModel) == null ? void 0 : _a17.call(provider, modelId);
|
7209
7253
|
if (model == null) {
|
7210
|
-
throw new
|
7254
|
+
throw new import_provider29.NoSuchModelError({
|
7211
7255
|
modelId: id,
|
7212
7256
|
modelType: "textEmbeddingModel"
|
7213
7257
|
});
|
@@ -7220,7 +7264,7 @@ var DefaultProviderRegistry = class {
|
|
7220
7264
|
const provider = this.getProvider(providerId);
|
7221
7265
|
const model = (_a17 = provider.imageModel) == null ? void 0 : _a17.call(provider, modelId);
|
7222
7266
|
if (model == null) {
|
7223
|
-
throw new
|
7267
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "imageModel" });
|
7224
7268
|
}
|
7225
7269
|
return model;
|
7226
7270
|
}
|
@@ -8215,6 +8259,7 @@ var StreamData = class {
|
|
8215
8259
|
ToolExecutionError,
|
8216
8260
|
TypeValidationError,
|
8217
8261
|
UnsupportedFunctionalityError,
|
8262
|
+
UnsupportedModelVersionError,
|
8218
8263
|
appendClientMessage,
|
8219
8264
|
appendResponseMessages,
|
8220
8265
|
convertToCoreMessages,
|