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/dist/index.mjs CHANGED
@@ -5701,6 +5701,16 @@ function extractReasoningMiddleware({
5701
5701
 
5702
5702
  // core/middleware/wrap-language-model.ts
5703
5703
  var wrapLanguageModel = ({
5704
+ model,
5705
+ middleware: middlewareArg,
5706
+ modelId,
5707
+ providerId
5708
+ }) => {
5709
+ return asArray(middlewareArg).reverse().reduce((wrappedModel, middleware) => {
5710
+ return doWrap({ model: wrappedModel, middleware, modelId, providerId });
5711
+ }, model);
5712
+ };
5713
+ var doWrap = ({
5704
5714
  model,
5705
5715
  middleware: { transformParams, wrapGenerate, wrapStream },
5706
5716
  modelId,
@@ -5824,9 +5834,10 @@ function appendResponseMessages({
5824
5834
 
5825
5835
  // core/registry/custom-provider.ts
5826
5836
  import { NoSuchModelError as NoSuchModelError2 } from "@ai-sdk/provider";
5827
- function experimental_customProvider({
5837
+ function customProvider({
5828
5838
  languageModels,
5829
5839
  textEmbeddingModels,
5840
+ imageModels,
5830
5841
  fallbackProvider
5831
5842
  }) {
5832
5843
  return {
@@ -5847,9 +5858,19 @@ function experimental_customProvider({
5847
5858
  return fallbackProvider.textEmbeddingModel(modelId);
5848
5859
  }
5849
5860
  throw new NoSuchModelError2({ modelId, modelType: "textEmbeddingModel" });
5861
+ },
5862
+ imageModel(modelId) {
5863
+ if (imageModels != null && modelId in imageModels) {
5864
+ return imageModels[modelId];
5865
+ }
5866
+ if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
5867
+ return fallbackProvider.imageModel(modelId);
5868
+ }
5869
+ throw new NoSuchModelError2({ modelId, modelType: "imageModel" });
5850
5870
  }
5851
5871
  };
5852
5872
  }
5873
+ var experimental_customProvider = customProvider;
5853
5874
 
5854
5875
  // core/registry/no-such-provider-error.ts
5855
5876
  import { AISDKError as AISDKError15, NoSuchModelError as NoSuchModelError3 } from "@ai-sdk/provider";
@@ -5889,7 +5910,10 @@ var DefaultProviderRegistry = class {
5889
5910
  constructor() {
5890
5911
  this.providers = {};
5891
5912
  }
5892
- registerProvider({ id, provider }) {
5913
+ registerProvider({
5914
+ id,
5915
+ provider
5916
+ }) {
5893
5917
  this.providers[id] = provider;
5894
5918
  }
5895
5919
  getProvider(id) {
@@ -5937,6 +5961,16 @@ var DefaultProviderRegistry = class {
5937
5961
  }
5938
5962
  return model;
5939
5963
  }
5964
+ imageModel(id) {
5965
+ var _a15;
5966
+ const [providerId, modelId] = this.splitId(id, "imageModel");
5967
+ const provider = this.getProvider(providerId);
5968
+ const model = (_a15 = provider.imageModel) == null ? void 0 : _a15.call(provider, modelId);
5969
+ if (model == null) {
5970
+ throw new NoSuchModelError4({ modelId: id, modelType: "imageModel" });
5971
+ }
5972
+ return model;
5973
+ }
5940
5974
  /**
5941
5975
  * @deprecated Use `textEmbeddingModel` instead.
5942
5976
  */
@@ -6384,6 +6418,7 @@ export {
6384
6418
  createDataStream,
6385
6419
  createDataStreamResponse,
6386
6420
  createIdGenerator5 as createIdGenerator,
6421
+ customProvider,
6387
6422
  embed,
6388
6423
  embedMany,
6389
6424
  experimental_createProviderRegistry,