ai 6.0.219 → 6.0.221
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 +36 -0
- package/dist/index.d.mts +17 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.js +95 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +94 -26
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +1 -1
- package/dist/internal/index.mjs +1 -1
- package/docs/02-foundations/02-providers-and-models.mdx +1 -1
- package/docs/03-agents/06-memory.mdx +49 -0
- package/docs/03-ai-sdk-core/40-middleware.mdx +12 -4
- package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +11 -2
- package/docs/06-advanced/10-vercel-deployment-guide.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +1 -1
- package/package.json +3 -3
- package/src/agent/tool-loop-agent-settings.ts +10 -0
- package/src/generate-text/generate-text.ts +6 -4
- package/src/generate-text/output.ts +4 -1
- package/src/generate-text/run-tools-transformation.ts +3 -7
- package/src/generate-text/stream-text.ts +24 -13
- package/src/generate-text/to-response-messages.ts +45 -1
- package/src/middleware/extract-json-middleware.ts +12 -3
- package/src/ui/chat.ts +1 -1
- package/src/ui/convert-to-model-messages.ts +7 -5
- package/src/ui/index.ts +1 -0
- package/src/util/set-abort-timeout.ts +37 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 6.0.221
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2958540: fix(ui): export `isDynamicToolUIPart` from `ai` package
|
|
8
|
+
- aa2dbe6: Fix: `convertToModelMessages` no longer emits an empty assistant message when a block contains only unknown data parts (e.g. a data part before `step-start` with no `convertDataPart` provided)
|
|
9
|
+
- faaef7c: fix(ai): enforce `timeout.stepMs` for the whole step in `streamText`
|
|
10
|
+
|
|
11
|
+
Previously `streamText`'s step timer was cleared synchronously right after the step's stream was registered, before the stream produced anything, so `stepMs` never aborted a step that stalled before emitting content. The step timer now survives until the step's stream finishes or aborts, matching `generateText`. `chunkMs`/`totalMs` and normal step-finish cleanup are unchanged.
|
|
12
|
+
|
|
13
|
+
- 45a9cbf: Return validated elements from generateText array output
|
|
14
|
+
- 2706461: fix(ai): include tool input on tool result for provider executed dynamic tools
|
|
15
|
+
- 327642b: fix: more precise default message for tool execution denial
|
|
16
|
+
- 89df298: Preserve signed tool approval metadata when recording approval responses.
|
|
17
|
+
- 8ed1f83: fix(ai): tag step/chunk timeout aborts with `TimeoutError` reason
|
|
18
|
+
|
|
19
|
+
When `timeout: { stepMs }` or `timeout: { chunkMs }` fires, the abort reason is now a `TimeoutError` `DOMException`, matching what `AbortSignal.timeout()` produces natively. Consumers can distinguish a framework timeout from a user-initiated cancel via `signal.reason.name === 'TimeoutError'`.
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [d559de9]
|
|
22
|
+
- Updated dependencies [9c54a9f]
|
|
23
|
+
- Updated dependencies [bbc4bd5]
|
|
24
|
+
- @ai-sdk/provider-utils@4.0.37
|
|
25
|
+
- @ai-sdk/gateway@3.0.145
|
|
26
|
+
|
|
27
|
+
## 6.0.220
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- 158d027: Sort tool results by their tool call order when converting generation output to response messages.
|
|
32
|
+
- eb3cdd9: Fix `extractJsonMiddleware` preserving leading whitespace in the final streamed text suffix when no markdown fence prefix was stripped.
|
|
33
|
+
- Updated dependencies [7dea716]
|
|
34
|
+
- Updated dependencies [4f7fe37]
|
|
35
|
+
- Updated dependencies [0952964]
|
|
36
|
+
- @ai-sdk/gateway@3.0.144
|
|
37
|
+
- @ai-sdk/provider-utils@4.0.36
|
|
38
|
+
|
|
3
39
|
## 6.0.219
|
|
4
40
|
|
|
5
41
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1915,6 +1915,12 @@ declare function isReasoningUIPart(part: UIMessagePart<UIDataTypes, UITools>): p
|
|
|
1915
1915
|
* Static tools are tools for which the types are known at development time.
|
|
1916
1916
|
*/
|
|
1917
1917
|
declare function isStaticToolUIPart<TOOLS extends UITools>(part: UIMessagePart<UIDataTypes, TOOLS>): part is ToolUIPart<TOOLS>;
|
|
1918
|
+
/**
|
|
1919
|
+
* Check if a message part is a dynamic tool part.
|
|
1920
|
+
*
|
|
1921
|
+
* Dynamic tools are tools for which the input and output types are unknown.
|
|
1922
|
+
*/
|
|
1923
|
+
declare function isDynamicToolUIPart(part: UIMessagePart<UIDataTypes, UITools>): part is DynamicToolUIPart;
|
|
1918
1924
|
/**
|
|
1919
1925
|
* Check if a message part is a tool part.
|
|
1920
1926
|
*
|
|
@@ -3459,6 +3465,16 @@ type ToolLoopAgentSettings<CALL_OPTIONS = never, TOOLS extends ToolSet = {}, OUT
|
|
|
3459
3465
|
* Prepare the parameters for the generateText or streamText call.
|
|
3460
3466
|
*
|
|
3461
3467
|
* You can use this to have templates based on call options.
|
|
3468
|
+
*
|
|
3469
|
+
* The design requires you to pass call parameters as follows to
|
|
3470
|
+
* allow for the removal of parameters from the original settings
|
|
3471
|
+
* by setting them to `undefined`:
|
|
3472
|
+
*
|
|
3473
|
+
* ```
|
|
3474
|
+
* prepareCall: ({ options, ...rest }) => ({
|
|
3475
|
+
* ...rest,
|
|
3476
|
+
* }),
|
|
3477
|
+
* ```
|
|
3462
3478
|
*/
|
|
3463
3479
|
prepareCall?: (options: Omit<AgentCallParameters<CALL_OPTIONS, NoInfer<TOOLS>>, 'onStepFinish'> & Pick<ToolLoopAgentSettings<CALL_OPTIONS, TOOLS, OUTPUT>, 'model' | 'tools' | 'maxOutputTokens' | 'temperature' | 'topP' | 'topK' | 'presencePenalty' | 'frequencyPenalty' | 'stopSequences' | 'seed' | 'headers' | 'instructions' | 'allowSystemInMessages' | 'stopWhen' | 'experimental_telemetry' | 'activeTools' | 'providerOptions' | 'experimental_context' | 'experimental_download'>) => MaybePromiseLike<Pick<ToolLoopAgentSettings<CALL_OPTIONS, TOOLS, OUTPUT>, 'model' | 'tools' | 'maxOutputTokens' | 'temperature' | 'topP' | 'topK' | 'presencePenalty' | 'frequencyPenalty' | 'stopSequences' | 'seed' | 'headers' | 'instructions' | 'allowSystemInMessages' | 'stopWhen' | 'experimental_telemetry' | 'activeTools' | 'providerOptions' | 'experimental_context' | 'experimental_download'> & Omit<Prompt, 'system'>>;
|
|
3464
3480
|
};
|
|
@@ -6507,4 +6523,4 @@ declare function bindTelemetryIntegration(integration: TelemetryIntegration): Te
|
|
|
6507
6523
|
*/
|
|
6508
6524
|
declare function registerTelemetryIntegration(integration: TelemetryIntegration): void;
|
|
6509
6525
|
|
|
6510
|
-
export { AbstractChat, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextOnToolCallFinishCallback, GenerateTextOnToolCallStartCallback, GenerateTextResult, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStartCallback, StreamTextOnStepFinishCallback, StreamTextOnStepStartCallback, StreamTextOnToolCallFinishCallback, StreamTextOnToolCallStartCallback, StreamTextResult, StreamTextTransform, TelemetryIntegration, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToolApprovalRequestOutput, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, bindTelemetryIntegration, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_generateImage, generateSpeech as experimental_generateSpeech, experimental_generateVideo, transcribe as experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateText, getStaticToolName, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isLoopFinished, isReasoningUIPart, isStaticToolUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetryIntegration, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|
|
6526
|
+
export { AbstractChat, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextOnToolCallFinishCallback, GenerateTextOnToolCallStartCallback, GenerateTextResult, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStartCallback, StreamTextOnStepFinishCallback, StreamTextOnStepStartCallback, StreamTextOnToolCallFinishCallback, StreamTextOnToolCallStartCallback, StreamTextResult, StreamTextTransform, TelemetryIntegration, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToolApprovalRequestOutput, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, bindTelemetryIntegration, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_generateImage, generateSpeech as experimental_generateSpeech, experimental_generateVideo, transcribe as experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateText, getStaticToolName, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isDynamicToolUIPart, isFileUIPart, isLoopFinished, isReasoningUIPart, isStaticToolUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetryIntegration, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|
package/dist/index.d.ts
CHANGED
|
@@ -1915,6 +1915,12 @@ declare function isReasoningUIPart(part: UIMessagePart<UIDataTypes, UITools>): p
|
|
|
1915
1915
|
* Static tools are tools for which the types are known at development time.
|
|
1916
1916
|
*/
|
|
1917
1917
|
declare function isStaticToolUIPart<TOOLS extends UITools>(part: UIMessagePart<UIDataTypes, TOOLS>): part is ToolUIPart<TOOLS>;
|
|
1918
|
+
/**
|
|
1919
|
+
* Check if a message part is a dynamic tool part.
|
|
1920
|
+
*
|
|
1921
|
+
* Dynamic tools are tools for which the input and output types are unknown.
|
|
1922
|
+
*/
|
|
1923
|
+
declare function isDynamicToolUIPart(part: UIMessagePart<UIDataTypes, UITools>): part is DynamicToolUIPart;
|
|
1918
1924
|
/**
|
|
1919
1925
|
* Check if a message part is a tool part.
|
|
1920
1926
|
*
|
|
@@ -3459,6 +3465,16 @@ type ToolLoopAgentSettings<CALL_OPTIONS = never, TOOLS extends ToolSet = {}, OUT
|
|
|
3459
3465
|
* Prepare the parameters for the generateText or streamText call.
|
|
3460
3466
|
*
|
|
3461
3467
|
* You can use this to have templates based on call options.
|
|
3468
|
+
*
|
|
3469
|
+
* The design requires you to pass call parameters as follows to
|
|
3470
|
+
* allow for the removal of parameters from the original settings
|
|
3471
|
+
* by setting them to `undefined`:
|
|
3472
|
+
*
|
|
3473
|
+
* ```
|
|
3474
|
+
* prepareCall: ({ options, ...rest }) => ({
|
|
3475
|
+
* ...rest,
|
|
3476
|
+
* }),
|
|
3477
|
+
* ```
|
|
3462
3478
|
*/
|
|
3463
3479
|
prepareCall?: (options: Omit<AgentCallParameters<CALL_OPTIONS, NoInfer<TOOLS>>, 'onStepFinish'> & Pick<ToolLoopAgentSettings<CALL_OPTIONS, TOOLS, OUTPUT>, 'model' | 'tools' | 'maxOutputTokens' | 'temperature' | 'topP' | 'topK' | 'presencePenalty' | 'frequencyPenalty' | 'stopSequences' | 'seed' | 'headers' | 'instructions' | 'allowSystemInMessages' | 'stopWhen' | 'experimental_telemetry' | 'activeTools' | 'providerOptions' | 'experimental_context' | 'experimental_download'>) => MaybePromiseLike<Pick<ToolLoopAgentSettings<CALL_OPTIONS, TOOLS, OUTPUT>, 'model' | 'tools' | 'maxOutputTokens' | 'temperature' | 'topP' | 'topK' | 'presencePenalty' | 'frequencyPenalty' | 'stopSequences' | 'seed' | 'headers' | 'instructions' | 'allowSystemInMessages' | 'stopWhen' | 'experimental_telemetry' | 'activeTools' | 'providerOptions' | 'experimental_context' | 'experimental_download'> & Omit<Prompt, 'system'>>;
|
|
3464
3480
|
};
|
|
@@ -6507,4 +6523,4 @@ declare function bindTelemetryIntegration(integration: TelemetryIntegration): Te
|
|
|
6507
6523
|
*/
|
|
6508
6524
|
declare function registerTelemetryIntegration(integration: TelemetryIntegration): void;
|
|
6509
6525
|
|
|
6510
|
-
export { AbstractChat, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextOnToolCallFinishCallback, GenerateTextOnToolCallStartCallback, GenerateTextResult, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStartCallback, StreamTextOnStepFinishCallback, StreamTextOnStepStartCallback, StreamTextOnToolCallFinishCallback, StreamTextOnToolCallStartCallback, StreamTextResult, StreamTextTransform, TelemetryIntegration, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToolApprovalRequestOutput, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, bindTelemetryIntegration, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_generateImage, generateSpeech as experimental_generateSpeech, experimental_generateVideo, transcribe as experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateText, getStaticToolName, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isLoopFinished, isReasoningUIPart, isStaticToolUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetryIntegration, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|
|
6526
|
+
export { AbstractChat, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextOnToolCallFinishCallback, GenerateTextOnToolCallStartCallback, GenerateTextResult, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStartCallback, StreamTextOnStepFinishCallback, StreamTextOnStepStartCallback, StreamTextOnToolCallFinishCallback, StreamTextOnToolCallStartCallback, StreamTextResult, StreamTextTransform, TelemetryIntegration, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToolApprovalRequestOutput, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, bindTelemetryIntegration, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, experimental_generateImage, generateSpeech as experimental_generateSpeech, experimental_generateVideo, transcribe as experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateText, getStaticToolName, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isDynamicToolUIPart, isFileUIPart, isLoopFinished, isReasoningUIPart, isStaticToolUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetryIntegration, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
|
package/dist/index.js
CHANGED
|
@@ -112,6 +112,7 @@ __export(src_exports, {
|
|
|
112
112
|
hasToolCall: () => hasToolCall,
|
|
113
113
|
isDataUIPart: () => isDataUIPart,
|
|
114
114
|
isDeepEqualData: () => isDeepEqualData,
|
|
115
|
+
isDynamicToolUIPart: () => isDynamicToolUIPart,
|
|
115
116
|
isFileUIPart: () => isFileUIPart,
|
|
116
117
|
isLoopFinished: () => isLoopFinished,
|
|
117
118
|
isReasoningUIPart: () => isReasoningUIPart,
|
|
@@ -1281,7 +1282,7 @@ function detectMediaType({
|
|
|
1281
1282
|
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
1282
1283
|
|
|
1283
1284
|
// src/version.ts
|
|
1284
|
-
var VERSION = true ? "6.0.
|
|
1285
|
+
var VERSION = true ? "6.0.221" : "0.0.0-test";
|
|
1285
1286
|
|
|
1286
1287
|
// src/util/download/download.ts
|
|
1287
1288
|
var download = async ({
|
|
@@ -2856,6 +2857,26 @@ function prepareRetries({
|
|
|
2856
2857
|
};
|
|
2857
2858
|
}
|
|
2858
2859
|
|
|
2860
|
+
// src/util/set-abort-timeout.ts
|
|
2861
|
+
function setAbortTimeout({
|
|
2862
|
+
abortController,
|
|
2863
|
+
label,
|
|
2864
|
+
timeoutMs
|
|
2865
|
+
}) {
|
|
2866
|
+
if (abortController == null || timeoutMs == null) {
|
|
2867
|
+
return void 0;
|
|
2868
|
+
}
|
|
2869
|
+
return setTimeout(
|
|
2870
|
+
() => abortController.abort(
|
|
2871
|
+
new DOMException(
|
|
2872
|
+
`${label} timeout of ${timeoutMs}ms exceeded`,
|
|
2873
|
+
"TimeoutError"
|
|
2874
|
+
)
|
|
2875
|
+
),
|
|
2876
|
+
timeoutMs
|
|
2877
|
+
);
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2859
2880
|
// src/generate-text/collect-tool-approvals.ts
|
|
2860
2881
|
function collectToolApprovals({
|
|
2861
2882
|
messages
|
|
@@ -3808,6 +3829,7 @@ var array = ({
|
|
|
3808
3829
|
finishReason: context2.finishReason
|
|
3809
3830
|
});
|
|
3810
3831
|
}
|
|
3832
|
+
const validatedElements = [];
|
|
3811
3833
|
for (const element of outerValue.elements) {
|
|
3812
3834
|
const validationResult = await (0, import_provider_utils14.safeValidateTypes)({
|
|
3813
3835
|
value: element,
|
|
@@ -3823,8 +3845,9 @@ var array = ({
|
|
|
3823
3845
|
finishReason: context2.finishReason
|
|
3824
3846
|
});
|
|
3825
3847
|
}
|
|
3848
|
+
validatedElements.push(validationResult.value);
|
|
3826
3849
|
}
|
|
3827
|
-
return
|
|
3850
|
+
return validatedElements;
|
|
3828
3851
|
},
|
|
3829
3852
|
async parsePartialOutput({ text: text2 }) {
|
|
3830
3853
|
const result = await parsePartialJson(text2);
|
|
@@ -4223,6 +4246,7 @@ async function toResponseMessages({
|
|
|
4223
4246
|
tools
|
|
4224
4247
|
}) {
|
|
4225
4248
|
const responseMessages = [];
|
|
4249
|
+
const toolCallOrder = /* @__PURE__ */ new Map();
|
|
4226
4250
|
const content = [];
|
|
4227
4251
|
for (const part of inputContent) {
|
|
4228
4252
|
if (part.type === "source") {
|
|
@@ -4258,6 +4282,9 @@ async function toResponseMessages({
|
|
|
4258
4282
|
});
|
|
4259
4283
|
break;
|
|
4260
4284
|
case "tool-call":
|
|
4285
|
+
if (!toolCallOrder.has(part.toolCallId)) {
|
|
4286
|
+
toolCallOrder.set(part.toolCallId, toolCallOrder.size);
|
|
4287
|
+
}
|
|
4261
4288
|
content.push({
|
|
4262
4289
|
type: "tool-call",
|
|
4263
4290
|
toolCallId: part.toolCallId,
|
|
@@ -4340,11 +4367,37 @@ async function toResponseMessages({
|
|
|
4340
4367
|
if (toolResultContent.length > 0) {
|
|
4341
4368
|
responseMessages.push({
|
|
4342
4369
|
role: "tool",
|
|
4343
|
-
content:
|
|
4370
|
+
content: sortToolResultContentByToolCallOrder({
|
|
4371
|
+
toolResultContent,
|
|
4372
|
+
toolCallOrder
|
|
4373
|
+
})
|
|
4344
4374
|
});
|
|
4345
4375
|
}
|
|
4346
4376
|
return responseMessages;
|
|
4347
4377
|
}
|
|
4378
|
+
function sortToolResultContentByToolCallOrder({
|
|
4379
|
+
toolResultContent,
|
|
4380
|
+
toolCallOrder
|
|
4381
|
+
}) {
|
|
4382
|
+
const sortedToolResults = toolResultContent.filter((part) => part.type === "tool-result").map((part, index) => ({ part, index })).sort((a, b) => {
|
|
4383
|
+
const aOrder = toolCallOrder.get(a.part.toolCallId);
|
|
4384
|
+
const bOrder = toolCallOrder.get(b.part.toolCallId);
|
|
4385
|
+
if (aOrder == null && bOrder == null) {
|
|
4386
|
+
return a.index - b.index;
|
|
4387
|
+
}
|
|
4388
|
+
if (aOrder == null) {
|
|
4389
|
+
return 1;
|
|
4390
|
+
}
|
|
4391
|
+
if (bOrder == null) {
|
|
4392
|
+
return -1;
|
|
4393
|
+
}
|
|
4394
|
+
return aOrder - bOrder || a.index - b.index;
|
|
4395
|
+
}).map(({ part }) => part);
|
|
4396
|
+
let toolResultIndex = 0;
|
|
4397
|
+
return toolResultContent.map(
|
|
4398
|
+
(part) => part.type === "tool-result" ? sortedToolResults[toolResultIndex++] : part
|
|
4399
|
+
);
|
|
4400
|
+
}
|
|
4348
4401
|
|
|
4349
4402
|
// src/util/merge-abort-signals.ts
|
|
4350
4403
|
function mergeAbortSignals(...signals) {
|
|
@@ -4597,7 +4650,11 @@ async function generateText({
|
|
|
4597
4650
|
const steps = [];
|
|
4598
4651
|
const pendingDeferredToolCalls = /* @__PURE__ */ new Map();
|
|
4599
4652
|
do {
|
|
4600
|
-
const stepTimeoutId =
|
|
4653
|
+
const stepTimeoutId = setAbortTimeout({
|
|
4654
|
+
abortController: stepAbortController,
|
|
4655
|
+
label: "Step",
|
|
4656
|
+
timeoutMs: stepTimeoutMs
|
|
4657
|
+
});
|
|
4601
4658
|
try {
|
|
4602
4659
|
const stepInputMessages = [...initialMessages, ...responseMessages];
|
|
4603
4660
|
const prepareStepResult = await (prepareStep == null ? void 0 : prepareStep({
|
|
@@ -6560,7 +6617,6 @@ function runToolsTransformation({
|
|
|
6560
6617
|
}
|
|
6561
6618
|
});
|
|
6562
6619
|
const outstandingToolResults = /* @__PURE__ */ new Set();
|
|
6563
|
-
const toolInputs = /* @__PURE__ */ new Map();
|
|
6564
6620
|
const toolCallsByToolCallId = /* @__PURE__ */ new Map();
|
|
6565
6621
|
let canClose = false;
|
|
6566
6622
|
let finishChunk = void 0;
|
|
@@ -6692,7 +6748,6 @@ function runToolsTransformation({
|
|
|
6692
6748
|
});
|
|
6693
6749
|
break;
|
|
6694
6750
|
}
|
|
6695
|
-
toolInputs.set(toolCall.toolCallId, toolCall.input);
|
|
6696
6751
|
if (tool2.execute != null && toolCall.providerExecuted !== true) {
|
|
6697
6752
|
const toolExecutionId = generateId2();
|
|
6698
6753
|
outstandingToolResults.add(toolExecutionId);
|
|
@@ -6736,7 +6791,7 @@ function runToolsTransformation({
|
|
|
6736
6791
|
type: "tool-error",
|
|
6737
6792
|
toolCallId: chunk.toolCallId,
|
|
6738
6793
|
toolName,
|
|
6739
|
-
input:
|
|
6794
|
+
input: toolCall == null ? void 0 : toolCall.input,
|
|
6740
6795
|
providerExecuted: true,
|
|
6741
6796
|
error: chunk.result,
|
|
6742
6797
|
dynamic: chunk.dynamic,
|
|
@@ -6748,7 +6803,7 @@ function runToolsTransformation({
|
|
|
6748
6803
|
type: "tool-result",
|
|
6749
6804
|
toolCallId: chunk.toolCallId,
|
|
6750
6805
|
toolName,
|
|
6751
|
-
input:
|
|
6806
|
+
input: toolCall == null ? void 0 : toolCall.input,
|
|
6752
6807
|
output: chunk.result,
|
|
6753
6808
|
providerExecuted: true,
|
|
6754
6809
|
dynamic: chunk.dynamic,
|
|
@@ -7548,18 +7603,21 @@ var DefaultStreamTextResult = class {
|
|
|
7548
7603
|
}) {
|
|
7549
7604
|
var _a22, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
7550
7605
|
const includeRawChunks2 = self.includeRawChunks;
|
|
7551
|
-
const stepTimeoutId =
|
|
7606
|
+
const stepTimeoutId = setAbortTimeout({
|
|
7607
|
+
abortController: stepAbortController,
|
|
7608
|
+
label: "Step",
|
|
7609
|
+
timeoutMs: stepTimeoutMs
|
|
7610
|
+
});
|
|
7552
7611
|
let chunkTimeoutId = void 0;
|
|
7553
7612
|
function resetChunkTimeout() {
|
|
7554
|
-
if (
|
|
7555
|
-
|
|
7556
|
-
clearTimeout(chunkTimeoutId);
|
|
7557
|
-
}
|
|
7558
|
-
chunkTimeoutId = setTimeout(
|
|
7559
|
-
() => chunkAbortController.abort(),
|
|
7560
|
-
chunkTimeoutMs
|
|
7561
|
-
);
|
|
7613
|
+
if (chunkTimeoutId != null) {
|
|
7614
|
+
clearTimeout(chunkTimeoutId);
|
|
7562
7615
|
}
|
|
7616
|
+
chunkTimeoutId = setAbortTimeout({
|
|
7617
|
+
abortController: chunkAbortController,
|
|
7618
|
+
label: "Chunk",
|
|
7619
|
+
timeoutMs: chunkTimeoutMs
|
|
7620
|
+
});
|
|
7563
7621
|
}
|
|
7564
7622
|
function clearChunkTimeout() {
|
|
7565
7623
|
if (chunkTimeoutId != null) {
|
|
@@ -7572,6 +7630,8 @@ var DefaultStreamTextResult = class {
|
|
|
7572
7630
|
clearTimeout(stepTimeoutId);
|
|
7573
7631
|
}
|
|
7574
7632
|
}
|
|
7633
|
+
abortSignal == null ? void 0 : abortSignal.addEventListener("abort", clearStepTimeout);
|
|
7634
|
+
abortSignal == null ? void 0 : abortSignal.addEventListener("abort", clearChunkTimeout);
|
|
7575
7635
|
try {
|
|
7576
7636
|
stepFinish = new import_provider_utils20.DelayedPromise();
|
|
7577
7637
|
const stepInputMessages = [...initialMessages, ...responseMessages];
|
|
@@ -8067,9 +8127,10 @@ var DefaultStreamTextResult = class {
|
|
|
8067
8127
|
})
|
|
8068
8128
|
)
|
|
8069
8129
|
);
|
|
8070
|
-
}
|
|
8130
|
+
} catch (error) {
|
|
8071
8131
|
clearStepTimeout();
|
|
8072
8132
|
clearChunkTimeout();
|
|
8133
|
+
throw error;
|
|
8073
8134
|
}
|
|
8074
8135
|
}
|
|
8075
8136
|
await streamStep({
|
|
@@ -8987,10 +9048,12 @@ async function convertToModelMessages(messages, options) {
|
|
|
8987
9048
|
throw new Error(`Unsupported part: ${_exhaustiveCheck}`);
|
|
8988
9049
|
}
|
|
8989
9050
|
}
|
|
8990
|
-
|
|
8991
|
-
|
|
8992
|
-
|
|
8993
|
-
|
|
9051
|
+
if (content.length > 0) {
|
|
9052
|
+
modelMessages.push({
|
|
9053
|
+
role: "assistant",
|
|
9054
|
+
content
|
|
9055
|
+
});
|
|
9056
|
+
}
|
|
8994
9057
|
const toolParts = block.filter(
|
|
8995
9058
|
(part) => {
|
|
8996
9059
|
var _a23;
|
|
@@ -9021,7 +9084,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
9021
9084
|
toolName: getToolName(toolPart),
|
|
9022
9085
|
output: {
|
|
9023
9086
|
type: "error-text",
|
|
9024
|
-
value: (_g = (_f = toolPart.approval) == null ? void 0 : _f.reason) != null ? _g : "Tool execution denied."
|
|
9087
|
+
value: (_g = (_f = toolPart.approval) == null ? void 0 : _f.reason) != null ? _g : "Tool call execution denied."
|
|
9025
9088
|
},
|
|
9026
9089
|
...toolPart.callProviderMetadata != null ? { providerOptions: toolPart.callProviderMetadata } : {}
|
|
9027
9090
|
});
|
|
@@ -12093,6 +12156,9 @@ function defaultSettingsMiddleware({
|
|
|
12093
12156
|
function defaultTransform(text2) {
|
|
12094
12157
|
return text2.replace(/^```(?:json)?\s*\n?/, "").replace(/\n?```\s*$/, "").trim();
|
|
12095
12158
|
}
|
|
12159
|
+
function stripMarkdownCodeFenceSuffix(text2) {
|
|
12160
|
+
return text2.replace(/\n?```\s*$/, "").trimEnd();
|
|
12161
|
+
}
|
|
12096
12162
|
function extractJsonMiddleware(options) {
|
|
12097
12163
|
var _a22;
|
|
12098
12164
|
const transform = (_a22 = options == null ? void 0 : options.transform) != null ? _a22 : defaultTransform;
|
|
@@ -12187,9 +12253,11 @@ function extractJsonMiddleware(options) {
|
|
|
12187
12253
|
if (block.phase === "buffering") {
|
|
12188
12254
|
remaining = transform(remaining);
|
|
12189
12255
|
} else if (block.prefixStripped) {
|
|
12190
|
-
remaining = remaining
|
|
12191
|
-
} else {
|
|
12256
|
+
remaining = stripMarkdownCodeFenceSuffix(remaining);
|
|
12257
|
+
} else if (block.phase === "prefix") {
|
|
12192
12258
|
remaining = transform(remaining);
|
|
12259
|
+
} else {
|
|
12260
|
+
remaining = stripMarkdownCodeFenceSuffix(remaining);
|
|
12193
12261
|
}
|
|
12194
12262
|
if (remaining.length > 0) {
|
|
12195
12263
|
controller.enqueue({
|
|
@@ -13582,7 +13650,7 @@ var AbstractChat = class {
|
|
|
13582
13650
|
const updatePart = (part) => isToolUIPart(part) && part.state === "approval-requested" && part.approval.id === id ? {
|
|
13583
13651
|
...part,
|
|
13584
13652
|
state: "approval-responded",
|
|
13585
|
-
approval: { id, approved, reason }
|
|
13653
|
+
approval: { ...part.approval, id, approved, reason }
|
|
13586
13654
|
} : part;
|
|
13587
13655
|
this.state.replaceMessage(messages.length - 1, {
|
|
13588
13656
|
...lastMessage,
|
|
@@ -14054,6 +14122,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
|
|
|
14054
14122
|
hasToolCall,
|
|
14055
14123
|
isDataUIPart,
|
|
14056
14124
|
isDeepEqualData,
|
|
14125
|
+
isDynamicToolUIPart,
|
|
14057
14126
|
isFileUIPart,
|
|
14058
14127
|
isLoopFinished,
|
|
14059
14128
|
isReasoningUIPart,
|