ai 6.0.230 → 6.0.232
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 +17 -0
- package/dist/index.d.mts +1 -131
- package/dist/index.d.ts +1 -131
- package/dist/index.js +111 -75
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +111 -75
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +45 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +45 -1
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +2 -2
- 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/prompt/convert-to-language-model-prompt.ts +13 -0
- package/src/ui-message-stream/ui-message-chunks.ts +26 -26
package/dist/index.js
CHANGED
|
@@ -1282,7 +1282,7 @@ function detectMediaType({
|
|
|
1282
1282
|
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
1283
1283
|
|
|
1284
1284
|
// src/version.ts
|
|
1285
|
-
var VERSION = true ? "6.0.
|
|
1285
|
+
var VERSION = true ? "6.0.232" : "0.0.0-test";
|
|
1286
1286
|
|
|
1287
1287
|
// src/util/download/download.ts
|
|
1288
1288
|
var download = async ({
|
|
@@ -1335,6 +1335,42 @@ var createDefaultDownloadFunction = (download2 = download) => (requestedDownload
|
|
|
1335
1335
|
)
|
|
1336
1336
|
);
|
|
1337
1337
|
|
|
1338
|
+
// src/util/merge-objects.ts
|
|
1339
|
+
function mergeObjects(base, overrides) {
|
|
1340
|
+
if (base === void 0 && overrides === void 0) {
|
|
1341
|
+
return void 0;
|
|
1342
|
+
}
|
|
1343
|
+
if (base === void 0) {
|
|
1344
|
+
return overrides;
|
|
1345
|
+
}
|
|
1346
|
+
if (overrides === void 0) {
|
|
1347
|
+
return base;
|
|
1348
|
+
}
|
|
1349
|
+
const result = { ...base };
|
|
1350
|
+
for (const key in overrides) {
|
|
1351
|
+
if (key === "__proto__" || key === "constructor" || key === "prototype") {
|
|
1352
|
+
continue;
|
|
1353
|
+
}
|
|
1354
|
+
if (Object.prototype.hasOwnProperty.call(overrides, key)) {
|
|
1355
|
+
const overridesValue = overrides[key];
|
|
1356
|
+
if (overridesValue === void 0)
|
|
1357
|
+
continue;
|
|
1358
|
+
const baseValue = key in base ? base[key] : void 0;
|
|
1359
|
+
const isSourceObject = overridesValue !== null && typeof overridesValue === "object" && !Array.isArray(overridesValue) && !(overridesValue instanceof Date) && !(overridesValue instanceof RegExp);
|
|
1360
|
+
const isTargetObject = baseValue !== null && baseValue !== void 0 && typeof baseValue === "object" && !Array.isArray(baseValue) && !(baseValue instanceof Date) && !(baseValue instanceof RegExp);
|
|
1361
|
+
if (isSourceObject && isTargetObject) {
|
|
1362
|
+
result[key] = mergeObjects(
|
|
1363
|
+
baseValue,
|
|
1364
|
+
overridesValue
|
|
1365
|
+
);
|
|
1366
|
+
} else {
|
|
1367
|
+
result[key] = overridesValue;
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
return result;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1338
1374
|
// src/prompt/data-content.ts
|
|
1339
1375
|
var import_provider23 = require("@ai-sdk/provider");
|
|
1340
1376
|
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
@@ -1482,7 +1518,15 @@ async function convertToLanguageModelPrompt({
|
|
|
1482
1518
|
}
|
|
1483
1519
|
const lastCombinedMessage = combinedMessages.at(-1);
|
|
1484
1520
|
if ((lastCombinedMessage == null ? void 0 : lastCombinedMessage.role) === "tool") {
|
|
1521
|
+
const lastContentPart = lastCombinedMessage.content.at(-1);
|
|
1522
|
+
if (lastContentPart != null && lastCombinedMessage.providerOptions != null) {
|
|
1523
|
+
lastContentPart.providerOptions = mergeObjects(
|
|
1524
|
+
lastCombinedMessage.providerOptions,
|
|
1525
|
+
lastContentPart.providerOptions
|
|
1526
|
+
);
|
|
1527
|
+
}
|
|
1485
1528
|
lastCombinedMessage.content.push(...message.content);
|
|
1529
|
+
lastCombinedMessage.providerOptions = message.providerOptions;
|
|
1486
1530
|
} else {
|
|
1487
1531
|
combinedMessages.push(message);
|
|
1488
1532
|
}
|
|
@@ -2739,42 +2783,6 @@ function addImageModelUsage(usage1, usage2) {
|
|
|
2739
2783
|
};
|
|
2740
2784
|
}
|
|
2741
2785
|
|
|
2742
|
-
// src/util/merge-objects.ts
|
|
2743
|
-
function mergeObjects(base, overrides) {
|
|
2744
|
-
if (base === void 0 && overrides === void 0) {
|
|
2745
|
-
return void 0;
|
|
2746
|
-
}
|
|
2747
|
-
if (base === void 0) {
|
|
2748
|
-
return overrides;
|
|
2749
|
-
}
|
|
2750
|
-
if (overrides === void 0) {
|
|
2751
|
-
return base;
|
|
2752
|
-
}
|
|
2753
|
-
const result = { ...base };
|
|
2754
|
-
for (const key in overrides) {
|
|
2755
|
-
if (key === "__proto__" || key === "constructor" || key === "prototype") {
|
|
2756
|
-
continue;
|
|
2757
|
-
}
|
|
2758
|
-
if (Object.prototype.hasOwnProperty.call(overrides, key)) {
|
|
2759
|
-
const overridesValue = overrides[key];
|
|
2760
|
-
if (overridesValue === void 0)
|
|
2761
|
-
continue;
|
|
2762
|
-
const baseValue = key in base ? base[key] : void 0;
|
|
2763
|
-
const isSourceObject = overridesValue !== null && typeof overridesValue === "object" && !Array.isArray(overridesValue) && !(overridesValue instanceof Date) && !(overridesValue instanceof RegExp);
|
|
2764
|
-
const isTargetObject = baseValue !== null && baseValue !== void 0 && typeof baseValue === "object" && !Array.isArray(baseValue) && !(baseValue instanceof Date) && !(baseValue instanceof RegExp);
|
|
2765
|
-
if (isSourceObject && isTargetObject) {
|
|
2766
|
-
result[key] = mergeObjects(
|
|
2767
|
-
baseValue,
|
|
2768
|
-
overridesValue
|
|
2769
|
-
);
|
|
2770
|
-
} else {
|
|
2771
|
-
result[key] = overridesValue;
|
|
2772
|
-
}
|
|
2773
|
-
}
|
|
2774
|
-
}
|
|
2775
|
-
return result;
|
|
2776
|
-
}
|
|
2777
|
-
|
|
2778
2786
|
// src/util/retry-with-exponential-backoff.ts
|
|
2779
2787
|
var import_provider27 = require("@ai-sdk/provider");
|
|
2780
2788
|
var import_gateway3 = require("@ai-sdk/gateway");
|
|
@@ -3114,6 +3122,21 @@ function extractTextContent(content) {
|
|
|
3114
3122
|
return parts.map((content2) => content2.text).join("");
|
|
3115
3123
|
}
|
|
3116
3124
|
|
|
3125
|
+
// src/generate-text/filter-active-tools.ts
|
|
3126
|
+
function filterActiveTools({
|
|
3127
|
+
tools,
|
|
3128
|
+
activeTools
|
|
3129
|
+
}) {
|
|
3130
|
+
if (tools == null || activeTools == null) {
|
|
3131
|
+
return tools;
|
|
3132
|
+
}
|
|
3133
|
+
return Object.fromEntries(
|
|
3134
|
+
Object.entries(tools).filter(
|
|
3135
|
+
([name22]) => activeTools.includes(name22)
|
|
3136
|
+
)
|
|
3137
|
+
);
|
|
3138
|
+
}
|
|
3139
|
+
|
|
3117
3140
|
// src/generate-text/generated-file.ts
|
|
3118
3141
|
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
3119
3142
|
var DefaultGeneratedFile = class {
|
|
@@ -4650,6 +4673,9 @@ async function generateText({
|
|
|
4650
4673
|
const steps = [];
|
|
4651
4674
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
4652
4675
|
do {
|
|
4676
|
+
if (steps.length > 0) {
|
|
4677
|
+
mergedAbortSignal == null ? void 0 : mergedAbortSignal.throwIfAborted();
|
|
4678
|
+
}
|
|
4653
4679
|
const stepTimeoutId = setAbortTimeout({
|
|
4654
4680
|
abortController: stepAbortController,
|
|
4655
4681
|
label: "Step",
|
|
@@ -4681,6 +4707,10 @@ async function generateText({
|
|
|
4681
4707
|
});
|
|
4682
4708
|
experimental_context = (_d = prepareStepResult == null ? void 0 : prepareStepResult.experimental_context) != null ? _d : experimental_context;
|
|
4683
4709
|
const stepActiveTools = (_e = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _e : activeTools;
|
|
4710
|
+
const stepToolSet = filterActiveTools({
|
|
4711
|
+
tools,
|
|
4712
|
+
activeTools: stepActiveTools
|
|
4713
|
+
});
|
|
4684
4714
|
const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
|
|
4685
4715
|
tools,
|
|
4686
4716
|
toolChoice: (_f = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _f : toolChoice,
|
|
@@ -4833,7 +4863,7 @@ async function generateText({
|
|
|
4833
4863
|
).map(
|
|
4834
4864
|
(toolCall) => parseToolCall({
|
|
4835
4865
|
toolCall,
|
|
4836
|
-
tools,
|
|
4866
|
+
tools: stepToolSet,
|
|
4837
4867
|
repairToolCall,
|
|
4838
4868
|
system,
|
|
4839
4869
|
messages: stepInputMessages
|
|
@@ -4845,7 +4875,7 @@ async function generateText({
|
|
|
4845
4875
|
if (toolCall.invalid) {
|
|
4846
4876
|
continue;
|
|
4847
4877
|
}
|
|
4848
|
-
const tool2 =
|
|
4878
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
4849
4879
|
if (tool2 == null) {
|
|
4850
4880
|
continue;
|
|
4851
4881
|
}
|
|
@@ -4905,13 +4935,13 @@ async function generateText({
|
|
|
4905
4935
|
clientToolCalls = stepToolCalls.filter(
|
|
4906
4936
|
(toolCall) => !toolCall.providerExecuted
|
|
4907
4937
|
);
|
|
4908
|
-
if (
|
|
4938
|
+
if (stepToolSet != null) {
|
|
4909
4939
|
clientToolOutputs.push(
|
|
4910
4940
|
...await executeTools({
|
|
4911
4941
|
toolCalls: clientToolCalls.filter(
|
|
4912
4942
|
(toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null
|
|
4913
4943
|
),
|
|
4914
|
-
tools,
|
|
4944
|
+
tools: stepToolSet,
|
|
4915
4945
|
tracer,
|
|
4916
4946
|
telemetry,
|
|
4917
4947
|
messages: stepInputMessages,
|
|
@@ -4933,7 +4963,7 @@ async function generateText({
|
|
|
4933
4963
|
for (const toolCall of stepToolCalls) {
|
|
4934
4964
|
if (!toolCall.providerExecuted)
|
|
4935
4965
|
continue;
|
|
4936
|
-
const tool2 =
|
|
4966
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
4937
4967
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
4938
4968
|
const hasResultInResponse = currentModelResponse.content.some(
|
|
4939
4969
|
(part) => part.type === "tool-result" && part.toolCallId === toolCall.toolCallId
|
|
@@ -4955,12 +4985,12 @@ async function generateText({
|
|
|
4955
4985
|
toolCalls: stepToolCalls,
|
|
4956
4986
|
toolOutputs: clientToolOutputs,
|
|
4957
4987
|
toolApprovalRequests: Object.values(toolApprovalRequests),
|
|
4958
|
-
tools
|
|
4988
|
+
tools: stepToolSet
|
|
4959
4989
|
});
|
|
4960
4990
|
responseMessages.push(
|
|
4961
4991
|
...await toResponseMessages({
|
|
4962
4992
|
content: stepContent,
|
|
4963
|
-
tools
|
|
4993
|
+
tools: stepToolSet
|
|
4964
4994
|
})
|
|
4965
4995
|
);
|
|
4966
4996
|
const stepRequest = ((_i = include == null ? void 0 : include.requestBody) != null ? _i : true) ? (_j = currentModelResponse.request) != null ? _j : {} : { ...currentModelResponse.request, body: void 0 };
|
|
@@ -5518,27 +5548,27 @@ var toolMetadataSchema = import_v47.z.record(
|
|
|
5518
5548
|
var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
5519
5549
|
() => (0, import_provider_utils17.zodSchema)(
|
|
5520
5550
|
import_v47.z.union([
|
|
5521
|
-
import_v47.z.
|
|
5551
|
+
import_v47.z.looseObject({
|
|
5522
5552
|
type: import_v47.z.literal("text-start"),
|
|
5523
5553
|
id: import_v47.z.string(),
|
|
5524
5554
|
providerMetadata: providerMetadataSchema.optional()
|
|
5525
5555
|
}),
|
|
5526
|
-
import_v47.z.
|
|
5556
|
+
import_v47.z.looseObject({
|
|
5527
5557
|
type: import_v47.z.literal("text-delta"),
|
|
5528
5558
|
id: import_v47.z.string(),
|
|
5529
5559
|
delta: import_v47.z.string(),
|
|
5530
5560
|
providerMetadata: providerMetadataSchema.optional()
|
|
5531
5561
|
}),
|
|
5532
|
-
import_v47.z.
|
|
5562
|
+
import_v47.z.looseObject({
|
|
5533
5563
|
type: import_v47.z.literal("text-end"),
|
|
5534
5564
|
id: import_v47.z.string(),
|
|
5535
5565
|
providerMetadata: providerMetadataSchema.optional()
|
|
5536
5566
|
}),
|
|
5537
|
-
import_v47.z.
|
|
5567
|
+
import_v47.z.looseObject({
|
|
5538
5568
|
type: import_v47.z.literal("error"),
|
|
5539
5569
|
errorText: import_v47.z.string()
|
|
5540
5570
|
}),
|
|
5541
|
-
import_v47.z.
|
|
5571
|
+
import_v47.z.looseObject({
|
|
5542
5572
|
type: import_v47.z.literal("tool-input-start"),
|
|
5543
5573
|
toolCallId: import_v47.z.string(),
|
|
5544
5574
|
toolName: import_v47.z.string(),
|
|
@@ -5548,12 +5578,12 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5548
5578
|
dynamic: import_v47.z.boolean().optional(),
|
|
5549
5579
|
title: import_v47.z.string().optional()
|
|
5550
5580
|
}),
|
|
5551
|
-
import_v47.z.
|
|
5581
|
+
import_v47.z.looseObject({
|
|
5552
5582
|
type: import_v47.z.literal("tool-input-delta"),
|
|
5553
5583
|
toolCallId: import_v47.z.string(),
|
|
5554
5584
|
inputTextDelta: import_v47.z.string()
|
|
5555
5585
|
}),
|
|
5556
|
-
import_v47.z.
|
|
5586
|
+
import_v47.z.looseObject({
|
|
5557
5587
|
type: import_v47.z.literal("tool-input-available"),
|
|
5558
5588
|
toolCallId: import_v47.z.string(),
|
|
5559
5589
|
toolName: import_v47.z.string(),
|
|
@@ -5564,7 +5594,7 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5564
5594
|
dynamic: import_v47.z.boolean().optional(),
|
|
5565
5595
|
title: import_v47.z.string().optional()
|
|
5566
5596
|
}),
|
|
5567
|
-
import_v47.z.
|
|
5597
|
+
import_v47.z.looseObject({
|
|
5568
5598
|
type: import_v47.z.literal("tool-input-error"),
|
|
5569
5599
|
toolCallId: import_v47.z.string(),
|
|
5570
5600
|
toolName: import_v47.z.string(),
|
|
@@ -5576,13 +5606,13 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5576
5606
|
errorText: import_v47.z.string(),
|
|
5577
5607
|
title: import_v47.z.string().optional()
|
|
5578
5608
|
}),
|
|
5579
|
-
import_v47.z.
|
|
5609
|
+
import_v47.z.looseObject({
|
|
5580
5610
|
type: import_v47.z.literal("tool-approval-request"),
|
|
5581
5611
|
approvalId: import_v47.z.string(),
|
|
5582
5612
|
toolCallId: import_v47.z.string(),
|
|
5583
5613
|
signature: import_v47.z.string().optional()
|
|
5584
5614
|
}),
|
|
5585
|
-
import_v47.z.
|
|
5615
|
+
import_v47.z.looseObject({
|
|
5586
5616
|
type: import_v47.z.literal("tool-output-available"),
|
|
5587
5617
|
toolCallId: import_v47.z.string(),
|
|
5588
5618
|
output: import_v47.z.unknown(),
|
|
@@ -5592,7 +5622,7 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5592
5622
|
dynamic: import_v47.z.boolean().optional(),
|
|
5593
5623
|
preliminary: import_v47.z.boolean().optional()
|
|
5594
5624
|
}),
|
|
5595
|
-
import_v47.z.
|
|
5625
|
+
import_v47.z.looseObject({
|
|
5596
5626
|
type: import_v47.z.literal("tool-output-error"),
|
|
5597
5627
|
toolCallId: import_v47.z.string(),
|
|
5598
5628
|
errorText: import_v47.z.string(),
|
|
@@ -5601,34 +5631,34 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5601
5631
|
toolMetadata: toolMetadataSchema.optional(),
|
|
5602
5632
|
dynamic: import_v47.z.boolean().optional()
|
|
5603
5633
|
}),
|
|
5604
|
-
import_v47.z.
|
|
5634
|
+
import_v47.z.looseObject({
|
|
5605
5635
|
type: import_v47.z.literal("tool-output-denied"),
|
|
5606
5636
|
toolCallId: import_v47.z.string()
|
|
5607
5637
|
}),
|
|
5608
|
-
import_v47.z.
|
|
5638
|
+
import_v47.z.looseObject({
|
|
5609
5639
|
type: import_v47.z.literal("reasoning-start"),
|
|
5610
5640
|
id: import_v47.z.string(),
|
|
5611
5641
|
providerMetadata: providerMetadataSchema.optional()
|
|
5612
5642
|
}),
|
|
5613
|
-
import_v47.z.
|
|
5643
|
+
import_v47.z.looseObject({
|
|
5614
5644
|
type: import_v47.z.literal("reasoning-delta"),
|
|
5615
5645
|
id: import_v47.z.string(),
|
|
5616
5646
|
delta: import_v47.z.string(),
|
|
5617
5647
|
providerMetadata: providerMetadataSchema.optional()
|
|
5618
5648
|
}),
|
|
5619
|
-
import_v47.z.
|
|
5649
|
+
import_v47.z.looseObject({
|
|
5620
5650
|
type: import_v47.z.literal("reasoning-end"),
|
|
5621
5651
|
id: import_v47.z.string(),
|
|
5622
5652
|
providerMetadata: providerMetadataSchema.optional()
|
|
5623
5653
|
}),
|
|
5624
|
-
import_v47.z.
|
|
5654
|
+
import_v47.z.looseObject({
|
|
5625
5655
|
type: import_v47.z.literal("source-url"),
|
|
5626
5656
|
sourceId: import_v47.z.string(),
|
|
5627
5657
|
url: import_v47.z.string(),
|
|
5628
5658
|
title: import_v47.z.string().optional(),
|
|
5629
5659
|
providerMetadata: providerMetadataSchema.optional()
|
|
5630
5660
|
}),
|
|
5631
|
-
import_v47.z.
|
|
5661
|
+
import_v47.z.looseObject({
|
|
5632
5662
|
type: import_v47.z.literal("source-document"),
|
|
5633
5663
|
sourceId: import_v47.z.string(),
|
|
5634
5664
|
mediaType: import_v47.z.string(),
|
|
@@ -5636,13 +5666,13 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5636
5666
|
filename: import_v47.z.string().optional(),
|
|
5637
5667
|
providerMetadata: providerMetadataSchema.optional()
|
|
5638
5668
|
}),
|
|
5639
|
-
import_v47.z.
|
|
5669
|
+
import_v47.z.looseObject({
|
|
5640
5670
|
type: import_v47.z.literal("file"),
|
|
5641
5671
|
url: import_v47.z.string(),
|
|
5642
5672
|
mediaType: import_v47.z.string(),
|
|
5643
5673
|
providerMetadata: providerMetadataSchema.optional()
|
|
5644
5674
|
}),
|
|
5645
|
-
import_v47.z.
|
|
5675
|
+
import_v47.z.looseObject({
|
|
5646
5676
|
type: import_v47.z.custom(
|
|
5647
5677
|
(value) => typeof value === "string" && value.startsWith("data-"),
|
|
5648
5678
|
{ message: 'Type must start with "data-"' }
|
|
@@ -5651,18 +5681,18 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5651
5681
|
data: import_v47.z.unknown(),
|
|
5652
5682
|
transient: import_v47.z.boolean().optional()
|
|
5653
5683
|
}),
|
|
5654
|
-
import_v47.z.
|
|
5684
|
+
import_v47.z.looseObject({
|
|
5655
5685
|
type: import_v47.z.literal("start-step")
|
|
5656
5686
|
}),
|
|
5657
|
-
import_v47.z.
|
|
5687
|
+
import_v47.z.looseObject({
|
|
5658
5688
|
type: import_v47.z.literal("finish-step")
|
|
5659
5689
|
}),
|
|
5660
|
-
import_v47.z.
|
|
5690
|
+
import_v47.z.looseObject({
|
|
5661
5691
|
type: import_v47.z.literal("start"),
|
|
5662
5692
|
messageId: import_v47.z.string().optional(),
|
|
5663
5693
|
messageMetadata: import_v47.z.unknown().optional()
|
|
5664
5694
|
}),
|
|
5665
|
-
import_v47.z.
|
|
5695
|
+
import_v47.z.looseObject({
|
|
5666
5696
|
type: import_v47.z.literal("finish"),
|
|
5667
5697
|
finishReason: import_v47.z.enum([
|
|
5668
5698
|
"stop",
|
|
@@ -5674,11 +5704,11 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5674
5704
|
]).optional(),
|
|
5675
5705
|
messageMetadata: import_v47.z.unknown().optional()
|
|
5676
5706
|
}),
|
|
5677
|
-
import_v47.z.
|
|
5707
|
+
import_v47.z.looseObject({
|
|
5678
5708
|
type: import_v47.z.literal("abort"),
|
|
5679
5709
|
reason: import_v47.z.string().optional()
|
|
5680
5710
|
}),
|
|
5681
|
-
import_v47.z.
|
|
5711
|
+
import_v47.z.looseObject({
|
|
5682
5712
|
type: import_v47.z.literal("message-metadata"),
|
|
5683
5713
|
messageMetadata: import_v47.z.unknown()
|
|
5684
5714
|
})
|
|
@@ -7132,6 +7162,7 @@ var DefaultStreamTextResult = class {
|
|
|
7132
7162
|
let recordedWarnings = [];
|
|
7133
7163
|
const recordedSteps = [];
|
|
7134
7164
|
let recordedNoOutputError;
|
|
7165
|
+
let currentStepToolSet = tools;
|
|
7135
7166
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
7136
7167
|
let rootSpan;
|
|
7137
7168
|
let activeTextContent = createIdMap();
|
|
@@ -7259,7 +7290,7 @@ var DefaultStreamTextResult = class {
|
|
|
7259
7290
|
if (part.type === "finish-step") {
|
|
7260
7291
|
const stepMessages = await toResponseMessages({
|
|
7261
7292
|
content: recordedContent,
|
|
7262
|
-
tools
|
|
7293
|
+
tools: currentStepToolSet
|
|
7263
7294
|
});
|
|
7264
7295
|
const currentStepResult = new DefaultStepResult({
|
|
7265
7296
|
stepNumber: recordedSteps.length,
|
|
@@ -7690,6 +7721,11 @@ var DefaultStreamTextResult = class {
|
|
|
7690
7721
|
download: download2
|
|
7691
7722
|
});
|
|
7692
7723
|
const stepActiveTools = (_d = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _d : activeTools;
|
|
7724
|
+
const stepToolSet = filterActiveTools({
|
|
7725
|
+
tools,
|
|
7726
|
+
activeTools: stepActiveTools
|
|
7727
|
+
});
|
|
7728
|
+
currentStepToolSet = stepToolSet;
|
|
7693
7729
|
const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
|
|
7694
7730
|
tools,
|
|
7695
7731
|
toolChoice: (_e = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _e : toolChoice,
|
|
@@ -7789,7 +7825,7 @@ var DefaultStreamTextResult = class {
|
|
|
7789
7825
|
})
|
|
7790
7826
|
);
|
|
7791
7827
|
const streamWithToolResults = runToolsTransformation({
|
|
7792
|
-
tools,
|
|
7828
|
+
tools: stepToolSet,
|
|
7793
7829
|
generatorStream: stream2,
|
|
7794
7830
|
tracer,
|
|
7795
7831
|
telemetry,
|
|
@@ -7940,7 +7976,7 @@ var DefaultStreamTextResult = class {
|
|
|
7940
7976
|
}
|
|
7941
7977
|
case "tool-input-start": {
|
|
7942
7978
|
activeToolCallToolNames[chunk.id] = chunk.toolName;
|
|
7943
|
-
const tool2 =
|
|
7979
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[chunk.toolName];
|
|
7944
7980
|
if ((tool2 == null ? void 0 : tool2.onInputStart) != null) {
|
|
7945
7981
|
await tool2.onInputStart({
|
|
7946
7982
|
toolCallId: chunk.id,
|
|
@@ -7963,7 +7999,7 @@ var DefaultStreamTextResult = class {
|
|
|
7963
7999
|
}
|
|
7964
8000
|
case "tool-input-delta": {
|
|
7965
8001
|
const toolName = activeToolCallToolNames[chunk.id];
|
|
7966
|
-
const tool2 =
|
|
8002
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolName];
|
|
7967
8003
|
if ((tool2 == null ? void 0 : tool2.onInputDelta) != null) {
|
|
7968
8004
|
await tool2.onInputDelta({
|
|
7969
8005
|
inputTextDelta: chunk.delta,
|
|
@@ -8095,7 +8131,7 @@ var DefaultStreamTextResult = class {
|
|
|
8095
8131
|
for (const toolCall of stepToolCalls) {
|
|
8096
8132
|
if (toolCall.providerExecuted !== true)
|
|
8097
8133
|
continue;
|
|
8098
|
-
const tool2 =
|
|
8134
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
8099
8135
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
8100
8136
|
const hasResultInStep = stepToolOutputs.some(
|
|
8101
8137
|
(output2) => (output2.type === "tool-result" || output2.type === "tool-error") && output2.toolCallId === toolCall.toolCallId
|
|
@@ -8130,7 +8166,7 @@ var DefaultStreamTextResult = class {
|
|
|
8130
8166
|
// use transformed content to create the messages for the next step:
|
|
8131
8167
|
recordedSteps[recordedSteps.length - 1].content
|
|
8132
8168
|
),
|
|
8133
|
-
tools
|
|
8169
|
+
tools: stepToolSet
|
|
8134
8170
|
})
|
|
8135
8171
|
);
|
|
8136
8172
|
try {
|