ai 7.0.42 → 7.0.43
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.ts +23 -4
- package/dist/index.js +140 -8
- package/dist/index.js.map +1 -1
- package/dist/internal/index.js +1 -1
- package/docs/03-ai-sdk-core/18-code-mode.mdx +246 -0
- package/docs/03-ai-sdk-core/index.mdx +6 -0
- package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +7 -0
- package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +7 -0
- package/package.json +4 -4
- package/src/generate-text/generate-text.ts +32 -7
- package/src/generate-text/index.ts +4 -0
- package/src/generate-text/tool-caller-configuration.ts +186 -0
- package/src/index.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 7.0.43
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b192878: feat: add experimental_toolCaller routing to generateText for code mode
|
|
8
|
+
- Updated dependencies [d8210b6]
|
|
9
|
+
- Updated dependencies [af3f400]
|
|
10
|
+
- Updated dependencies [b192878]
|
|
11
|
+
- @ai-sdk/provider-utils@5.0.16
|
|
12
|
+
- @ai-sdk/gateway@4.0.33
|
|
13
|
+
|
|
3
14
|
## 7.0.42
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, I
|
|
|
3
3
|
import { GatewayModelId } from '@ai-sdk/gateway';
|
|
4
4
|
export { GatewayModelId, createGateway, gateway } from '@ai-sdk/gateway';
|
|
5
5
|
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
6
|
-
import { ModelMessage, AssistantModelMessage, ToolModelMessage, ProviderOptions, ToolSet, SystemModelMessage, UserModelMessage, DataContent, FlexibleSchema, InferSchema, Context, Arrayable, InferToolSetContext, InferToolInput, InferToolOutput, ReasoningPart, ReasoningFilePart, Experimental_SandboxSession, Tool, ToolCall, IdGenerator, ToolExecutionOptions, MaybePromiseLike, InferToolContext, HasRequiredKey, TextPart, FilePart, Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
|
|
7
|
-
export { AssistantContent, AssistantModelMessage, DataContent, DownloadError, Experimental_SandboxProcess, Experimental_SandboxSession, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallPart, ToolContent, ToolExecuteFunction, ToolExecutionOptions, ToolModelMessage, ToolResultPart, ToolSet, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
|
|
6
|
+
import { ModelMessage, AssistantModelMessage, ToolModelMessage, ProviderOptions, ToolSet, SystemModelMessage, UserModelMessage, DataContent, FlexibleSchema, InferSchema, Context, Arrayable, InferToolSetContext, InferToolInput, InferToolOutput, ReasoningPart, ReasoningFilePart, Experimental_SandboxSession, Tool, ToolCall, IdGenerator, ToolExecutionOptions, MaybePromiseLike, InferToolContext, HasRequiredKey, Experimental_ToolCallerTool, TextPart, FilePart, Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
|
|
7
|
+
export { AssistantContent, AssistantModelMessage, DataContent, DownloadError, Experimental_SandboxProcess, Experimental_SandboxSession, Experimental_ToolCallerTool, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallPart, ToolContent, ToolExecuteFunction, ToolExecutionOptions, ToolModelMessage, ToolResultPart, ToolSet, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, experimental_toolCaller, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
|
|
8
8
|
import { ServerResponse } from 'node:http';
|
|
9
9
|
import { ServerResponse as ServerResponse$1 } from 'http';
|
|
10
10
|
import { z } from 'zod/v4';
|
|
@@ -4610,6 +4610,21 @@ interface Agent<CALL_OPTIONS = never, TOOLS extends ToolSet = {}, RUNTIME_CONTEX
|
|
|
4610
4610
|
stream(options: AgentStreamParameters<CALL_OPTIONS, TOOLS, RUNTIME_CONTEXT>): PromiseLike<StreamTextResult<TOOLS, RUNTIME_CONTEXT, OUTPUT>>;
|
|
4611
4611
|
}
|
|
4612
4612
|
|
|
4613
|
+
interface Experimental_ToolCallerReference<NAME extends string = string> {
|
|
4614
|
+
readonly toolName: NAME;
|
|
4615
|
+
}
|
|
4616
|
+
type ToolCallerName<TOOLS extends ToolSet> = {
|
|
4617
|
+
[NAME in keyof TOOLS]: TOOLS[NAME] extends Experimental_ToolCallerTool ? NAME : never;
|
|
4618
|
+
}[keyof TOOLS] & string;
|
|
4619
|
+
type ToolCallerReferenceUnion<TOOLS extends ToolSet> = {
|
|
4620
|
+
[NAME in ToolCallerName<TOOLS>]: Experimental_ToolCallerReference<NAME>;
|
|
4621
|
+
}[ToolCallerName<TOOLS>];
|
|
4622
|
+
type Experimental_ToolCallers<TOOLS extends ToolSet> = (callers: {
|
|
4623
|
+
[NAME in ToolCallerName<TOOLS>]: Experimental_ToolCallerReference<NAME>;
|
|
4624
|
+
}) => {
|
|
4625
|
+
[NAME in keyof TOOLS]?: ReadonlyArray<'direct' | ToolCallerReferenceUnion<TOOLS>>;
|
|
4626
|
+
};
|
|
4627
|
+
|
|
4613
4628
|
type GenerateTextInclude = {
|
|
4614
4629
|
/**
|
|
4615
4630
|
* Whether to retain the request body in step results.
|
|
@@ -4699,7 +4714,7 @@ type GenerateTextInclude = {
|
|
|
4699
4714
|
* @returns
|
|
4700
4715
|
* A result object that contains the generated text, the results of the tool calls, and additional information.
|
|
4701
4716
|
*/
|
|
4702
|
-
declare function generateText<TOOLS extends ToolSet, RUNTIME_CONTEXT extends Context = Context, OUTPUT extends Output = Output<string, string>>({ model: modelArg, tools, toolChoice, instructions, system, prompt, messages, allowSystemInMessages, maxRetries: maxRetriesArg, abortSignal, timeout, headers, stopWhen, experimental_sandbox: sandbox, output, toolApproval, experimental_toolApprovalSecret, experimental_telemetry, telemetry, providerOptions, activeTools, toolOrder, prepareStep, experimental_repairToolCall, repairToolCall, experimental_refineToolInput: refineToolInput, experimental_download: download, runtimeContext, toolsContext, experimental_include, include, _internal: { generateId, generateCallId, now, }, onStart, experimental_onStart, onStepStart, experimental_onStepStart, onLanguageModelCallStart, experimental_onLanguageModelCallStart, onLanguageModelCallEnd, experimental_onLanguageModelCallEnd, onToolExecutionStart, onToolExecutionEnd, experimental_onToolCallStart, experimental_onToolCallFinish, onStepEnd, onStepFinish, onFinish, onEnd, ...settings }: LanguageModelCallOptions & RequestOptions<TOOLS> & Prompt & ToolsContextParameter<TOOLS> & {
|
|
4717
|
+
declare function generateText<TOOLS extends ToolSet, RUNTIME_CONTEXT extends Context = Context, OUTPUT extends Output = Output<string, string>>({ model: modelArg, tools, toolChoice, instructions, system, prompt, messages, allowSystemInMessages, maxRetries: maxRetriesArg, abortSignal, timeout, headers, stopWhen, experimental_sandbox: sandbox, output, toolApproval, experimental_toolCallers, experimental_toolApprovalSecret, experimental_telemetry, telemetry, providerOptions, activeTools, toolOrder, prepareStep, experimental_repairToolCall, repairToolCall, experimental_refineToolInput: refineToolInput, experimental_download: download, runtimeContext, toolsContext, experimental_include, include, _internal: { generateId, generateCallId, now, }, onStart, experimental_onStart, onStepStart, experimental_onStepStart, onLanguageModelCallStart, experimental_onLanguageModelCallStart, onLanguageModelCallEnd, experimental_onLanguageModelCallEnd, onToolExecutionStart, onToolExecutionEnd, experimental_onToolCallStart, experimental_onToolCallFinish, onStepEnd, onStepFinish, onFinish, onEnd, ...settings }: LanguageModelCallOptions & RequestOptions<TOOLS> & Prompt & ToolsContextParameter<TOOLS> & {
|
|
4703
4718
|
/**
|
|
4704
4719
|
* The language model to use.
|
|
4705
4720
|
*/
|
|
@@ -4763,6 +4778,10 @@ declare function generateText<TOOLS extends ToolSet, RUNTIME_CONTEXT extends Con
|
|
|
4763
4778
|
* This configuration takes precedence over tool-defined approval settings.
|
|
4764
4779
|
*/
|
|
4765
4780
|
toolApproval?: ToolApprovalConfiguration<TOOLS, RUNTIME_CONTEXT>;
|
|
4781
|
+
/**
|
|
4782
|
+
* Configures which caller tools may invoke each tool.
|
|
4783
|
+
*/
|
|
4784
|
+
experimental_toolCallers?: Experimental_ToolCallers<NoInfer<TOOLS>>;
|
|
4766
4785
|
/**
|
|
4767
4786
|
* Secret for HMAC-signing tool approval requests. When set, the server
|
|
4768
4787
|
* signs each approval request at issuance and verifies the signature when
|
|
@@ -9096,4 +9115,4 @@ declare function uploadSkill({ api, files, displayTitle, providerOptions, }: {
|
|
|
9096
9115
|
files: UploadSkillFile[];
|
|
9097
9116
|
}): Promise<UploadSkillResult>;
|
|
9098
9117
|
|
|
9099
|
-
export { AI_SDK_TELEMETRY_TRACING_CHANNEL, AbstractChat, ActiveTools, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, CustomContentUIPart, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedEndEvent, EmbedManyResult, EmbedResult, EmbedStartEvent, Embedding, EmbeddingModel, EmbeddingModelCallEndEvent, EmbeddingModelCallStartEvent, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, AbstractRealtimeSession as Experimental_AbstractRealtimeSession, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LanguageModelStreamPart as Experimental_LanguageModelStreamPart, LogWarningsFunction as Experimental_LogWarningsFunction, RealtimeClientEvent as Experimental_RealtimeClientEvent, RealtimeFactory as Experimental_RealtimeFactory, RealtimeFactoryGetTokenOptions as Experimental_RealtimeFactoryGetTokenOptions, RealtimeFactoryGetTokenResult as Experimental_RealtimeFactoryGetTokenResult, RealtimeModel as Experimental_RealtimeModel, RealtimeServerEvent as Experimental_RealtimeServerEvent, RealtimeSessionConfig as Experimental_RealtimeSessionConfig, RealtimeSessionOptions as Experimental_RealtimeSessionOptions, RealtimeSetupResponse as Experimental_RealtimeSetupResponse, RealtimeState as Experimental_RealtimeState, RealtimeStatus as Experimental_RealtimeStatus, RealtimeToolDefinition as Experimental_RealtimeToolDefinition, Experimental_SpeechResult, StreamTranslationResult as Experimental_StreamTranslationResult, Experimental_TranscriptionResult, TranslationStreamPart as Experimental_TranslationStreamPart, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectEndEvent, GenerateObjectResult, GenerateObjectStartEvent, GenerateObjectStepEndEvent, GenerateObjectStepStartEvent, GenerateTextAbortEvent, GenerateTextEndEvent, GenerateTextInclude, GenerateTextOnAbortCallback, GenerateTextOnEndCallback, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepEndCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextResult, GenerateTextStartEvent, GenerateTextStepEndEvent, GenerateTextStepStartEvent, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, GenericToolApprovalFunction, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferTelemetryEvent, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, Instructions, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelCallEndEvent, LanguageModelCallOptions, LanguageModelCallStartEvent, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, ModelInfo, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoTranslationGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnLanguageModelCallEndCallback, OnLanguageModelCallStartCallback, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, OnToolExecutionEndCallback, OnToolExecutionStartCallback, output as Output, OutputChunkTimingStats, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderReference, ProviderRegistryProvider, ReasoningFileOutput, ReasoningFileUIPart, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RequestOptions, RerankEndEvent, RerankResult, RerankStartEvent, RerankingModel, RerankingModelCallEndEvent, RerankingModelCallStartEvent, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SingleToolApprovalFunction, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechResult, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepResultPerformance, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextInclude, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextResult, StreamTextTransform, StreamTranscriptionResult, Telemetry, TelemetryOptions, TelemetryTracingChannelMessage, TelemetryTracingEventType, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToUIMessageChunkOptions, ToolApprovalConfiguration, ToolApprovalRequestOutput, ToolApprovalResponseOutput, ToolApprovalStatus, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolInputRefinement, ToolLoopAgent, ToolLoopAgentSettings, ToolOrder, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionResult, TranscriptionStreamPart, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnEndCallback, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepEndCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UploadFileResult, UploadSkillResult, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, callCompletionApi, consumeStream, convertDataContentToBase64String, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, detectToolDrift, embed, embedMany, experimental_createProviderRegistry, decodeRealtimeAudio as experimental_decodeRealtimeAudio, encodeRealtimeAudio as experimental_encodeRealtimeAudio, filterActiveTools as experimental_filterActiveTools, experimental_generateSpeech, experimental_generateVideo, getRealtimeToolDefinitions as experimental_getRealtimeToolDefinitions, resampleAudio as experimental_resampleAudio, streamLanguageModelCall as experimental_streamLanguageModelCall, streamTranscribe as experimental_streamTranscribe, streamTranslate as experimental_streamTranslate, experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, fingerprintTools, generateImage, generateObject, generateSpeech, generateText, getChunkTimeoutMs, getFirstChunkTimeoutMs, getStaticToolName, getStepTimeoutMs, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, getToolTimeoutMs, getTotalTimeoutMs, hasToolCall, isCustomContentUIPart, isDataUIPart, isDeepEqualData, isDynamicToolUIPart, isFileUIPart, isLoopFinished, isReasoningFileUIPart, isReasoningUIPart, isStaticToolUIPart, isStepCount, isTextUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetry, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, isStepCount as stepCountIs, streamObject, streamText, systemModelMessageSchema, toTextStream, toUIMessageChunk, toUIMessageStream, toolModelMessageSchema, transcribe, uiMessageChunkSchema, uploadFile, uploadSkill, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|
|
9118
|
+
export { AI_SDK_TELEMETRY_TRACING_CHANNEL, AbstractChat, ActiveTools, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, CustomContentUIPart, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedEndEvent, EmbedManyResult, EmbedResult, EmbedStartEvent, Embedding, EmbeddingModel, EmbeddingModelCallEndEvent, EmbeddingModelCallStartEvent, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, AbstractRealtimeSession as Experimental_AbstractRealtimeSession, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LanguageModelStreamPart as Experimental_LanguageModelStreamPart, LogWarningsFunction as Experimental_LogWarningsFunction, RealtimeClientEvent as Experimental_RealtimeClientEvent, RealtimeFactory as Experimental_RealtimeFactory, RealtimeFactoryGetTokenOptions as Experimental_RealtimeFactoryGetTokenOptions, RealtimeFactoryGetTokenResult as Experimental_RealtimeFactoryGetTokenResult, RealtimeModel as Experimental_RealtimeModel, RealtimeServerEvent as Experimental_RealtimeServerEvent, RealtimeSessionConfig as Experimental_RealtimeSessionConfig, RealtimeSessionOptions as Experimental_RealtimeSessionOptions, RealtimeSetupResponse as Experimental_RealtimeSetupResponse, RealtimeState as Experimental_RealtimeState, RealtimeStatus as Experimental_RealtimeStatus, RealtimeToolDefinition as Experimental_RealtimeToolDefinition, Experimental_SpeechResult, StreamTranslationResult as Experimental_StreamTranslationResult, Experimental_ToolCallerReference, Experimental_ToolCallers, Experimental_TranscriptionResult, TranslationStreamPart as Experimental_TranslationStreamPart, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectEndEvent, GenerateObjectResult, GenerateObjectStartEvent, GenerateObjectStepEndEvent, GenerateObjectStepStartEvent, GenerateTextAbortEvent, GenerateTextEndEvent, GenerateTextInclude, GenerateTextOnAbortCallback, GenerateTextOnEndCallback, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepEndCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextResult, GenerateTextStartEvent, GenerateTextStepEndEvent, GenerateTextStepStartEvent, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, GenericToolApprovalFunction, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferTelemetryEvent, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, Instructions, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelCallEndEvent, LanguageModelCallOptions, LanguageModelCallStartEvent, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, ModelInfo, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoTranslationGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnLanguageModelCallEndCallback, OnLanguageModelCallStartCallback, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, OnToolExecutionEndCallback, OnToolExecutionStartCallback, output as Output, OutputChunkTimingStats, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderReference, ProviderRegistryProvider, ReasoningFileOutput, ReasoningFileUIPart, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RequestOptions, RerankEndEvent, RerankResult, RerankStartEvent, RerankingModel, RerankingModelCallEndEvent, RerankingModelCallStartEvent, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SingleToolApprovalFunction, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechResult, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepResultPerformance, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextInclude, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextResult, StreamTextTransform, StreamTranscriptionResult, Telemetry, TelemetryOptions, TelemetryTracingChannelMessage, TelemetryTracingEventType, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToUIMessageChunkOptions, ToolApprovalConfiguration, ToolApprovalRequestOutput, ToolApprovalResponseOutput, ToolApprovalStatus, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolInputRefinement, ToolLoopAgent, ToolLoopAgentSettings, ToolOrder, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionResult, TranscriptionStreamPart, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnEndCallback, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepEndCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UploadFileResult, UploadSkillResult, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, callCompletionApi, consumeStream, convertDataContentToBase64String, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, detectToolDrift, embed, embedMany, experimental_createProviderRegistry, decodeRealtimeAudio as experimental_decodeRealtimeAudio, encodeRealtimeAudio as experimental_encodeRealtimeAudio, filterActiveTools as experimental_filterActiveTools, experimental_generateSpeech, experimental_generateVideo, getRealtimeToolDefinitions as experimental_getRealtimeToolDefinitions, resampleAudio as experimental_resampleAudio, streamLanguageModelCall as experimental_streamLanguageModelCall, streamTranscribe as experimental_streamTranscribe, streamTranslate as experimental_streamTranslate, experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, fingerprintTools, generateImage, generateObject, generateSpeech, generateText, getChunkTimeoutMs, getFirstChunkTimeoutMs, getStaticToolName, getStepTimeoutMs, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, getToolTimeoutMs, getTotalTimeoutMs, hasToolCall, isCustomContentUIPart, isDataUIPart, isDeepEqualData, isDynamicToolUIPart, isFileUIPart, isLoopFinished, isReasoningFileUIPart, isReasoningUIPart, isStaticToolUIPart, isStepCount, isTextUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetry, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, isStepCount as stepCountIs, streamObject, streamText, systemModelMessageSchema, toTextStream, toUIMessageChunk, toUIMessageStream, toolModelMessageSchema, transcribe, uiMessageChunkSchema, uploadFile, uploadSkill, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
asSchema as asSchema8,
|
|
11
11
|
createIdGenerator as createIdGenerator9,
|
|
12
12
|
dynamicTool,
|
|
13
|
+
experimental_toolCaller,
|
|
13
14
|
generateId,
|
|
14
15
|
jsonSchema,
|
|
15
16
|
parseJsonEventStream as parseJsonEventStream3,
|
|
@@ -1142,7 +1143,7 @@ import {
|
|
|
1142
1143
|
} from "@ai-sdk/provider-utils";
|
|
1143
1144
|
|
|
1144
1145
|
// src/version.ts
|
|
1145
|
-
var VERSION = true ? "7.0.
|
|
1146
|
+
var VERSION = true ? "7.0.43" : "0.0.0-test";
|
|
1146
1147
|
|
|
1147
1148
|
// src/util/download/download.ts
|
|
1148
1149
|
var download = async ({
|
|
@@ -4876,6 +4877,124 @@ function sortToolResultContentByToolCallOrder({
|
|
|
4876
4877
|
);
|
|
4877
4878
|
}
|
|
4878
4879
|
|
|
4880
|
+
// src/generate-text/tool-caller-configuration.ts
|
|
4881
|
+
import {
|
|
4882
|
+
experimental_getToolCaller
|
|
4883
|
+
} from "@ai-sdk/provider-utils";
|
|
4884
|
+
function resolveToolCallerConfiguration({
|
|
4885
|
+
tools,
|
|
4886
|
+
toolCallers
|
|
4887
|
+
}) {
|
|
4888
|
+
if (tools == null || toolCallers == null) {
|
|
4889
|
+
return void 0;
|
|
4890
|
+
}
|
|
4891
|
+
const namesByReference = /* @__PURE__ */ new WeakMap();
|
|
4892
|
+
const callerReferences = {};
|
|
4893
|
+
for (const [toolName, tool2] of Object.entries(tools)) {
|
|
4894
|
+
if (experimental_getToolCaller(tool2) == null) {
|
|
4895
|
+
continue;
|
|
4896
|
+
}
|
|
4897
|
+
const reference = Object.freeze({ toolName });
|
|
4898
|
+
namesByReference.set(reference, toolName);
|
|
4899
|
+
callerReferences[toolName] = reference;
|
|
4900
|
+
}
|
|
4901
|
+
const configuration = toolCallers(callerReferences);
|
|
4902
|
+
const resolved = {};
|
|
4903
|
+
for (const [toolName, callers] of Object.entries(configuration)) {
|
|
4904
|
+
if (!Object.prototype.hasOwnProperty.call(tools, toolName)) {
|
|
4905
|
+
throw new InvalidArgumentError({
|
|
4906
|
+
parameter: "experimental_toolCallers",
|
|
4907
|
+
value: configuration,
|
|
4908
|
+
message: `unknown tool "${toolName}".`
|
|
4909
|
+
});
|
|
4910
|
+
}
|
|
4911
|
+
if (!Array.isArray(callers)) {
|
|
4912
|
+
throw new InvalidArgumentError({
|
|
4913
|
+
parameter: "experimental_toolCallers",
|
|
4914
|
+
value: configuration,
|
|
4915
|
+
message: `callers for tool "${toolName}" must be an array.`
|
|
4916
|
+
});
|
|
4917
|
+
}
|
|
4918
|
+
resolved[toolName] = callers.map((caller) => {
|
|
4919
|
+
if (caller === "direct") {
|
|
4920
|
+
return caller;
|
|
4921
|
+
}
|
|
4922
|
+
const callerName = caller != null && typeof caller === "object" ? namesByReference.get(caller) : void 0;
|
|
4923
|
+
if (callerName == null) {
|
|
4924
|
+
throw new InvalidArgumentError({
|
|
4925
|
+
parameter: "experimental_toolCallers",
|
|
4926
|
+
value: configuration,
|
|
4927
|
+
message: `tool "${toolName}" contains an invalid caller reference.`
|
|
4928
|
+
});
|
|
4929
|
+
}
|
|
4930
|
+
return callerName;
|
|
4931
|
+
});
|
|
4932
|
+
}
|
|
4933
|
+
return resolved;
|
|
4934
|
+
}
|
|
4935
|
+
function prepareToolsForToolCallers({
|
|
4936
|
+
tools,
|
|
4937
|
+
toolCallers
|
|
4938
|
+
}) {
|
|
4939
|
+
var _a23, _b;
|
|
4940
|
+
if (tools == null || toolCallers == null) {
|
|
4941
|
+
return { executionTools: tools, modelTools: tools };
|
|
4942
|
+
}
|
|
4943
|
+
const executionTools = { ...tools };
|
|
4944
|
+
const modelTools = { ...tools };
|
|
4945
|
+
const localToolsByCaller = /* @__PURE__ */ new Map();
|
|
4946
|
+
for (const [toolName, callerNames] of Object.entries(toolCallers)) {
|
|
4947
|
+
const tool2 = executionTools[toolName];
|
|
4948
|
+
if (tool2 == null) {
|
|
4949
|
+
continue;
|
|
4950
|
+
}
|
|
4951
|
+
let availableDirectly = false;
|
|
4952
|
+
let availableToProvider = false;
|
|
4953
|
+
let preparedTool = tool2;
|
|
4954
|
+
for (const callerName of callerNames) {
|
|
4955
|
+
if (callerName === "direct") {
|
|
4956
|
+
availableDirectly = true;
|
|
4957
|
+
continue;
|
|
4958
|
+
}
|
|
4959
|
+
const caller = experimental_getToolCaller(executionTools[callerName]);
|
|
4960
|
+
if (caller == null) {
|
|
4961
|
+
continue;
|
|
4962
|
+
}
|
|
4963
|
+
if (caller.type === "provider") {
|
|
4964
|
+
availableToProvider = true;
|
|
4965
|
+
preparedTool = {
|
|
4966
|
+
...preparedTool,
|
|
4967
|
+
providerOptions: caller.prepareProviderOptions(
|
|
4968
|
+
preparedTool.providerOptions
|
|
4969
|
+
)
|
|
4970
|
+
};
|
|
4971
|
+
} else {
|
|
4972
|
+
const localTools = (_a23 = localToolsByCaller.get(callerName)) != null ? _a23 : {};
|
|
4973
|
+
localTools[toolName] = preparedTool;
|
|
4974
|
+
localToolsByCaller.set(callerName, localTools);
|
|
4975
|
+
}
|
|
4976
|
+
}
|
|
4977
|
+
executionTools[toolName] = preparedTool;
|
|
4978
|
+
if (availableDirectly || availableToProvider) {
|
|
4979
|
+
modelTools[toolName] = preparedTool;
|
|
4980
|
+
} else {
|
|
4981
|
+
delete modelTools[toolName];
|
|
4982
|
+
}
|
|
4983
|
+
}
|
|
4984
|
+
for (const [callerName, callerTool] of Object.entries(executionTools)) {
|
|
4985
|
+
const caller = experimental_getToolCaller(callerTool);
|
|
4986
|
+
if ((caller == null ? void 0 : caller.type) !== "local") {
|
|
4987
|
+
continue;
|
|
4988
|
+
}
|
|
4989
|
+
const boundCaller = caller.bind((_b = localToolsByCaller.get(callerName)) != null ? _b : {});
|
|
4990
|
+
executionTools[callerName] = boundCaller;
|
|
4991
|
+
if (Object.prototype.hasOwnProperty.call(modelTools, callerName)) {
|
|
4992
|
+
modelTools[callerName] = boundCaller;
|
|
4993
|
+
}
|
|
4994
|
+
}
|
|
4995
|
+
return { executionTools, modelTools };
|
|
4996
|
+
}
|
|
4997
|
+
|
|
4879
4998
|
// src/generate-text/tool-approval-signature.ts
|
|
4880
4999
|
import { convertBase64ToUint8Array as convertBase64ToUint8Array2 } from "@ai-sdk/provider-utils";
|
|
4881
5000
|
|
|
@@ -5102,6 +5221,7 @@ async function generateText({
|
|
|
5102
5221
|
experimental_sandbox: sandbox,
|
|
5103
5222
|
output,
|
|
5104
5223
|
toolApproval,
|
|
5224
|
+
experimental_toolCallers,
|
|
5105
5225
|
experimental_toolApprovalSecret,
|
|
5106
5226
|
experimental_telemetry,
|
|
5107
5227
|
telemetry = experimental_telemetry,
|
|
@@ -5147,6 +5267,10 @@ async function generateText({
|
|
|
5147
5267
|
responseBody: (_c = include == null ? void 0 : include.responseBody) != null ? _c : false
|
|
5148
5268
|
};
|
|
5149
5269
|
const model = resolveLanguageModel(modelArg);
|
|
5270
|
+
const resolvedToolCallers = resolveToolCallerConfiguration({
|
|
5271
|
+
tools,
|
|
5272
|
+
toolCallers: experimental_toolCallers
|
|
5273
|
+
});
|
|
5150
5274
|
const stopConditions = asArray5(stopWhen);
|
|
5151
5275
|
const resolvedOnStart = onStart != null ? onStart : experimental_onStart;
|
|
5152
5276
|
const resolvedOnStepStart = onStepStart != null ? onStepStart : experimental_onStepStart;
|
|
@@ -5385,9 +5509,16 @@ async function generateText({
|
|
|
5385
5509
|
tools,
|
|
5386
5510
|
activeTools: (_h = prepareStepResult == null ? void 0 : prepareStepResult.activeTools) != null ? _h : activeTools
|
|
5387
5511
|
});
|
|
5512
|
+
const {
|
|
5513
|
+
executionTools: stepExecutionTools,
|
|
5514
|
+
modelTools: stepModelTools
|
|
5515
|
+
} = prepareToolsForToolCallers({
|
|
5516
|
+
tools: stepActiveTools,
|
|
5517
|
+
toolCallers: resolvedToolCallers
|
|
5518
|
+
});
|
|
5388
5519
|
const stepToolOrder = (_i = prepareStepResult == null ? void 0 : prepareStepResult.toolOrder) != null ? _i : toolOrder;
|
|
5389
5520
|
const stepTools = await prepareTools({
|
|
5390
|
-
tools:
|
|
5521
|
+
tools: stepModelTools,
|
|
5391
5522
|
toolOrder: stepToolOrder,
|
|
5392
5523
|
// active tools context is a subset of the tools context, so we can cast to the unknown type
|
|
5393
5524
|
toolsContext,
|
|
@@ -5488,7 +5619,7 @@ async function generateText({
|
|
|
5488
5619
|
).map(
|
|
5489
5620
|
(toolCall) => parseToolCall({
|
|
5490
5621
|
toolCall,
|
|
5491
|
-
tools,
|
|
5622
|
+
tools: stepExecutionTools,
|
|
5492
5623
|
repairToolCall,
|
|
5493
5624
|
refineToolInput,
|
|
5494
5625
|
instructions: stepInstructions,
|
|
@@ -5543,7 +5674,7 @@ async function generateText({
|
|
|
5543
5674
|
if (toolCall.invalid) {
|
|
5544
5675
|
continue;
|
|
5545
5676
|
}
|
|
5546
|
-
const tool2 = getOwn(
|
|
5677
|
+
const tool2 = getOwn(stepExecutionTools, toolCall.toolName);
|
|
5547
5678
|
if (tool2 == null) {
|
|
5548
5679
|
continue;
|
|
5549
5680
|
}
|
|
@@ -5565,7 +5696,7 @@ async function generateText({
|
|
|
5565
5696
|
});
|
|
5566
5697
|
}
|
|
5567
5698
|
const toolApprovalStatus = await resolveToolApproval({
|
|
5568
|
-
tools,
|
|
5699
|
+
tools: stepExecutionTools,
|
|
5569
5700
|
toolApproval,
|
|
5570
5701
|
toolCall,
|
|
5571
5702
|
messages: stepMessages,
|
|
@@ -5655,12 +5786,12 @@ async function generateText({
|
|
|
5655
5786
|
(toolApprovalResponse) => toolApprovalResponse.approved === false
|
|
5656
5787
|
);
|
|
5657
5788
|
const toolExecutionMs = {};
|
|
5658
|
-
if (
|
|
5789
|
+
if (stepExecutionTools != null) {
|
|
5659
5790
|
const toolExecutionResults = await executeTools({
|
|
5660
5791
|
toolCalls: clientToolCalls.filter(
|
|
5661
5792
|
(toolCall) => !toolCall.invalid && !blockedToolCallIds.has(toolCall.toolCallId)
|
|
5662
5793
|
),
|
|
5663
|
-
tools,
|
|
5794
|
+
tools: stepExecutionTools,
|
|
5664
5795
|
callId,
|
|
5665
5796
|
messages: stepMessages,
|
|
5666
5797
|
abortSignal: mergedAbortSignal,
|
|
@@ -5712,7 +5843,7 @@ async function generateText({
|
|
|
5712
5843
|
for (const toolCall of stepToolCalls) {
|
|
5713
5844
|
if (!toolCall.providerExecuted)
|
|
5714
5845
|
continue;
|
|
5715
|
-
const tool2 = getOwn(
|
|
5846
|
+
const tool2 = getOwn(stepExecutionTools, toolCall.toolName);
|
|
5716
5847
|
if ((tool2 == null ? void 0 : tool2.type) === "provider" && tool2.supportsDeferredResults) {
|
|
5717
5848
|
const hasResultInResponse = currentModelResponse.content.some(
|
|
5718
5849
|
(part) => part.type === "tool-result" && part.toolCallId === toolCall.toolCallId
|
|
@@ -17625,6 +17756,7 @@ export {
|
|
|
17625
17756
|
streamLanguageModelCall as experimental_streamLanguageModelCall,
|
|
17626
17757
|
streamTranscribe as experimental_streamTranscribe,
|
|
17627
17758
|
streamTranslate as experimental_streamTranslate,
|
|
17759
|
+
experimental_toolCaller,
|
|
17628
17760
|
experimental_transcribe,
|
|
17629
17761
|
extractJsonMiddleware,
|
|
17630
17762
|
extractReasoningMiddleware,
|