ai 6.0.83 → 6.0.85

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
@@ -1093,17 +1093,25 @@ function detectMediaType({
1093
1093
  }
1094
1094
 
1095
1095
  // src/util/download/download.ts
1096
- import { DownloadError as DownloadError2 } from "@ai-sdk/provider-utils";
1096
+ import {
1097
+ DownloadError as DownloadError2,
1098
+ readResponseWithSizeLimit,
1099
+ DEFAULT_MAX_DOWNLOAD_SIZE
1100
+ } from "@ai-sdk/provider-utils";
1097
1101
  import {
1098
1102
  withUserAgentSuffix,
1099
1103
  getRuntimeEnvironmentUserAgent
1100
1104
  } from "@ai-sdk/provider-utils";
1101
1105
 
1102
1106
  // src/version.ts
1103
- var VERSION = true ? "6.0.83" : "0.0.0-test";
1107
+ var VERSION = true ? "6.0.85" : "0.0.0-test";
1104
1108
 
1105
1109
  // src/util/download/download.ts
1106
- var download = async ({ url }) => {
1110
+ var download = async ({
1111
+ url,
1112
+ maxBytes,
1113
+ abortSignal
1114
+ }) => {
1107
1115
  var _a21;
1108
1116
  const urlText = url.toString();
1109
1117
  try {
@@ -1112,7 +1120,8 @@ var download = async ({ url }) => {
1112
1120
  {},
1113
1121
  `ai-sdk/${VERSION}`,
1114
1122
  getRuntimeEnvironmentUserAgent()
1115
- )
1123
+ ),
1124
+ signal: abortSignal
1116
1125
  });
1117
1126
  if (!response.ok) {
1118
1127
  throw new DownloadError2({
@@ -1121,8 +1130,13 @@ var download = async ({ url }) => {
1121
1130
  statusText: response.statusText
1122
1131
  });
1123
1132
  }
1133
+ const data = await readResponseWithSizeLimit({
1134
+ response,
1135
+ url: urlText,
1136
+ maxBytes: maxBytes != null ? maxBytes : DEFAULT_MAX_DOWNLOAD_SIZE
1137
+ });
1124
1138
  return {
1125
- data: new Uint8Array(await response.arrayBuffer()),
1139
+ data,
1126
1140
  mediaType: (_a21 = response.headers.get("content-type")) != null ? _a21 : void 0
1127
1141
  };
1128
1142
  } catch (error) {
@@ -9886,6 +9900,11 @@ function cosineSimilarity(vector1, vector2) {
9886
9900
  return magnitudeSquared1 === 0 || magnitudeSquared2 === 0 ? 0 : dotProduct / (Math.sqrt(magnitudeSquared1) * Math.sqrt(magnitudeSquared2));
9887
9901
  }
9888
9902
 
9903
+ // src/util/download/create-download.ts
9904
+ function createDownload(options) {
9905
+ return ({ url, abortSignal }) => download({ url, maxBytes: options == null ? void 0 : options.maxBytes, abortSignal });
9906
+ }
9907
+
9889
9908
  // src/util/data-url.ts
9890
9909
  function getTextFromDataUrl(dataUrl) {
9891
9910
  const [header, base64Content] = dataUrl.split(",");
@@ -10795,6 +10814,7 @@ import {
10795
10814
  convertBase64ToUint8Array as convertBase64ToUint8Array5,
10796
10815
  withUserAgentSuffix as withUserAgentSuffix8
10797
10816
  } from "@ai-sdk/provider-utils";
10817
+ var defaultDownload = createDownload();
10798
10818
  async function experimental_generateVideo({
10799
10819
  model: modelArg,
10800
10820
  prompt: promptArg,
@@ -10808,7 +10828,8 @@ async function experimental_generateVideo({
10808
10828
  providerOptions,
10809
10829
  maxRetries: maxRetriesArg,
10810
10830
  abortSignal,
10811
- headers
10831
+ headers,
10832
+ download: downloadFn = defaultDownload
10812
10833
  }) {
10813
10834
  var _a21;
10814
10835
  const model = resolveVideoModel(modelArg);
@@ -10854,8 +10875,9 @@ async function experimental_generateVideo({
10854
10875
  for (const videoData of result.videos) {
10855
10876
  switch (videoData.type) {
10856
10877
  case "url": {
10857
- const { data, mediaType: downloadedMediaType } = await download({
10858
- url: new URL(videoData.url)
10878
+ const { data, mediaType: downloadedMediaType } = await downloadFn({
10879
+ url: new URL(videoData.url),
10880
+ abortSignal
10859
10881
  });
10860
10882
  const isUsableMediaType = (type) => !!type && type !== "application/octet-stream";
10861
10883
  const mediaType = isUsableMediaType(videoData.mediaType) && videoData.mediaType || isUsableMediaType(downloadedMediaType) && downloadedMediaType || detectMediaType({
@@ -12017,13 +12039,15 @@ var DefaultRerankResult = class {
12017
12039
 
12018
12040
  // src/transcribe/transcribe.ts
12019
12041
  import { withUserAgentSuffix as withUserAgentSuffix9 } from "@ai-sdk/provider-utils";
12042
+ var defaultDownload2 = createDownload();
12020
12043
  async function transcribe({
12021
12044
  model,
12022
12045
  audio,
12023
12046
  providerOptions = {},
12024
12047
  maxRetries: maxRetriesArg,
12025
12048
  abortSignal,
12026
- headers
12049
+ headers,
12050
+ download: downloadFn = defaultDownload2
12027
12051
  }) {
12028
12052
  const resolvedModel = resolveTranscriptionModel(model);
12029
12053
  if (!resolvedModel) {
@@ -12037,7 +12061,7 @@ async function transcribe({
12037
12061
  headers != null ? headers : {},
12038
12062
  `ai/${VERSION}`
12039
12063
  );
12040
- const audioData = audio instanceof URL ? (await download({ url: audio })).data : convertDataContentToUint8Array(audio);
12064
+ const audioData = audio instanceof URL ? (await downloadFn({ url: audio, abortSignal })).data : convertDataContentToUint8Array(audio);
12041
12065
  const result = await retry(
12042
12066
  () => {
12043
12067
  var _a21;
@@ -12960,6 +12984,7 @@ export {
12960
12984
  cosineSimilarity,
12961
12985
  createAgentUIStream,
12962
12986
  createAgentUIStreamResponse,
12987
+ createDownload,
12963
12988
  createGateway,
12964
12989
  createIdGenerator5 as createIdGenerator,
12965
12990
  createProviderRegistry,