ai 5.0.27 → 5.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +9 -3
- package/dist/index.d.mts +34 -4
- package/dist/index.d.ts +34 -4
- package/dist/index.js +83 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +83 -8
- package/dist/index.mjs.map +1 -1
- package/dist/test/index.js +0 -1
- package/dist/test/index.js.map +1 -1
- package/dist/test/index.mjs +0 -1
- package/dist/test/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 5.0.29
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- e0e9449: feat(ui): sent isAbort, isDisconnect, isError in useChat onFinish callback
|
8
|
+
|
9
|
+
## 5.0.28
|
10
|
+
|
11
|
+
### Patch Changes
|
12
|
+
|
13
|
+
- 4b81e7d: fix(ai): remove vitest dependency from test exports
|
14
|
+
- d68a4f2: feat(ai): log warnings
|
15
|
+
|
3
16
|
## 5.0.27
|
4
17
|
|
5
18
|
### Patch Changes
|
package/README.md
CHANGED
@@ -56,11 +56,17 @@ npm install @ai-sdk/react
|
|
56
56
|
```tsx
|
57
57
|
'use client';
|
58
58
|
|
59
|
+
import { useState } from 'react';
|
59
60
|
import { useChat } from '@ai-sdk/react';
|
60
61
|
|
61
62
|
export default function Page() {
|
62
|
-
const { messages,
|
63
|
-
|
63
|
+
const { messages, status, sendMessage } = useChat();
|
64
|
+
const [input, setInput] = useState('');
|
65
|
+
const handleSubmit = e => {
|
66
|
+
e.preventDefault();
|
67
|
+
sendMessage({ text: input });
|
68
|
+
setInput('');
|
69
|
+
};
|
64
70
|
|
65
71
|
return (
|
66
72
|
<div>
|
@@ -82,7 +88,7 @@ export default function Page() {
|
|
82
88
|
<input
|
83
89
|
value={input}
|
84
90
|
placeholder="Send a message..."
|
85
|
-
onChange={
|
91
|
+
onChange={e => setInput(e.target.value)}
|
86
92
|
disabled={status !== 'ready'}
|
87
93
|
/>
|
88
94
|
</form>
|
package/dist/index.d.mts
CHANGED
@@ -3411,6 +3411,9 @@ declare function generateSpeech({ model, text, voice, outputFormat, instructions
|
|
3411
3411
|
headers?: Record<string, string>;
|
3412
3412
|
}): Promise<SpeechResult>;
|
3413
3413
|
|
3414
|
+
type Warning = LanguageModelV2CallWarning | ImageModelV2CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
|
3415
|
+
type LogWarningsFunction = (warnings: Warning[]) => void;
|
3416
|
+
|
3414
3417
|
/**
|
3415
3418
|
* Applies default settings for a language model.
|
3416
3419
|
*/
|
@@ -4046,9 +4049,22 @@ type ChatOnToolCallCallback<UI_MESSAGE extends UIMessage = UIMessage> = (options
|
|
4046
4049
|
toolCall: InferUIMessageToolCall<UI_MESSAGE>;
|
4047
4050
|
}) => void | PromiseLike<void>;
|
4048
4051
|
type ChatOnDataCallback<UI_MESSAGE extends UIMessage> = (dataPart: DataUIPart<InferUIMessageData<UI_MESSAGE>>) => void;
|
4052
|
+
/**
|
4053
|
+
* Function that is called when the assistant response has finished streaming.
|
4054
|
+
*
|
4055
|
+
* @param message The assistant message that was streamed.
|
4056
|
+
* @param messages The full chat history, including the assistant message.
|
4057
|
+
*
|
4058
|
+
* @param isAbort Indicates whether the request has been aborted.
|
4059
|
+
* @param isDisconnect Indicates whether the request has been ended by a network error.
|
4060
|
+
* @param isError Indicates whether the request has been ended by an error.
|
4061
|
+
*/
|
4049
4062
|
type ChatOnFinishCallback<UI_MESSAGE extends UIMessage> = (options: {
|
4050
4063
|
message: UI_MESSAGE;
|
4051
4064
|
messages: UI_MESSAGE[];
|
4065
|
+
isAbort: boolean;
|
4066
|
+
isDisconnect: boolean;
|
4067
|
+
isError: boolean;
|
4052
4068
|
}) => void;
|
4053
4069
|
interface ChatInit<UI_MESSAGE extends UIMessage> {
|
4054
4070
|
/**
|
@@ -4078,9 +4094,7 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
|
|
4078
4094
|
*/
|
4079
4095
|
onToolCall?: ChatOnToolCallCallback<UI_MESSAGE>;
|
4080
4096
|
/**
|
4081
|
-
*
|
4082
|
-
*
|
4083
|
-
* @param message The message that was streamed.
|
4097
|
+
* Function that is called when the assistant response has finished streaming.
|
4084
4098
|
*/
|
4085
4099
|
onFinish?: ChatOnFinishCallback<UI_MESSAGE>;
|
4086
4100
|
/**
|
@@ -4421,7 +4435,23 @@ declare function validateUIMessages<UI_MESSAGE extends UIMessage>({ messages, me
|
|
4421
4435
|
}): Promise<Array<UI_MESSAGE>>;
|
4422
4436
|
|
4423
4437
|
declare global {
|
4438
|
+
/**
|
4439
|
+
* The default provider to use for the AI SDK.
|
4440
|
+
* String model ids are resolved to the default provider and model id.
|
4441
|
+
*
|
4442
|
+
* If not set, the default provider is the Vercel AI gateway provider.
|
4443
|
+
*
|
4444
|
+
* @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
|
4445
|
+
*/
|
4424
4446
|
var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
|
4447
|
+
/**
|
4448
|
+
* The warning logger to use for the AI SDK.
|
4449
|
+
*
|
4450
|
+
* If not set, the default logger is the console.warn function.
|
4451
|
+
*
|
4452
|
+
* If set to false, no warnings are logged.
|
4453
|
+
*/
|
4454
|
+
var AI_SDK_LOG_WARNINGS: LogWarningsFunction | undefined | false;
|
4425
4455
|
}
|
4426
4456
|
|
4427
|
-
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, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, 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, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, 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, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, 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, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
|
4457
|
+
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, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, 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, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, 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, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, 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, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
|
package/dist/index.d.ts
CHANGED
@@ -3411,6 +3411,9 @@ declare function generateSpeech({ model, text, voice, outputFormat, instructions
|
|
3411
3411
|
headers?: Record<string, string>;
|
3412
3412
|
}): Promise<SpeechResult>;
|
3413
3413
|
|
3414
|
+
type Warning = LanguageModelV2CallWarning | ImageModelV2CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
|
3415
|
+
type LogWarningsFunction = (warnings: Warning[]) => void;
|
3416
|
+
|
3414
3417
|
/**
|
3415
3418
|
* Applies default settings for a language model.
|
3416
3419
|
*/
|
@@ -4046,9 +4049,22 @@ type ChatOnToolCallCallback<UI_MESSAGE extends UIMessage = UIMessage> = (options
|
|
4046
4049
|
toolCall: InferUIMessageToolCall<UI_MESSAGE>;
|
4047
4050
|
}) => void | PromiseLike<void>;
|
4048
4051
|
type ChatOnDataCallback<UI_MESSAGE extends UIMessage> = (dataPart: DataUIPart<InferUIMessageData<UI_MESSAGE>>) => void;
|
4052
|
+
/**
|
4053
|
+
* Function that is called when the assistant response has finished streaming.
|
4054
|
+
*
|
4055
|
+
* @param message The assistant message that was streamed.
|
4056
|
+
* @param messages The full chat history, including the assistant message.
|
4057
|
+
*
|
4058
|
+
* @param isAbort Indicates whether the request has been aborted.
|
4059
|
+
* @param isDisconnect Indicates whether the request has been ended by a network error.
|
4060
|
+
* @param isError Indicates whether the request has been ended by an error.
|
4061
|
+
*/
|
4049
4062
|
type ChatOnFinishCallback<UI_MESSAGE extends UIMessage> = (options: {
|
4050
4063
|
message: UI_MESSAGE;
|
4051
4064
|
messages: UI_MESSAGE[];
|
4065
|
+
isAbort: boolean;
|
4066
|
+
isDisconnect: boolean;
|
4067
|
+
isError: boolean;
|
4052
4068
|
}) => void;
|
4053
4069
|
interface ChatInit<UI_MESSAGE extends UIMessage> {
|
4054
4070
|
/**
|
@@ -4078,9 +4094,7 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
|
|
4078
4094
|
*/
|
4079
4095
|
onToolCall?: ChatOnToolCallCallback<UI_MESSAGE>;
|
4080
4096
|
/**
|
4081
|
-
*
|
4082
|
-
*
|
4083
|
-
* @param message The message that was streamed.
|
4097
|
+
* Function that is called when the assistant response has finished streaming.
|
4084
4098
|
*/
|
4085
4099
|
onFinish?: ChatOnFinishCallback<UI_MESSAGE>;
|
4086
4100
|
/**
|
@@ -4421,7 +4435,23 @@ declare function validateUIMessages<UI_MESSAGE extends UIMessage>({ messages, me
|
|
4421
4435
|
}): Promise<Array<UI_MESSAGE>>;
|
4422
4436
|
|
4423
4437
|
declare global {
|
4438
|
+
/**
|
4439
|
+
* The default provider to use for the AI SDK.
|
4440
|
+
* String model ids are resolved to the default provider and model id.
|
4441
|
+
*
|
4442
|
+
* If not set, the default provider is the Vercel AI gateway provider.
|
4443
|
+
*
|
4444
|
+
* @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
|
4445
|
+
*/
|
4424
4446
|
var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
|
4447
|
+
/**
|
4448
|
+
* The warning logger to use for the AI SDK.
|
4449
|
+
*
|
4450
|
+
* If not set, the default logger is the console.warn function.
|
4451
|
+
*
|
4452
|
+
* If set to false, no warnings are logged.
|
4453
|
+
*/
|
4454
|
+
var AI_SDK_LOG_WARNINGS: LogWarningsFunction | undefined | false;
|
4425
4455
|
}
|
4426
4456
|
|
4427
|
-
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, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, 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, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, 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, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, 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, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
|
4457
|
+
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, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, 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, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, 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, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, 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, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
|
package/dist/index.js
CHANGED
@@ -143,6 +143,56 @@ var NoOutputSpecifiedError = class extends import_provider.AISDKError {
|
|
143
143
|
};
|
144
144
|
_a = symbol;
|
145
145
|
|
146
|
+
// src/logger/log-warnings.ts
|
147
|
+
function formatWarning(warning) {
|
148
|
+
const prefix = "AI SDK Warning:";
|
149
|
+
switch (warning.type) {
|
150
|
+
case "unsupported-setting": {
|
151
|
+
let message = `${prefix} The "${warning.setting}" setting is not supported by this model`;
|
152
|
+
if (warning.details) {
|
153
|
+
message += ` - ${warning.details}`;
|
154
|
+
}
|
155
|
+
return message;
|
156
|
+
}
|
157
|
+
case "unsupported-tool": {
|
158
|
+
const toolName = "name" in warning.tool ? warning.tool.name : "unknown tool";
|
159
|
+
let message = `${prefix} The tool "${toolName}" is not supported by this model`;
|
160
|
+
if (warning.details) {
|
161
|
+
message += ` - ${warning.details}`;
|
162
|
+
}
|
163
|
+
return message;
|
164
|
+
}
|
165
|
+
case "other": {
|
166
|
+
return `${prefix} ${warning.message}`;
|
167
|
+
}
|
168
|
+
default: {
|
169
|
+
return `${prefix} ${JSON.stringify(warning, null, 2)}`;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
173
|
+
var FIRST_WARNING_INFO_MESSAGE = "AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.";
|
174
|
+
var hasLoggedBefore = false;
|
175
|
+
var logWarnings = (warnings) => {
|
176
|
+
if (warnings.length === 0) {
|
177
|
+
return;
|
178
|
+
}
|
179
|
+
const logger = globalThis.AI_SDK_LOG_WARNINGS;
|
180
|
+
if (logger === false) {
|
181
|
+
return;
|
182
|
+
}
|
183
|
+
if (typeof logger === "function") {
|
184
|
+
logger(warnings);
|
185
|
+
return;
|
186
|
+
}
|
187
|
+
if (!hasLoggedBefore) {
|
188
|
+
hasLoggedBefore = true;
|
189
|
+
console.info(FIRST_WARNING_INFO_MESSAGE);
|
190
|
+
}
|
191
|
+
for (const warning of warnings) {
|
192
|
+
console.warn(formatWarning(warning));
|
193
|
+
}
|
194
|
+
};
|
195
|
+
|
146
196
|
// src/model/resolve-model.ts
|
147
197
|
var import_gateway = require("@ai-sdk/gateway");
|
148
198
|
|
@@ -2178,7 +2228,7 @@ async function generateText({
|
|
2178
2228
|
}),
|
2179
2229
|
tracer,
|
2180
2230
|
fn: async (span) => {
|
2181
|
-
var _a17, _b, _c, _d, _e, _f;
|
2231
|
+
var _a17, _b, _c, _d, _e, _f, _g;
|
2182
2232
|
const callSettings2 = prepareCallSettings(settings);
|
2183
2233
|
let currentModelResponse;
|
2184
2234
|
let clientToolCalls = [];
|
@@ -2253,7 +2303,7 @@ async function generateText({
|
|
2253
2303
|
}),
|
2254
2304
|
tracer,
|
2255
2305
|
fn: async (span2) => {
|
2256
|
-
var _a19, _b2, _c2, _d2, _e2, _f2,
|
2306
|
+
var _a19, _b2, _c2, _d2, _e2, _f2, _g2, _h;
|
2257
2307
|
const result = await stepModel.doGenerate({
|
2258
2308
|
...callSettings2,
|
2259
2309
|
tools: stepTools,
|
@@ -2268,7 +2318,7 @@ async function generateText({
|
|
2268
2318
|
id: (_b2 = (_a19 = result.response) == null ? void 0 : _a19.id) != null ? _b2 : generateId3(),
|
2269
2319
|
timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : currentDate(),
|
2270
2320
|
modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
|
2271
|
-
headers: (
|
2321
|
+
headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
|
2272
2322
|
body: (_h = result.response) == null ? void 0 : _h.body
|
2273
2323
|
};
|
2274
2324
|
span2.setAttributes(
|
@@ -2392,6 +2442,7 @@ async function generateText({
|
|
2392
2442
|
messages: structuredClone(responseMessages)
|
2393
2443
|
}
|
2394
2444
|
});
|
2445
|
+
logWarnings((_g = currentModelResponse.warnings) != null ? _g : []);
|
2395
2446
|
steps.push(currentStepResult);
|
2396
2447
|
await (onStepFinish == null ? void 0 : onStepFinish(currentStepResult));
|
2397
2448
|
} while (
|
@@ -4675,6 +4726,7 @@ var DefaultStreamTextResult = class {
|
|
4675
4726
|
providerMetadata: part.providerMetadata
|
4676
4727
|
});
|
4677
4728
|
await (onStepFinish == null ? void 0 : onStepFinish(currentStepResult));
|
4729
|
+
logWarnings(recordedWarnings);
|
4678
4730
|
recordedSteps.push(currentStepResult);
|
4679
4731
|
recordedContent = [];
|
4680
4732
|
activeReasoningContent = {};
|
@@ -6142,6 +6194,7 @@ async function generateImage({
|
|
6142
6194
|
}
|
6143
6195
|
responses.push(result.response);
|
6144
6196
|
}
|
6197
|
+
logWarnings(warnings);
|
6145
6198
|
if (!images.length) {
|
6146
6199
|
throw new NoImageGeneratedError({ responses });
|
6147
6200
|
}
|
@@ -6811,6 +6864,7 @@ async function generateObject(options) {
|
|
6811
6864
|
request = (_a17 = generateResult.request) != null ? _a17 : {};
|
6812
6865
|
response = generateResult.responseData;
|
6813
6866
|
reasoning = generateResult.reasoning;
|
6867
|
+
logWarnings(warnings);
|
6814
6868
|
const object2 = await parseAndValidateObjectResultWithRepair(
|
6815
6869
|
result,
|
6816
6870
|
outputStrategy,
|
@@ -7323,6 +7377,7 @@ var DefaultStreamObjectResult = class {
|
|
7323
7377
|
usage,
|
7324
7378
|
response: fullResponse
|
7325
7379
|
});
|
7380
|
+
logWarnings(warnings != null ? warnings : []);
|
7326
7381
|
self._usage.resolve(usage);
|
7327
7382
|
self._providerMetadata.resolve(providerMetadata);
|
7328
7383
|
self._warnings.resolve(warnings);
|
@@ -7608,6 +7663,7 @@ async function generateSpeech({
|
|
7608
7663
|
if (!result.audio || result.audio.length === 0) {
|
7609
7664
|
throw new NoSpeechGeneratedError({ responses: [result.response] });
|
7610
7665
|
}
|
7666
|
+
logWarnings(result.warnings);
|
7611
7667
|
return new DefaultSpeechResult({
|
7612
7668
|
audio: new DefaultGeneratedAudioFile({
|
7613
7669
|
data: result.audio,
|
@@ -8926,6 +8982,7 @@ async function transcribe({
|
|
8926
8982
|
});
|
8927
8983
|
}
|
8928
8984
|
);
|
8985
|
+
logWarnings(result.warnings);
|
8929
8986
|
if (!result.text) {
|
8930
8987
|
throw new NoTranscriptGeneratedError({ responses: [result.response] });
|
8931
8988
|
}
|
@@ -9460,6 +9517,9 @@ var AbstractChat = class {
|
|
9460
9517
|
var _a17, _b, _c;
|
9461
9518
|
this.setStatus({ status: "submitted", error: void 0 });
|
9462
9519
|
const lastMessage = this.lastMessage;
|
9520
|
+
let isAbort = false;
|
9521
|
+
let isDisconnect = false;
|
9522
|
+
let isError = false;
|
9463
9523
|
try {
|
9464
9524
|
const activeResponse = {
|
9465
9525
|
state: createStreamingUIMessageState({
|
@@ -9468,6 +9528,9 @@ var AbstractChat = class {
|
|
9468
9528
|
}),
|
9469
9529
|
abortController: new AbortController()
|
9470
9530
|
};
|
9531
|
+
activeResponse.abortController.signal.addEventListener("abort", () => {
|
9532
|
+
isAbort = true;
|
9533
|
+
});
|
9471
9534
|
this.activeResponse = activeResponse;
|
9472
9535
|
let stream;
|
9473
9536
|
if (trigger === "resume-stream") {
|
@@ -9531,21 +9594,33 @@ var AbstractChat = class {
|
|
9531
9594
|
throw error;
|
9532
9595
|
}
|
9533
9596
|
});
|
9534
|
-
(_a17 = this.onFinish) == null ? void 0 : _a17.call(this, {
|
9535
|
-
message: activeResponse.state.message,
|
9536
|
-
messages: this.state.messages
|
9537
|
-
});
|
9538
9597
|
this.setStatus({ status: "ready" });
|
9539
9598
|
} catch (err) {
|
9540
|
-
if (err.name === "AbortError") {
|
9599
|
+
if (isAbort || err.name === "AbortError") {
|
9600
|
+
isAbort = true;
|
9541
9601
|
this.setStatus({ status: "ready" });
|
9542
9602
|
return null;
|
9543
9603
|
}
|
9604
|
+
isError = true;
|
9605
|
+
if (err instanceof TypeError && (err.message.toLowerCase().includes("fetch") || err.message.toLowerCase().includes("network"))) {
|
9606
|
+
isDisconnect = true;
|
9607
|
+
}
|
9544
9608
|
if (this.onError && err instanceof Error) {
|
9545
9609
|
this.onError(err);
|
9546
9610
|
}
|
9547
9611
|
this.setStatus({ status: "error", error: err });
|
9548
9612
|
} finally {
|
9613
|
+
try {
|
9614
|
+
(_a17 = this.onFinish) == null ? void 0 : _a17.call(this, {
|
9615
|
+
message: this.activeResponse.state.message,
|
9616
|
+
messages: this.state.messages,
|
9617
|
+
isAbort,
|
9618
|
+
isDisconnect,
|
9619
|
+
isError
|
9620
|
+
});
|
9621
|
+
} catch (err) {
|
9622
|
+
console.error(err);
|
9623
|
+
}
|
9549
9624
|
this.activeResponse = void 0;
|
9550
9625
|
}
|
9551
9626
|
if ((_b = this.sendAutomaticallyWhen) == null ? void 0 : _b.call(this, { messages: this.state.messages })) {
|