ai 6.0.229 → 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 +20 -0
- package/dist/index.d.mts +1 -131
- package/dist/index.d.ts +1 -131
- package/dist/index.js +76 -40
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +76 -40
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +1 -1
- package/dist/internal/index.mjs +1 -1
- package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +1 -1
- package/package.json +3 -3
- package/src/generate-text/filter-active-tools.ts +19 -0
- package/src/generate-text/generate-text.ts +26 -8
- package/src/generate-text/stream-text.ts +13 -6
- package/src/ui-message-stream/ui-message-chunks.ts +26 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 6.0.231
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 926f5a0: Allow UI message chunks to include fields added by newer server versions.
|
|
8
|
+
- 4c5a22f: Propagate abort reasons when generation is cancelled during tool execution.
|
|
9
|
+
- 842a383: Prevent tools excluded by `activeTools` from being parsed or executed.
|
|
10
|
+
- Updated dependencies [2dd1aab]
|
|
11
|
+
- Updated dependencies [e567091]
|
|
12
|
+
- @ai-sdk/gateway@3.0.154
|
|
13
|
+
|
|
14
|
+
## 6.0.230
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 19093fd: fix(ai): call `onInputStart` before `onInputAvailable` during non-streaming tool calls
|
|
19
|
+
- Updated dependencies [19093fd]
|
|
20
|
+
- @ai-sdk/provider-utils@4.0.40
|
|
21
|
+
- @ai-sdk/gateway@3.0.153
|
|
22
|
+
|
|
3
23
|
## 6.0.229
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as _ai_sdk_provider from '@ai-sdk/provider';
|
|
2
1
|
import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, EmbeddingModelV3Middleware, ImageModelV3, ImageModelV2, ImageModelV3ProviderMetadata, ImageModelV2ProviderMetadata, ImageModelV3Middleware, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, SharedV3Warning, LanguageModelV3Source, LanguageModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, TranscriptionModelV3, TranscriptionModelV2, JSONObject, ImageModelV3Usage, AISDKError, LanguageModelV3ToolCall, JSONSchema7, LanguageModelV3CallOptions, LanguageModelV3ToolChoice, ProviderV3, JSONParseError, TypeValidationError, Experimental_VideoModelV3, Experimental_VideoModelV3FrameType, EmbeddingModelV3CallOptions, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
|
|
3
2
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
|
4
3
|
import { GatewayModelId } from '@ai-sdk/gateway';
|
|
@@ -1963,136 +1962,7 @@ type InferUIMessageToolCall<UI_MESSAGE extends UIMessage> = ValueOf<{
|
|
|
1963
1962
|
dynamic: true;
|
|
1964
1963
|
});
|
|
1965
1964
|
|
|
1966
|
-
declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<
|
|
1967
|
-
type: "text-start";
|
|
1968
|
-
id: string;
|
|
1969
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1970
|
-
} | {
|
|
1971
|
-
type: "text-delta";
|
|
1972
|
-
id: string;
|
|
1973
|
-
delta: string;
|
|
1974
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1975
|
-
} | {
|
|
1976
|
-
type: "text-end";
|
|
1977
|
-
id: string;
|
|
1978
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1979
|
-
} | {
|
|
1980
|
-
type: "error";
|
|
1981
|
-
errorText: string;
|
|
1982
|
-
} | {
|
|
1983
|
-
type: "tool-input-start";
|
|
1984
|
-
toolCallId: string;
|
|
1985
|
-
toolName: string;
|
|
1986
|
-
providerExecuted?: boolean | undefined;
|
|
1987
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1988
|
-
toolMetadata?: JSONObject | undefined;
|
|
1989
|
-
dynamic?: boolean | undefined;
|
|
1990
|
-
title?: string | undefined;
|
|
1991
|
-
} | {
|
|
1992
|
-
type: "tool-input-delta";
|
|
1993
|
-
toolCallId: string;
|
|
1994
|
-
inputTextDelta: string;
|
|
1995
|
-
} | {
|
|
1996
|
-
type: "tool-input-available";
|
|
1997
|
-
toolCallId: string;
|
|
1998
|
-
toolName: string;
|
|
1999
|
-
input: unknown;
|
|
2000
|
-
providerExecuted?: boolean | undefined;
|
|
2001
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2002
|
-
toolMetadata?: JSONObject | undefined;
|
|
2003
|
-
dynamic?: boolean | undefined;
|
|
2004
|
-
title?: string | undefined;
|
|
2005
|
-
} | {
|
|
2006
|
-
type: "tool-input-error";
|
|
2007
|
-
toolCallId: string;
|
|
2008
|
-
toolName: string;
|
|
2009
|
-
input: unknown;
|
|
2010
|
-
errorText: string;
|
|
2011
|
-
providerExecuted?: boolean | undefined;
|
|
2012
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2013
|
-
toolMetadata?: JSONObject | undefined;
|
|
2014
|
-
dynamic?: boolean | undefined;
|
|
2015
|
-
title?: string | undefined;
|
|
2016
|
-
} | {
|
|
2017
|
-
type: "tool-approval-request";
|
|
2018
|
-
approvalId: string;
|
|
2019
|
-
toolCallId: string;
|
|
2020
|
-
signature?: string | undefined;
|
|
2021
|
-
} | {
|
|
2022
|
-
type: "tool-output-available";
|
|
2023
|
-
toolCallId: string;
|
|
2024
|
-
output: unknown;
|
|
2025
|
-
providerExecuted?: boolean | undefined;
|
|
2026
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2027
|
-
toolMetadata?: JSONObject | undefined;
|
|
2028
|
-
dynamic?: boolean | undefined;
|
|
2029
|
-
preliminary?: boolean | undefined;
|
|
2030
|
-
} | {
|
|
2031
|
-
type: "tool-output-error";
|
|
2032
|
-
toolCallId: string;
|
|
2033
|
-
errorText: string;
|
|
2034
|
-
providerExecuted?: boolean | undefined;
|
|
2035
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2036
|
-
toolMetadata?: JSONObject | undefined;
|
|
2037
|
-
dynamic?: boolean | undefined;
|
|
2038
|
-
} | {
|
|
2039
|
-
type: "tool-output-denied";
|
|
2040
|
-
toolCallId: string;
|
|
2041
|
-
} | {
|
|
2042
|
-
type: "reasoning-start";
|
|
2043
|
-
id: string;
|
|
2044
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2045
|
-
} | {
|
|
2046
|
-
type: "reasoning-delta";
|
|
2047
|
-
id: string;
|
|
2048
|
-
delta: string;
|
|
2049
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2050
|
-
} | {
|
|
2051
|
-
type: "reasoning-end";
|
|
2052
|
-
id: string;
|
|
2053
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2054
|
-
} | {
|
|
2055
|
-
type: "source-url";
|
|
2056
|
-
sourceId: string;
|
|
2057
|
-
url: string;
|
|
2058
|
-
title?: string | undefined;
|
|
2059
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2060
|
-
} | {
|
|
2061
|
-
type: "source-document";
|
|
2062
|
-
sourceId: string;
|
|
2063
|
-
mediaType: string;
|
|
2064
|
-
title: string;
|
|
2065
|
-
filename?: string | undefined;
|
|
2066
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2067
|
-
} | {
|
|
2068
|
-
type: "file";
|
|
2069
|
-
url: string;
|
|
2070
|
-
mediaType: string;
|
|
2071
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2072
|
-
} | {
|
|
2073
|
-
type: `data-${string}`;
|
|
2074
|
-
data: unknown;
|
|
2075
|
-
id?: string | undefined;
|
|
2076
|
-
transient?: boolean | undefined;
|
|
2077
|
-
} | {
|
|
2078
|
-
type: "start-step";
|
|
2079
|
-
} | {
|
|
2080
|
-
type: "finish-step";
|
|
2081
|
-
} | {
|
|
2082
|
-
type: "start";
|
|
2083
|
-
messageId?: string | undefined;
|
|
2084
|
-
messageMetadata?: unknown;
|
|
2085
|
-
} | {
|
|
2086
|
-
type: "finish";
|
|
2087
|
-
finishReason?: "length" | "error" | "stop" | "content-filter" | "tool-calls" | "other" | undefined;
|
|
2088
|
-
messageMetadata?: unknown;
|
|
2089
|
-
} | {
|
|
2090
|
-
type: "abort";
|
|
2091
|
-
reason?: string | undefined;
|
|
2092
|
-
} | {
|
|
2093
|
-
type: "message-metadata";
|
|
2094
|
-
messageMetadata: unknown;
|
|
2095
|
-
}>;
|
|
1965
|
+
declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<UIMessageChunk<unknown, UIDataTypes>>;
|
|
2096
1966
|
type DataUIMessageChunk<DATA_TYPES extends UIDataTypes> = ValueOf<{
|
|
2097
1967
|
[NAME in keyof DATA_TYPES & string]: {
|
|
2098
1968
|
type: `data-${NAME}`;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as _ai_sdk_provider from '@ai-sdk/provider';
|
|
2
1
|
import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, EmbeddingModelV3Middleware, ImageModelV3, ImageModelV2, ImageModelV3ProviderMetadata, ImageModelV2ProviderMetadata, ImageModelV3Middleware, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, SharedV3Warning, LanguageModelV3Source, LanguageModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, TranscriptionModelV3, TranscriptionModelV2, JSONObject, ImageModelV3Usage, AISDKError, LanguageModelV3ToolCall, JSONSchema7, LanguageModelV3CallOptions, LanguageModelV3ToolChoice, ProviderV3, JSONParseError, TypeValidationError, Experimental_VideoModelV3, Experimental_VideoModelV3FrameType, EmbeddingModelV3CallOptions, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
|
|
3
2
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
|
4
3
|
import { GatewayModelId } from '@ai-sdk/gateway';
|
|
@@ -1963,136 +1962,7 @@ type InferUIMessageToolCall<UI_MESSAGE extends UIMessage> = ValueOf<{
|
|
|
1963
1962
|
dynamic: true;
|
|
1964
1963
|
});
|
|
1965
1964
|
|
|
1966
|
-
declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<
|
|
1967
|
-
type: "text-start";
|
|
1968
|
-
id: string;
|
|
1969
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1970
|
-
} | {
|
|
1971
|
-
type: "text-delta";
|
|
1972
|
-
id: string;
|
|
1973
|
-
delta: string;
|
|
1974
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1975
|
-
} | {
|
|
1976
|
-
type: "text-end";
|
|
1977
|
-
id: string;
|
|
1978
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1979
|
-
} | {
|
|
1980
|
-
type: "error";
|
|
1981
|
-
errorText: string;
|
|
1982
|
-
} | {
|
|
1983
|
-
type: "tool-input-start";
|
|
1984
|
-
toolCallId: string;
|
|
1985
|
-
toolName: string;
|
|
1986
|
-
providerExecuted?: boolean | undefined;
|
|
1987
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
1988
|
-
toolMetadata?: JSONObject | undefined;
|
|
1989
|
-
dynamic?: boolean | undefined;
|
|
1990
|
-
title?: string | undefined;
|
|
1991
|
-
} | {
|
|
1992
|
-
type: "tool-input-delta";
|
|
1993
|
-
toolCallId: string;
|
|
1994
|
-
inputTextDelta: string;
|
|
1995
|
-
} | {
|
|
1996
|
-
type: "tool-input-available";
|
|
1997
|
-
toolCallId: string;
|
|
1998
|
-
toolName: string;
|
|
1999
|
-
input: unknown;
|
|
2000
|
-
providerExecuted?: boolean | undefined;
|
|
2001
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2002
|
-
toolMetadata?: JSONObject | undefined;
|
|
2003
|
-
dynamic?: boolean | undefined;
|
|
2004
|
-
title?: string | undefined;
|
|
2005
|
-
} | {
|
|
2006
|
-
type: "tool-input-error";
|
|
2007
|
-
toolCallId: string;
|
|
2008
|
-
toolName: string;
|
|
2009
|
-
input: unknown;
|
|
2010
|
-
errorText: string;
|
|
2011
|
-
providerExecuted?: boolean | undefined;
|
|
2012
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2013
|
-
toolMetadata?: JSONObject | undefined;
|
|
2014
|
-
dynamic?: boolean | undefined;
|
|
2015
|
-
title?: string | undefined;
|
|
2016
|
-
} | {
|
|
2017
|
-
type: "tool-approval-request";
|
|
2018
|
-
approvalId: string;
|
|
2019
|
-
toolCallId: string;
|
|
2020
|
-
signature?: string | undefined;
|
|
2021
|
-
} | {
|
|
2022
|
-
type: "tool-output-available";
|
|
2023
|
-
toolCallId: string;
|
|
2024
|
-
output: unknown;
|
|
2025
|
-
providerExecuted?: boolean | undefined;
|
|
2026
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2027
|
-
toolMetadata?: JSONObject | undefined;
|
|
2028
|
-
dynamic?: boolean | undefined;
|
|
2029
|
-
preliminary?: boolean | undefined;
|
|
2030
|
-
} | {
|
|
2031
|
-
type: "tool-output-error";
|
|
2032
|
-
toolCallId: string;
|
|
2033
|
-
errorText: string;
|
|
2034
|
-
providerExecuted?: boolean | undefined;
|
|
2035
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2036
|
-
toolMetadata?: JSONObject | undefined;
|
|
2037
|
-
dynamic?: boolean | undefined;
|
|
2038
|
-
} | {
|
|
2039
|
-
type: "tool-output-denied";
|
|
2040
|
-
toolCallId: string;
|
|
2041
|
-
} | {
|
|
2042
|
-
type: "reasoning-start";
|
|
2043
|
-
id: string;
|
|
2044
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2045
|
-
} | {
|
|
2046
|
-
type: "reasoning-delta";
|
|
2047
|
-
id: string;
|
|
2048
|
-
delta: string;
|
|
2049
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2050
|
-
} | {
|
|
2051
|
-
type: "reasoning-end";
|
|
2052
|
-
id: string;
|
|
2053
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2054
|
-
} | {
|
|
2055
|
-
type: "source-url";
|
|
2056
|
-
sourceId: string;
|
|
2057
|
-
url: string;
|
|
2058
|
-
title?: string | undefined;
|
|
2059
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2060
|
-
} | {
|
|
2061
|
-
type: "source-document";
|
|
2062
|
-
sourceId: string;
|
|
2063
|
-
mediaType: string;
|
|
2064
|
-
title: string;
|
|
2065
|
-
filename?: string | undefined;
|
|
2066
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2067
|
-
} | {
|
|
2068
|
-
type: "file";
|
|
2069
|
-
url: string;
|
|
2070
|
-
mediaType: string;
|
|
2071
|
-
providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
|
|
2072
|
-
} | {
|
|
2073
|
-
type: `data-${string}`;
|
|
2074
|
-
data: unknown;
|
|
2075
|
-
id?: string | undefined;
|
|
2076
|
-
transient?: boolean | undefined;
|
|
2077
|
-
} | {
|
|
2078
|
-
type: "start-step";
|
|
2079
|
-
} | {
|
|
2080
|
-
type: "finish-step";
|
|
2081
|
-
} | {
|
|
2082
|
-
type: "start";
|
|
2083
|
-
messageId?: string | undefined;
|
|
2084
|
-
messageMetadata?: unknown;
|
|
2085
|
-
} | {
|
|
2086
|
-
type: "finish";
|
|
2087
|
-
finishReason?: "length" | "error" | "stop" | "content-filter" | "tool-calls" | "other" | undefined;
|
|
2088
|
-
messageMetadata?: unknown;
|
|
2089
|
-
} | {
|
|
2090
|
-
type: "abort";
|
|
2091
|
-
reason?: string | undefined;
|
|
2092
|
-
} | {
|
|
2093
|
-
type: "message-metadata";
|
|
2094
|
-
messageMetadata: unknown;
|
|
2095
|
-
}>;
|
|
1965
|
+
declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<UIMessageChunk<unknown, UIDataTypes>>;
|
|
2096
1966
|
type DataUIMessageChunk<DATA_TYPES extends UIDataTypes> = ValueOf<{
|
|
2097
1967
|
[NAME in keyof DATA_TYPES & string]: {
|
|
2098
1968
|
type: `data-${NAME}`;
|
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.231" : "0.0.0-test";
|
|
1286
1286
|
|
|
1287
1287
|
// src/util/download/download.ts
|
|
1288
1288
|
var download = async ({
|
|
@@ -3114,6 +3114,21 @@ function extractTextContent(content) {
|
|
|
3114
3114
|
return parts.map((content2) => content2.text).join("");
|
|
3115
3115
|
}
|
|
3116
3116
|
|
|
3117
|
+
// src/generate-text/filter-active-tools.ts
|
|
3118
|
+
function filterActiveTools({
|
|
3119
|
+
tools,
|
|
3120
|
+
activeTools
|
|
3121
|
+
}) {
|
|
3122
|
+
if (tools == null || activeTools == null) {
|
|
3123
|
+
return tools;
|
|
3124
|
+
}
|
|
3125
|
+
return Object.fromEntries(
|
|
3126
|
+
Object.entries(tools).filter(
|
|
3127
|
+
([name22]) => activeTools.includes(name22)
|
|
3128
|
+
)
|
|
3129
|
+
);
|
|
3130
|
+
}
|
|
3131
|
+
|
|
3117
3132
|
// src/generate-text/generated-file.ts
|
|
3118
3133
|
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
3119
3134
|
var DefaultGeneratedFile = class {
|
|
@@ -4650,6 +4665,9 @@ async function generateText({
|
|
|
4650
4665
|
const steps = [];
|
|
4651
4666
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
4652
4667
|
do {
|
|
4668
|
+
if (steps.length > 0) {
|
|
4669
|
+
mergedAbortSignal == null ? void 0 : mergedAbortSignal.throwIfAborted();
|
|
4670
|
+
}
|
|
4653
4671
|
const stepTimeoutId = setAbortTimeout({
|
|
4654
4672
|
abortController: stepAbortController,
|
|
4655
4673
|
label: "Step",
|
|
@@ -4681,6 +4699,10 @@ async function generateText({
|
|
|
4681
4699
|
});
|
|
4682
4700
|
experimental_context = (_d = prepareStepResult == null ? void 0 : prepareStepResult.experimental_context) != null ? _d : experimental_context;
|
|
4683
4701
|
const stepActiveTools = (_e = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _e : activeTools;
|
|
4702
|
+
const stepToolSet = filterActiveTools({
|
|
4703
|
+
tools,
|
|
4704
|
+
activeTools: stepActiveTools
|
|
4705
|
+
});
|
|
4684
4706
|
const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
|
|
4685
4707
|
tools,
|
|
4686
4708
|
toolChoice: (_f = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _f : toolChoice,
|
|
@@ -4833,7 +4855,7 @@ async function generateText({
|
|
|
4833
4855
|
).map(
|
|
4834
4856
|
(toolCall) => parseToolCall({
|
|
4835
4857
|
toolCall,
|
|
4836
|
-
tools,
|
|
4858
|
+
tools: stepToolSet,
|
|
4837
4859
|
repairToolCall,
|
|
4838
4860
|
system,
|
|
4839
4861
|
messages: stepInputMessages
|
|
@@ -4845,11 +4867,19 @@ async function generateText({
|
|
|
4845
4867
|
if (toolCall.invalid) {
|
|
4846
4868
|
continue;
|
|
4847
4869
|
}
|
|
4848
|
-
const tool2 =
|
|
4870
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
4849
4871
|
if (tool2 == null) {
|
|
4850
4872
|
continue;
|
|
4851
4873
|
}
|
|
4852
|
-
if (
|
|
4874
|
+
if (tool2.onInputStart != null) {
|
|
4875
|
+
await tool2.onInputStart({
|
|
4876
|
+
toolCallId: toolCall.toolCallId,
|
|
4877
|
+
messages: stepInputMessages,
|
|
4878
|
+
abortSignal: mergedAbortSignal,
|
|
4879
|
+
experimental_context
|
|
4880
|
+
});
|
|
4881
|
+
}
|
|
4882
|
+
if (tool2.onInputAvailable != null) {
|
|
4853
4883
|
await tool2.onInputAvailable({
|
|
4854
4884
|
input: toolCall.input,
|
|
4855
4885
|
toolCallId: toolCall.toolCallId,
|
|
@@ -4897,13 +4927,13 @@ async function generateText({
|
|
|
4897
4927
|
clientToolCalls = stepToolCalls.filter(
|
|
4898
4928
|
(toolCall) => !toolCall.providerExecuted
|
|
4899
4929
|
);
|
|
4900
|
-
if (
|
|
4930
|
+
if (stepToolSet != null) {
|
|
4901
4931
|
clientToolOutputs.push(
|
|
4902
4932
|
...await executeTools({
|
|
4903
4933
|
toolCalls: clientToolCalls.filter(
|
|
4904
4934
|
(toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null
|
|
4905
4935
|
),
|
|
4906
|
-
tools,
|
|
4936
|
+
tools: stepToolSet,
|
|
4907
4937
|
tracer,
|
|
4908
4938
|
telemetry,
|
|
4909
4939
|
messages: stepInputMessages,
|
|
@@ -4925,7 +4955,7 @@ async function generateText({
|
|
|
4925
4955
|
for (const toolCall of stepToolCalls) {
|
|
4926
4956
|
if (!toolCall.providerExecuted)
|
|
4927
4957
|
continue;
|
|
4928
|
-
const tool2 =
|
|
4958
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
4929
4959
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
4930
4960
|
const hasResultInResponse = currentModelResponse.content.some(
|
|
4931
4961
|
(part) => part.type === "tool-result" && part.toolCallId === toolCall.toolCallId
|
|
@@ -4947,12 +4977,12 @@ async function generateText({
|
|
|
4947
4977
|
toolCalls: stepToolCalls,
|
|
4948
4978
|
toolOutputs: clientToolOutputs,
|
|
4949
4979
|
toolApprovalRequests: Object.values(toolApprovalRequests),
|
|
4950
|
-
tools
|
|
4980
|
+
tools: stepToolSet
|
|
4951
4981
|
});
|
|
4952
4982
|
responseMessages.push(
|
|
4953
4983
|
...await toResponseMessages({
|
|
4954
4984
|
content: stepContent,
|
|
4955
|
-
tools
|
|
4985
|
+
tools: stepToolSet
|
|
4956
4986
|
})
|
|
4957
4987
|
);
|
|
4958
4988
|
const stepRequest = ((_i = include == null ? void 0 : include.requestBody) != null ? _i : true) ? (_j = currentModelResponse.request) != null ? _j : {} : { ...currentModelResponse.request, body: void 0 };
|
|
@@ -5510,27 +5540,27 @@ var toolMetadataSchema = import_v47.z.record(
|
|
|
5510
5540
|
var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
5511
5541
|
() => (0, import_provider_utils17.zodSchema)(
|
|
5512
5542
|
import_v47.z.union([
|
|
5513
|
-
import_v47.z.
|
|
5543
|
+
import_v47.z.looseObject({
|
|
5514
5544
|
type: import_v47.z.literal("text-start"),
|
|
5515
5545
|
id: import_v47.z.string(),
|
|
5516
5546
|
providerMetadata: providerMetadataSchema.optional()
|
|
5517
5547
|
}),
|
|
5518
|
-
import_v47.z.
|
|
5548
|
+
import_v47.z.looseObject({
|
|
5519
5549
|
type: import_v47.z.literal("text-delta"),
|
|
5520
5550
|
id: import_v47.z.string(),
|
|
5521
5551
|
delta: import_v47.z.string(),
|
|
5522
5552
|
providerMetadata: providerMetadataSchema.optional()
|
|
5523
5553
|
}),
|
|
5524
|
-
import_v47.z.
|
|
5554
|
+
import_v47.z.looseObject({
|
|
5525
5555
|
type: import_v47.z.literal("text-end"),
|
|
5526
5556
|
id: import_v47.z.string(),
|
|
5527
5557
|
providerMetadata: providerMetadataSchema.optional()
|
|
5528
5558
|
}),
|
|
5529
|
-
import_v47.z.
|
|
5559
|
+
import_v47.z.looseObject({
|
|
5530
5560
|
type: import_v47.z.literal("error"),
|
|
5531
5561
|
errorText: import_v47.z.string()
|
|
5532
5562
|
}),
|
|
5533
|
-
import_v47.z.
|
|
5563
|
+
import_v47.z.looseObject({
|
|
5534
5564
|
type: import_v47.z.literal("tool-input-start"),
|
|
5535
5565
|
toolCallId: import_v47.z.string(),
|
|
5536
5566
|
toolName: import_v47.z.string(),
|
|
@@ -5540,12 +5570,12 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5540
5570
|
dynamic: import_v47.z.boolean().optional(),
|
|
5541
5571
|
title: import_v47.z.string().optional()
|
|
5542
5572
|
}),
|
|
5543
|
-
import_v47.z.
|
|
5573
|
+
import_v47.z.looseObject({
|
|
5544
5574
|
type: import_v47.z.literal("tool-input-delta"),
|
|
5545
5575
|
toolCallId: import_v47.z.string(),
|
|
5546
5576
|
inputTextDelta: import_v47.z.string()
|
|
5547
5577
|
}),
|
|
5548
|
-
import_v47.z.
|
|
5578
|
+
import_v47.z.looseObject({
|
|
5549
5579
|
type: import_v47.z.literal("tool-input-available"),
|
|
5550
5580
|
toolCallId: import_v47.z.string(),
|
|
5551
5581
|
toolName: import_v47.z.string(),
|
|
@@ -5556,7 +5586,7 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5556
5586
|
dynamic: import_v47.z.boolean().optional(),
|
|
5557
5587
|
title: import_v47.z.string().optional()
|
|
5558
5588
|
}),
|
|
5559
|
-
import_v47.z.
|
|
5589
|
+
import_v47.z.looseObject({
|
|
5560
5590
|
type: import_v47.z.literal("tool-input-error"),
|
|
5561
5591
|
toolCallId: import_v47.z.string(),
|
|
5562
5592
|
toolName: import_v47.z.string(),
|
|
@@ -5568,13 +5598,13 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5568
5598
|
errorText: import_v47.z.string(),
|
|
5569
5599
|
title: import_v47.z.string().optional()
|
|
5570
5600
|
}),
|
|
5571
|
-
import_v47.z.
|
|
5601
|
+
import_v47.z.looseObject({
|
|
5572
5602
|
type: import_v47.z.literal("tool-approval-request"),
|
|
5573
5603
|
approvalId: import_v47.z.string(),
|
|
5574
5604
|
toolCallId: import_v47.z.string(),
|
|
5575
5605
|
signature: import_v47.z.string().optional()
|
|
5576
5606
|
}),
|
|
5577
|
-
import_v47.z.
|
|
5607
|
+
import_v47.z.looseObject({
|
|
5578
5608
|
type: import_v47.z.literal("tool-output-available"),
|
|
5579
5609
|
toolCallId: import_v47.z.string(),
|
|
5580
5610
|
output: import_v47.z.unknown(),
|
|
@@ -5584,7 +5614,7 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5584
5614
|
dynamic: import_v47.z.boolean().optional(),
|
|
5585
5615
|
preliminary: import_v47.z.boolean().optional()
|
|
5586
5616
|
}),
|
|
5587
|
-
import_v47.z.
|
|
5617
|
+
import_v47.z.looseObject({
|
|
5588
5618
|
type: import_v47.z.literal("tool-output-error"),
|
|
5589
5619
|
toolCallId: import_v47.z.string(),
|
|
5590
5620
|
errorText: import_v47.z.string(),
|
|
@@ -5593,34 +5623,34 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5593
5623
|
toolMetadata: toolMetadataSchema.optional(),
|
|
5594
5624
|
dynamic: import_v47.z.boolean().optional()
|
|
5595
5625
|
}),
|
|
5596
|
-
import_v47.z.
|
|
5626
|
+
import_v47.z.looseObject({
|
|
5597
5627
|
type: import_v47.z.literal("tool-output-denied"),
|
|
5598
5628
|
toolCallId: import_v47.z.string()
|
|
5599
5629
|
}),
|
|
5600
|
-
import_v47.z.
|
|
5630
|
+
import_v47.z.looseObject({
|
|
5601
5631
|
type: import_v47.z.literal("reasoning-start"),
|
|
5602
5632
|
id: import_v47.z.string(),
|
|
5603
5633
|
providerMetadata: providerMetadataSchema.optional()
|
|
5604
5634
|
}),
|
|
5605
|
-
import_v47.z.
|
|
5635
|
+
import_v47.z.looseObject({
|
|
5606
5636
|
type: import_v47.z.literal("reasoning-delta"),
|
|
5607
5637
|
id: import_v47.z.string(),
|
|
5608
5638
|
delta: import_v47.z.string(),
|
|
5609
5639
|
providerMetadata: providerMetadataSchema.optional()
|
|
5610
5640
|
}),
|
|
5611
|
-
import_v47.z.
|
|
5641
|
+
import_v47.z.looseObject({
|
|
5612
5642
|
type: import_v47.z.literal("reasoning-end"),
|
|
5613
5643
|
id: import_v47.z.string(),
|
|
5614
5644
|
providerMetadata: providerMetadataSchema.optional()
|
|
5615
5645
|
}),
|
|
5616
|
-
import_v47.z.
|
|
5646
|
+
import_v47.z.looseObject({
|
|
5617
5647
|
type: import_v47.z.literal("source-url"),
|
|
5618
5648
|
sourceId: import_v47.z.string(),
|
|
5619
5649
|
url: import_v47.z.string(),
|
|
5620
5650
|
title: import_v47.z.string().optional(),
|
|
5621
5651
|
providerMetadata: providerMetadataSchema.optional()
|
|
5622
5652
|
}),
|
|
5623
|
-
import_v47.z.
|
|
5653
|
+
import_v47.z.looseObject({
|
|
5624
5654
|
type: import_v47.z.literal("source-document"),
|
|
5625
5655
|
sourceId: import_v47.z.string(),
|
|
5626
5656
|
mediaType: import_v47.z.string(),
|
|
@@ -5628,13 +5658,13 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5628
5658
|
filename: 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("file"),
|
|
5633
5663
|
url: import_v47.z.string(),
|
|
5634
5664
|
mediaType: import_v47.z.string(),
|
|
5635
5665
|
providerMetadata: providerMetadataSchema.optional()
|
|
5636
5666
|
}),
|
|
5637
|
-
import_v47.z.
|
|
5667
|
+
import_v47.z.looseObject({
|
|
5638
5668
|
type: import_v47.z.custom(
|
|
5639
5669
|
(value) => typeof value === "string" && value.startsWith("data-"),
|
|
5640
5670
|
{ message: 'Type must start with "data-"' }
|
|
@@ -5643,18 +5673,18 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5643
5673
|
data: import_v47.z.unknown(),
|
|
5644
5674
|
transient: import_v47.z.boolean().optional()
|
|
5645
5675
|
}),
|
|
5646
|
-
import_v47.z.
|
|
5676
|
+
import_v47.z.looseObject({
|
|
5647
5677
|
type: import_v47.z.literal("start-step")
|
|
5648
5678
|
}),
|
|
5649
|
-
import_v47.z.
|
|
5679
|
+
import_v47.z.looseObject({
|
|
5650
5680
|
type: import_v47.z.literal("finish-step")
|
|
5651
5681
|
}),
|
|
5652
|
-
import_v47.z.
|
|
5682
|
+
import_v47.z.looseObject({
|
|
5653
5683
|
type: import_v47.z.literal("start"),
|
|
5654
5684
|
messageId: import_v47.z.string().optional(),
|
|
5655
5685
|
messageMetadata: import_v47.z.unknown().optional()
|
|
5656
5686
|
}),
|
|
5657
|
-
import_v47.z.
|
|
5687
|
+
import_v47.z.looseObject({
|
|
5658
5688
|
type: import_v47.z.literal("finish"),
|
|
5659
5689
|
finishReason: import_v47.z.enum([
|
|
5660
5690
|
"stop",
|
|
@@ -5666,11 +5696,11 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5666
5696
|
]).optional(),
|
|
5667
5697
|
messageMetadata: import_v47.z.unknown().optional()
|
|
5668
5698
|
}),
|
|
5669
|
-
import_v47.z.
|
|
5699
|
+
import_v47.z.looseObject({
|
|
5670
5700
|
type: import_v47.z.literal("abort"),
|
|
5671
5701
|
reason: import_v47.z.string().optional()
|
|
5672
5702
|
}),
|
|
5673
|
-
import_v47.z.
|
|
5703
|
+
import_v47.z.looseObject({
|
|
5674
5704
|
type: import_v47.z.literal("message-metadata"),
|
|
5675
5705
|
messageMetadata: import_v47.z.unknown()
|
|
5676
5706
|
})
|
|
@@ -7124,6 +7154,7 @@ var DefaultStreamTextResult = class {
|
|
|
7124
7154
|
let recordedWarnings = [];
|
|
7125
7155
|
const recordedSteps = [];
|
|
7126
7156
|
let recordedNoOutputError;
|
|
7157
|
+
let currentStepToolSet = tools;
|
|
7127
7158
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
7128
7159
|
let rootSpan;
|
|
7129
7160
|
let activeTextContent = createIdMap();
|
|
@@ -7251,7 +7282,7 @@ var DefaultStreamTextResult = class {
|
|
|
7251
7282
|
if (part.type === "finish-step") {
|
|
7252
7283
|
const stepMessages = await toResponseMessages({
|
|
7253
7284
|
content: recordedContent,
|
|
7254
|
-
tools
|
|
7285
|
+
tools: currentStepToolSet
|
|
7255
7286
|
});
|
|
7256
7287
|
const currentStepResult = new DefaultStepResult({
|
|
7257
7288
|
stepNumber: recordedSteps.length,
|
|
@@ -7682,6 +7713,11 @@ var DefaultStreamTextResult = class {
|
|
|
7682
7713
|
download: download2
|
|
7683
7714
|
});
|
|
7684
7715
|
const stepActiveTools = (_d = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _d : activeTools;
|
|
7716
|
+
const stepToolSet = filterActiveTools({
|
|
7717
|
+
tools,
|
|
7718
|
+
activeTools: stepActiveTools
|
|
7719
|
+
});
|
|
7720
|
+
currentStepToolSet = stepToolSet;
|
|
7685
7721
|
const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
|
|
7686
7722
|
tools,
|
|
7687
7723
|
toolChoice: (_e = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _e : toolChoice,
|
|
@@ -7781,7 +7817,7 @@ var DefaultStreamTextResult = class {
|
|
|
7781
7817
|
})
|
|
7782
7818
|
);
|
|
7783
7819
|
const streamWithToolResults = runToolsTransformation({
|
|
7784
|
-
tools,
|
|
7820
|
+
tools: stepToolSet,
|
|
7785
7821
|
generatorStream: stream2,
|
|
7786
7822
|
tracer,
|
|
7787
7823
|
telemetry,
|
|
@@ -7932,7 +7968,7 @@ var DefaultStreamTextResult = class {
|
|
|
7932
7968
|
}
|
|
7933
7969
|
case "tool-input-start": {
|
|
7934
7970
|
activeToolCallToolNames[chunk.id] = chunk.toolName;
|
|
7935
|
-
const tool2 =
|
|
7971
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[chunk.toolName];
|
|
7936
7972
|
if ((tool2 == null ? void 0 : tool2.onInputStart) != null) {
|
|
7937
7973
|
await tool2.onInputStart({
|
|
7938
7974
|
toolCallId: chunk.id,
|
|
@@ -7955,7 +7991,7 @@ var DefaultStreamTextResult = class {
|
|
|
7955
7991
|
}
|
|
7956
7992
|
case "tool-input-delta": {
|
|
7957
7993
|
const toolName = activeToolCallToolNames[chunk.id];
|
|
7958
|
-
const tool2 =
|
|
7994
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolName];
|
|
7959
7995
|
if ((tool2 == null ? void 0 : tool2.onInputDelta) != null) {
|
|
7960
7996
|
await tool2.onInputDelta({
|
|
7961
7997
|
inputTextDelta: chunk.delta,
|
|
@@ -8087,7 +8123,7 @@ var DefaultStreamTextResult = class {
|
|
|
8087
8123
|
for (const toolCall of stepToolCalls) {
|
|
8088
8124
|
if (toolCall.providerExecuted !== true)
|
|
8089
8125
|
continue;
|
|
8090
|
-
const tool2 =
|
|
8126
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
8091
8127
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
8092
8128
|
const hasResultInStep = stepToolOutputs.some(
|
|
8093
8129
|
(output2) => (output2.type === "tool-result" || output2.type === "tool-error") && output2.toolCallId === toolCall.toolCallId
|
|
@@ -8122,7 +8158,7 @@ var DefaultStreamTextResult = class {
|
|
|
8122
8158
|
// use transformed content to create the messages for the next step:
|
|
8123
8159
|
recordedSteps[recordedSteps.length - 1].content
|
|
8124
8160
|
),
|
|
8125
|
-
tools
|
|
8161
|
+
tools: stepToolSet
|
|
8126
8162
|
})
|
|
8127
8163
|
);
|
|
8128
8164
|
try {
|