ai 5.0.0-beta.26 → 5.0.0-beta.27
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 +10 -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 +59 -43
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +58 -43
- package/dist/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,
|
@@ -8670,7 +8671,8 @@ var AbstractChat = class {
|
|
8670
8671
|
onError,
|
8671
8672
|
onToolCall,
|
8672
8673
|
onFinish,
|
8673
|
-
onData
|
8674
|
+
onData,
|
8675
|
+
sendAutomaticallyWhen
|
8674
8676
|
}) {
|
8675
8677
|
this.activeResponse = void 0;
|
8676
8678
|
this.jobExecutor = new SerialJobExecutor();
|
@@ -8768,35 +8770,33 @@ var AbstractChat = class {
|
|
8768
8770
|
tool: tool3,
|
8769
8771
|
toolCallId,
|
8770
8772
|
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
|
-
}
|
8773
|
+
}) => this.jobExecutor.run(async () => {
|
8774
|
+
var _a16, _b;
|
8775
|
+
const messages = this.state.messages;
|
8776
|
+
const lastMessage = messages[messages.length - 1];
|
8777
|
+
this.state.replaceMessage(messages.length - 1, {
|
8778
|
+
...lastMessage,
|
8779
|
+
parts: lastMessage.parts.map(
|
8780
|
+
(part) => isToolUIPart(part) && part.toolCallId === toolCallId ? { ...part, state: "output-available", output } : part
|
8781
|
+
)
|
8791
8782
|
});
|
8792
|
-
|
8793
|
-
|
8794
|
-
|
8795
|
-
|
8796
|
-
|
8797
|
-
|
8798
|
-
|
8799
|
-
|
8783
|
+
if (this.activeResponse) {
|
8784
|
+
this.activeResponse.state.message.parts = this.activeResponse.state.message.parts.map(
|
8785
|
+
(part) => isToolUIPart(part) && part.toolCallId === toolCallId ? {
|
8786
|
+
...part,
|
8787
|
+
state: "output-available",
|
8788
|
+
output,
|
8789
|
+
errorText: void 0
|
8790
|
+
} : part
|
8791
|
+
);
|
8792
|
+
}
|
8793
|
+
if (this.status !== "streaming" && this.status !== "submitted" && ((_a16 = this.sendAutomaticallyWhen) == null ? void 0 : _a16.call(this, { messages }))) {
|
8794
|
+
await this.makeRequest({
|
8795
|
+
trigger: "submit-message",
|
8796
|
+
messageId: (_b = this.lastMessage) == null ? void 0 : _b.id
|
8797
|
+
});
|
8798
|
+
}
|
8799
|
+
});
|
8800
8800
|
/**
|
8801
8801
|
* Abort the current request immediately, keep the generated tokens if any.
|
8802
8802
|
*/
|
@@ -8818,6 +8818,7 @@ var AbstractChat = class {
|
|
8818
8818
|
this.onToolCall = onToolCall;
|
8819
8819
|
this.onFinish = onFinish;
|
8820
8820
|
this.onData = onData;
|
8821
|
+
this.sendAutomaticallyWhen = sendAutomaticallyWhen;
|
8821
8822
|
}
|
8822
8823
|
/**
|
8823
8824
|
* Hook status:
|
@@ -8858,7 +8859,7 @@ var AbstractChat = class {
|
|
8858
8859
|
body,
|
8859
8860
|
messageId
|
8860
8861
|
}) {
|
8861
|
-
var _a16;
|
8862
|
+
var _a16, _b, _c;
|
8862
8863
|
this.setStatus({ status: "submitted", error: void 0 });
|
8863
8864
|
const lastMessage = this.lastMessage;
|
8864
8865
|
try {
|
@@ -8945,21 +8946,17 @@ var AbstractChat = class {
|
|
8945
8946
|
} finally {
|
8946
8947
|
this.activeResponse = void 0;
|
8947
8948
|
}
|
8949
|
+
if ((_b = this.sendAutomaticallyWhen) == null ? void 0 : _b.call(this, { messages: this.state.messages })) {
|
8950
|
+
await this.makeRequest({
|
8951
|
+
trigger: "submit-message",
|
8952
|
+
messageId: (_c = this.lastMessage) == null ? void 0 : _c.id,
|
8953
|
+
metadata,
|
8954
|
+
headers,
|
8955
|
+
body
|
8956
|
+
});
|
8957
|
+
}
|
8948
8958
|
}
|
8949
8959
|
};
|
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
8960
|
|
8964
8961
|
// src/ui/convert-to-model-messages.ts
|
8965
8962
|
function convertToModelMessages(messages, options) {
|
@@ -9132,6 +9129,24 @@ function convertToModelMessages(messages, options) {
|
|
9132
9129
|
}
|
9133
9130
|
var convertToCoreMessages = convertToModelMessages;
|
9134
9131
|
|
9132
|
+
// src/ui/last-assistant-message-is-complete-with-tool-calls.ts
|
9133
|
+
function lastAssistantMessageIsCompleteWithToolCalls({
|
9134
|
+
messages
|
9135
|
+
}) {
|
9136
|
+
const message = messages[messages.length - 1];
|
9137
|
+
if (!message) {
|
9138
|
+
return false;
|
9139
|
+
}
|
9140
|
+
if (message.role !== "assistant") {
|
9141
|
+
return false;
|
9142
|
+
}
|
9143
|
+
const lastStepStartIndex = message.parts.reduce((lastIndex, part, index) => {
|
9144
|
+
return part.type === "step-start" ? index : lastIndex;
|
9145
|
+
}, -1);
|
9146
|
+
const lastStepToolInvocations = message.parts.slice(lastStepStartIndex + 1).filter(isToolUIPart);
|
9147
|
+
return lastStepToolInvocations.length > 0 && lastStepToolInvocations.every((part) => part.state === "output-available");
|
9148
|
+
}
|
9149
|
+
|
9135
9150
|
// src/ui/transform-text-to-ui-message-stream.ts
|
9136
9151
|
function transformTextToUiMessageStream({
|
9137
9152
|
stream
|
@@ -9376,6 +9391,7 @@ function readUIMessageStream({
|
|
9376
9391
|
isDeepEqualData,
|
9377
9392
|
isToolUIPart,
|
9378
9393
|
jsonSchema,
|
9394
|
+
lastAssistantMessageIsCompleteWithToolCalls,
|
9379
9395
|
modelMessageSchema,
|
9380
9396
|
parsePartialJson,
|
9381
9397
|
pipeTextStreamToResponse,
|