ai 5.0.0-beta.20 → 5.0.0-beta.21
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 +10 -0
- package/dist/bin/ai.js +208 -186
- package/dist/bin/ai.js.map +1 -1
- package/dist/bin/ai.min.js +35 -48
- package/dist/index.d.mts +19 -4
- package/dist/index.d.ts +19 -4
- package/dist/index.js +63 -35
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +63 -35
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -1804,7 +1804,11 @@ function toResponseMessages({
|
|
1804
1804
|
).filter((part) => part.type !== "text" || part.text.length > 0).map((part) => {
|
1805
1805
|
switch (part.type) {
|
1806
1806
|
case "text":
|
1807
|
-
return
|
1807
|
+
return {
|
1808
|
+
type: "text",
|
1809
|
+
text: part.text,
|
1810
|
+
providerOptions: part.providerMetadata
|
1811
|
+
};
|
1808
1812
|
case "reasoning":
|
1809
1813
|
return {
|
1810
1814
|
type: "reasoning",
|
@@ -2552,16 +2556,19 @@ import { z as z7 } from "zod/v4";
|
|
2552
2556
|
var uiMessageChunkSchema = z7.union([
|
2553
2557
|
z7.strictObject({
|
2554
2558
|
type: z7.literal("text-start"),
|
2555
|
-
id: z7.string()
|
2559
|
+
id: z7.string(),
|
2560
|
+
providerMetadata: providerMetadataSchema.optional()
|
2556
2561
|
}),
|
2557
2562
|
z7.strictObject({
|
2558
2563
|
type: z7.literal("text-delta"),
|
2559
2564
|
id: z7.string(),
|
2560
|
-
delta: z7.string()
|
2565
|
+
delta: z7.string(),
|
2566
|
+
providerMetadata: providerMetadataSchema.optional()
|
2561
2567
|
}),
|
2562
2568
|
z7.strictObject({
|
2563
2569
|
type: z7.literal("text-end"),
|
2564
|
-
id: z7.string()
|
2570
|
+
id: z7.string(),
|
2571
|
+
providerMetadata: providerMetadataSchema.optional()
|
2565
2572
|
}),
|
2566
2573
|
z7.strictObject({
|
2567
2574
|
type: z7.literal("error"),
|
@@ -2583,7 +2590,8 @@ var uiMessageChunkSchema = z7.union([
|
|
2583
2590
|
toolCallId: z7.string(),
|
2584
2591
|
toolName: z7.string(),
|
2585
2592
|
input: z7.unknown(),
|
2586
|
-
providerExecuted: z7.boolean().optional()
|
2593
|
+
providerExecuted: z7.boolean().optional(),
|
2594
|
+
providerMetadata: providerMetadataSchema.optional()
|
2587
2595
|
}),
|
2588
2596
|
z7.strictObject({
|
2589
2597
|
type: z7.literal("tool-output-available"),
|
@@ -2600,23 +2608,23 @@ var uiMessageChunkSchema = z7.union([
|
|
2600
2608
|
z7.strictObject({
|
2601
2609
|
type: z7.literal("reasoning"),
|
2602
2610
|
text: z7.string(),
|
2603
|
-
providerMetadata:
|
2611
|
+
providerMetadata: providerMetadataSchema.optional()
|
2604
2612
|
}),
|
2605
2613
|
z7.strictObject({
|
2606
2614
|
type: z7.literal("reasoning-start"),
|
2607
2615
|
id: z7.string(),
|
2608
|
-
providerMetadata:
|
2616
|
+
providerMetadata: providerMetadataSchema.optional()
|
2609
2617
|
}),
|
2610
2618
|
z7.strictObject({
|
2611
2619
|
type: z7.literal("reasoning-delta"),
|
2612
2620
|
id: z7.string(),
|
2613
2621
|
delta: z7.string(),
|
2614
|
-
providerMetadata:
|
2622
|
+
providerMetadata: providerMetadataSchema.optional()
|
2615
2623
|
}),
|
2616
2624
|
z7.strictObject({
|
2617
2625
|
type: z7.literal("reasoning-end"),
|
2618
2626
|
id: z7.string(),
|
2619
|
-
providerMetadata:
|
2627
|
+
providerMetadata: providerMetadataSchema.optional()
|
2620
2628
|
}),
|
2621
2629
|
z7.strictObject({
|
2622
2630
|
type: z7.literal("reasoning-part-finish")
|
@@ -2626,8 +2634,7 @@ var uiMessageChunkSchema = z7.union([
|
|
2626
2634
|
sourceId: z7.string(),
|
2627
2635
|
url: z7.string(),
|
2628
2636
|
title: z7.string().optional(),
|
2629
|
-
providerMetadata:
|
2630
|
-
// Use z.any() for generic metadata
|
2637
|
+
providerMetadata: providerMetadataSchema.optional()
|
2631
2638
|
}),
|
2632
2639
|
z7.strictObject({
|
2633
2640
|
type: z7.literal("source-document"),
|
@@ -2635,13 +2642,13 @@ var uiMessageChunkSchema = z7.union([
|
|
2635
2642
|
mediaType: z7.string(),
|
2636
2643
|
title: z7.string(),
|
2637
2644
|
filename: z7.string().optional(),
|
2638
|
-
providerMetadata:
|
2639
|
-
// Use z.any() for generic metadata
|
2645
|
+
providerMetadata: providerMetadataSchema.optional()
|
2640
2646
|
}),
|
2641
2647
|
z7.strictObject({
|
2642
2648
|
type: z7.literal("file"),
|
2643
2649
|
url: z7.string(),
|
2644
|
-
mediaType: z7.string()
|
2650
|
+
mediaType: z7.string(),
|
2651
|
+
providerMetadata: providerMetadataSchema.optional()
|
2645
2652
|
}),
|
2646
2653
|
z7.strictObject({
|
2647
2654
|
type: z7.string().startsWith("data-"),
|
@@ -3081,7 +3088,7 @@ function processUIMessageStream({
|
|
3081
3088
|
new TransformStream({
|
3082
3089
|
async transform(part, controller) {
|
3083
3090
|
await runUpdateMessageJob(async ({ state, write }) => {
|
3084
|
-
var _a16, _b;
|
3091
|
+
var _a16, _b, _c, _d;
|
3085
3092
|
function updateToolInvocationPart(options) {
|
3086
3093
|
var _a17;
|
3087
3094
|
const part2 = state.message.parts.find(
|
@@ -3095,6 +3102,9 @@ function processUIMessageStream({
|
|
3095
3102
|
anyPart.output = anyOptions.output;
|
3096
3103
|
anyPart.errorText = anyOptions.errorText;
|
3097
3104
|
anyPart.providerExecuted = (_a17 = anyOptions.providerExecuted) != null ? _a17 : part2.providerExecuted;
|
3105
|
+
if (anyOptions.providerMetadata != null && part2.state === "input-available") {
|
3106
|
+
part2.callProviderMetadata = anyOptions.providerMetadata;
|
3107
|
+
}
|
3098
3108
|
} else {
|
3099
3109
|
state.message.parts.push({
|
3100
3110
|
type: `tool-${options.toolName}`,
|
@@ -3103,7 +3113,8 @@ function processUIMessageStream({
|
|
3103
3113
|
input: anyOptions.input,
|
3104
3114
|
output: anyOptions.output,
|
3105
3115
|
errorText: anyOptions.errorText,
|
3106
|
-
providerExecuted: anyOptions.providerExecuted
|
3116
|
+
providerExecuted: anyOptions.providerExecuted,
|
3117
|
+
...anyOptions.providerMetadata != null ? { callProviderMetadata: anyOptions.providerMetadata } : {}
|
3107
3118
|
});
|
3108
3119
|
}
|
3109
3120
|
}
|
@@ -3124,6 +3135,7 @@ function processUIMessageStream({
|
|
3124
3135
|
const textPart = {
|
3125
3136
|
type: "text",
|
3126
3137
|
text: "",
|
3138
|
+
providerMetadata: part.providerMetadata,
|
3127
3139
|
state: "streaming"
|
3128
3140
|
};
|
3129
3141
|
state.activeTextParts[part.id] = textPart;
|
@@ -3132,13 +3144,16 @@ function processUIMessageStream({
|
|
3132
3144
|
break;
|
3133
3145
|
}
|
3134
3146
|
case "text-delta": {
|
3135
|
-
state.activeTextParts[part.id]
|
3147
|
+
const textPart = state.activeTextParts[part.id];
|
3148
|
+
textPart.text += part.delta;
|
3149
|
+
textPart.providerMetadata = (_a16 = part.providerMetadata) != null ? _a16 : textPart.providerMetadata;
|
3136
3150
|
write();
|
3137
3151
|
break;
|
3138
3152
|
}
|
3139
3153
|
case "text-end": {
|
3140
3154
|
const textPart = state.activeTextParts[part.id];
|
3141
3155
|
textPart.state = "done";
|
3156
|
+
textPart.providerMetadata = (_b = part.providerMetadata) != null ? _b : textPart.providerMetadata;
|
3142
3157
|
delete state.activeTextParts[part.id];
|
3143
3158
|
write();
|
3144
3159
|
break;
|
@@ -3158,13 +3173,13 @@ function processUIMessageStream({
|
|
3158
3173
|
case "reasoning-delta": {
|
3159
3174
|
const reasoningPart = state.activeReasoningParts[part.id];
|
3160
3175
|
reasoningPart.text += part.delta;
|
3161
|
-
reasoningPart.providerMetadata = (
|
3176
|
+
reasoningPart.providerMetadata = (_c = part.providerMetadata) != null ? _c : reasoningPart.providerMetadata;
|
3162
3177
|
write();
|
3163
3178
|
break;
|
3164
3179
|
}
|
3165
3180
|
case "reasoning-end": {
|
3166
3181
|
const reasoningPart = state.activeReasoningParts[part.id];
|
3167
|
-
reasoningPart.providerMetadata = (
|
3182
|
+
reasoningPart.providerMetadata = (_d = part.providerMetadata) != null ? _d : reasoningPart.providerMetadata;
|
3168
3183
|
reasoningPart.state = "done";
|
3169
3184
|
delete state.activeReasoningParts[part.id];
|
3170
3185
|
write();
|
@@ -3240,7 +3255,8 @@ function processUIMessageStream({
|
|
3240
3255
|
toolName: part.toolName,
|
3241
3256
|
state: "input-available",
|
3242
3257
|
input: part.input,
|
3243
|
-
providerExecuted: part.providerExecuted
|
3258
|
+
providerExecuted: part.providerExecuted,
|
3259
|
+
providerMetadata: part.providerMetadata
|
3244
3260
|
});
|
3245
3261
|
write();
|
3246
3262
|
if (onToolCall && !part.providerExecuted) {
|
@@ -4043,7 +4059,7 @@ var DefaultStreamTextResult = class {
|
|
4043
4059
|
let activeReasoningContent = {};
|
4044
4060
|
const eventProcessor = new TransformStream({
|
4045
4061
|
async transform(chunk, controller) {
|
4046
|
-
var _a16, _b;
|
4062
|
+
var _a16, _b, _c;
|
4047
4063
|
controller.enqueue(chunk);
|
4048
4064
|
const { part } = chunk;
|
4049
4065
|
if (part.type === "text" || part.type === "reasoning" || part.type === "source" || part.type === "tool-call" || part.type === "tool-result" || part.type === "tool-input-start" || part.type === "tool-input-delta" || part.type === "raw") {
|
@@ -4073,7 +4089,7 @@ var DefaultStreamTextResult = class {
|
|
4073
4089
|
return;
|
4074
4090
|
}
|
4075
4091
|
activeText.text += part.text;
|
4076
|
-
activeText.providerMetadata = part.providerMetadata;
|
4092
|
+
activeText.providerMetadata = (_a16 = part.providerMetadata) != null ? _a16 : activeText.providerMetadata;
|
4077
4093
|
}
|
4078
4094
|
if (part.type === "text-end") {
|
4079
4095
|
delete activeTextContent[part.id];
|
@@ -4099,7 +4115,7 @@ var DefaultStreamTextResult = class {
|
|
4099
4115
|
return;
|
4100
4116
|
}
|
4101
4117
|
activeReasoning.text += part.text;
|
4102
|
-
activeReasoning.providerMetadata = (
|
4118
|
+
activeReasoning.providerMetadata = (_b = part.providerMetadata) != null ? _b : activeReasoning.providerMetadata;
|
4103
4119
|
}
|
4104
4120
|
if (part.type === "reasoning-end") {
|
4105
4121
|
const activeReasoning = activeReasoningContent[part.id];
|
@@ -4113,7 +4129,7 @@ var DefaultStreamTextResult = class {
|
|
4113
4129
|
});
|
4114
4130
|
return;
|
4115
4131
|
}
|
4116
|
-
activeReasoning.providerMetadata = (
|
4132
|
+
activeReasoning.providerMetadata = (_c = part.providerMetadata) != null ? _c : activeReasoning.providerMetadata;
|
4117
4133
|
delete activeReasoningContent[part.id];
|
4118
4134
|
}
|
4119
4135
|
if (part.type === "file") {
|
@@ -4813,26 +4829,35 @@ var DefaultStreamTextResult = class {
|
|
4813
4829
|
const partType = part.type;
|
4814
4830
|
switch (partType) {
|
4815
4831
|
case "text-start": {
|
4816
|
-
controller.enqueue({
|
4832
|
+
controller.enqueue({
|
4833
|
+
type: "text-start",
|
4834
|
+
id: part.id,
|
4835
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4836
|
+
});
|
4817
4837
|
break;
|
4818
4838
|
}
|
4819
4839
|
case "text": {
|
4820
4840
|
controller.enqueue({
|
4821
4841
|
type: "text-delta",
|
4822
4842
|
id: part.id,
|
4823
|
-
delta: part.text
|
4843
|
+
delta: part.text,
|
4844
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4824
4845
|
});
|
4825
4846
|
break;
|
4826
4847
|
}
|
4827
4848
|
case "text-end": {
|
4828
|
-
controller.enqueue({
|
4849
|
+
controller.enqueue({
|
4850
|
+
type: "text-end",
|
4851
|
+
id: part.id,
|
4852
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4853
|
+
});
|
4829
4854
|
break;
|
4830
4855
|
}
|
4831
4856
|
case "reasoning-start": {
|
4832
4857
|
controller.enqueue({
|
4833
4858
|
type: "reasoning-start",
|
4834
4859
|
id: part.id,
|
4835
|
-
providerMetadata: part.providerMetadata
|
4860
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4836
4861
|
});
|
4837
4862
|
break;
|
4838
4863
|
}
|
@@ -4842,7 +4867,7 @@ var DefaultStreamTextResult = class {
|
|
4842
4867
|
type: "reasoning-delta",
|
4843
4868
|
id: part.id,
|
4844
4869
|
delta: part.text,
|
4845
|
-
providerMetadata: part.providerMetadata
|
4870
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4846
4871
|
});
|
4847
4872
|
}
|
4848
4873
|
break;
|
@@ -4851,7 +4876,7 @@ var DefaultStreamTextResult = class {
|
|
4851
4876
|
controller.enqueue({
|
4852
4877
|
type: "reasoning-end",
|
4853
4878
|
id: part.id,
|
4854
|
-
providerMetadata: part.providerMetadata
|
4879
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4855
4880
|
});
|
4856
4881
|
break;
|
4857
4882
|
}
|
@@ -4870,7 +4895,7 @@ var DefaultStreamTextResult = class {
|
|
4870
4895
|
sourceId: part.id,
|
4871
4896
|
url: part.url,
|
4872
4897
|
title: part.title,
|
4873
|
-
providerMetadata: part.providerMetadata
|
4898
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4874
4899
|
});
|
4875
4900
|
}
|
4876
4901
|
if (sendSources && part.sourceType === "document") {
|
@@ -4880,7 +4905,7 @@ var DefaultStreamTextResult = class {
|
|
4880
4905
|
mediaType: part.mediaType,
|
4881
4906
|
title: part.title,
|
4882
4907
|
filename: part.filename,
|
4883
|
-
providerMetadata: part.providerMetadata
|
4908
|
+
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}
|
4884
4909
|
});
|
4885
4910
|
}
|
4886
4911
|
break;
|
@@ -4908,7 +4933,8 @@ var DefaultStreamTextResult = class {
|
|
4908
4933
|
toolCallId: part.toolCallId,
|
4909
4934
|
toolName: part.toolName,
|
4910
4935
|
input: part.input,
|
4911
|
-
providerExecuted: part.providerExecuted
|
4936
|
+
providerExecuted: part.providerExecuted,
|
4937
|
+
providerMetadata: part.providerMetadata
|
4912
4938
|
});
|
4913
4939
|
break;
|
4914
4940
|
}
|
@@ -8915,7 +8941,8 @@ function convertToModelMessages(messages, options) {
|
|
8915
8941
|
if (part.type === "text") {
|
8916
8942
|
content.push({
|
8917
8943
|
type: "text",
|
8918
|
-
text: part.text
|
8944
|
+
text: part.text,
|
8945
|
+
...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
|
8919
8946
|
});
|
8920
8947
|
} else if (part.type === "file") {
|
8921
8948
|
content.push({
|
@@ -8942,7 +8969,8 @@ function convertToModelMessages(messages, options) {
|
|
8942
8969
|
toolCallId: part.toolCallId,
|
8943
8970
|
toolName,
|
8944
8971
|
input: part.input,
|
8945
|
-
providerExecuted: part.providerExecuted
|
8972
|
+
providerExecuted: part.providerExecuted,
|
8973
|
+
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
8946
8974
|
});
|
8947
8975
|
if (part.providerExecuted === true && (part.state === "output-available" || part.state === "output-error")) {
|
8948
8976
|
content.push({
|