ai 6.0.0-beta.81 → 6.0.0-beta.83

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,21 @@
1
1
  # ai
2
2
 
3
+ ## 6.0.0-beta.83
4
+
5
+ ### Patch Changes
6
+
7
+ - e1f6e8e: feat(ai): add Output.json()
8
+
9
+ ## 6.0.0-beta.82
10
+
11
+ ### Patch Changes
12
+
13
+ - 37c58a0: This release introduces `wrapEmbeddingModel`, a new helper that brings embedding model customization capabilities similar to `wrapLanguageModel`.
14
+ - Updated dependencies [37c58a0]
15
+ - @ai-sdk/provider@3.0.0-beta.13
16
+ - @ai-sdk/gateway@2.0.0-beta.45
17
+ - @ai-sdk/provider-utils@4.0.0-beta.27
18
+
3
19
  ## 6.0.0-beta.81
4
20
 
5
21
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { Tool, InferToolInput, InferToolOutput, AssistantModelMessage, ToolModelMessage, ReasoningPart, FlexibleSchema, InferSchema, ModelMessage, SystemModelMessage, UserModelMessage, ProviderOptions, IdGenerator, ToolCall, MaybePromiseLike, TextPart, FilePart, Resolvable, FetchFunction, DataContent } from '@ai-sdk/provider-utils';
4
4
  export { AssistantContent, AssistantModelMessage, DataContent, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
5
5
  import * as _ai_sdk_provider from '@ai-sdk/provider';
6
- import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
6
+ import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, EmbeddingModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, EmbeddingModelCallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
7
7
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
8
8
  import { ServerResponse } from 'node:http';
9
9
  import { AttributeValue, Tracer } from '@opentelemetry/api';
@@ -90,6 +90,8 @@ type ToolChoice<TOOLS extends Record<string, unknown>> = 'auto' | 'none' | 'requ
90
90
 
91
91
  type LanguageModelMiddleware = LanguageModelV3Middleware;
92
92
 
93
+ type EmbeddingModelMiddleware = EmbeddingModelV3Middleware;
94
+
93
95
  type LanguageModelRequestMetadata = {
94
96
  /**
95
97
  Request HTTP body that was sent to the provider API.
@@ -684,16 +686,24 @@ type PartialObject<ObjectType extends object> = {
684
686
  };
685
687
 
686
688
  interface Output<OUTPUT = any, PARTIAL = any> {
687
- readonly type: 'object' | 'text';
689
+ /**
690
+ * The response format to use for the model.
691
+ */
688
692
  responseFormat: PromiseLike<LanguageModelV3CallOptions['responseFormat']>;
689
- parseOutput(options: {
693
+ /**
694
+ * Parses the complete output of the model.
695
+ */
696
+ parseCompleteOutput(options: {
690
697
  text: string;
691
698
  }, context: {
692
699
  response: LanguageModelResponseMetadata;
693
700
  usage: LanguageModelUsage;
694
701
  finishReason: FinishReason;
695
702
  }): Promise<OUTPUT>;
696
- parsePartial(options: {
703
+ /**
704
+ * Parses the partial output of the model.
705
+ */
706
+ parsePartialOutput(options: {
697
707
  text: string;
698
708
  }): Promise<{
699
709
  partial: PARTIAL;
@@ -737,10 +747,18 @@ declare const array: <ELEMENT>({ element: inputElementSchema, }: {
737
747
  declare const choice: <ELEMENT extends string>({ options: choiceOptions, }: {
738
748
  options: Array<ELEMENT>;
739
749
  }) => Output<ELEMENT, ELEMENT>;
750
+ /**
751
+ * Output specification for unstructured JSON generation.
752
+ * When the model generates a text response, it will return a JSON object.
753
+ *
754
+ * @returns An output specification for generating JSON.
755
+ */
756
+ declare const json: () => Output<JSONValue$1, JSONValue$1>;
740
757
 
741
758
  type output_Output<OUTPUT = any, PARTIAL = any> = Output<OUTPUT, PARTIAL>;
742
759
  declare const output_array: typeof array;
743
760
  declare const output_choice: typeof choice;
761
+ declare const output_json: typeof json;
744
762
  declare const output_object: typeof object;
745
763
  declare const output_text: typeof text;
746
764
  declare namespace output {
@@ -748,6 +766,7 @@ declare namespace output {
748
766
  output_Output as Output,
749
767
  output_array as array,
750
768
  output_choice as choice,
769
+ output_json as json,
751
770
  output_object as object,
752
771
  output_text as text,
753
772
  };
@@ -4626,6 +4645,16 @@ type LogWarningsFunction = (options: {
4626
4645
  model: string;
4627
4646
  }) => void;
4628
4647
 
4648
+ /**
4649
+ * Applies default settings for a embedding model.
4650
+ */
4651
+ declare function defaultEmbeddingSettingsMiddleware({ settings, }: {
4652
+ settings: Partial<{
4653
+ headers?: EmbeddingModelCallOptions<string>['headers'];
4654
+ providerOptions?: EmbeddingModelCallOptions<string>['providerOptions'];
4655
+ }>;
4656
+ }): EmbeddingModelMiddleware;
4657
+
4629
4658
  /**
4630
4659
  * Applies default settings for a language model.
4631
4660
  */
@@ -4685,6 +4714,25 @@ declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, p
4685
4714
  providerId?: string;
4686
4715
  }) => LanguageModelV3;
4687
4716
 
4717
+ /**
4718
+ * Wraps a EmbeddingModelV3 instance with middleware functionality.
4719
+ * This function allows you to apply middleware to transform parameters,
4720
+ * wrap embed operations of a language model.
4721
+ *
4722
+ * @param options - Configuration options for wrapping the embedding model.
4723
+ * @param options.model - The original EmbeddingModelV3 instance to be wrapped.
4724
+ * @param options.middleware - The middleware to be applied to the embedding model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
4725
+ * @param options.modelId - Optional custom model ID to override the original model's ID.
4726
+ * @param options.providerId - Optional custom provider ID to override the original model's provider ID.
4727
+ * @returns A new EmbeddingModelV3 instance with middleware applied.
4728
+ */
4729
+ declare const wrapEmbeddingModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
4730
+ model: EmbeddingModelV3<string>;
4731
+ middleware: EmbeddingModelMiddleware | EmbeddingModelMiddleware[];
4732
+ modelId?: string;
4733
+ providerId?: string;
4734
+ }) => EmbeddingModelV3<string>;
4735
+
4688
4736
  /**
4689
4737
  * Wraps a ProviderV3 instance with middleware functionality.
4690
4738
  * This function allows you to apply middleware to all language models
@@ -5042,4 +5090,4 @@ declare global {
5042
5090
  var AI_SDK_LOG_WARNINGS: LogWarningsFunction | undefined | false;
5043
5091
  }
5044
5092
 
5045
- export { AbstractChat, Agent, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, 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, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferAgentUIMessage, InferGenerateOutput, InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolApprovalRequestOutput, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isReasoningUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
5093
+ export { AbstractChat, Agent, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, 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, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferAgentUIMessage, InferGenerateOutput, InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolApprovalRequestOutput, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isReasoningUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapLanguageModel, wrapProvider };
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { Tool, InferToolInput, InferToolOutput, AssistantModelMessage, ToolModelMessage, ReasoningPart, FlexibleSchema, InferSchema, ModelMessage, SystemModelMessage, UserModelMessage, ProviderOptions, IdGenerator, ToolCall, MaybePromiseLike, TextPart, FilePart, Resolvable, FetchFunction, DataContent } from '@ai-sdk/provider-utils';
4
4
  export { AssistantContent, AssistantModelMessage, DataContent, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
5
5
  import * as _ai_sdk_provider from '@ai-sdk/provider';
6
- import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
6
+ import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, EmbeddingModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, EmbeddingModelCallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
7
7
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
8
8
  import { ServerResponse } from 'node:http';
9
9
  import { AttributeValue, Tracer } from '@opentelemetry/api';
@@ -90,6 +90,8 @@ type ToolChoice<TOOLS extends Record<string, unknown>> = 'auto' | 'none' | 'requ
90
90
 
91
91
  type LanguageModelMiddleware = LanguageModelV3Middleware;
92
92
 
93
+ type EmbeddingModelMiddleware = EmbeddingModelV3Middleware;
94
+
93
95
  type LanguageModelRequestMetadata = {
94
96
  /**
95
97
  Request HTTP body that was sent to the provider API.
@@ -684,16 +686,24 @@ type PartialObject<ObjectType extends object> = {
684
686
  };
685
687
 
686
688
  interface Output<OUTPUT = any, PARTIAL = any> {
687
- readonly type: 'object' | 'text';
689
+ /**
690
+ * The response format to use for the model.
691
+ */
688
692
  responseFormat: PromiseLike<LanguageModelV3CallOptions['responseFormat']>;
689
- parseOutput(options: {
693
+ /**
694
+ * Parses the complete output of the model.
695
+ */
696
+ parseCompleteOutput(options: {
690
697
  text: string;
691
698
  }, context: {
692
699
  response: LanguageModelResponseMetadata;
693
700
  usage: LanguageModelUsage;
694
701
  finishReason: FinishReason;
695
702
  }): Promise<OUTPUT>;
696
- parsePartial(options: {
703
+ /**
704
+ * Parses the partial output of the model.
705
+ */
706
+ parsePartialOutput(options: {
697
707
  text: string;
698
708
  }): Promise<{
699
709
  partial: PARTIAL;
@@ -737,10 +747,18 @@ declare const array: <ELEMENT>({ element: inputElementSchema, }: {
737
747
  declare const choice: <ELEMENT extends string>({ options: choiceOptions, }: {
738
748
  options: Array<ELEMENT>;
739
749
  }) => Output<ELEMENT, ELEMENT>;
750
+ /**
751
+ * Output specification for unstructured JSON generation.
752
+ * When the model generates a text response, it will return a JSON object.
753
+ *
754
+ * @returns An output specification for generating JSON.
755
+ */
756
+ declare const json: () => Output<JSONValue$1, JSONValue$1>;
740
757
 
741
758
  type output_Output<OUTPUT = any, PARTIAL = any> = Output<OUTPUT, PARTIAL>;
742
759
  declare const output_array: typeof array;
743
760
  declare const output_choice: typeof choice;
761
+ declare const output_json: typeof json;
744
762
  declare const output_object: typeof object;
745
763
  declare const output_text: typeof text;
746
764
  declare namespace output {
@@ -748,6 +766,7 @@ declare namespace output {
748
766
  output_Output as Output,
749
767
  output_array as array,
750
768
  output_choice as choice,
769
+ output_json as json,
751
770
  output_object as object,
752
771
  output_text as text,
753
772
  };
@@ -4626,6 +4645,16 @@ type LogWarningsFunction = (options: {
4626
4645
  model: string;
4627
4646
  }) => void;
4628
4647
 
4648
+ /**
4649
+ * Applies default settings for a embedding model.
4650
+ */
4651
+ declare function defaultEmbeddingSettingsMiddleware({ settings, }: {
4652
+ settings: Partial<{
4653
+ headers?: EmbeddingModelCallOptions<string>['headers'];
4654
+ providerOptions?: EmbeddingModelCallOptions<string>['providerOptions'];
4655
+ }>;
4656
+ }): EmbeddingModelMiddleware;
4657
+
4629
4658
  /**
4630
4659
  * Applies default settings for a language model.
4631
4660
  */
@@ -4685,6 +4714,25 @@ declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, p
4685
4714
  providerId?: string;
4686
4715
  }) => LanguageModelV3;
4687
4716
 
4717
+ /**
4718
+ * Wraps a EmbeddingModelV3 instance with middleware functionality.
4719
+ * This function allows you to apply middleware to transform parameters,
4720
+ * wrap embed operations of a language model.
4721
+ *
4722
+ * @param options - Configuration options for wrapping the embedding model.
4723
+ * @param options.model - The original EmbeddingModelV3 instance to be wrapped.
4724
+ * @param options.middleware - The middleware to be applied to the embedding model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
4725
+ * @param options.modelId - Optional custom model ID to override the original model's ID.
4726
+ * @param options.providerId - Optional custom provider ID to override the original model's provider ID.
4727
+ * @returns A new EmbeddingModelV3 instance with middleware applied.
4728
+ */
4729
+ declare const wrapEmbeddingModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
4730
+ model: EmbeddingModelV3<string>;
4731
+ middleware: EmbeddingModelMiddleware | EmbeddingModelMiddleware[];
4732
+ modelId?: string;
4733
+ providerId?: string;
4734
+ }) => EmbeddingModelV3<string>;
4735
+
4688
4736
  /**
4689
4737
  * Wraps a ProviderV3 instance with middleware functionality.
4690
4738
  * This function allows you to apply middleware to all language models
@@ -5042,4 +5090,4 @@ declare global {
5042
5090
  var AI_SDK_LOG_WARNINGS: LogWarningsFunction | undefined | false;
5043
5091
  }
5044
5092
 
5045
- export { AbstractChat, Agent, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, 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, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferAgentUIMessage, InferGenerateOutput, InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolApprovalRequestOutput, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isReasoningUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
5093
+ export { AbstractChat, Agent, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, 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, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnFinishCallback, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferAgentUIMessage, InferGenerateOutput, InferStreamOutput, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RerankResult, RerankingModel, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolApprovalRequestOutput, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolLoopAgent, ToolLoopAgentOnFinishCallback, ToolLoopAgentOnStepFinishCallback, ToolLoopAgentSettings, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDataUIPart, isDeepEqualData, isFileUIPart, isReasoningUIPart, isTextUIPart, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, uiMessageChunkSchema, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapLanguageModel, wrapProvider };
package/dist/index.js CHANGED
@@ -82,6 +82,7 @@ __export(src_exports, {
82
82
  createUIMessageStream: () => createUIMessageStream,
83
83
  createUIMessageStreamResponse: () => createUIMessageStreamResponse,
84
84
  customProvider: () => customProvider,
85
+ defaultEmbeddingSettingsMiddleware: () => defaultEmbeddingSettingsMiddleware,
85
86
  defaultSettingsMiddleware: () => defaultSettingsMiddleware,
86
87
  dynamicTool: () => import_provider_utils36.dynamicTool,
87
88
  embed: () => embed,
@@ -132,6 +133,7 @@ __export(src_exports, {
132
133
  uiMessageChunkSchema: () => uiMessageChunkSchema,
133
134
  userModelMessageSchema: () => userModelMessageSchema,
134
135
  validateUIMessages: () => validateUIMessages,
136
+ wrapEmbeddingModel: () => wrapEmbeddingModel,
135
137
  wrapLanguageModel: () => wrapLanguageModel,
136
138
  wrapProvider: () => wrapProvider,
137
139
  zodSchema: () => import_provider_utils36.zodSchema
@@ -875,7 +877,7 @@ function detectMediaType({
875
877
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
876
878
 
877
879
  // src/version.ts
878
- var VERSION = true ? "6.0.0-beta.81" : "0.0.0-test";
880
+ var VERSION = true ? "6.0.0-beta.83" : "0.0.0-test";
879
881
 
880
882
  // src/util/download/download.ts
881
883
  var download = async ({ url }) => {
@@ -3056,7 +3058,7 @@ async function generateText({
3056
3058
  }));
3057
3059
  let resolvedOutput;
3058
3060
  if (lastStep.finishReason === "stop") {
3059
- resolvedOutput = await (output == null ? void 0 : output.parseOutput(
3061
+ resolvedOutput = await (output == null ? void 0 : output.parseCompleteOutput(
3060
3062
  { text: lastStep.text },
3061
3063
  {
3062
3064
  response: lastStep.response,
@@ -5083,7 +5085,7 @@ function createOutputTransformStream(output) {
5083
5085
  }
5084
5086
  text2 += chunk.text;
5085
5087
  textChunk += chunk.text;
5086
- const result = await output.parsePartial({ text: text2 });
5088
+ const result = await output.parsePartialOutput({ text: text2 });
5087
5089
  if (result != null) {
5088
5090
  const currentJson = JSON.stringify(result.partial);
5089
5091
  if (currentJson !== lastPublishedJson) {
@@ -9179,18 +9181,18 @@ var output_exports = {};
9179
9181
  __export(output_exports, {
9180
9182
  array: () => array,
9181
9183
  choice: () => choice,
9184
+ json: () => json,
9182
9185
  object: () => object,
9183
9186
  text: () => text
9184
9187
  });
9185
9188
  var import_provider27 = require("@ai-sdk/provider");
9186
9189
  var import_provider_utils29 = require("@ai-sdk/provider-utils");
9187
9190
  var text = () => ({
9188
- type: "text",
9189
9191
  responseFormat: Promise.resolve({ type: "text" }),
9190
- async parseOutput({ text: text2 }) {
9192
+ async parseCompleteOutput({ text: text2 }) {
9191
9193
  return text2;
9192
9194
  },
9193
- async parsePartial({ text: text2 }) {
9195
+ async parsePartialOutput({ text: text2 }) {
9194
9196
  return { partial: text2 };
9195
9197
  }
9196
9198
  });
@@ -9199,12 +9201,11 @@ var object = ({
9199
9201
  }) => {
9200
9202
  const schema = (0, import_provider_utils29.asSchema)(inputSchema);
9201
9203
  return {
9202
- type: "object",
9203
9204
  responseFormat: (0, import_provider_utils29.resolve)(schema.jsonSchema).then((jsonSchema2) => ({
9204
9205
  type: "json",
9205
9206
  schema: jsonSchema2
9206
9207
  })),
9207
- async parseOutput({ text: text2 }, context) {
9208
+ async parseCompleteOutput({ text: text2 }, context) {
9208
9209
  const parseResult = await (0, import_provider_utils29.safeParseJSON)({ text: text2 });
9209
9210
  if (!parseResult.success) {
9210
9211
  throw new NoObjectGeneratedError({
@@ -9232,7 +9233,7 @@ var object = ({
9232
9233
  }
9233
9234
  return validationResult.value;
9234
9235
  },
9235
- async parsePartial({ text: text2 }) {
9236
+ async parsePartialOutput({ text: text2 }) {
9236
9237
  const result = await parsePartialJson(text2);
9237
9238
  switch (result.state) {
9238
9239
  case "failed-parse":
@@ -9246,10 +9247,6 @@ var object = ({
9246
9247
  partial: result.value
9247
9248
  };
9248
9249
  }
9249
- default: {
9250
- const _exhaustiveCheck = result.state;
9251
- throw new Error(`Unsupported parse state: ${_exhaustiveCheck}`);
9252
- }
9253
9250
  }
9254
9251
  }
9255
9252
  };
@@ -9259,7 +9256,6 @@ var array = ({
9259
9256
  }) => {
9260
9257
  const elementSchema = (0, import_provider_utils29.asSchema)(inputElementSchema);
9261
9258
  return {
9262
- type: "object",
9263
9259
  // JSON schema that describes an array of elements:
9264
9260
  responseFormat: (0, import_provider_utils29.resolve)(elementSchema.jsonSchema).then((jsonSchema2) => {
9265
9261
  const { $schema, ...itemSchema } = jsonSchema2;
@@ -9276,7 +9272,7 @@ var array = ({
9276
9272
  }
9277
9273
  };
9278
9274
  }),
9279
- async parseOutput({ text: text2 }, context) {
9275
+ async parseCompleteOutput({ text: text2 }, context) {
9280
9276
  const parseResult = await (0, import_provider_utils29.safeParseJSON)({ text: text2 });
9281
9277
  if (!parseResult.success) {
9282
9278
  throw new NoObjectGeneratedError({
@@ -9320,7 +9316,7 @@ var array = ({
9320
9316
  }
9321
9317
  return outerValue.elements;
9322
9318
  },
9323
- async parsePartial({ text: text2 }) {
9319
+ async parsePartialOutput({ text: text2 }) {
9324
9320
  const result = await parsePartialJson(text2);
9325
9321
  switch (result.state) {
9326
9322
  case "failed-parse":
@@ -9346,10 +9342,6 @@ var array = ({
9346
9342
  }
9347
9343
  return { partial: parsedElements };
9348
9344
  }
9349
- default: {
9350
- const _exhaustiveCheck = result.state;
9351
- throw new Error(`Unsupported parse state: ${_exhaustiveCheck}`);
9352
- }
9353
9345
  }
9354
9346
  }
9355
9347
  };
@@ -9358,7 +9350,6 @@ var choice = ({
9358
9350
  options: choiceOptions
9359
9351
  }) => {
9360
9352
  return {
9361
- type: "object",
9362
9353
  // JSON schema that describes an enumeration:
9363
9354
  responseFormat: Promise.resolve({
9364
9355
  type: "json",
@@ -9372,7 +9363,7 @@ var choice = ({
9372
9363
  additionalProperties: false
9373
9364
  }
9374
9365
  }),
9375
- async parseOutput({ text: text2 }, context) {
9366
+ async parseCompleteOutput({ text: text2 }, context) {
9376
9367
  const parseResult = await (0, import_provider_utils29.safeParseJSON)({ text: text2 });
9377
9368
  if (!parseResult.success) {
9378
9369
  throw new NoObjectGeneratedError({
@@ -9400,7 +9391,7 @@ var choice = ({
9400
9391
  }
9401
9392
  return outerValue.result;
9402
9393
  },
9403
- async parsePartial({ text: text2 }) {
9394
+ async parsePartialOutput({ text: text2 }) {
9404
9395
  const result = await parsePartialJson(text2);
9405
9396
  switch (result.state) {
9406
9397
  case "failed-parse":
@@ -9422,9 +9413,39 @@ var choice = ({
9422
9413
  return potentialMatches.length === 1 ? { partial: potentialMatches[0] } : void 0;
9423
9414
  }
9424
9415
  }
9425
- default: {
9426
- const _exhaustiveCheck = result.state;
9427
- throw new Error(`Unsupported parse state: ${_exhaustiveCheck}`);
9416
+ }
9417
+ }
9418
+ };
9419
+ };
9420
+ var json = () => {
9421
+ return {
9422
+ responseFormat: Promise.resolve({
9423
+ type: "json"
9424
+ }),
9425
+ async parseCompleteOutput({ text: text2 }, context) {
9426
+ const parseResult = await (0, import_provider_utils29.safeParseJSON)({ text: text2 });
9427
+ if (!parseResult.success) {
9428
+ throw new NoObjectGeneratedError({
9429
+ message: "No object generated: could not parse the response.",
9430
+ cause: parseResult.error,
9431
+ text: text2,
9432
+ response: context.response,
9433
+ usage: context.usage,
9434
+ finishReason: context.finishReason
9435
+ });
9436
+ }
9437
+ return parseResult.value;
9438
+ },
9439
+ async parsePartialOutput({ text: text2 }) {
9440
+ const result = await parsePartialJson(text2);
9441
+ switch (result.state) {
9442
+ case "failed-parse":
9443
+ case "undefined-input": {
9444
+ return void 0;
9445
+ }
9446
+ case "repaired-parse":
9447
+ case "successful-parse": {
9448
+ return result.value === void 0 ? void 0 : { partial: result.value };
9428
9449
  }
9429
9450
  }
9430
9451
  }
@@ -9585,12 +9606,27 @@ function smoothStream({
9585
9606
  };
9586
9607
  }
9587
9608
 
9609
+ // src/middleware/default-embedding-settings-middleware.ts
9610
+ function defaultEmbeddingSettingsMiddleware({
9611
+ settings
9612
+ }) {
9613
+ return {
9614
+ specificationVersion: "v3",
9615
+ transformParams: async ({ params }) => {
9616
+ return mergeObjects(
9617
+ settings,
9618
+ params
9619
+ );
9620
+ }
9621
+ };
9622
+ }
9623
+
9588
9624
  // src/middleware/default-settings-middleware.ts
9589
9625
  function defaultSettingsMiddleware({
9590
9626
  settings
9591
9627
  }) {
9592
9628
  return {
9593
- middlewareVersion: "v3",
9629
+ specificationVersion: "v3",
9594
9630
  transformParams: async ({ params }) => {
9595
9631
  return mergeObjects(settings, params);
9596
9632
  }
@@ -9624,7 +9660,7 @@ function extractReasoningMiddleware({
9624
9660
  const openingTag = `<${tagName}>`;
9625
9661
  const closingTag = `</${tagName}>`;
9626
9662
  return {
9627
- middlewareVersion: "v3",
9663
+ specificationVersion: "v3",
9628
9664
  wrapGenerate: async ({ doGenerate }) => {
9629
9665
  const { content, ...rest } = await doGenerate();
9630
9666
  const transformedContent = [];
@@ -9770,7 +9806,7 @@ function extractReasoningMiddleware({
9770
9806
  // src/middleware/simulate-streaming-middleware.ts
9771
9807
  function simulateStreamingMiddleware() {
9772
9808
  return {
9773
- middlewareVersion: "v3",
9809
+ specificationVersion: "v3",
9774
9810
  wrapStream: async ({ doGenerate }) => {
9775
9811
  const result = await doGenerate();
9776
9812
  let id = 0;
@@ -9891,6 +9927,54 @@ var doWrap = ({
9891
9927
  };
9892
9928
  };
9893
9929
 
9930
+ // src/middleware/wrap-embedding-model.ts
9931
+ var wrapEmbeddingModel = ({
9932
+ model,
9933
+ middleware: middlewareArg,
9934
+ modelId,
9935
+ providerId
9936
+ }) => {
9937
+ return asArray(middlewareArg).reverse().reduce((wrappedModel, middleware) => {
9938
+ return doWrap2({ model: wrappedModel, middleware, modelId, providerId });
9939
+ }, model);
9940
+ };
9941
+ var doWrap2 = ({
9942
+ model,
9943
+ middleware: {
9944
+ transformParams,
9945
+ wrapEmbed,
9946
+ overrideProvider,
9947
+ overrideModelId,
9948
+ overrideMaxEmbeddingsPerCall,
9949
+ overrideSupportsParallelCalls
9950
+ },
9951
+ modelId,
9952
+ providerId
9953
+ }) => {
9954
+ var _a16, _b, _c, _d;
9955
+ async function doTransform({
9956
+ params
9957
+ }) {
9958
+ return transformParams ? await transformParams({ params, model }) : params;
9959
+ }
9960
+ return {
9961
+ specificationVersion: "v3",
9962
+ provider: (_a16 = providerId != null ? providerId : overrideProvider == null ? void 0 : overrideProvider({ model })) != null ? _a16 : model.provider,
9963
+ modelId: (_b = modelId != null ? modelId : overrideModelId == null ? void 0 : overrideModelId({ model })) != null ? _b : model.modelId,
9964
+ maxEmbeddingsPerCall: (_c = overrideMaxEmbeddingsPerCall == null ? void 0 : overrideMaxEmbeddingsPerCall({ model })) != null ? _c : model.maxEmbeddingsPerCall,
9965
+ supportsParallelCalls: (_d = overrideSupportsParallelCalls == null ? void 0 : overrideSupportsParallelCalls({ model })) != null ? _d : model.supportsParallelCalls,
9966
+ async doEmbed(params) {
9967
+ const transformedParams = await doTransform({ params });
9968
+ const doEmbed = async () => model.doEmbed(transformedParams);
9969
+ return wrapEmbed ? wrapEmbed({
9970
+ doEmbed,
9971
+ params: transformedParams,
9972
+ model
9973
+ }) : doEmbed();
9974
+ }
9975
+ };
9976
+ };
9977
+
9894
9978
  // src/model/as-image-model-v3.ts
9895
9979
  function asImageModelV3(model) {
9896
9980
  if (model.specificationVersion === "v3") {
@@ -11195,6 +11279,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
11195
11279
  createUIMessageStream,
11196
11280
  createUIMessageStreamResponse,
11197
11281
  customProvider,
11282
+ defaultEmbeddingSettingsMiddleware,
11198
11283
  defaultSettingsMiddleware,
11199
11284
  dynamicTool,
11200
11285
  embed,
@@ -11245,6 +11330,7 @@ var TextStreamChatTransport = class extends HttpChatTransport {
11245
11330
  uiMessageChunkSchema,
11246
11331
  userModelMessageSchema,
11247
11332
  validateUIMessages,
11333
+ wrapEmbeddingModel,
11248
11334
  wrapLanguageModel,
11249
11335
  wrapProvider,
11250
11336
  zodSchema