ai 6.0.170 → 6.0.172
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 +24 -0
- package/dist/index.d.mts +792 -792
- package/dist/index.d.ts +792 -792
- package/dist/index.js +77 -64
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -15
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +16 -17
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +2 -4
- package/dist/internal/index.mjs.map +1 -1
- package/dist/test/index.d.mts +18 -18
- package/dist/test/index.d.ts +18 -18
- package/dist/test/index.js +24 -22
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +22 -22
- package/dist/test/index.mjs.map +1 -1
- package/package.json +5 -5
- package/src/agent/agent.ts +7 -7
- package/src/agent/create-agent-ui-stream-response.ts +10 -7
- package/src/agent/create-agent-ui-stream.ts +11 -8
- package/src/agent/infer-agent-tools.ts +1 -1
- package/src/agent/infer-agent-ui-message.ts +2 -2
- package/src/agent/pipe-agent-ui-stream-to-response.ts +11 -8
- package/src/agent/tool-loop-agent-settings.ts +12 -12
- package/src/agent/tool-loop-agent.ts +27 -10
- package/src/embed/embed-many-result.ts +3 -4
- package/src/embed/embed-many.ts +8 -5
- package/src/embed/embed-result.ts +3 -4
- package/src/embed/embed.ts +7 -4
- package/src/error/invalid-stream-part-error.ts +1 -1
- package/src/error/no-image-generated-error.ts +1 -1
- package/src/error/no-object-generated-error.ts +3 -3
- package/src/error/no-speech-generated-error.ts +1 -1
- package/src/error/no-transcript-generated-error.ts +1 -1
- package/src/error/no-video-generated-error.ts +1 -1
- package/src/error/tool-call-repair-error.ts +2 -2
- package/src/error/verify-no-object-generated-error.ts +1 -1
- package/src/generate-image/generate-image-result.ts +5 -5
- package/src/generate-image/generate-image.ts +8 -8
- package/src/generate-image/index.ts +3 -2
- package/src/generate-object/generate-object-result.ts +2 -2
- package/src/generate-object/generate-object.ts +15 -15
- package/src/generate-object/inject-json-instruction.ts +1 -1
- package/src/generate-object/output-strategy.ts +10 -10
- package/src/generate-object/parse-and-validate-object-result.ts +1 -1
- package/src/generate-object/repair-text.ts +1 -1
- package/src/generate-object/stream-object-result.ts +4 -4
- package/src/generate-object/stream-object.ts +21 -18
- package/src/generate-object/validate-object-generation-input.ts +1 -1
- package/src/generate-speech/generate-speech-result.ts +4 -4
- package/src/generate-speech/generate-speech.ts +10 -7
- package/src/generate-speech/generated-audio-file.ts +1 -1
- package/src/generate-text/collect-tool-approvals.ts +4 -4
- package/src/generate-text/content-part.ts +9 -9
- package/src/generate-text/execute-tool-call.ts +9 -9
- package/src/generate-text/extract-reasoning-content.ts +1 -1
- package/src/generate-text/extract-text-content.ts +4 -1
- package/src/generate-text/generate-text-result.ts +19 -15
- package/src/generate-text/generate-text.ts +26 -26
- package/src/generate-text/is-approval-needed.ts +3 -3
- package/src/generate-text/output-utils.ts +1 -1
- package/src/generate-text/output.ts +8 -8
- package/src/generate-text/parse-tool-call.ts +6 -6
- package/src/generate-text/prepare-step.ts +3 -3
- package/src/generate-text/prune-messages.ts +1 -1
- package/src/generate-text/reasoning-output.ts +1 -1
- package/src/generate-text/reasoning.ts +1 -1
- package/src/generate-text/response-message.ts +1 -1
- package/src/generate-text/run-tools-transformation.ts +26 -16
- package/src/generate-text/smooth-stream.ts +6 -4
- package/src/generate-text/step-result.ts +14 -10
- package/src/generate-text/stop-condition.ts +2 -2
- package/src/generate-text/stream-text-result.ts +29 -25
- package/src/generate-text/stream-text.ts +38 -35
- package/src/generate-text/to-response-messages.ts +3 -3
- package/src/generate-text/tool-approval-request-output.ts +2 -2
- package/src/generate-text/tool-call-repair-function.ts +5 -5
- package/src/generate-text/tool-call.ts +4 -4
- package/src/generate-text/tool-error.ts +4 -4
- package/src/generate-text/tool-output-denied.ts +2 -2
- package/src/generate-text/tool-output.ts +3 -3
- package/src/generate-text/tool-result.ts +4 -4
- package/src/generate-text/tool-set.ts +1 -1
- package/src/generate-video/generate-video-result.ts +4 -4
- package/src/global.ts +2 -2
- package/src/index.ts +3 -3
- package/src/logger/log-warnings.ts +1 -1
- package/src/middleware/add-tool-input-examples-middleware.ts +2 -2
- package/src/middleware/default-embedding-settings-middleware.ts +2 -2
- package/src/middleware/default-settings-middleware.ts +2 -2
- package/src/middleware/extract-json-middleware.ts +1 -1
- package/src/middleware/extract-reasoning-middleware.ts +1 -1
- package/src/middleware/simulate-streaming-middleware.ts +1 -1
- package/src/middleware/wrap-embedding-model.ts +2 -2
- package/src/middleware/wrap-image-model.ts +2 -2
- package/src/middleware/wrap-language-model.ts +2 -2
- package/src/middleware/wrap-provider.ts +2 -2
- package/src/model/as-embedding-model-v3.ts +1 -1
- package/src/model/as-image-model-v3.ts +1 -1
- package/src/model/as-language-model-v3.ts +1 -1
- package/src/model/as-provider-v3.ts +1 -1
- package/src/model/as-speech-model-v3.ts +1 -1
- package/src/model/as-transcription-model-v3.ts +4 -1
- package/src/model/resolve-model.ts +8 -8
- package/src/prompt/content-part.ts +1 -1
- package/src/prompt/convert-to-language-model-prompt.ts +12 -12
- package/src/prompt/create-tool-model-output.ts +2 -2
- package/src/prompt/data-content.ts +2 -2
- package/src/prompt/message-conversion-error.ts +1 -1
- package/src/prompt/message.ts +1 -1
- package/src/prompt/prepare-call-settings.ts +1 -1
- package/src/prompt/prepare-tools-and-tool-choice.ts +3 -3
- package/src/prompt/prompt.ts +1 -1
- package/src/prompt/standardize-prompt.ts +3 -3
- package/src/registry/custom-provider.ts +9 -9
- package/src/registry/provider-registry.ts +8 -8
- package/src/rerank/rerank-result.ts +1 -1
- package/src/rerank/rerank.ts +5 -5
- package/src/telemetry/assemble-operation-name.ts +1 -1
- package/src/telemetry/get-base-telemetry-attributes.ts +3 -3
- package/src/telemetry/get-tracer.ts +1 -1
- package/src/telemetry/noop-tracer.ts +1 -1
- package/src/telemetry/record-span.ts +3 -3
- package/src/telemetry/stringify-for-telemetry.ts +1 -1
- package/src/telemetry/telemetry-integration.ts +1 -1
- package/src/telemetry/telemetry-settings.ts +1 -1
- package/src/test/mock-embedding-model-v2.ts +1 -1
- package/src/test/mock-embedding-model-v3.ts +1 -1
- package/src/test/mock-image-model-v2.ts +1 -1
- package/src/test/mock-image-model-v3.ts +1 -1
- package/src/test/mock-language-model-v2.ts +1 -1
- package/src/test/mock-language-model-v3.ts +1 -1
- package/src/test/mock-provider-v2.ts +6 -6
- package/src/test/mock-provider-v3.ts +7 -7
- package/src/test/mock-reranking-model-v3.ts +1 -1
- package/src/test/mock-server-response.ts +1 -1
- package/src/test/mock-speech-model-v2.ts +1 -1
- package/src/test/mock-speech-model-v3.ts +1 -1
- package/src/test/mock-tracer.ts +1 -1
- package/src/test/mock-transcription-model-v2.ts +1 -1
- package/src/test/mock-transcription-model-v3.ts +1 -1
- package/src/test/mock-video-model-v3.ts +1 -1
- package/src/text-stream/pipe-text-stream-to-response.ts +1 -1
- package/src/transcribe/transcribe-result.ts +3 -3
- package/src/transcribe/transcribe.ts +10 -7
- package/src/types/embedding-model-middleware.ts +1 -1
- package/src/types/embedding-model.ts +1 -1
- package/src/types/image-model-middleware.ts +1 -1
- package/src/types/image-model.ts +1 -1
- package/src/types/json-value.ts +1 -1
- package/src/types/language-model-middleware.ts +1 -1
- package/src/types/language-model.ts +2 -2
- package/src/types/provider-metadata.ts +1 -1
- package/src/types/provider.ts +4 -4
- package/src/types/reranking-model.ts +1 -1
- package/src/types/speech-model.ts +1 -1
- package/src/types/transcription-model.ts +4 -1
- package/src/types/usage.ts +1 -1
- package/src/types/video-model.ts +1 -1
- package/src/types/warning.ts +1 -1
- package/src/ui/call-completion-api.ts +2 -2
- package/src/ui/chat-transport.ts +3 -3
- package/src/ui/chat.ts +10 -10
- package/src/ui/convert-file-list-to-file-ui-parts.ts +1 -1
- package/src/ui/convert-to-model-messages.ts +16 -16
- package/src/ui/default-chat-transport.ts +4 -4
- package/src/ui/direct-chat-transport.ts +7 -7
- package/src/ui/http-chat-transport.ts +5 -5
- package/src/ui/process-ui-message-stream.ts +19 -19
- package/src/ui/text-stream-chat-transport.ts +3 -3
- package/src/ui/transform-text-to-ui-message-stream.ts +1 -1
- package/src/ui/ui-messages.ts +5 -5
- package/src/ui/use-completion.ts +1 -1
- package/src/ui/validate-ui-messages.ts +3 -3
- package/src/ui-message-stream/create-ui-message-stream-response.ts +2 -2
- package/src/ui-message-stream/create-ui-message-stream.ts +6 -6
- package/src/ui-message-stream/get-response-ui-message-id.ts +2 -2
- package/src/ui-message-stream/handle-ui-message-stream-finish.ts +6 -6
- package/src/ui-message-stream/pipe-ui-message-stream-to-response.ts +3 -3
- package/src/ui-message-stream/read-ui-message-stream.ts +4 -4
- package/src/ui-message-stream/ui-message-chunks.ts +4 -4
- package/src/ui-message-stream/ui-message-stream-on-finish-callback.ts +2 -2
- package/src/ui-message-stream/ui-message-stream-on-step-finish-callback.ts +1 -1
- package/src/ui-message-stream/ui-message-stream-writer.ts +3 -3
- package/src/util/create-resolvable-promise.ts +1 -1
- package/src/util/deep-partial.ts +1 -1
- package/src/util/download/download.ts +0 -2
- package/src/util/merge-objects.ts +5 -0
- package/src/util/parse-partial-json.ts +1 -1
- package/src/util/prepare-retries.ts +1 -1
- package/src/util/serial-job-executor.ts +1 -1
- package/src/util/write-to-server-response.ts +1 -1
package/dist/index.js
CHANGED
|
@@ -154,8 +154,11 @@ module.exports = __toCommonJS(src_exports);
|
|
|
154
154
|
var import_gateway3 = require("@ai-sdk/gateway");
|
|
155
155
|
var import_provider_utils39 = require("@ai-sdk/provider-utils");
|
|
156
156
|
|
|
157
|
+
// src/agent/tool-loop-agent.ts
|
|
158
|
+
var import_provider_utils19 = require("@ai-sdk/provider-utils");
|
|
159
|
+
|
|
157
160
|
// src/generate-text/generate-text.ts
|
|
158
|
-
var
|
|
161
|
+
var import_provider_utils14 = require("@ai-sdk/provider-utils");
|
|
159
162
|
|
|
160
163
|
// src/error/index.ts
|
|
161
164
|
var import_provider21 = require("@ai-sdk/provider");
|
|
@@ -1018,7 +1021,7 @@ function getChunkTimeoutMs(timeout) {
|
|
|
1018
1021
|
}
|
|
1019
1022
|
|
|
1020
1023
|
// src/prompt/convert-to-language-model-prompt.ts
|
|
1021
|
-
var
|
|
1024
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
1022
1025
|
|
|
1023
1026
|
// src/util/detect-media-type.ts
|
|
1024
1027
|
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
@@ -1249,10 +1252,9 @@ function detectMediaType({
|
|
|
1249
1252
|
|
|
1250
1253
|
// src/util/download/download.ts
|
|
1251
1254
|
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
1252
|
-
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
1253
1255
|
|
|
1254
1256
|
// src/version.ts
|
|
1255
|
-
var VERSION = true ? "6.0.
|
|
1257
|
+
var VERSION = true ? "6.0.172" : "0.0.0-test";
|
|
1256
1258
|
|
|
1257
1259
|
// src/util/download/download.ts
|
|
1258
1260
|
var download = async ({
|
|
@@ -1265,10 +1267,10 @@ var download = async ({
|
|
|
1265
1267
|
(0, import_provider_utils3.validateDownloadUrl)(urlText);
|
|
1266
1268
|
try {
|
|
1267
1269
|
const response = await fetch(urlText, {
|
|
1268
|
-
headers: (0,
|
|
1270
|
+
headers: (0, import_provider_utils3.withUserAgentSuffix)(
|
|
1269
1271
|
{},
|
|
1270
1272
|
`ai-sdk/${VERSION}`,
|
|
1271
|
-
(0,
|
|
1273
|
+
(0, import_provider_utils3.getRuntimeEnvironmentUserAgent)()
|
|
1272
1274
|
),
|
|
1273
1275
|
signal: abortSignal
|
|
1274
1276
|
});
|
|
@@ -1308,7 +1310,7 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
1308
1310
|
|
|
1309
1311
|
// src/prompt/data-content.ts
|
|
1310
1312
|
var import_provider22 = require("@ai-sdk/provider");
|
|
1311
|
-
var
|
|
1313
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
1312
1314
|
var import_v4 = require("zod/v4");
|
|
1313
1315
|
|
|
1314
1316
|
// src/prompt/split-data-url.ts
|
|
@@ -1373,9 +1375,9 @@ function convertDataContentToBase64String(content) {
|
|
|
1373
1375
|
return content;
|
|
1374
1376
|
}
|
|
1375
1377
|
if (content instanceof ArrayBuffer) {
|
|
1376
|
-
return (0,
|
|
1378
|
+
return (0, import_provider_utils4.convertUint8ArrayToBase64)(new Uint8Array(content));
|
|
1377
1379
|
}
|
|
1378
|
-
return (0,
|
|
1380
|
+
return (0, import_provider_utils4.convertUint8ArrayToBase64)(content);
|
|
1379
1381
|
}
|
|
1380
1382
|
function convertDataContentToUint8Array(content) {
|
|
1381
1383
|
if (content instanceof Uint8Array) {
|
|
@@ -1383,7 +1385,7 @@ function convertDataContentToUint8Array(content) {
|
|
|
1383
1385
|
}
|
|
1384
1386
|
if (typeof content === "string") {
|
|
1385
1387
|
try {
|
|
1386
|
-
return (0,
|
|
1388
|
+
return (0, import_provider_utils4.convertBase64ToUint8Array)(content);
|
|
1387
1389
|
} catch (error) {
|
|
1388
1390
|
throw new InvalidDataContentError({
|
|
1389
1391
|
message: "Invalid data content. Content string is not a base64-encoded media.",
|
|
@@ -1655,7 +1657,7 @@ async function downloadAssets(messages, download2, supportedUrls) {
|
|
|
1655
1657
|
(part) => part.data instanceof URL
|
|
1656
1658
|
).map((part) => ({
|
|
1657
1659
|
url: part.data,
|
|
1658
|
-
isUrlSupportedByModel: part.mediaType != null && (0,
|
|
1660
|
+
isUrlSupportedByModel: part.mediaType != null && (0, import_provider_utils5.isUrlSupported)({
|
|
1659
1661
|
url: part.data.toString(),
|
|
1660
1662
|
mediaType: part.mediaType,
|
|
1661
1663
|
supportedUrls
|
|
@@ -1873,7 +1875,7 @@ function prepareCallSettings({
|
|
|
1873
1875
|
}
|
|
1874
1876
|
|
|
1875
1877
|
// src/prompt/prepare-tools-and-tool-choice.ts
|
|
1876
|
-
var
|
|
1878
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
1877
1879
|
|
|
1878
1880
|
// src/util/is-non-empty-object.ts
|
|
1879
1881
|
function isNonEmptyObject(object2) {
|
|
@@ -1906,7 +1908,7 @@ async function prepareToolsAndToolChoice({
|
|
|
1906
1908
|
type: "function",
|
|
1907
1909
|
name: name21,
|
|
1908
1910
|
description: tool2.description,
|
|
1909
|
-
inputSchema: await (0,
|
|
1911
|
+
inputSchema: await (0, import_provider_utils6.asSchema)(tool2.inputSchema).jsonSchema,
|
|
1910
1912
|
...tool2.inputExamples != null ? { inputExamples: tool2.inputExamples } : {},
|
|
1911
1913
|
providerOptions: tool2.providerOptions,
|
|
1912
1914
|
...tool2.strict != null ? { strict: tool2.strict } : {}
|
|
@@ -1934,7 +1936,7 @@ async function prepareToolsAndToolChoice({
|
|
|
1934
1936
|
|
|
1935
1937
|
// src/prompt/standardize-prompt.ts
|
|
1936
1938
|
var import_provider24 = require("@ai-sdk/provider");
|
|
1937
|
-
var
|
|
1939
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1938
1940
|
var import_v46 = require("zod/v4");
|
|
1939
1941
|
|
|
1940
1942
|
// src/prompt/message.ts
|
|
@@ -2197,7 +2199,7 @@ async function standardizePrompt({
|
|
|
2197
2199
|
);
|
|
2198
2200
|
}
|
|
2199
2201
|
}
|
|
2200
|
-
const validationResult = await (0,
|
|
2202
|
+
const validationResult = await (0, import_provider_utils7.safeValidateTypes)({
|
|
2201
2203
|
value: messages,
|
|
2202
2204
|
schema: import_v46.z.array(modelMessageSchema)
|
|
2203
2205
|
});
|
|
@@ -2635,6 +2637,9 @@ function mergeObjects(base, overrides) {
|
|
|
2635
2637
|
}
|
|
2636
2638
|
const result = { ...base };
|
|
2637
2639
|
for (const key in overrides) {
|
|
2640
|
+
if (key === "__proto__" || key === "constructor" || key === "prototype") {
|
|
2641
|
+
continue;
|
|
2642
|
+
}
|
|
2638
2643
|
if (Object.prototype.hasOwnProperty.call(overrides, key)) {
|
|
2639
2644
|
const overridesValue = overrides[key];
|
|
2640
2645
|
if (overridesValue === void 0)
|
|
@@ -2657,7 +2662,7 @@ function mergeObjects(base, overrides) {
|
|
|
2657
2662
|
|
|
2658
2663
|
// src/util/retry-with-exponential-backoff.ts
|
|
2659
2664
|
var import_provider26 = require("@ai-sdk/provider");
|
|
2660
|
-
var
|
|
2665
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
2661
2666
|
function getRetryDelayInMs({
|
|
2662
2667
|
error,
|
|
2663
2668
|
exponentialBackoffDelay
|
|
@@ -2707,13 +2712,13 @@ async function _retryWithExponentialBackoff(f, {
|
|
|
2707
2712
|
try {
|
|
2708
2713
|
return await f();
|
|
2709
2714
|
} catch (error) {
|
|
2710
|
-
if ((0,
|
|
2715
|
+
if ((0, import_provider_utils8.isAbortError)(error)) {
|
|
2711
2716
|
throw error;
|
|
2712
2717
|
}
|
|
2713
2718
|
if (maxRetries === 0) {
|
|
2714
2719
|
throw error;
|
|
2715
2720
|
}
|
|
2716
|
-
const errorMessage = (0,
|
|
2721
|
+
const errorMessage = (0, import_provider_utils8.getErrorMessage)(error);
|
|
2717
2722
|
const newErrors = [...errors, error];
|
|
2718
2723
|
const tryNumber = newErrors.length;
|
|
2719
2724
|
if (tryNumber > maxRetries) {
|
|
@@ -2724,7 +2729,7 @@ async function _retryWithExponentialBackoff(f, {
|
|
|
2724
2729
|
});
|
|
2725
2730
|
}
|
|
2726
2731
|
if (error instanceof Error && import_provider26.APICallError.isInstance(error) && error.isRetryable === true && tryNumber <= maxRetries) {
|
|
2727
|
-
await (0,
|
|
2732
|
+
await (0, import_provider_utils8.delay)(
|
|
2728
2733
|
getRetryDelayInMs({
|
|
2729
2734
|
error,
|
|
2730
2735
|
exponentialBackoffDelay: delayInMs
|
|
@@ -2860,7 +2865,7 @@ function collectToolApprovals({
|
|
|
2860
2865
|
}
|
|
2861
2866
|
|
|
2862
2867
|
// src/generate-text/execute-tool-call.ts
|
|
2863
|
-
var
|
|
2868
|
+
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
2864
2869
|
|
|
2865
2870
|
// src/util/now.ts
|
|
2866
2871
|
function now() {
|
|
@@ -2920,7 +2925,7 @@ async function executeToolCall({
|
|
|
2920
2925
|
await notify({ event: baseCallbackEvent, callbacks: onToolCallStart });
|
|
2921
2926
|
const startTime = now();
|
|
2922
2927
|
try {
|
|
2923
|
-
const stream = (0,
|
|
2928
|
+
const stream = (0, import_provider_utils9.executeTool)({
|
|
2924
2929
|
execute: tool2.execute.bind(tool2),
|
|
2925
2930
|
input,
|
|
2926
2931
|
options: {
|
|
@@ -3020,7 +3025,7 @@ function extractTextContent(content) {
|
|
|
3020
3025
|
}
|
|
3021
3026
|
|
|
3022
3027
|
// src/generate-text/generated-file.ts
|
|
3023
|
-
var
|
|
3028
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
3024
3029
|
var DefaultGeneratedFile = class {
|
|
3025
3030
|
constructor({
|
|
3026
3031
|
data,
|
|
@@ -3034,14 +3039,14 @@ var DefaultGeneratedFile = class {
|
|
|
3034
3039
|
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
3035
3040
|
get base64() {
|
|
3036
3041
|
if (this.base64Data == null) {
|
|
3037
|
-
this.base64Data = (0,
|
|
3042
|
+
this.base64Data = (0, import_provider_utils10.convertUint8ArrayToBase64)(this.uint8ArrayData);
|
|
3038
3043
|
}
|
|
3039
3044
|
return this.base64Data;
|
|
3040
3045
|
}
|
|
3041
3046
|
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
|
3042
3047
|
get uint8Array() {
|
|
3043
3048
|
if (this.uint8ArrayData == null) {
|
|
3044
|
-
this.uint8ArrayData = (0,
|
|
3049
|
+
this.uint8ArrayData = (0, import_provider_utils10.convertBase64ToUint8Array)(this.base64Data);
|
|
3045
3050
|
}
|
|
3046
3051
|
return this.uint8ArrayData;
|
|
3047
3052
|
}
|
|
@@ -3083,10 +3088,10 @@ __export(output_exports, {
|
|
|
3083
3088
|
text: () => text
|
|
3084
3089
|
});
|
|
3085
3090
|
var import_provider27 = require("@ai-sdk/provider");
|
|
3086
|
-
var
|
|
3091
|
+
var import_provider_utils12 = require("@ai-sdk/provider-utils");
|
|
3087
3092
|
|
|
3088
3093
|
// src/util/parse-partial-json.ts
|
|
3089
|
-
var
|
|
3094
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
3090
3095
|
|
|
3091
3096
|
// src/util/fix-json.ts
|
|
3092
3097
|
function fixJson(input) {
|
|
@@ -3411,11 +3416,11 @@ async function parsePartialJson(jsonText) {
|
|
|
3411
3416
|
if (jsonText === void 0) {
|
|
3412
3417
|
return { value: void 0, state: "undefined-input" };
|
|
3413
3418
|
}
|
|
3414
|
-
let result = await (0,
|
|
3419
|
+
let result = await (0, import_provider_utils11.safeParseJSON)({ text: jsonText });
|
|
3415
3420
|
if (result.success) {
|
|
3416
3421
|
return { value: result.value, state: "successful-parse" };
|
|
3417
3422
|
}
|
|
3418
|
-
result = await (0,
|
|
3423
|
+
result = await (0, import_provider_utils11.safeParseJSON)({ text: fixJson(jsonText) });
|
|
3419
3424
|
if (result.success) {
|
|
3420
3425
|
return { value: result.value, state: "repaired-parse" };
|
|
3421
3426
|
}
|
|
@@ -3441,17 +3446,17 @@ var object = ({
|
|
|
3441
3446
|
name: name21,
|
|
3442
3447
|
description
|
|
3443
3448
|
}) => {
|
|
3444
|
-
const schema = (0,
|
|
3449
|
+
const schema = (0, import_provider_utils12.asSchema)(inputSchema);
|
|
3445
3450
|
return {
|
|
3446
3451
|
name: "object",
|
|
3447
|
-
responseFormat: (0,
|
|
3452
|
+
responseFormat: (0, import_provider_utils12.resolve)(schema.jsonSchema).then((jsonSchema2) => ({
|
|
3448
3453
|
type: "json",
|
|
3449
3454
|
schema: jsonSchema2,
|
|
3450
3455
|
...name21 != null && { name: name21 },
|
|
3451
3456
|
...description != null && { description }
|
|
3452
3457
|
})),
|
|
3453
3458
|
async parseCompleteOutput({ text: text2 }, context2) {
|
|
3454
|
-
const parseResult = await (0,
|
|
3459
|
+
const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
|
|
3455
3460
|
if (!parseResult.success) {
|
|
3456
3461
|
throw new NoObjectGeneratedError({
|
|
3457
3462
|
message: "No object generated: could not parse the response.",
|
|
@@ -3462,7 +3467,7 @@ var object = ({
|
|
|
3462
3467
|
finishReason: context2.finishReason
|
|
3463
3468
|
});
|
|
3464
3469
|
}
|
|
3465
|
-
const validationResult = await (0,
|
|
3470
|
+
const validationResult = await (0, import_provider_utils12.safeValidateTypes)({
|
|
3466
3471
|
value: parseResult.value,
|
|
3467
3472
|
schema
|
|
3468
3473
|
});
|
|
@@ -3504,11 +3509,11 @@ var array = ({
|
|
|
3504
3509
|
name: name21,
|
|
3505
3510
|
description
|
|
3506
3511
|
}) => {
|
|
3507
|
-
const elementSchema = (0,
|
|
3512
|
+
const elementSchema = (0, import_provider_utils12.asSchema)(inputElementSchema);
|
|
3508
3513
|
return {
|
|
3509
3514
|
name: "array",
|
|
3510
3515
|
// JSON schema that describes an array of elements:
|
|
3511
|
-
responseFormat: (0,
|
|
3516
|
+
responseFormat: (0, import_provider_utils12.resolve)(elementSchema.jsonSchema).then((jsonSchema2) => {
|
|
3512
3517
|
const { $schema, ...itemSchema } = jsonSchema2;
|
|
3513
3518
|
return {
|
|
3514
3519
|
type: "json",
|
|
@@ -3526,7 +3531,7 @@ var array = ({
|
|
|
3526
3531
|
};
|
|
3527
3532
|
}),
|
|
3528
3533
|
async parseCompleteOutput({ text: text2 }, context2) {
|
|
3529
|
-
const parseResult = await (0,
|
|
3534
|
+
const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
|
|
3530
3535
|
if (!parseResult.success) {
|
|
3531
3536
|
throw new NoObjectGeneratedError({
|
|
3532
3537
|
message: "No object generated: could not parse the response.",
|
|
@@ -3552,7 +3557,7 @@ var array = ({
|
|
|
3552
3557
|
});
|
|
3553
3558
|
}
|
|
3554
3559
|
for (const element of outerValue.elements) {
|
|
3555
|
-
const validationResult = await (0,
|
|
3560
|
+
const validationResult = await (0, import_provider_utils12.safeValidateTypes)({
|
|
3556
3561
|
value: element,
|
|
3557
3562
|
schema: elementSchema
|
|
3558
3563
|
});
|
|
@@ -3585,7 +3590,7 @@ var array = ({
|
|
|
3585
3590
|
const rawElements = result.state === "repaired-parse" && outerValue.elements.length > 0 ? outerValue.elements.slice(0, -1) : outerValue.elements;
|
|
3586
3591
|
const parsedElements = [];
|
|
3587
3592
|
for (const rawElement of rawElements) {
|
|
3588
|
-
const validationResult = await (0,
|
|
3593
|
+
const validationResult = await (0, import_provider_utils12.safeValidateTypes)({
|
|
3589
3594
|
value: rawElement,
|
|
3590
3595
|
schema: elementSchema
|
|
3591
3596
|
});
|
|
@@ -3634,7 +3639,7 @@ var choice = ({
|
|
|
3634
3639
|
...description != null && { description }
|
|
3635
3640
|
}),
|
|
3636
3641
|
async parseCompleteOutput({ text: text2 }, context2) {
|
|
3637
|
-
const parseResult = await (0,
|
|
3642
|
+
const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
|
|
3638
3643
|
if (!parseResult.success) {
|
|
3639
3644
|
throw new NoObjectGeneratedError({
|
|
3640
3645
|
message: "No object generated: could not parse the response.",
|
|
@@ -3702,7 +3707,7 @@ var json = ({
|
|
|
3702
3707
|
...description != null && { description }
|
|
3703
3708
|
}),
|
|
3704
3709
|
async parseCompleteOutput({ text: text2 }, context2) {
|
|
3705
|
-
const parseResult = await (0,
|
|
3710
|
+
const parseResult = await (0, import_provider_utils12.safeParseJSON)({ text: text2 });
|
|
3706
3711
|
if (!parseResult.success) {
|
|
3707
3712
|
throw new NoObjectGeneratedError({
|
|
3708
3713
|
message: "No object generated: could not parse the response.",
|
|
@@ -3735,7 +3740,7 @@ var json = ({
|
|
|
3735
3740
|
};
|
|
3736
3741
|
|
|
3737
3742
|
// src/generate-text/parse-tool-call.ts
|
|
3738
|
-
var
|
|
3743
|
+
var import_provider_utils13 = require("@ai-sdk/provider-utils");
|
|
3739
3744
|
async function parseToolCall({
|
|
3740
3745
|
toolCall,
|
|
3741
3746
|
tools,
|
|
@@ -3764,7 +3769,7 @@ async function parseToolCall({
|
|
|
3764
3769
|
tools,
|
|
3765
3770
|
inputSchema: async ({ toolName }) => {
|
|
3766
3771
|
const { inputSchema } = tools[toolName];
|
|
3767
|
-
return await (0,
|
|
3772
|
+
return await (0, import_provider_utils13.asSchema)(inputSchema).jsonSchema;
|
|
3768
3773
|
},
|
|
3769
3774
|
system,
|
|
3770
3775
|
messages,
|
|
@@ -3782,7 +3787,7 @@ async function parseToolCall({
|
|
|
3782
3787
|
return await doParseToolCall({ toolCall: repairedToolCall, tools });
|
|
3783
3788
|
}
|
|
3784
3789
|
} catch (error) {
|
|
3785
|
-
const parsedInput = await (0,
|
|
3790
|
+
const parsedInput = await (0, import_provider_utils13.safeParseJSON)({ text: toolCall.input });
|
|
3786
3791
|
const input = parsedInput.success ? parsedInput.value : toolCall.input;
|
|
3787
3792
|
return {
|
|
3788
3793
|
type: "tool-call",
|
|
@@ -3799,7 +3804,7 @@ async function parseToolCall({
|
|
|
3799
3804
|
}
|
|
3800
3805
|
}
|
|
3801
3806
|
async function parseProviderExecutedDynamicToolCall(toolCall) {
|
|
3802
|
-
const parseResult = toolCall.input.trim() === "" ? { success: true, value: {} } : await (0,
|
|
3807
|
+
const parseResult = toolCall.input.trim() === "" ? { success: true, value: {} } : await (0, import_provider_utils13.safeParseJSON)({ text: toolCall.input });
|
|
3803
3808
|
if (parseResult.success === false) {
|
|
3804
3809
|
throw new InvalidToolInputError({
|
|
3805
3810
|
toolName: toolCall.toolName,
|
|
@@ -3832,8 +3837,8 @@ async function doParseToolCall({
|
|
|
3832
3837
|
availableTools: Object.keys(tools)
|
|
3833
3838
|
});
|
|
3834
3839
|
}
|
|
3835
|
-
const schema = (0,
|
|
3836
|
-
const parseResult = toolCall.input.trim() === "" ? await (0,
|
|
3840
|
+
const schema = (0, import_provider_utils13.asSchema)(tool2.inputSchema);
|
|
3841
|
+
const parseResult = toolCall.input.trim() === "" ? await (0, import_provider_utils13.safeValidateTypes)({ value: {}, schema }) : await (0, import_provider_utils13.safeParseJSON)({ text: toolCall.input, schema });
|
|
3837
3842
|
if (parseResult.success === false) {
|
|
3838
3843
|
throw new InvalidToolInputError({
|
|
3839
3844
|
toolName,
|
|
@@ -4114,7 +4119,7 @@ function mergeAbortSignals(...signals) {
|
|
|
4114
4119
|
}
|
|
4115
4120
|
|
|
4116
4121
|
// src/generate-text/generate-text.ts
|
|
4117
|
-
var originalGenerateId = (0,
|
|
4122
|
+
var originalGenerateId = (0, import_provider_utils14.createIdGenerator)({
|
|
4118
4123
|
prefix: "aitxt",
|
|
4119
4124
|
size: 24
|
|
4120
4125
|
});
|
|
@@ -4168,7 +4173,7 @@ async function generateText({
|
|
|
4168
4173
|
abortSignal: mergedAbortSignal
|
|
4169
4174
|
});
|
|
4170
4175
|
const callSettings = prepareCallSettings(settings);
|
|
4171
|
-
const headersWithUserAgent = (0,
|
|
4176
|
+
const headersWithUserAgent = (0, import_provider_utils14.withUserAgentSuffix)(
|
|
4172
4177
|
headers != null ? headers : {},
|
|
4173
4178
|
`ai/${VERSION}`
|
|
4174
4179
|
);
|
|
@@ -4546,7 +4551,7 @@ async function generateText({
|
|
|
4546
4551
|
toolCallId: toolCall.toolCallId,
|
|
4547
4552
|
toolName: toolCall.toolName,
|
|
4548
4553
|
input: toolCall.input,
|
|
4549
|
-
error: (0,
|
|
4554
|
+
error: (0, import_provider_utils14.getErrorMessage)(toolCall.error),
|
|
4550
4555
|
dynamic: true
|
|
4551
4556
|
});
|
|
4552
4557
|
}
|
|
@@ -5003,7 +5008,7 @@ function asContent({
|
|
|
5003
5008
|
|
|
5004
5009
|
// src/generate-text/stream-text.ts
|
|
5005
5010
|
var import_provider28 = require("@ai-sdk/provider");
|
|
5006
|
-
var
|
|
5011
|
+
var import_provider_utils18 = require("@ai-sdk/provider-utils");
|
|
5007
5012
|
|
|
5008
5013
|
// src/util/prepare-headers.ts
|
|
5009
5014
|
function prepareHeaders(headers, defaultHeaders) {
|
|
@@ -5150,13 +5155,13 @@ function getResponseUIMessageId({
|
|
|
5150
5155
|
}
|
|
5151
5156
|
|
|
5152
5157
|
// src/ui/process-ui-message-stream.ts
|
|
5153
|
-
var
|
|
5158
|
+
var import_provider_utils16 = require("@ai-sdk/provider-utils");
|
|
5154
5159
|
|
|
5155
5160
|
// src/ui-message-stream/ui-message-chunks.ts
|
|
5156
5161
|
var import_v47 = require("zod/v4");
|
|
5157
|
-
var
|
|
5158
|
-
var uiMessageChunkSchema = (0,
|
|
5159
|
-
() => (0,
|
|
5162
|
+
var import_provider_utils15 = require("@ai-sdk/provider-utils");
|
|
5163
|
+
var uiMessageChunkSchema = (0, import_provider_utils15.lazySchema)(
|
|
5164
|
+
() => (0, import_provider_utils15.zodSchema)(
|
|
5160
5165
|
import_v47.z.union([
|
|
5161
5166
|
import_v47.z.strictObject({
|
|
5162
5167
|
type: import_v47.z.literal("text-start"),
|
|
@@ -5492,7 +5497,7 @@ function processUIMessageStream({
|
|
|
5492
5497
|
if (metadata != null) {
|
|
5493
5498
|
const mergedMetadata = state.message.metadata != null ? mergeObjects(state.message.metadata, metadata) : metadata;
|
|
5494
5499
|
if (messageMetadataSchema != null) {
|
|
5495
|
-
await (0,
|
|
5500
|
+
await (0, import_provider_utils16.validateTypes)({
|
|
5496
5501
|
value: mergedMetadata,
|
|
5497
5502
|
schema: messageMetadataSchema,
|
|
5498
5503
|
context: {
|
|
@@ -5863,7 +5868,7 @@ function processUIMessageStream({
|
|
|
5863
5868
|
(p) => "id" in p && "data" in p && p.id === chunk.id && p.type === chunk.type
|
|
5864
5869
|
);
|
|
5865
5870
|
const actualPartIdx = partIdx >= 0 ? partIdx : state.message.parts.length;
|
|
5866
|
-
await (0,
|
|
5871
|
+
await (0, import_provider_utils16.validateTypes)({
|
|
5867
5872
|
value: chunk.data,
|
|
5868
5873
|
schema: dataPartSchemas[chunk.type],
|
|
5869
5874
|
context: {
|
|
@@ -6205,7 +6210,7 @@ function createStitchableStream() {
|
|
|
6205
6210
|
}
|
|
6206
6211
|
|
|
6207
6212
|
// src/generate-text/run-tools-transformation.ts
|
|
6208
|
-
var
|
|
6213
|
+
var import_provider_utils17 = require("@ai-sdk/provider-utils");
|
|
6209
6214
|
function runToolsTransformation({
|
|
6210
6215
|
tools,
|
|
6211
6216
|
generatorStream,
|
|
@@ -6319,7 +6324,7 @@ function runToolsTransformation({
|
|
|
6319
6324
|
toolCallId: toolCall.toolCallId,
|
|
6320
6325
|
toolName: toolCall.toolName,
|
|
6321
6326
|
input: toolCall.input,
|
|
6322
|
-
error: (0,
|
|
6327
|
+
error: (0, import_provider_utils17.getErrorMessage)(toolCall.error),
|
|
6323
6328
|
dynamic: true,
|
|
6324
6329
|
title: toolCall.title
|
|
6325
6330
|
});
|
|
@@ -6453,7 +6458,7 @@ function runToolsTransformation({
|
|
|
6453
6458
|
}
|
|
6454
6459
|
|
|
6455
6460
|
// src/generate-text/stream-text.ts
|
|
6456
|
-
var originalGenerateId2 = (0,
|
|
6461
|
+
var originalGenerateId2 = (0, import_provider_utils18.createIdGenerator)({
|
|
6457
6462
|
prefix: "aitxt",
|
|
6458
6463
|
size: 24
|
|
6459
6464
|
});
|
|
@@ -6657,10 +6662,10 @@ var DefaultStreamTextResult = class {
|
|
|
6657
6662
|
download: download2,
|
|
6658
6663
|
include
|
|
6659
6664
|
}) {
|
|
6660
|
-
this._totalUsage = new
|
|
6661
|
-
this._finishReason = new
|
|
6662
|
-
this._rawFinishReason = new
|
|
6663
|
-
this._steps = new
|
|
6665
|
+
this._totalUsage = new import_provider_utils18.DelayedPromise();
|
|
6666
|
+
this._finishReason = new import_provider_utils18.DelayedPromise();
|
|
6667
|
+
this._rawFinishReason = new import_provider_utils18.DelayedPromise();
|
|
6668
|
+
this._steps = new import_provider_utils18.DelayedPromise();
|
|
6664
6669
|
this.outputSpecification = output;
|
|
6665
6670
|
this.includeRawChunks = includeRawChunks;
|
|
6666
6671
|
this.tools = tools;
|
|
@@ -6960,7 +6965,7 @@ var DefaultStreamTextResult = class {
|
|
|
6960
6965
|
}
|
|
6961
6966
|
controller.enqueue(value);
|
|
6962
6967
|
} catch (error) {
|
|
6963
|
-
if ((0,
|
|
6968
|
+
if ((0, import_provider_utils18.isAbortError)(error) && (abortSignal == null ? void 0 : abortSignal.aborted)) {
|
|
6964
6969
|
abort();
|
|
6965
6970
|
} else {
|
|
6966
6971
|
controller.error(error);
|
|
@@ -7187,7 +7192,7 @@ var DefaultStreamTextResult = class {
|
|
|
7187
7192
|
}
|
|
7188
7193
|
}
|
|
7189
7194
|
try {
|
|
7190
|
-
stepFinish = new
|
|
7195
|
+
stepFinish = new import_provider_utils18.DelayedPromise();
|
|
7191
7196
|
const stepInputMessages = [...initialMessages, ...responseMessages];
|
|
7192
7197
|
const prepareStepResult = await (prepareStep == null ? void 0 : prepareStep({
|
|
7193
7198
|
model,
|
|
@@ -8196,6 +8201,14 @@ var ToolLoopAgent = class {
|
|
|
8196
8201
|
}
|
|
8197
8202
|
async prepareCall(options) {
|
|
8198
8203
|
var _a21, _b, _c, _d;
|
|
8204
|
+
if (this.settings.callOptionsSchema != null && options.options !== void 0) {
|
|
8205
|
+
const validatedOptions = await (0, import_provider_utils19.validateTypes)({
|
|
8206
|
+
value: options.options,
|
|
8207
|
+
schema: this.settings.callOptionsSchema,
|
|
8208
|
+
context: { field: "options" }
|
|
8209
|
+
});
|
|
8210
|
+
options = { ...options, options: validatedOptions };
|
|
8211
|
+
}
|
|
8199
8212
|
const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
|
|
8200
8213
|
const baseCallArgs = {
|
|
8201
8214
|
...settingsWithoutCallback,
|