ai 4.3.17 → 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.js CHANGED
@@ -20,29 +20,29 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // streams/index.ts
21
21
  var streams_exports = {};
22
22
  __export(streams_exports, {
23
- AISDKError: () => import_provider20.AISDKError,
24
- APICallError: () => import_provider20.APICallError,
23
+ AISDKError: () => import_provider21.AISDKError,
24
+ APICallError: () => import_provider21.APICallError,
25
25
  AssistantResponse: () => AssistantResponse,
26
26
  DownloadError: () => DownloadError,
27
- EmptyResponseBodyError: () => import_provider20.EmptyResponseBodyError,
27
+ EmptyResponseBodyError: () => import_provider21.EmptyResponseBodyError,
28
28
  InvalidArgumentError: () => InvalidArgumentError,
29
29
  InvalidDataContentError: () => InvalidDataContentError,
30
30
  InvalidMessageRoleError: () => InvalidMessageRoleError,
31
- InvalidPromptError: () => import_provider20.InvalidPromptError,
32
- InvalidResponseDataError: () => import_provider20.InvalidResponseDataError,
31
+ InvalidPromptError: () => import_provider21.InvalidPromptError,
32
+ InvalidResponseDataError: () => import_provider21.InvalidResponseDataError,
33
33
  InvalidStreamPartError: () => InvalidStreamPartError,
34
34
  InvalidToolArgumentsError: () => InvalidToolArgumentsError,
35
- JSONParseError: () => import_provider20.JSONParseError,
35
+ JSONParseError: () => import_provider21.JSONParseError,
36
36
  LangChainAdapter: () => langchain_adapter_exports,
37
37
  LlamaIndexAdapter: () => llamaindex_adapter_exports,
38
- LoadAPIKeyError: () => import_provider20.LoadAPIKeyError,
38
+ LoadAPIKeyError: () => import_provider21.LoadAPIKeyError,
39
39
  MCPClientError: () => MCPClientError,
40
40
  MessageConversionError: () => MessageConversionError,
41
- NoContentGeneratedError: () => import_provider20.NoContentGeneratedError,
41
+ NoContentGeneratedError: () => import_provider21.NoContentGeneratedError,
42
42
  NoImageGeneratedError: () => NoImageGeneratedError,
43
43
  NoObjectGeneratedError: () => NoObjectGeneratedError,
44
44
  NoOutputSpecifiedError: () => NoOutputSpecifiedError,
45
- NoSuchModelError: () => import_provider20.NoSuchModelError,
45
+ NoSuchModelError: () => import_provider21.NoSuchModelError,
46
46
  NoSuchProviderError: () => NoSuchProviderError,
47
47
  NoSuchToolError: () => NoSuchToolError,
48
48
  Output: () => output_exports,
@@ -50,8 +50,9 @@ __export(streams_exports, {
50
50
  StreamData: () => StreamData,
51
51
  ToolCallRepairError: () => ToolCallRepairError,
52
52
  ToolExecutionError: () => ToolExecutionError,
53
- TypeValidationError: () => import_provider20.TypeValidationError,
54
- UnsupportedFunctionalityError: () => import_provider20.UnsupportedFunctionalityError,
53
+ TypeValidationError: () => import_provider21.TypeValidationError,
54
+ UnsupportedFunctionalityError: () => import_provider21.UnsupportedFunctionalityError,
55
+ UnsupportedModelVersionError: () => UnsupportedModelVersionError,
55
56
  appendClientMessage: () => appendClientMessage,
56
57
  appendResponseMessages: () => appendResponseMessages,
57
58
  convertToCoreMessages: () => convertToCoreMessages,
@@ -284,13 +285,24 @@ function pipeDataStreamToResponse(response, {
284
285
  });
285
286
  }
286
287
 
287
- // errors/invalid-argument-error.ts
288
+ // errors/unsupported-model-version-error.ts
288
289
  var import_provider = require("@ai-sdk/provider");
290
+ var UnsupportedModelVersionError = class extends import_provider.AISDKError {
291
+ constructor() {
292
+ super({
293
+ name: "AI_UnsupportedModelVersionError",
294
+ message: `Unsupported model version. AI SDK 4 only supports models that implement specification version "v1". Please upgrade to AI SDK 5 to use this model.`
295
+ });
296
+ }
297
+ };
298
+
299
+ // errors/invalid-argument-error.ts
300
+ var import_provider2 = require("@ai-sdk/provider");
289
301
  var name = "AI_InvalidArgumentError";
290
302
  var marker = `vercel.ai.error.${name}`;
291
303
  var symbol = Symbol.for(marker);
292
304
  var _a;
293
- var InvalidArgumentError = class extends import_provider.AISDKError {
305
+ var InvalidArgumentError = class extends import_provider2.AISDKError {
294
306
  constructor({
295
307
  parameter,
296
308
  value,
@@ -305,22 +317,22 @@ var InvalidArgumentError = class extends import_provider.AISDKError {
305
317
  this.value = value;
306
318
  }
307
319
  static isInstance(error) {
308
- return import_provider.AISDKError.hasMarker(error, marker);
320
+ return import_provider2.AISDKError.hasMarker(error, marker);
309
321
  }
310
322
  };
311
323
  _a = symbol;
312
324
 
313
325
  // util/retry-with-exponential-backoff.ts
314
- var import_provider3 = require("@ai-sdk/provider");
326
+ var import_provider4 = require("@ai-sdk/provider");
315
327
  var import_provider_utils = require("@ai-sdk/provider-utils");
316
328
 
317
329
  // util/retry-error.ts
318
- var import_provider2 = require("@ai-sdk/provider");
330
+ var import_provider3 = require("@ai-sdk/provider");
319
331
  var name2 = "AI_RetryError";
320
332
  var marker2 = `vercel.ai.error.${name2}`;
321
333
  var symbol2 = Symbol.for(marker2);
322
334
  var _a2;
323
- var RetryError = class extends import_provider2.AISDKError {
335
+ var RetryError = class extends import_provider3.AISDKError {
324
336
  constructor({
325
337
  message,
326
338
  reason,
@@ -333,7 +345,7 @@ var RetryError = class extends import_provider2.AISDKError {
333
345
  this.lastError = errors[errors.length - 1];
334
346
  }
335
347
  static isInstance(error) {
336
- return import_provider2.AISDKError.hasMarker(error, marker2);
348
+ return import_provider3.AISDKError.hasMarker(error, marker2);
337
349
  }
338
350
  };
339
351
  _a2 = symbol2;
@@ -372,7 +384,7 @@ async function _retryWithExponentialBackoff(f, {
372
384
  errors: newErrors
373
385
  });
374
386
  }
375
- if (error instanceof Error && import_provider3.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
387
+ if (error instanceof Error && import_provider4.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
376
388
  await (0, import_provider_utils.delay)(delayInMs);
377
389
  return _retryWithExponentialBackoff(
378
390
  f,
@@ -620,6 +632,9 @@ async function embed({
620
632
  headers,
621
633
  experimental_telemetry: telemetry
622
634
  }) {
635
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
636
+ throw new UnsupportedModelVersionError();
637
+ }
623
638
  const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
624
639
  const baseTelemetryAttributes = getBaseTelemetryAttributes({
625
640
  model,
@@ -732,6 +747,9 @@ async function embedMany({
732
747
  headers,
733
748
  experimental_telemetry: telemetry
734
749
  }) {
750
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
751
+ throw new UnsupportedModelVersionError();
752
+ }
735
753
  const { maxRetries, retry } = prepareRetries({ maxRetries: maxRetriesArg });
736
754
  const baseTelemetryAttributes = getBaseTelemetryAttributes({
737
755
  model,
@@ -889,12 +907,12 @@ var DefaultEmbedManyResult = class {
889
907
  };
890
908
 
891
909
  // errors/no-image-generated-error.ts
892
- var import_provider4 = require("@ai-sdk/provider");
910
+ var import_provider5 = require("@ai-sdk/provider");
893
911
  var name3 = "AI_NoImageGeneratedError";
894
912
  var marker3 = `vercel.ai.error.${name3}`;
895
913
  var symbol3 = Symbol.for(marker3);
896
914
  var _a3;
897
- var NoImageGeneratedError = class extends import_provider4.AISDKError {
915
+ var NoImageGeneratedError = class extends import_provider5.AISDKError {
898
916
  constructor({
899
917
  message = "No image generated.",
900
918
  cause,
@@ -905,7 +923,7 @@ var NoImageGeneratedError = class extends import_provider4.AISDKError {
905
923
  this.responses = responses;
906
924
  }
907
925
  static isInstance(error) {
908
- return import_provider4.AISDKError.hasMarker(error, marker3);
926
+ return import_provider5.AISDKError.hasMarker(error, marker3);
909
927
  }
910
928
  };
911
929
  _a3 = symbol3;
@@ -1091,6 +1109,9 @@ async function generateImage({
1091
1109
  headers
1092
1110
  }) {
1093
1111
  var _a17;
1112
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
1113
+ throw new UnsupportedModelVersionError();
1114
+ }
1094
1115
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
1095
1116
  const maxImagesPerCall = (_a17 = model.maxImagesPerCall) != null ? _a17 : 1;
1096
1117
  const callCount = Math.ceil(n / maxImagesPerCall);
@@ -1155,16 +1176,16 @@ var DefaultGenerateImageResult = class {
1155
1176
  };
1156
1177
 
1157
1178
  // core/generate-object/generate-object.ts
1158
- var import_provider12 = require("@ai-sdk/provider");
1179
+ var import_provider13 = require("@ai-sdk/provider");
1159
1180
  var import_provider_utils7 = require("@ai-sdk/provider-utils");
1160
1181
 
1161
1182
  // errors/no-object-generated-error.ts
1162
- var import_provider5 = require("@ai-sdk/provider");
1183
+ var import_provider6 = require("@ai-sdk/provider");
1163
1184
  var name4 = "AI_NoObjectGeneratedError";
1164
1185
  var marker4 = `vercel.ai.error.${name4}`;
1165
1186
  var symbol4 = Symbol.for(marker4);
1166
1187
  var _a4;
1167
- var NoObjectGeneratedError = class extends import_provider5.AISDKError {
1188
+ var NoObjectGeneratedError = class extends import_provider6.AISDKError {
1168
1189
  constructor({
1169
1190
  message = "No object generated.",
1170
1191
  cause,
@@ -1181,18 +1202,18 @@ var NoObjectGeneratedError = class extends import_provider5.AISDKError {
1181
1202
  this.finishReason = finishReason;
1182
1203
  }
1183
1204
  static isInstance(error) {
1184
- return import_provider5.AISDKError.hasMarker(error, marker4);
1205
+ return import_provider6.AISDKError.hasMarker(error, marker4);
1185
1206
  }
1186
1207
  };
1187
1208
  _a4 = symbol4;
1188
1209
 
1189
1210
  // util/download-error.ts
1190
- var import_provider6 = require("@ai-sdk/provider");
1211
+ var import_provider7 = require("@ai-sdk/provider");
1191
1212
  var name5 = "AI_DownloadError";
1192
1213
  var marker5 = `vercel.ai.error.${name5}`;
1193
1214
  var symbol5 = Symbol.for(marker5);
1194
1215
  var _a5;
1195
- var DownloadError = class extends import_provider6.AISDKError {
1216
+ var DownloadError = class extends import_provider7.AISDKError {
1196
1217
  constructor({
1197
1218
  url,
1198
1219
  statusCode,
@@ -1207,7 +1228,7 @@ var DownloadError = class extends import_provider6.AISDKError {
1207
1228
  this.statusText = statusText;
1208
1229
  }
1209
1230
  static isInstance(error) {
1210
- return import_provider6.AISDKError.hasMarker(error, marker5);
1231
+ return import_provider7.AISDKError.hasMarker(error, marker5);
1211
1232
  }
1212
1233
  };
1213
1234
  _a5 = symbol5;
@@ -1241,12 +1262,12 @@ async function download({ url }) {
1241
1262
  var import_provider_utils4 = require("@ai-sdk/provider-utils");
1242
1263
 
1243
1264
  // core/prompt/invalid-data-content-error.ts
1244
- var import_provider7 = require("@ai-sdk/provider");
1265
+ var import_provider8 = require("@ai-sdk/provider");
1245
1266
  var name6 = "AI_InvalidDataContentError";
1246
1267
  var marker6 = `vercel.ai.error.${name6}`;
1247
1268
  var symbol6 = Symbol.for(marker6);
1248
1269
  var _a6;
1249
- var InvalidDataContentError = class extends import_provider7.AISDKError {
1270
+ var InvalidDataContentError = class extends import_provider8.AISDKError {
1250
1271
  constructor({
1251
1272
  content,
1252
1273
  cause,
@@ -1257,7 +1278,7 @@ var InvalidDataContentError = class extends import_provider7.AISDKError {
1257
1278
  this.content = content;
1258
1279
  }
1259
1280
  static isInstance(error) {
1260
- return import_provider7.AISDKError.hasMarker(error, marker6);
1281
+ return import_provider8.AISDKError.hasMarker(error, marker6);
1261
1282
  }
1262
1283
  };
1263
1284
  _a6 = symbol6;
@@ -1315,12 +1336,12 @@ function convertUint8ArrayToText(uint8Array) {
1315
1336
  }
1316
1337
 
1317
1338
  // core/prompt/invalid-message-role-error.ts
1318
- var import_provider8 = require("@ai-sdk/provider");
1339
+ var import_provider9 = require("@ai-sdk/provider");
1319
1340
  var name7 = "AI_InvalidMessageRoleError";
1320
1341
  var marker7 = `vercel.ai.error.${name7}`;
1321
1342
  var symbol7 = Symbol.for(marker7);
1322
1343
  var _a7;
1323
- var InvalidMessageRoleError = class extends import_provider8.AISDKError {
1344
+ var InvalidMessageRoleError = class extends import_provider9.AISDKError {
1324
1345
  constructor({
1325
1346
  role,
1326
1347
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
@@ -1330,7 +1351,7 @@ var InvalidMessageRoleError = class extends import_provider8.AISDKError {
1330
1351
  this.role = role;
1331
1352
  }
1332
1353
  static isInstance(error) {
1333
- return import_provider8.AISDKError.hasMarker(error, marker7);
1354
+ return import_provider9.AISDKError.hasMarker(error, marker7);
1334
1355
  }
1335
1356
  };
1336
1357
  _a7 = symbol7;
@@ -1681,7 +1702,7 @@ function prepareCallSettings({
1681
1702
  }
1682
1703
 
1683
1704
  // core/prompt/standardize-prompt.ts
1684
- var import_provider10 = require("@ai-sdk/provider");
1705
+ var import_provider11 = require("@ai-sdk/provider");
1685
1706
  var import_provider_utils5 = require("@ai-sdk/provider-utils");
1686
1707
  var import_zod7 = require("zod");
1687
1708
 
@@ -1763,12 +1784,12 @@ function attachmentsToParts(attachments) {
1763
1784
  }
1764
1785
 
1765
1786
  // core/prompt/message-conversion-error.ts
1766
- var import_provider9 = require("@ai-sdk/provider");
1787
+ var import_provider10 = require("@ai-sdk/provider");
1767
1788
  var name8 = "AI_MessageConversionError";
1768
1789
  var marker8 = `vercel.ai.error.${name8}`;
1769
1790
  var symbol8 = Symbol.for(marker8);
1770
1791
  var _a8;
1771
- var MessageConversionError = class extends import_provider9.AISDKError {
1792
+ var MessageConversionError = class extends import_provider10.AISDKError {
1772
1793
  constructor({
1773
1794
  originalMessage,
1774
1795
  message
@@ -1778,7 +1799,7 @@ var MessageConversionError = class extends import_provider9.AISDKError {
1778
1799
  this.originalMessage = originalMessage;
1779
1800
  }
1780
1801
  static isInstance(error) {
1781
- return import_provider9.AISDKError.hasMarker(error, marker8);
1802
+ return import_provider10.AISDKError.hasMarker(error, marker8);
1782
1803
  }
1783
1804
  };
1784
1805
  _a8 = symbol8;
@@ -2162,26 +2183,26 @@ function standardizePrompt({
2162
2183
  tools
2163
2184
  }) {
2164
2185
  if (prompt.prompt == null && prompt.messages == null) {
2165
- throw new import_provider10.InvalidPromptError({
2186
+ throw new import_provider11.InvalidPromptError({
2166
2187
  prompt,
2167
2188
  message: "prompt or messages must be defined"
2168
2189
  });
2169
2190
  }
2170
2191
  if (prompt.prompt != null && prompt.messages != null) {
2171
- throw new import_provider10.InvalidPromptError({
2192
+ throw new import_provider11.InvalidPromptError({
2172
2193
  prompt,
2173
2194
  message: "prompt and messages cannot be defined at the same time"
2174
2195
  });
2175
2196
  }
2176
2197
  if (prompt.system != null && typeof prompt.system !== "string") {
2177
- throw new import_provider10.InvalidPromptError({
2198
+ throw new import_provider11.InvalidPromptError({
2178
2199
  prompt,
2179
2200
  message: "system must be a string"
2180
2201
  });
2181
2202
  }
2182
2203
  if (prompt.prompt != null) {
2183
2204
  if (typeof prompt.prompt !== "string") {
2184
- throw new import_provider10.InvalidPromptError({
2205
+ throw new import_provider11.InvalidPromptError({
2185
2206
  prompt,
2186
2207
  message: "prompt must be a string"
2187
2208
  });
@@ -2203,7 +2224,7 @@ function standardizePrompt({
2203
2224
  tools
2204
2225
  }) : prompt.messages;
2205
2226
  if (messages.length === 0) {
2206
- throw new import_provider10.InvalidPromptError({
2227
+ throw new import_provider11.InvalidPromptError({
2207
2228
  prompt,
2208
2229
  message: "messages must not be empty"
2209
2230
  });
@@ -2213,7 +2234,7 @@ function standardizePrompt({
2213
2234
  schema: import_zod7.z.array(coreMessageSchema)
2214
2235
  });
2215
2236
  if (!validationResult.success) {
2216
- throw new import_provider10.InvalidPromptError({
2237
+ throw new import_provider11.InvalidPromptError({
2217
2238
  prompt,
2218
2239
  message: [
2219
2240
  "message must be a CoreMessage or a UI message",
@@ -2232,7 +2253,7 @@ function standardizePrompt({
2232
2253
  }
2233
2254
  function detectPromptType(prompt) {
2234
2255
  if (!Array.isArray(prompt)) {
2235
- throw new import_provider10.InvalidPromptError({
2256
+ throw new import_provider11.InvalidPromptError({
2236
2257
  prompt,
2237
2258
  message: [
2238
2259
  "messages must be an array of CoreMessage or UIMessage",
@@ -2254,7 +2275,7 @@ function detectPromptType(prompt) {
2254
2275
  if (nonMessageIndex === -1) {
2255
2276
  return "messages";
2256
2277
  }
2257
- throw new import_provider10.InvalidPromptError({
2278
+ throw new import_provider11.InvalidPromptError({
2258
2279
  prompt,
2259
2280
  message: [
2260
2281
  "messages must be an array of CoreMessage or UIMessage",
@@ -2321,7 +2342,7 @@ function injectJsonInstruction({
2321
2342
  }
2322
2343
 
2323
2344
  // core/generate-object/output-strategy.ts
2324
- var import_provider11 = require("@ai-sdk/provider");
2345
+ var import_provider12 = require("@ai-sdk/provider");
2325
2346
  var import_provider_utils6 = require("@ai-sdk/provider-utils");
2326
2347
  var import_ui_utils2 = require("@ai-sdk/ui-utils");
2327
2348
 
@@ -2360,7 +2381,7 @@ var noSchemaOutputStrategy = {
2360
2381
  } : { success: true, value };
2361
2382
  },
2362
2383
  createElementStream() {
2363
- throw new import_provider11.UnsupportedFunctionalityError({
2384
+ throw new import_provider12.UnsupportedFunctionalityError({
2364
2385
  functionality: "element streams in no-schema mode"
2365
2386
  });
2366
2387
  }
@@ -2382,7 +2403,7 @@ var objectOutputStrategy = (schema) => ({
2382
2403
  return (0, import_provider_utils6.safeValidateTypes)({ value, schema });
2383
2404
  },
2384
2405
  createElementStream() {
2385
- throw new import_provider11.UnsupportedFunctionalityError({
2406
+ throw new import_provider12.UnsupportedFunctionalityError({
2386
2407
  functionality: "element streams in object mode"
2387
2408
  });
2388
2409
  }
@@ -2405,10 +2426,10 @@ var arrayOutputStrategy = (schema) => {
2405
2426
  },
2406
2427
  validatePartialResult({ value, latestObject, isFirstDelta, isFinalDelta }) {
2407
2428
  var _a17;
2408
- if (!(0, import_provider11.isJSONObject)(value) || !(0, import_provider11.isJSONArray)(value.elements)) {
2429
+ if (!(0, import_provider12.isJSONObject)(value) || !(0, import_provider12.isJSONArray)(value.elements)) {
2409
2430
  return {
2410
2431
  success: false,
2411
- error: new import_provider11.TypeValidationError({
2432
+ error: new import_provider12.TypeValidationError({
2412
2433
  value,
2413
2434
  cause: "value must be an object that contains an array of elements"
2414
2435
  })
@@ -2448,10 +2469,10 @@ var arrayOutputStrategy = (schema) => {
2448
2469
  };
2449
2470
  },
2450
2471
  validateFinalResult(value) {
2451
- if (!(0, import_provider11.isJSONObject)(value) || !(0, import_provider11.isJSONArray)(value.elements)) {
2472
+ if (!(0, import_provider12.isJSONObject)(value) || !(0, import_provider12.isJSONArray)(value.elements)) {
2452
2473
  return {
2453
2474
  success: false,
2454
- error: new import_provider11.TypeValidationError({
2475
+ error: new import_provider12.TypeValidationError({
2455
2476
  value,
2456
2477
  cause: "value must be an object that contains an array of elements"
2457
2478
  })
@@ -2514,10 +2535,10 @@ var enumOutputStrategy = (enumValues) => {
2514
2535
  additionalProperties: false
2515
2536
  },
2516
2537
  validateFinalResult(value) {
2517
- if (!(0, import_provider11.isJSONObject)(value) || typeof value.result !== "string") {
2538
+ if (!(0, import_provider12.isJSONObject)(value) || typeof value.result !== "string") {
2518
2539
  return {
2519
2540
  success: false,
2520
- error: new import_provider11.TypeValidationError({
2541
+ error: new import_provider12.TypeValidationError({
2521
2542
  value,
2522
2543
  cause: 'value must be an object that contains a string in the "result" property.'
2523
2544
  })
@@ -2526,19 +2547,19 @@ var enumOutputStrategy = (enumValues) => {
2526
2547
  const result = value.result;
2527
2548
  return enumValues.includes(result) ? { success: true, value: result } : {
2528
2549
  success: false,
2529
- error: new import_provider11.TypeValidationError({
2550
+ error: new import_provider12.TypeValidationError({
2530
2551
  value,
2531
2552
  cause: "value must be a string in the enum"
2532
2553
  })
2533
2554
  };
2534
2555
  },
2535
2556
  validatePartialResult() {
2536
- throw new import_provider11.UnsupportedFunctionalityError({
2557
+ throw new import_provider12.UnsupportedFunctionalityError({
2537
2558
  functionality: "partial results in enum mode"
2538
2559
  });
2539
2560
  },
2540
2561
  createElementStream() {
2541
- throw new import_provider11.UnsupportedFunctionalityError({
2562
+ throw new import_provider12.UnsupportedFunctionalityError({
2542
2563
  functionality: "element streams in enum mode"
2543
2564
  });
2544
2565
  }
@@ -2738,6 +2759,9 @@ async function generateObject({
2738
2759
  } = {},
2739
2760
  ...settings
2740
2761
  }) {
2762
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
2763
+ throw new UnsupportedModelVersionError();
2764
+ }
2741
2765
  validateObjectGenerationInput({
2742
2766
  output,
2743
2767
  mode,
@@ -3073,7 +3097,7 @@ async function generateObject({
3073
3097
  try {
3074
3098
  object2 = processResult(result);
3075
3099
  } catch (error) {
3076
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider12.JSONParseError.isInstance(error.cause) || import_provider12.TypeValidationError.isInstance(error.cause))) {
3100
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider13.JSONParseError.isInstance(error.cause) || import_provider13.TypeValidationError.isInstance(error.cause))) {
3077
3101
  const repairedText = await repairText({
3078
3102
  text: result,
3079
3103
  error: error.cause
@@ -3311,6 +3335,9 @@ function streamObject({
3311
3335
  } = {},
3312
3336
  ...settings
3313
3337
  }) {
3338
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
3339
+ throw new UnsupportedModelVersionError();
3340
+ }
3314
3341
  validateObjectGenerationInput({
3315
3342
  output,
3316
3343
  mode,
@@ -3862,36 +3889,36 @@ var DefaultStreamObjectResult = class {
3862
3889
  var import_provider_utils10 = require("@ai-sdk/provider-utils");
3863
3890
 
3864
3891
  // errors/no-output-specified-error.ts
3865
- var import_provider13 = require("@ai-sdk/provider");
3892
+ var import_provider14 = require("@ai-sdk/provider");
3866
3893
  var name9 = "AI_NoOutputSpecifiedError";
3867
3894
  var marker9 = `vercel.ai.error.${name9}`;
3868
3895
  var symbol9 = Symbol.for(marker9);
3869
3896
  var _a9;
3870
- var NoOutputSpecifiedError = class extends import_provider13.AISDKError {
3897
+ var NoOutputSpecifiedError = class extends import_provider14.AISDKError {
3871
3898
  // used in isInstance
3872
3899
  constructor({ message = "No output specified." } = {}) {
3873
3900
  super({ name: name9, message });
3874
3901
  this[_a9] = true;
3875
3902
  }
3876
3903
  static isInstance(error) {
3877
- return import_provider13.AISDKError.hasMarker(error, marker9);
3904
+ return import_provider14.AISDKError.hasMarker(error, marker9);
3878
3905
  }
3879
3906
  };
3880
3907
  _a9 = symbol9;
3881
3908
 
3882
3909
  // errors/tool-execution-error.ts
3883
- var import_provider14 = require("@ai-sdk/provider");
3910
+ var import_provider15 = require("@ai-sdk/provider");
3884
3911
  var name10 = "AI_ToolExecutionError";
3885
3912
  var marker10 = `vercel.ai.error.${name10}`;
3886
3913
  var symbol10 = Symbol.for(marker10);
3887
3914
  var _a10;
3888
- var ToolExecutionError = class extends import_provider14.AISDKError {
3915
+ var ToolExecutionError = class extends import_provider15.AISDKError {
3889
3916
  constructor({
3890
3917
  toolArgs,
3891
3918
  toolName,
3892
3919
  toolCallId,
3893
3920
  cause,
3894
- message = `Error executing tool ${toolName}: ${(0, import_provider14.getErrorMessage)(cause)}`
3921
+ message = `Error executing tool ${toolName}: ${(0, import_provider15.getErrorMessage)(cause)}`
3895
3922
  }) {
3896
3923
  super({ name: name10, message, cause });
3897
3924
  this[_a10] = true;
@@ -3900,7 +3927,7 @@ var ToolExecutionError = class extends import_provider14.AISDKError {
3900
3927
  this.toolCallId = toolCallId;
3901
3928
  }
3902
3929
  static isInstance(error) {
3903
- return import_provider14.AISDKError.hasMarker(error, marker10);
3930
+ return import_provider15.AISDKError.hasMarker(error, marker10);
3904
3931
  }
3905
3932
  };
3906
3933
  _a10 = symbol10;
@@ -3975,17 +4002,17 @@ var import_provider_utils9 = require("@ai-sdk/provider-utils");
3975
4002
  var import_ui_utils5 = require("@ai-sdk/ui-utils");
3976
4003
 
3977
4004
  // errors/invalid-tool-arguments-error.ts
3978
- var import_provider15 = require("@ai-sdk/provider");
4005
+ var import_provider16 = require("@ai-sdk/provider");
3979
4006
  var name11 = "AI_InvalidToolArgumentsError";
3980
4007
  var marker11 = `vercel.ai.error.${name11}`;
3981
4008
  var symbol11 = Symbol.for(marker11);
3982
4009
  var _a11;
3983
- var InvalidToolArgumentsError = class extends import_provider15.AISDKError {
4010
+ var InvalidToolArgumentsError = class extends import_provider16.AISDKError {
3984
4011
  constructor({
3985
4012
  toolArgs,
3986
4013
  toolName,
3987
4014
  cause,
3988
- message = `Invalid arguments for tool ${toolName}: ${(0, import_provider15.getErrorMessage)(
4015
+ message = `Invalid arguments for tool ${toolName}: ${(0, import_provider16.getErrorMessage)(
3989
4016
  cause
3990
4017
  )}`
3991
4018
  }) {
@@ -3995,18 +4022,18 @@ var InvalidToolArgumentsError = class extends import_provider15.AISDKError {
3995
4022
  this.toolName = toolName;
3996
4023
  }
3997
4024
  static isInstance(error) {
3998
- return import_provider15.AISDKError.hasMarker(error, marker11);
4025
+ return import_provider16.AISDKError.hasMarker(error, marker11);
3999
4026
  }
4000
4027
  };
4001
4028
  _a11 = symbol11;
4002
4029
 
4003
4030
  // errors/no-such-tool-error.ts
4004
- var import_provider16 = require("@ai-sdk/provider");
4031
+ var import_provider17 = require("@ai-sdk/provider");
4005
4032
  var name12 = "AI_NoSuchToolError";
4006
4033
  var marker12 = `vercel.ai.error.${name12}`;
4007
4034
  var symbol12 = Symbol.for(marker12);
4008
4035
  var _a12;
4009
- var NoSuchToolError = class extends import_provider16.AISDKError {
4036
+ var NoSuchToolError = class extends import_provider17.AISDKError {
4010
4037
  constructor({
4011
4038
  toolName,
4012
4039
  availableTools = void 0,
@@ -4018,29 +4045,29 @@ var NoSuchToolError = class extends import_provider16.AISDKError {
4018
4045
  this.availableTools = availableTools;
4019
4046
  }
4020
4047
  static isInstance(error) {
4021
- return import_provider16.AISDKError.hasMarker(error, marker12);
4048
+ return import_provider17.AISDKError.hasMarker(error, marker12);
4022
4049
  }
4023
4050
  };
4024
4051
  _a12 = symbol12;
4025
4052
 
4026
4053
  // errors/tool-call-repair-error.ts
4027
- var import_provider17 = require("@ai-sdk/provider");
4054
+ var import_provider18 = require("@ai-sdk/provider");
4028
4055
  var name13 = "AI_ToolCallRepairError";
4029
4056
  var marker13 = `vercel.ai.error.${name13}`;
4030
4057
  var symbol13 = Symbol.for(marker13);
4031
4058
  var _a13;
4032
- var ToolCallRepairError = class extends import_provider17.AISDKError {
4059
+ var ToolCallRepairError = class extends import_provider18.AISDKError {
4033
4060
  constructor({
4034
4061
  cause,
4035
4062
  originalError,
4036
- message = `Error repairing tool call: ${(0, import_provider17.getErrorMessage)(cause)}`
4063
+ message = `Error repairing tool call: ${(0, import_provider18.getErrorMessage)(cause)}`
4037
4064
  }) {
4038
4065
  super({ name: name13, message, cause });
4039
4066
  this[_a13] = true;
4040
4067
  this.originalError = originalError;
4041
4068
  }
4042
4069
  static isInstance(error) {
4043
- return import_provider17.AISDKError.hasMarker(error, marker13);
4070
+ return import_provider18.AISDKError.hasMarker(error, marker13);
4044
4071
  }
4045
4072
  };
4046
4073
  _a13 = symbol13;
@@ -4224,6 +4251,9 @@ async function generateText({
4224
4251
  ...settings
4225
4252
  }) {
4226
4253
  var _a17;
4254
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
4255
+ throw new UnsupportedModelVersionError();
4256
+ }
4227
4257
  if (maxSteps < 1) {
4228
4258
  throw new InvalidArgumentError({
4229
4259
  parameter: "maxSteps",
@@ -4689,15 +4719,15 @@ var import_provider_utils11 = require("@ai-sdk/provider-utils");
4689
4719
  var import_ui_utils6 = require("@ai-sdk/ui-utils");
4690
4720
 
4691
4721
  // errors/index.ts
4692
- var import_provider20 = require("@ai-sdk/provider");
4722
+ var import_provider21 = require("@ai-sdk/provider");
4693
4723
 
4694
4724
  // errors/invalid-stream-part-error.ts
4695
- var import_provider18 = require("@ai-sdk/provider");
4725
+ var import_provider19 = require("@ai-sdk/provider");
4696
4726
  var name14 = "AI_InvalidStreamPartError";
4697
4727
  var marker14 = `vercel.ai.error.${name14}`;
4698
4728
  var symbol14 = Symbol.for(marker14);
4699
4729
  var _a14;
4700
- var InvalidStreamPartError = class extends import_provider18.AISDKError {
4730
+ var InvalidStreamPartError = class extends import_provider19.AISDKError {
4701
4731
  constructor({
4702
4732
  chunk,
4703
4733
  message
@@ -4707,18 +4737,18 @@ var InvalidStreamPartError = class extends import_provider18.AISDKError {
4707
4737
  this.chunk = chunk;
4708
4738
  }
4709
4739
  static isInstance(error) {
4710
- return import_provider18.AISDKError.hasMarker(error, marker14);
4740
+ return import_provider19.AISDKError.hasMarker(error, marker14);
4711
4741
  }
4712
4742
  };
4713
4743
  _a14 = symbol14;
4714
4744
 
4715
4745
  // errors/mcp-client-error.ts
4716
- var import_provider19 = require("@ai-sdk/provider");
4746
+ var import_provider20 = require("@ai-sdk/provider");
4717
4747
  var name15 = "AI_MCPClientError";
4718
4748
  var marker15 = `vercel.ai.error.${name15}`;
4719
4749
  var symbol15 = Symbol.for(marker15);
4720
4750
  var _a15;
4721
- var MCPClientError = class extends import_provider19.AISDKError {
4751
+ var MCPClientError = class extends import_provider20.AISDKError {
4722
4752
  constructor({
4723
4753
  name: name17 = "MCPClientError",
4724
4754
  message,
@@ -4728,7 +4758,7 @@ var MCPClientError = class extends import_provider19.AISDKError {
4728
4758
  this[_a15] = true;
4729
4759
  }
4730
4760
  static isInstance(error) {
4731
- return import_provider19.AISDKError.hasMarker(error, marker15);
4761
+ return import_provider20.AISDKError.hasMarker(error, marker15);
4732
4762
  }
4733
4763
  };
4734
4764
  _a15 = symbol15;
@@ -4814,7 +4844,7 @@ var object = ({
4814
4844
 
4815
4845
  // core/generate-text/smooth-stream.ts
4816
4846
  var import_provider_utils12 = require("@ai-sdk/provider-utils");
4817
- var import_provider21 = require("@ai-sdk/provider");
4847
+ var import_provider22 = require("@ai-sdk/provider");
4818
4848
  var CHUNKING_REGEXPS = {
4819
4849
  word: /\S+\s+/m,
4820
4850
  line: /\n+/m
@@ -4844,7 +4874,7 @@ function smoothStream({
4844
4874
  } else {
4845
4875
  const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
4846
4876
  if (chunkingRegex == null) {
4847
- throw new import_provider21.InvalidArgumentError({
4877
+ throw new import_provider22.InvalidArgumentError({
4848
4878
  argument: "chunking",
4849
4879
  message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
4850
4880
  });
@@ -4882,7 +4912,7 @@ function smoothStream({
4882
4912
  }
4883
4913
 
4884
4914
  // core/generate-text/stream-text.ts
4885
- var import_provider22 = require("@ai-sdk/provider");
4915
+ var import_provider23 = require("@ai-sdk/provider");
4886
4916
  var import_provider_utils13 = require("@ai-sdk/provider-utils");
4887
4917
  var import_ui_utils8 = require("@ai-sdk/ui-utils");
4888
4918
 
@@ -5243,6 +5273,9 @@ function streamText({
5243
5273
  } = {},
5244
5274
  ...settings
5245
5275
  }) {
5276
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
5277
+ throw new UnsupportedModelVersionError();
5278
+ }
5246
5279
  return new DefaultStreamTextResult({
5247
5280
  model,
5248
5281
  telemetry,
@@ -5420,7 +5453,7 @@ var DefaultStreamTextResult = class {
5420
5453
  }
5421
5454
  if (part.type === "reasoning-signature") {
5422
5455
  if (activeReasoningText == null) {
5423
- throw new import_provider22.AISDKError({
5456
+ throw new import_provider23.AISDKError({
5424
5457
  name: "InvalidStreamPart",
5425
5458
  message: "reasoning-signature without reasoning"
5426
5459
  });
@@ -6435,8 +6468,8 @@ var DefaultStreamTextResult = class {
6435
6468
  };
6436
6469
 
6437
6470
  // errors/no-speech-generated-error.ts
6438
- var import_provider23 = require("@ai-sdk/provider");
6439
- var NoSpeechGeneratedError = class extends import_provider23.AISDKError {
6471
+ var import_provider24 = require("@ai-sdk/provider");
6472
+ var NoSpeechGeneratedError = class extends import_provider24.AISDKError {
6440
6473
  constructor(options) {
6441
6474
  super({
6442
6475
  name: "AI_NoSpeechGeneratedError",
@@ -6485,6 +6518,9 @@ async function generateSpeech({
6485
6518
  headers
6486
6519
  }) {
6487
6520
  var _a17;
6521
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
6522
+ throw new UnsupportedModelVersionError();
6523
+ }
6488
6524
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
6489
6525
  const result = await retry(
6490
6526
  () => model.doGenerate({
@@ -6525,8 +6561,8 @@ var DefaultSpeechResult = class {
6525
6561
  };
6526
6562
 
6527
6563
  // errors/no-transcript-generated-error.ts
6528
- var import_provider24 = require("@ai-sdk/provider");
6529
- var NoTranscriptGeneratedError = class extends import_provider24.AISDKError {
6564
+ var import_provider25 = require("@ai-sdk/provider");
6565
+ var NoTranscriptGeneratedError = class extends import_provider25.AISDKError {
6530
6566
  constructor(options) {
6531
6567
  super({
6532
6568
  name: "AI_NoTranscriptGeneratedError",
@@ -6545,6 +6581,9 @@ async function transcribe({
6545
6581
  abortSignal,
6546
6582
  headers
6547
6583
  }) {
6584
+ if (typeof model === "string" || model.specificationVersion !== "v1") {
6585
+ throw new UnsupportedModelVersionError();
6586
+ }
6548
6587
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
6549
6588
  const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
6550
6589
  const result = await retry(
@@ -6903,7 +6942,7 @@ function appendClientMessage({
6903
6942
 
6904
6943
  // core/prompt/append-response-messages.ts
6905
6944
  var import_ui_utils9 = require("@ai-sdk/ui-utils");
6906
- var import_provider25 = require("@ai-sdk/provider");
6945
+ var import_provider26 = require("@ai-sdk/provider");
6907
6946
  function appendResponseMessages({
6908
6947
  messages,
6909
6948
  responseMessages,
@@ -6986,7 +7025,7 @@ function appendResponseMessages({
6986
7025
  break;
6987
7026
  case "file":
6988
7027
  if (part.data instanceof URL) {
6989
- throw new import_provider25.AISDKError({
7028
+ throw new import_provider26.AISDKError({
6990
7029
  name: "InvalidAssistantFileData",
6991
7030
  message: "File data cannot be a URL"
6992
7031
  });
@@ -7080,7 +7119,7 @@ function appendResponseMessages({
7080
7119
  }
7081
7120
 
7082
7121
  // core/registry/custom-provider.ts
7083
- var import_provider26 = require("@ai-sdk/provider");
7122
+ var import_provider27 = require("@ai-sdk/provider");
7084
7123
  function customProvider({
7085
7124
  languageModels,
7086
7125
  textEmbeddingModels,
@@ -7095,7 +7134,7 @@ function customProvider({
7095
7134
  if (fallbackProvider) {
7096
7135
  return fallbackProvider.languageModel(modelId);
7097
7136
  }
7098
- throw new import_provider26.NoSuchModelError({ modelId, modelType: "languageModel" });
7137
+ throw new import_provider27.NoSuchModelError({ modelId, modelType: "languageModel" });
7099
7138
  },
7100
7139
  textEmbeddingModel(modelId) {
7101
7140
  if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
@@ -7104,7 +7143,7 @@ function customProvider({
7104
7143
  if (fallbackProvider) {
7105
7144
  return fallbackProvider.textEmbeddingModel(modelId);
7106
7145
  }
7107
- throw new import_provider26.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
7146
+ throw new import_provider27.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
7108
7147
  },
7109
7148
  imageModel(modelId) {
7110
7149
  if (imageModels != null && modelId in imageModels) {
@@ -7113,19 +7152,19 @@ function customProvider({
7113
7152
  if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
7114
7153
  return fallbackProvider.imageModel(modelId);
7115
7154
  }
7116
- throw new import_provider26.NoSuchModelError({ modelId, modelType: "imageModel" });
7155
+ throw new import_provider27.NoSuchModelError({ modelId, modelType: "imageModel" });
7117
7156
  }
7118
7157
  };
7119
7158
  }
7120
7159
  var experimental_customProvider = customProvider;
7121
7160
 
7122
7161
  // core/registry/no-such-provider-error.ts
7123
- var import_provider27 = require("@ai-sdk/provider");
7162
+ var import_provider28 = require("@ai-sdk/provider");
7124
7163
  var name16 = "AI_NoSuchProviderError";
7125
7164
  var marker16 = `vercel.ai.error.${name16}`;
7126
7165
  var symbol16 = Symbol.for(marker16);
7127
7166
  var _a16;
7128
- var NoSuchProviderError = class extends import_provider27.NoSuchModelError {
7167
+ var NoSuchProviderError = class extends import_provider28.NoSuchModelError {
7129
7168
  constructor({
7130
7169
  modelId,
7131
7170
  modelType,
@@ -7139,13 +7178,13 @@ var NoSuchProviderError = class extends import_provider27.NoSuchModelError {
7139
7178
  this.availableProviders = availableProviders;
7140
7179
  }
7141
7180
  static isInstance(error) {
7142
- return import_provider27.AISDKError.hasMarker(error, marker16);
7181
+ return import_provider28.AISDKError.hasMarker(error, marker16);
7143
7182
  }
7144
7183
  };
7145
7184
  _a16 = symbol16;
7146
7185
 
7147
7186
  // core/registry/provider-registry.ts
7148
- var import_provider28 = require("@ai-sdk/provider");
7187
+ var import_provider29 = require("@ai-sdk/provider");
7149
7188
  function createProviderRegistry(providers, {
7150
7189
  separator = ":"
7151
7190
  } = {}) {
@@ -7184,7 +7223,7 @@ var DefaultProviderRegistry = class {
7184
7223
  splitId(id, modelType) {
7185
7224
  const index = id.indexOf(this.separator);
7186
7225
  if (index === -1) {
7187
- throw new import_provider28.NoSuchModelError({
7226
+ throw new import_provider29.NoSuchModelError({
7188
7227
  modelId: id,
7189
7228
  modelType,
7190
7229
  message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
@@ -7197,7 +7236,7 @@ var DefaultProviderRegistry = class {
7197
7236
  const [providerId, modelId] = this.splitId(id, "languageModel");
7198
7237
  const model = (_b = (_a17 = this.getProvider(providerId)).languageModel) == null ? void 0 : _b.call(_a17, modelId);
7199
7238
  if (model == null) {
7200
- throw new import_provider28.NoSuchModelError({ modelId: id, modelType: "languageModel" });
7239
+ throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "languageModel" });
7201
7240
  }
7202
7241
  return model;
7203
7242
  }
@@ -7207,7 +7246,7 @@ var DefaultProviderRegistry = class {
7207
7246
  const provider = this.getProvider(providerId);
7208
7247
  const model = (_a17 = provider.textEmbeddingModel) == null ? void 0 : _a17.call(provider, modelId);
7209
7248
  if (model == null) {
7210
- throw new import_provider28.NoSuchModelError({
7249
+ throw new import_provider29.NoSuchModelError({
7211
7250
  modelId: id,
7212
7251
  modelType: "textEmbeddingModel"
7213
7252
  });
@@ -7220,7 +7259,7 @@ var DefaultProviderRegistry = class {
7220
7259
  const provider = this.getProvider(providerId);
7221
7260
  const model = (_a17 = provider.imageModel) == null ? void 0 : _a17.call(provider, modelId);
7222
7261
  if (model == null) {
7223
- throw new import_provider28.NoSuchModelError({ modelId: id, modelType: "imageModel" });
7262
+ throw new import_provider29.NoSuchModelError({ modelId: id, modelType: "imageModel" });
7224
7263
  }
7225
7264
  return model;
7226
7265
  }
@@ -8215,6 +8254,7 @@ var StreamData = class {
8215
8254
  ToolExecutionError,
8216
8255
  TypeValidationError,
8217
8256
  UnsupportedFunctionalityError,
8257
+ UnsupportedModelVersionError,
8218
8258
  appendClientMessage,
8219
8259
  appendResponseMessages,
8220
8260
  convertToCoreMessages,