ai 5.0.0-beta.26 → 5.0.0-beta.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/bin/ai.min.js +17 -17
- package/dist/index.d.mts +19 -9
- package/dist/index.d.ts +19 -9
- package/dist/index.js +61 -44
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +60 -44
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +2 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +2 -1
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
@@ -3767,6 +3767,13 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
|
|
3767
3767
|
* @param data The data part that was received.
|
3768
3768
|
*/
|
3769
3769
|
onData?: ChatOnDataCallback<UI_MESSAGE>;
|
3770
|
+
/**
|
3771
|
+
* When provided, this function will be called when the stream is finished or a tool call is added
|
3772
|
+
* to determine if the current messages should be resubmitted.
|
3773
|
+
*/
|
3774
|
+
sendAutomaticallyWhen?: (options: {
|
3775
|
+
messages: UI_MESSAGE[];
|
3776
|
+
}) => boolean | PromiseLike<boolean>;
|
3770
3777
|
}
|
3771
3778
|
declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
|
3772
3779
|
readonly id: string;
|
@@ -3779,9 +3786,10 @@ declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
|
|
3779
3786
|
private onToolCall?;
|
3780
3787
|
private onFinish?;
|
3781
3788
|
private onData?;
|
3789
|
+
private sendAutomaticallyWhen?;
|
3782
3790
|
private activeResponse;
|
3783
3791
|
private jobExecutor;
|
3784
|
-
constructor({ generateId, id, transport, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, onData, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
|
3792
|
+
constructor({ generateId, id, transport, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, onData, sendAutomaticallyWhen, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
|
3785
3793
|
state: ChatState<UI_MESSAGE>;
|
3786
3794
|
});
|
3787
3795
|
/**
|
@@ -3839,13 +3847,6 @@ declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
|
|
3839
3847
|
toolCallId: string;
|
3840
3848
|
output: InferUIMessageTools<UI_MESSAGE>[TOOL]["output"];
|
3841
3849
|
}) => Promise<void>;
|
3842
|
-
/**
|
3843
|
-
* Checks if the assistant message can be submitted, i.e. if it
|
3844
|
-
* has tool calls and all tool calls have results.
|
3845
|
-
*
|
3846
|
-
* @returns {boolean} True if the assistant message can be submitted, false otherwise.
|
3847
|
-
*/
|
3848
|
-
canAssistantMessageBeSubmitted: () => boolean;
|
3849
3850
|
/**
|
3850
3851
|
* Abort the current request immediately, keep the generated tokens if any.
|
3851
3852
|
*/
|
@@ -3989,6 +3990,15 @@ declare class DefaultChatTransport<UI_MESSAGE extends UIMessage> extends HttpCha
|
|
3989
3990
|
protected processResponseStream(stream: ReadableStream<Uint8Array<ArrayBufferLike>>): ReadableStream<UIMessageChunk>;
|
3990
3991
|
}
|
3991
3992
|
|
3993
|
+
/**
|
3994
|
+
Check if the message is an assistant message with completed tool calls.
|
3995
|
+
The last step of the message must have at least one tool invocation and
|
3996
|
+
all tool invocations must have a result.
|
3997
|
+
*/
|
3998
|
+
declare function lastAssistantMessageIsCompleteWithToolCalls({ messages, }: {
|
3999
|
+
messages: UIMessage[];
|
4000
|
+
}): boolean;
|
4001
|
+
|
3992
4002
|
declare class TextStreamChatTransport<UI_MESSAGE extends UIMessage> extends HttpChatTransport<UI_MESSAGE> {
|
3993
4003
|
constructor(options?: HttpChatTransportInitOptions<UI_MESSAGE>);
|
3994
4004
|
protected processResponseStream(stream: ReadableStream<Uint8Array<ArrayBufferLike>>): ReadableStream<UIMessageChunk>;
|
@@ -4070,4 +4080,4 @@ declare global {
|
|
4070
4080
|
var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
|
4071
4081
|
}
|
4072
4082
|
|
4073
|
-
export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolErrorUnion, ToolResultUnion, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, hasToolCall, isDeepEqualData, isToolUIPart, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel, wrapProvider };
|
4083
|
+
export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolErrorUnion, ToolResultUnion, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, hasToolCall, isDeepEqualData, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel, wrapProvider };
|
package/dist/index.d.ts
CHANGED
@@ -3767,6 +3767,13 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
|
|
3767
3767
|
* @param data The data part that was received.
|
3768
3768
|
*/
|
3769
3769
|
onData?: ChatOnDataCallback<UI_MESSAGE>;
|
3770
|
+
/**
|
3771
|
+
* When provided, this function will be called when the stream is finished or a tool call is added
|
3772
|
+
* to determine if the current messages should be resubmitted.
|
3773
|
+
*/
|
3774
|
+
sendAutomaticallyWhen?: (options: {
|
3775
|
+
messages: UI_MESSAGE[];
|
3776
|
+
}) => boolean | PromiseLike<boolean>;
|
3770
3777
|
}
|
3771
3778
|
declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
|
3772
3779
|
readonly id: string;
|
@@ -3779,9 +3786,10 @@ declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
|
|
3779
3786
|
private onToolCall?;
|
3780
3787
|
private onFinish?;
|
3781
3788
|
private onData?;
|
3789
|
+
private sendAutomaticallyWhen?;
|
3782
3790
|
private activeResponse;
|
3783
3791
|
private jobExecutor;
|
3784
|
-
constructor({ generateId, id, transport, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, onData, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
|
3792
|
+
constructor({ generateId, id, transport, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, onData, sendAutomaticallyWhen, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
|
3785
3793
|
state: ChatState<UI_MESSAGE>;
|
3786
3794
|
});
|
3787
3795
|
/**
|
@@ -3839,13 +3847,6 @@ declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
|
|
3839
3847
|
toolCallId: string;
|
3840
3848
|
output: InferUIMessageTools<UI_MESSAGE>[TOOL]["output"];
|
3841
3849
|
}) => Promise<void>;
|
3842
|
-
/**
|
3843
|
-
* Checks if the assistant message can be submitted, i.e. if it
|
3844
|
-
* has tool calls and all tool calls have results.
|
3845
|
-
*
|
3846
|
-
* @returns {boolean} True if the assistant message can be submitted, false otherwise.
|
3847
|
-
*/
|
3848
|
-
canAssistantMessageBeSubmitted: () => boolean;
|
3849
3850
|
/**
|
3850
3851
|
* Abort the current request immediately, keep the generated tokens if any.
|
3851
3852
|
*/
|
@@ -3989,6 +3990,15 @@ declare class DefaultChatTransport<UI_MESSAGE extends UIMessage> extends HttpCha
|
|
3989
3990
|
protected processResponseStream(stream: ReadableStream<Uint8Array<ArrayBufferLike>>): ReadableStream<UIMessageChunk>;
|
3990
3991
|
}
|
3991
3992
|
|
3993
|
+
/**
|
3994
|
+
Check if the message is an assistant message with completed tool calls.
|
3995
|
+
The last step of the message must have at least one tool invocation and
|
3996
|
+
all tool invocations must have a result.
|
3997
|
+
*/
|
3998
|
+
declare function lastAssistantMessageIsCompleteWithToolCalls({ messages, }: {
|
3999
|
+
messages: UIMessage[];
|
4000
|
+
}): boolean;
|
4001
|
+
|
3992
4002
|
declare class TextStreamChatTransport<UI_MESSAGE extends UIMessage> extends HttpChatTransport<UI_MESSAGE> {
|
3993
4003
|
constructor(options?: HttpChatTransportInitOptions<UI_MESSAGE>);
|
3994
4004
|
protected processResponseStream(stream: ReadableStream<Uint8Array<ArrayBufferLike>>): ReadableStream<UIMessageChunk>;
|
@@ -4070,4 +4080,4 @@ declare global {
|
|
4070
4080
|
var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
|
4071
4081
|
}
|
4072
4082
|
|
4073
|
-
export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolErrorUnion, ToolResultUnion, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, hasToolCall, isDeepEqualData, isToolUIPart, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel, wrapProvider };
|
4083
|
+
export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolErrorUnion, ToolResultUnion, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, hasToolCall, isDeepEqualData, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel, wrapProvider };
|
package/dist/index.js
CHANGED
@@ -94,6 +94,7 @@ __export(src_exports, {
|
|
94
94
|
isDeepEqualData: () => isDeepEqualData,
|
95
95
|
isToolUIPart: () => isToolUIPart,
|
96
96
|
jsonSchema: () => import_provider_utils29.jsonSchema,
|
97
|
+
lastAssistantMessageIsCompleteWithToolCalls: () => lastAssistantMessageIsCompleteWithToolCalls,
|
97
98
|
modelMessageSchema: () => modelMessageSchema,
|
98
99
|
parsePartialJson: () => parsePartialJson,
|
99
100
|
pipeTextStreamToResponse: () => pipeTextStreamToResponse,
|
@@ -975,7 +976,8 @@ function prepareToolsAndToolChoice({
|
|
975
976
|
type: "function",
|
976
977
|
name: name16,
|
977
978
|
description: tool3.description,
|
978
|
-
inputSchema: (0, import_provider_utils5.asSchema)(tool3.inputSchema).jsonSchema
|
979
|
+
inputSchema: (0, import_provider_utils5.asSchema)(tool3.inputSchema).jsonSchema,
|
980
|
+
providerOptions: tool3.providerOptions
|
979
981
|
};
|
980
982
|
case "provider-defined":
|
981
983
|
return {
|
@@ -8670,7 +8672,8 @@ var AbstractChat = class {
|
|
8670
8672
|
onError,
|
8671
8673
|
onToolCall,
|
8672
8674
|
onFinish,
|
8673
|
-
onData
|
8675
|
+
onData,
|
8676
|
+
sendAutomaticallyWhen
|
8674
8677
|
}) {
|
8675
8678
|
this.activeResponse = void 0;
|
8676
8679
|
this.jobExecutor = new SerialJobExecutor();
|
@@ -8768,35 +8771,33 @@ var AbstractChat = class {
|
|
8768
8771
|
tool: tool3,
|
8769
8772
|
toolCallId,
|
8770
8773
|
output
|
8771
|
-
}) => {
|
8772
|
-
|
8773
|
-
|
8774
|
-
|
8775
|
-
|
8776
|
-
|
8777
|
-
|
8778
|
-
|
8779
|
-
|
8780
|
-
});
|
8781
|
-
if (this.activeResponse) {
|
8782
|
-
this.activeResponse.state.message.parts = this.activeResponse.state.message.parts.map(
|
8783
|
-
(part) => isToolUIPart(part) && part.toolCallId === toolCallId ? {
|
8784
|
-
...part,
|
8785
|
-
state: "output-available",
|
8786
|
-
output,
|
8787
|
-
errorText: void 0
|
8788
|
-
} : part
|
8789
|
-
);
|
8790
|
-
}
|
8774
|
+
}) => this.jobExecutor.run(async () => {
|
8775
|
+
var _a16, _b;
|
8776
|
+
const messages = this.state.messages;
|
8777
|
+
const lastMessage = messages[messages.length - 1];
|
8778
|
+
this.state.replaceMessage(messages.length - 1, {
|
8779
|
+
...lastMessage,
|
8780
|
+
parts: lastMessage.parts.map(
|
8781
|
+
(part) => isToolUIPart(part) && part.toolCallId === toolCallId ? { ...part, state: "output-available", output } : part
|
8782
|
+
)
|
8791
8783
|
});
|
8792
|
-
|
8793
|
-
|
8794
|
-
|
8795
|
-
|
8796
|
-
|
8797
|
-
|
8798
|
-
|
8799
|
-
|
8784
|
+
if (this.activeResponse) {
|
8785
|
+
this.activeResponse.state.message.parts = this.activeResponse.state.message.parts.map(
|
8786
|
+
(part) => isToolUIPart(part) && part.toolCallId === toolCallId ? {
|
8787
|
+
...part,
|
8788
|
+
state: "output-available",
|
8789
|
+
output,
|
8790
|
+
errorText: void 0
|
8791
|
+
} : part
|
8792
|
+
);
|
8793
|
+
}
|
8794
|
+
if (this.status !== "streaming" && this.status !== "submitted" && ((_a16 = this.sendAutomaticallyWhen) == null ? void 0 : _a16.call(this, { messages: this.state.messages }))) {
|
8795
|
+
this.makeRequest({
|
8796
|
+
trigger: "submit-message",
|
8797
|
+
messageId: (_b = this.lastMessage) == null ? void 0 : _b.id
|
8798
|
+
});
|
8799
|
+
}
|
8800
|
+
});
|
8800
8801
|
/**
|
8801
8802
|
* Abort the current request immediately, keep the generated tokens if any.
|
8802
8803
|
*/
|
@@ -8818,6 +8819,7 @@ var AbstractChat = class {
|
|
8818
8819
|
this.onToolCall = onToolCall;
|
8819
8820
|
this.onFinish = onFinish;
|
8820
8821
|
this.onData = onData;
|
8822
|
+
this.sendAutomaticallyWhen = sendAutomaticallyWhen;
|
8821
8823
|
}
|
8822
8824
|
/**
|
8823
8825
|
* Hook status:
|
@@ -8858,7 +8860,7 @@ var AbstractChat = class {
|
|
8858
8860
|
body,
|
8859
8861
|
messageId
|
8860
8862
|
}) {
|
8861
|
-
var _a16;
|
8863
|
+
var _a16, _b, _c;
|
8862
8864
|
this.setStatus({ status: "submitted", error: void 0 });
|
8863
8865
|
const lastMessage = this.lastMessage;
|
8864
8866
|
try {
|
@@ -8945,21 +8947,17 @@ var AbstractChat = class {
|
|
8945
8947
|
} finally {
|
8946
8948
|
this.activeResponse = void 0;
|
8947
8949
|
}
|
8950
|
+
if ((_b = this.sendAutomaticallyWhen) == null ? void 0 : _b.call(this, { messages: this.state.messages })) {
|
8951
|
+
await this.makeRequest({
|
8952
|
+
trigger: "submit-message",
|
8953
|
+
messageId: (_c = this.lastMessage) == null ? void 0 : _c.id,
|
8954
|
+
metadata,
|
8955
|
+
headers,
|
8956
|
+
body
|
8957
|
+
});
|
8958
|
+
}
|
8948
8959
|
}
|
8949
8960
|
};
|
8950
|
-
function isAssistantMessageWithCompletedToolCalls(message) {
|
8951
|
-
if (!message) {
|
8952
|
-
return false;
|
8953
|
-
}
|
8954
|
-
if (message.role !== "assistant") {
|
8955
|
-
return false;
|
8956
|
-
}
|
8957
|
-
const lastStepStartIndex = message.parts.reduce((lastIndex, part, index) => {
|
8958
|
-
return part.type === "step-start" ? index : lastIndex;
|
8959
|
-
}, -1);
|
8960
|
-
const lastStepToolInvocations = message.parts.slice(lastStepStartIndex + 1).filter(isToolUIPart);
|
8961
|
-
return lastStepToolInvocations.length > 0 && lastStepToolInvocations.every((part) => part.state === "output-available");
|
8962
|
-
}
|
8963
8961
|
|
8964
8962
|
// src/ui/convert-to-model-messages.ts
|
8965
8963
|
function convertToModelMessages(messages, options) {
|
@@ -9132,6 +9130,24 @@ function convertToModelMessages(messages, options) {
|
|
9132
9130
|
}
|
9133
9131
|
var convertToCoreMessages = convertToModelMessages;
|
9134
9132
|
|
9133
|
+
// src/ui/last-assistant-message-is-complete-with-tool-calls.ts
|
9134
|
+
function lastAssistantMessageIsCompleteWithToolCalls({
|
9135
|
+
messages
|
9136
|
+
}) {
|
9137
|
+
const message = messages[messages.length - 1];
|
9138
|
+
if (!message) {
|
9139
|
+
return false;
|
9140
|
+
}
|
9141
|
+
if (message.role !== "assistant") {
|
9142
|
+
return false;
|
9143
|
+
}
|
9144
|
+
const lastStepStartIndex = message.parts.reduce((lastIndex, part, index) => {
|
9145
|
+
return part.type === "step-start" ? index : lastIndex;
|
9146
|
+
}, -1);
|
9147
|
+
const lastStepToolInvocations = message.parts.slice(lastStepStartIndex + 1).filter(isToolUIPart);
|
9148
|
+
return lastStepToolInvocations.length > 0 && lastStepToolInvocations.every((part) => part.state === "output-available");
|
9149
|
+
}
|
9150
|
+
|
9135
9151
|
// src/ui/transform-text-to-ui-message-stream.ts
|
9136
9152
|
function transformTextToUiMessageStream({
|
9137
9153
|
stream
|
@@ -9376,6 +9392,7 @@ function readUIMessageStream({
|
|
9376
9392
|
isDeepEqualData,
|
9377
9393
|
isToolUIPart,
|
9378
9394
|
jsonSchema,
|
9395
|
+
lastAssistantMessageIsCompleteWithToolCalls,
|
9379
9396
|
modelMessageSchema,
|
9380
9397
|
parsePartialJson,
|
9381
9398
|
pipeTextStreamToResponse,
|