ai 5.0.0-canary.6 → 5.0.0-canary.7
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 +20 -0
- package/dist/index.d.mts +166 -446
- package/dist/index.d.ts +166 -446
- package/dist/index.js +283 -297
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +203 -217
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +259 -311
- package/dist/internal/index.d.ts +259 -311
- package/dist/internal/index.js +139 -155
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +129 -145
- package/dist/internal/index.mjs.map +1 -1
- package/dist/mcp-stdio/index.js.map +1 -1
- package/dist/mcp-stdio/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
@@ -1422,7 +1422,10 @@ function isSchema(value) {
|
|
1422
1422
|
return typeof value === "object" && value !== null && schemaSymbol in value && value[schemaSymbol] === true && "jsonSchema" in value && "validate" in value;
|
1423
1423
|
}
|
1424
1424
|
function asSchema(schema) {
|
1425
|
-
return
|
1425
|
+
return schema == null ? jsonSchema({
|
1426
|
+
properties: {},
|
1427
|
+
additionalProperties: false
|
1428
|
+
}) : isSchema(schema) ? schema : zodSchema(schema);
|
1426
1429
|
}
|
1427
1430
|
|
1428
1431
|
// core/util/should-resubmit-messages.ts
|
@@ -2552,9 +2555,6 @@ var NoObjectGeneratedError = class extends AISDKError4 {
|
|
2552
2555
|
};
|
2553
2556
|
_a4 = symbol4;
|
2554
2557
|
|
2555
|
-
// core/prompt/convert-to-language-model-prompt.ts
|
2556
|
-
import { convertUint8ArrayToBase64 as convertUint8ArrayToBase643 } from "@ai-sdk/provider-utils";
|
2557
|
-
|
2558
2558
|
// util/download-error.ts
|
2559
2559
|
import { AISDKError as AISDKError5 } from "@ai-sdk/provider";
|
2560
2560
|
var name5 = "AI_DownloadError";
|
@@ -2607,10 +2607,12 @@ async function download({ url }) {
|
|
2607
2607
|
}
|
2608
2608
|
|
2609
2609
|
// core/prompt/data-content.ts
|
2610
|
+
import { AISDKError as AISDKError7 } from "@ai-sdk/provider";
|
2610
2611
|
import {
|
2611
2612
|
convertBase64ToUint8Array as convertBase64ToUint8Array2,
|
2612
2613
|
convertUint8ArrayToBase64 as convertUint8ArrayToBase642
|
2613
2614
|
} from "@ai-sdk/provider-utils";
|
2615
|
+
import { z } from "zod";
|
2614
2616
|
|
2615
2617
|
// core/prompt/invalid-data-content-error.ts
|
2616
2618
|
import { AISDKError as AISDKError6 } from "@ai-sdk/provider";
|
@@ -2634,8 +2636,23 @@ var InvalidDataContentError = class extends AISDKError6 {
|
|
2634
2636
|
};
|
2635
2637
|
_a6 = symbol6;
|
2636
2638
|
|
2639
|
+
// core/prompt/split-data-url.ts
|
2640
|
+
function splitDataUrl(dataUrl) {
|
2641
|
+
try {
|
2642
|
+
const [header, base64Content] = dataUrl.split(",");
|
2643
|
+
return {
|
2644
|
+
mediaType: header.split(";")[0].split(":")[1],
|
2645
|
+
base64Content
|
2646
|
+
};
|
2647
|
+
} catch (error) {
|
2648
|
+
return {
|
2649
|
+
mediaType: void 0,
|
2650
|
+
base64Content: void 0
|
2651
|
+
};
|
2652
|
+
}
|
2653
|
+
}
|
2654
|
+
|
2637
2655
|
// core/prompt/data-content.ts
|
2638
|
-
import { z } from "zod";
|
2639
2656
|
var dataContentSchema = z.union([
|
2640
2657
|
z.string(),
|
2641
2658
|
z.instanceof(Uint8Array),
|
@@ -2649,6 +2666,33 @@ var dataContentSchema = z.union([
|
|
2649
2666
|
{ message: "Must be a Buffer" }
|
2650
2667
|
)
|
2651
2668
|
]);
|
2669
|
+
function convertToLanguageModelV2DataContent(content) {
|
2670
|
+
if (content instanceof Uint8Array) {
|
2671
|
+
return { data: content, mediaType: void 0 };
|
2672
|
+
}
|
2673
|
+
if (content instanceof ArrayBuffer) {
|
2674
|
+
return { data: new Uint8Array(content), mediaType: void 0 };
|
2675
|
+
}
|
2676
|
+
if (typeof content === "string") {
|
2677
|
+
try {
|
2678
|
+
content = new URL(content);
|
2679
|
+
} catch (error) {
|
2680
|
+
}
|
2681
|
+
}
|
2682
|
+
if (content instanceof URL && content.protocol === "data:") {
|
2683
|
+
const { mediaType: dataUrlMediaType, base64Content } = splitDataUrl(
|
2684
|
+
content.toString()
|
2685
|
+
);
|
2686
|
+
if (dataUrlMediaType == null || base64Content == null) {
|
2687
|
+
throw new AISDKError7({
|
2688
|
+
name: "InvalidDataContentError",
|
2689
|
+
message: `Invalid data URL format in content ${content.toString()}`
|
2690
|
+
});
|
2691
|
+
}
|
2692
|
+
return { data: base64Content, mediaType: dataUrlMediaType };
|
2693
|
+
}
|
2694
|
+
return { data: content, mediaType: void 0 };
|
2695
|
+
}
|
2652
2696
|
function convertDataContentToBase64String(content) {
|
2653
2697
|
if (typeof content === "string") {
|
2654
2698
|
return content;
|
@@ -2687,12 +2731,12 @@ function convertUint8ArrayToText(uint8Array) {
|
|
2687
2731
|
}
|
2688
2732
|
|
2689
2733
|
// core/prompt/invalid-message-role-error.ts
|
2690
|
-
import { AISDKError as
|
2734
|
+
import { AISDKError as AISDKError8 } from "@ai-sdk/provider";
|
2691
2735
|
var name7 = "AI_InvalidMessageRoleError";
|
2692
2736
|
var marker7 = `vercel.ai.error.${name7}`;
|
2693
2737
|
var symbol7 = Symbol.for(marker7);
|
2694
2738
|
var _a7;
|
2695
|
-
var InvalidMessageRoleError = class extends
|
2739
|
+
var InvalidMessageRoleError = class extends AISDKError8 {
|
2696
2740
|
constructor({
|
2697
2741
|
role,
|
2698
2742
|
message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
|
@@ -2702,27 +2746,11 @@ var InvalidMessageRoleError = class extends AISDKError7 {
|
|
2702
2746
|
this.role = role;
|
2703
2747
|
}
|
2704
2748
|
static isInstance(error) {
|
2705
|
-
return
|
2749
|
+
return AISDKError8.hasMarker(error, marker7);
|
2706
2750
|
}
|
2707
2751
|
};
|
2708
2752
|
_a7 = symbol7;
|
2709
2753
|
|
2710
|
-
// core/prompt/split-data-url.ts
|
2711
|
-
function splitDataUrl(dataUrl) {
|
2712
|
-
try {
|
2713
|
-
const [header, base64Content] = dataUrl.split(",");
|
2714
|
-
return {
|
2715
|
-
mediaType: header.split(";")[0].split(":")[1],
|
2716
|
-
base64Content
|
2717
|
-
};
|
2718
|
-
} catch (error) {
|
2719
|
-
return {
|
2720
|
-
mediaType: void 0,
|
2721
|
-
base64Content: void 0
|
2722
|
-
};
|
2723
|
-
}
|
2724
|
-
}
|
2725
|
-
|
2726
2754
|
// core/prompt/convert-to-language-model-prompt.ts
|
2727
2755
|
async function convertToLanguageModelPrompt({
|
2728
2756
|
prompt,
|
@@ -2744,14 +2772,13 @@ async function convertToLanguageModelPrompt({
|
|
2744
2772
|
];
|
2745
2773
|
}
|
2746
2774
|
function convertToLanguageModelMessage(message, downloadedAssets) {
|
2747
|
-
var _a17, _b, _c, _d, _e, _f;
|
2748
2775
|
const role = message.role;
|
2749
2776
|
switch (role) {
|
2750
2777
|
case "system": {
|
2751
2778
|
return {
|
2752
2779
|
role: "system",
|
2753
2780
|
content: message.content,
|
2754
|
-
providerOptions:
|
2781
|
+
providerOptions: message.providerOptions
|
2755
2782
|
};
|
2756
2783
|
}
|
2757
2784
|
case "user": {
|
@@ -2759,13 +2786,13 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
|
|
2759
2786
|
return {
|
2760
2787
|
role: "user",
|
2761
2788
|
content: [{ type: "text", text: message.content }],
|
2762
|
-
providerOptions:
|
2789
|
+
providerOptions: message.providerOptions
|
2763
2790
|
};
|
2764
2791
|
}
|
2765
2792
|
return {
|
2766
2793
|
role: "user",
|
2767
2794
|
content: message.content.map((part) => convertPartToLanguageModelPart(part, downloadedAssets)).filter((part) => part.type !== "text" || part.text !== ""),
|
2768
|
-
providerOptions:
|
2795
|
+
providerOptions: message.providerOptions
|
2769
2796
|
};
|
2770
2797
|
}
|
2771
2798
|
case "assistant": {
|
@@ -2773,7 +2800,7 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
|
|
2773
2800
|
return {
|
2774
2801
|
role: "assistant",
|
2775
2802
|
content: [{ type: "text", text: message.content }],
|
2776
|
-
providerOptions:
|
2803
|
+
providerOptions: message.providerOptions
|
2777
2804
|
};
|
2778
2805
|
}
|
2779
2806
|
return {
|
@@ -2782,15 +2809,18 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
|
|
2782
2809
|
// remove empty text parts:
|
2783
2810
|
(part) => part.type !== "text" || part.text !== ""
|
2784
2811
|
).map((part) => {
|
2785
|
-
var
|
2786
|
-
const providerOptions =
|
2812
|
+
var _a17;
|
2813
|
+
const providerOptions = part.providerOptions;
|
2787
2814
|
switch (part.type) {
|
2788
2815
|
case "file": {
|
2816
|
+
const { data, mediaType } = convertToLanguageModelV2DataContent(
|
2817
|
+
part.data
|
2818
|
+
);
|
2789
2819
|
return {
|
2790
2820
|
type: "file",
|
2791
|
-
data
|
2821
|
+
data,
|
2792
2822
|
filename: part.filename,
|
2793
|
-
mediaType: (
|
2823
|
+
mediaType: (_a17 = mediaType != null ? mediaType : part.mediaType) != null ? _a17 : part.mimeType,
|
2794
2824
|
providerOptions
|
2795
2825
|
};
|
2796
2826
|
}
|
@@ -2827,25 +2857,22 @@ function convertToLanguageModelMessage(message, downloadedAssets) {
|
|
2827
2857
|
}
|
2828
2858
|
}
|
2829
2859
|
}),
|
2830
|
-
providerOptions:
|
2860
|
+
providerOptions: message.providerOptions
|
2831
2861
|
};
|
2832
2862
|
}
|
2833
2863
|
case "tool": {
|
2834
2864
|
return {
|
2835
2865
|
role: "tool",
|
2836
|
-
content: message.content.map((part) => {
|
2837
|
-
|
2838
|
-
|
2839
|
-
|
2840
|
-
|
2841
|
-
|
2842
|
-
|
2843
|
-
|
2844
|
-
|
2845
|
-
|
2846
|
-
};
|
2847
|
-
}),
|
2848
|
-
providerOptions: (_f = message.providerOptions) != null ? _f : message.experimental_providerMetadata
|
2866
|
+
content: message.content.map((part) => ({
|
2867
|
+
type: "tool-result",
|
2868
|
+
toolCallId: part.toolCallId,
|
2869
|
+
toolName: part.toolName,
|
2870
|
+
result: part.result,
|
2871
|
+
content: part.experimental_content,
|
2872
|
+
isError: part.isError,
|
2873
|
+
providerOptions: part.providerOptions
|
2874
|
+
})),
|
2875
|
+
providerOptions: message.providerOptions
|
2849
2876
|
};
|
2850
2877
|
}
|
2851
2878
|
default: {
|
@@ -2878,71 +2905,48 @@ async function downloadAssets(messages, downloadImplementation, modelSupportsIma
|
|
2878
2905
|
);
|
2879
2906
|
}
|
2880
2907
|
function convertPartToLanguageModelPart(part, downloadedAssets) {
|
2881
|
-
var _a17, _b, _c
|
2908
|
+
var _a17, _b, _c;
|
2882
2909
|
if (part.type === "text") {
|
2883
2910
|
return {
|
2884
2911
|
type: "text",
|
2885
2912
|
text: part.text,
|
2886
|
-
providerOptions:
|
2913
|
+
providerOptions: part.providerOptions
|
2887
2914
|
};
|
2888
2915
|
}
|
2889
|
-
let
|
2890
|
-
let data;
|
2891
|
-
let content;
|
2892
|
-
let normalizedData;
|
2916
|
+
let originalData;
|
2893
2917
|
const type = part.type;
|
2894
2918
|
switch (type) {
|
2895
2919
|
case "image":
|
2896
|
-
|
2920
|
+
originalData = part.image;
|
2897
2921
|
break;
|
2898
2922
|
case "file":
|
2899
|
-
|
2923
|
+
originalData = part.data;
|
2900
2924
|
break;
|
2901
2925
|
default:
|
2902
2926
|
throw new Error(`Unsupported part type: ${type}`);
|
2903
2927
|
}
|
2904
|
-
|
2905
|
-
|
2906
|
-
|
2907
|
-
|
2908
|
-
|
2909
|
-
|
2910
|
-
|
2911
|
-
|
2912
|
-
content.toString()
|
2913
|
-
);
|
2914
|
-
if (dataUrlMediaType == null || base64Content == null) {
|
2915
|
-
throw new Error(`Invalid data URL format in part ${type}`);
|
2916
|
-
}
|
2917
|
-
mediaType = dataUrlMediaType;
|
2918
|
-
normalizedData = convertDataContentToUint8Array(base64Content);
|
2919
|
-
} else {
|
2920
|
-
const downloadedFile = downloadedAssets[content.toString()];
|
2921
|
-
if (downloadedFile) {
|
2922
|
-
normalizedData = downloadedFile.data;
|
2923
|
-
mediaType != null ? mediaType : mediaType = downloadedFile.mediaType;
|
2924
|
-
} else {
|
2925
|
-
normalizedData = content;
|
2926
|
-
}
|
2928
|
+
const { data: convertedData, mediaType: convertedMediaType } = convertToLanguageModelV2DataContent(originalData);
|
2929
|
+
let mediaType = (_a17 = convertedMediaType != null ? convertedMediaType : part.mediaType) != null ? _a17 : part.mimeType;
|
2930
|
+
let data = convertedData;
|
2931
|
+
if (data instanceof URL) {
|
2932
|
+
const downloadedFile = downloadedAssets[data.toString()];
|
2933
|
+
if (downloadedFile) {
|
2934
|
+
data = downloadedFile.data;
|
2935
|
+
mediaType = (_b = downloadedFile.mediaType) != null ? _b : mediaType;
|
2927
2936
|
}
|
2928
|
-
} else {
|
2929
|
-
normalizedData = convertDataContentToUint8Array(content);
|
2930
2937
|
}
|
2931
2938
|
switch (type) {
|
2932
2939
|
case "image": {
|
2933
|
-
if (
|
2934
|
-
mediaType = (_c = detectMediaType({
|
2935
|
-
data: normalizedData,
|
2936
|
-
signatures: imageMediaTypeSignatures
|
2937
|
-
})) != null ? _c : mediaType;
|
2940
|
+
if (data instanceof Uint8Array || typeof data === "string") {
|
2941
|
+
mediaType = (_c = detectMediaType({ data, signatures: imageMediaTypeSignatures })) != null ? _c : mediaType;
|
2938
2942
|
}
|
2939
2943
|
return {
|
2940
2944
|
type: "file",
|
2941
2945
|
mediaType: mediaType != null ? mediaType : "image/*",
|
2942
2946
|
// any image
|
2943
2947
|
filename: void 0,
|
2944
|
-
data
|
2945
|
-
providerOptions:
|
2948
|
+
data,
|
2949
|
+
providerOptions: part.providerOptions
|
2946
2950
|
};
|
2947
2951
|
}
|
2948
2952
|
case "file": {
|
@@ -2953,8 +2957,8 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
2953
2957
|
type: "file",
|
2954
2958
|
mediaType,
|
2955
2959
|
filename: part.filename,
|
2956
|
-
data
|
2957
|
-
providerOptions:
|
2960
|
+
data,
|
2961
|
+
providerOptions: part.providerOptions
|
2958
2962
|
};
|
2959
2963
|
}
|
2960
2964
|
}
|
@@ -2962,7 +2966,7 @@ function convertPartToLanguageModelPart(part, downloadedAssets) {
|
|
2962
2966
|
|
2963
2967
|
// core/prompt/prepare-call-settings.ts
|
2964
2968
|
function prepareCallSettings({
|
2965
|
-
|
2969
|
+
maxOutputTokens,
|
2966
2970
|
temperature,
|
2967
2971
|
topP,
|
2968
2972
|
topK,
|
@@ -2971,19 +2975,19 @@ function prepareCallSettings({
|
|
2971
2975
|
stopSequences,
|
2972
2976
|
seed
|
2973
2977
|
}) {
|
2974
|
-
if (
|
2975
|
-
if (!Number.isInteger(
|
2978
|
+
if (maxOutputTokens != null) {
|
2979
|
+
if (!Number.isInteger(maxOutputTokens)) {
|
2976
2980
|
throw new InvalidArgumentError({
|
2977
|
-
parameter: "
|
2978
|
-
value:
|
2979
|
-
message: "
|
2981
|
+
parameter: "maxOutputTokens",
|
2982
|
+
value: maxOutputTokens,
|
2983
|
+
message: "maxOutputTokens must be an integer"
|
2980
2984
|
});
|
2981
2985
|
}
|
2982
|
-
if (
|
2986
|
+
if (maxOutputTokens < 1) {
|
2983
2987
|
throw new InvalidArgumentError({
|
2984
|
-
parameter: "
|
2985
|
-
value:
|
2986
|
-
message: "
|
2988
|
+
parameter: "maxOutputTokens",
|
2989
|
+
value: maxOutputTokens,
|
2990
|
+
message: "maxOutputTokens must be >= 1"
|
2987
2991
|
});
|
2988
2992
|
}
|
2989
2993
|
}
|
@@ -3042,7 +3046,7 @@ function prepareCallSettings({
|
|
3042
3046
|
}
|
3043
3047
|
}
|
3044
3048
|
return {
|
3045
|
-
|
3049
|
+
maxOutputTokens,
|
3046
3050
|
// TODO v5 remove default 0 for temperature
|
3047
3051
|
temperature: temperature != null ? temperature : 0,
|
3048
3052
|
topP,
|
@@ -3137,12 +3141,12 @@ function attachmentsToParts(attachments) {
|
|
3137
3141
|
}
|
3138
3142
|
|
3139
3143
|
// core/prompt/message-conversion-error.ts
|
3140
|
-
import { AISDKError as
|
3144
|
+
import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
|
3141
3145
|
var name8 = "AI_MessageConversionError";
|
3142
3146
|
var marker8 = `vercel.ai.error.${name8}`;
|
3143
3147
|
var symbol8 = Symbol.for(marker8);
|
3144
3148
|
var _a8;
|
3145
|
-
var MessageConversionError = class extends
|
3149
|
+
var MessageConversionError = class extends AISDKError9 {
|
3146
3150
|
constructor({
|
3147
3151
|
originalMessage,
|
3148
3152
|
message
|
@@ -3152,7 +3156,7 @@ var MessageConversionError = class extends AISDKError8 {
|
|
3152
3156
|
this.originalMessage = originalMessage;
|
3153
3157
|
}
|
3154
3158
|
static isInstance(error) {
|
3155
|
-
return
|
3159
|
+
return AISDKError9.hasMarker(error, marker8);
|
3156
3160
|
}
|
3157
3161
|
};
|
3158
3162
|
_a8 = symbol8;
|
@@ -3426,7 +3430,7 @@ function detectSingleMessageCharacteristics(message) {
|
|
3426
3430
|
"experimental_attachments" in message)) {
|
3427
3431
|
return "has-ui-specific-parts";
|
3428
3432
|
} else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
|
3429
|
-
"
|
3433
|
+
"providerOptions" in message)) {
|
3430
3434
|
return "has-core-specific-parts";
|
3431
3435
|
} else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
|
3432
3436
|
return "message";
|
@@ -3480,16 +3484,14 @@ var toolResultContentSchema = z4.array(
|
|
3480
3484
|
var textPartSchema = z5.object({
|
3481
3485
|
type: z5.literal("text"),
|
3482
3486
|
text: z5.string(),
|
3483
|
-
providerOptions: providerMetadataSchema.optional()
|
3484
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3487
|
+
providerOptions: providerMetadataSchema.optional()
|
3485
3488
|
});
|
3486
3489
|
var imagePartSchema = z5.object({
|
3487
3490
|
type: z5.literal("image"),
|
3488
3491
|
image: z5.union([dataContentSchema, z5.instanceof(URL)]),
|
3489
3492
|
mediaType: z5.string().optional(),
|
3490
3493
|
mimeType: z5.string().optional(),
|
3491
|
-
providerOptions: providerMetadataSchema.optional()
|
3492
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3494
|
+
providerOptions: providerMetadataSchema.optional()
|
3493
3495
|
});
|
3494
3496
|
var filePartSchema = z5.object({
|
3495
3497
|
type: z5.literal("file"),
|
@@ -3497,28 +3499,24 @@ var filePartSchema = z5.object({
|
|
3497
3499
|
filename: z5.string().optional(),
|
3498
3500
|
mediaType: z5.string(),
|
3499
3501
|
mimeType: z5.string().optional(),
|
3500
|
-
providerOptions: providerMetadataSchema.optional()
|
3501
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3502
|
+
providerOptions: providerMetadataSchema.optional()
|
3502
3503
|
});
|
3503
3504
|
var reasoningPartSchema = z5.object({
|
3504
3505
|
type: z5.literal("reasoning"),
|
3505
3506
|
text: z5.string(),
|
3506
|
-
providerOptions: providerMetadataSchema.optional()
|
3507
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3507
|
+
providerOptions: providerMetadataSchema.optional()
|
3508
3508
|
});
|
3509
3509
|
var redactedReasoningPartSchema = z5.object({
|
3510
3510
|
type: z5.literal("redacted-reasoning"),
|
3511
3511
|
data: z5.string(),
|
3512
|
-
providerOptions: providerMetadataSchema.optional()
|
3513
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3512
|
+
providerOptions: providerMetadataSchema.optional()
|
3514
3513
|
});
|
3515
3514
|
var toolCallPartSchema = z5.object({
|
3516
3515
|
type: z5.literal("tool-call"),
|
3517
3516
|
toolCallId: z5.string(),
|
3518
3517
|
toolName: z5.string(),
|
3519
3518
|
args: z5.unknown(),
|
3520
|
-
providerOptions: providerMetadataSchema.optional()
|
3521
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3519
|
+
providerOptions: providerMetadataSchema.optional()
|
3522
3520
|
});
|
3523
3521
|
var toolResultPartSchema = z5.object({
|
3524
3522
|
type: z5.literal("tool-result"),
|
@@ -3527,16 +3525,14 @@ var toolResultPartSchema = z5.object({
|
|
3527
3525
|
result: z5.unknown(),
|
3528
3526
|
content: toolResultContentSchema.optional(),
|
3529
3527
|
isError: z5.boolean().optional(),
|
3530
|
-
providerOptions: providerMetadataSchema.optional()
|
3531
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3528
|
+
providerOptions: providerMetadataSchema.optional()
|
3532
3529
|
});
|
3533
3530
|
|
3534
3531
|
// core/prompt/message.ts
|
3535
3532
|
var coreSystemMessageSchema = z6.object({
|
3536
3533
|
role: z6.literal("system"),
|
3537
3534
|
content: z6.string(),
|
3538
|
-
providerOptions: providerMetadataSchema.optional()
|
3539
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3535
|
+
providerOptions: providerMetadataSchema.optional()
|
3540
3536
|
});
|
3541
3537
|
var coreUserMessageSchema = z6.object({
|
3542
3538
|
role: z6.literal("user"),
|
@@ -3544,8 +3540,7 @@ var coreUserMessageSchema = z6.object({
|
|
3544
3540
|
z6.string(),
|
3545
3541
|
z6.array(z6.union([textPartSchema, imagePartSchema, filePartSchema]))
|
3546
3542
|
]),
|
3547
|
-
providerOptions: providerMetadataSchema.optional()
|
3548
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3543
|
+
providerOptions: providerMetadataSchema.optional()
|
3549
3544
|
});
|
3550
3545
|
var coreAssistantMessageSchema = z6.object({
|
3551
3546
|
role: z6.literal("assistant"),
|
@@ -3561,14 +3556,12 @@ var coreAssistantMessageSchema = z6.object({
|
|
3561
3556
|
])
|
3562
3557
|
)
|
3563
3558
|
]),
|
3564
|
-
providerOptions: providerMetadataSchema.optional()
|
3565
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3559
|
+
providerOptions: providerMetadataSchema.optional()
|
3566
3560
|
});
|
3567
3561
|
var coreToolMessageSchema = z6.object({
|
3568
3562
|
role: z6.literal("tool"),
|
3569
3563
|
content: z6.array(toolResultPartSchema),
|
3570
|
-
providerOptions: providerMetadataSchema.optional()
|
3571
|
-
experimental_providerMetadata: providerMetadataSchema.optional()
|
3564
|
+
providerOptions: providerMetadataSchema.optional()
|
3572
3565
|
});
|
3573
3566
|
var coreMessageSchema = z6.union([
|
3574
3567
|
coreSystemMessageSchema,
|
@@ -3657,13 +3650,13 @@ function standardizePrompt({
|
|
3657
3650
|
|
3658
3651
|
// core/types/usage.ts
|
3659
3652
|
function calculateLanguageModelUsage2({
|
3660
|
-
|
3661
|
-
|
3653
|
+
inputTokens,
|
3654
|
+
outputTokens
|
3662
3655
|
}) {
|
3663
3656
|
return {
|
3664
|
-
promptTokens,
|
3665
|
-
completionTokens,
|
3666
|
-
totalTokens:
|
3657
|
+
promptTokens: inputTokens != null ? inputTokens : NaN,
|
3658
|
+
completionTokens: outputTokens != null ? outputTokens : NaN,
|
3659
|
+
totalTokens: (inputTokens != null ? inputTokens : 0) + (outputTokens != null ? outputTokens : 0)
|
3667
3660
|
};
|
3668
3661
|
}
|
3669
3662
|
function addLanguageModelUsage(usage1, usage2) {
|
@@ -4088,8 +4081,7 @@ async function generateObject({
|
|
4088
4081
|
headers,
|
4089
4082
|
experimental_repairText: repairText,
|
4090
4083
|
experimental_telemetry: telemetry,
|
4091
|
-
|
4092
|
-
providerOptions = experimental_providerMetadata,
|
4084
|
+
providerOptions,
|
4093
4085
|
_internal: {
|
4094
4086
|
generateId: generateId3 = originalGenerateId,
|
4095
4087
|
currentDate = () => /* @__PURE__ */ new Date()
|
@@ -4196,7 +4188,7 @@ async function generateObject({
|
|
4196
4188
|
"gen_ai.system": model.provider,
|
4197
4189
|
"gen_ai.request.model": model.modelId,
|
4198
4190
|
"gen_ai.request.frequency_penalty": settings.frequencyPenalty,
|
4199
|
-
"gen_ai.request.max_tokens": settings.
|
4191
|
+
"gen_ai.request.max_tokens": settings.maxOutputTokens,
|
4200
4192
|
"gen_ai.request.presence_penalty": settings.presencePenalty,
|
4201
4193
|
"gen_ai.request.temperature": settings.temperature,
|
4202
4194
|
"gen_ai.request.top_k": settings.topK,
|
@@ -4244,14 +4236,15 @@ async function generateObject({
|
|
4244
4236
|
"ai.response.id": responseData.id,
|
4245
4237
|
"ai.response.model": responseData.modelId,
|
4246
4238
|
"ai.response.timestamp": responseData.timestamp.toISOString(),
|
4247
|
-
|
4248
|
-
"ai.usage.
|
4239
|
+
// TODO rename telemetry attributes to inputTokens and outputTokens
|
4240
|
+
"ai.usage.promptTokens": result2.usage.inputTokens,
|
4241
|
+
"ai.usage.completionTokens": result2.usage.outputTokens,
|
4249
4242
|
// standardized gen-ai llm span attributes:
|
4250
4243
|
"gen_ai.response.finish_reasons": [result2.finishReason],
|
4251
4244
|
"gen_ai.response.id": responseData.id,
|
4252
4245
|
"gen_ai.response.model": responseData.modelId,
|
4253
|
-
"gen_ai.usage.
|
4254
|
-
"gen_ai.usage.
|
4246
|
+
"gen_ai.usage.input_tokens": result2.usage.inputTokens,
|
4247
|
+
"gen_ai.usage.output_tokens": result2.usage.outputTokens
|
4255
4248
|
}
|
4256
4249
|
})
|
4257
4250
|
);
|
@@ -4303,7 +4296,7 @@ async function generateObject({
|
|
4303
4296
|
"gen_ai.system": model.provider,
|
4304
4297
|
"gen_ai.request.model": model.modelId,
|
4305
4298
|
"gen_ai.request.frequency_penalty": settings.frequencyPenalty,
|
4306
|
-
"gen_ai.request.max_tokens": settings.
|
4299
|
+
"gen_ai.request.max_tokens": settings.maxOutputTokens,
|
4307
4300
|
"gen_ai.request.presence_penalty": settings.presencePenalty,
|
4308
4301
|
"gen_ai.request.temperature": settings.temperature,
|
4309
4302
|
"gen_ai.request.top_k": settings.topK,
|
@@ -4355,14 +4348,15 @@ async function generateObject({
|
|
4355
4348
|
"ai.response.id": responseData.id,
|
4356
4349
|
"ai.response.model": responseData.modelId,
|
4357
4350
|
"ai.response.timestamp": responseData.timestamp.toISOString(),
|
4358
|
-
|
4359
|
-
"ai.usage.
|
4351
|
+
// TODO rename telemetry attributes to inputTokens and outputTokens
|
4352
|
+
"ai.usage.promptTokens": result2.usage.inputTokens,
|
4353
|
+
"ai.usage.completionTokens": result2.usage.outputTokens,
|
4360
4354
|
// standardized gen-ai llm span attributes:
|
4361
4355
|
"gen_ai.response.finish_reasons": [result2.finishReason],
|
4362
4356
|
"gen_ai.response.id": responseData.id,
|
4363
4357
|
"gen_ai.response.model": responseData.modelId,
|
4364
|
-
"gen_ai.usage.input_tokens": result2.usage.
|
4365
|
-
"gen_ai.usage.output_tokens": result2.usage.
|
4358
|
+
"gen_ai.usage.input_tokens": result2.usage.inputTokens,
|
4359
|
+
"gen_ai.usage.output_tokens": result2.usage.outputTokens
|
4366
4360
|
}
|
4367
4361
|
})
|
4368
4362
|
);
|
@@ -4447,8 +4441,9 @@ async function generateObject({
|
|
4447
4441
|
"ai.response.object": {
|
4448
4442
|
output: () => JSON.stringify(object2)
|
4449
4443
|
},
|
4450
|
-
|
4451
|
-
"ai.usage.
|
4444
|
+
// TODO rename telemetry attributes to inputTokens and outputTokens
|
4445
|
+
"ai.usage.promptTokens": usage.inputTokens,
|
4446
|
+
"ai.usage.completionTokens": usage.outputTokens
|
4452
4447
|
}
|
4453
4448
|
})
|
4454
4449
|
);
|
@@ -4472,7 +4467,6 @@ var DefaultGenerateObjectResult = class {
|
|
4472
4467
|
this.usage = options.usage;
|
4473
4468
|
this.warnings = options.warnings;
|
4474
4469
|
this.providerMetadata = options.providerMetadata;
|
4475
|
-
this.experimental_providerMetadata = options.providerMetadata;
|
4476
4470
|
this.response = options.response;
|
4477
4471
|
this.request = options.request;
|
4478
4472
|
this.logprobs = options.logprobs;
|
@@ -4648,8 +4642,7 @@ function streamObject({
|
|
4648
4642
|
abortSignal,
|
4649
4643
|
headers,
|
4650
4644
|
experimental_telemetry: telemetry,
|
4651
|
-
|
4652
|
-
providerOptions = experimental_providerMetadata,
|
4645
|
+
providerOptions,
|
4653
4646
|
onError,
|
4654
4647
|
onFinish,
|
4655
4648
|
_internal: {
|
@@ -4898,7 +4891,7 @@ var DefaultStreamObjectResult = class {
|
|
4898
4891
|
"gen_ai.system": model.provider,
|
4899
4892
|
"gen_ai.request.model": model.modelId,
|
4900
4893
|
"gen_ai.request.frequency_penalty": settings.frequencyPenalty,
|
4901
|
-
"gen_ai.request.max_tokens": settings.
|
4894
|
+
"gen_ai.request.max_tokens": settings.maxOutputTokens,
|
4902
4895
|
"gen_ai.request.presence_penalty": settings.presencePenalty,
|
4903
4896
|
"gen_ai.request.temperature": settings.temperature,
|
4904
4897
|
"gen_ai.request.top_k": settings.topK,
|
@@ -5086,8 +5079,7 @@ var DefaultStreamObjectResult = class {
|
|
5086
5079
|
headers: response == null ? void 0 : response.headers
|
5087
5080
|
},
|
5088
5081
|
warnings,
|
5089
|
-
providerMetadata
|
5090
|
-
experimental_providerMetadata: providerMetadata
|
5082
|
+
providerMetadata
|
5091
5083
|
}));
|
5092
5084
|
} catch (error2) {
|
5093
5085
|
controller.enqueue({ type: "error", error: error2 });
|
@@ -5119,9 +5111,6 @@ var DefaultStreamObjectResult = class {
|
|
5119
5111
|
get usage() {
|
5120
5112
|
return this.usagePromise.value;
|
5121
5113
|
}
|
5122
|
-
get experimental_providerMetadata() {
|
5123
|
-
return this.providerMetadataPromise.value;
|
5124
|
-
}
|
5125
5114
|
get providerMetadata() {
|
5126
5115
|
return this.providerMetadataPromise.value;
|
5127
5116
|
}
|
@@ -5212,30 +5201,30 @@ var DefaultStreamObjectResult = class {
|
|
5212
5201
|
import { createIdGenerator as createIdGenerator3 } from "@ai-sdk/provider-utils";
|
5213
5202
|
|
5214
5203
|
// errors/no-output-specified-error.ts
|
5215
|
-
import { AISDKError as
|
5204
|
+
import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
|
5216
5205
|
var name9 = "AI_NoOutputSpecifiedError";
|
5217
5206
|
var marker9 = `vercel.ai.error.${name9}`;
|
5218
5207
|
var symbol9 = Symbol.for(marker9);
|
5219
5208
|
var _a9;
|
5220
|
-
var NoOutputSpecifiedError = class extends
|
5209
|
+
var NoOutputSpecifiedError = class extends AISDKError10 {
|
5221
5210
|
// used in isInstance
|
5222
5211
|
constructor({ message = "No output specified." } = {}) {
|
5223
5212
|
super({ name: name9, message });
|
5224
5213
|
this[_a9] = true;
|
5225
5214
|
}
|
5226
5215
|
static isInstance(error) {
|
5227
|
-
return
|
5216
|
+
return AISDKError10.hasMarker(error, marker9);
|
5228
5217
|
}
|
5229
5218
|
};
|
5230
5219
|
_a9 = symbol9;
|
5231
5220
|
|
5232
5221
|
// errors/tool-execution-error.ts
|
5233
|
-
import { AISDKError as
|
5222
|
+
import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
|
5234
5223
|
var name10 = "AI_ToolExecutionError";
|
5235
5224
|
var marker10 = `vercel.ai.error.${name10}`;
|
5236
5225
|
var symbol10 = Symbol.for(marker10);
|
5237
5226
|
var _a10;
|
5238
|
-
var ToolExecutionError = class extends
|
5227
|
+
var ToolExecutionError = class extends AISDKError11 {
|
5239
5228
|
constructor({
|
5240
5229
|
toolArgs,
|
5241
5230
|
toolName,
|
@@ -5250,7 +5239,7 @@ var ToolExecutionError = class extends AISDKError10 {
|
|
5250
5239
|
this.toolCallId = toolCallId;
|
5251
5240
|
}
|
5252
5241
|
static isInstance(error) {
|
5253
|
-
return
|
5242
|
+
return AISDKError11.hasMarker(error, marker10);
|
5254
5243
|
}
|
5255
5244
|
};
|
5256
5245
|
_a10 = symbol10;
|
@@ -5321,12 +5310,12 @@ function removeTextAfterLastWhitespace(text2) {
|
|
5321
5310
|
import { safeParseJSON as safeParseJSON3, safeValidateTypes as safeValidateTypes3 } from "@ai-sdk/provider-utils";
|
5322
5311
|
|
5323
5312
|
// errors/invalid-tool-arguments-error.ts
|
5324
|
-
import { AISDKError as
|
5313
|
+
import { AISDKError as AISDKError12, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
|
5325
5314
|
var name11 = "AI_InvalidToolArgumentsError";
|
5326
5315
|
var marker11 = `vercel.ai.error.${name11}`;
|
5327
5316
|
var symbol11 = Symbol.for(marker11);
|
5328
5317
|
var _a11;
|
5329
|
-
var InvalidToolArgumentsError = class extends
|
5318
|
+
var InvalidToolArgumentsError = class extends AISDKError12 {
|
5330
5319
|
constructor({
|
5331
5320
|
toolArgs,
|
5332
5321
|
toolName,
|
@@ -5341,18 +5330,18 @@ var InvalidToolArgumentsError = class extends AISDKError11 {
|
|
5341
5330
|
this.toolName = toolName;
|
5342
5331
|
}
|
5343
5332
|
static isInstance(error) {
|
5344
|
-
return
|
5333
|
+
return AISDKError12.hasMarker(error, marker11);
|
5345
5334
|
}
|
5346
5335
|
};
|
5347
5336
|
_a11 = symbol11;
|
5348
5337
|
|
5349
5338
|
// errors/no-such-tool-error.ts
|
5350
|
-
import { AISDKError as
|
5339
|
+
import { AISDKError as AISDKError13 } from "@ai-sdk/provider";
|
5351
5340
|
var name12 = "AI_NoSuchToolError";
|
5352
5341
|
var marker12 = `vercel.ai.error.${name12}`;
|
5353
5342
|
var symbol12 = Symbol.for(marker12);
|
5354
5343
|
var _a12;
|
5355
|
-
var NoSuchToolError = class extends
|
5344
|
+
var NoSuchToolError = class extends AISDKError13 {
|
5356
5345
|
constructor({
|
5357
5346
|
toolName,
|
5358
5347
|
availableTools = void 0,
|
@@ -5364,18 +5353,18 @@ var NoSuchToolError = class extends AISDKError12 {
|
|
5364
5353
|
this.availableTools = availableTools;
|
5365
5354
|
}
|
5366
5355
|
static isInstance(error) {
|
5367
|
-
return
|
5356
|
+
return AISDKError13.hasMarker(error, marker12);
|
5368
5357
|
}
|
5369
5358
|
};
|
5370
5359
|
_a12 = symbol12;
|
5371
5360
|
|
5372
5361
|
// errors/tool-call-repair-error.ts
|
5373
|
-
import { AISDKError as
|
5362
|
+
import { AISDKError as AISDKError14, getErrorMessage as getErrorMessage4 } from "@ai-sdk/provider";
|
5374
5363
|
var name13 = "AI_ToolCallRepairError";
|
5375
5364
|
var marker13 = `vercel.ai.error.${name13}`;
|
5376
5365
|
var symbol13 = Symbol.for(marker13);
|
5377
5366
|
var _a13;
|
5378
|
-
var ToolCallRepairError = class extends
|
5367
|
+
var ToolCallRepairError = class extends AISDKError14 {
|
5379
5368
|
constructor({
|
5380
5369
|
cause,
|
5381
5370
|
originalError,
|
@@ -5386,7 +5375,7 @@ var ToolCallRepairError = class extends AISDKError13 {
|
|
5386
5375
|
this.originalError = originalError;
|
5387
5376
|
}
|
5388
5377
|
static isInstance(error) {
|
5389
|
-
return
|
5378
|
+
return AISDKError14.hasMarker(error, marker13);
|
5390
5379
|
}
|
5391
5380
|
};
|
5392
5381
|
_a13 = symbol13;
|
@@ -5413,7 +5402,10 @@ async function parseToolCall({
|
|
5413
5402
|
repairedToolCall = await repairToolCall({
|
5414
5403
|
toolCall,
|
5415
5404
|
tools,
|
5416
|
-
parameterSchema: ({ toolName }) =>
|
5405
|
+
parameterSchema: ({ toolName }) => {
|
5406
|
+
const { parameters } = tools[toolName];
|
5407
|
+
return asSchema(parameters).jsonSchema;
|
5408
|
+
},
|
5417
5409
|
system,
|
5418
5410
|
messages,
|
5419
5411
|
error
|
@@ -5455,7 +5447,7 @@ async function doParseToolCall({
|
|
5455
5447
|
type: "tool-call",
|
5456
5448
|
toolCallId: toolCall.toolCallId,
|
5457
5449
|
toolName,
|
5458
|
-
args: parseResult.value
|
5450
|
+
args: parseResult == null ? void 0 : parseResult.value
|
5459
5451
|
};
|
5460
5452
|
}
|
5461
5453
|
|
@@ -5544,8 +5536,7 @@ async function generateText({
|
|
5544
5536
|
experimental_output: output,
|
5545
5537
|
experimental_continueSteps: continueSteps = false,
|
5546
5538
|
experimental_telemetry: telemetry,
|
5547
|
-
|
5548
|
-
providerOptions = experimental_providerMetadata,
|
5539
|
+
providerOptions,
|
5549
5540
|
experimental_activeTools: activeTools,
|
5550
5541
|
experimental_repairToolCall: repairToolCall,
|
5551
5542
|
_internal: {
|
@@ -5663,7 +5654,7 @@ async function generateText({
|
|
5663
5654
|
"gen_ai.system": model.provider,
|
5664
5655
|
"gen_ai.request.model": model.modelId,
|
5665
5656
|
"gen_ai.request.frequency_penalty": settings.frequencyPenalty,
|
5666
|
-
"gen_ai.request.max_tokens": settings.
|
5657
|
+
"gen_ai.request.max_tokens": settings.maxOutputTokens,
|
5667
5658
|
"gen_ai.request.presence_penalty": settings.presencePenalty,
|
5668
5659
|
"gen_ai.request.stop_sequences": settings.stopSequences,
|
5669
5660
|
"gen_ai.request.temperature": settings.temperature,
|
@@ -5705,14 +5696,15 @@ async function generateText({
|
|
5705
5696
|
"ai.response.id": responseData.id,
|
5706
5697
|
"ai.response.model": responseData.modelId,
|
5707
5698
|
"ai.response.timestamp": responseData.timestamp.toISOString(),
|
5708
|
-
|
5709
|
-
"ai.usage.
|
5699
|
+
// TODO rename telemetry attributes to inputTokens and outputTokens
|
5700
|
+
"ai.usage.promptTokens": result.usage.inputTokens,
|
5701
|
+
"ai.usage.completionTokens": result.usage.outputTokens,
|
5710
5702
|
// standardized gen-ai llm span attributes:
|
5711
5703
|
"gen_ai.response.finish_reasons": [result.finishReason],
|
5712
5704
|
"gen_ai.response.id": responseData.id,
|
5713
5705
|
"gen_ai.response.model": responseData.modelId,
|
5714
|
-
"gen_ai.usage.input_tokens": result.usage.
|
5715
|
-
"gen_ai.usage.output_tokens": result.usage.
|
5706
|
+
"gen_ai.usage.input_tokens": result.usage.inputTokens,
|
5707
|
+
"gen_ai.usage.output_tokens": result.usage.outputTokens
|
5716
5708
|
}
|
5717
5709
|
})
|
5718
5710
|
);
|
@@ -5810,7 +5802,6 @@ async function generateText({
|
|
5810
5802
|
messages: structuredClone(responseMessages)
|
5811
5803
|
},
|
5812
5804
|
providerMetadata: currentModelResponse.providerMetadata,
|
5813
|
-
experimental_providerMetadata: currentModelResponse.providerMetadata,
|
5814
5805
|
isContinued: nextStepType === "continue"
|
5815
5806
|
};
|
5816
5807
|
steps.push(currentStepResult);
|
@@ -5828,8 +5819,9 @@ async function generateText({
|
|
5828
5819
|
"ai.response.toolCalls": {
|
5829
5820
|
output: () => JSON.stringify(currentModelResponse.toolCalls)
|
5830
5821
|
},
|
5831
|
-
|
5832
|
-
"ai.usage.
|
5822
|
+
// TODO rename telemetry attributes to inputTokens and outputTokens
|
5823
|
+
"ai.usage.promptTokens": currentModelResponse.usage.inputTokens,
|
5824
|
+
"ai.usage.completionTokens": currentModelResponse.usage.outputTokens
|
5833
5825
|
}
|
5834
5826
|
})
|
5835
5827
|
);
|
@@ -5958,7 +5950,6 @@ var DefaultGenerateTextResult = class {
|
|
5958
5950
|
this.request = options.request;
|
5959
5951
|
this.response = options.response;
|
5960
5952
|
this.steps = options.steps;
|
5961
|
-
this.experimental_providerMetadata = options.providerMetadata;
|
5962
5953
|
this.providerMetadata = options.providerMetadata;
|
5963
5954
|
this.logprobs = options.logprobs;
|
5964
5955
|
this.outputResolver = options.outputResolver;
|
@@ -5992,7 +5983,7 @@ import { safeParseJSON as safeParseJSON4, safeValidateTypes as safeValidateTypes
|
|
5992
5983
|
|
5993
5984
|
// errors/index.ts
|
5994
5985
|
import {
|
5995
|
-
AISDKError as
|
5986
|
+
AISDKError as AISDKError17,
|
5996
5987
|
APICallError as APICallError2,
|
5997
5988
|
EmptyResponseBodyError,
|
5998
5989
|
InvalidPromptError as InvalidPromptError2,
|
@@ -6006,12 +5997,12 @@ import {
|
|
6006
5997
|
} from "@ai-sdk/provider";
|
6007
5998
|
|
6008
5999
|
// errors/invalid-stream-part-error.ts
|
6009
|
-
import { AISDKError as
|
6000
|
+
import { AISDKError as AISDKError15 } from "@ai-sdk/provider";
|
6010
6001
|
var name14 = "AI_InvalidStreamPartError";
|
6011
6002
|
var marker14 = `vercel.ai.error.${name14}`;
|
6012
6003
|
var symbol14 = Symbol.for(marker14);
|
6013
6004
|
var _a14;
|
6014
|
-
var InvalidStreamPartError = class extends
|
6005
|
+
var InvalidStreamPartError = class extends AISDKError15 {
|
6015
6006
|
constructor({
|
6016
6007
|
chunk,
|
6017
6008
|
message
|
@@ -6021,18 +6012,18 @@ var InvalidStreamPartError = class extends AISDKError14 {
|
|
6021
6012
|
this.chunk = chunk;
|
6022
6013
|
}
|
6023
6014
|
static isInstance(error) {
|
6024
|
-
return
|
6015
|
+
return AISDKError15.hasMarker(error, marker14);
|
6025
6016
|
}
|
6026
6017
|
};
|
6027
6018
|
_a14 = symbol14;
|
6028
6019
|
|
6029
6020
|
// errors/mcp-client-error.ts
|
6030
|
-
import { AISDKError as
|
6021
|
+
import { AISDKError as AISDKError16 } from "@ai-sdk/provider";
|
6031
6022
|
var name15 = "AI_MCPClientError";
|
6032
6023
|
var marker15 = `vercel.ai.error.${name15}`;
|
6033
6024
|
var symbol15 = Symbol.for(marker15);
|
6034
6025
|
var _a15;
|
6035
|
-
var MCPClientError = class extends
|
6026
|
+
var MCPClientError = class extends AISDKError16 {
|
6036
6027
|
constructor({
|
6037
6028
|
name: name17 = "MCPClientError",
|
6038
6029
|
message,
|
@@ -6042,7 +6033,7 @@ var MCPClientError = class extends AISDKError15 {
|
|
6042
6033
|
this[_a15] = true;
|
6043
6034
|
}
|
6044
6035
|
static isInstance(error) {
|
6045
|
-
return
|
6036
|
+
return AISDKError16.hasMarker(error, marker15);
|
6046
6037
|
}
|
6047
6038
|
};
|
6048
6039
|
_a15 = symbol15;
|
@@ -6196,7 +6187,7 @@ function smoothStream({
|
|
6196
6187
|
}
|
6197
6188
|
|
6198
6189
|
// core/generate-text/stream-text.ts
|
6199
|
-
import { AISDKError as
|
6190
|
+
import { AISDKError as AISDKError18 } from "@ai-sdk/provider";
|
6200
6191
|
import { createIdGenerator as createIdGenerator4 } from "@ai-sdk/provider-utils";
|
6201
6192
|
|
6202
6193
|
// util/as-array.ts
|
@@ -6471,7 +6462,7 @@ function runToolsTransformation({
|
|
6471
6462
|
finishReason: chunk.finishReason,
|
6472
6463
|
logprobs: chunk.logprobs,
|
6473
6464
|
usage: calculateLanguageModelUsage2(chunk.usage),
|
6474
|
-
|
6465
|
+
providerMetadata: chunk.providerMetadata
|
6475
6466
|
};
|
6476
6467
|
break;
|
6477
6468
|
}
|
@@ -6537,8 +6528,7 @@ function streamText({
|
|
6537
6528
|
experimental_output: output,
|
6538
6529
|
experimental_continueSteps: continueSteps = false,
|
6539
6530
|
experimental_telemetry: telemetry,
|
6540
|
-
|
6541
|
-
providerOptions = experimental_providerMetadata,
|
6531
|
+
providerOptions,
|
6542
6532
|
experimental_toolCallStreaming = false,
|
6543
6533
|
toolCallStreaming = experimental_toolCallStreaming,
|
6544
6534
|
experimental_activeTools: activeTools,
|
@@ -6732,7 +6722,7 @@ var DefaultStreamTextResult = class {
|
|
6732
6722
|
}
|
6733
6723
|
if (part.type === "reasoning-signature") {
|
6734
6724
|
if (activeReasoningText == null) {
|
6735
|
-
throw new
|
6725
|
+
throw new AISDKError18({
|
6736
6726
|
name: "InvalidStreamPart",
|
6737
6727
|
message: "reasoning-signature without reasoning"
|
6738
6728
|
});
|
@@ -6799,8 +6789,7 @@ var DefaultStreamTextResult = class {
|
|
6799
6789
|
...part.response,
|
6800
6790
|
messages: [...recordedResponse.messages, ...stepMessages]
|
6801
6791
|
},
|
6802
|
-
providerMetadata: part.
|
6803
|
-
experimental_providerMetadata: part.experimental_providerMetadata,
|
6792
|
+
providerMetadata: part.providerMetadata,
|
6804
6793
|
isContinued: part.isContinued
|
6805
6794
|
};
|
6806
6795
|
await (onStepFinish == null ? void 0 : onStepFinish(currentStepResult));
|
@@ -6841,9 +6830,7 @@ var DefaultStreamTextResult = class {
|
|
6841
6830
|
self.responsePromise.resolve(lastStep.response);
|
6842
6831
|
self.toolCallsPromise.resolve(lastStep.toolCalls);
|
6843
6832
|
self.toolResultsPromise.resolve(lastStep.toolResults);
|
6844
|
-
self.providerMetadataPromise.resolve(
|
6845
|
-
lastStep.experimental_providerMetadata
|
6846
|
-
);
|
6833
|
+
self.providerMetadataPromise.resolve(lastStep.providerMetadata);
|
6847
6834
|
self.reasoningPromise.resolve(lastStep.reasoning);
|
6848
6835
|
self.reasoningDetailsPromise.resolve(lastStep.reasoningDetails);
|
6849
6836
|
const finishReason = recordedFinishReason != null ? recordedFinishReason : "unknown";
|
@@ -6873,7 +6860,6 @@ var DefaultStreamTextResult = class {
|
|
6873
6860
|
response: lastStep.response,
|
6874
6861
|
warnings: lastStep.warnings,
|
6875
6862
|
providerMetadata: lastStep.providerMetadata,
|
6876
|
-
experimental_providerMetadata: lastStep.experimental_providerMetadata,
|
6877
6863
|
steps: recordedSteps
|
6878
6864
|
}));
|
6879
6865
|
rootSpan.setAttributes(
|
@@ -7017,7 +7003,7 @@ var DefaultStreamTextResult = class {
|
|
7017
7003
|
"gen_ai.system": model.provider,
|
7018
7004
|
"gen_ai.request.model": model.modelId,
|
7019
7005
|
"gen_ai.request.frequency_penalty": settings.frequencyPenalty,
|
7020
|
-
"gen_ai.request.max_tokens": settings.
|
7006
|
+
"gen_ai.request.max_tokens": settings.maxOutputTokens,
|
7021
7007
|
"gen_ai.request.presence_penalty": settings.presencePenalty,
|
7022
7008
|
"gen_ai.request.stop_sequences": settings.stopSequences,
|
7023
7009
|
"gen_ai.request.temperature": settings.temperature,
|
@@ -7195,7 +7181,7 @@ var DefaultStreamTextResult = class {
|
|
7195
7181
|
case "finish": {
|
7196
7182
|
stepUsage = chunk.usage;
|
7197
7183
|
stepFinishReason = chunk.finishReason;
|
7198
|
-
stepProviderMetadata = chunk.
|
7184
|
+
stepProviderMetadata = chunk.providerMetadata;
|
7199
7185
|
stepLogProbs = chunk.logprobs;
|
7200
7186
|
const msToFinish = now2() - startTimestampMs;
|
7201
7187
|
doStreamSpan.addEvent("ai.stream.finish");
|
@@ -7287,7 +7273,6 @@ var DefaultStreamTextResult = class {
|
|
7287
7273
|
finishReason: stepFinishReason,
|
7288
7274
|
usage: stepUsage,
|
7289
7275
|
providerMetadata: stepProviderMetadata,
|
7290
|
-
experimental_providerMetadata: stepProviderMetadata,
|
7291
7276
|
logprobs: stepLogProbs,
|
7292
7277
|
request: stepRequest,
|
7293
7278
|
response: {
|
@@ -7305,7 +7290,6 @@ var DefaultStreamTextResult = class {
|
|
7305
7290
|
finishReason: stepFinishReason,
|
7306
7291
|
usage: combinedUsage,
|
7307
7292
|
providerMetadata: stepProviderMetadata,
|
7308
|
-
experimental_providerMetadata: stepProviderMetadata,
|
7309
7293
|
logprobs: stepLogProbs,
|
7310
7294
|
response: {
|
7311
7295
|
...stepResponse,
|
@@ -7391,9 +7375,6 @@ var DefaultStreamTextResult = class {
|
|
7391
7375
|
get finishReason() {
|
7392
7376
|
return this.finishReasonPromise.value;
|
7393
7377
|
}
|
7394
|
-
get experimental_providerMetadata() {
|
7395
|
-
return this.providerMetadataPromise.value;
|
7396
|
-
}
|
7397
7378
|
get providerMetadata() {
|
7398
7379
|
return this.providerMetadataPromise.value;
|
7399
7380
|
}
|
@@ -7744,8 +7725,8 @@ var DefaultStreamTextResult = class {
|
|
7744
7725
|
};
|
7745
7726
|
|
7746
7727
|
// errors/no-transcript-generated-error.ts
|
7747
|
-
import { AISDKError as
|
7748
|
-
var NoTranscriptGeneratedError = class extends
|
7728
|
+
import { AISDKError as AISDKError19 } from "@ai-sdk/provider";
|
7729
|
+
var NoTranscriptGeneratedError = class extends AISDKError19 {
|
7749
7730
|
constructor(options) {
|
7750
7731
|
super({
|
7751
7732
|
name: "AI_NoTranscriptGeneratedError",
|
@@ -8121,7 +8102,7 @@ function appendClientMessage({
|
|
8121
8102
|
}
|
8122
8103
|
|
8123
8104
|
// core/prompt/append-response-messages.ts
|
8124
|
-
import { AISDKError as
|
8105
|
+
import { AISDKError as AISDKError20 } from "@ai-sdk/provider";
|
8125
8106
|
function appendResponseMessages({
|
8126
8107
|
messages,
|
8127
8108
|
responseMessages,
|
@@ -8204,7 +8185,7 @@ function appendResponseMessages({
|
|
8204
8185
|
break;
|
8205
8186
|
case "file":
|
8206
8187
|
if (part.data instanceof URL) {
|
8207
|
-
throw new
|
8188
|
+
throw new AISDKError20({
|
8208
8189
|
name: "InvalidAssistantFileData",
|
8209
8190
|
message: "File data cannot be a URL"
|
8210
8191
|
});
|
@@ -8338,7 +8319,7 @@ function customProvider({
|
|
8338
8319
|
var experimental_customProvider = customProvider;
|
8339
8320
|
|
8340
8321
|
// core/registry/no-such-provider-error.ts
|
8341
|
-
import { AISDKError as
|
8322
|
+
import { AISDKError as AISDKError21, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
|
8342
8323
|
var name16 = "AI_NoSuchProviderError";
|
8343
8324
|
var marker16 = `vercel.ai.error.${name16}`;
|
8344
8325
|
var symbol16 = Symbol.for(marker16);
|
@@ -8357,7 +8338,7 @@ var NoSuchProviderError = class extends NoSuchModelError3 {
|
|
8357
8338
|
this.availableProviders = availableProviders;
|
8358
8339
|
}
|
8359
8340
|
static isInstance(error) {
|
8360
|
-
return
|
8341
|
+
return AISDKError21.hasMarker(error, marker16);
|
8361
8342
|
}
|
8362
8343
|
};
|
8363
8344
|
_a16 = symbol16;
|
@@ -8928,6 +8909,7 @@ var MCPClient = class {
|
|
8928
8909
|
async tools({
|
8929
8910
|
schemas = "automatic"
|
8930
8911
|
} = {}) {
|
8912
|
+
var _a17;
|
8931
8913
|
const tools = {};
|
8932
8914
|
try {
|
8933
8915
|
const listToolsResult = await this.listTools();
|
@@ -8935,14 +8917,18 @@ var MCPClient = class {
|
|
8935
8917
|
if (schemas !== "automatic" && !(name17 in schemas)) {
|
8936
8918
|
continue;
|
8937
8919
|
}
|
8938
|
-
const parameters = schemas === "automatic" ? jsonSchema(
|
8920
|
+
const parameters = schemas === "automatic" ? jsonSchema({
|
8921
|
+
...inputSchema,
|
8922
|
+
properties: (_a17 = inputSchema.properties) != null ? _a17 : {},
|
8923
|
+
additionalProperties: false
|
8924
|
+
}) : schemas[name17].parameters;
|
8939
8925
|
const self = this;
|
8940
8926
|
const toolWithExecute = tool({
|
8941
8927
|
description,
|
8942
8928
|
parameters,
|
8943
8929
|
execute: async (args, options) => {
|
8944
|
-
var
|
8945
|
-
(
|
8930
|
+
var _a18;
|
8931
|
+
(_a18 = options == null ? void 0 : options.abortSignal) == null ? void 0 : _a18.throwIfAborted();
|
8946
8932
|
return self.callTool({
|
8947
8933
|
name: name17,
|
8948
8934
|
args,
|
@@ -9282,7 +9268,7 @@ var StreamData = class {
|
|
9282
9268
|
}
|
9283
9269
|
};
|
9284
9270
|
export {
|
9285
|
-
|
9271
|
+
AISDKError17 as AISDKError,
|
9286
9272
|
APICallError2 as APICallError,
|
9287
9273
|
DownloadError,
|
9288
9274
|
EmptyResponseBodyError,
|