ai 6.0.91 → 6.0.93
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 +13 -0
- package/dist/index.d.mts +357 -13
- package/dist/index.d.ts +357 -13
- package/dist/index.js +198 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +198 -26
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +1 -1
- package/dist/internal/index.mjs +1 -1
- package/docs/02-foundations/02-providers-and-models.mdx +1 -0
- package/docs/03-agents/02-building-agents.mdx +8 -7
- package/docs/03-agents/06-memory.mdx +33 -0
- package/docs/03-ai-sdk-core/05-generating-text.mdx +54 -0
- package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +44 -2
- package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +667 -146
- package/package.json +2 -2
- package/src/generate-text/execute-tool-call.ts +83 -0
- package/src/generate-text/generate-text.ts +534 -11
- package/src/generate-text/index.ts +4 -0
- package/src/generate-text/step-result.ts +52 -0
- package/src/generate-text/stream-text.ts +15 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 6.0.93
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d3769ec: feat(ai): add experimental callbacks in generateText
|
|
8
|
+
|
|
9
|
+
## 6.0.92
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [765b013]
|
|
14
|
+
- @ai-sdk/gateway@3.0.51
|
|
15
|
+
|
|
3
16
|
## 6.0.91
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -4,7 +4,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
|
4
4
|
import { Tool, InferToolInput, InferToolOutput, FlexibleSchema, InferSchema, SystemModelMessage, ModelMessage, AssistantModelMessage, ToolModelMessage, ReasoningPart, ProviderOptions, UserModelMessage, IdGenerator, ToolCall, MaybePromiseLike, TextPart, FilePart, Resolvable, FetchFunction, DataContent } from '@ai-sdk/provider-utils';
|
|
5
5
|
export { AssistantContent, AssistantModelMessage, DataContent, DownloadError, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolExecutionOptions, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
|
|
6
6
|
import * as _ai_sdk_provider from '@ai-sdk/provider';
|
|
7
|
-
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, JSONParseError, TypeValidationError, Experimental_VideoModelV3, EmbeddingModelV3CallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
|
|
7
|
+
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, LanguageModelV3ToolChoice, LanguageModelV3CallOptions, JSONParseError, TypeValidationError, Experimental_VideoModelV3, EmbeddingModelV3CallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
|
|
8
8
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
|
9
9
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
|
10
10
|
import { ServerResponse } from 'node:http';
|
|
@@ -778,6 +778,33 @@ type ResponseMessage = AssistantModelMessage | ToolModelMessage;
|
|
|
778
778
|
* The result of a single step in the generation process.
|
|
779
779
|
*/
|
|
780
780
|
type StepResult<TOOLS extends ToolSet> = {
|
|
781
|
+
/**
|
|
782
|
+
* Zero-based index of this step.
|
|
783
|
+
*/
|
|
784
|
+
readonly stepNumber: number;
|
|
785
|
+
/**
|
|
786
|
+
* Information about the model that produced this step.
|
|
787
|
+
*/
|
|
788
|
+
readonly model: {
|
|
789
|
+
/** The provider of the model. */
|
|
790
|
+
readonly provider: string;
|
|
791
|
+
/** The ID of the model. */
|
|
792
|
+
readonly modelId: string;
|
|
793
|
+
};
|
|
794
|
+
/**
|
|
795
|
+
* Identifier from telemetry settings for grouping related operations.
|
|
796
|
+
*/
|
|
797
|
+
readonly functionId: string | undefined;
|
|
798
|
+
/**
|
|
799
|
+
* Additional metadata from telemetry settings.
|
|
800
|
+
*/
|
|
801
|
+
readonly metadata: Record<string, unknown> | undefined;
|
|
802
|
+
/**
|
|
803
|
+
* User-defined context object flowing through the generation.
|
|
804
|
+
*
|
|
805
|
+
* Experimental (can break in patch releases).
|
|
806
|
+
*/
|
|
807
|
+
readonly experimental_context: unknown;
|
|
781
808
|
/**
|
|
782
809
|
* The content that was generated in the last step.
|
|
783
810
|
*/
|
|
@@ -953,6 +980,12 @@ type StopCondition<TOOLS extends ToolSet> = (options: {
|
|
|
953
980
|
declare function stepCountIs(stepCount: number): StopCondition<any>;
|
|
954
981
|
declare function hasToolCall(toolName: string): StopCondition<any>;
|
|
955
982
|
|
|
983
|
+
declare const systemModelMessageSchema: z.ZodType<SystemModelMessage>;
|
|
984
|
+
declare const userModelMessageSchema: z.ZodType<UserModelMessage>;
|
|
985
|
+
declare const assistantModelMessageSchema: z.ZodType<AssistantModelMessage>;
|
|
986
|
+
declare const toolModelMessageSchema: z.ZodType<ToolModelMessage>;
|
|
987
|
+
declare const modelMessageSchema: z.ZodType<ModelMessage>;
|
|
988
|
+
|
|
956
989
|
declare const symbol$j: unique symbol;
|
|
957
990
|
declare class InvalidToolInputError extends AISDKError {
|
|
958
991
|
private readonly [symbol$j];
|
|
@@ -980,12 +1013,6 @@ declare class NoSuchToolError extends AISDKError {
|
|
|
980
1013
|
static isInstance(error: unknown): error is NoSuchToolError;
|
|
981
1014
|
}
|
|
982
1015
|
|
|
983
|
-
declare const systemModelMessageSchema: z.ZodType<SystemModelMessage>;
|
|
984
|
-
declare const userModelMessageSchema: z.ZodType<UserModelMessage>;
|
|
985
|
-
declare const assistantModelMessageSchema: z.ZodType<AssistantModelMessage>;
|
|
986
|
-
declare const toolModelMessageSchema: z.ZodType<ToolModelMessage>;
|
|
987
|
-
declare const modelMessageSchema: z.ZodType<ModelMessage>;
|
|
988
|
-
|
|
989
1016
|
/**
|
|
990
1017
|
* A function that attempts to repair a tool call that failed to parse.
|
|
991
1018
|
*
|
|
@@ -1010,34 +1037,325 @@ type ToolCallRepairFunction<TOOLS extends ToolSet> = (options: {
|
|
|
1010
1037
|
error: NoSuchToolError | InvalidToolInputError;
|
|
1011
1038
|
}) => Promise<LanguageModelV3ToolCall | null>;
|
|
1012
1039
|
|
|
1040
|
+
/**
|
|
1041
|
+
* Callback that is set using the `experimental_onStart` option.
|
|
1042
|
+
*
|
|
1043
|
+
* Called when the generateText operation begins, before any LLM calls.
|
|
1044
|
+
* Use this callback for logging, analytics, or initializing state at the
|
|
1045
|
+
* start of a generation.
|
|
1046
|
+
*
|
|
1047
|
+
* @param event - The event object containing generation configuration.
|
|
1048
|
+
*/
|
|
1049
|
+
type GenerateTextOnStartCallback<TOOLS extends ToolSet = ToolSet, OUTPUT extends Output = Output> = (event: {
|
|
1050
|
+
/** The model being used for generation. */
|
|
1051
|
+
readonly model: {
|
|
1052
|
+
/** The provider identifier (e.g., 'openai', 'anthropic'). */
|
|
1053
|
+
readonly provider: string;
|
|
1054
|
+
/** The specific model identifier (e.g., 'gpt-4o'). */
|
|
1055
|
+
readonly modelId: string;
|
|
1056
|
+
};
|
|
1057
|
+
/** The system message(s) provided to the model. */
|
|
1058
|
+
readonly system: string | SystemModelMessage | Array<SystemModelMessage> | undefined;
|
|
1059
|
+
/** The prompt string or array of messages if using the prompt option. */
|
|
1060
|
+
readonly prompt: string | Array<ModelMessage> | undefined;
|
|
1061
|
+
/** The messages array if using the messages option. */
|
|
1062
|
+
readonly messages: Array<ModelMessage> | undefined;
|
|
1063
|
+
/** The tools available for this generation. */
|
|
1064
|
+
readonly tools: TOOLS | undefined;
|
|
1065
|
+
/** The tool choice strategy for this generation. */
|
|
1066
|
+
readonly toolChoice: ToolChoice<NoInfer<TOOLS>> | undefined;
|
|
1067
|
+
/** Limits which tools are available for the model to call. */
|
|
1068
|
+
readonly activeTools: Array<keyof TOOLS> | undefined;
|
|
1069
|
+
/** Maximum number of tokens to generate. */
|
|
1070
|
+
readonly maxOutputTokens: number | undefined;
|
|
1071
|
+
/** Sampling temperature for generation. */
|
|
1072
|
+
readonly temperature: number | undefined;
|
|
1073
|
+
/** Top-p (nucleus) sampling parameter. */
|
|
1074
|
+
readonly topP: number | undefined;
|
|
1075
|
+
/** Top-k sampling parameter. */
|
|
1076
|
+
readonly topK: number | undefined;
|
|
1077
|
+
/** Presence penalty for generation. */
|
|
1078
|
+
readonly presencePenalty: number | undefined;
|
|
1079
|
+
/** Frequency penalty for generation. */
|
|
1080
|
+
readonly frequencyPenalty: number | undefined;
|
|
1081
|
+
/** Sequences that will stop generation. */
|
|
1082
|
+
readonly stopSequences: string[] | undefined;
|
|
1083
|
+
/** Random seed for reproducible generation. */
|
|
1084
|
+
readonly seed: number | undefined;
|
|
1085
|
+
/** Maximum number of retries for failed requests. */
|
|
1086
|
+
readonly maxRetries: number;
|
|
1087
|
+
/**
|
|
1088
|
+
* Timeout configuration for the generation.
|
|
1089
|
+
* Can be a number (milliseconds) or an object with totalMs, stepMs, chunkMs.
|
|
1090
|
+
*/
|
|
1091
|
+
readonly timeout: TimeoutConfiguration | undefined;
|
|
1092
|
+
/** Additional HTTP headers sent with the request. */
|
|
1093
|
+
readonly headers: Record<string, string | undefined> | undefined;
|
|
1094
|
+
/** Additional provider-specific options. */
|
|
1095
|
+
readonly providerOptions: ProviderOptions | undefined;
|
|
1096
|
+
/**
|
|
1097
|
+
* Condition(s) for stopping the generation.
|
|
1098
|
+
* When the condition is an array, any of the conditions can be met to stop.
|
|
1099
|
+
*/
|
|
1100
|
+
readonly stopWhen: StopCondition<TOOLS> | Array<StopCondition<TOOLS>> | undefined;
|
|
1101
|
+
/** The output specification for structured outputs, if configured. */
|
|
1102
|
+
readonly output: OUTPUT | undefined;
|
|
1103
|
+
/** Abort signal for cancelling the operation. */
|
|
1104
|
+
readonly abortSignal: AbortSignal | undefined;
|
|
1105
|
+
/**
|
|
1106
|
+
* Settings for controlling what data is included in step results.
|
|
1107
|
+
* `requestBody` and `responseBody` control whether these are retained.
|
|
1108
|
+
*/
|
|
1109
|
+
readonly include: {
|
|
1110
|
+
requestBody?: boolean;
|
|
1111
|
+
responseBody?: boolean;
|
|
1112
|
+
} | undefined;
|
|
1113
|
+
/** Identifier from telemetry settings for grouping related operations. */
|
|
1114
|
+
readonly functionId: string | undefined;
|
|
1115
|
+
/** Additional metadata passed to the generation. */
|
|
1116
|
+
readonly metadata: Record<string, unknown> | undefined;
|
|
1117
|
+
/**
|
|
1118
|
+
* User-defined context object that flows through the entire generation lifecycle.
|
|
1119
|
+
* Can be accessed and modified in `prepareStep` and tool `execute` functions.
|
|
1120
|
+
*/
|
|
1121
|
+
readonly experimental_context: unknown;
|
|
1122
|
+
}) => PromiseLike<void> | void;
|
|
1123
|
+
/**
|
|
1124
|
+
* Callback that is set using the `experimental_onStepStart` option.
|
|
1125
|
+
*
|
|
1126
|
+
* Called when a step (LLM call) begins, before the provider is called.
|
|
1127
|
+
* Each step represents a single LLM invocation. Multiple steps occur when
|
|
1128
|
+
* using tool calls (the model may be called multiple times in a loop).
|
|
1129
|
+
*
|
|
1130
|
+
* @param event - The event object containing step configuration.
|
|
1131
|
+
*/
|
|
1132
|
+
type GenerateTextOnStepStartCallback<TOOLS extends ToolSet = ToolSet, OUTPUT extends Output = Output> = (event: {
|
|
1133
|
+
/** Zero-based index of the current step. */
|
|
1134
|
+
readonly stepNumber: number;
|
|
1135
|
+
/** The model being used for this step. */
|
|
1136
|
+
readonly model: {
|
|
1137
|
+
/** The provider identifier. */
|
|
1138
|
+
readonly provider: string;
|
|
1139
|
+
/** The specific model identifier. */
|
|
1140
|
+
readonly modelId: string;
|
|
1141
|
+
};
|
|
1142
|
+
/**
|
|
1143
|
+
* The system message for this step.
|
|
1144
|
+
*/
|
|
1145
|
+
readonly system: string | SystemModelMessage | Array<SystemModelMessage> | undefined;
|
|
1146
|
+
/**
|
|
1147
|
+
* The messages that will be sent to the model for this step.
|
|
1148
|
+
* Uses the user-facing `ModelMessage` format.
|
|
1149
|
+
* May be overridden by prepareStep.
|
|
1150
|
+
*/
|
|
1151
|
+
readonly messages: Array<ModelMessage>;
|
|
1152
|
+
/** The tools available for this generation. */
|
|
1153
|
+
readonly tools: TOOLS | undefined;
|
|
1154
|
+
/** The tool choice configuration for this step. */
|
|
1155
|
+
readonly toolChoice: LanguageModelV3ToolChoice | undefined;
|
|
1156
|
+
/** Limits which tools are available for this step. */
|
|
1157
|
+
readonly activeTools: Array<keyof TOOLS> | undefined;
|
|
1158
|
+
/** Array of results from previous steps (empty for first step). */
|
|
1159
|
+
readonly steps: ReadonlyArray<StepResult<TOOLS>>;
|
|
1160
|
+
/** Additional provider-specific options for this step. */
|
|
1161
|
+
readonly providerOptions: ProviderOptions | undefined;
|
|
1162
|
+
/**
|
|
1163
|
+
* Timeout configuration for the generation.
|
|
1164
|
+
* Can be a number (milliseconds) or an object with totalMs, stepMs, chunkMs.
|
|
1165
|
+
*/
|
|
1166
|
+
readonly timeout: TimeoutConfiguration | undefined;
|
|
1167
|
+
/** Additional HTTP headers sent with the request. */
|
|
1168
|
+
readonly headers: Record<string, string | undefined> | undefined;
|
|
1169
|
+
/**
|
|
1170
|
+
* Condition(s) for stopping the generation.
|
|
1171
|
+
* When the condition is an array, any of the conditions can be met to stop.
|
|
1172
|
+
*/
|
|
1173
|
+
readonly stopWhen: StopCondition<TOOLS> | Array<StopCondition<TOOLS>> | undefined;
|
|
1174
|
+
/** The output specification for structured outputs, if configured. */
|
|
1175
|
+
readonly output: OUTPUT | undefined;
|
|
1176
|
+
/** Abort signal for cancelling the operation. */
|
|
1177
|
+
readonly abortSignal: AbortSignal | undefined;
|
|
1178
|
+
/**
|
|
1179
|
+
* Settings for controlling what data is included in step results.
|
|
1180
|
+
*/
|
|
1181
|
+
readonly include: {
|
|
1182
|
+
requestBody?: boolean;
|
|
1183
|
+
responseBody?: boolean;
|
|
1184
|
+
} | undefined;
|
|
1185
|
+
/** Identifier from telemetry settings for grouping related operations. */
|
|
1186
|
+
readonly functionId: string | undefined;
|
|
1187
|
+
/** Additional metadata from telemetry settings. */
|
|
1188
|
+
readonly metadata: Record<string, unknown> | undefined;
|
|
1189
|
+
/**
|
|
1190
|
+
* User-defined context object. May be updated from `prepareStep` between steps.
|
|
1191
|
+
*/
|
|
1192
|
+
readonly experimental_context: unknown;
|
|
1193
|
+
}) => PromiseLike<void> | void;
|
|
1194
|
+
/**
|
|
1195
|
+
* Callback that is set using the `experimental_onToolCallStart` option.
|
|
1196
|
+
*
|
|
1197
|
+
* Called when a tool execution begins, before the tool's `execute` function is invoked.
|
|
1198
|
+
* Use this for logging tool invocations, tracking tool usage, or pre-execution validation.
|
|
1199
|
+
*
|
|
1200
|
+
* @param event - The event object containing tool call information.
|
|
1201
|
+
* @param event.stepNumber - Zero-based index of the current step where this tool call occurs.
|
|
1202
|
+
* @param event.model - Information about the model being used (provider and modelId).
|
|
1203
|
+
* @param event.toolCall - The full tool call object containing toolName, toolCallId, input, and metadata.
|
|
1204
|
+
* @param event.messages - The conversation messages available at tool execution time.
|
|
1205
|
+
* @param event.abortSignal - Signal for cancelling the operation.
|
|
1206
|
+
* @param event.functionId - Identifier from telemetry settings for grouping related operations.
|
|
1207
|
+
* @param event.metadata - Additional metadata from telemetry settings.
|
|
1208
|
+
* @param event.experimental_context - User-defined context object flowing through the generation.
|
|
1209
|
+
*/
|
|
1210
|
+
type GenerateTextOnToolCallStartCallback<TOOLS extends ToolSet = ToolSet> = (event: {
|
|
1211
|
+
/** Zero-based index of the current step where this tool call occurs. May be undefined in streaming contexts. */
|
|
1212
|
+
readonly stepNumber: number | undefined;
|
|
1213
|
+
/** Information about the model being used. May be undefined in streaming contexts. */
|
|
1214
|
+
readonly model: {
|
|
1215
|
+
/** The provider of the model. */
|
|
1216
|
+
readonly provider: string;
|
|
1217
|
+
/** The ID of the model. */
|
|
1218
|
+
readonly modelId: string;
|
|
1219
|
+
} | undefined;
|
|
1220
|
+
/** The full tool call object. */
|
|
1221
|
+
readonly toolCall: TypedToolCall<TOOLS>;
|
|
1222
|
+
/** The conversation messages available at tool execution time. */
|
|
1223
|
+
readonly messages: Array<ModelMessage>;
|
|
1224
|
+
/** Signal for cancelling the operation. */
|
|
1225
|
+
readonly abortSignal: AbortSignal | undefined;
|
|
1226
|
+
/** Identifier from telemetry settings for grouping related operations. */
|
|
1227
|
+
readonly functionId: string | undefined;
|
|
1228
|
+
/** Additional metadata from telemetry settings. */
|
|
1229
|
+
readonly metadata: Record<string, unknown> | undefined;
|
|
1230
|
+
/** User-defined context object flowing through the generation. */
|
|
1231
|
+
readonly experimental_context: unknown;
|
|
1232
|
+
}) => PromiseLike<void> | void;
|
|
1233
|
+
/**
|
|
1234
|
+
* Callback that is set using the `experimental_onToolCallFinish` option.
|
|
1235
|
+
*
|
|
1236
|
+
* Called when a tool execution completes, either successfully or with an error.
|
|
1237
|
+
* Use this for logging tool results, tracking execution time, or error handling.
|
|
1238
|
+
*
|
|
1239
|
+
* The event uses a discriminated union on the `success` field:
|
|
1240
|
+
* - When `success: true`: `output` contains the tool result, `error` is never present.
|
|
1241
|
+
* - When `success: false`: `error` contains the error, `output` is never present.
|
|
1242
|
+
*
|
|
1243
|
+
* @param event - The event object containing tool call result information.
|
|
1244
|
+
* @param event.stepNumber - Zero-based index of the current step where this tool call occurred.
|
|
1245
|
+
* @param event.model - Information about the model being used (provider and modelId).
|
|
1246
|
+
* @param event.toolCall - The full tool call object containing toolName, toolCallId, input, and metadata.
|
|
1247
|
+
* @param event.messages - The conversation messages available at tool execution time.
|
|
1248
|
+
* @param event.abortSignal - Signal for cancelling the operation.
|
|
1249
|
+
* @param event.durationMs - Execution time of the tool call in milliseconds.
|
|
1250
|
+
* @param event.functionId - Identifier from telemetry settings for grouping related operations.
|
|
1251
|
+
* @param event.metadata - Additional metadata from telemetry settings.
|
|
1252
|
+
* @param event.experimental_context - User-defined context object flowing through the generation.
|
|
1253
|
+
* @param event.success - Discriminator indicating whether the tool call succeeded.
|
|
1254
|
+
* @param event.output - The tool's return value (only present when `success: true`).
|
|
1255
|
+
* @param event.error - The error that occurred (only present when `success: false`).
|
|
1256
|
+
*/
|
|
1257
|
+
type GenerateTextOnToolCallFinishCallback<TOOLS extends ToolSet = ToolSet> = (event: {
|
|
1258
|
+
/** Zero-based index of the current step where this tool call occurred. May be undefined in streaming contexts. */
|
|
1259
|
+
readonly stepNumber: number | undefined;
|
|
1260
|
+
/** Information about the model being used. May be undefined in streaming contexts. */
|
|
1261
|
+
readonly model: {
|
|
1262
|
+
/** The provider of the model. */
|
|
1263
|
+
readonly provider: string;
|
|
1264
|
+
/** The ID of the model. */
|
|
1265
|
+
readonly modelId: string;
|
|
1266
|
+
} | undefined;
|
|
1267
|
+
/** The full tool call object. */
|
|
1268
|
+
readonly toolCall: TypedToolCall<TOOLS>;
|
|
1269
|
+
/** The conversation messages available at tool execution time. */
|
|
1270
|
+
readonly messages: Array<ModelMessage>;
|
|
1271
|
+
/** Signal for cancelling the operation. */
|
|
1272
|
+
readonly abortSignal: AbortSignal | undefined;
|
|
1273
|
+
/** Execution time of the tool call in milliseconds. */
|
|
1274
|
+
readonly durationMs: number;
|
|
1275
|
+
/** Identifier from telemetry settings for grouping related operations. */
|
|
1276
|
+
readonly functionId: string | undefined;
|
|
1277
|
+
/** Additional metadata from telemetry settings. */
|
|
1278
|
+
readonly metadata: Record<string, unknown> | undefined;
|
|
1279
|
+
/** User-defined context object flowing through the generation. */
|
|
1280
|
+
readonly experimental_context: unknown;
|
|
1281
|
+
} & ({
|
|
1282
|
+
/** Indicates the tool call succeeded. */
|
|
1283
|
+
readonly success: true;
|
|
1284
|
+
/** The tool's return value. */
|
|
1285
|
+
readonly output: unknown;
|
|
1286
|
+
readonly error?: never;
|
|
1287
|
+
} | {
|
|
1288
|
+
/** Indicates the tool call failed. */
|
|
1289
|
+
readonly success: false;
|
|
1290
|
+
readonly output?: never;
|
|
1291
|
+
/** The error that occurred during tool execution. */
|
|
1292
|
+
readonly error: unknown;
|
|
1293
|
+
})) => PromiseLike<void> | void;
|
|
1013
1294
|
/**
|
|
1014
1295
|
* Callback that is set using the `onStepFinish` option.
|
|
1015
1296
|
*
|
|
1297
|
+
* Called when a step (LLM call) completes. The event includes all step result
|
|
1298
|
+
* properties (text, tool calls, usage, etc.) along with additional metadata.
|
|
1299
|
+
*
|
|
1016
1300
|
* @param stepResult - The result of the step.
|
|
1017
1301
|
*/
|
|
1018
1302
|
type GenerateTextOnStepFinishCallback<TOOLS extends ToolSet> = (stepResult: StepResult<TOOLS>) => Promise<void> | void;
|
|
1019
1303
|
/**
|
|
1020
1304
|
* Callback that is set using the `onFinish` option.
|
|
1021
1305
|
*
|
|
1022
|
-
*
|
|
1306
|
+
* Called when the entire generation completes (all steps finished).
|
|
1307
|
+
* The event includes the final step's result properties along with
|
|
1308
|
+
* aggregated data from all steps.
|
|
1309
|
+
*
|
|
1310
|
+
* @param event - The final result along with aggregated step data.
|
|
1311
|
+
*
|
|
1312
|
+
* Inherited from StepResult (reflects the final step):
|
|
1313
|
+
* @param event.content - Array of content parts from the final step.
|
|
1314
|
+
* @param event.text - The generated text from the final step.
|
|
1315
|
+
* @param event.reasoning - Array of reasoning parts from the final step.
|
|
1316
|
+
* @param event.reasoningText - Combined reasoning text from the final step.
|
|
1317
|
+
* @param event.files - Array of generated files from the final step.
|
|
1318
|
+
* @param event.sources - Array of sources from the final step.
|
|
1319
|
+
* @param event.toolCalls - Array of tool calls from the final step.
|
|
1320
|
+
* @param event.toolResults - Array of tool results from the final step.
|
|
1321
|
+
* @param event.finishReason - Finish reason from the final step.
|
|
1322
|
+
* @param event.usage - Token usage from the final step only.
|
|
1323
|
+
* @param event.warnings - Warnings from the final step.
|
|
1324
|
+
* @param event.request - Request metadata from the final step.
|
|
1325
|
+
* @param event.response - Response metadata from the final step.
|
|
1326
|
+
* @param event.providerMetadata - Provider metadata from the final step.
|
|
1327
|
+
*
|
|
1328
|
+
* Additional properties:
|
|
1329
|
+
* @param event.steps - Array containing results from all steps in the generation.
|
|
1330
|
+
* @param event.totalUsage - Aggregated token usage across all steps.
|
|
1331
|
+
* @param event.experimental_context - The final state of the user-defined context object.
|
|
1332
|
+
* @param event.functionId - Identifier from telemetry settings for grouping related operations.
|
|
1333
|
+
* @param event.metadata - Additional metadata from telemetry settings.
|
|
1023
1334
|
*/
|
|
1024
1335
|
type GenerateTextOnFinishCallback<TOOLS extends ToolSet> = (event: StepResult<TOOLS> & {
|
|
1025
1336
|
/**
|
|
1026
|
-
*
|
|
1337
|
+
* Array containing results from all steps in the generation.
|
|
1027
1338
|
*/
|
|
1028
1339
|
readonly steps: StepResult<TOOLS>[];
|
|
1029
1340
|
/**
|
|
1030
|
-
*
|
|
1341
|
+
* Aggregated token usage across all steps.
|
|
1342
|
+
* This is the sum of the usage from each individual step.
|
|
1031
1343
|
*/
|
|
1032
1344
|
readonly totalUsage: LanguageModelUsage;
|
|
1033
1345
|
/**
|
|
1034
|
-
*
|
|
1346
|
+
* The final state of the user-defined context object.
|
|
1347
|
+
* This reflects any modifications made during the generation lifecycle
|
|
1348
|
+
* via `prepareStep` or tool execution.
|
|
1035
1349
|
*
|
|
1036
1350
|
* Experimental (can break in patch releases).
|
|
1037
1351
|
*
|
|
1038
1352
|
* @default undefined
|
|
1039
1353
|
*/
|
|
1040
1354
|
experimental_context: unknown;
|
|
1355
|
+
/** Identifier from telemetry settings for grouping related operations. */
|
|
1356
|
+
readonly functionId: string | undefined;
|
|
1357
|
+
/** Additional metadata from telemetry settings. */
|
|
1358
|
+
readonly metadata: Record<string, unknown> | undefined;
|
|
1041
1359
|
}) => PromiseLike<void> | void;
|
|
1042
1360
|
/**
|
|
1043
1361
|
* Generate a text and call tools for a given prompt using a language model.
|
|
@@ -1079,13 +1397,21 @@ type GenerateTextOnFinishCallback<TOOLS extends ToolSet> = (event: StepResult<TO
|
|
|
1079
1397
|
* @param timeout - An optional timeout in milliseconds. The call will be aborted if it takes longer than the specified timeout.
|
|
1080
1398
|
* @param headers - Additional HTTP headers to be sent with the request. Only applicable for HTTP-based providers.
|
|
1081
1399
|
*
|
|
1400
|
+
* @param experimental_context - User-defined context object that flows through the entire generation lifecycle.
|
|
1401
|
+
* @param experimental_onStart - Callback invoked when generation begins, before any LLM calls.
|
|
1402
|
+
* @param experimental_onStepStart - Callback invoked when each step begins, before the provider is called.
|
|
1403
|
+
* Receives step number, messages (in ModelMessage format), tools, and context.
|
|
1404
|
+
* @param experimental_onToolCallStart - Callback invoked before each tool execution begins.
|
|
1405
|
+
* Receives tool name, call ID, input, and context.
|
|
1406
|
+
* @param experimental_onToolCallFinish - Callback invoked after each tool execution completes.
|
|
1407
|
+
* Uses a discriminated union: check `success` to determine if `output` or `error` is present.
|
|
1082
1408
|
* @param onStepFinish - Callback that is called when each step (LLM call) is finished, including intermediate steps.
|
|
1083
1409
|
* @param onFinish - Callback that is called when all steps are finished and the response is complete.
|
|
1084
1410
|
*
|
|
1085
1411
|
* @returns
|
|
1086
1412
|
* A result object that contains the generated text, the results of the tool calls, and additional information.
|
|
1087
1413
|
*/
|
|
1088
|
-
declare function generateText<TOOLS extends ToolSet, OUTPUT extends Output = Output<string, string>>({ model: modelArg, tools, toolChoice, system, prompt, messages, maxRetries: maxRetriesArg, abortSignal, timeout, headers, stopWhen, experimental_output, output, experimental_telemetry: telemetry, providerOptions, experimental_activeTools, activeTools, experimental_prepareStep, prepareStep, experimental_repairToolCall: repairToolCall, experimental_download: download, experimental_context, experimental_include: include, _internal: { generateId }, onStepFinish, onFinish, ...settings }: CallSettings & Prompt & {
|
|
1414
|
+
declare function generateText<TOOLS extends ToolSet, OUTPUT extends Output = Output<string, string>>({ model: modelArg, tools, toolChoice, system, prompt, messages, maxRetries: maxRetriesArg, abortSignal, timeout, headers, stopWhen, experimental_output, output, experimental_telemetry: telemetry, providerOptions, experimental_activeTools, activeTools, experimental_prepareStep, prepareStep, experimental_repairToolCall: repairToolCall, experimental_download: download, experimental_context, experimental_include: include, _internal: { generateId }, experimental_onStart: onStart, experimental_onStepStart: onStepStart, experimental_onToolCallStart: onToolCallStart, experimental_onToolCallFinish: onToolCallFinish, onStepFinish, onFinish, ...settings }: CallSettings & Prompt & {
|
|
1089
1415
|
/**
|
|
1090
1416
|
* The language model to use.
|
|
1091
1417
|
*/
|
|
@@ -1152,6 +1478,24 @@ declare function generateText<TOOLS extends ToolSet, OUTPUT extends Output = Out
|
|
|
1152
1478
|
* A function that attempts to repair a tool call that failed to parse.
|
|
1153
1479
|
*/
|
|
1154
1480
|
experimental_repairToolCall?: ToolCallRepairFunction<NoInfer<TOOLS>>;
|
|
1481
|
+
/**
|
|
1482
|
+
* Callback that is called when the generateText operation begins,
|
|
1483
|
+
* before any LLM calls are made.
|
|
1484
|
+
*/
|
|
1485
|
+
experimental_onStart?: GenerateTextOnStartCallback<NoInfer<TOOLS>, OUTPUT>;
|
|
1486
|
+
/**
|
|
1487
|
+
* Callback that is called when a step (LLM call) begins,
|
|
1488
|
+
* before the provider is called.
|
|
1489
|
+
*/
|
|
1490
|
+
experimental_onStepStart?: GenerateTextOnStepStartCallback<NoInfer<TOOLS>, OUTPUT>;
|
|
1491
|
+
/**
|
|
1492
|
+
* Callback that is called right before a tool's execute function runs.
|
|
1493
|
+
*/
|
|
1494
|
+
experimental_onToolCallStart?: GenerateTextOnToolCallStartCallback<NoInfer<TOOLS>>;
|
|
1495
|
+
/**
|
|
1496
|
+
* Callback that is called right after a tool's execute function completes (or errors).
|
|
1497
|
+
*/
|
|
1498
|
+
experimental_onToolCallFinish?: GenerateTextOnToolCallFinishCallback<NoInfer<TOOLS>>;
|
|
1155
1499
|
/**
|
|
1156
1500
|
* Callback that is called when each step (LLM call) is finished, including intermediate steps.
|
|
1157
1501
|
*/
|
|
@@ -6010,4 +6354,4 @@ declare global {
|
|
|
6010
6354
|
var AI_SDK_LOG_WARNINGS: LogWarningsFunction | undefined | false;
|
|
6011
6355
|
}
|
|
6012
6356
|
|
|
6013
|
-
export { AbstractChat, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStepFinishCallback, GenerateTextResult, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToolApprovalRequestOutput, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_generateImage, generateSpeech as experimental_generateSpeech, experimental_generateVideo, transcribe as experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateText, getStaticToolName, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isReasoningUIPart, isStaticToolUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|
|
6357
|
+
export { AbstractChat, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextOnToolCallFinishCallback, GenerateTextOnToolCallStartCallback, GenerateTextResult, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToolApprovalRequestOutput, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_generateImage, generateSpeech as experimental_generateSpeech, experimental_generateVideo, transcribe as experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateText, getStaticToolName, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isReasoningUIPart, isStaticToolUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|