ai 6.0.0-beta.157 → 6.0.0-beta.160

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.
@@ -4,8 +4,8 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __export = (target, all) => {
7
- for (var name5 in all)
8
- __defProp(target, name5, { get: all[name5], enumerable: true });
7
+ for (var name4 in all)
8
+ __defProp(target, name4, { get: all[name4], enumerable: true });
9
9
  };
10
10
  var __copyProps = (to, from, except, desc) => {
11
11
  if (from && typeof from === "object" || typeof from === "function") {
@@ -21,7 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var internal_exports = {};
22
22
  __export(internal_exports, {
23
23
  asLanguageModelUsage: () => asLanguageModelUsage,
24
- convertAsyncIteratorToReadableStream: () => import_provider_utils8.convertAsyncIteratorToReadableStream,
24
+ convertAsyncIteratorToReadableStream: () => import_provider_utils9.convertAsyncIteratorToReadableStream,
25
25
  convertToLanguageModelPrompt: () => convertToLanguageModelPrompt,
26
26
  prepareCallSettings: () => prepareCallSettings,
27
27
  prepareRetries: () => prepareRetries,
@@ -29,10 +29,10 @@ __export(internal_exports, {
29
29
  standardizePrompt: () => standardizePrompt
30
30
  });
31
31
  module.exports = __toCommonJS(internal_exports);
32
- var import_provider_utils8 = require("@ai-sdk/provider-utils");
32
+ var import_provider_utils9 = require("@ai-sdk/provider-utils");
33
33
 
34
34
  // src/prompt/convert-to-language-model-prompt.ts
35
- var import_provider_utils4 = require("@ai-sdk/provider-utils");
35
+ var import_provider_utils5 = require("@ai-sdk/provider-utils");
36
36
 
37
37
  // src/util/detect-media-type.ts
38
38
  var import_provider_utils = require("@ai-sdk/provider-utils");
@@ -148,52 +148,27 @@ function detectMediaType({
148
148
  return void 0;
149
149
  }
150
150
 
151
- // src/util/download/download-error.ts
152
- var import_provider = require("@ai-sdk/provider");
153
- var name = "AI_DownloadError";
154
- var marker = `vercel.ai.error.${name}`;
155
- var symbol = Symbol.for(marker);
156
- var _a;
157
- var DownloadError = class extends import_provider.AISDKError {
158
- constructor({
159
- url,
160
- statusCode,
161
- statusText,
162
- cause,
163
- message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}`
164
- }) {
165
- super({ name, message, cause });
166
- this[_a] = true;
167
- this.url = url;
168
- this.statusCode = statusCode;
169
- this.statusText = statusText;
170
- }
171
- static isInstance(error) {
172
- return import_provider.AISDKError.hasMarker(error, marker);
173
- }
174
- };
175
- _a = symbol;
176
-
177
151
  // src/util/download/download.ts
178
152
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
153
+ var import_provider_utils3 = require("@ai-sdk/provider-utils");
179
154
 
180
155
  // src/version.ts
181
- var VERSION = true ? "6.0.0-beta.157" : "0.0.0-test";
156
+ var VERSION = true ? "6.0.0-beta.160" : "0.0.0-test";
182
157
 
183
158
  // src/util/download/download.ts
184
159
  var download = async ({ url }) => {
185
- var _a5;
160
+ var _a4;
186
161
  const urlText = url.toString();
187
162
  try {
188
163
  const response = await fetch(urlText, {
189
- headers: (0, import_provider_utils2.withUserAgentSuffix)(
164
+ headers: (0, import_provider_utils3.withUserAgentSuffix)(
190
165
  {},
191
166
  `ai-sdk/${VERSION}`,
192
- (0, import_provider_utils2.getRuntimeEnvironmentUserAgent)()
167
+ (0, import_provider_utils3.getRuntimeEnvironmentUserAgent)()
193
168
  )
194
169
  });
195
170
  if (!response.ok) {
196
- throw new DownloadError({
171
+ throw new import_provider_utils2.DownloadError({
197
172
  url: urlText,
198
173
  statusCode: response.status,
199
174
  statusText: response.statusText
@@ -201,13 +176,13 @@ var download = async ({ url }) => {
201
176
  }
202
177
  return {
203
178
  data: new Uint8Array(await response.arrayBuffer()),
204
- mediaType: (_a5 = response.headers.get("content-type")) != null ? _a5 : void 0
179
+ mediaType: (_a4 = response.headers.get("content-type")) != null ? _a4 : void 0
205
180
  };
206
181
  } catch (error) {
207
- if (DownloadError.isInstance(error)) {
182
+ if (import_provider_utils2.DownloadError.isInstance(error)) {
208
183
  throw error;
209
184
  }
210
- throw new DownloadError({ url: urlText, cause: error });
185
+ throw new import_provider_utils2.DownloadError({ url: urlText, cause: error });
211
186
  }
212
187
  };
213
188
 
@@ -219,8 +194,8 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
219
194
  );
220
195
 
221
196
  // src/prompt/data-content.ts
222
- var import_provider2 = require("@ai-sdk/provider");
223
- var import_provider_utils3 = require("@ai-sdk/provider-utils");
197
+ var import_provider = require("@ai-sdk/provider");
198
+ var import_provider_utils4 = require("@ai-sdk/provider-utils");
224
199
  var import_v4 = require("zod/v4");
225
200
 
226
201
  // src/prompt/split-data-url.ts
@@ -247,8 +222,8 @@ var dataContentSchema = import_v4.z.union([
247
222
  import_v4.z.custom(
248
223
  // Buffer might not be available in some environments such as CloudFlare:
249
224
  (value) => {
250
- var _a5, _b;
251
- return (_b = (_a5 = globalThis.Buffer) == null ? void 0 : _a5.isBuffer(value)) != null ? _b : false;
225
+ var _a4, _b;
226
+ return (_b = (_a4 = globalThis.Buffer) == null ? void 0 : _a4.isBuffer(value)) != null ? _b : false;
252
227
  },
253
228
  { message: "Must be a Buffer" }
254
229
  )
@@ -271,7 +246,7 @@ function convertToLanguageModelV3DataContent(content) {
271
246
  content.toString()
272
247
  );
273
248
  if (dataUrlMediaType == null || base64Content == null) {
274
- throw new import_provider2.AISDKError({
249
+ throw new import_provider.AISDKError({
275
250
  name: "InvalidDataContentError",
276
251
  message: `Invalid data URL format in content ${content.toString()}`
277
252
  });
@@ -282,25 +257,25 @@ function convertToLanguageModelV3DataContent(content) {
282
257
  }
283
258
 
284
259
  // src/prompt/invalid-message-role-error.ts
285
- var import_provider3 = require("@ai-sdk/provider");
286
- var name2 = "AI_InvalidMessageRoleError";
287
- var marker2 = `vercel.ai.error.${name2}`;
288
- var symbol2 = Symbol.for(marker2);
289
- var _a2;
290
- var InvalidMessageRoleError = class extends import_provider3.AISDKError {
260
+ var import_provider2 = require("@ai-sdk/provider");
261
+ var name = "AI_InvalidMessageRoleError";
262
+ var marker = `vercel.ai.error.${name}`;
263
+ var symbol = Symbol.for(marker);
264
+ var _a;
265
+ var InvalidMessageRoleError = class extends import_provider2.AISDKError {
291
266
  constructor({
292
267
  role,
293
268
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
294
269
  }) {
295
- super({ name: name2, message });
296
- this[_a2] = true;
270
+ super({ name, message });
271
+ this[_a] = true;
297
272
  this.role = role;
298
273
  }
299
274
  static isInstance(error) {
300
- return import_provider3.AISDKError.hasMarker(error, marker2);
275
+ return import_provider2.AISDKError.hasMarker(error, marker);
301
276
  }
302
277
  };
303
- _a2 = symbol2;
278
+ _a = symbol;
304
279
 
305
280
  // src/util/as-array.ts
306
281
  function asArray(value) {
@@ -463,8 +438,8 @@ async function downloadAssets(messages, download2, supportedUrls) {
463
438
  ).flat().filter(
464
439
  (part) => part.type === "image" || part.type === "file"
465
440
  ).map((part) => {
466
- var _a5;
467
- const mediaType = (_a5 = part.mediaType) != null ? _a5 : part.type === "image" ? "image/*" : void 0;
441
+ var _a4;
442
+ const mediaType = (_a4 = part.mediaType) != null ? _a4 : part.type === "image" ? "image/*" : void 0;
468
443
  let data = part.type === "image" ? part.image : part.data;
469
444
  if (typeof data === "string") {
470
445
  try {
@@ -477,7 +452,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
477
452
  (part) => part.data instanceof URL
478
453
  ).map((part) => ({
479
454
  url: part.data,
480
- isUrlSupportedByModel: part.mediaType != null && (0, import_provider_utils4.isUrlSupported)({
455
+ isUrlSupportedByModel: part.mediaType != null && (0, import_provider_utils5.isUrlSupported)({
481
456
  url: part.data.toString(),
482
457
  mediaType: part.mediaType,
483
458
  supportedUrls
@@ -494,7 +469,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
494
469
  );
495
470
  }
496
471
  function convertPartToLanguageModelPart(part, downloadedAssets) {
497
- var _a5;
472
+ var _a4;
498
473
  if (part.type === "text") {
499
474
  return {
500
475
  type: "text",
@@ -527,7 +502,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
527
502
  switch (type) {
528
503
  case "image": {
529
504
  if (data instanceof Uint8Array || typeof data === "string") {
530
- mediaType = (_a5 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a5 : mediaType;
505
+ mediaType = (_a4 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a4 : mediaType;
531
506
  }
532
507
  return {
533
508
  type: "file",
@@ -579,7 +554,7 @@ function mapToolResultOutput(output) {
579
554
  }
580
555
 
581
556
  // src/prompt/prepare-tools-and-tool-choice.ts
582
- var import_provider_utils5 = require("@ai-sdk/provider-utils");
557
+ var import_provider_utils6 = require("@ai-sdk/provider-utils");
583
558
 
584
559
  // src/util/is-non-empty-object.ts
585
560
  function isNonEmptyObject(object) {
@@ -599,10 +574,10 @@ async function prepareToolsAndToolChoice({
599
574
  };
600
575
  }
601
576
  const filteredTools = activeTools != null ? Object.entries(tools).filter(
602
- ([name5]) => activeTools.includes(name5)
577
+ ([name4]) => activeTools.includes(name4)
603
578
  ) : Object.entries(tools);
604
579
  const languageModelTools = [];
605
- for (const [name5, tool] of filteredTools) {
580
+ for (const [name4, tool] of filteredTools) {
606
581
  const toolType = tool.type;
607
582
  switch (toolType) {
608
583
  case void 0:
@@ -610,9 +585,9 @@ async function prepareToolsAndToolChoice({
610
585
  case "function":
611
586
  languageModelTools.push({
612
587
  type: "function",
613
- name: name5,
588
+ name: name4,
614
589
  description: tool.description,
615
- inputSchema: await (0, import_provider_utils5.asSchema)(tool.inputSchema).jsonSchema,
590
+ inputSchema: await (0, import_provider_utils6.asSchema)(tool.inputSchema).jsonSchema,
616
591
  ...tool.inputExamples != null ? { inputExamples: tool.inputExamples } : {},
617
592
  providerOptions: tool.providerOptions,
618
593
  ...tool.strict != null ? { strict: tool.strict } : {}
@@ -621,7 +596,7 @@ async function prepareToolsAndToolChoice({
621
596
  case "provider":
622
597
  languageModelTools.push({
623
598
  type: "provider",
624
- name: name5,
599
+ name: name4,
625
600
  id: tool.id,
626
601
  args: tool.args
627
602
  });
@@ -639,8 +614,8 @@ async function prepareToolsAndToolChoice({
639
614
  }
640
615
 
641
616
  // src/prompt/standardize-prompt.ts
642
- var import_provider4 = require("@ai-sdk/provider");
643
- var import_provider_utils6 = require("@ai-sdk/provider-utils");
617
+ var import_provider3 = require("@ai-sdk/provider");
618
+ var import_provider_utils7 = require("@ai-sdk/provider-utils");
644
619
  var import_v46 = require("zod/v4");
645
620
 
646
621
  // src/prompt/message.ts
@@ -852,13 +827,13 @@ var modelMessageSchema = import_v45.z.union([
852
827
  // src/prompt/standardize-prompt.ts
853
828
  async function standardizePrompt(prompt) {
854
829
  if (prompt.prompt == null && prompt.messages == null) {
855
- throw new import_provider4.InvalidPromptError({
830
+ throw new import_provider3.InvalidPromptError({
856
831
  prompt,
857
832
  message: "prompt or messages must be defined"
858
833
  });
859
834
  }
860
835
  if (prompt.prompt != null && prompt.messages != null) {
861
- throw new import_provider4.InvalidPromptError({
836
+ throw new import_provider3.InvalidPromptError({
862
837
  prompt,
863
838
  message: "prompt and messages cannot be defined at the same time"
864
839
  });
@@ -866,7 +841,7 @@ async function standardizePrompt(prompt) {
866
841
  if (prompt.system != null && typeof prompt.system !== "string" && !asArray(prompt.system).every(
867
842
  (message) => typeof message === "object" && message !== null && "role" in message && message.role === "system"
868
843
  )) {
869
- throw new import_provider4.InvalidPromptError({
844
+ throw new import_provider3.InvalidPromptError({
870
845
  prompt,
871
846
  message: "system must be a string, SystemModelMessage, or array of SystemModelMessage"
872
847
  });
@@ -879,23 +854,23 @@ async function standardizePrompt(prompt) {
879
854
  } else if (prompt.messages != null) {
880
855
  messages = prompt.messages;
881
856
  } else {
882
- throw new import_provider4.InvalidPromptError({
857
+ throw new import_provider3.InvalidPromptError({
883
858
  prompt,
884
859
  message: "prompt or messages must be defined"
885
860
  });
886
861
  }
887
862
  if (messages.length === 0) {
888
- throw new import_provider4.InvalidPromptError({
863
+ throw new import_provider3.InvalidPromptError({
889
864
  prompt,
890
865
  message: "messages must not be empty"
891
866
  });
892
867
  }
893
- const validationResult = await (0, import_provider_utils6.safeValidateTypes)({
868
+ const validationResult = await (0, import_provider_utils7.safeValidateTypes)({
894
869
  value: messages,
895
870
  schema: import_v46.z.array(modelMessageSchema)
896
871
  });
897
872
  if (!validationResult.success) {
898
- throw new import_provider4.InvalidPromptError({
873
+ throw new import_provider3.InvalidPromptError({
899
874
  prompt,
900
875
  message: "The messages do not match the ModelMessage[] schema.",
901
876
  cause: validationResult.error
@@ -908,30 +883,30 @@ async function standardizePrompt(prompt) {
908
883
  }
909
884
 
910
885
  // src/error/invalid-argument-error.ts
911
- var import_provider5 = require("@ai-sdk/provider");
912
- var name3 = "AI_InvalidArgumentError";
913
- var marker3 = `vercel.ai.error.${name3}`;
914
- var symbol3 = Symbol.for(marker3);
915
- var _a3;
916
- var InvalidArgumentError = class extends import_provider5.AISDKError {
886
+ var import_provider4 = require("@ai-sdk/provider");
887
+ var name2 = "AI_InvalidArgumentError";
888
+ var marker2 = `vercel.ai.error.${name2}`;
889
+ var symbol2 = Symbol.for(marker2);
890
+ var _a2;
891
+ var InvalidArgumentError = class extends import_provider4.AISDKError {
917
892
  constructor({
918
893
  parameter,
919
894
  value,
920
895
  message
921
896
  }) {
922
897
  super({
923
- name: name3,
898
+ name: name2,
924
899
  message: `Invalid argument for parameter ${parameter}: ${message}`
925
900
  });
926
- this[_a3] = true;
901
+ this[_a2] = true;
927
902
  this.parameter = parameter;
928
903
  this.value = value;
929
904
  }
930
905
  static isInstance(error) {
931
- return import_provider5.AISDKError.hasMarker(error, marker3);
906
+ return import_provider4.AISDKError.hasMarker(error, marker2);
932
907
  }
933
908
  };
934
- _a3 = symbol3;
909
+ _a2 = symbol2;
935
910
 
936
911
  // src/prompt/prepare-call-settings.ts
937
912
  function prepareCallSettings({
@@ -1027,32 +1002,32 @@ function prepareCallSettings({
1027
1002
  }
1028
1003
 
1029
1004
  // src/util/retry-with-exponential-backoff.ts
1030
- var import_provider7 = require("@ai-sdk/provider");
1031
- var import_provider_utils7 = require("@ai-sdk/provider-utils");
1005
+ var import_provider6 = require("@ai-sdk/provider");
1006
+ var import_provider_utils8 = require("@ai-sdk/provider-utils");
1032
1007
 
1033
1008
  // src/util/retry-error.ts
1034
- var import_provider6 = require("@ai-sdk/provider");
1035
- var name4 = "AI_RetryError";
1036
- var marker4 = `vercel.ai.error.${name4}`;
1037
- var symbol4 = Symbol.for(marker4);
1038
- var _a4;
1039
- var RetryError = class extends import_provider6.AISDKError {
1009
+ var import_provider5 = require("@ai-sdk/provider");
1010
+ var name3 = "AI_RetryError";
1011
+ var marker3 = `vercel.ai.error.${name3}`;
1012
+ var symbol3 = Symbol.for(marker3);
1013
+ var _a3;
1014
+ var RetryError = class extends import_provider5.AISDKError {
1040
1015
  constructor({
1041
1016
  message,
1042
1017
  reason,
1043
1018
  errors
1044
1019
  }) {
1045
- super({ name: name4, message });
1046
- this[_a4] = true;
1020
+ super({ name: name3, message });
1021
+ this[_a3] = true;
1047
1022
  this.reason = reason;
1048
1023
  this.errors = errors;
1049
1024
  this.lastError = errors[errors.length - 1];
1050
1025
  }
1051
1026
  static isInstance(error) {
1052
- return import_provider6.AISDKError.hasMarker(error, marker4);
1027
+ return import_provider5.AISDKError.hasMarker(error, marker3);
1053
1028
  }
1054
1029
  };
1055
- _a4 = symbol4;
1030
+ _a3 = symbol3;
1056
1031
 
1057
1032
  // src/util/retry-with-exponential-backoff.ts
1058
1033
  function getRetryDelayInMs({
@@ -1104,13 +1079,13 @@ async function _retryWithExponentialBackoff(f, {
1104
1079
  try {
1105
1080
  return await f();
1106
1081
  } catch (error) {
1107
- if ((0, import_provider_utils7.isAbortError)(error)) {
1082
+ if ((0, import_provider_utils8.isAbortError)(error)) {
1108
1083
  throw error;
1109
1084
  }
1110
1085
  if (maxRetries === 0) {
1111
1086
  throw error;
1112
1087
  }
1113
- const errorMessage = (0, import_provider_utils7.getErrorMessage)(error);
1088
+ const errorMessage = (0, import_provider_utils8.getErrorMessage)(error);
1114
1089
  const newErrors = [...errors, error];
1115
1090
  const tryNumber = newErrors.length;
1116
1091
  if (tryNumber > maxRetries) {
@@ -1120,8 +1095,8 @@ async function _retryWithExponentialBackoff(f, {
1120
1095
  errors: newErrors
1121
1096
  });
1122
1097
  }
1123
- if (error instanceof Error && import_provider7.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1124
- await (0, import_provider_utils7.delay)(
1098
+ if (error instanceof Error && import_provider6.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1099
+ await (0, import_provider_utils8.delay)(
1125
1100
  getRetryDelayInMs({
1126
1101
  error,
1127
1102
  exponentialBackoffDelay: delayInMs