ai 5.0.199 → 5.0.200

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") {
@@ -147,37 +147,11 @@ function detectMediaType({
147
147
  return void 0;
148
148
  }
149
149
 
150
- // src/util/download/download-error.ts
151
- var import_provider = require("@ai-sdk/provider");
152
- var name = "AI_DownloadError";
153
- var marker = `vercel.ai.error.${name}`;
154
- var symbol = Symbol.for(marker);
155
- var _a;
156
- var DownloadError = class extends import_provider.AISDKError {
157
- constructor({
158
- url,
159
- statusCode,
160
- statusText,
161
- cause,
162
- message = cause == null ? `Failed to download ${url}: ${statusCode} ${statusText}` : `Failed to download ${url}: ${cause}`
163
- }) {
164
- super({ name, message, cause });
165
- this[_a] = true;
166
- this.url = url;
167
- this.statusCode = statusCode;
168
- this.statusText = statusText;
169
- }
170
- static isInstance(error) {
171
- return import_provider.AISDKError.hasMarker(error, marker);
172
- }
173
- };
174
- _a = symbol;
175
-
176
150
  // src/util/download/download.ts
177
151
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
178
152
 
179
153
  // src/version.ts
180
- var VERSION = true ? "5.0.199" : "0.0.0-test";
154
+ var VERSION = true ? "5.0.200" : "0.0.0-test";
181
155
 
182
156
  // src/util/download/download.ts
183
157
  var download = async ({
@@ -185,23 +159,21 @@ var download = async ({
185
159
  maxBytes,
186
160
  abortSignal
187
161
  }) => {
188
- var _a5;
162
+ var _a4;
189
163
  const urlText = url.toString();
190
- (0, import_provider_utils2.validateDownloadUrl)(urlText);
191
164
  try {
192
- const response = await fetch(urlText, {
193
- headers: (0, import_provider_utils2.withUserAgentSuffix)(
194
- {},
195
- `ai-sdk/${VERSION}`,
196
- (0, import_provider_utils2.getRuntimeEnvironmentUserAgent)()
197
- ),
198
- signal: abortSignal
165
+ const headers = (0, import_provider_utils2.withUserAgentSuffix)(
166
+ {},
167
+ `ai-sdk/${VERSION}`,
168
+ (0, import_provider_utils2.getRuntimeEnvironmentUserAgent)()
169
+ );
170
+ const response = await (0, import_provider_utils2.fetchWithValidatedRedirects)({
171
+ url: urlText,
172
+ headers,
173
+ abortSignal
199
174
  });
200
- if (response.redirected) {
201
- (0, import_provider_utils2.validateDownloadUrl)(response.url);
202
- }
203
175
  if (!response.ok) {
204
- throw new DownloadError({
176
+ throw new import_provider_utils2.DownloadError({
205
177
  url: urlText,
206
178
  statusCode: response.status,
207
179
  statusText: response.statusText
@@ -214,13 +186,13 @@ var download = async ({
214
186
  });
215
187
  return {
216
188
  data,
217
- mediaType: (_a5 = response.headers.get("content-type")) != null ? _a5 : void 0
189
+ mediaType: (_a4 = response.headers.get("content-type")) != null ? _a4 : void 0
218
190
  };
219
191
  } catch (error) {
220
- if (DownloadError.isInstance(error)) {
192
+ if (import_provider_utils2.DownloadError.isInstance(error)) {
221
193
  throw error;
222
194
  }
223
- throw new DownloadError({ url: urlText, cause: error });
195
+ throw new import_provider_utils2.DownloadError({ url: urlText, cause: error });
224
196
  }
225
197
  };
226
198
 
@@ -232,7 +204,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
232
204
  );
233
205
 
234
206
  // src/prompt/data-content.ts
235
- var import_provider2 = require("@ai-sdk/provider");
207
+ var import_provider = require("@ai-sdk/provider");
236
208
  var import_provider_utils3 = require("@ai-sdk/provider-utils");
237
209
  var import_v4 = require("zod/v4");
238
210
 
@@ -260,8 +232,8 @@ var dataContentSchema = import_v4.z.union([
260
232
  import_v4.z.custom(
261
233
  // Buffer might not be available in some environments such as CloudFlare:
262
234
  (value) => {
263
- var _a5, _b;
264
- return (_b = (_a5 = globalThis.Buffer) == null ? void 0 : _a5.isBuffer(value)) != null ? _b : false;
235
+ var _a4, _b;
236
+ return (_b = (_a4 = globalThis.Buffer) == null ? void 0 : _a4.isBuffer(value)) != null ? _b : false;
265
237
  },
266
238
  { message: "Must be a Buffer" }
267
239
  )
@@ -284,7 +256,7 @@ function convertToLanguageModelV2DataContent(content) {
284
256
  content.toString()
285
257
  );
286
258
  if (dataUrlMediaType == null || base64Content == null) {
287
- throw new import_provider2.AISDKError({
259
+ throw new import_provider.AISDKError({
288
260
  name: "InvalidDataContentError",
289
261
  message: `Invalid data URL format in content ${content.toString()}`
290
262
  });
@@ -295,25 +267,25 @@ function convertToLanguageModelV2DataContent(content) {
295
267
  }
296
268
 
297
269
  // src/prompt/invalid-message-role-error.ts
298
- var import_provider3 = require("@ai-sdk/provider");
299
- var name2 = "AI_InvalidMessageRoleError";
300
- var marker2 = `vercel.ai.error.${name2}`;
301
- var symbol2 = Symbol.for(marker2);
302
- var _a2;
303
- var InvalidMessageRoleError = class extends import_provider3.AISDKError {
270
+ var import_provider2 = require("@ai-sdk/provider");
271
+ var name = "AI_InvalidMessageRoleError";
272
+ var marker = `vercel.ai.error.${name}`;
273
+ var symbol = Symbol.for(marker);
274
+ var _a;
275
+ var InvalidMessageRoleError = class extends import_provider2.AISDKError {
304
276
  constructor({
305
277
  role,
306
278
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
307
279
  }) {
308
- super({ name: name2, message });
309
- this[_a2] = true;
280
+ super({ name, message });
281
+ this[_a] = true;
310
282
  this.role = role;
311
283
  }
312
284
  static isInstance(error) {
313
- return import_provider3.AISDKError.hasMarker(error, marker2);
285
+ return import_provider2.AISDKError.hasMarker(error, marker);
314
286
  }
315
287
  };
316
- _a2 = symbol2;
288
+ _a = symbol;
317
289
 
318
290
  // src/prompt/convert-to-language-model-prompt.ts
319
291
  async function convertToLanguageModelPrompt({
@@ -451,8 +423,8 @@ async function downloadAssets(messages, download2, supportedUrls) {
451
423
  ).flat().filter(
452
424
  (part) => part.type === "image" || part.type === "file"
453
425
  ).map((part) => {
454
- var _a5;
455
- const mediaType = (_a5 = part.mediaType) != null ? _a5 : part.type === "image" ? "image/*" : void 0;
426
+ var _a4;
427
+ const mediaType = (_a4 = part.mediaType) != null ? _a4 : part.type === "image" ? "image/*" : void 0;
456
428
  let data = part.type === "image" ? part.image : part.data;
457
429
  if (typeof data === "string") {
458
430
  try {
@@ -482,7 +454,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
482
454
  );
483
455
  }
484
456
  function convertPartToLanguageModelPart(part, downloadedAssets) {
485
- var _a5;
457
+ var _a4;
486
458
  if (part.type === "text") {
487
459
  return {
488
460
  type: "text",
@@ -515,7 +487,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
515
487
  switch (type) {
516
488
  case "image": {
517
489
  if (data instanceof Uint8Array || typeof data === "string") {
518
- mediaType = (_a5 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a5 : mediaType;
490
+ mediaType = (_a4 = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _a4 : mediaType;
519
491
  }
520
492
  return {
521
493
  type: "file",
@@ -562,10 +534,10 @@ function prepareToolsAndToolChoice({
562
534
  };
563
535
  }
564
536
  const filteredTools = activeTools != null ? Object.entries(tools).filter(
565
- ([name5]) => activeTools.includes(name5)
537
+ ([name4]) => activeTools.includes(name4)
566
538
  ) : Object.entries(tools);
567
539
  return {
568
- tools: filteredTools.map(([name5, tool]) => {
540
+ tools: filteredTools.map(([name4, tool]) => {
569
541
  const toolType = tool.type;
570
542
  switch (toolType) {
571
543
  case void 0:
@@ -573,7 +545,7 @@ function prepareToolsAndToolChoice({
573
545
  case "function":
574
546
  return {
575
547
  type: "function",
576
- name: name5,
548
+ name: name4,
577
549
  description: tool.description,
578
550
  inputSchema: (0, import_provider_utils5.asSchema)(tool.inputSchema).jsonSchema,
579
551
  providerOptions: tool.providerOptions
@@ -581,7 +553,7 @@ function prepareToolsAndToolChoice({
581
553
  case "provider-defined":
582
554
  return {
583
555
  type: "provider-defined",
584
- name: name5,
556
+ name: name4,
585
557
  id: tool.id,
586
558
  args: tool.args
587
559
  };
@@ -596,7 +568,7 @@ function prepareToolsAndToolChoice({
596
568
  }
597
569
 
598
570
  // src/prompt/standardize-prompt.ts
599
- var import_provider4 = require("@ai-sdk/provider");
571
+ var import_provider3 = require("@ai-sdk/provider");
600
572
  var import_provider_utils6 = require("@ai-sdk/provider-utils");
601
573
  var import_v46 = require("zod/v4");
602
574
 
@@ -752,19 +724,19 @@ async function standardizePrompt({
752
724
  messages
753
725
  }) {
754
726
  if (prompt == null && messages == null) {
755
- throw new import_provider4.InvalidPromptError({
727
+ throw new import_provider3.InvalidPromptError({
756
728
  prompt,
757
729
  message: "prompt or messages must be defined"
758
730
  });
759
731
  }
760
732
  if (prompt != null && messages != null) {
761
- throw new import_provider4.InvalidPromptError({
733
+ throw new import_provider3.InvalidPromptError({
762
734
  prompt,
763
735
  message: "prompt and messages cannot be defined at the same time"
764
736
  });
765
737
  }
766
738
  if (system != null && typeof system !== "string") {
767
- throw new import_provider4.InvalidPromptError({
739
+ throw new import_provider3.InvalidPromptError({
768
740
  prompt,
769
741
  message: "system must be a string"
770
742
  });
@@ -774,20 +746,20 @@ async function standardizePrompt({
774
746
  } else if (prompt != null && Array.isArray(prompt)) {
775
747
  messages = prompt;
776
748
  } else if (messages == null) {
777
- throw new import_provider4.InvalidPromptError({
749
+ throw new import_provider3.InvalidPromptError({
778
750
  prompt,
779
751
  message: "prompt or messages must be defined"
780
752
  });
781
753
  }
782
754
  if (messages.length === 0) {
783
- throw new import_provider4.InvalidPromptError({
755
+ throw new import_provider3.InvalidPromptError({
784
756
  prompt,
785
757
  message: "messages must not be empty"
786
758
  });
787
759
  }
788
760
  if (messages.some((message) => message.role === "system")) {
789
761
  if (allowSystemInMessages === false) {
790
- throw new import_provider4.InvalidPromptError({
762
+ throw new import_provider3.InvalidPromptError({
791
763
  prompt,
792
764
  message: "System messages are not allowed in the prompt or messages fields. Use the system option instead."
793
765
  });
@@ -803,7 +775,7 @@ async function standardizePrompt({
803
775
  schema: import_v46.z.array(modelMessageSchema)
804
776
  });
805
777
  if (!validationResult.success) {
806
- throw new import_provider4.InvalidPromptError({
778
+ throw new import_provider3.InvalidPromptError({
807
779
  prompt,
808
780
  message: "The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",
809
781
  cause: validationResult.error
@@ -813,30 +785,30 @@ async function standardizePrompt({
813
785
  }
814
786
 
815
787
  // src/error/invalid-argument-error.ts
816
- var import_provider5 = require("@ai-sdk/provider");
817
- var name3 = "AI_InvalidArgumentError";
818
- var marker3 = `vercel.ai.error.${name3}`;
819
- var symbol3 = Symbol.for(marker3);
820
- var _a3;
821
- var InvalidArgumentError = class extends import_provider5.AISDKError {
788
+ var import_provider4 = require("@ai-sdk/provider");
789
+ var name2 = "AI_InvalidArgumentError";
790
+ var marker2 = `vercel.ai.error.${name2}`;
791
+ var symbol2 = Symbol.for(marker2);
792
+ var _a2;
793
+ var InvalidArgumentError = class extends import_provider4.AISDKError {
822
794
  constructor({
823
795
  parameter,
824
796
  value,
825
797
  message
826
798
  }) {
827
799
  super({
828
- name: name3,
800
+ name: name2,
829
801
  message: `Invalid argument for parameter ${parameter}: ${message}`
830
802
  });
831
- this[_a3] = true;
803
+ this[_a2] = true;
832
804
  this.parameter = parameter;
833
805
  this.value = value;
834
806
  }
835
807
  static isInstance(error) {
836
- return import_provider5.AISDKError.hasMarker(error, marker3);
808
+ return import_provider4.AISDKError.hasMarker(error, marker2);
837
809
  }
838
810
  };
839
- _a3 = symbol3;
811
+ _a2 = symbol2;
840
812
 
841
813
  // src/prompt/prepare-call-settings.ts
842
814
  function prepareCallSettings({
@@ -932,32 +904,32 @@ function prepareCallSettings({
932
904
  }
933
905
 
934
906
  // src/util/retry-with-exponential-backoff.ts
935
- var import_provider7 = require("@ai-sdk/provider");
907
+ var import_provider6 = require("@ai-sdk/provider");
936
908
  var import_provider_utils7 = require("@ai-sdk/provider-utils");
937
909
 
938
910
  // src/util/retry-error.ts
939
- var import_provider6 = require("@ai-sdk/provider");
940
- var name4 = "AI_RetryError";
941
- var marker4 = `vercel.ai.error.${name4}`;
942
- var symbol4 = Symbol.for(marker4);
943
- var _a4;
944
- var RetryError = class extends import_provider6.AISDKError {
911
+ var import_provider5 = require("@ai-sdk/provider");
912
+ var name3 = "AI_RetryError";
913
+ var marker3 = `vercel.ai.error.${name3}`;
914
+ var symbol3 = Symbol.for(marker3);
915
+ var _a3;
916
+ var RetryError = class extends import_provider5.AISDKError {
945
917
  constructor({
946
918
  message,
947
919
  reason,
948
920
  errors
949
921
  }) {
950
- super({ name: name4, message });
951
- this[_a4] = true;
922
+ super({ name: name3, message });
923
+ this[_a3] = true;
952
924
  this.reason = reason;
953
925
  this.errors = errors;
954
926
  this.lastError = errors[errors.length - 1];
955
927
  }
956
928
  static isInstance(error) {
957
- return import_provider6.AISDKError.hasMarker(error, marker4);
929
+ return import_provider5.AISDKError.hasMarker(error, marker3);
958
930
  }
959
931
  };
960
- _a4 = symbol4;
932
+ _a3 = symbol3;
961
933
 
962
934
  // src/util/retry-with-exponential-backoff.ts
963
935
  function getRetryDelayInMs({
@@ -1025,7 +997,7 @@ async function _retryWithExponentialBackoff(f, {
1025
997
  errors: newErrors
1026
998
  });
1027
999
  }
1028
- if (error instanceof Error && import_provider7.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1000
+ if (error instanceof Error && import_provider6.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
1029
1001
  await (0, import_provider_utils7.delay)(
1030
1002
  getRetryDelayInMs({
1031
1003
  error,