ai 6.0.230 → 6.0.231
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 +11 -0
- package/dist/index.d.mts +1 -131
- package/dist/index.d.ts +1 -131
- package/dist/index.js +67 -39
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +67 -39
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +1 -1
- package/dist/internal/index.mjs +1 -1
- package/package.json +3 -3
- package/src/generate-text/filter-active-tools.ts +19 -0
- package/src/generate-text/generate-text.ts +16 -7
- package/src/generate-text/stream-text.ts +13 -6
- package/src/ui-message-stream/ui-message-chunks.ts +26 -26
package/dist/index.mjs
CHANGED
|
@@ -1171,7 +1171,7 @@ import {
|
|
|
1171
1171
|
} from "@ai-sdk/provider-utils";
|
|
1172
1172
|
|
|
1173
1173
|
// src/version.ts
|
|
1174
|
-
var VERSION = true ? "6.0.
|
|
1174
|
+
var VERSION = true ? "6.0.231" : "0.0.0-test";
|
|
1175
1175
|
|
|
1176
1176
|
// src/util/download/download.ts
|
|
1177
1177
|
var download = async ({
|
|
@@ -3013,6 +3013,21 @@ function extractTextContent(content) {
|
|
|
3013
3013
|
return parts.map((content2) => content2.text).join("");
|
|
3014
3014
|
}
|
|
3015
3015
|
|
|
3016
|
+
// src/generate-text/filter-active-tools.ts
|
|
3017
|
+
function filterActiveTools({
|
|
3018
|
+
tools,
|
|
3019
|
+
activeTools
|
|
3020
|
+
}) {
|
|
3021
|
+
if (tools == null || activeTools == null) {
|
|
3022
|
+
return tools;
|
|
3023
|
+
}
|
|
3024
|
+
return Object.fromEntries(
|
|
3025
|
+
Object.entries(tools).filter(
|
|
3026
|
+
([name22]) => activeTools.includes(name22)
|
|
3027
|
+
)
|
|
3028
|
+
);
|
|
3029
|
+
}
|
|
3030
|
+
|
|
3016
3031
|
// src/generate-text/generated-file.ts
|
|
3017
3032
|
import {
|
|
3018
3033
|
convertBase64ToUint8Array as convertBase64ToUint8Array3,
|
|
@@ -4569,6 +4584,9 @@ async function generateText({
|
|
|
4569
4584
|
const steps = [];
|
|
4570
4585
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
4571
4586
|
do {
|
|
4587
|
+
if (steps.length > 0) {
|
|
4588
|
+
mergedAbortSignal == null ? void 0 : mergedAbortSignal.throwIfAborted();
|
|
4589
|
+
}
|
|
4572
4590
|
const stepTimeoutId = setAbortTimeout({
|
|
4573
4591
|
abortController: stepAbortController,
|
|
4574
4592
|
label: "Step",
|
|
@@ -4600,6 +4618,10 @@ async function generateText({
|
|
|
4600
4618
|
});
|
|
4601
4619
|
experimental_context = (_d = prepareStepResult == null ? void 0 : prepareStepResult.experimental_context) != null ? _d : experimental_context;
|
|
4602
4620
|
const stepActiveTools = (_e = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _e : activeTools;
|
|
4621
|
+
const stepToolSet = filterActiveTools({
|
|
4622
|
+
tools,
|
|
4623
|
+
activeTools: stepActiveTools
|
|
4624
|
+
});
|
|
4603
4625
|
const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
|
|
4604
4626
|
tools,
|
|
4605
4627
|
toolChoice: (_f = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _f : toolChoice,
|
|
@@ -4752,7 +4774,7 @@ async function generateText({
|
|
|
4752
4774
|
).map(
|
|
4753
4775
|
(toolCall) => parseToolCall({
|
|
4754
4776
|
toolCall,
|
|
4755
|
-
tools,
|
|
4777
|
+
tools: stepToolSet,
|
|
4756
4778
|
repairToolCall,
|
|
4757
4779
|
system,
|
|
4758
4780
|
messages: stepInputMessages
|
|
@@ -4764,7 +4786,7 @@ async function generateText({
|
|
|
4764
4786
|
if (toolCall.invalid) {
|
|
4765
4787
|
continue;
|
|
4766
4788
|
}
|
|
4767
|
-
const tool2 =
|
|
4789
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
4768
4790
|
if (tool2 == null) {
|
|
4769
4791
|
continue;
|
|
4770
4792
|
}
|
|
@@ -4824,13 +4846,13 @@ async function generateText({
|
|
|
4824
4846
|
clientToolCalls = stepToolCalls.filter(
|
|
4825
4847
|
(toolCall) => !toolCall.providerExecuted
|
|
4826
4848
|
);
|
|
4827
|
-
if (
|
|
4849
|
+
if (stepToolSet != null) {
|
|
4828
4850
|
clientToolOutputs.push(
|
|
4829
4851
|
...await executeTools({
|
|
4830
4852
|
toolCalls: clientToolCalls.filter(
|
|
4831
4853
|
(toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null
|
|
4832
4854
|
),
|
|
4833
|
-
tools,
|
|
4855
|
+
tools: stepToolSet,
|
|
4834
4856
|
tracer,
|
|
4835
4857
|
telemetry,
|
|
4836
4858
|
messages: stepInputMessages,
|
|
@@ -4852,7 +4874,7 @@ async function generateText({
|
|
|
4852
4874
|
for (const toolCall of stepToolCalls) {
|
|
4853
4875
|
if (!toolCall.providerExecuted)
|
|
4854
4876
|
continue;
|
|
4855
|
-
const tool2 =
|
|
4877
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
4856
4878
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
4857
4879
|
const hasResultInResponse = currentModelResponse.content.some(
|
|
4858
4880
|
(part) => part.type === "tool-result" && part.toolCallId === toolCall.toolCallId
|
|
@@ -4874,12 +4896,12 @@ async function generateText({
|
|
|
4874
4896
|
toolCalls: stepToolCalls,
|
|
4875
4897
|
toolOutputs: clientToolOutputs,
|
|
4876
4898
|
toolApprovalRequests: Object.values(toolApprovalRequests),
|
|
4877
|
-
tools
|
|
4899
|
+
tools: stepToolSet
|
|
4878
4900
|
});
|
|
4879
4901
|
responseMessages.push(
|
|
4880
4902
|
...await toResponseMessages({
|
|
4881
4903
|
content: stepContent,
|
|
4882
|
-
tools
|
|
4904
|
+
tools: stepToolSet
|
|
4883
4905
|
})
|
|
4884
4906
|
);
|
|
4885
4907
|
const stepRequest = ((_i = include == null ? void 0 : include.requestBody) != null ? _i : true) ? (_j = currentModelResponse.request) != null ? _j : {} : { ...currentModelResponse.request, body: void 0 };
|
|
@@ -5444,27 +5466,27 @@ var toolMetadataSchema = z7.record(
|
|
|
5444
5466
|
var uiMessageChunkSchema = lazySchema(
|
|
5445
5467
|
() => zodSchema(
|
|
5446
5468
|
z7.union([
|
|
5447
|
-
z7.
|
|
5469
|
+
z7.looseObject({
|
|
5448
5470
|
type: z7.literal("text-start"),
|
|
5449
5471
|
id: z7.string(),
|
|
5450
5472
|
providerMetadata: providerMetadataSchema.optional()
|
|
5451
5473
|
}),
|
|
5452
|
-
z7.
|
|
5474
|
+
z7.looseObject({
|
|
5453
5475
|
type: z7.literal("text-delta"),
|
|
5454
5476
|
id: z7.string(),
|
|
5455
5477
|
delta: z7.string(),
|
|
5456
5478
|
providerMetadata: providerMetadataSchema.optional()
|
|
5457
5479
|
}),
|
|
5458
|
-
z7.
|
|
5480
|
+
z7.looseObject({
|
|
5459
5481
|
type: z7.literal("text-end"),
|
|
5460
5482
|
id: z7.string(),
|
|
5461
5483
|
providerMetadata: providerMetadataSchema.optional()
|
|
5462
5484
|
}),
|
|
5463
|
-
z7.
|
|
5485
|
+
z7.looseObject({
|
|
5464
5486
|
type: z7.literal("error"),
|
|
5465
5487
|
errorText: z7.string()
|
|
5466
5488
|
}),
|
|
5467
|
-
z7.
|
|
5489
|
+
z7.looseObject({
|
|
5468
5490
|
type: z7.literal("tool-input-start"),
|
|
5469
5491
|
toolCallId: z7.string(),
|
|
5470
5492
|
toolName: z7.string(),
|
|
@@ -5474,12 +5496,12 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5474
5496
|
dynamic: z7.boolean().optional(),
|
|
5475
5497
|
title: z7.string().optional()
|
|
5476
5498
|
}),
|
|
5477
|
-
z7.
|
|
5499
|
+
z7.looseObject({
|
|
5478
5500
|
type: z7.literal("tool-input-delta"),
|
|
5479
5501
|
toolCallId: z7.string(),
|
|
5480
5502
|
inputTextDelta: z7.string()
|
|
5481
5503
|
}),
|
|
5482
|
-
z7.
|
|
5504
|
+
z7.looseObject({
|
|
5483
5505
|
type: z7.literal("tool-input-available"),
|
|
5484
5506
|
toolCallId: z7.string(),
|
|
5485
5507
|
toolName: z7.string(),
|
|
@@ -5490,7 +5512,7 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5490
5512
|
dynamic: z7.boolean().optional(),
|
|
5491
5513
|
title: z7.string().optional()
|
|
5492
5514
|
}),
|
|
5493
|
-
z7.
|
|
5515
|
+
z7.looseObject({
|
|
5494
5516
|
type: z7.literal("tool-input-error"),
|
|
5495
5517
|
toolCallId: z7.string(),
|
|
5496
5518
|
toolName: z7.string(),
|
|
@@ -5502,13 +5524,13 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5502
5524
|
errorText: z7.string(),
|
|
5503
5525
|
title: z7.string().optional()
|
|
5504
5526
|
}),
|
|
5505
|
-
z7.
|
|
5527
|
+
z7.looseObject({
|
|
5506
5528
|
type: z7.literal("tool-approval-request"),
|
|
5507
5529
|
approvalId: z7.string(),
|
|
5508
5530
|
toolCallId: z7.string(),
|
|
5509
5531
|
signature: z7.string().optional()
|
|
5510
5532
|
}),
|
|
5511
|
-
z7.
|
|
5533
|
+
z7.looseObject({
|
|
5512
5534
|
type: z7.literal("tool-output-available"),
|
|
5513
5535
|
toolCallId: z7.string(),
|
|
5514
5536
|
output: z7.unknown(),
|
|
@@ -5518,7 +5540,7 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5518
5540
|
dynamic: z7.boolean().optional(),
|
|
5519
5541
|
preliminary: z7.boolean().optional()
|
|
5520
5542
|
}),
|
|
5521
|
-
z7.
|
|
5543
|
+
z7.looseObject({
|
|
5522
5544
|
type: z7.literal("tool-output-error"),
|
|
5523
5545
|
toolCallId: z7.string(),
|
|
5524
5546
|
errorText: z7.string(),
|
|
@@ -5527,34 +5549,34 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5527
5549
|
toolMetadata: toolMetadataSchema.optional(),
|
|
5528
5550
|
dynamic: z7.boolean().optional()
|
|
5529
5551
|
}),
|
|
5530
|
-
z7.
|
|
5552
|
+
z7.looseObject({
|
|
5531
5553
|
type: z7.literal("tool-output-denied"),
|
|
5532
5554
|
toolCallId: z7.string()
|
|
5533
5555
|
}),
|
|
5534
|
-
z7.
|
|
5556
|
+
z7.looseObject({
|
|
5535
5557
|
type: z7.literal("reasoning-start"),
|
|
5536
5558
|
id: z7.string(),
|
|
5537
5559
|
providerMetadata: providerMetadataSchema.optional()
|
|
5538
5560
|
}),
|
|
5539
|
-
z7.
|
|
5561
|
+
z7.looseObject({
|
|
5540
5562
|
type: z7.literal("reasoning-delta"),
|
|
5541
5563
|
id: z7.string(),
|
|
5542
5564
|
delta: z7.string(),
|
|
5543
5565
|
providerMetadata: providerMetadataSchema.optional()
|
|
5544
5566
|
}),
|
|
5545
|
-
z7.
|
|
5567
|
+
z7.looseObject({
|
|
5546
5568
|
type: z7.literal("reasoning-end"),
|
|
5547
5569
|
id: z7.string(),
|
|
5548
5570
|
providerMetadata: providerMetadataSchema.optional()
|
|
5549
5571
|
}),
|
|
5550
|
-
z7.
|
|
5572
|
+
z7.looseObject({
|
|
5551
5573
|
type: z7.literal("source-url"),
|
|
5552
5574
|
sourceId: z7.string(),
|
|
5553
5575
|
url: z7.string(),
|
|
5554
5576
|
title: z7.string().optional(),
|
|
5555
5577
|
providerMetadata: providerMetadataSchema.optional()
|
|
5556
5578
|
}),
|
|
5557
|
-
z7.
|
|
5579
|
+
z7.looseObject({
|
|
5558
5580
|
type: z7.literal("source-document"),
|
|
5559
5581
|
sourceId: z7.string(),
|
|
5560
5582
|
mediaType: z7.string(),
|
|
@@ -5562,13 +5584,13 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5562
5584
|
filename: z7.string().optional(),
|
|
5563
5585
|
providerMetadata: providerMetadataSchema.optional()
|
|
5564
5586
|
}),
|
|
5565
|
-
z7.
|
|
5587
|
+
z7.looseObject({
|
|
5566
5588
|
type: z7.literal("file"),
|
|
5567
5589
|
url: z7.string(),
|
|
5568
5590
|
mediaType: z7.string(),
|
|
5569
5591
|
providerMetadata: providerMetadataSchema.optional()
|
|
5570
5592
|
}),
|
|
5571
|
-
z7.
|
|
5593
|
+
z7.looseObject({
|
|
5572
5594
|
type: z7.custom(
|
|
5573
5595
|
(value) => typeof value === "string" && value.startsWith("data-"),
|
|
5574
5596
|
{ message: 'Type must start with "data-"' }
|
|
@@ -5577,18 +5599,18 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5577
5599
|
data: z7.unknown(),
|
|
5578
5600
|
transient: z7.boolean().optional()
|
|
5579
5601
|
}),
|
|
5580
|
-
z7.
|
|
5602
|
+
z7.looseObject({
|
|
5581
5603
|
type: z7.literal("start-step")
|
|
5582
5604
|
}),
|
|
5583
|
-
z7.
|
|
5605
|
+
z7.looseObject({
|
|
5584
5606
|
type: z7.literal("finish-step")
|
|
5585
5607
|
}),
|
|
5586
|
-
z7.
|
|
5608
|
+
z7.looseObject({
|
|
5587
5609
|
type: z7.literal("start"),
|
|
5588
5610
|
messageId: z7.string().optional(),
|
|
5589
5611
|
messageMetadata: z7.unknown().optional()
|
|
5590
5612
|
}),
|
|
5591
|
-
z7.
|
|
5613
|
+
z7.looseObject({
|
|
5592
5614
|
type: z7.literal("finish"),
|
|
5593
5615
|
finishReason: z7.enum([
|
|
5594
5616
|
"stop",
|
|
@@ -5600,11 +5622,11 @@ var uiMessageChunkSchema = lazySchema(
|
|
|
5600
5622
|
]).optional(),
|
|
5601
5623
|
messageMetadata: z7.unknown().optional()
|
|
5602
5624
|
}),
|
|
5603
|
-
z7.
|
|
5625
|
+
z7.looseObject({
|
|
5604
5626
|
type: z7.literal("abort"),
|
|
5605
5627
|
reason: z7.string().optional()
|
|
5606
5628
|
}),
|
|
5607
|
-
z7.
|
|
5629
|
+
z7.looseObject({
|
|
5608
5630
|
type: z7.literal("message-metadata"),
|
|
5609
5631
|
messageMetadata: z7.unknown()
|
|
5610
5632
|
})
|
|
@@ -7060,6 +7082,7 @@ var DefaultStreamTextResult = class {
|
|
|
7060
7082
|
let recordedWarnings = [];
|
|
7061
7083
|
const recordedSteps = [];
|
|
7062
7084
|
let recordedNoOutputError;
|
|
7085
|
+
let currentStepToolSet = tools;
|
|
7063
7086
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
7064
7087
|
let rootSpan;
|
|
7065
7088
|
let activeTextContent = createIdMap();
|
|
@@ -7187,7 +7210,7 @@ var DefaultStreamTextResult = class {
|
|
|
7187
7210
|
if (part.type === "finish-step") {
|
|
7188
7211
|
const stepMessages = await toResponseMessages({
|
|
7189
7212
|
content: recordedContent,
|
|
7190
|
-
tools
|
|
7213
|
+
tools: currentStepToolSet
|
|
7191
7214
|
});
|
|
7192
7215
|
const currentStepResult = new DefaultStepResult({
|
|
7193
7216
|
stepNumber: recordedSteps.length,
|
|
@@ -7618,6 +7641,11 @@ var DefaultStreamTextResult = class {
|
|
|
7618
7641
|
download: download2
|
|
7619
7642
|
});
|
|
7620
7643
|
const stepActiveTools = (_d = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _d : activeTools;
|
|
7644
|
+
const stepToolSet = filterActiveTools({
|
|
7645
|
+
tools,
|
|
7646
|
+
activeTools: stepActiveTools
|
|
7647
|
+
});
|
|
7648
|
+
currentStepToolSet = stepToolSet;
|
|
7621
7649
|
const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
|
|
7622
7650
|
tools,
|
|
7623
7651
|
toolChoice: (_e = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _e : toolChoice,
|
|
@@ -7717,7 +7745,7 @@ var DefaultStreamTextResult = class {
|
|
|
7717
7745
|
})
|
|
7718
7746
|
);
|
|
7719
7747
|
const streamWithToolResults = runToolsTransformation({
|
|
7720
|
-
tools,
|
|
7748
|
+
tools: stepToolSet,
|
|
7721
7749
|
generatorStream: stream2,
|
|
7722
7750
|
tracer,
|
|
7723
7751
|
telemetry,
|
|
@@ -7868,7 +7896,7 @@ var DefaultStreamTextResult = class {
|
|
|
7868
7896
|
}
|
|
7869
7897
|
case "tool-input-start": {
|
|
7870
7898
|
activeToolCallToolNames[chunk.id] = chunk.toolName;
|
|
7871
|
-
const tool2 =
|
|
7899
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[chunk.toolName];
|
|
7872
7900
|
if ((tool2 == null ? void 0 : tool2.onInputStart) != null) {
|
|
7873
7901
|
await tool2.onInputStart({
|
|
7874
7902
|
toolCallId: chunk.id,
|
|
@@ -7891,7 +7919,7 @@ var DefaultStreamTextResult = class {
|
|
|
7891
7919
|
}
|
|
7892
7920
|
case "tool-input-delta": {
|
|
7893
7921
|
const toolName = activeToolCallToolNames[chunk.id];
|
|
7894
|
-
const tool2 =
|
|
7922
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolName];
|
|
7895
7923
|
if ((tool2 == null ? void 0 : tool2.onInputDelta) != null) {
|
|
7896
7924
|
await tool2.onInputDelta({
|
|
7897
7925
|
inputTextDelta: chunk.delta,
|
|
@@ -8023,7 +8051,7 @@ var DefaultStreamTextResult = class {
|
|
|
8023
8051
|
for (const toolCall of stepToolCalls) {
|
|
8024
8052
|
if (toolCall.providerExecuted !== true)
|
|
8025
8053
|
continue;
|
|
8026
|
-
const tool2 =
|
|
8054
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
8027
8055
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
8028
8056
|
const hasResultInStep = stepToolOutputs.some(
|
|
8029
8057
|
(output2) => (output2.type === "tool-result" || output2.type === "tool-error") && output2.toolCallId === toolCall.toolCallId
|
|
@@ -8058,7 +8086,7 @@ var DefaultStreamTextResult = class {
|
|
|
8058
8086
|
// use transformed content to create the messages for the next step:
|
|
8059
8087
|
recordedSteps[recordedSteps.length - 1].content
|
|
8060
8088
|
),
|
|
8061
|
-
tools
|
|
8089
|
+
tools: stepToolSet
|
|
8062
8090
|
})
|
|
8063
8091
|
);
|
|
8064
8092
|
try {
|