ai 4.3.16 → 4.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -198,13 +198,24 @@ function pipeDataStreamToResponse(response, {
198
198
  });
199
199
  }
200
200
 
201
- // errors/invalid-argument-error.ts
201
+ // errors/unsupported-model-version-error.ts
202
202
  import { AISDKError } from "@ai-sdk/provider";
203
+ var UnsupportedModelVersionError = class extends AISDKError {
204
+ constructor() {
205
+ super({
206
+ name: "AI_UnsupportedModelVersionError",
207
+ message: `Unsupported model version. AI SDK 4 only supports models that implement specification version "v1". Please upgrade to AI SDK 5 to use this model.`
208
+ });
209
+ }
210
+ };
211
+
212
+ // errors/invalid-argument-error.ts
213
+ import { AISDKError as AISDKError2 } from "@ai-sdk/provider";
203
214
  var name = "AI_InvalidArgumentError";
204
215
  var marker = `vercel.ai.error.${name}`;
205
216
  var symbol = Symbol.for(marker);
206
217
  var _a;
207
- var InvalidArgumentError = class extends AISDKError {
218
+ var InvalidArgumentError = class extends AISDKError2 {
208
219
  constructor({
209
220
  parameter,
210
221
  value,
@@ -219,7 +230,7 @@ var InvalidArgumentError = class extends AISDKError {
219
230
  this.value = value;
220
231
  }
221
232
  static isInstance(error) {
222
- return AISDKError.hasMarker(error, marker);
233
+ return AISDKError2.hasMarker(error, marker);
223
234
  }
224
235
  };
225
236
  _a = symbol;
@@ -229,12 +240,12 @@ import { APICallError } from "@ai-sdk/provider";
229
240
  import { delay, getErrorMessage, isAbortError } from "@ai-sdk/provider-utils";
230
241
 
231
242
  // util/retry-error.ts
232
- import { AISDKError as AISDKError2 } from "@ai-sdk/provider";
243
+ import { AISDKError as AISDKError3 } from "@ai-sdk/provider";
233
244
  var name2 = "AI_RetryError";
234
245
  var marker2 = `vercel.ai.error.${name2}`;
235
246
  var symbol2 = Symbol.for(marker2);
236
247
  var _a2;
237
- var RetryError = class extends AISDKError2 {
248
+ var RetryError = class extends AISDKError3 {
238
249
  constructor({
239
250
  message,
240
251
  reason,
@@ -247,7 +258,7 @@ var RetryError = class extends AISDKError2 {
247
258
  this.lastError = errors[errors.length - 1];
248
259
  }
249
260
  static isInstance(error) {
250
- return AISDKError2.hasMarker(error, marker2);
261
+ return AISDKError3.hasMarker(error, marker2);
251
262
  }
252
263
  };
253
264
  _a2 = symbol2;
@@ -534,6 +545,9 @@ async function embed({
534
545
  headers,
535
546
  experimental_telemetry: telemetry
536
547
  }) {
548
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
549
+ throw new UnsupportedModelVersionError();
550
+ }
537
551
  const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
538
552
  const baseTelemetryAttributes = getBaseTelemetryAttributes({
539
553
  model,
@@ -646,6 +660,9 @@ async function embedMany({
646
660
  headers,
647
661
  experimental_telemetry: telemetry
648
662
  }) {
663
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
664
+ throw new UnsupportedModelVersionError();
665
+ }
649
666
  const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
650
667
  const baseTelemetryAttributes = getBaseTelemetryAttributes({
651
668
  model,
@@ -803,12 +820,12 @@ var DefaultEmbedManyResult = class {
803
820
  };
804
821
 
805
822
  // errors/no-image-generated-error.ts
806
- import { AISDKError as AISDKError3 } from "@ai-sdk/provider";
823
+ import { AISDKError as AISDKError4 } from "@ai-sdk/provider";
807
824
  var name3 = "AI_NoImageGeneratedError";
808
825
  var marker3 = `vercel.ai.error.${name3}`;
809
826
  var symbol3 = Symbol.for(marker3);
810
827
  var _a3;
811
- var NoImageGeneratedError = class extends AISDKError3 {
828
+ var NoImageGeneratedError = class extends AISDKError4 {
812
829
  constructor({
813
830
  message = "No image generated.",
814
831
  cause,
@@ -819,7 +836,7 @@ var NoImageGeneratedError = class extends AISDKError3 {
819
836
  this.responses = responses;
820
837
  }
821
838
  static isInstance(error) {
822
- return AISDKError3.hasMarker(error, marker3);
839
+ return AISDKError4.hasMarker(error, marker3);
823
840
  }
824
841
  };
825
842
  _a3 = symbol3;
@@ -1008,6 +1025,9 @@ async function generateImage({
1008
1025
  headers
1009
1026
  }) {
1010
1027
  var _a17;
1028
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
1029
+ throw new UnsupportedModelVersionError();
1030
+ }
1011
1031
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
1012
1032
  const maxImagesPerCall = (_a17 = model.maxImagesPerCall) != null ? _a17 : 1;
1013
1033
  const callCount = Math.ceil(n / maxImagesPerCall);
@@ -1079,12 +1099,12 @@ import {
1079
1099
  import { createIdGenerator, safeParseJSON } from "@ai-sdk/provider-utils";
1080
1100
 
1081
1101
  // errors/no-object-generated-error.ts
1082
- import { AISDKError as AISDKError4 } from "@ai-sdk/provider";
1102
+ import { AISDKError as AISDKError5 } from "@ai-sdk/provider";
1083
1103
  var name4 = "AI_NoObjectGeneratedError";
1084
1104
  var marker4 = `vercel.ai.error.${name4}`;
1085
1105
  var symbol4 = Symbol.for(marker4);
1086
1106
  var _a4;
1087
- var NoObjectGeneratedError = class extends AISDKError4 {
1107
+ var NoObjectGeneratedError = class extends AISDKError5 {
1088
1108
  constructor({
1089
1109
  message = "No object generated.",
1090
1110
  cause,
@@ -1101,18 +1121,18 @@ var NoObjectGeneratedError = class extends AISDKError4 {
1101
1121
  this.finishReason = finishReason;
1102
1122
  }
1103
1123
  static isInstance(error) {
1104
- return AISDKError4.hasMarker(error, marker4);
1124
+ return AISDKError5.hasMarker(error, marker4);
1105
1125
  }
1106
1126
  };
1107
1127
  _a4 = symbol4;
1108
1128
 
1109
1129
  // util/download-error.ts
1110
- import { AISDKError as AISDKError5 } from "@ai-sdk/provider";
1130
+ import { AISDKError as AISDKError6 } from "@ai-sdk/provider";
1111
1131
  var name5 = "AI_DownloadError";
1112
1132
  var marker5 = `vercel.ai.error.${name5}`;
1113
1133
  var symbol5 = Symbol.for(marker5);
1114
1134
  var _a5;
1115
- var DownloadError = class extends AISDKError5 {
1135
+ var DownloadError = class extends AISDKError6 {
1116
1136
  constructor({
1117
1137
  url,
1118
1138
  statusCode,
@@ -1127,7 +1147,7 @@ var DownloadError = class extends AISDKError5 {
1127
1147
  this.statusText = statusText;
1128
1148
  }
1129
1149
  static isInstance(error) {
1130
- return AISDKError5.hasMarker(error, marker5);
1150
+ return AISDKError6.hasMarker(error, marker5);
1131
1151
  }
1132
1152
  };
1133
1153
  _a5 = symbol5;
@@ -1164,12 +1184,12 @@ import {
1164
1184
  } from "@ai-sdk/provider-utils";
1165
1185
 
1166
1186
  // core/prompt/invalid-data-content-error.ts
1167
- import { AISDKError as AISDKError6 } from "@ai-sdk/provider";
1187
+ import { AISDKError as AISDKError7 } from "@ai-sdk/provider";
1168
1188
  var name6 = "AI_InvalidDataContentError";
1169
1189
  var marker6 = `vercel.ai.error.${name6}`;
1170
1190
  var symbol6 = Symbol.for(marker6);
1171
1191
  var _a6;
1172
- var InvalidDataContentError = class extends AISDKError6 {
1192
+ var InvalidDataContentError = class extends AISDKError7 {
1173
1193
  constructor({
1174
1194
  content,
1175
1195
  cause,
@@ -1180,7 +1200,7 @@ var InvalidDataContentError = class extends AISDKError6 {
1180
1200
  this.content = content;
1181
1201
  }
1182
1202
  static isInstance(error) {
1183
- return AISDKError6.hasMarker(error, marker6);
1203
+ return AISDKError7.hasMarker(error, marker6);
1184
1204
  }
1185
1205
  };
1186
1206
  _a6 = symbol6;
@@ -1238,12 +1258,12 @@ function convertUint8ArrayToText(uint8Array) {
1238
1258
  }
1239
1259
 
1240
1260
  // core/prompt/invalid-message-role-error.ts
1241
- import { AISDKError as AISDKError7 } from "@ai-sdk/provider";
1261
+ import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
1242
1262
  var name7 = "AI_InvalidMessageRoleError";
1243
1263
  var marker7 = `vercel.ai.error.${name7}`;
1244
1264
  var symbol7 = Symbol.for(marker7);
1245
1265
  var _a7;
1246
- var InvalidMessageRoleError = class extends AISDKError7 {
1266
+ var InvalidMessageRoleError = class extends AISDKError8 {
1247
1267
  constructor({
1248
1268
  role,
1249
1269
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
@@ -1253,7 +1273,7 @@ var InvalidMessageRoleError = class extends AISDKError7 {
1253
1273
  this.role = role;
1254
1274
  }
1255
1275
  static isInstance(error) {
1256
- return AISDKError7.hasMarker(error, marker7);
1276
+ return AISDKError8.hasMarker(error, marker7);
1257
1277
  }
1258
1278
  };
1259
1279
  _a7 = symbol7;
@@ -1686,12 +1706,12 @@ function attachmentsToParts(attachments) {
1686
1706
  }
1687
1707
 
1688
1708
  // core/prompt/message-conversion-error.ts
1689
- import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
1709
+ import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
1690
1710
  var name8 = "AI_MessageConversionError";
1691
1711
  var marker8 = `vercel.ai.error.${name8}`;
1692
1712
  var symbol8 = Symbol.for(marker8);
1693
1713
  var _a8;
1694
- var MessageConversionError = class extends AISDKError8 {
1714
+ var MessageConversionError = class extends AISDKError9 {
1695
1715
  constructor({
1696
1716
  originalMessage,
1697
1717
  message
@@ -1701,7 +1721,7 @@ var MessageConversionError = class extends AISDKError8 {
1701
1721
  this.originalMessage = originalMessage;
1702
1722
  }
1703
1723
  static isInstance(error) {
1704
- return AISDKError8.hasMarker(error, marker8);
1724
+ return AISDKError9.hasMarker(error, marker8);
1705
1725
  }
1706
1726
  };
1707
1727
  _a8 = symbol8;
@@ -2666,6 +2686,9 @@ async function generateObject({
2666
2686
  } = {},
2667
2687
  ...settings
2668
2688
  }) {
2689
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
2690
+ throw new UnsupportedModelVersionError();
2691
+ }
2669
2692
  validateObjectGenerationInput({
2670
2693
  output,
2671
2694
  mode,
@@ -2813,6 +2836,9 @@ async function generateObject({
2813
2836
  "ai.response.id": responseData.id,
2814
2837
  "ai.response.model": responseData.modelId,
2815
2838
  "ai.response.timestamp": responseData.timestamp.toISOString(),
2839
+ "ai.response.providerMetadata": JSON.stringify(
2840
+ result2.providerMetadata
2841
+ ),
2816
2842
  "ai.usage.promptTokens": result2.usage.promptTokens,
2817
2843
  "ai.usage.completionTokens": result2.usage.completionTokens,
2818
2844
  // standardized gen-ai llm span attributes:
@@ -2923,6 +2949,9 @@ async function generateObject({
2923
2949
  "ai.response.id": responseData.id,
2924
2950
  "ai.response.model": responseData.modelId,
2925
2951
  "ai.response.timestamp": responseData.timestamp.toISOString(),
2952
+ "ai.response.providerMetadata": JSON.stringify(
2953
+ result2.providerMetadata
2954
+ ),
2926
2955
  "ai.usage.promptTokens": result2.usage.promptTokens,
2927
2956
  "ai.usage.completionTokens": result2.usage.completionTokens,
2928
2957
  // standardized gen-ai llm span attributes:
@@ -3236,6 +3265,9 @@ function streamObject({
3236
3265
  } = {},
3237
3266
  ...settings
3238
3267
  }) {
3268
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
3269
+ throw new UnsupportedModelVersionError();
3270
+ }
3239
3271
  validateObjectGenerationInput({
3240
3272
  output,
3241
3273
  mode,
@@ -3626,6 +3658,7 @@ var DefaultStreamObjectResult = class {
3626
3658
  "ai.response.id": response.id,
3627
3659
  "ai.response.model": response.modelId,
3628
3660
  "ai.response.timestamp": response.timestamp.toISOString(),
3661
+ "ai.response.providerMetadata": JSON.stringify(providerMetadata),
3629
3662
  "ai.usage.promptTokens": finalUsage.promptTokens,
3630
3663
  "ai.usage.completionTokens": finalUsage.completionTokens,
3631
3664
  // standardized gen-ai llm span attributes:
@@ -3646,7 +3679,8 @@ var DefaultStreamObjectResult = class {
3646
3679
  "ai.usage.completionTokens": finalUsage.completionTokens,
3647
3680
  "ai.response.object": {
3648
3681
  output: () => JSON.stringify(object2)
3649
- }
3682
+ },
3683
+ "ai.response.providerMetadata": JSON.stringify(providerMetadata)
3650
3684
  }
3651
3685
  })
3652
3686
  );
@@ -3785,30 +3819,30 @@ var DefaultStreamObjectResult = class {
3785
3819
  import { createIdGenerator as createIdGenerator3 } from "@ai-sdk/provider-utils";
3786
3820
 
3787
3821
  // errors/no-output-specified-error.ts
3788
- import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
3822
+ import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
3789
3823
  var name9 = "AI_NoOutputSpecifiedError";
3790
3824
  var marker9 = `vercel.ai.error.${name9}`;
3791
3825
  var symbol9 = Symbol.for(marker9);
3792
3826
  var _a9;
3793
- var NoOutputSpecifiedError = class extends AISDKError9 {
3827
+ var NoOutputSpecifiedError = class extends AISDKError10 {
3794
3828
  // used in isInstance
3795
3829
  constructor({ message = "No output specified." } = {}) {
3796
3830
  super({ name: name9, message });
3797
3831
  this[_a9] = true;
3798
3832
  }
3799
3833
  static isInstance(error) {
3800
- return AISDKError9.hasMarker(error, marker9);
3834
+ return AISDKError10.hasMarker(error, marker9);
3801
3835
  }
3802
3836
  };
3803
3837
  _a9 = symbol9;
3804
3838
 
3805
3839
  // errors/tool-execution-error.ts
3806
- import { AISDKError as AISDKError10, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
3840
+ import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
3807
3841
  var name10 = "AI_ToolExecutionError";
3808
3842
  var marker10 = `vercel.ai.error.${name10}`;
3809
3843
  var symbol10 = Symbol.for(marker10);
3810
3844
  var _a10;
3811
- var ToolExecutionError = class extends AISDKError10 {
3845
+ var ToolExecutionError = class extends AISDKError11 {
3812
3846
  constructor({
3813
3847
  toolArgs,
3814
3848
  toolName,
@@ -3823,7 +3857,7 @@ var ToolExecutionError = class extends AISDKError10 {
3823
3857
  this.toolCallId = toolCallId;
3824
3858
  }
3825
3859
  static isInstance(error) {
3826
- return AISDKError10.hasMarker(error, marker10);
3860
+ return AISDKError11.hasMarker(error, marker10);
3827
3861
  }
3828
3862
  };
3829
3863
  _a10 = symbol10;
@@ -3898,12 +3932,12 @@ import { safeParseJSON as safeParseJSON2, safeValidateTypes as safeValidateTypes
3898
3932
  import { asSchema as asSchema3 } from "@ai-sdk/ui-utils";
3899
3933
 
3900
3934
  // errors/invalid-tool-arguments-error.ts
3901
- import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
3935
+ import { AISDKError as AISDKError12, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
3902
3936
  var name11 = "AI_InvalidToolArgumentsError";
3903
3937
  var marker11 = `vercel.ai.error.${name11}`;
3904
3938
  var symbol11 = Symbol.for(marker11);
3905
3939
  var _a11;
3906
- var InvalidToolArgumentsError = class extends AISDKError11 {
3940
+ var InvalidToolArgumentsError = class extends AISDKError12 {
3907
3941
  constructor({
3908
3942
  toolArgs,
3909
3943
  toolName,
@@ -3918,18 +3952,18 @@ var InvalidToolArgumentsError = class extends AISDKError11 {
3918
3952
  this.toolName = toolName;
3919
3953
  }
3920
3954
  static isInstance(error) {
3921
- return AISDKError11.hasMarker(error, marker11);
3955
+ return AISDKError12.hasMarker(error, marker11);
3922
3956
  }
3923
3957
  };
3924
3958
  _a11 = symbol11;
3925
3959
 
3926
3960
  // errors/no-such-tool-error.ts
3927
- import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
3961
+ import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
3928
3962
  var name12 = "AI_NoSuchToolError";
3929
3963
  var marker12 = `vercel.ai.error.${name12}`;
3930
3964
  var symbol12 = Symbol.for(marker12);
3931
3965
  var _a12;
3932
- var NoSuchToolError = class extends AISDKError12 {
3966
+ var NoSuchToolError = class extends AISDKError13 {
3933
3967
  constructor({
3934
3968
  toolName,
3935
3969
  availableTools = void 0,
@@ -3941,18 +3975,18 @@ var NoSuchToolError = class extends AISDKError12 {
3941
3975
  this.availableTools = availableTools;
3942
3976
  }
3943
3977
  static isInstance(error) {
3944
- return AISDKError12.hasMarker(error, marker12);
3978
+ return AISDKError13.hasMarker(error, marker12);
3945
3979
  }
3946
3980
  };
3947
3981
  _a12 = symbol12;
3948
3982
 
3949
3983
  // errors/tool-call-repair-error.ts
3950
- import { AISDKError as AISDKError13, getErrorMessage as getErrorMessage4 } from "@ai-sdk/provider";
3984
+ import { AISDKError as AISDKError14, getErrorMessage as getErrorMessage4 } from "@ai-sdk/provider";
3951
3985
  var name13 = "AI_ToolCallRepairError";
3952
3986
  var marker13 = `vercel.ai.error.${name13}`;
3953
3987
  var symbol13 = Symbol.for(marker13);
3954
3988
  var _a13;
3955
- var ToolCallRepairError = class extends AISDKError13 {
3989
+ var ToolCallRepairError = class extends AISDKError14 {
3956
3990
  constructor({
3957
3991
  cause,
3958
3992
  originalError,
@@ -3963,7 +3997,7 @@ var ToolCallRepairError = class extends AISDKError13 {
3963
3997
  this.originalError = originalError;
3964
3998
  }
3965
3999
  static isInstance(error) {
3966
- return AISDKError13.hasMarker(error, marker13);
4000
+ return AISDKError14.hasMarker(error, marker13);
3967
4001
  }
3968
4002
  };
3969
4003
  _a13 = symbol13;
@@ -4147,6 +4181,9 @@ async function generateText({
4147
4181
  ...settings
4148
4182
  }) {
4149
4183
  var _a17;
4184
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
4185
+ throw new UnsupportedModelVersionError();
4186
+ }
4150
4187
  if (maxSteps < 1) {
4151
4188
  throw new InvalidArgumentError({
4152
4189
  parameter: "maxSteps",
@@ -4315,6 +4352,9 @@ async function generateText({
4315
4352
  "ai.response.id": responseData.id,
4316
4353
  "ai.response.model": responseData.modelId,
4317
4354
  "ai.response.timestamp": responseData.timestamp.toISOString(),
4355
+ "ai.response.providerMetadata": JSON.stringify(
4356
+ result.providerMetadata
4357
+ ),
4318
4358
  "ai.usage.promptTokens": result.usage.promptTokens,
4319
4359
  "ai.usage.completionTokens": result.usage.completionTokens,
4320
4360
  // standardized gen-ai llm span attributes:
@@ -4441,7 +4481,10 @@ async function generateText({
4441
4481
  output: () => JSON.stringify(currentModelResponse.toolCalls)
4442
4482
  },
4443
4483
  "ai.usage.promptTokens": currentModelResponse.usage.promptTokens,
4444
- "ai.usage.completionTokens": currentModelResponse.usage.completionTokens
4484
+ "ai.usage.completionTokens": currentModelResponse.usage.completionTokens,
4485
+ "ai.response.providerMetadata": JSON.stringify(
4486
+ currentModelResponse.providerMetadata
4487
+ )
4445
4488
  }
4446
4489
  })
4447
4490
  );
@@ -4610,7 +4653,7 @@ import {
4610
4653
 
4611
4654
  // errors/index.ts
4612
4655
  import {
4613
- AISDKError as AISDKError16,
4656
+ AISDKError as AISDKError17,
4614
4657
  APICallError as APICallError2,
4615
4658
  EmptyResponseBodyError,
4616
4659
  InvalidPromptError as InvalidPromptError2,
@@ -4624,12 +4667,12 @@ import {
4624
4667
  } from "@ai-sdk/provider";
4625
4668
 
4626
4669
  // errors/invalid-stream-part-error.ts
4627
- import { AISDKError as AISDKError14 } from "@ai-sdk/provider";
4670
+ import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
4628
4671
  var name14 = "AI_InvalidStreamPartError";
4629
4672
  var marker14 = `vercel.ai.error.${name14}`;
4630
4673
  var symbol14 = Symbol.for(marker14);
4631
4674
  var _a14;
4632
- var InvalidStreamPartError = class extends AISDKError14 {
4675
+ var InvalidStreamPartError = class extends AISDKError15 {
4633
4676
  constructor({
4634
4677
  chunk,
4635
4678
  message
@@ -4639,18 +4682,18 @@ var InvalidStreamPartError = class extends AISDKError14 {
4639
4682
  this.chunk = chunk;
4640
4683
  }
4641
4684
  static isInstance(error) {
4642
- return AISDKError14.hasMarker(error, marker14);
4685
+ return AISDKError15.hasMarker(error, marker14);
4643
4686
  }
4644
4687
  };
4645
4688
  _a14 = symbol14;
4646
4689
 
4647
4690
  // errors/mcp-client-error.ts
4648
- import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
4691
+ import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
4649
4692
  var name15 = "AI_MCPClientError";
4650
4693
  var marker15 = `vercel.ai.error.${name15}`;
4651
4694
  var symbol15 = Symbol.for(marker15);
4652
4695
  var _a15;
4653
- var MCPClientError = class extends AISDKError15 {
4696
+ var MCPClientError = class extends AISDKError16 {
4654
4697
  constructor({
4655
4698
  name: name17 = "MCPClientError",
4656
4699
  message,
@@ -4660,7 +4703,7 @@ var MCPClientError = class extends AISDKError15 {
4660
4703
  this[_a15] = true;
4661
4704
  }
4662
4705
  static isInstance(error) {
4663
- return AISDKError15.hasMarker(error, marker15);
4706
+ return AISDKError16.hasMarker(error, marker15);
4664
4707
  }
4665
4708
  };
4666
4709
  _a15 = symbol15;
@@ -4814,7 +4857,7 @@ function smoothStream({
4814
4857
  }
4815
4858
 
4816
4859
  // core/generate-text/stream-text.ts
4817
- import { AISDKError as AISDKError17 } from "@ai-sdk/provider";
4860
+ import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
4818
4861
  import { createIdGenerator as createIdGenerator4 } from "@ai-sdk/provider-utils";
4819
4862
  import { formatDataStreamPart as formatDataStreamPart2 } from "@ai-sdk/ui-utils";
4820
4863
 
@@ -5175,6 +5218,9 @@ function streamText({
5175
5218
  } = {},
5176
5219
  ...settings
5177
5220
  }) {
5221
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
5222
+ throw new UnsupportedModelVersionError();
5223
+ }
5178
5224
  return new DefaultStreamTextResult({
5179
5225
  model,
5180
5226
  telemetry,
@@ -5352,7 +5398,7 @@ var DefaultStreamTextResult = class {
5352
5398
  }
5353
5399
  if (part.type === "reasoning-signature") {
5354
5400
  if (activeReasoningText == null) {
5355
- throw new AISDKError17({
5401
+ throw new AISDKError18({
5356
5402
  name: "InvalidStreamPart",
5357
5403
  message: "reasoning-signature without reasoning"
5358
5404
  });
@@ -5509,7 +5555,10 @@ var DefaultStreamTextResult = class {
5509
5555
  }
5510
5556
  },
5511
5557
  "ai.usage.promptTokens": usage.promptTokens,
5512
- "ai.usage.completionTokens": usage.completionTokens
5558
+ "ai.usage.completionTokens": usage.completionTokens,
5559
+ "ai.response.providerMetadata": JSON.stringify(
5560
+ lastStep.providerMetadata
5561
+ )
5513
5562
  }
5514
5563
  })
5515
5564
  );
@@ -5886,6 +5935,7 @@ var DefaultStreamTextResult = class {
5886
5935
  "ai.response.id": stepResponse.id,
5887
5936
  "ai.response.model": stepResponse.modelId,
5888
5937
  "ai.response.timestamp": stepResponse.timestamp.toISOString(),
5938
+ "ai.response.providerMetadata": JSON.stringify(stepProviderMetadata),
5889
5939
  "ai.usage.promptTokens": stepUsage.promptTokens,
5890
5940
  "ai.usage.completionTokens": stepUsage.completionTokens,
5891
5941
  // standardized gen-ai llm span attributes:
@@ -6363,8 +6413,8 @@ var DefaultStreamTextResult = class {
6363
6413
  };
6364
6414
 
6365
6415
  // errors/no-speech-generated-error.ts
6366
- import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
6367
- var NoSpeechGeneratedError = class extends AISDKError18 {
6416
+ import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
6417
+ var NoSpeechGeneratedError = class extends AISDKError19 {
6368
6418
  constructor(options) {
6369
6419
  super({
6370
6420
  name: "AI_NoSpeechGeneratedError",
@@ -6413,6 +6463,9 @@ async function generateSpeech({
6413
6463
  headers
6414
6464
  }) {
6415
6465
  var _a17;
6466
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
6467
+ throw new UnsupportedModelVersionError();
6468
+ }
6416
6469
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
6417
6470
  const result = await retry(
6418
6471
  () => model.doGenerate({
@@ -6453,8 +6506,8 @@ var DefaultSpeechResult = class {
6453
6506
  };
6454
6507
 
6455
6508
  // errors/no-transcript-generated-error.ts
6456
- import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
6457
- var NoTranscriptGeneratedError = class extends AISDKError19 {
6509
+ import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
6510
+ var NoTranscriptGeneratedError = class extends AISDKError20 {
6458
6511
  constructor(options) {
6459
6512
  super({
6460
6513
  name: "AI_NoTranscriptGeneratedError",
@@ -6473,6 +6526,9 @@ async function transcribe({
6473
6526
  abortSignal,
6474
6527
  headers
6475
6528
  }) {
6529
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
6530
+ throw new UnsupportedModelVersionError();
6531
+ }
6476
6532
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
6477
6533
  const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
6478
6534
  const result = await retry(
@@ -6833,7 +6889,7 @@ function appendClientMessage({
6833
6889
  import {
6834
6890
  extractMaxToolInvocationStep
6835
6891
  } from "@ai-sdk/ui-utils";
6836
- import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
6892
+ import { AISDKError as AISDKError21 } from "@ai-sdk/provider";
6837
6893
  function appendResponseMessages({
6838
6894
  messages,
6839
6895
  responseMessages,
@@ -6916,7 +6972,7 @@ function appendResponseMessages({
6916
6972
  break;
6917
6973
  case "file":
6918
6974
  if (part.data instanceof URL) {
6919
- throw new AISDKError20({
6975
+ throw new AISDKError21({
6920
6976
  name: "InvalidAssistantFileData",
6921
6977
  message: "File data cannot be a URL"
6922
6978
  });
@@ -7050,7 +7106,7 @@ function customProvider({
7050
7106
  var experimental_customProvider = customProvider;
7051
7107
 
7052
7108
  // core/registry/no-such-provider-error.ts
7053
- import { AISDKError as AISDKError21, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
7109
+ import { AISDKError as AISDKError22, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
7054
7110
  var name16 = "AI_NoSuchProviderError";
7055
7111
  var marker16 = `vercel.ai.error.${name16}`;
7056
7112
  var symbol16 = Symbol.for(marker16);
@@ -7069,7 +7125,7 @@ var NoSuchProviderError = class extends NoSuchModelError3 {
7069
7125
  this.availableProviders = availableProviders;
7070
7126
  }
7071
7127
  static isInstance(error) {
7072
- return AISDKError21.hasMarker(error, marker16);
7128
+ return AISDKError22.hasMarker(error, marker16);
7073
7129
  }
7074
7130
  };
7075
7131
  _a16 = symbol16;
@@ -8114,7 +8170,7 @@ var StreamData = class {
8114
8170
  }
8115
8171
  };
8116
8172
  export {
8117
- AISDKError16 as AISDKError,
8173
+ AISDKError17 as AISDKError,
8118
8174
  APICallError2 as APICallError,
8119
8175
  AssistantResponse,
8120
8176
  DownloadError,
@@ -8146,6 +8202,7 @@ export {
8146
8202
  ToolExecutionError,
8147
8203
  TypeValidationError3 as TypeValidationError,
8148
8204
  UnsupportedFunctionalityError2 as UnsupportedFunctionalityError,
8205
+ UnsupportedModelVersionError,
8149
8206
  appendClientMessage,
8150
8207
  appendResponseMessages,
8151
8208
  convertToCoreMessages,