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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
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
|
+
|
|
3
14
|
## 6.0.230
|
|
4
15
|
|
|
5
16
|
### 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,7 +4867,7 @@ 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
|
}
|
|
@@ -4905,13 +4927,13 @@ async function generateText({
|
|
|
4905
4927
|
clientToolCalls = stepToolCalls.filter(
|
|
4906
4928
|
(toolCall) => !toolCall.providerExecuted
|
|
4907
4929
|
);
|
|
4908
|
-
if (
|
|
4930
|
+
if (stepToolSet != null) {
|
|
4909
4931
|
clientToolOutputs.push(
|
|
4910
4932
|
...await executeTools({
|
|
4911
4933
|
toolCalls: clientToolCalls.filter(
|
|
4912
4934
|
(toolCall) => !toolCall.invalid && toolApprovalRequests[toolCall.toolCallId] == null
|
|
4913
4935
|
),
|
|
4914
|
-
tools,
|
|
4936
|
+
tools: stepToolSet,
|
|
4915
4937
|
tracer,
|
|
4916
4938
|
telemetry,
|
|
4917
4939
|
messages: stepInputMessages,
|
|
@@ -4933,7 +4955,7 @@ async function generateText({
|
|
|
4933
4955
|
for (const toolCall of stepToolCalls) {
|
|
4934
4956
|
if (!toolCall.providerExecuted)
|
|
4935
4957
|
continue;
|
|
4936
|
-
const tool2 =
|
|
4958
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
4937
4959
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
4938
4960
|
const hasResultInResponse = currentModelResponse.content.some(
|
|
4939
4961
|
(part) => part.type === "tool-result" && part.toolCallId === toolCall.toolCallId
|
|
@@ -4955,12 +4977,12 @@ async function generateText({
|
|
|
4955
4977
|
toolCalls: stepToolCalls,
|
|
4956
4978
|
toolOutputs: clientToolOutputs,
|
|
4957
4979
|
toolApprovalRequests: Object.values(toolApprovalRequests),
|
|
4958
|
-
tools
|
|
4980
|
+
tools: stepToolSet
|
|
4959
4981
|
});
|
|
4960
4982
|
responseMessages.push(
|
|
4961
4983
|
...await toResponseMessages({
|
|
4962
4984
|
content: stepContent,
|
|
4963
|
-
tools
|
|
4985
|
+
tools: stepToolSet
|
|
4964
4986
|
})
|
|
4965
4987
|
);
|
|
4966
4988
|
const stepRequest = ((_i = include == null ? void 0 : include.requestBody) != null ? _i : true) ? (_j = currentModelResponse.request) != null ? _j : {} : { ...currentModelResponse.request, body: void 0 };
|
|
@@ -5518,27 +5540,27 @@ var toolMetadataSchema = import_v47.z.record(
|
|
|
5518
5540
|
var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
5519
5541
|
() => (0, import_provider_utils17.zodSchema)(
|
|
5520
5542
|
import_v47.z.union([
|
|
5521
|
-
import_v47.z.
|
|
5543
|
+
import_v47.z.looseObject({
|
|
5522
5544
|
type: import_v47.z.literal("text-start"),
|
|
5523
5545
|
id: import_v47.z.string(),
|
|
5524
5546
|
providerMetadata: providerMetadataSchema.optional()
|
|
5525
5547
|
}),
|
|
5526
|
-
import_v47.z.
|
|
5548
|
+
import_v47.z.looseObject({
|
|
5527
5549
|
type: import_v47.z.literal("text-delta"),
|
|
5528
5550
|
id: import_v47.z.string(),
|
|
5529
5551
|
delta: import_v47.z.string(),
|
|
5530
5552
|
providerMetadata: providerMetadataSchema.optional()
|
|
5531
5553
|
}),
|
|
5532
|
-
import_v47.z.
|
|
5554
|
+
import_v47.z.looseObject({
|
|
5533
5555
|
type: import_v47.z.literal("text-end"),
|
|
5534
5556
|
id: import_v47.z.string(),
|
|
5535
5557
|
providerMetadata: providerMetadataSchema.optional()
|
|
5536
5558
|
}),
|
|
5537
|
-
import_v47.z.
|
|
5559
|
+
import_v47.z.looseObject({
|
|
5538
5560
|
type: import_v47.z.literal("error"),
|
|
5539
5561
|
errorText: import_v47.z.string()
|
|
5540
5562
|
}),
|
|
5541
|
-
import_v47.z.
|
|
5563
|
+
import_v47.z.looseObject({
|
|
5542
5564
|
type: import_v47.z.literal("tool-input-start"),
|
|
5543
5565
|
toolCallId: import_v47.z.string(),
|
|
5544
5566
|
toolName: import_v47.z.string(),
|
|
@@ -5548,12 +5570,12 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5548
5570
|
dynamic: import_v47.z.boolean().optional(),
|
|
5549
5571
|
title: import_v47.z.string().optional()
|
|
5550
5572
|
}),
|
|
5551
|
-
import_v47.z.
|
|
5573
|
+
import_v47.z.looseObject({
|
|
5552
5574
|
type: import_v47.z.literal("tool-input-delta"),
|
|
5553
5575
|
toolCallId: import_v47.z.string(),
|
|
5554
5576
|
inputTextDelta: import_v47.z.string()
|
|
5555
5577
|
}),
|
|
5556
|
-
import_v47.z.
|
|
5578
|
+
import_v47.z.looseObject({
|
|
5557
5579
|
type: import_v47.z.literal("tool-input-available"),
|
|
5558
5580
|
toolCallId: import_v47.z.string(),
|
|
5559
5581
|
toolName: import_v47.z.string(),
|
|
@@ -5564,7 +5586,7 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5564
5586
|
dynamic: import_v47.z.boolean().optional(),
|
|
5565
5587
|
title: import_v47.z.string().optional()
|
|
5566
5588
|
}),
|
|
5567
|
-
import_v47.z.
|
|
5589
|
+
import_v47.z.looseObject({
|
|
5568
5590
|
type: import_v47.z.literal("tool-input-error"),
|
|
5569
5591
|
toolCallId: import_v47.z.string(),
|
|
5570
5592
|
toolName: import_v47.z.string(),
|
|
@@ -5576,13 +5598,13 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5576
5598
|
errorText: import_v47.z.string(),
|
|
5577
5599
|
title: import_v47.z.string().optional()
|
|
5578
5600
|
}),
|
|
5579
|
-
import_v47.z.
|
|
5601
|
+
import_v47.z.looseObject({
|
|
5580
5602
|
type: import_v47.z.literal("tool-approval-request"),
|
|
5581
5603
|
approvalId: import_v47.z.string(),
|
|
5582
5604
|
toolCallId: import_v47.z.string(),
|
|
5583
5605
|
signature: import_v47.z.string().optional()
|
|
5584
5606
|
}),
|
|
5585
|
-
import_v47.z.
|
|
5607
|
+
import_v47.z.looseObject({
|
|
5586
5608
|
type: import_v47.z.literal("tool-output-available"),
|
|
5587
5609
|
toolCallId: import_v47.z.string(),
|
|
5588
5610
|
output: import_v47.z.unknown(),
|
|
@@ -5592,7 +5614,7 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5592
5614
|
dynamic: import_v47.z.boolean().optional(),
|
|
5593
5615
|
preliminary: import_v47.z.boolean().optional()
|
|
5594
5616
|
}),
|
|
5595
|
-
import_v47.z.
|
|
5617
|
+
import_v47.z.looseObject({
|
|
5596
5618
|
type: import_v47.z.literal("tool-output-error"),
|
|
5597
5619
|
toolCallId: import_v47.z.string(),
|
|
5598
5620
|
errorText: import_v47.z.string(),
|
|
@@ -5601,34 +5623,34 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5601
5623
|
toolMetadata: toolMetadataSchema.optional(),
|
|
5602
5624
|
dynamic: import_v47.z.boolean().optional()
|
|
5603
5625
|
}),
|
|
5604
|
-
import_v47.z.
|
|
5626
|
+
import_v47.z.looseObject({
|
|
5605
5627
|
type: import_v47.z.literal("tool-output-denied"),
|
|
5606
5628
|
toolCallId: import_v47.z.string()
|
|
5607
5629
|
}),
|
|
5608
|
-
import_v47.z.
|
|
5630
|
+
import_v47.z.looseObject({
|
|
5609
5631
|
type: import_v47.z.literal("reasoning-start"),
|
|
5610
5632
|
id: import_v47.z.string(),
|
|
5611
5633
|
providerMetadata: providerMetadataSchema.optional()
|
|
5612
5634
|
}),
|
|
5613
|
-
import_v47.z.
|
|
5635
|
+
import_v47.z.looseObject({
|
|
5614
5636
|
type: import_v47.z.literal("reasoning-delta"),
|
|
5615
5637
|
id: import_v47.z.string(),
|
|
5616
5638
|
delta: import_v47.z.string(),
|
|
5617
5639
|
providerMetadata: providerMetadataSchema.optional()
|
|
5618
5640
|
}),
|
|
5619
|
-
import_v47.z.
|
|
5641
|
+
import_v47.z.looseObject({
|
|
5620
5642
|
type: import_v47.z.literal("reasoning-end"),
|
|
5621
5643
|
id: import_v47.z.string(),
|
|
5622
5644
|
providerMetadata: providerMetadataSchema.optional()
|
|
5623
5645
|
}),
|
|
5624
|
-
import_v47.z.
|
|
5646
|
+
import_v47.z.looseObject({
|
|
5625
5647
|
type: import_v47.z.literal("source-url"),
|
|
5626
5648
|
sourceId: import_v47.z.string(),
|
|
5627
5649
|
url: import_v47.z.string(),
|
|
5628
5650
|
title: import_v47.z.string().optional(),
|
|
5629
5651
|
providerMetadata: providerMetadataSchema.optional()
|
|
5630
5652
|
}),
|
|
5631
|
-
import_v47.z.
|
|
5653
|
+
import_v47.z.looseObject({
|
|
5632
5654
|
type: import_v47.z.literal("source-document"),
|
|
5633
5655
|
sourceId: import_v47.z.string(),
|
|
5634
5656
|
mediaType: import_v47.z.string(),
|
|
@@ -5636,13 +5658,13 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5636
5658
|
filename: import_v47.z.string().optional(),
|
|
5637
5659
|
providerMetadata: providerMetadataSchema.optional()
|
|
5638
5660
|
}),
|
|
5639
|
-
import_v47.z.
|
|
5661
|
+
import_v47.z.looseObject({
|
|
5640
5662
|
type: import_v47.z.literal("file"),
|
|
5641
5663
|
url: import_v47.z.string(),
|
|
5642
5664
|
mediaType: import_v47.z.string(),
|
|
5643
5665
|
providerMetadata: providerMetadataSchema.optional()
|
|
5644
5666
|
}),
|
|
5645
|
-
import_v47.z.
|
|
5667
|
+
import_v47.z.looseObject({
|
|
5646
5668
|
type: import_v47.z.custom(
|
|
5647
5669
|
(value) => typeof value === "string" && value.startsWith("data-"),
|
|
5648
5670
|
{ message: 'Type must start with "data-"' }
|
|
@@ -5651,18 +5673,18 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5651
5673
|
data: import_v47.z.unknown(),
|
|
5652
5674
|
transient: import_v47.z.boolean().optional()
|
|
5653
5675
|
}),
|
|
5654
|
-
import_v47.z.
|
|
5676
|
+
import_v47.z.looseObject({
|
|
5655
5677
|
type: import_v47.z.literal("start-step")
|
|
5656
5678
|
}),
|
|
5657
|
-
import_v47.z.
|
|
5679
|
+
import_v47.z.looseObject({
|
|
5658
5680
|
type: import_v47.z.literal("finish-step")
|
|
5659
5681
|
}),
|
|
5660
|
-
import_v47.z.
|
|
5682
|
+
import_v47.z.looseObject({
|
|
5661
5683
|
type: import_v47.z.literal("start"),
|
|
5662
5684
|
messageId: import_v47.z.string().optional(),
|
|
5663
5685
|
messageMetadata: import_v47.z.unknown().optional()
|
|
5664
5686
|
}),
|
|
5665
|
-
import_v47.z.
|
|
5687
|
+
import_v47.z.looseObject({
|
|
5666
5688
|
type: import_v47.z.literal("finish"),
|
|
5667
5689
|
finishReason: import_v47.z.enum([
|
|
5668
5690
|
"stop",
|
|
@@ -5674,11 +5696,11 @@ var uiMessageChunkSchema = (0, import_provider_utils17.lazySchema)(
|
|
|
5674
5696
|
]).optional(),
|
|
5675
5697
|
messageMetadata: import_v47.z.unknown().optional()
|
|
5676
5698
|
}),
|
|
5677
|
-
import_v47.z.
|
|
5699
|
+
import_v47.z.looseObject({
|
|
5678
5700
|
type: import_v47.z.literal("abort"),
|
|
5679
5701
|
reason: import_v47.z.string().optional()
|
|
5680
5702
|
}),
|
|
5681
|
-
import_v47.z.
|
|
5703
|
+
import_v47.z.looseObject({
|
|
5682
5704
|
type: import_v47.z.literal("message-metadata"),
|
|
5683
5705
|
messageMetadata: import_v47.z.unknown()
|
|
5684
5706
|
})
|
|
@@ -7132,6 +7154,7 @@ var DefaultStreamTextResult = class {
|
|
|
7132
7154
|
let recordedWarnings = [];
|
|
7133
7155
|
const recordedSteps = [];
|
|
7134
7156
|
let recordedNoOutputError;
|
|
7157
|
+
let currentStepToolSet = tools;
|
|
7135
7158
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
7136
7159
|
let rootSpan;
|
|
7137
7160
|
let activeTextContent = createIdMap();
|
|
@@ -7259,7 +7282,7 @@ var DefaultStreamTextResult = class {
|
|
|
7259
7282
|
if (part.type === "finish-step") {
|
|
7260
7283
|
const stepMessages = await toResponseMessages({
|
|
7261
7284
|
content: recordedContent,
|
|
7262
|
-
tools
|
|
7285
|
+
tools: currentStepToolSet
|
|
7263
7286
|
});
|
|
7264
7287
|
const currentStepResult = new DefaultStepResult({
|
|
7265
7288
|
stepNumber: recordedSteps.length,
|
|
@@ -7690,6 +7713,11 @@ var DefaultStreamTextResult = class {
|
|
|
7690
7713
|
download: download2
|
|
7691
7714
|
});
|
|
7692
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;
|
|
7693
7721
|
const { toolChoice: stepToolChoice, tools: stepTools } = await prepareToolsAndToolChoice({
|
|
7694
7722
|
tools,
|
|
7695
7723
|
toolChoice: (_e = prepareStepResult == null ? void 0 : prepareStepResult.toolChoice) != null ? _e : toolChoice,
|
|
@@ -7789,7 +7817,7 @@ var DefaultStreamTextResult = class {
|
|
|
7789
7817
|
})
|
|
7790
7818
|
);
|
|
7791
7819
|
const streamWithToolResults = runToolsTransformation({
|
|
7792
|
-
tools,
|
|
7820
|
+
tools: stepToolSet,
|
|
7793
7821
|
generatorStream: stream2,
|
|
7794
7822
|
tracer,
|
|
7795
7823
|
telemetry,
|
|
@@ -7940,7 +7968,7 @@ var DefaultStreamTextResult = class {
|
|
|
7940
7968
|
}
|
|
7941
7969
|
case "tool-input-start": {
|
|
7942
7970
|
activeToolCallToolNames[chunk.id] = chunk.toolName;
|
|
7943
|
-
const tool2 =
|
|
7971
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[chunk.toolName];
|
|
7944
7972
|
if ((tool2 == null ? void 0 : tool2.onInputStart) != null) {
|
|
7945
7973
|
await tool2.onInputStart({
|
|
7946
7974
|
toolCallId: chunk.id,
|
|
@@ -7963,7 +7991,7 @@ var DefaultStreamTextResult = class {
|
|
|
7963
7991
|
}
|
|
7964
7992
|
case "tool-input-delta": {
|
|
7965
7993
|
const toolName = activeToolCallToolNames[chunk.id];
|
|
7966
|
-
const tool2 =
|
|
7994
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolName];
|
|
7967
7995
|
if ((tool2 == null ? void 0 : tool2.onInputDelta) != null) {
|
|
7968
7996
|
await tool2.onInputDelta({
|
|
7969
7997
|
inputTextDelta: chunk.delta,
|
|
@@ -8095,7 +8123,7 @@ var DefaultStreamTextResult = class {
|
|
|
8095
8123
|
for (const toolCall of stepToolCalls) {
|
|
8096
8124
|
if (toolCall.providerExecuted !== true)
|
|
8097
8125
|
continue;
|
|
8098
|
-
const tool2 =
|
|
8126
|
+
const tool2 = stepToolSet == null ? void 0 : stepToolSet[toolCall.toolName];
|
|
8099
8127
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
8100
8128
|
const hasResultInStep = stepToolOutputs.some(
|
|
8101
8129
|
(output2) => (output2.type === "tool-result" || output2.type === "tool-error") && output2.toolCallId === toolCall.toolCallId
|
|
@@ -8130,7 +8158,7 @@ var DefaultStreamTextResult = class {
|
|
|
8130
8158
|
// use transformed content to create the messages for the next step:
|
|
8131
8159
|
recordedSteps[recordedSteps.length - 1].content
|
|
8132
8160
|
),
|
|
8133
|
-
tools
|
|
8161
|
+
tools: stepToolSet
|
|
8134
8162
|
})
|
|
8135
8163
|
);
|
|
8136
8164
|
try {
|