ai 5.0.0-beta.17 → 5.0.0-beta.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 +7 -0
- package/dist/index.d.mts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +310 -252
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +275 -218
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -20,31 +20,31 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
20
20
|
// src/index.ts
|
21
21
|
var src_exports = {};
|
22
22
|
__export(src_exports, {
|
23
|
-
AISDKError: () =>
|
24
|
-
APICallError: () =>
|
23
|
+
AISDKError: () => import_provider18.AISDKError,
|
24
|
+
APICallError: () => import_provider18.APICallError,
|
25
25
|
AbstractChat: () => AbstractChat,
|
26
26
|
DefaultChatTransport: () => DefaultChatTransport,
|
27
27
|
DownloadError: () => DownloadError,
|
28
|
-
EmptyResponseBodyError: () =>
|
28
|
+
EmptyResponseBodyError: () => import_provider18.EmptyResponseBodyError,
|
29
29
|
Experimental_Agent: () => Agent,
|
30
30
|
HttpChatTransport: () => HttpChatTransport,
|
31
31
|
InvalidArgumentError: () => InvalidArgumentError,
|
32
32
|
InvalidDataContentError: () => InvalidDataContentError,
|
33
33
|
InvalidMessageRoleError: () => InvalidMessageRoleError,
|
34
|
-
InvalidPromptError: () =>
|
35
|
-
InvalidResponseDataError: () =>
|
34
|
+
InvalidPromptError: () => import_provider18.InvalidPromptError,
|
35
|
+
InvalidResponseDataError: () => import_provider18.InvalidResponseDataError,
|
36
36
|
InvalidStreamPartError: () => InvalidStreamPartError,
|
37
37
|
InvalidToolInputError: () => InvalidToolInputError,
|
38
|
-
JSONParseError: () =>
|
38
|
+
JSONParseError: () => import_provider18.JSONParseError,
|
39
39
|
JsonToSseTransformStream: () => JsonToSseTransformStream,
|
40
|
-
LoadAPIKeyError: () =>
|
40
|
+
LoadAPIKeyError: () => import_provider18.LoadAPIKeyError,
|
41
41
|
MCPClientError: () => MCPClientError,
|
42
42
|
MessageConversionError: () => MessageConversionError,
|
43
|
-
NoContentGeneratedError: () =>
|
43
|
+
NoContentGeneratedError: () => import_provider18.NoContentGeneratedError,
|
44
44
|
NoImageGeneratedError: () => NoImageGeneratedError,
|
45
45
|
NoObjectGeneratedError: () => NoObjectGeneratedError,
|
46
46
|
NoOutputSpecifiedError: () => NoOutputSpecifiedError,
|
47
|
-
NoSuchModelError: () =>
|
47
|
+
NoSuchModelError: () => import_provider18.NoSuchModelError,
|
48
48
|
NoSuchProviderError: () => NoSuchProviderError,
|
49
49
|
NoSuchToolError: () => NoSuchToolError,
|
50
50
|
Output: () => output_exports,
|
@@ -52,9 +52,10 @@ __export(src_exports, {
|
|
52
52
|
SerialJobExecutor: () => SerialJobExecutor,
|
53
53
|
TextStreamChatTransport: () => TextStreamChatTransport,
|
54
54
|
ToolCallRepairError: () => ToolCallRepairError,
|
55
|
-
TypeValidationError: () =>
|
55
|
+
TypeValidationError: () => import_provider18.TypeValidationError,
|
56
56
|
UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
|
57
|
-
UnsupportedFunctionalityError: () =>
|
57
|
+
UnsupportedFunctionalityError: () => import_provider18.UnsupportedFunctionalityError,
|
58
|
+
UnsupportedModelVersionError: () => UnsupportedModelVersionError,
|
58
59
|
asSchema: () => import_provider_utils29.asSchema,
|
59
60
|
assistantModelMessageSchema: () => assistantModelMessageSchema,
|
60
61
|
callCompletionApi: () => callCompletionApi,
|
@@ -964,8 +965,216 @@ function prepareToolsAndToolChoice({
|
|
964
965
|
|
965
966
|
// src/prompt/resolve-language-model.ts
|
966
967
|
var import_gateway = require("@ai-sdk/gateway");
|
968
|
+
|
969
|
+
// src/error/index.ts
|
970
|
+
var import_provider18 = require("@ai-sdk/provider");
|
971
|
+
|
972
|
+
// src/error/invalid-stream-part-error.ts
|
973
|
+
var import_provider9 = require("@ai-sdk/provider");
|
974
|
+
var name7 = "AI_InvalidStreamPartError";
|
975
|
+
var marker7 = `vercel.ai.error.${name7}`;
|
976
|
+
var symbol7 = Symbol.for(marker7);
|
977
|
+
var _a7;
|
978
|
+
var InvalidStreamPartError = class extends import_provider9.AISDKError {
|
979
|
+
constructor({
|
980
|
+
chunk,
|
981
|
+
message
|
982
|
+
}) {
|
983
|
+
super({ name: name7, message });
|
984
|
+
this[_a7] = true;
|
985
|
+
this.chunk = chunk;
|
986
|
+
}
|
987
|
+
static isInstance(error) {
|
988
|
+
return import_provider9.AISDKError.hasMarker(error, marker7);
|
989
|
+
}
|
990
|
+
};
|
991
|
+
_a7 = symbol7;
|
992
|
+
|
993
|
+
// src/error/invalid-tool-input-error.ts
|
994
|
+
var import_provider10 = require("@ai-sdk/provider");
|
995
|
+
var name8 = "AI_InvalidToolInputError";
|
996
|
+
var marker8 = `vercel.ai.error.${name8}`;
|
997
|
+
var symbol8 = Symbol.for(marker8);
|
998
|
+
var _a8;
|
999
|
+
var InvalidToolInputError = class extends import_provider10.AISDKError {
|
1000
|
+
constructor({
|
1001
|
+
toolInput,
|
1002
|
+
toolName,
|
1003
|
+
cause,
|
1004
|
+
message = `Invalid input for tool ${toolName}: ${(0, import_provider10.getErrorMessage)(cause)}`
|
1005
|
+
}) {
|
1006
|
+
super({ name: name8, message, cause });
|
1007
|
+
this[_a8] = true;
|
1008
|
+
this.toolInput = toolInput;
|
1009
|
+
this.toolName = toolName;
|
1010
|
+
}
|
1011
|
+
static isInstance(error) {
|
1012
|
+
return import_provider10.AISDKError.hasMarker(error, marker8);
|
1013
|
+
}
|
1014
|
+
};
|
1015
|
+
_a8 = symbol8;
|
1016
|
+
|
1017
|
+
// src/error/mcp-client-error.ts
|
1018
|
+
var import_provider11 = require("@ai-sdk/provider");
|
1019
|
+
var name9 = "AI_MCPClientError";
|
1020
|
+
var marker9 = `vercel.ai.error.${name9}`;
|
1021
|
+
var symbol9 = Symbol.for(marker9);
|
1022
|
+
var _a9;
|
1023
|
+
var MCPClientError = class extends import_provider11.AISDKError {
|
1024
|
+
constructor({
|
1025
|
+
name: name16 = "MCPClientError",
|
1026
|
+
message,
|
1027
|
+
cause
|
1028
|
+
}) {
|
1029
|
+
super({ name: name16, message, cause });
|
1030
|
+
this[_a9] = true;
|
1031
|
+
}
|
1032
|
+
static isInstance(error) {
|
1033
|
+
return import_provider11.AISDKError.hasMarker(error, marker9);
|
1034
|
+
}
|
1035
|
+
};
|
1036
|
+
_a9 = symbol9;
|
1037
|
+
|
1038
|
+
// src/error/no-image-generated-error.ts
|
1039
|
+
var import_provider12 = require("@ai-sdk/provider");
|
1040
|
+
var name10 = "AI_NoImageGeneratedError";
|
1041
|
+
var marker10 = `vercel.ai.error.${name10}`;
|
1042
|
+
var symbol10 = Symbol.for(marker10);
|
1043
|
+
var _a10;
|
1044
|
+
var NoImageGeneratedError = class extends import_provider12.AISDKError {
|
1045
|
+
constructor({
|
1046
|
+
message = "No image generated.",
|
1047
|
+
cause,
|
1048
|
+
responses
|
1049
|
+
}) {
|
1050
|
+
super({ name: name10, message, cause });
|
1051
|
+
this[_a10] = true;
|
1052
|
+
this.responses = responses;
|
1053
|
+
}
|
1054
|
+
static isInstance(error) {
|
1055
|
+
return import_provider12.AISDKError.hasMarker(error, marker10);
|
1056
|
+
}
|
1057
|
+
};
|
1058
|
+
_a10 = symbol10;
|
1059
|
+
|
1060
|
+
// src/error/no-object-generated-error.ts
|
1061
|
+
var import_provider13 = require("@ai-sdk/provider");
|
1062
|
+
var name11 = "AI_NoObjectGeneratedError";
|
1063
|
+
var marker11 = `vercel.ai.error.${name11}`;
|
1064
|
+
var symbol11 = Symbol.for(marker11);
|
1065
|
+
var _a11;
|
1066
|
+
var NoObjectGeneratedError = class extends import_provider13.AISDKError {
|
1067
|
+
constructor({
|
1068
|
+
message = "No object generated.",
|
1069
|
+
cause,
|
1070
|
+
text: text2,
|
1071
|
+
response,
|
1072
|
+
usage,
|
1073
|
+
finishReason
|
1074
|
+
}) {
|
1075
|
+
super({ name: name11, message, cause });
|
1076
|
+
this[_a11] = true;
|
1077
|
+
this.text = text2;
|
1078
|
+
this.response = response;
|
1079
|
+
this.usage = usage;
|
1080
|
+
this.finishReason = finishReason;
|
1081
|
+
}
|
1082
|
+
static isInstance(error) {
|
1083
|
+
return import_provider13.AISDKError.hasMarker(error, marker11);
|
1084
|
+
}
|
1085
|
+
};
|
1086
|
+
_a11 = symbol11;
|
1087
|
+
|
1088
|
+
// src/error/no-such-tool-error.ts
|
1089
|
+
var import_provider14 = require("@ai-sdk/provider");
|
1090
|
+
var name12 = "AI_NoSuchToolError";
|
1091
|
+
var marker12 = `vercel.ai.error.${name12}`;
|
1092
|
+
var symbol12 = Symbol.for(marker12);
|
1093
|
+
var _a12;
|
1094
|
+
var NoSuchToolError = class extends import_provider14.AISDKError {
|
1095
|
+
constructor({
|
1096
|
+
toolName,
|
1097
|
+
availableTools = void 0,
|
1098
|
+
message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
|
1099
|
+
}) {
|
1100
|
+
super({ name: name12, message });
|
1101
|
+
this[_a12] = true;
|
1102
|
+
this.toolName = toolName;
|
1103
|
+
this.availableTools = availableTools;
|
1104
|
+
}
|
1105
|
+
static isInstance(error) {
|
1106
|
+
return import_provider14.AISDKError.hasMarker(error, marker12);
|
1107
|
+
}
|
1108
|
+
};
|
1109
|
+
_a12 = symbol12;
|
1110
|
+
|
1111
|
+
// src/error/tool-call-repair-error.ts
|
1112
|
+
var import_provider15 = require("@ai-sdk/provider");
|
1113
|
+
var name13 = "AI_ToolCallRepairError";
|
1114
|
+
var marker13 = `vercel.ai.error.${name13}`;
|
1115
|
+
var symbol13 = Symbol.for(marker13);
|
1116
|
+
var _a13;
|
1117
|
+
var ToolCallRepairError = class extends import_provider15.AISDKError {
|
1118
|
+
constructor({
|
1119
|
+
cause,
|
1120
|
+
originalError,
|
1121
|
+
message = `Error repairing tool call: ${(0, import_provider15.getErrorMessage)(cause)}`
|
1122
|
+
}) {
|
1123
|
+
super({ name: name13, message, cause });
|
1124
|
+
this[_a13] = true;
|
1125
|
+
this.originalError = originalError;
|
1126
|
+
}
|
1127
|
+
static isInstance(error) {
|
1128
|
+
return import_provider15.AISDKError.hasMarker(error, marker13);
|
1129
|
+
}
|
1130
|
+
};
|
1131
|
+
_a13 = symbol13;
|
1132
|
+
|
1133
|
+
// src/error/unsupported-model-version-error.ts
|
1134
|
+
var import_provider16 = require("@ai-sdk/provider");
|
1135
|
+
var UnsupportedModelVersionError = class extends import_provider16.AISDKError {
|
1136
|
+
constructor(options) {
|
1137
|
+
super({
|
1138
|
+
name: "AI_UnsupportedModelVersionError",
|
1139
|
+
message: `Unsupported model version ${options.version} for provider "${options.provider}" and model "${options.modelId}". AI SDK 5 only supports models that implement specification version "v2".`
|
1140
|
+
});
|
1141
|
+
this.version = options.version;
|
1142
|
+
this.provider = options.provider;
|
1143
|
+
this.modelId = options.modelId;
|
1144
|
+
}
|
1145
|
+
};
|
1146
|
+
|
1147
|
+
// src/prompt/message-conversion-error.ts
|
1148
|
+
var import_provider17 = require("@ai-sdk/provider");
|
1149
|
+
var name14 = "AI_MessageConversionError";
|
1150
|
+
var marker14 = `vercel.ai.error.${name14}`;
|
1151
|
+
var symbol14 = Symbol.for(marker14);
|
1152
|
+
var _a14;
|
1153
|
+
var MessageConversionError = class extends import_provider17.AISDKError {
|
1154
|
+
constructor({
|
1155
|
+
originalMessage,
|
1156
|
+
message
|
1157
|
+
}) {
|
1158
|
+
super({ name: name14, message });
|
1159
|
+
this[_a14] = true;
|
1160
|
+
this.originalMessage = originalMessage;
|
1161
|
+
}
|
1162
|
+
static isInstance(error) {
|
1163
|
+
return import_provider17.AISDKError.hasMarker(error, marker14);
|
1164
|
+
}
|
1165
|
+
};
|
1166
|
+
_a14 = symbol14;
|
1167
|
+
|
1168
|
+
// src/prompt/resolve-language-model.ts
|
967
1169
|
function resolveLanguageModel(model) {
|
968
1170
|
if (typeof model !== "string") {
|
1171
|
+
if (model.specificationVersion !== "v2") {
|
1172
|
+
throw new UnsupportedModelVersionError({
|
1173
|
+
version: model.specificationVersion,
|
1174
|
+
provider: model.provider,
|
1175
|
+
modelId: model.modelId
|
1176
|
+
});
|
1177
|
+
}
|
969
1178
|
return model;
|
970
1179
|
}
|
971
1180
|
const globalProvider = globalThis.AI_SDK_DEFAULT_PROVIDER;
|
@@ -973,7 +1182,7 @@ function resolveLanguageModel(model) {
|
|
973
1182
|
}
|
974
1183
|
|
975
1184
|
// src/prompt/standardize-prompt.ts
|
976
|
-
var
|
1185
|
+
var import_provider19 = require("@ai-sdk/provider");
|
977
1186
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
978
1187
|
var import_v46 = require("zod/v4");
|
979
1188
|
|
@@ -1129,19 +1338,19 @@ var coreMessageSchema = modelMessageSchema;
|
|
1129
1338
|
// src/prompt/standardize-prompt.ts
|
1130
1339
|
async function standardizePrompt(prompt) {
|
1131
1340
|
if (prompt.prompt == null && prompt.messages == null) {
|
1132
|
-
throw new
|
1341
|
+
throw new import_provider19.InvalidPromptError({
|
1133
1342
|
prompt,
|
1134
1343
|
message: "prompt or messages must be defined"
|
1135
1344
|
});
|
1136
1345
|
}
|
1137
1346
|
if (prompt.prompt != null && prompt.messages != null) {
|
1138
|
-
throw new
|
1347
|
+
throw new import_provider19.InvalidPromptError({
|
1139
1348
|
prompt,
|
1140
1349
|
message: "prompt and messages cannot be defined at the same time"
|
1141
1350
|
});
|
1142
1351
|
}
|
1143
1352
|
if (prompt.system != null && typeof prompt.system !== "string") {
|
1144
|
-
throw new
|
1353
|
+
throw new import_provider19.InvalidPromptError({
|
1145
1354
|
prompt,
|
1146
1355
|
message: "system must be a string"
|
1147
1356
|
});
|
@@ -1154,13 +1363,13 @@ async function standardizePrompt(prompt) {
|
|
1154
1363
|
} else if (prompt.messages != null) {
|
1155
1364
|
messages = prompt.messages;
|
1156
1365
|
} else {
|
1157
|
-
throw new
|
1366
|
+
throw new import_provider19.InvalidPromptError({
|
1158
1367
|
prompt,
|
1159
1368
|
message: "prompt or messages must be defined"
|
1160
1369
|
});
|
1161
1370
|
}
|
1162
1371
|
if (messages.length === 0) {
|
1163
|
-
throw new
|
1372
|
+
throw new import_provider19.InvalidPromptError({
|
1164
1373
|
prompt,
|
1165
1374
|
message: "messages must not be empty"
|
1166
1375
|
});
|
@@ -1170,7 +1379,7 @@ async function standardizePrompt(prompt) {
|
|
1170
1379
|
schema: import_v46.z.array(modelMessageSchema)
|
1171
1380
|
});
|
1172
1381
|
if (!validationResult.success) {
|
1173
|
-
throw new
|
1382
|
+
throw new import_provider19.InvalidPromptError({
|
1174
1383
|
prompt,
|
1175
1384
|
message: "The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",
|
1176
1385
|
cause: validationResult.error
|
@@ -1184,10 +1393,10 @@ async function standardizePrompt(prompt) {
|
|
1184
1393
|
|
1185
1394
|
// src/prompt/wrap-gateway-error.ts
|
1186
1395
|
var import_gateway2 = require("@ai-sdk/gateway");
|
1187
|
-
var
|
1396
|
+
var import_provider20 = require("@ai-sdk/provider");
|
1188
1397
|
function wrapGatewayError(error) {
|
1189
1398
|
if (import_gateway2.GatewayAuthenticationError.isInstance(error) || import_gateway2.GatewayModelNotFoundError.isInstance(error)) {
|
1190
|
-
return new
|
1399
|
+
return new import_provider20.AISDKError({
|
1191
1400
|
name: "GatewayError",
|
1192
1401
|
message: "Vercel AI Gateway access failed. If you want to use AI SDK providers directly, use the providers, e.g. @ai-sdk/openai, or register a different global default provider.",
|
1193
1402
|
cause: error
|
@@ -1371,7 +1580,7 @@ function selectTelemetryAttributes({
|
|
1371
1580
|
return {};
|
1372
1581
|
}
|
1373
1582
|
return Object.entries(attributes).reduce((attributes2, [key, value]) => {
|
1374
|
-
if (value
|
1583
|
+
if (value == null) {
|
1375
1584
|
return attributes2;
|
1376
1585
|
}
|
1377
1586
|
if (typeof value === "object" && "input" in value && typeof value.input === "function") {
|
@@ -1379,14 +1588,14 @@ function selectTelemetryAttributes({
|
|
1379
1588
|
return attributes2;
|
1380
1589
|
}
|
1381
1590
|
const result = value.input();
|
1382
|
-
return result
|
1591
|
+
return result == null ? attributes2 : { ...attributes2, [key]: result };
|
1383
1592
|
}
|
1384
1593
|
if (typeof value === "object" && "output" in value && typeof value.output === "function") {
|
1385
1594
|
if ((telemetry == null ? void 0 : telemetry.recordOutputs) === false) {
|
1386
1595
|
return attributes2;
|
1387
1596
|
}
|
1388
1597
|
const result = value.output();
|
1389
|
-
return result
|
1598
|
+
return result == null ? attributes2 : { ...attributes2, [key]: result };
|
1390
1599
|
}
|
1391
1600
|
return { ...attributes2, [key]: value };
|
1392
1601
|
}, {});
|
@@ -1474,77 +1683,6 @@ var DefaultGeneratedFileWithType = class extends DefaultGeneratedFile {
|
|
1474
1683
|
|
1475
1684
|
// src/generate-text/parse-tool-call.ts
|
1476
1685
|
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
1477
|
-
|
1478
|
-
// src/error/invalid-tool-input-error.ts
|
1479
|
-
var import_provider11 = require("@ai-sdk/provider");
|
1480
|
-
var name7 = "AI_InvalidToolInputError";
|
1481
|
-
var marker7 = `vercel.ai.error.${name7}`;
|
1482
|
-
var symbol7 = Symbol.for(marker7);
|
1483
|
-
var _a7;
|
1484
|
-
var InvalidToolInputError = class extends import_provider11.AISDKError {
|
1485
|
-
constructor({
|
1486
|
-
toolInput,
|
1487
|
-
toolName,
|
1488
|
-
cause,
|
1489
|
-
message = `Invalid input for tool ${toolName}: ${(0, import_provider11.getErrorMessage)(cause)}`
|
1490
|
-
}) {
|
1491
|
-
super({ name: name7, message, cause });
|
1492
|
-
this[_a7] = true;
|
1493
|
-
this.toolInput = toolInput;
|
1494
|
-
this.toolName = toolName;
|
1495
|
-
}
|
1496
|
-
static isInstance(error) {
|
1497
|
-
return import_provider11.AISDKError.hasMarker(error, marker7);
|
1498
|
-
}
|
1499
|
-
};
|
1500
|
-
_a7 = symbol7;
|
1501
|
-
|
1502
|
-
// src/error/no-such-tool-error.ts
|
1503
|
-
var import_provider12 = require("@ai-sdk/provider");
|
1504
|
-
var name8 = "AI_NoSuchToolError";
|
1505
|
-
var marker8 = `vercel.ai.error.${name8}`;
|
1506
|
-
var symbol8 = Symbol.for(marker8);
|
1507
|
-
var _a8;
|
1508
|
-
var NoSuchToolError = class extends import_provider12.AISDKError {
|
1509
|
-
constructor({
|
1510
|
-
toolName,
|
1511
|
-
availableTools = void 0,
|
1512
|
-
message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
|
1513
|
-
}) {
|
1514
|
-
super({ name: name8, message });
|
1515
|
-
this[_a8] = true;
|
1516
|
-
this.toolName = toolName;
|
1517
|
-
this.availableTools = availableTools;
|
1518
|
-
}
|
1519
|
-
static isInstance(error) {
|
1520
|
-
return import_provider12.AISDKError.hasMarker(error, marker8);
|
1521
|
-
}
|
1522
|
-
};
|
1523
|
-
_a8 = symbol8;
|
1524
|
-
|
1525
|
-
// src/error/tool-call-repair-error.ts
|
1526
|
-
var import_provider13 = require("@ai-sdk/provider");
|
1527
|
-
var name9 = "AI_ToolCallRepairError";
|
1528
|
-
var marker9 = `vercel.ai.error.${name9}`;
|
1529
|
-
var symbol9 = Symbol.for(marker9);
|
1530
|
-
var _a9;
|
1531
|
-
var ToolCallRepairError = class extends import_provider13.AISDKError {
|
1532
|
-
constructor({
|
1533
|
-
cause,
|
1534
|
-
originalError,
|
1535
|
-
message = `Error repairing tool call: ${(0, import_provider13.getErrorMessage)(cause)}`
|
1536
|
-
}) {
|
1537
|
-
super({ name: name9, message, cause });
|
1538
|
-
this[_a9] = true;
|
1539
|
-
this.originalError = originalError;
|
1540
|
-
}
|
1541
|
-
static isInstance(error) {
|
1542
|
-
return import_provider13.AISDKError.hasMarker(error, marker9);
|
1543
|
-
}
|
1544
|
-
};
|
1545
|
-
_a9 = symbol9;
|
1546
|
-
|
1547
|
-
// src/generate-text/parse-tool-call.ts
|
1548
1686
|
async function parseToolCall({
|
1549
1687
|
toolCall,
|
1550
1688
|
tools,
|
@@ -1678,14 +1816,14 @@ async function isStopConditionMet({
|
|
1678
1816
|
}
|
1679
1817
|
|
1680
1818
|
// src/prompt/create-tool-model-output.ts
|
1681
|
-
var
|
1819
|
+
var import_provider21 = require("@ai-sdk/provider");
|
1682
1820
|
function createToolModelOutput({
|
1683
1821
|
output,
|
1684
1822
|
tool: tool3,
|
1685
1823
|
errorMode
|
1686
1824
|
}) {
|
1687
1825
|
if (errorMode === "text") {
|
1688
|
-
return { type: "error-text", value: (0,
|
1826
|
+
return { type: "error-text", value: (0, import_provider21.getErrorMessage)(output) };
|
1689
1827
|
} else if (errorMode === "json") {
|
1690
1828
|
return { type: "error-json", value: output };
|
1691
1829
|
}
|
@@ -2299,7 +2437,7 @@ function asContent({
|
|
2299
2437
|
}
|
2300
2438
|
|
2301
2439
|
// src/generate-text/stream-text.ts
|
2302
|
-
var
|
2440
|
+
var import_provider22 = require("@ai-sdk/provider");
|
2303
2441
|
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
2304
2442
|
|
2305
2443
|
// src/util/prepare-headers.ts
|
@@ -4684,7 +4822,7 @@ var DefaultStreamTextResult = class {
|
|
4684
4822
|
sendSources = false,
|
4685
4823
|
sendStart = true,
|
4686
4824
|
sendFinish = true,
|
4687
|
-
onError =
|
4825
|
+
onError = import_provider22.getErrorMessage
|
4688
4826
|
} = {}) {
|
4689
4827
|
const responseMessageId = getResponseUIMessageId({
|
4690
4828
|
originalMessages,
|
@@ -4969,6 +5107,13 @@ async function embed({
|
|
4969
5107
|
headers,
|
4970
5108
|
experimental_telemetry: telemetry
|
4971
5109
|
}) {
|
5110
|
+
if (model.specificationVersion !== "v2") {
|
5111
|
+
throw new UnsupportedModelVersionError({
|
5112
|
+
version: model.specificationVersion,
|
5113
|
+
provider: model.provider,
|
5114
|
+
modelId: model.modelId
|
5115
|
+
});
|
5116
|
+
}
|
4972
5117
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
4973
5118
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
4974
5119
|
model,
|
@@ -5089,6 +5234,13 @@ async function embedMany({
|
|
5089
5234
|
providerOptions,
|
5090
5235
|
experimental_telemetry: telemetry
|
5091
5236
|
}) {
|
5237
|
+
if (model.specificationVersion !== "v2") {
|
5238
|
+
throw new UnsupportedModelVersionError({
|
5239
|
+
version: model.specificationVersion,
|
5240
|
+
provider: model.provider,
|
5241
|
+
modelId: model.modelId
|
5242
|
+
});
|
5243
|
+
}
|
5092
5244
|
const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
5093
5245
|
const baseTelemetryAttributes = getBaseTelemetryAttributes({
|
5094
5246
|
model,
|
@@ -5279,122 +5431,6 @@ var DefaultEmbedManyResult = class {
|
|
5279
5431
|
}
|
5280
5432
|
};
|
5281
5433
|
|
5282
|
-
// src/error/index.ts
|
5283
|
-
var import_provider21 = require("@ai-sdk/provider");
|
5284
|
-
|
5285
|
-
// src/error/invalid-stream-part-error.ts
|
5286
|
-
var import_provider16 = require("@ai-sdk/provider");
|
5287
|
-
var name10 = "AI_InvalidStreamPartError";
|
5288
|
-
var marker10 = `vercel.ai.error.${name10}`;
|
5289
|
-
var symbol10 = Symbol.for(marker10);
|
5290
|
-
var _a10;
|
5291
|
-
var InvalidStreamPartError = class extends import_provider16.AISDKError {
|
5292
|
-
constructor({
|
5293
|
-
chunk,
|
5294
|
-
message
|
5295
|
-
}) {
|
5296
|
-
super({ name: name10, message });
|
5297
|
-
this[_a10] = true;
|
5298
|
-
this.chunk = chunk;
|
5299
|
-
}
|
5300
|
-
static isInstance(error) {
|
5301
|
-
return import_provider16.AISDKError.hasMarker(error, marker10);
|
5302
|
-
}
|
5303
|
-
};
|
5304
|
-
_a10 = symbol10;
|
5305
|
-
|
5306
|
-
// src/error/mcp-client-error.ts
|
5307
|
-
var import_provider17 = require("@ai-sdk/provider");
|
5308
|
-
var name11 = "AI_MCPClientError";
|
5309
|
-
var marker11 = `vercel.ai.error.${name11}`;
|
5310
|
-
var symbol11 = Symbol.for(marker11);
|
5311
|
-
var _a11;
|
5312
|
-
var MCPClientError = class extends import_provider17.AISDKError {
|
5313
|
-
constructor({
|
5314
|
-
name: name16 = "MCPClientError",
|
5315
|
-
message,
|
5316
|
-
cause
|
5317
|
-
}) {
|
5318
|
-
super({ name: name16, message, cause });
|
5319
|
-
this[_a11] = true;
|
5320
|
-
}
|
5321
|
-
static isInstance(error) {
|
5322
|
-
return import_provider17.AISDKError.hasMarker(error, marker11);
|
5323
|
-
}
|
5324
|
-
};
|
5325
|
-
_a11 = symbol11;
|
5326
|
-
|
5327
|
-
// src/error/no-image-generated-error.ts
|
5328
|
-
var import_provider18 = require("@ai-sdk/provider");
|
5329
|
-
var name12 = "AI_NoImageGeneratedError";
|
5330
|
-
var marker12 = `vercel.ai.error.${name12}`;
|
5331
|
-
var symbol12 = Symbol.for(marker12);
|
5332
|
-
var _a12;
|
5333
|
-
var NoImageGeneratedError = class extends import_provider18.AISDKError {
|
5334
|
-
constructor({
|
5335
|
-
message = "No image generated.",
|
5336
|
-
cause,
|
5337
|
-
responses
|
5338
|
-
}) {
|
5339
|
-
super({ name: name12, message, cause });
|
5340
|
-
this[_a12] = true;
|
5341
|
-
this.responses = responses;
|
5342
|
-
}
|
5343
|
-
static isInstance(error) {
|
5344
|
-
return import_provider18.AISDKError.hasMarker(error, marker12);
|
5345
|
-
}
|
5346
|
-
};
|
5347
|
-
_a12 = symbol12;
|
5348
|
-
|
5349
|
-
// src/error/no-object-generated-error.ts
|
5350
|
-
var import_provider19 = require("@ai-sdk/provider");
|
5351
|
-
var name13 = "AI_NoObjectGeneratedError";
|
5352
|
-
var marker13 = `vercel.ai.error.${name13}`;
|
5353
|
-
var symbol13 = Symbol.for(marker13);
|
5354
|
-
var _a13;
|
5355
|
-
var NoObjectGeneratedError = class extends import_provider19.AISDKError {
|
5356
|
-
constructor({
|
5357
|
-
message = "No object generated.",
|
5358
|
-
cause,
|
5359
|
-
text: text2,
|
5360
|
-
response,
|
5361
|
-
usage,
|
5362
|
-
finishReason
|
5363
|
-
}) {
|
5364
|
-
super({ name: name13, message, cause });
|
5365
|
-
this[_a13] = true;
|
5366
|
-
this.text = text2;
|
5367
|
-
this.response = response;
|
5368
|
-
this.usage = usage;
|
5369
|
-
this.finishReason = finishReason;
|
5370
|
-
}
|
5371
|
-
static isInstance(error) {
|
5372
|
-
return import_provider19.AISDKError.hasMarker(error, marker13);
|
5373
|
-
}
|
5374
|
-
};
|
5375
|
-
_a13 = symbol13;
|
5376
|
-
|
5377
|
-
// src/prompt/message-conversion-error.ts
|
5378
|
-
var import_provider20 = require("@ai-sdk/provider");
|
5379
|
-
var name14 = "AI_MessageConversionError";
|
5380
|
-
var marker14 = `vercel.ai.error.${name14}`;
|
5381
|
-
var symbol14 = Symbol.for(marker14);
|
5382
|
-
var _a14;
|
5383
|
-
var MessageConversionError = class extends import_provider20.AISDKError {
|
5384
|
-
constructor({
|
5385
|
-
originalMessage,
|
5386
|
-
message
|
5387
|
-
}) {
|
5388
|
-
super({ name: name14, message });
|
5389
|
-
this[_a14] = true;
|
5390
|
-
this.originalMessage = originalMessage;
|
5391
|
-
}
|
5392
|
-
static isInstance(error) {
|
5393
|
-
return import_provider20.AISDKError.hasMarker(error, marker14);
|
5394
|
-
}
|
5395
|
-
};
|
5396
|
-
_a14 = symbol14;
|
5397
|
-
|
5398
5434
|
// src/generate-image/generate-image.ts
|
5399
5435
|
async function generateImage({
|
5400
5436
|
model,
|
@@ -5410,6 +5446,13 @@ async function generateImage({
|
|
5410
5446
|
headers
|
5411
5447
|
}) {
|
5412
5448
|
var _a16, _b;
|
5449
|
+
if (model.specificationVersion !== "v2") {
|
5450
|
+
throw new UnsupportedModelVersionError({
|
5451
|
+
version: model.specificationVersion,
|
5452
|
+
provider: model.provider,
|
5453
|
+
modelId: model.modelId
|
5454
|
+
});
|
5455
|
+
}
|
5413
5456
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
5414
5457
|
const maxImagesPerCallWithDefault = (_a16 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a16 : 1;
|
5415
5458
|
const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
|
@@ -5498,11 +5541,11 @@ async function invokeModelMaxImagesPerCall(model) {
|
|
5498
5541
|
}
|
5499
5542
|
|
5500
5543
|
// src/generate-object/generate-object.ts
|
5501
|
-
var
|
5544
|
+
var import_provider24 = require("@ai-sdk/provider");
|
5502
5545
|
var import_provider_utils15 = require("@ai-sdk/provider-utils");
|
5503
5546
|
|
5504
5547
|
// src/generate-object/output-strategy.ts
|
5505
|
-
var
|
5548
|
+
var import_provider23 = require("@ai-sdk/provider");
|
5506
5549
|
var import_provider_utils14 = require("@ai-sdk/provider-utils");
|
5507
5550
|
var noSchemaOutputStrategy = {
|
5508
5551
|
type: "no-schema",
|
@@ -5523,7 +5566,7 @@ var noSchemaOutputStrategy = {
|
|
5523
5566
|
} : { success: true, value };
|
5524
5567
|
},
|
5525
5568
|
createElementStream() {
|
5526
|
-
throw new
|
5569
|
+
throw new import_provider23.UnsupportedFunctionalityError({
|
5527
5570
|
functionality: "element streams in no-schema mode"
|
5528
5571
|
});
|
5529
5572
|
}
|
@@ -5545,7 +5588,7 @@ var objectOutputStrategy = (schema) => ({
|
|
5545
5588
|
return (0, import_provider_utils14.safeValidateTypes)({ value, schema });
|
5546
5589
|
},
|
5547
5590
|
createElementStream() {
|
5548
|
-
throw new
|
5591
|
+
throw new import_provider23.UnsupportedFunctionalityError({
|
5549
5592
|
functionality: "element streams in object mode"
|
5550
5593
|
});
|
5551
5594
|
}
|
@@ -5573,10 +5616,10 @@ var arrayOutputStrategy = (schema) => {
|
|
5573
5616
|
isFinalDelta
|
5574
5617
|
}) {
|
5575
5618
|
var _a16;
|
5576
|
-
if (!(0,
|
5619
|
+
if (!(0, import_provider23.isJSONObject)(value) || !(0, import_provider23.isJSONArray)(value.elements)) {
|
5577
5620
|
return {
|
5578
5621
|
success: false,
|
5579
|
-
error: new
|
5622
|
+
error: new import_provider23.TypeValidationError({
|
5580
5623
|
value,
|
5581
5624
|
cause: "value must be an object that contains an array of elements"
|
5582
5625
|
})
|
@@ -5616,10 +5659,10 @@ var arrayOutputStrategy = (schema) => {
|
|
5616
5659
|
};
|
5617
5660
|
},
|
5618
5661
|
async validateFinalResult(value) {
|
5619
|
-
if (!(0,
|
5662
|
+
if (!(0, import_provider23.isJSONObject)(value) || !(0, import_provider23.isJSONArray)(value.elements)) {
|
5620
5663
|
return {
|
5621
5664
|
success: false,
|
5622
|
-
error: new
|
5665
|
+
error: new import_provider23.TypeValidationError({
|
5623
5666
|
value,
|
5624
5667
|
cause: "value must be an object that contains an array of elements"
|
5625
5668
|
})
|
@@ -5682,10 +5725,10 @@ var enumOutputStrategy = (enumValues) => {
|
|
5682
5725
|
additionalProperties: false
|
5683
5726
|
},
|
5684
5727
|
async validateFinalResult(value) {
|
5685
|
-
if (!(0,
|
5728
|
+
if (!(0, import_provider23.isJSONObject)(value) || typeof value.result !== "string") {
|
5686
5729
|
return {
|
5687
5730
|
success: false,
|
5688
|
-
error: new
|
5731
|
+
error: new import_provider23.TypeValidationError({
|
5689
5732
|
value,
|
5690
5733
|
cause: 'value must be an object that contains a string in the "result" property.'
|
5691
5734
|
})
|
@@ -5694,17 +5737,17 @@ var enumOutputStrategy = (enumValues) => {
|
|
5694
5737
|
const result = value.result;
|
5695
5738
|
return enumValues.includes(result) ? { success: true, value: result } : {
|
5696
5739
|
success: false,
|
5697
|
-
error: new
|
5740
|
+
error: new import_provider23.TypeValidationError({
|
5698
5741
|
value,
|
5699
5742
|
cause: "value must be a string in the enum"
|
5700
5743
|
})
|
5701
5744
|
};
|
5702
5745
|
},
|
5703
5746
|
async validatePartialResult({ value, textDelta }) {
|
5704
|
-
if (!(0,
|
5747
|
+
if (!(0, import_provider23.isJSONObject)(value) || typeof value.result !== "string") {
|
5705
5748
|
return {
|
5706
5749
|
success: false,
|
5707
|
-
error: new
|
5750
|
+
error: new import_provider23.TypeValidationError({
|
5708
5751
|
value,
|
5709
5752
|
cause: 'value must be an object that contains a string in the "result" property.'
|
5710
5753
|
})
|
@@ -5717,7 +5760,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
5717
5760
|
if (value.result.length === 0 || possibleEnumValues.length === 0) {
|
5718
5761
|
return {
|
5719
5762
|
success: false,
|
5720
|
-
error: new
|
5763
|
+
error: new import_provider23.TypeValidationError({
|
5721
5764
|
value,
|
5722
5765
|
cause: "value must be a string in the enum"
|
5723
5766
|
})
|
@@ -5732,7 +5775,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
5732
5775
|
};
|
5733
5776
|
},
|
5734
5777
|
createElementStream() {
|
5735
|
-
throw new
|
5778
|
+
throw new import_provider23.UnsupportedFunctionalityError({
|
5736
5779
|
functionality: "element streams in enum mode"
|
5737
5780
|
});
|
5738
5781
|
}
|
@@ -6094,7 +6137,7 @@ async function generateObject(options) {
|
|
6094
6137
|
try {
|
6095
6138
|
object2 = await processResult(result);
|
6096
6139
|
} catch (error) {
|
6097
|
-
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (
|
6140
|
+
if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider24.JSONParseError.isInstance(error.cause) || import_provider24.TypeValidationError.isInstance(error.cause))) {
|
6098
6141
|
const repairedText = await repairText({
|
6099
6142
|
text: result,
|
6100
6143
|
error: error.cause
|
@@ -6805,8 +6848,8 @@ var DefaultStreamObjectResult = class {
|
|
6805
6848
|
};
|
6806
6849
|
|
6807
6850
|
// src/error/no-speech-generated-error.ts
|
6808
|
-
var
|
6809
|
-
var NoSpeechGeneratedError = class extends
|
6851
|
+
var import_provider25 = require("@ai-sdk/provider");
|
6852
|
+
var NoSpeechGeneratedError = class extends import_provider25.AISDKError {
|
6810
6853
|
constructor(options) {
|
6811
6854
|
super({
|
6812
6855
|
name: "AI_NoSpeechGeneratedError",
|
@@ -6856,6 +6899,13 @@ async function generateSpeech({
|
|
6856
6899
|
headers
|
6857
6900
|
}) {
|
6858
6901
|
var _a16;
|
6902
|
+
if (model.specificationVersion !== "v2") {
|
6903
|
+
throw new UnsupportedModelVersionError({
|
6904
|
+
version: model.specificationVersion,
|
6905
|
+
provider: model.provider,
|
6906
|
+
modelId: model.modelId
|
6907
|
+
});
|
6908
|
+
}
|
6859
6909
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
6860
6910
|
const result = await retry(
|
6861
6911
|
() => model.doGenerate({
|
@@ -6974,7 +7024,7 @@ var object = ({
|
|
6974
7024
|
|
6975
7025
|
// src/generate-text/smooth-stream.ts
|
6976
7026
|
var import_provider_utils19 = require("@ai-sdk/provider-utils");
|
6977
|
-
var
|
7027
|
+
var import_provider26 = require("@ai-sdk/provider");
|
6978
7028
|
var CHUNKING_REGEXPS = {
|
6979
7029
|
word: /\S+\s+/m,
|
6980
7030
|
line: /\n+/m
|
@@ -7004,7 +7054,7 @@ function smoothStream({
|
|
7004
7054
|
} else {
|
7005
7055
|
const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
|
7006
7056
|
if (chunkingRegex == null) {
|
7007
|
-
throw new
|
7057
|
+
throw new import_provider26.InvalidArgumentError({
|
7008
7058
|
argument: "chunking",
|
7009
7059
|
message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
|
7010
7060
|
});
|
@@ -7339,7 +7389,7 @@ var doWrap = ({
|
|
7339
7389
|
};
|
7340
7390
|
|
7341
7391
|
// src/registry/custom-provider.ts
|
7342
|
-
var
|
7392
|
+
var import_provider27 = require("@ai-sdk/provider");
|
7343
7393
|
function customProvider({
|
7344
7394
|
languageModels,
|
7345
7395
|
textEmbeddingModels,
|
@@ -7356,7 +7406,7 @@ function customProvider({
|
|
7356
7406
|
if (fallbackProvider) {
|
7357
7407
|
return fallbackProvider.languageModel(modelId);
|
7358
7408
|
}
|
7359
|
-
throw new
|
7409
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "languageModel" });
|
7360
7410
|
},
|
7361
7411
|
textEmbeddingModel(modelId) {
|
7362
7412
|
if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
|
@@ -7365,7 +7415,7 @@ function customProvider({
|
|
7365
7415
|
if (fallbackProvider) {
|
7366
7416
|
return fallbackProvider.textEmbeddingModel(modelId);
|
7367
7417
|
}
|
7368
|
-
throw new
|
7418
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
|
7369
7419
|
},
|
7370
7420
|
imageModel(modelId) {
|
7371
7421
|
if (imageModels != null && modelId in imageModels) {
|
@@ -7374,7 +7424,7 @@ function customProvider({
|
|
7374
7424
|
if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
|
7375
7425
|
return fallbackProvider.imageModel(modelId);
|
7376
7426
|
}
|
7377
|
-
throw new
|
7427
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "imageModel" });
|
7378
7428
|
},
|
7379
7429
|
transcriptionModel(modelId) {
|
7380
7430
|
if (transcriptionModels != null && modelId in transcriptionModels) {
|
@@ -7383,7 +7433,7 @@ function customProvider({
|
|
7383
7433
|
if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
|
7384
7434
|
return fallbackProvider.transcriptionModel(modelId);
|
7385
7435
|
}
|
7386
|
-
throw new
|
7436
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
|
7387
7437
|
},
|
7388
7438
|
speechModel(modelId) {
|
7389
7439
|
if (speechModels != null && modelId in speechModels) {
|
@@ -7392,19 +7442,19 @@ function customProvider({
|
|
7392
7442
|
if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
|
7393
7443
|
return fallbackProvider.speechModel(modelId);
|
7394
7444
|
}
|
7395
|
-
throw new
|
7445
|
+
throw new import_provider27.NoSuchModelError({ modelId, modelType: "speechModel" });
|
7396
7446
|
}
|
7397
7447
|
};
|
7398
7448
|
}
|
7399
7449
|
var experimental_customProvider = customProvider;
|
7400
7450
|
|
7401
7451
|
// src/registry/no-such-provider-error.ts
|
7402
|
-
var
|
7452
|
+
var import_provider28 = require("@ai-sdk/provider");
|
7403
7453
|
var name15 = "AI_NoSuchProviderError";
|
7404
7454
|
var marker15 = `vercel.ai.error.${name15}`;
|
7405
7455
|
var symbol15 = Symbol.for(marker15);
|
7406
7456
|
var _a15;
|
7407
|
-
var NoSuchProviderError = class extends
|
7457
|
+
var NoSuchProviderError = class extends import_provider28.NoSuchModelError {
|
7408
7458
|
constructor({
|
7409
7459
|
modelId,
|
7410
7460
|
modelType,
|
@@ -7418,13 +7468,13 @@ var NoSuchProviderError = class extends import_provider27.NoSuchModelError {
|
|
7418
7468
|
this.availableProviders = availableProviders;
|
7419
7469
|
}
|
7420
7470
|
static isInstance(error) {
|
7421
|
-
return
|
7471
|
+
return import_provider28.AISDKError.hasMarker(error, marker15);
|
7422
7472
|
}
|
7423
7473
|
};
|
7424
7474
|
_a15 = symbol15;
|
7425
7475
|
|
7426
7476
|
// src/registry/provider-registry.ts
|
7427
|
-
var
|
7477
|
+
var import_provider29 = require("@ai-sdk/provider");
|
7428
7478
|
function createProviderRegistry(providers, {
|
7429
7479
|
separator = ":"
|
7430
7480
|
} = {}) {
|
@@ -7463,7 +7513,7 @@ var DefaultProviderRegistry = class {
|
|
7463
7513
|
splitId(id, modelType) {
|
7464
7514
|
const index = id.indexOf(this.separator);
|
7465
7515
|
if (index === -1) {
|
7466
|
-
throw new
|
7516
|
+
throw new import_provider29.NoSuchModelError({
|
7467
7517
|
modelId: id,
|
7468
7518
|
modelType,
|
7469
7519
|
message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
|
@@ -7479,7 +7529,7 @@ var DefaultProviderRegistry = class {
|
|
7479
7529
|
modelId
|
7480
7530
|
);
|
7481
7531
|
if (model == null) {
|
7482
|
-
throw new
|
7532
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "languageModel" });
|
7483
7533
|
}
|
7484
7534
|
return model;
|
7485
7535
|
}
|
@@ -7489,7 +7539,7 @@ var DefaultProviderRegistry = class {
|
|
7489
7539
|
const provider = this.getProvider(providerId, "textEmbeddingModel");
|
7490
7540
|
const model = (_a16 = provider.textEmbeddingModel) == null ? void 0 : _a16.call(provider, modelId);
|
7491
7541
|
if (model == null) {
|
7492
|
-
throw new
|
7542
|
+
throw new import_provider29.NoSuchModelError({
|
7493
7543
|
modelId: id,
|
7494
7544
|
modelType: "textEmbeddingModel"
|
7495
7545
|
});
|
@@ -7502,7 +7552,7 @@ var DefaultProviderRegistry = class {
|
|
7502
7552
|
const provider = this.getProvider(providerId, "imageModel");
|
7503
7553
|
const model = (_a16 = provider.imageModel) == null ? void 0 : _a16.call(provider, modelId);
|
7504
7554
|
if (model == null) {
|
7505
|
-
throw new
|
7555
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "imageModel" });
|
7506
7556
|
}
|
7507
7557
|
return model;
|
7508
7558
|
}
|
@@ -7512,7 +7562,7 @@ var DefaultProviderRegistry = class {
|
|
7512
7562
|
const provider = this.getProvider(providerId, "transcriptionModel");
|
7513
7563
|
const model = (_a16 = provider.transcriptionModel) == null ? void 0 : _a16.call(provider, modelId);
|
7514
7564
|
if (model == null) {
|
7515
|
-
throw new
|
7565
|
+
throw new import_provider29.NoSuchModelError({
|
7516
7566
|
modelId: id,
|
7517
7567
|
modelType: "transcriptionModel"
|
7518
7568
|
});
|
@@ -7525,7 +7575,7 @@ var DefaultProviderRegistry = class {
|
|
7525
7575
|
const provider = this.getProvider(providerId, "speechModel");
|
7526
7576
|
const model = (_a16 = provider.speechModel) == null ? void 0 : _a16.call(provider, modelId);
|
7527
7577
|
if (model == null) {
|
7528
|
-
throw new
|
7578
|
+
throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "speechModel" });
|
7529
7579
|
}
|
7530
7580
|
return model;
|
7531
7581
|
}
|
@@ -8097,8 +8147,8 @@ var MCPClient = class {
|
|
8097
8147
|
var import_provider_utils23 = require("@ai-sdk/provider-utils");
|
8098
8148
|
|
8099
8149
|
// src/error/no-transcript-generated-error.ts
|
8100
|
-
var
|
8101
|
-
var NoTranscriptGeneratedError = class extends
|
8150
|
+
var import_provider30 = require("@ai-sdk/provider");
|
8151
|
+
var NoTranscriptGeneratedError = class extends import_provider30.AISDKError {
|
8102
8152
|
constructor(options) {
|
8103
8153
|
super({
|
8104
8154
|
name: "AI_NoTranscriptGeneratedError",
|
@@ -8117,6 +8167,13 @@ async function transcribe({
|
|
8117
8167
|
abortSignal,
|
8118
8168
|
headers
|
8119
8169
|
}) {
|
8170
|
+
if (model.specificationVersion !== "v2") {
|
8171
|
+
throw new UnsupportedModelVersionError({
|
8172
|
+
version: model.specificationVersion,
|
8173
|
+
provider: model.provider,
|
8174
|
+
modelId: model.modelId
|
8175
|
+
});
|
8176
|
+
}
|
8120
8177
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
8121
8178
|
const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
|
8122
8179
|
const result = await retry(
|
@@ -9157,6 +9214,7 @@ function readUIMessageStream({
|
|
9157
9214
|
TypeValidationError,
|
9158
9215
|
UI_MESSAGE_STREAM_HEADERS,
|
9159
9216
|
UnsupportedFunctionalityError,
|
9217
|
+
UnsupportedModelVersionError,
|
9160
9218
|
asSchema,
|
9161
9219
|
assistantModelMessageSchema,
|
9162
9220
|
callCompletionApi,
|