ai 4.1.14 → 4.1.15

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,18 @@
1
1
  # ai
2
2
 
3
+ ## 4.1.15
4
+
5
+ ### Patch Changes
6
+
7
+ - d89c3b9: feat (provider): add image model support to provider specification
8
+ - d89c3b9: feat (core): type ahead for model ids with custom provider
9
+ - 08f54fc: chore (ai/core): move custom provider to stable
10
+ - Updated dependencies [d89c3b9]
11
+ - @ai-sdk/provider@1.0.7
12
+ - @ai-sdk/provider-utils@2.1.6
13
+ - @ai-sdk/ui-utils@1.1.8
14
+ - @ai-sdk/react@1.1.8
15
+
3
16
  ## 4.1.14
4
17
 
5
18
  ### 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 and text embedding models.
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
  /**
@@ -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 experimental_customProvider({ languageModels, textEmbeddingModels, fallbackProvider, }: {
2495
- languageModels?: Record<string, LanguageModelV1>;
2496
- textEmbeddingModels?: Record<string, EmbeddingModelV1<string>>;
2497
- fallbackProvider?: Provider;
2498
- }): Provider;
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, Provider>): Provider;
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 and text embedding models.
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
  /**
@@ -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 experimental_customProvider({ languageModels, textEmbeddingModels, fallbackProvider, }: {
2495
- languageModels?: Record<string, LanguageModelV1>;
2496
- textEmbeddingModels?: Record<string, EmbeddingModelV1<string>>;
2497
- fallbackProvider?: Provider;
2498
- }): Provider;
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, Provider>): Provider;
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,
@@ -5870,9 +5871,10 @@ function appendResponseMessages({
5870
5871
 
5871
5872
  // core/registry/custom-provider.ts
5872
5873
  var import_provider19 = require("@ai-sdk/provider");
5873
- function experimental_customProvider({
5874
+ function customProvider({
5874
5875
  languageModels,
5875
5876
  textEmbeddingModels,
5877
+ imageModels,
5876
5878
  fallbackProvider
5877
5879
  }) {
5878
5880
  return {
@@ -5893,9 +5895,19 @@ function experimental_customProvider({
5893
5895
  return fallbackProvider.textEmbeddingModel(modelId);
5894
5896
  }
5895
5897
  throw new import_provider19.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
5898
+ },
5899
+ imageModel(modelId) {
5900
+ if (imageModels != null && modelId in imageModels) {
5901
+ return imageModels[modelId];
5902
+ }
5903
+ if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
5904
+ return fallbackProvider.imageModel(modelId);
5905
+ }
5906
+ throw new import_provider19.NoSuchModelError({ modelId, modelType: "imageModel" });
5896
5907
  }
5897
5908
  };
5898
5909
  }
5910
+ var experimental_customProvider = customProvider;
5899
5911
 
5900
5912
  // core/registry/no-such-provider-error.ts
5901
5913
  var import_provider20 = require("@ai-sdk/provider");
@@ -5935,7 +5947,10 @@ var DefaultProviderRegistry = class {
5935
5947
  constructor() {
5936
5948
  this.providers = {};
5937
5949
  }
5938
- registerProvider({ id, provider }) {
5950
+ registerProvider({
5951
+ id,
5952
+ provider
5953
+ }) {
5939
5954
  this.providers[id] = provider;
5940
5955
  }
5941
5956
  getProvider(id) {
@@ -5983,6 +5998,16 @@ var DefaultProviderRegistry = class {
5983
5998
  }
5984
5999
  return model;
5985
6000
  }
6001
+ imageModel(id) {
6002
+ var _a15;
6003
+ const [providerId, modelId] = this.splitId(id, "imageModel");
6004
+ const provider = this.getProvider(providerId);
6005
+ const model = (_a15 = provider.imageModel) == null ? void 0 : _a15.call(provider, modelId);
6006
+ if (model == null) {
6007
+ throw new import_provider21.NoSuchModelError({ modelId: id, modelType: "imageModel" });
6008
+ }
6009
+ return model;
6010
+ }
5986
6011
  /**
5987
6012
  * @deprecated Use `textEmbeddingModel` instead.
5988
6013
  */
@@ -6429,6 +6454,7 @@ var StreamData = class {
6429
6454
  createDataStream,
6430
6455
  createDataStreamResponse,
6431
6456
  createIdGenerator,
6457
+ customProvider,
6432
6458
  embed,
6433
6459
  embedMany,
6434
6460
  experimental_createProviderRegistry,