ai 5.0.0-beta.16 → 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/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: () => import_provider21.AISDKError,
24
- APICallError: () => import_provider21.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: () => import_provider21.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: () => import_provider21.InvalidPromptError,
35
- InvalidResponseDataError: () => import_provider21.InvalidResponseDataError,
34
+ InvalidPromptError: () => import_provider18.InvalidPromptError,
35
+ InvalidResponseDataError: () => import_provider18.InvalidResponseDataError,
36
36
  InvalidStreamPartError: () => InvalidStreamPartError,
37
37
  InvalidToolInputError: () => InvalidToolInputError,
38
- JSONParseError: () => import_provider21.JSONParseError,
38
+ JSONParseError: () => import_provider18.JSONParseError,
39
39
  JsonToSseTransformStream: () => JsonToSseTransformStream,
40
- LoadAPIKeyError: () => import_provider21.LoadAPIKeyError,
40
+ LoadAPIKeyError: () => import_provider18.LoadAPIKeyError,
41
41
  MCPClientError: () => MCPClientError,
42
42
  MessageConversionError: () => MessageConversionError,
43
- NoContentGeneratedError: () => import_provider21.NoContentGeneratedError,
43
+ NoContentGeneratedError: () => import_provider18.NoContentGeneratedError,
44
44
  NoImageGeneratedError: () => NoImageGeneratedError,
45
45
  NoObjectGeneratedError: () => NoObjectGeneratedError,
46
46
  NoOutputSpecifiedError: () => NoOutputSpecifiedError,
47
- NoSuchModelError: () => import_provider21.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: () => import_provider21.TypeValidationError,
55
+ TypeValidationError: () => import_provider18.TypeValidationError,
56
56
  UI_MESSAGE_STREAM_HEADERS: () => UI_MESSAGE_STREAM_HEADERS,
57
- UnsupportedFunctionalityError: () => import_provider21.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 import_provider9 = require("@ai-sdk/provider");
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 import_provider9.InvalidPromptError({
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 import_provider9.InvalidPromptError({
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 import_provider9.InvalidPromptError({
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 import_provider9.InvalidPromptError({
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 import_provider9.InvalidPromptError({
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 import_provider9.InvalidPromptError({
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 import_provider10 = require("@ai-sdk/provider");
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 import_provider10.AISDKError({
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 === void 0) {
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 === void 0 ? attributes2 : { ...attributes2, [key]: 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 === void 0 ? attributes2 : { ...attributes2, [key]: 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 import_provider14 = require("@ai-sdk/provider");
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, import_provider14.getErrorMessage)(output) };
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 import_provider15 = require("@ai-sdk/provider");
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 = import_provider15.getErrorMessage
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 import_provider23 = require("@ai-sdk/provider");
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 import_provider22 = require("@ai-sdk/provider");
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 import_provider22.UnsupportedFunctionalityError({
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 import_provider22.UnsupportedFunctionalityError({
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, import_provider22.isJSONObject)(value) || !(0, import_provider22.isJSONArray)(value.elements)) {
5619
+ if (!(0, import_provider23.isJSONObject)(value) || !(0, import_provider23.isJSONArray)(value.elements)) {
5577
5620
  return {
5578
5621
  success: false,
5579
- error: new import_provider22.TypeValidationError({
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, import_provider22.isJSONObject)(value) || !(0, import_provider22.isJSONArray)(value.elements)) {
5662
+ if (!(0, import_provider23.isJSONObject)(value) || !(0, import_provider23.isJSONArray)(value.elements)) {
5620
5663
  return {
5621
5664
  success: false,
5622
- error: new import_provider22.TypeValidationError({
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, import_provider22.isJSONObject)(value) || typeof value.result !== "string") {
5728
+ if (!(0, import_provider23.isJSONObject)(value) || typeof value.result !== "string") {
5686
5729
  return {
5687
5730
  success: false,
5688
- error: new import_provider22.TypeValidationError({
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 import_provider22.TypeValidationError({
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, import_provider22.isJSONObject)(value) || typeof value.result !== "string") {
5747
+ if (!(0, import_provider23.isJSONObject)(value) || typeof value.result !== "string") {
5705
5748
  return {
5706
5749
  success: false,
5707
- error: new import_provider22.TypeValidationError({
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 import_provider22.TypeValidationError({
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 import_provider22.UnsupportedFunctionalityError({
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) && (import_provider23.JSONParseError.isInstance(error.cause) || import_provider23.TypeValidationError.isInstance(error.cause))) {
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 import_provider24 = require("@ai-sdk/provider");
6809
- var NoSpeechGeneratedError = class extends import_provider24.AISDKError {
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 import_provider25 = require("@ai-sdk/provider");
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 import_provider25.InvalidArgumentError({
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 import_provider26 = require("@ai-sdk/provider");
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 import_provider26.NoSuchModelError({ modelId, modelType: "languageModel" });
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 import_provider26.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
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 import_provider26.NoSuchModelError({ modelId, modelType: "imageModel" });
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 import_provider26.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
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 import_provider26.NoSuchModelError({ modelId, modelType: "speechModel" });
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 import_provider27 = require("@ai-sdk/provider");
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 import_provider27.NoSuchModelError {
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 import_provider27.AISDKError.hasMarker(error, marker15);
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 import_provider28 = require("@ai-sdk/provider");
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 import_provider28.NoSuchModelError({
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 import_provider28.NoSuchModelError({ modelId: id, modelType: "languageModel" });
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 import_provider28.NoSuchModelError({
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 import_provider28.NoSuchModelError({ modelId: id, modelType: "imageModel" });
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 import_provider28.NoSuchModelError({
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 import_provider28.NoSuchModelError({ modelId: id, modelType: "speechModel" });
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 import_provider29 = require("@ai-sdk/provider");
8101
- var NoTranscriptGeneratedError = class extends import_provider29.AISDKError {
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,