ai 5.0.0-beta.17 → 5.0.0-beta.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/dist/index.mjs CHANGED
@@ -871,8 +871,228 @@ function prepareToolsAndToolChoice({
871
871
 
872
872
  // src/prompt/resolve-language-model.ts
873
873
  import { gateway } from "@ai-sdk/gateway";
874
+
875
+ // src/error/index.ts
876
+ import {
877
+ AISDKError as AISDKError17,
878
+ APICallError as APICallError2,
879
+ EmptyResponseBodyError,
880
+ InvalidPromptError,
881
+ InvalidResponseDataError,
882
+ JSONParseError,
883
+ LoadAPIKeyError,
884
+ NoContentGeneratedError,
885
+ NoSuchModelError,
886
+ TypeValidationError,
887
+ UnsupportedFunctionalityError
888
+ } from "@ai-sdk/provider";
889
+
890
+ // src/error/invalid-stream-part-error.ts
891
+ import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
892
+ var name7 = "AI_InvalidStreamPartError";
893
+ var marker7 = `vercel.ai.error.${name7}`;
894
+ var symbol7 = Symbol.for(marker7);
895
+ var _a7;
896
+ var InvalidStreamPartError = class extends AISDKError8 {
897
+ constructor({
898
+ chunk,
899
+ message
900
+ }) {
901
+ super({ name: name7, message });
902
+ this[_a7] = true;
903
+ this.chunk = chunk;
904
+ }
905
+ static isInstance(error) {
906
+ return AISDKError8.hasMarker(error, marker7);
907
+ }
908
+ };
909
+ _a7 = symbol7;
910
+
911
+ // src/error/invalid-tool-input-error.ts
912
+ import { AISDKError as AISDKError9, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
913
+ var name8 = "AI_InvalidToolInputError";
914
+ var marker8 = `vercel.ai.error.${name8}`;
915
+ var symbol8 = Symbol.for(marker8);
916
+ var _a8;
917
+ var InvalidToolInputError = class extends AISDKError9 {
918
+ constructor({
919
+ toolInput,
920
+ toolName,
921
+ cause,
922
+ message = `Invalid input for tool ${toolName}: ${getErrorMessage2(cause)}`
923
+ }) {
924
+ super({ name: name8, message, cause });
925
+ this[_a8] = true;
926
+ this.toolInput = toolInput;
927
+ this.toolName = toolName;
928
+ }
929
+ static isInstance(error) {
930
+ return AISDKError9.hasMarker(error, marker8);
931
+ }
932
+ };
933
+ _a8 = symbol8;
934
+
935
+ // src/error/mcp-client-error.ts
936
+ import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
937
+ var name9 = "AI_MCPClientError";
938
+ var marker9 = `vercel.ai.error.${name9}`;
939
+ var symbol9 = Symbol.for(marker9);
940
+ var _a9;
941
+ var MCPClientError = class extends AISDKError10 {
942
+ constructor({
943
+ name: name16 = "MCPClientError",
944
+ message,
945
+ cause
946
+ }) {
947
+ super({ name: name16, message, cause });
948
+ this[_a9] = true;
949
+ }
950
+ static isInstance(error) {
951
+ return AISDKError10.hasMarker(error, marker9);
952
+ }
953
+ };
954
+ _a9 = symbol9;
955
+
956
+ // src/error/no-image-generated-error.ts
957
+ import { AISDKError as AISDKError11 } from "@ai-sdk/provider";
958
+ var name10 = "AI_NoImageGeneratedError";
959
+ var marker10 = `vercel.ai.error.${name10}`;
960
+ var symbol10 = Symbol.for(marker10);
961
+ var _a10;
962
+ var NoImageGeneratedError = class extends AISDKError11 {
963
+ constructor({
964
+ message = "No image generated.",
965
+ cause,
966
+ responses
967
+ }) {
968
+ super({ name: name10, message, cause });
969
+ this[_a10] = true;
970
+ this.responses = responses;
971
+ }
972
+ static isInstance(error) {
973
+ return AISDKError11.hasMarker(error, marker10);
974
+ }
975
+ };
976
+ _a10 = symbol10;
977
+
978
+ // src/error/no-object-generated-error.ts
979
+ import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
980
+ var name11 = "AI_NoObjectGeneratedError";
981
+ var marker11 = `vercel.ai.error.${name11}`;
982
+ var symbol11 = Symbol.for(marker11);
983
+ var _a11;
984
+ var NoObjectGeneratedError = class extends AISDKError12 {
985
+ constructor({
986
+ message = "No object generated.",
987
+ cause,
988
+ text: text2,
989
+ response,
990
+ usage,
991
+ finishReason
992
+ }) {
993
+ super({ name: name11, message, cause });
994
+ this[_a11] = true;
995
+ this.text = text2;
996
+ this.response = response;
997
+ this.usage = usage;
998
+ this.finishReason = finishReason;
999
+ }
1000
+ static isInstance(error) {
1001
+ return AISDKError12.hasMarker(error, marker11);
1002
+ }
1003
+ };
1004
+ _a11 = symbol11;
1005
+
1006
+ // src/error/no-such-tool-error.ts
1007
+ import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
1008
+ var name12 = "AI_NoSuchToolError";
1009
+ var marker12 = `vercel.ai.error.${name12}`;
1010
+ var symbol12 = Symbol.for(marker12);
1011
+ var _a12;
1012
+ var NoSuchToolError = class extends AISDKError13 {
1013
+ constructor({
1014
+ toolName,
1015
+ availableTools = void 0,
1016
+ message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
1017
+ }) {
1018
+ super({ name: name12, message });
1019
+ this[_a12] = true;
1020
+ this.toolName = toolName;
1021
+ this.availableTools = availableTools;
1022
+ }
1023
+ static isInstance(error) {
1024
+ return AISDKError13.hasMarker(error, marker12);
1025
+ }
1026
+ };
1027
+ _a12 = symbol12;
1028
+
1029
+ // src/error/tool-call-repair-error.ts
1030
+ import { AISDKError as AISDKError14, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
1031
+ var name13 = "AI_ToolCallRepairError";
1032
+ var marker13 = `vercel.ai.error.${name13}`;
1033
+ var symbol13 = Symbol.for(marker13);
1034
+ var _a13;
1035
+ var ToolCallRepairError = class extends AISDKError14 {
1036
+ constructor({
1037
+ cause,
1038
+ originalError,
1039
+ message = `Error repairing tool call: ${getErrorMessage3(cause)}`
1040
+ }) {
1041
+ super({ name: name13, message, cause });
1042
+ this[_a13] = true;
1043
+ this.originalError = originalError;
1044
+ }
1045
+ static isInstance(error) {
1046
+ return AISDKError14.hasMarker(error, marker13);
1047
+ }
1048
+ };
1049
+ _a13 = symbol13;
1050
+
1051
+ // src/error/unsupported-model-version-error.ts
1052
+ import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
1053
+ var UnsupportedModelVersionError = class extends AISDKError15 {
1054
+ constructor(options) {
1055
+ super({
1056
+ name: "AI_UnsupportedModelVersionError",
1057
+ 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".`
1058
+ });
1059
+ this.version = options.version;
1060
+ this.provider = options.provider;
1061
+ this.modelId = options.modelId;
1062
+ }
1063
+ };
1064
+
1065
+ // src/prompt/message-conversion-error.ts
1066
+ import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
1067
+ var name14 = "AI_MessageConversionError";
1068
+ var marker14 = `vercel.ai.error.${name14}`;
1069
+ var symbol14 = Symbol.for(marker14);
1070
+ var _a14;
1071
+ var MessageConversionError = class extends AISDKError16 {
1072
+ constructor({
1073
+ originalMessage,
1074
+ message
1075
+ }) {
1076
+ super({ name: name14, message });
1077
+ this[_a14] = true;
1078
+ this.originalMessage = originalMessage;
1079
+ }
1080
+ static isInstance(error) {
1081
+ return AISDKError16.hasMarker(error, marker14);
1082
+ }
1083
+ };
1084
+ _a14 = symbol14;
1085
+
1086
+ // src/prompt/resolve-language-model.ts
874
1087
  function resolveLanguageModel(model) {
875
1088
  if (typeof model !== "string") {
1089
+ if (model.specificationVersion !== "v2") {
1090
+ throw new UnsupportedModelVersionError({
1091
+ version: model.specificationVersion,
1092
+ provider: model.provider,
1093
+ modelId: model.modelId
1094
+ });
1095
+ }
876
1096
  return model;
877
1097
  }
878
1098
  const globalProvider = globalThis.AI_SDK_DEFAULT_PROVIDER;
@@ -880,7 +1100,7 @@ function resolveLanguageModel(model) {
880
1100
  }
881
1101
 
882
1102
  // src/prompt/standardize-prompt.ts
883
- import { InvalidPromptError } from "@ai-sdk/provider";
1103
+ import { InvalidPromptError as InvalidPromptError2 } from "@ai-sdk/provider";
884
1104
  import { safeValidateTypes } from "@ai-sdk/provider-utils";
885
1105
  import { z as z6 } from "zod/v4";
886
1106
 
@@ -1036,19 +1256,19 @@ var coreMessageSchema = modelMessageSchema;
1036
1256
  // src/prompt/standardize-prompt.ts
1037
1257
  async function standardizePrompt(prompt) {
1038
1258
  if (prompt.prompt == null && prompt.messages == null) {
1039
- throw new InvalidPromptError({
1259
+ throw new InvalidPromptError2({
1040
1260
  prompt,
1041
1261
  message: "prompt or messages must be defined"
1042
1262
  });
1043
1263
  }
1044
1264
  if (prompt.prompt != null && prompt.messages != null) {
1045
- throw new InvalidPromptError({
1265
+ throw new InvalidPromptError2({
1046
1266
  prompt,
1047
1267
  message: "prompt and messages cannot be defined at the same time"
1048
1268
  });
1049
1269
  }
1050
1270
  if (prompt.system != null && typeof prompt.system !== "string") {
1051
- throw new InvalidPromptError({
1271
+ throw new InvalidPromptError2({
1052
1272
  prompt,
1053
1273
  message: "system must be a string"
1054
1274
  });
@@ -1061,13 +1281,13 @@ async function standardizePrompt(prompt) {
1061
1281
  } else if (prompt.messages != null) {
1062
1282
  messages = prompt.messages;
1063
1283
  } else {
1064
- throw new InvalidPromptError({
1284
+ throw new InvalidPromptError2({
1065
1285
  prompt,
1066
1286
  message: "prompt or messages must be defined"
1067
1287
  });
1068
1288
  }
1069
1289
  if (messages.length === 0) {
1070
- throw new InvalidPromptError({
1290
+ throw new InvalidPromptError2({
1071
1291
  prompt,
1072
1292
  message: "messages must not be empty"
1073
1293
  });
@@ -1077,7 +1297,7 @@ async function standardizePrompt(prompt) {
1077
1297
  schema: z6.array(modelMessageSchema)
1078
1298
  });
1079
1299
  if (!validationResult.success) {
1080
- throw new InvalidPromptError({
1300
+ throw new InvalidPromptError2({
1081
1301
  prompt,
1082
1302
  message: "The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",
1083
1303
  cause: validationResult.error
@@ -1094,10 +1314,10 @@ import {
1094
1314
  GatewayAuthenticationError,
1095
1315
  GatewayModelNotFoundError
1096
1316
  } from "@ai-sdk/gateway";
1097
- import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
1317
+ import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
1098
1318
  function wrapGatewayError(error) {
1099
1319
  if (GatewayAuthenticationError.isInstance(error) || GatewayModelNotFoundError.isInstance(error)) {
1100
- return new AISDKError8({
1320
+ return new AISDKError18({
1101
1321
  name: "GatewayError",
1102
1322
  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.",
1103
1323
  cause: error
@@ -1281,7 +1501,7 @@ function selectTelemetryAttributes({
1281
1501
  return {};
1282
1502
  }
1283
1503
  return Object.entries(attributes).reduce((attributes2, [key, value]) => {
1284
- if (value === void 0) {
1504
+ if (value == null) {
1285
1505
  return attributes2;
1286
1506
  }
1287
1507
  if (typeof value === "object" && "input" in value && typeof value.input === "function") {
@@ -1289,14 +1509,14 @@ function selectTelemetryAttributes({
1289
1509
  return attributes2;
1290
1510
  }
1291
1511
  const result = value.input();
1292
- return result === void 0 ? attributes2 : { ...attributes2, [key]: result };
1512
+ return result == null ? attributes2 : { ...attributes2, [key]: result };
1293
1513
  }
1294
1514
  if (typeof value === "object" && "output" in value && typeof value.output === "function") {
1295
1515
  if ((telemetry == null ? void 0 : telemetry.recordOutputs) === false) {
1296
1516
  return attributes2;
1297
1517
  }
1298
1518
  const result = value.output();
1299
- return result === void 0 ? attributes2 : { ...attributes2, [key]: result };
1519
+ return result == null ? attributes2 : { ...attributes2, [key]: result };
1300
1520
  }
1301
1521
  return { ...attributes2, [key]: value };
1302
1522
  }, {});
@@ -1391,77 +1611,6 @@ import {
1391
1611
  safeParseJSON,
1392
1612
  safeValidateTypes as safeValidateTypes2
1393
1613
  } from "@ai-sdk/provider-utils";
1394
-
1395
- // src/error/invalid-tool-input-error.ts
1396
- import { AISDKError as AISDKError9, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
1397
- var name7 = "AI_InvalidToolInputError";
1398
- var marker7 = `vercel.ai.error.${name7}`;
1399
- var symbol7 = Symbol.for(marker7);
1400
- var _a7;
1401
- var InvalidToolInputError = class extends AISDKError9 {
1402
- constructor({
1403
- toolInput,
1404
- toolName,
1405
- cause,
1406
- message = `Invalid input for tool ${toolName}: ${getErrorMessage2(cause)}`
1407
- }) {
1408
- super({ name: name7, message, cause });
1409
- this[_a7] = true;
1410
- this.toolInput = toolInput;
1411
- this.toolName = toolName;
1412
- }
1413
- static isInstance(error) {
1414
- return AISDKError9.hasMarker(error, marker7);
1415
- }
1416
- };
1417
- _a7 = symbol7;
1418
-
1419
- // src/error/no-such-tool-error.ts
1420
- import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
1421
- var name8 = "AI_NoSuchToolError";
1422
- var marker8 = `vercel.ai.error.${name8}`;
1423
- var symbol8 = Symbol.for(marker8);
1424
- var _a8;
1425
- var NoSuchToolError = class extends AISDKError10 {
1426
- constructor({
1427
- toolName,
1428
- availableTools = void 0,
1429
- message = `Model tried to call unavailable tool '${toolName}'. ${availableTools === void 0 ? "No tools are available." : `Available tools: ${availableTools.join(", ")}.`}`
1430
- }) {
1431
- super({ name: name8, message });
1432
- this[_a8] = true;
1433
- this.toolName = toolName;
1434
- this.availableTools = availableTools;
1435
- }
1436
- static isInstance(error) {
1437
- return AISDKError10.hasMarker(error, marker8);
1438
- }
1439
- };
1440
- _a8 = symbol8;
1441
-
1442
- // src/error/tool-call-repair-error.ts
1443
- import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
1444
- var name9 = "AI_ToolCallRepairError";
1445
- var marker9 = `vercel.ai.error.${name9}`;
1446
- var symbol9 = Symbol.for(marker9);
1447
- var _a9;
1448
- var ToolCallRepairError = class extends AISDKError11 {
1449
- constructor({
1450
- cause,
1451
- originalError,
1452
- message = `Error repairing tool call: ${getErrorMessage3(cause)}`
1453
- }) {
1454
- super({ name: name9, message, cause });
1455
- this[_a9] = true;
1456
- this.originalError = originalError;
1457
- }
1458
- static isInstance(error) {
1459
- return AISDKError11.hasMarker(error, marker9);
1460
- }
1461
- };
1462
- _a9 = symbol9;
1463
-
1464
- // src/generate-text/parse-tool-call.ts
1465
1614
  async function parseToolCall({
1466
1615
  toolCall,
1467
1616
  tools,
@@ -1529,7 +1678,8 @@ async function doParseToolCall({
1529
1678
  toolCallId: toolCall.toolCallId,
1530
1679
  toolName,
1531
1680
  input: parseResult.value,
1532
- providerExecuted: toolCall.providerExecuted
1681
+ providerExecuted: toolCall.providerExecuted,
1682
+ providerMetadata: toolCall.providerMetadata
1533
1683
  };
1534
1684
  }
1535
1685
 
@@ -1636,7 +1786,8 @@ function toResponseMessages({
1636
1786
  return {
1637
1787
  type: "file",
1638
1788
  data: part.file.base64,
1639
- mediaType: part.file.mediaType
1789
+ mediaType: part.file.mediaType,
1790
+ providerOptions: part.providerMetadata
1640
1791
  };
1641
1792
  case "tool-call":
1642
1793
  return {
@@ -1644,7 +1795,8 @@ function toResponseMessages({
1644
1795
  toolCallId: part.toolCallId,
1645
1796
  toolName: part.toolName,
1646
1797
  input: part.input,
1647
- providerExecuted: part.providerExecuted
1798
+ providerExecuted: part.providerExecuted,
1799
+ providerOptions: part.providerMetadata
1648
1800
  };
1649
1801
  case "tool-result":
1650
1802
  return {
@@ -1656,7 +1808,8 @@ function toResponseMessages({
1656
1808
  output: part.output,
1657
1809
  errorMode: "none"
1658
1810
  }),
1659
- providerExecuted: true
1811
+ providerExecuted: true,
1812
+ providerOptions: part.providerMetadata
1660
1813
  };
1661
1814
  case "tool-error":
1662
1815
  return {
@@ -1667,7 +1820,8 @@ function toResponseMessages({
1667
1820
  tool: tools == null ? void 0 : tools[part.toolName],
1668
1821
  output: part.error,
1669
1822
  errorMode: "json"
1670
- })
1823
+ }),
1824
+ providerOptions: part.providerMetadata
1671
1825
  };
1672
1826
  }
1673
1827
  });
@@ -4445,11 +4599,19 @@ var DefaultStreamTextResult = class {
4445
4599
  tools
4446
4600
  })
4447
4601
  );
4448
- await streamStep({
4449
- currentStep: currentStep + 1,
4450
- responseMessages,
4451
- usage: combinedUsage
4452
- });
4602
+ try {
4603
+ await streamStep({
4604
+ currentStep: currentStep + 1,
4605
+ responseMessages,
4606
+ usage: combinedUsage
4607
+ });
4608
+ } catch (error) {
4609
+ controller.enqueue({
4610
+ type: "error",
4611
+ error
4612
+ });
4613
+ self.closeStream();
4614
+ }
4453
4615
  } else {
4454
4616
  controller.enqueue({
4455
4617
  type: "finish",
@@ -4894,6 +5056,13 @@ async function embed({
4894
5056
  headers,
4895
5057
  experimental_telemetry: telemetry
4896
5058
  }) {
5059
+ if (model.specificationVersion !== "v2") {
5060
+ throw new UnsupportedModelVersionError({
5061
+ version: model.specificationVersion,
5062
+ provider: model.provider,
5063
+ modelId: model.modelId
5064
+ });
5065
+ }
4897
5066
  const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
4898
5067
  const baseTelemetryAttributes = getBaseTelemetryAttributes({
4899
5068
  model,
@@ -5014,6 +5183,13 @@ async function embedMany({
5014
5183
  providerOptions,
5015
5184
  experimental_telemetry: telemetry
5016
5185
  }) {
5186
+ if (model.specificationVersion !== "v2") {
5187
+ throw new UnsupportedModelVersionError({
5188
+ version: model.specificationVersion,
5189
+ provider: model.provider,
5190
+ modelId: model.modelId
5191
+ });
5192
+ }
5017
5193
  const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
5018
5194
  const baseTelemetryAttributes = getBaseTelemetryAttributes({
5019
5195
  model,
@@ -5204,134 +5380,6 @@ var DefaultEmbedManyResult = class {
5204
5380
  }
5205
5381
  };
5206
5382
 
5207
- // src/error/index.ts
5208
- import {
5209
- AISDKError as AISDKError17,
5210
- APICallError as APICallError2,
5211
- EmptyResponseBodyError,
5212
- InvalidPromptError as InvalidPromptError2,
5213
- InvalidResponseDataError,
5214
- JSONParseError,
5215
- LoadAPIKeyError,
5216
- NoContentGeneratedError,
5217
- NoSuchModelError,
5218
- TypeValidationError,
5219
- UnsupportedFunctionalityError
5220
- } from "@ai-sdk/provider";
5221
-
5222
- // src/error/invalid-stream-part-error.ts
5223
- import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
5224
- var name10 = "AI_InvalidStreamPartError";
5225
- var marker10 = `vercel.ai.error.${name10}`;
5226
- var symbol10 = Symbol.for(marker10);
5227
- var _a10;
5228
- var InvalidStreamPartError = class extends AISDKError12 {
5229
- constructor({
5230
- chunk,
5231
- message
5232
- }) {
5233
- super({ name: name10, message });
5234
- this[_a10] = true;
5235
- this.chunk = chunk;
5236
- }
5237
- static isInstance(error) {
5238
- return AISDKError12.hasMarker(error, marker10);
5239
- }
5240
- };
5241
- _a10 = symbol10;
5242
-
5243
- // src/error/mcp-client-error.ts
5244
- import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
5245
- var name11 = "AI_MCPClientError";
5246
- var marker11 = `vercel.ai.error.${name11}`;
5247
- var symbol11 = Symbol.for(marker11);
5248
- var _a11;
5249
- var MCPClientError = class extends AISDKError13 {
5250
- constructor({
5251
- name: name16 = "MCPClientError",
5252
- message,
5253
- cause
5254
- }) {
5255
- super({ name: name16, message, cause });
5256
- this[_a11] = true;
5257
- }
5258
- static isInstance(error) {
5259
- return AISDKError13.hasMarker(error, marker11);
5260
- }
5261
- };
5262
- _a11 = symbol11;
5263
-
5264
- // src/error/no-image-generated-error.ts
5265
- import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
5266
- var name12 = "AI_NoImageGeneratedError";
5267
- var marker12 = `vercel.ai.error.${name12}`;
5268
- var symbol12 = Symbol.for(marker12);
5269
- var _a12;
5270
- var NoImageGeneratedError = class extends AISDKError14 {
5271
- constructor({
5272
- message = "No image generated.",
5273
- cause,
5274
- responses
5275
- }) {
5276
- super({ name: name12, message, cause });
5277
- this[_a12] = true;
5278
- this.responses = responses;
5279
- }
5280
- static isInstance(error) {
5281
- return AISDKError14.hasMarker(error, marker12);
5282
- }
5283
- };
5284
- _a12 = symbol12;
5285
-
5286
- // src/error/no-object-generated-error.ts
5287
- import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
5288
- var name13 = "AI_NoObjectGeneratedError";
5289
- var marker13 = `vercel.ai.error.${name13}`;
5290
- var symbol13 = Symbol.for(marker13);
5291
- var _a13;
5292
- var NoObjectGeneratedError = class extends AISDKError15 {
5293
- constructor({
5294
- message = "No object generated.",
5295
- cause,
5296
- text: text2,
5297
- response,
5298
- usage,
5299
- finishReason
5300
- }) {
5301
- super({ name: name13, message, cause });
5302
- this[_a13] = true;
5303
- this.text = text2;
5304
- this.response = response;
5305
- this.usage = usage;
5306
- this.finishReason = finishReason;
5307
- }
5308
- static isInstance(error) {
5309
- return AISDKError15.hasMarker(error, marker13);
5310
- }
5311
- };
5312
- _a13 = symbol13;
5313
-
5314
- // src/prompt/message-conversion-error.ts
5315
- import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
5316
- var name14 = "AI_MessageConversionError";
5317
- var marker14 = `vercel.ai.error.${name14}`;
5318
- var symbol14 = Symbol.for(marker14);
5319
- var _a14;
5320
- var MessageConversionError = class extends AISDKError16 {
5321
- constructor({
5322
- originalMessage,
5323
- message
5324
- }) {
5325
- super({ name: name14, message });
5326
- this[_a14] = true;
5327
- this.originalMessage = originalMessage;
5328
- }
5329
- static isInstance(error) {
5330
- return AISDKError16.hasMarker(error, marker14);
5331
- }
5332
- };
5333
- _a14 = symbol14;
5334
-
5335
5383
  // src/generate-image/generate-image.ts
5336
5384
  async function generateImage({
5337
5385
  model,
@@ -5347,6 +5395,13 @@ async function generateImage({
5347
5395
  headers
5348
5396
  }) {
5349
5397
  var _a16, _b;
5398
+ if (model.specificationVersion !== "v2") {
5399
+ throw new UnsupportedModelVersionError({
5400
+ version: model.specificationVersion,
5401
+ provider: model.provider,
5402
+ modelId: model.modelId
5403
+ });
5404
+ }
5350
5405
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
5351
5406
  const maxImagesPerCallWithDefault = (_a16 = maxImagesPerCall != null ? maxImagesPerCall : await invokeModelMaxImagesPerCall(model)) != null ? _a16 : 1;
5352
5407
  const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
@@ -6758,8 +6813,8 @@ var DefaultStreamObjectResult = class {
6758
6813
  };
6759
6814
 
6760
6815
  // src/error/no-speech-generated-error.ts
6761
- import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
6762
- var NoSpeechGeneratedError = class extends AISDKError18 {
6816
+ import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
6817
+ var NoSpeechGeneratedError = class extends AISDKError19 {
6763
6818
  constructor(options) {
6764
6819
  super({
6765
6820
  name: "AI_NoSpeechGeneratedError",
@@ -6809,6 +6864,13 @@ async function generateSpeech({
6809
6864
  headers
6810
6865
  }) {
6811
6866
  var _a16;
6867
+ if (model.specificationVersion !== "v2") {
6868
+ throw new UnsupportedModelVersionError({
6869
+ version: model.specificationVersion,
6870
+ provider: model.provider,
6871
+ modelId: model.modelId
6872
+ });
6873
+ }
6812
6874
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
6813
6875
  const result = await retry(
6814
6876
  () => model.doGenerate({
@@ -7358,7 +7420,7 @@ function customProvider({
7358
7420
  var experimental_customProvider = customProvider;
7359
7421
 
7360
7422
  // src/registry/no-such-provider-error.ts
7361
- import { AISDKError as AISDKError19, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
7423
+ import { AISDKError as AISDKError20, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
7362
7424
  var name15 = "AI_NoSuchProviderError";
7363
7425
  var marker15 = `vercel.ai.error.${name15}`;
7364
7426
  var symbol15 = Symbol.for(marker15);
@@ -7377,7 +7439,7 @@ var NoSuchProviderError = class extends NoSuchModelError3 {
7377
7439
  this.availableProviders = availableProviders;
7378
7440
  }
7379
7441
  static isInstance(error) {
7380
- return AISDKError19.hasMarker(error, marker15);
7442
+ return AISDKError20.hasMarker(error, marker15);
7381
7443
  }
7382
7444
  };
7383
7445
  _a15 = symbol15;
@@ -8060,8 +8122,8 @@ import {
8060
8122
  } from "@ai-sdk/provider-utils";
8061
8123
 
8062
8124
  // src/error/no-transcript-generated-error.ts
8063
- import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
8064
- var NoTranscriptGeneratedError = class extends AISDKError20 {
8125
+ import { AISDKError as AISDKError21 } from "@ai-sdk/provider";
8126
+ var NoTranscriptGeneratedError = class extends AISDKError21 {
8065
8127
  constructor(options) {
8066
8128
  super({
8067
8129
  name: "AI_NoTranscriptGeneratedError",
@@ -8080,6 +8142,13 @@ async function transcribe({
8080
8142
  abortSignal,
8081
8143
  headers
8082
8144
  }) {
8145
+ if (model.specificationVersion !== "v2") {
8146
+ throw new UnsupportedModelVersionError({
8147
+ version: model.specificationVersion,
8148
+ provider: model.provider,
8149
+ modelId: model.modelId
8150
+ });
8151
+ }
8083
8152
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
8084
8153
  const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
8085
8154
  const result = await retry(
@@ -9100,7 +9169,7 @@ export {
9100
9169
  InvalidArgumentError,
9101
9170
  InvalidDataContentError,
9102
9171
  InvalidMessageRoleError,
9103
- InvalidPromptError2 as InvalidPromptError,
9172
+ InvalidPromptError,
9104
9173
  InvalidResponseDataError,
9105
9174
  InvalidStreamPartError,
9106
9175
  InvalidToolInputError,
@@ -9124,6 +9193,7 @@ export {
9124
9193
  TypeValidationError,
9125
9194
  UI_MESSAGE_STREAM_HEADERS,
9126
9195
  UnsupportedFunctionalityError,
9196
+ UnsupportedModelVersionError,
9127
9197
  asSchema5 as asSchema,
9128
9198
  assistantModelMessageSchema,
9129
9199
  callCompletionApi,