ai 7.0.0-beta.180 → 7.0.0-beta.182
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 +12 -0
- package/dist/index.d.ts +23 -9
- package/dist/index.js +22 -13
- package/dist/index.js.map +1 -1
- package/dist/internal/index.js +1 -1
- package/docs/03-ai-sdk-harnesses/06-ui.mdx +1 -1
- package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +9 -9
- package/docs/04-ai-sdk-ui/03-chatbot-resume-streams.mdx +1 -1
- package/docs/06-advanced/02-stopping-streams.mdx +3 -3
- package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +7 -1
- package/docs/07-reference/02-ai-sdk-ui/40-create-ui-message-stream.mdx +10 -6
- package/docs/09-troubleshooting/13-repeated-assistant-messages.mdx +1 -1
- package/docs/09-troubleshooting/14-stream-abort-handling.mdx +10 -10
- package/package.json +1 -1
- package/src/generate-text/stream-text-result.ts +8 -3
- package/src/generate-text/stream-text.ts +6 -3
- package/src/ui-message-stream/create-ui-message-stream.ts +11 -4
- package/src/ui-message-stream/handle-ui-message-stream-finish.ts +15 -8
- package/src/ui-message-stream/index.ts +1 -0
- package/src/ui-message-stream/to-ui-message-chunk.ts +3 -1
- package/src/ui-message-stream/to-ui-message-stream.ts +3 -2
- package/src/ui-message-stream/ui-message-stream-on-end-callback.ts +32 -0
- package/src/ui-message-stream/ui-message-stream-on-finish-callback.ts +5 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 7.0.0-beta.182
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- cc6ab90: feat(ai): rename ui message stream onFinish to onEnd
|
|
8
|
+
|
|
9
|
+
## 7.0.0-beta.181
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 6a2caf9: Serialize `undefined` tool output to `null` in UI message chunks
|
|
14
|
+
|
|
3
15
|
## 7.0.0-beta.180
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -2542,7 +2542,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
|
|
|
2542
2542
|
};
|
|
2543
2543
|
type InferUIMessageChunk<T extends UIMessage> = UIMessageChunk<InferUIMessageMetadata<T>, InferUIMessageData<T>>;
|
|
2544
2544
|
|
|
2545
|
-
type
|
|
2545
|
+
type UIMessageStreamOnEndCallback<UI_MESSAGE extends UIMessage> = (event: {
|
|
2546
2546
|
/**
|
|
2547
2547
|
* The updated list of UI messages.
|
|
2548
2548
|
*/
|
|
@@ -2633,9 +2633,13 @@ type UIMessageStreamOptions<UI_MESSAGE extends UIMessage> = {
|
|
|
2633
2633
|
* the original messages are provided and the last message is an assistant message).
|
|
2634
2634
|
*/
|
|
2635
2635
|
generateMessageId?: IdGenerator;
|
|
2636
|
-
|
|
2636
|
+
onEnd?: UIMessageStreamOnEndCallback<UI_MESSAGE>;
|
|
2637
2637
|
/**
|
|
2638
|
-
*
|
|
2638
|
+
* @deprecated Use `onEnd` instead.
|
|
2639
|
+
*/
|
|
2640
|
+
onFinish?: UIMessageStreamOnEndCallback<UI_MESSAGE>;
|
|
2641
|
+
/**
|
|
2642
|
+
* Extracts message metadata that will be sent to the client.
|
|
2639
2643
|
*
|
|
2640
2644
|
* Called on `start` and `finish` events.
|
|
2641
2645
|
*/
|
|
@@ -5952,13 +5956,14 @@ interface UIMessageStreamWriter<UI_MESSAGE extends UIMessage = UIMessage> {
|
|
|
5952
5956
|
* and a message ID is provided for the response message.
|
|
5953
5957
|
* @param options.onStepEnd - A callback that is called when each step ends. Useful for persisting intermediate messages.
|
|
5954
5958
|
* @param options.onStepFinish - Deprecated alias for `onStepEnd`.
|
|
5955
|
-
* @param options.
|
|
5959
|
+
* @param options.onEnd - A callback that is called when the stream ends.
|
|
5960
|
+
* @param options.onFinish - Deprecated alias for `onEnd`.
|
|
5956
5961
|
* @param options.generateId - A function that generates a unique ID. Defaults to the built-in ID generator.
|
|
5957
5962
|
*
|
|
5958
5963
|
* @returns A `ReadableStream` of UI message chunks.
|
|
5959
5964
|
*/
|
|
5960
5965
|
declare function createUIMessageStream<UI_MESSAGE extends UIMessage>({ execute, onError, // prevent leaking server error details to the client by default
|
|
5961
|
-
originalMessages, onStepEnd, onStepFinish, onFinish, generateId, }: {
|
|
5966
|
+
originalMessages, onStepEnd, onStepFinish, onEnd, onFinish, generateId, }: {
|
|
5962
5967
|
execute: (options: {
|
|
5963
5968
|
writer: UIMessageStreamWriter<UI_MESSAGE>;
|
|
5964
5969
|
}) => Promise<void> | void;
|
|
@@ -5978,7 +5983,11 @@ originalMessages, onStepEnd, onStepFinish, onFinish, generateId, }: {
|
|
|
5978
5983
|
* @deprecated Use `onStepEnd` instead.
|
|
5979
5984
|
*/
|
|
5980
5985
|
onStepFinish?: UIMessageStreamOnStepFinishCallback<UI_MESSAGE>;
|
|
5981
|
-
|
|
5986
|
+
onEnd?: UIMessageStreamOnEndCallback<UI_MESSAGE>;
|
|
5987
|
+
/**
|
|
5988
|
+
* @deprecated Use `onEnd` instead.
|
|
5989
|
+
*/
|
|
5990
|
+
onFinish?: UIMessageStreamOnEndCallback<UI_MESSAGE>;
|
|
5982
5991
|
generateId?: IdGenerator;
|
|
5983
5992
|
}): ReadableStream<InferUIMessageChunk<UI_MESSAGE>>;
|
|
5984
5993
|
|
|
@@ -6064,10 +6073,10 @@ messageMetadata, responseMessageId, }?: ToUIMessageChunkOptions<TOOLS, UI_MESSAG
|
|
|
6064
6073
|
* Converts a stream of `TextStreamPart<TOOLS>` chunks (as emitted by
|
|
6065
6074
|
* `streamText`'s `stream`) into a stream of `UIMessageChunk`s suitable for
|
|
6066
6075
|
* UI message streaming, including response message ID injection and
|
|
6067
|
-
* `
|
|
6076
|
+
* `onEnd` handling.
|
|
6068
6077
|
*/
|
|
6069
6078
|
declare function toUIMessageStream<TOOLS extends ToolSet = ToolSet, UI_MESSAGE extends UIMessage = UIMessage>({ stream, tools, sendReasoning, sendSources, sendStart, sendFinish, onError, // prevent leaking server error details to the client by default
|
|
6070
|
-
messageMetadata, originalMessages, generateMessageId, onFinish, }: {
|
|
6079
|
+
messageMetadata, originalMessages, generateMessageId, onEnd, onFinish, }: {
|
|
6071
6080
|
stream: ReadableStream<TextStreamPart<TOOLS>>;
|
|
6072
6081
|
tools?: TOOLS;
|
|
6073
6082
|
} & UIMessageStreamOptions<UI_MESSAGE>): ReadableStream<InferUIMessageChunk<UI_MESSAGE>>;
|
|
@@ -6080,6 +6089,11 @@ declare const UI_MESSAGE_STREAM_HEADERS: {
|
|
|
6080
6089
|
'x-accel-buffering': string;
|
|
6081
6090
|
};
|
|
6082
6091
|
|
|
6092
|
+
/**
|
|
6093
|
+
* @deprecated Use `UIMessageStreamOnEndCallback` instead.
|
|
6094
|
+
*/
|
|
6095
|
+
type UIMessageStreamOnFinishCallback<UI_MESSAGE extends UIMessage> = UIMessageStreamOnEndCallback<UI_MESSAGE>;
|
|
6096
|
+
|
|
6083
6097
|
/**
|
|
6084
6098
|
* Runs the agent and stream the output as a UI message stream.
|
|
6085
6099
|
*
|
|
@@ -8738,4 +8752,4 @@ declare function uploadSkill({ api, files, displayTitle, providerOptions, }: {
|
|
|
8738
8752
|
files: UploadSkillFile[];
|
|
8739
8753
|
}): Promise<UploadSkillResult>;
|
|
8740
8754
|
|
|
8741
|
-
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, GeneratedFile as 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, Experimental_TranscriptionResult, 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, 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, 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, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, 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, 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, experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateSpeech, generateText, getChunkTimeoutMs, 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 };
|
|
8755
|
+
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, GeneratedFile as 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, Experimental_TranscriptionResult, 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, 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, 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, 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, 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, experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateSpeech, generateText, getChunkTimeoutMs, 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
|
@@ -1088,7 +1088,7 @@ import {
|
|
|
1088
1088
|
} from "@ai-sdk/provider-utils";
|
|
1089
1089
|
|
|
1090
1090
|
// src/version.ts
|
|
1091
|
-
var VERSION = true ? "7.0.0-beta.
|
|
1091
|
+
var VERSION = true ? "7.0.0-beta.182" : "0.0.0-test";
|
|
1092
1092
|
|
|
1093
1093
|
// src/util/download/download.ts
|
|
1094
1094
|
var download = async ({
|
|
@@ -7100,6 +7100,7 @@ function handleUIMessageStreamFinish({
|
|
|
7100
7100
|
originalMessages = [],
|
|
7101
7101
|
onStepEnd,
|
|
7102
7102
|
onStepFinish,
|
|
7103
|
+
onEnd,
|
|
7103
7104
|
onFinish,
|
|
7104
7105
|
onError,
|
|
7105
7106
|
stream
|
|
@@ -7128,7 +7129,8 @@ function handleUIMessageStreamFinish({
|
|
|
7128
7129
|
})
|
|
7129
7130
|
);
|
|
7130
7131
|
const resolvedOnStepEnd = onStepEnd != null ? onStepEnd : onStepFinish;
|
|
7131
|
-
|
|
7132
|
+
const resolvedOnEnd = onEnd != null ? onEnd : onFinish;
|
|
7133
|
+
if (resolvedOnEnd == null && resolvedOnStepEnd == null) {
|
|
7132
7134
|
return idInjectedStream;
|
|
7133
7135
|
}
|
|
7134
7136
|
const state = createStreamingUIMessageState({
|
|
@@ -7141,13 +7143,13 @@ function handleUIMessageStreamFinish({
|
|
|
7141
7143
|
} });
|
|
7142
7144
|
};
|
|
7143
7145
|
let finishCalled = false;
|
|
7144
|
-
const
|
|
7145
|
-
if (finishCalled || !
|
|
7146
|
+
const callOnEnd = async () => {
|
|
7147
|
+
if (finishCalled || !resolvedOnEnd) {
|
|
7146
7148
|
return;
|
|
7147
7149
|
}
|
|
7148
7150
|
finishCalled = true;
|
|
7149
7151
|
const isContinuation = state.message.id === (lastMessage == null ? void 0 : lastMessage.id);
|
|
7150
|
-
await
|
|
7152
|
+
await resolvedOnEnd({
|
|
7151
7153
|
isAborted,
|
|
7152
7154
|
isContinuation,
|
|
7153
7155
|
responseMessage: state.message,
|
|
@@ -7190,10 +7192,10 @@ function handleUIMessageStreamFinish({
|
|
|
7190
7192
|
},
|
|
7191
7193
|
// @ts-expect-error cancel is still new and missing from types https://developer.mozilla.org/en-US/docs/Web/API/TransformStream#browser_compatibility
|
|
7192
7194
|
async cancel() {
|
|
7193
|
-
await
|
|
7195
|
+
await callOnEnd();
|
|
7194
7196
|
},
|
|
7195
7197
|
async flush() {
|
|
7196
|
-
await
|
|
7198
|
+
await callOnEnd();
|
|
7197
7199
|
}
|
|
7198
7200
|
})
|
|
7199
7201
|
);
|
|
@@ -7379,7 +7381,9 @@ function toUIMessageChunk(part, {
|
|
|
7379
7381
|
return {
|
|
7380
7382
|
type: "tool-output-available",
|
|
7381
7383
|
toolCallId: part.toolCallId,
|
|
7382
|
-
|
|
7384
|
+
// UI stream chunks are serialized as JSON, which drops undefined
|
|
7385
|
+
// properties. Use null so tool outputs always keep the output field.
|
|
7386
|
+
output: part.output === void 0 ? null : part.output,
|
|
7383
7387
|
...part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {},
|
|
7384
7388
|
...part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {},
|
|
7385
7389
|
...part.toolMetadata != null ? { toolMetadata: part.toolMetadata } : {},
|
|
@@ -7464,6 +7468,7 @@ function toUIMessageStream({
|
|
|
7464
7468
|
messageMetadata,
|
|
7465
7469
|
originalMessages,
|
|
7466
7470
|
generateMessageId,
|
|
7471
|
+
onEnd,
|
|
7467
7472
|
onFinish
|
|
7468
7473
|
}) {
|
|
7469
7474
|
const responseMessageId = generateMessageId != null ? getResponseUIMessageId({
|
|
@@ -7500,7 +7505,7 @@ function toUIMessageStream({
|
|
|
7500
7505
|
stream: uiMessageChunkStream,
|
|
7501
7506
|
messageId: responseMessageId != null ? responseMessageId : generateMessageId == null ? void 0 : generateMessageId(),
|
|
7502
7507
|
originalMessages,
|
|
7503
|
-
onFinish,
|
|
7508
|
+
onEnd: onEnd != null ? onEnd : onFinish,
|
|
7504
7509
|
onError
|
|
7505
7510
|
});
|
|
7506
7511
|
}
|
|
@@ -9835,6 +9840,7 @@ var DefaultStreamTextResult = class {
|
|
|
9835
9840
|
toUIMessageStream({
|
|
9836
9841
|
originalMessages,
|
|
9837
9842
|
generateMessageId,
|
|
9843
|
+
onEnd,
|
|
9838
9844
|
onFinish,
|
|
9839
9845
|
messageMetadata,
|
|
9840
9846
|
sendReasoning,
|
|
@@ -9849,7 +9855,7 @@ var DefaultStreamTextResult = class {
|
|
|
9849
9855
|
tools: this.tools,
|
|
9850
9856
|
originalMessages,
|
|
9851
9857
|
generateMessageId,
|
|
9852
|
-
onFinish,
|
|
9858
|
+
onEnd: onEnd != null ? onEnd : onFinish,
|
|
9853
9859
|
messageMetadata,
|
|
9854
9860
|
sendReasoning,
|
|
9855
9861
|
sendSources,
|
|
@@ -9862,6 +9868,7 @@ var DefaultStreamTextResult = class {
|
|
|
9862
9868
|
pipeUIMessageStreamToResponse(response, {
|
|
9863
9869
|
originalMessages,
|
|
9864
9870
|
generateMessageId,
|
|
9871
|
+
onEnd,
|
|
9865
9872
|
onFinish,
|
|
9866
9873
|
messageMetadata,
|
|
9867
9874
|
sendReasoning,
|
|
@@ -9876,7 +9883,7 @@ var DefaultStreamTextResult = class {
|
|
|
9876
9883
|
stream: this.toUIMessageStream({
|
|
9877
9884
|
originalMessages,
|
|
9878
9885
|
generateMessageId,
|
|
9879
|
-
onFinish,
|
|
9886
|
+
onEnd: onEnd != null ? onEnd : onFinish,
|
|
9880
9887
|
messageMetadata,
|
|
9881
9888
|
sendReasoning,
|
|
9882
9889
|
sendSources,
|
|
@@ -9897,6 +9904,7 @@ var DefaultStreamTextResult = class {
|
|
|
9897
9904
|
toUIMessageStreamResponse({
|
|
9898
9905
|
originalMessages,
|
|
9899
9906
|
generateMessageId,
|
|
9907
|
+
onEnd,
|
|
9900
9908
|
onFinish,
|
|
9901
9909
|
messageMetadata,
|
|
9902
9910
|
sendReasoning,
|
|
@@ -9910,7 +9918,7 @@ var DefaultStreamTextResult = class {
|
|
|
9910
9918
|
stream: this.toUIMessageStream({
|
|
9911
9919
|
originalMessages,
|
|
9912
9920
|
generateMessageId,
|
|
9913
|
-
onFinish,
|
|
9921
|
+
onEnd: onEnd != null ? onEnd : onFinish,
|
|
9914
9922
|
messageMetadata,
|
|
9915
9923
|
sendReasoning,
|
|
9916
9924
|
sendSources,
|
|
@@ -10133,6 +10141,7 @@ function createUIMessageStream({
|
|
|
10133
10141
|
originalMessages,
|
|
10134
10142
|
onStepEnd,
|
|
10135
10143
|
onStepFinish,
|
|
10144
|
+
onEnd,
|
|
10136
10145
|
onFinish,
|
|
10137
10146
|
generateId: generateId2 = generateIdFunc
|
|
10138
10147
|
}) {
|
|
@@ -10209,7 +10218,7 @@ function createUIMessageStream({
|
|
|
10209
10218
|
messageId: generateId2(),
|
|
10210
10219
|
originalMessages,
|
|
10211
10220
|
onStepEnd: onStepEnd != null ? onStepEnd : onStepFinish,
|
|
10212
|
-
onFinish,
|
|
10221
|
+
onEnd: onEnd != null ? onEnd : onFinish,
|
|
10213
10222
|
onError
|
|
10214
10223
|
});
|
|
10215
10224
|
}
|