ai 5.0.25 → 5.0.27
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/CHANGELOG.md +15 -0
- package/dist/index.d.mts +53 -3
- package/dist/index.d.ts +53 -3
- package/dist/index.js +49 -24
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +49 -24
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +23 -5
- package/dist/internal/index.d.ts +23 -5
- package/dist/internal/index.js +27 -17
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +27 -17
- package/dist/internal/index.mjs.map +1 -1
- package/dist/test/index.js +9 -12
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +9 -12
- package/dist/test/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
@@ -344,7 +344,7 @@ var MessageConversionError = class extends AISDKError14 {
|
|
344
344
|
};
|
345
345
|
_a13 = symbol13;
|
346
346
|
|
347
|
-
// src/util/download-error.ts
|
347
|
+
// src/util/download/download-error.ts
|
348
348
|
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
349
349
|
var name14 = "AI_DownloadError";
|
350
350
|
var marker14 = `vercel.ai.error.${name14}`;
|
@@ -596,8 +596,8 @@ function detectMediaType({
|
|
596
596
|
return void 0;
|
597
597
|
}
|
598
598
|
|
599
|
-
// src/util/download.ts
|
600
|
-
async
|
599
|
+
// src/util/download/download.ts
|
600
|
+
var download = async ({ url }) => {
|
601
601
|
var _a17;
|
602
602
|
const urlText = url.toString();
|
603
603
|
try {
|
@@ -619,7 +619,14 @@ async function download({ url }) {
|
|
619
619
|
}
|
620
620
|
throw new DownloadError({ url: urlText, cause: error });
|
621
621
|
}
|
622
|
-
}
|
622
|
+
};
|
623
|
+
|
624
|
+
// src/util/download/download-function.ts
|
625
|
+
var createDefaultDownloadFunction = (download2 = download) => (requestedDownloads) => Promise.all(
|
626
|
+
requestedDownloads.map(
|
627
|
+
async (requestedDownload) => requestedDownload.isUrlSupportedByModel ? null : download2(requestedDownload)
|
628
|
+
)
|
629
|
+
);
|
623
630
|
|
624
631
|
// src/prompt/data-content.ts
|
625
632
|
import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
|
@@ -720,11 +727,11 @@ function convertDataContentToUint8Array(content) {
|
|
720
727
|
async function convertToLanguageModelPrompt({
|
721
728
|
prompt,
|
722
729
|
supportedUrls,
|
723
|
-
|
730
|
+
download: download2 = createDefaultDownloadFunction()
|
724
731
|
}) {
|
725
732
|
const downloadedAssets = await downloadAssets(
|
726
733
|
prompt.messages,
|
727
|
-
|
734
|
+
download2,
|
728
735
|
supportedUrls
|
729
736
|
);
|
730
737
|
return [
|
@@ -846,8 +853,8 @@ function convertToLanguageModelMessage({
|
|
846
853
|
}
|
847
854
|
}
|
848
855
|
}
|
849
|
-
async function downloadAssets(messages,
|
850
|
-
const
|
856
|
+
async function downloadAssets(messages, download2, supportedUrls) {
|
857
|
+
const plannedDownloads = messages.filter((message) => message.role === "user").map((message) => message.content).filter(
|
851
858
|
(content) => Array.isArray(content)
|
852
859
|
).flat().filter(
|
853
860
|
(part) => part.type === "image" || part.type === "file"
|
@@ -863,20 +870,23 @@ async function downloadAssets(messages, downloadImplementation, supportedUrls) {
|
|
863
870
|
}
|
864
871
|
return { mediaType, data };
|
865
872
|
}).filter(
|
866
|
-
(part) => part.data instanceof URL
|
873
|
+
(part) => part.data instanceof URL
|
874
|
+
).map((part) => ({
|
875
|
+
url: part.data,
|
876
|
+
isUrlSupportedByModel: part.mediaType != null && isUrlSupported({
|
867
877
|
url: part.data.toString(),
|
868
878
|
mediaType: part.mediaType,
|
869
879
|
supportedUrls
|
870
880
|
})
|
871
|
-
)
|
872
|
-
const
|
873
|
-
urls.map(async (url) => ({
|
874
|
-
url,
|
875
|
-
data: await downloadImplementation({ url })
|
876
|
-
}))
|
877
|
-
);
|
881
|
+
}));
|
882
|
+
const downloadedFiles = await download2(plannedDownloads);
|
878
883
|
return Object.fromEntries(
|
879
|
-
|
884
|
+
downloadedFiles.filter(
|
885
|
+
(downloadedFile) => (downloadedFile == null ? void 0 : downloadedFile.data) != null
|
886
|
+
).map(({ data, mediaType }, index) => [
|
887
|
+
plannedDownloads[index].url.toString(),
|
888
|
+
{ data, mediaType }
|
889
|
+
])
|
880
890
|
);
|
881
891
|
}
|
882
892
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
@@ -2044,6 +2054,7 @@ async function generateText({
|
|
2044
2054
|
experimental_prepareStep,
|
2045
2055
|
prepareStep = experimental_prepareStep,
|
2046
2056
|
experimental_repairToolCall: repairToolCall,
|
2057
|
+
experimental_download: download2,
|
2047
2058
|
experimental_context,
|
2048
2059
|
_internal: {
|
2049
2060
|
generateId: generateId3 = originalGenerateId,
|
@@ -2116,7 +2127,8 @@ async function generateText({
|
|
2116
2127
|
system: (_a17 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _a17 : initialPrompt.system,
|
2117
2128
|
messages: (_b = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _b : stepInputMessages
|
2118
2129
|
},
|
2119
|
-
supportedUrls: await model.supportedUrls
|
2130
|
+
supportedUrls: await model.supportedUrls,
|
2131
|
+
download: download2
|
2120
2132
|
});
|
2121
2133
|
const stepModel = resolveLanguageModel(
|
2122
2134
|
(_c = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _c : model
|
@@ -4325,6 +4337,7 @@ function streamText({
|
|
4325
4337
|
activeTools = experimental_activeTools,
|
4326
4338
|
experimental_repairToolCall: repairToolCall,
|
4327
4339
|
experimental_transform: transform,
|
4340
|
+
experimental_download: download2,
|
4328
4341
|
includeRawChunks = false,
|
4329
4342
|
onChunk,
|
4330
4343
|
onError = ({ error }) => {
|
@@ -4369,7 +4382,8 @@ function streamText({
|
|
4369
4382
|
now: now2,
|
4370
4383
|
currentDate,
|
4371
4384
|
generateId: generateId3,
|
4372
|
-
experimental_context
|
4385
|
+
experimental_context,
|
4386
|
+
download: download2
|
4373
4387
|
});
|
4374
4388
|
}
|
4375
4389
|
function createOutputTransformStream(output) {
|
@@ -4466,7 +4480,8 @@ var DefaultStreamTextResult = class {
|
|
4466
4480
|
onFinish,
|
4467
4481
|
onAbort,
|
4468
4482
|
onStepFinish,
|
4469
|
-
experimental_context
|
4483
|
+
experimental_context,
|
4484
|
+
download: download2
|
4470
4485
|
}) {
|
4471
4486
|
this._totalUsage = new DelayedPromise();
|
4472
4487
|
this._finishReason = new DelayedPromise();
|
@@ -4788,7 +4803,8 @@ var DefaultStreamTextResult = class {
|
|
4788
4803
|
system: (_a17 = prepareStepResult == null ? void 0 : prepareStepResult.system) != null ? _a17 : initialPrompt.system,
|
4789
4804
|
messages: (_b = prepareStepResult == null ? void 0 : prepareStepResult.messages) != null ? _b : stepInputMessages
|
4790
4805
|
},
|
4791
|
-
supportedUrls: await model.supportedUrls
|
4806
|
+
supportedUrls: await model.supportedUrls,
|
4807
|
+
download: download2
|
4792
4808
|
});
|
4793
4809
|
const stepModel = resolveLanguageModel(
|
4794
4810
|
(_c = prepareStepResult == null ? void 0 : prepareStepResult.model) != null ? _c : model
|
@@ -6562,6 +6578,7 @@ async function generateObject(options) {
|
|
6562
6578
|
headers,
|
6563
6579
|
experimental_repairText: repairText,
|
6564
6580
|
experimental_telemetry: telemetry,
|
6581
|
+
experimental_download: download2,
|
6565
6582
|
providerOptions,
|
6566
6583
|
_internal: {
|
6567
6584
|
generateId: generateId3 = originalGenerateId3,
|
@@ -6639,7 +6656,8 @@ async function generateObject(options) {
|
|
6639
6656
|
});
|
6640
6657
|
const promptMessages = await convertToLanguageModelPrompt({
|
6641
6658
|
prompt: standardizedPrompt,
|
6642
|
-
supportedUrls: await model.supportedUrls
|
6659
|
+
supportedUrls: await model.supportedUrls,
|
6660
|
+
download: download2
|
6643
6661
|
});
|
6644
6662
|
const generateResult = await retry(
|
6645
6663
|
() => recordSpan({
|
@@ -6954,6 +6972,7 @@ function streamObject(options) {
|
|
6954
6972
|
headers,
|
6955
6973
|
experimental_repairText: repairText,
|
6956
6974
|
experimental_telemetry: telemetry,
|
6975
|
+
experimental_download: download2,
|
6957
6976
|
providerOptions,
|
6958
6977
|
onError = ({ error }) => {
|
6959
6978
|
console.error(error);
|
@@ -7001,6 +7020,7 @@ function streamObject(options) {
|
|
7001
7020
|
repairText,
|
7002
7021
|
onError,
|
7003
7022
|
onFinish,
|
7023
|
+
download: download2,
|
7004
7024
|
generateId: generateId3,
|
7005
7025
|
currentDate,
|
7006
7026
|
now: now2
|
@@ -7024,6 +7044,7 @@ var DefaultStreamObjectResult = class {
|
|
7024
7044
|
repairText,
|
7025
7045
|
onError,
|
7026
7046
|
onFinish,
|
7047
|
+
download: download2,
|
7027
7048
|
generateId: generateId3,
|
7028
7049
|
currentDate,
|
7029
7050
|
now: now2
|
@@ -7097,7 +7118,8 @@ var DefaultStreamObjectResult = class {
|
|
7097
7118
|
...prepareCallSettings(settings),
|
7098
7119
|
prompt: await convertToLanguageModelPrompt({
|
7099
7120
|
prompt: standardizedPrompt,
|
7100
|
-
supportedUrls: await model.supportedUrls
|
7121
|
+
supportedUrls: await model.supportedUrls,
|
7122
|
+
download: download2
|
7101
7123
|
}),
|
7102
7124
|
providerOptions,
|
7103
7125
|
abortSignal,
|
@@ -9472,7 +9494,10 @@ var AbstractChat = class {
|
|
9472
9494
|
throw error;
|
9473
9495
|
}
|
9474
9496
|
});
|
9475
|
-
(_a17 = this.onFinish) == null ? void 0 : _a17.call(this, {
|
9497
|
+
(_a17 = this.onFinish) == null ? void 0 : _a17.call(this, {
|
9498
|
+
message: activeResponse.state.message,
|
9499
|
+
messages: this.state.messages
|
9500
|
+
});
|
9476
9501
|
this.setStatus({ status: "ready" });
|
9477
9502
|
} catch (err) {
|
9478
9503
|
if (err.name === "AbortError") {
|