ai 5.0.0-beta.4 → 5.0.0-beta.6

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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # ai
2
2
 
3
+ ## 5.0.0-beta.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 143c55b: feat (ai): export Chat callback types
8
+ - f04ffe4: feat (ui): add onData callback to Chat
9
+ - 97c35c0: feat (ui): transient data parts
10
+ - fccf75c: update mcp protocol version
11
+
12
+ ## 5.0.0-beta.5
13
+
14
+ ### Patch Changes
15
+
16
+ - 4f3e637: fix (ui): avoid caching globalThis.fetch in case it is patched by other libraries
17
+
3
18
  ## 5.0.0-beta.4
4
19
 
5
20
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -1023,6 +1023,7 @@ type DataUIMessageStreamPart<DATA_TYPES extends UIDataTypes> = ValueOf<{
1023
1023
  type: `data-${NAME}`;
1024
1024
  id?: string;
1025
1025
  data: DATA_TYPES[NAME];
1026
+ transient?: boolean;
1026
1027
  };
1027
1028
  }>;
1028
1029
  type UIMessageStreamPart<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataTypes> = {
@@ -1231,6 +1232,14 @@ interface ChatState<UI_MESSAGE extends UIMessage> {
1231
1232
  replaceMessage: (index: number, message: UI_MESSAGE) => void;
1232
1233
  snapshot: <T>(thing: T) => T;
1233
1234
  }
1235
+ type ChatOnErrorCallback = (error: Error) => void;
1236
+ type ChatOnToolCallCallback = ({ toolCall, }: {
1237
+ toolCall: ToolCall<string, unknown>;
1238
+ }) => void | Promise<unknown> | unknown;
1239
+ type ChatOnDataCallback<UI_MESSAGE extends UIMessage> = (dataPart: DataUIPart<InferUIMessageData<UI_MESSAGE>>) => void;
1240
+ type ChatOnFinishCallback<UI_MESSAGE extends UIMessage> = (options: {
1241
+ message: UI_MESSAGE;
1242
+ }) => void;
1234
1243
  interface ChatInit<UI_MESSAGE extends UIMessage> {
1235
1244
  /**
1236
1245
  * A unique identifier for the chat. If not provided, a random one will be
@@ -1250,7 +1259,7 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
1250
1259
  /**
1251
1260
  * Callback function to be called when an error is encountered.
1252
1261
  */
1253
- onError?: (error: Error) => void;
1262
+ onError?: ChatOnErrorCallback;
1254
1263
  /**
1255
1264
  Optional callback function that is invoked when a tool call is received.
1256
1265
  Intended for automatic client-side tool execution.
@@ -1258,17 +1267,19 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
1258
1267
  You can optionally return a result for the tool call,
1259
1268
  either synchronously or asynchronously.
1260
1269
  */
1261
- onToolCall?: ({ toolCall, }: {
1262
- toolCall: ToolCall<string, unknown>;
1263
- }) => void | Promise<unknown> | unknown;
1270
+ onToolCall?: ChatOnToolCallCallback;
1264
1271
  /**
1265
1272
  * Optional callback function that is called when the assistant message is finished streaming.
1266
1273
  *
1267
1274
  * @param message The message that was streamed.
1268
1275
  */
1269
- onFinish?: (options: {
1270
- message: UI_MESSAGE;
1271
- }) => void;
1276
+ onFinish?: ChatOnFinishCallback<UI_MESSAGE>;
1277
+ /**
1278
+ * Optional callback function that is called when a data part is received.
1279
+ *
1280
+ * @param data The data part that was received.
1281
+ */
1282
+ onData?: ChatOnDataCallback<UI_MESSAGE>;
1272
1283
  }
1273
1284
  declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
1274
1285
  readonly id: string;
@@ -1281,9 +1292,10 @@ declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
1281
1292
  private onError?;
1282
1293
  private onToolCall?;
1283
1294
  private onFinish?;
1295
+ private onData?;
1284
1296
  private activeResponse;
1285
1297
  private jobExecutor;
1286
- constructor({ generateId, id, transport, maxSteps, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
1298
+ constructor({ generateId, id, transport, maxSteps, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, onData, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
1287
1299
  state: ChatState<UI_MESSAGE>;
1288
1300
  });
1289
1301
  /**
@@ -1446,7 +1458,7 @@ declare abstract class HttpChatTransport<UI_MESSAGE extends UIMessage> implement
1446
1458
  protected credentials?: RequestCredentials;
1447
1459
  protected headers?: Record<string, string> | Headers;
1448
1460
  protected body?: object;
1449
- protected fetch: FetchFunction;
1461
+ protected fetch?: FetchFunction;
1450
1462
  protected prepareSendMessagesRequest?: PrepareSendMessagesRequest<UI_MESSAGE>;
1451
1463
  protected prepareReconnectToStreamRequest?: PrepareReconnectToStreamRequest;
1452
1464
  constructor({ api, credentials, headers, body, fetch, prepareSendMessagesRequest, prepareReconnectToStreamRequest, }: HttpChatTransportInitOptions<UI_MESSAGE>);
@@ -3814,4 +3826,4 @@ declare global {
3814
3826
  var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
3815
3827
  }
3816
3828
 
3817
- export { AbstractChat, CallSettings, CallWarning, ChatInit, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, 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, InferUITool, 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, 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, UIMessagePart, UIMessageStreamOptions, UIMessageStreamPart, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, 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, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel };
3829
+ export { AbstractChat, 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, 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, InferUITool, 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, 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, UIMessagePart, UIMessageStreamOptions, UIMessageStreamPart, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, 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, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel };
package/dist/index.d.ts CHANGED
@@ -1023,6 +1023,7 @@ type DataUIMessageStreamPart<DATA_TYPES extends UIDataTypes> = ValueOf<{
1023
1023
  type: `data-${NAME}`;
1024
1024
  id?: string;
1025
1025
  data: DATA_TYPES[NAME];
1026
+ transient?: boolean;
1026
1027
  };
1027
1028
  }>;
1028
1029
  type UIMessageStreamPart<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataTypes> = {
@@ -1231,6 +1232,14 @@ interface ChatState<UI_MESSAGE extends UIMessage> {
1231
1232
  replaceMessage: (index: number, message: UI_MESSAGE) => void;
1232
1233
  snapshot: <T>(thing: T) => T;
1233
1234
  }
1235
+ type ChatOnErrorCallback = (error: Error) => void;
1236
+ type ChatOnToolCallCallback = ({ toolCall, }: {
1237
+ toolCall: ToolCall<string, unknown>;
1238
+ }) => void | Promise<unknown> | unknown;
1239
+ type ChatOnDataCallback<UI_MESSAGE extends UIMessage> = (dataPart: DataUIPart<InferUIMessageData<UI_MESSAGE>>) => void;
1240
+ type ChatOnFinishCallback<UI_MESSAGE extends UIMessage> = (options: {
1241
+ message: UI_MESSAGE;
1242
+ }) => void;
1234
1243
  interface ChatInit<UI_MESSAGE extends UIMessage> {
1235
1244
  /**
1236
1245
  * A unique identifier for the chat. If not provided, a random one will be
@@ -1250,7 +1259,7 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
1250
1259
  /**
1251
1260
  * Callback function to be called when an error is encountered.
1252
1261
  */
1253
- onError?: (error: Error) => void;
1262
+ onError?: ChatOnErrorCallback;
1254
1263
  /**
1255
1264
  Optional callback function that is invoked when a tool call is received.
1256
1265
  Intended for automatic client-side tool execution.
@@ -1258,17 +1267,19 @@ interface ChatInit<UI_MESSAGE extends UIMessage> {
1258
1267
  You can optionally return a result for the tool call,
1259
1268
  either synchronously or asynchronously.
1260
1269
  */
1261
- onToolCall?: ({ toolCall, }: {
1262
- toolCall: ToolCall<string, unknown>;
1263
- }) => void | Promise<unknown> | unknown;
1270
+ onToolCall?: ChatOnToolCallCallback;
1264
1271
  /**
1265
1272
  * Optional callback function that is called when the assistant message is finished streaming.
1266
1273
  *
1267
1274
  * @param message The message that was streamed.
1268
1275
  */
1269
- onFinish?: (options: {
1270
- message: UI_MESSAGE;
1271
- }) => void;
1276
+ onFinish?: ChatOnFinishCallback<UI_MESSAGE>;
1277
+ /**
1278
+ * Optional callback function that is called when a data part is received.
1279
+ *
1280
+ * @param data The data part that was received.
1281
+ */
1282
+ onData?: ChatOnDataCallback<UI_MESSAGE>;
1272
1283
  }
1273
1284
  declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
1274
1285
  readonly id: string;
@@ -1281,9 +1292,10 @@ declare abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
1281
1292
  private onError?;
1282
1293
  private onToolCall?;
1283
1294
  private onFinish?;
1295
+ private onData?;
1284
1296
  private activeResponse;
1285
1297
  private jobExecutor;
1286
- constructor({ generateId, id, transport, maxSteps, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
1298
+ constructor({ generateId, id, transport, maxSteps, messageMetadataSchema, dataPartSchemas, state, onError, onToolCall, onFinish, onData, }: Omit<ChatInit<UI_MESSAGE>, 'messages'> & {
1287
1299
  state: ChatState<UI_MESSAGE>;
1288
1300
  });
1289
1301
  /**
@@ -1446,7 +1458,7 @@ declare abstract class HttpChatTransport<UI_MESSAGE extends UIMessage> implement
1446
1458
  protected credentials?: RequestCredentials;
1447
1459
  protected headers?: Record<string, string> | Headers;
1448
1460
  protected body?: object;
1449
- protected fetch: FetchFunction;
1461
+ protected fetch?: FetchFunction;
1450
1462
  protected prepareSendMessagesRequest?: PrepareSendMessagesRequest<UI_MESSAGE>;
1451
1463
  protected prepareReconnectToStreamRequest?: PrepareReconnectToStreamRequest;
1452
1464
  constructor({ api, credentials, headers, body, fetch, prepareSendMessagesRequest, prepareReconnectToStreamRequest, }: HttpChatTransportInitOptions<UI_MESSAGE>);
@@ -3814,4 +3826,4 @@ declare global {
3814
3826
  var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
3815
3827
  }
3816
3828
 
3817
- export { AbstractChat, CallSettings, CallWarning, ChatInit, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, 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, InferUITool, 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, 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, UIMessagePart, UIMessageStreamOptions, UIMessageStreamPart, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, 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, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel };
3829
+ export { AbstractChat, 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, 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, InferUITool, 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, 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, UIMessagePart, UIMessageStreamOptions, UIMessageStreamPart, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, 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, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, wrapLanguageModel };
package/dist/index.js CHANGED
@@ -609,7 +609,8 @@ var uiMessageStreamPartSchema = import_v4.z.union([
609
609
  import_v4.z.strictObject({
610
610
  type: import_v4.z.string().startsWith("data-"),
611
611
  id: import_v4.z.string().optional(),
612
- data: import_v4.z.unknown()
612
+ data: import_v4.z.unknown(),
613
+ transient: import_v4.z.boolean().optional()
613
614
  }),
614
615
  import_v4.z.strictObject({
615
616
  type: import_v4.z.literal("start-step")
@@ -850,14 +851,13 @@ async function convertFileListToFileUIParts(files) {
850
851
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
851
852
 
852
853
  // src/ui/http-chat-transport.ts
853
- var getOriginalFetch2 = () => fetch;
854
854
  var HttpChatTransport = class {
855
855
  constructor({
856
856
  api = "/api/chat",
857
857
  credentials,
858
858
  headers,
859
859
  body,
860
- fetch: fetch2 = getOriginalFetch2(),
860
+ fetch: fetch2,
861
861
  prepareSendMessagesRequest,
862
862
  prepareReconnectToStreamRequest
863
863
  }) {
@@ -873,7 +873,7 @@ var HttpChatTransport = class {
873
873
  abortSignal,
874
874
  ...options
875
875
  }) {
876
- var _a16, _b, _c, _d;
876
+ var _a16, _b, _c, _d, _e;
877
877
  const preparedRequest = await ((_a16 = this.prepareSendMessagesRequest) == null ? void 0 : _a16.call(this, {
878
878
  api: this.api,
879
879
  id: options.chatId,
@@ -896,7 +896,8 @@ var HttpChatTransport = class {
896
896
  messageId: options.messageId
897
897
  };
898
898
  const credentials = (_c = preparedRequest == null ? void 0 : preparedRequest.credentials) != null ? _c : this.credentials;
899
- const response = await this.fetch.call(void 0, api, {
899
+ const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
900
+ const response = await fetch2(api, {
900
901
  method: "POST",
901
902
  headers: {
902
903
  "Content-Type": "application/json",
@@ -908,7 +909,7 @@ var HttpChatTransport = class {
908
909
  });
909
910
  if (!response.ok) {
910
911
  throw new Error(
911
- (_d = await response.text()) != null ? _d : "Failed to fetch the chat response."
912
+ (_e = await response.text()) != null ? _e : "Failed to fetch the chat response."
912
913
  );
913
914
  }
914
915
  if (!response.body) {
@@ -917,7 +918,7 @@ var HttpChatTransport = class {
917
918
  return this.processResponseStream(response.body);
918
919
  }
919
920
  async reconnectToStream(options) {
920
- var _a16, _b, _c, _d;
921
+ var _a16, _b, _c, _d, _e;
921
922
  const preparedRequest = await ((_a16 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a16.call(this, {
922
923
  api: this.api,
923
924
  id: options.chatId,
@@ -929,7 +930,8 @@ var HttpChatTransport = class {
929
930
  const api = (_b = preparedRequest == null ? void 0 : preparedRequest.api) != null ? _b : `${this.api}/${options.chatId}/stream`;
930
931
  const headers = (preparedRequest == null ? void 0 : preparedRequest.headers) !== void 0 ? preparedRequest.headers : { ...this.headers, ...options.headers };
931
932
  const credentials = (_c = preparedRequest == null ? void 0 : preparedRequest.credentials) != null ? _c : this.credentials;
932
- const response = await this.fetch.call(void 0, api, {
933
+ const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
934
+ const response = await fetch2(api, {
933
935
  method: "GET",
934
936
  headers,
935
937
  credentials
@@ -939,7 +941,7 @@ var HttpChatTransport = class {
939
941
  }
940
942
  if (!response.ok) {
941
943
  throw new Error(
942
- (_d = await response.text()) != null ? _d : "Failed to fetch the chat response."
944
+ (_e = await response.text()) != null ? _e : "Failed to fetch the chat response."
943
945
  );
944
946
  }
945
947
  if (!response.body) {
@@ -1375,7 +1377,8 @@ function processUIMessageStream({
1375
1377
  messageMetadataSchema,
1376
1378
  dataPartSchemas,
1377
1379
  runUpdateMessageJob,
1378
- onError
1380
+ onError,
1381
+ onData
1379
1382
  }) {
1380
1383
  return stream.pipeThrough(
1381
1384
  new TransformStream({
@@ -1653,14 +1656,20 @@ function processUIMessageStream({
1653
1656
  }
1654
1657
  default: {
1655
1658
  if (isDataUIMessageStreamPart(part)) {
1656
- const existingPart = part.id != null ? state.message.parts.find(
1657
- (partArg) => part.type === partArg.type && part.id === partArg.id
1659
+ const dataPart = part;
1660
+ if (dataPart.transient) {
1661
+ onData == null ? void 0 : onData(dataPart);
1662
+ break;
1663
+ }
1664
+ const existingPart = dataPart.id != null ? state.message.parts.find(
1665
+ (partArg) => dataPart.type === partArg.type && dataPart.id === partArg.id
1658
1666
  ) : void 0;
1659
1667
  if (existingPart != null) {
1660
- existingPart.data = isObject(existingPart.data) && isObject(part.data) ? mergeObjects(existingPart.data, part.data) : part.data;
1668
+ existingPart.data = isObject(existingPart.data) && isObject(dataPart.data) ? mergeObjects(existingPart.data, dataPart.data) : dataPart.data;
1661
1669
  } else {
1662
- state.message.parts.push(part);
1670
+ state.message.parts.push(dataPart);
1663
1671
  }
1672
+ onData == null ? void 0 : onData(dataPart);
1664
1673
  write();
1665
1674
  }
1666
1675
  }
@@ -1721,7 +1730,8 @@ var AbstractChat = class {
1721
1730
  state,
1722
1731
  onError,
1723
1732
  onToolCall,
1724
- onFinish
1733
+ onFinish,
1734
+ onData
1725
1735
  }) {
1726
1736
  this.activeResponse = void 0;
1727
1737
  this.jobExecutor = new SerialJobExecutor();
@@ -1850,6 +1860,7 @@ var AbstractChat = class {
1850
1860
  this.onError = onError;
1851
1861
  this.onToolCall = onToolCall;
1852
1862
  this.onFinish = onFinish;
1863
+ this.onData = onData;
1853
1864
  }
1854
1865
  /**
1855
1866
  * Hook status:
@@ -1953,6 +1964,7 @@ var AbstractChat = class {
1953
1964
  stream: processUIMessageStream({
1954
1965
  stream,
1955
1966
  onToolCall: this.onToolCall,
1967
+ onData: this.onData,
1956
1968
  messageMetadataSchema: this.messageMetadataSchema,
1957
1969
  dataPartSchemas: this.dataPartSchemas,
1958
1970
  runUpdateMessageJob,
@@ -8389,10 +8401,10 @@ var import_v49 = require("zod/v4");
8389
8401
 
8390
8402
  // core/tool/mcp/types.ts
8391
8403
  var import_v48 = require("zod/v4");
8392
- var LATEST_PROTOCOL_VERSION = "2024-11-05";
8404
+ var LATEST_PROTOCOL_VERSION = "2025-26-03";
8393
8405
  var SUPPORTED_PROTOCOL_VERSIONS = [
8394
8406
  LATEST_PROTOCOL_VERSION,
8395
- "2024-10-07"
8407
+ "2024-11-05"
8396
8408
  ];
8397
8409
  var ClientOrServerImplementationSchema = import_v48.z.object({
8398
8410
  name: import_v48.z.string(),