ai 4.1.14 → 4.1.16
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 +19 -0
- package/dist/index.d.mts +33 -14
- package/dist/index.d.ts +33 -14
- package/dist/index.js +38 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 4.1.16
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- 7e299a4: feat (ai/core): wrapLanguageModel can apply multiple middlewares
|
8
|
+
|
9
|
+
## 4.1.15
|
10
|
+
|
11
|
+
### Patch Changes
|
12
|
+
|
13
|
+
- d89c3b9: feat (provider): add image model support to provider specification
|
14
|
+
- d89c3b9: feat (core): type ahead for model ids with custom provider
|
15
|
+
- 08f54fc: chore (ai/core): move custom provider to stable
|
16
|
+
- Updated dependencies [d89c3b9]
|
17
|
+
- @ai-sdk/provider@1.0.7
|
18
|
+
- @ai-sdk/provider-utils@2.1.6
|
19
|
+
- @ai-sdk/ui-utils@1.1.8
|
20
|
+
- @ai-sdk/react@1.1.8
|
21
|
+
|
3
22
|
## 4.1.14
|
4
23
|
|
5
24
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
@@ -2,7 +2,7 @@ import { IDGenerator } from '@ai-sdk/provider-utils';
|
|
2
2
|
export { CoreToolCall, CoreToolResult, IDGenerator, ToolCall, ToolResult, createIdGenerator, generateId } from '@ai-sdk/provider-utils';
|
3
3
|
import { DataStreamString, ToolInvocation, Attachment, Schema, DeepPartial, Message, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
|
4
4
|
export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
|
5
|
-
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
|
5
|
+
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, ProviderV1, NoSuchModelError } from '@ai-sdk/provider';
|
6
6
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
7
7
|
import { ServerResponse } from 'node:http';
|
8
8
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
@@ -190,7 +190,7 @@ type LanguageModelResponseMetadata = {
|
|
190
190
|
};
|
191
191
|
|
192
192
|
/**
|
193
|
-
* Provider for language
|
193
|
+
* Provider for language, text embedding, and image models.
|
194
194
|
*/
|
195
195
|
type Provider = {
|
196
196
|
/**
|
@@ -215,6 +215,15 @@ type Provider = {
|
|
215
215
|
@throws {NoSuchModelError} If no such model exists.
|
216
216
|
*/
|
217
217
|
textEmbeddingModel(modelId: string): EmbeddingModel<string>;
|
218
|
+
/**
|
219
|
+
Returns the image model with the given id.
|
220
|
+
The model id is then passed to the provider function to get the model.
|
221
|
+
|
222
|
+
@param {string} id - The id of the model to return.
|
223
|
+
|
224
|
+
@returns {ImageModel} The image model associated with the id
|
225
|
+
*/
|
226
|
+
imageModel(modelId: string): ImageModel;
|
218
227
|
};
|
219
228
|
|
220
229
|
/**
|
@@ -2459,23 +2468,23 @@ declare function extractReasoningMiddleware({ tagName, separator, }: {
|
|
2459
2468
|
*
|
2460
2469
|
* @param options - Configuration options for wrapping the language model.
|
2461
2470
|
* @param options.model - The original LanguageModelV1 instance to be wrapped.
|
2462
|
-
* @param options.middleware - The middleware to be applied to the language model.
|
2471
|
+
* @param options.middleware - The middleware to be applied to the language 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.
|
2463
2472
|
* @param options.modelId - Optional custom model ID to override the original model's ID.
|
2464
2473
|
* @param options.providerId - Optional custom provider ID to override the original model's provider.
|
2465
2474
|
* @returns A new LanguageModelV1 instance with middleware applied.
|
2466
2475
|
*/
|
2467
|
-
declare const wrapLanguageModel: ({ model, middleware:
|
2476
|
+
declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
2468
2477
|
model: LanguageModelV1;
|
2469
|
-
middleware: LanguageModelV1Middleware;
|
2478
|
+
middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
|
2470
2479
|
modelId?: string;
|
2471
2480
|
providerId?: string;
|
2472
2481
|
}) => LanguageModelV1;
|
2473
2482
|
/**
|
2474
2483
|
* @deprecated Use `wrapLanguageModel` instead.
|
2475
2484
|
*/
|
2476
|
-
declare const experimental_wrapLanguageModel: ({ model, middleware:
|
2485
|
+
declare const experimental_wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
2477
2486
|
model: LanguageModelV1;
|
2478
|
-
middleware: LanguageModelV1Middleware;
|
2487
|
+
middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
|
2479
2488
|
modelId?: string;
|
2480
2489
|
providerId?: string;
|
2481
2490
|
}) => LanguageModelV1;
|
@@ -2491,11 +2500,21 @@ declare const experimental_wrapLanguageModel: ({ model, middleware: { transformP
|
|
2491
2500
|
*
|
2492
2501
|
* @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
|
2493
2502
|
*/
|
2494
|
-
declare function
|
2495
|
-
languageModels?:
|
2496
|
-
textEmbeddingModels?:
|
2497
|
-
|
2498
|
-
|
2503
|
+
declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV1>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV1<string>>, IMAGE_MODELS extends Record<string, ImageModelV1>>({ languageModels, textEmbeddingModels, imageModels, fallbackProvider, }: {
|
2504
|
+
languageModels?: LANGUAGE_MODELS;
|
2505
|
+
textEmbeddingModels?: EMBEDDING_MODELS;
|
2506
|
+
imageModels?: IMAGE_MODELS;
|
2507
|
+
fallbackProvider?: ProviderV1;
|
2508
|
+
}): Provider & {
|
2509
|
+
languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV1;
|
2510
|
+
textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV1<string>;
|
2511
|
+
imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV1;
|
2512
|
+
};
|
2513
|
+
/**
|
2514
|
+
* @deprecated Use `customProvider` instead.
|
2515
|
+
*/
|
2516
|
+
declare const experimental_customProvider: typeof customProvider;
|
2517
|
+
type ExtractModelId<MODELS extends Record<string, unknown>> = Extract<keyof MODELS, string>;
|
2499
2518
|
|
2500
2519
|
declare const symbol$b: unique symbol;
|
2501
2520
|
declare class NoSuchProviderError extends NoSuchModelError {
|
@@ -2515,7 +2534,7 @@ declare class NoSuchProviderError extends NoSuchModelError {
|
|
2515
2534
|
/**
|
2516
2535
|
* Creates a registry for the given providers.
|
2517
2536
|
*/
|
2518
|
-
declare function experimental_createProviderRegistry(providers: Record<string,
|
2537
|
+
declare function experimental_createProviderRegistry(providers: Record<string, ProviderV1>): Provider;
|
2519
2538
|
|
2520
2539
|
/**
|
2521
2540
|
* Calculates the cosine similarity between two vectors. This is a useful metric for
|
@@ -2858,4 +2877,4 @@ declare namespace llamaindexAdapter {
|
|
2858
2877
|
};
|
2859
2878
|
}
|
2860
2879
|
|
2861
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
2880
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, customProvider, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
package/dist/index.d.ts
CHANGED
@@ -2,7 +2,7 @@ import { IDGenerator } from '@ai-sdk/provider-utils';
|
|
2
2
|
export { CoreToolCall, CoreToolResult, IDGenerator, ToolCall, ToolResult, createIdGenerator, generateId } from '@ai-sdk/provider-utils';
|
3
3
|
import { DataStreamString, ToolInvocation, Attachment, Schema, DeepPartial, Message, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
|
4
4
|
export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
|
5
|
-
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
|
5
|
+
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, ProviderV1, NoSuchModelError } from '@ai-sdk/provider';
|
6
6
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
7
7
|
import { ServerResponse } from 'node:http';
|
8
8
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
@@ -190,7 +190,7 @@ type LanguageModelResponseMetadata = {
|
|
190
190
|
};
|
191
191
|
|
192
192
|
/**
|
193
|
-
* Provider for language
|
193
|
+
* Provider for language, text embedding, and image models.
|
194
194
|
*/
|
195
195
|
type Provider = {
|
196
196
|
/**
|
@@ -215,6 +215,15 @@ type Provider = {
|
|
215
215
|
@throws {NoSuchModelError} If no such model exists.
|
216
216
|
*/
|
217
217
|
textEmbeddingModel(modelId: string): EmbeddingModel<string>;
|
218
|
+
/**
|
219
|
+
Returns the image model with the given id.
|
220
|
+
The model id is then passed to the provider function to get the model.
|
221
|
+
|
222
|
+
@param {string} id - The id of the model to return.
|
223
|
+
|
224
|
+
@returns {ImageModel} The image model associated with the id
|
225
|
+
*/
|
226
|
+
imageModel(modelId: string): ImageModel;
|
218
227
|
};
|
219
228
|
|
220
229
|
/**
|
@@ -2459,23 +2468,23 @@ declare function extractReasoningMiddleware({ tagName, separator, }: {
|
|
2459
2468
|
*
|
2460
2469
|
* @param options - Configuration options for wrapping the language model.
|
2461
2470
|
* @param options.model - The original LanguageModelV1 instance to be wrapped.
|
2462
|
-
* @param options.middleware - The middleware to be applied to the language model.
|
2471
|
+
* @param options.middleware - The middleware to be applied to the language 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.
|
2463
2472
|
* @param options.modelId - Optional custom model ID to override the original model's ID.
|
2464
2473
|
* @param options.providerId - Optional custom provider ID to override the original model's provider.
|
2465
2474
|
* @returns A new LanguageModelV1 instance with middleware applied.
|
2466
2475
|
*/
|
2467
|
-
declare const wrapLanguageModel: ({ model, middleware:
|
2476
|
+
declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
2468
2477
|
model: LanguageModelV1;
|
2469
|
-
middleware: LanguageModelV1Middleware;
|
2478
|
+
middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
|
2470
2479
|
modelId?: string;
|
2471
2480
|
providerId?: string;
|
2472
2481
|
}) => LanguageModelV1;
|
2473
2482
|
/**
|
2474
2483
|
* @deprecated Use `wrapLanguageModel` instead.
|
2475
2484
|
*/
|
2476
|
-
declare const experimental_wrapLanguageModel: ({ model, middleware:
|
2485
|
+
declare const experimental_wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
|
2477
2486
|
model: LanguageModelV1;
|
2478
|
-
middleware: LanguageModelV1Middleware;
|
2487
|
+
middleware: LanguageModelV1Middleware | LanguageModelV1Middleware[];
|
2479
2488
|
modelId?: string;
|
2480
2489
|
providerId?: string;
|
2481
2490
|
}) => LanguageModelV1;
|
@@ -2491,11 +2500,21 @@ declare const experimental_wrapLanguageModel: ({ model, middleware: { transformP
|
|
2491
2500
|
*
|
2492
2501
|
* @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
|
2493
2502
|
*/
|
2494
|
-
declare function
|
2495
|
-
languageModels?:
|
2496
|
-
textEmbeddingModels?:
|
2497
|
-
|
2498
|
-
|
2503
|
+
declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV1>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV1<string>>, IMAGE_MODELS extends Record<string, ImageModelV1>>({ languageModels, textEmbeddingModels, imageModels, fallbackProvider, }: {
|
2504
|
+
languageModels?: LANGUAGE_MODELS;
|
2505
|
+
textEmbeddingModels?: EMBEDDING_MODELS;
|
2506
|
+
imageModels?: IMAGE_MODELS;
|
2507
|
+
fallbackProvider?: ProviderV1;
|
2508
|
+
}): Provider & {
|
2509
|
+
languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV1;
|
2510
|
+
textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV1<string>;
|
2511
|
+
imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV1;
|
2512
|
+
};
|
2513
|
+
/**
|
2514
|
+
* @deprecated Use `customProvider` instead.
|
2515
|
+
*/
|
2516
|
+
declare const experimental_customProvider: typeof customProvider;
|
2517
|
+
type ExtractModelId<MODELS extends Record<string, unknown>> = Extract<keyof MODELS, string>;
|
2499
2518
|
|
2500
2519
|
declare const symbol$b: unique symbol;
|
2501
2520
|
declare class NoSuchProviderError extends NoSuchModelError {
|
@@ -2515,7 +2534,7 @@ declare class NoSuchProviderError extends NoSuchModelError {
|
|
2515
2534
|
/**
|
2516
2535
|
* Creates a registry for the given providers.
|
2517
2536
|
*/
|
2518
|
-
declare function experimental_createProviderRegistry(providers: Record<string,
|
2537
|
+
declare function experimental_createProviderRegistry(providers: Record<string, ProviderV1>): Provider;
|
2519
2538
|
|
2520
2539
|
/**
|
2521
2540
|
* Calculates the cosine similarity between two vectors. This is a useful metric for
|
@@ -2858,4 +2877,4 @@ declare namespace llamaindexAdapter {
|
|
2858
2877
|
};
|
2859
2878
|
}
|
2860
2879
|
|
2861
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
2880
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, customProvider, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
package/dist/index.js
CHANGED
@@ -62,6 +62,7 @@ __export(streams_exports, {
|
|
62
62
|
createDataStream: () => createDataStream,
|
63
63
|
createDataStreamResponse: () => createDataStreamResponse,
|
64
64
|
createIdGenerator: () => import_provider_utils14.createIdGenerator,
|
65
|
+
customProvider: () => customProvider,
|
65
66
|
embed: () => embed,
|
66
67
|
embedMany: () => embedMany,
|
67
68
|
experimental_createProviderRegistry: () => experimental_createProviderRegistry,
|
@@ -5749,6 +5750,16 @@ function extractReasoningMiddleware({
|
|
5749
5750
|
|
5750
5751
|
// core/middleware/wrap-language-model.ts
|
5751
5752
|
var wrapLanguageModel = ({
|
5753
|
+
model,
|
5754
|
+
middleware: middlewareArg,
|
5755
|
+
modelId,
|
5756
|
+
providerId
|
5757
|
+
}) => {
|
5758
|
+
return asArray(middlewareArg).reverse().reduce((wrappedModel, middleware) => {
|
5759
|
+
return doWrap({ model: wrappedModel, middleware, modelId, providerId });
|
5760
|
+
}, model);
|
5761
|
+
};
|
5762
|
+
var doWrap = ({
|
5752
5763
|
model,
|
5753
5764
|
middleware: { transformParams, wrapGenerate, wrapStream },
|
5754
5765
|
modelId,
|
@@ -5870,9 +5881,10 @@ function appendResponseMessages({
|
|
5870
5881
|
|
5871
5882
|
// core/registry/custom-provider.ts
|
5872
5883
|
var import_provider19 = require("@ai-sdk/provider");
|
5873
|
-
function
|
5884
|
+
function customProvider({
|
5874
5885
|
languageModels,
|
5875
5886
|
textEmbeddingModels,
|
5887
|
+
imageModels,
|
5876
5888
|
fallbackProvider
|
5877
5889
|
}) {
|
5878
5890
|
return {
|
@@ -5893,9 +5905,19 @@ function experimental_customProvider({
|
|
5893
5905
|
return fallbackProvider.textEmbeddingModel(modelId);
|
5894
5906
|
}
|
5895
5907
|
throw new import_provider19.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
|
5908
|
+
},
|
5909
|
+
imageModel(modelId) {
|
5910
|
+
if (imageModels != null && modelId in imageModels) {
|
5911
|
+
return imageModels[modelId];
|
5912
|
+
}
|
5913
|
+
if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
|
5914
|
+
return fallbackProvider.imageModel(modelId);
|
5915
|
+
}
|
5916
|
+
throw new import_provider19.NoSuchModelError({ modelId, modelType: "imageModel" });
|
5896
5917
|
}
|
5897
5918
|
};
|
5898
5919
|
}
|
5920
|
+
var experimental_customProvider = customProvider;
|
5899
5921
|
|
5900
5922
|
// core/registry/no-such-provider-error.ts
|
5901
5923
|
var import_provider20 = require("@ai-sdk/provider");
|
@@ -5935,7 +5957,10 @@ var DefaultProviderRegistry = class {
|
|
5935
5957
|
constructor() {
|
5936
5958
|
this.providers = {};
|
5937
5959
|
}
|
5938
|
-
registerProvider({
|
5960
|
+
registerProvider({
|
5961
|
+
id,
|
5962
|
+
provider
|
5963
|
+
}) {
|
5939
5964
|
this.providers[id] = provider;
|
5940
5965
|
}
|
5941
5966
|
getProvider(id) {
|
@@ -5983,6 +6008,16 @@ var DefaultProviderRegistry = class {
|
|
5983
6008
|
}
|
5984
6009
|
return model;
|
5985
6010
|
}
|
6011
|
+
imageModel(id) {
|
6012
|
+
var _a15;
|
6013
|
+
const [providerId, modelId] = this.splitId(id, "imageModel");
|
6014
|
+
const provider = this.getProvider(providerId);
|
6015
|
+
const model = (_a15 = provider.imageModel) == null ? void 0 : _a15.call(provider, modelId);
|
6016
|
+
if (model == null) {
|
6017
|
+
throw new import_provider21.NoSuchModelError({ modelId: id, modelType: "imageModel" });
|
6018
|
+
}
|
6019
|
+
return model;
|
6020
|
+
}
|
5986
6021
|
/**
|
5987
6022
|
* @deprecated Use `textEmbeddingModel` instead.
|
5988
6023
|
*/
|
@@ -6429,6 +6464,7 @@ var StreamData = class {
|
|
6429
6464
|
createDataStream,
|
6430
6465
|
createDataStreamResponse,
|
6431
6466
|
createIdGenerator,
|
6467
|
+
customProvider,
|
6432
6468
|
embed,
|
6433
6469
|
embedMany,
|
6434
6470
|
experimental_createProviderRegistry,
|