ai 6.0.0-beta.76 → 6.0.0-beta.77

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,15 @@
1
1
  # ai
2
2
 
3
+ ## 6.0.0-beta.77
4
+
5
+ ### Patch Changes
6
+
7
+ - 0c3b58b: fix(provider): add specificationVersion to ProviderV3
8
+ - Updated dependencies [0c3b58b]
9
+ - @ai-sdk/provider@3.0.0-beta.10
10
+ - @ai-sdk/gateway@2.0.0-beta.41
11
+ - @ai-sdk/provider-utils@4.0.0-beta.24
12
+
3
13
  ## 6.0.0-beta.76
4
14
 
5
15
  ### Patch Changes
package/dist/index.js CHANGED
@@ -560,8 +560,11 @@ var RetryError = class extends import_provider16.AISDKError {
560
560
  };
561
561
  _a14 = symbol14;
562
562
 
563
- // src/model/resolve-model.ts
564
- function transformToV3LanguageModel(model) {
563
+ // src/model/as-embedding-model-v3.ts
564
+ function asEmbeddingModelV3(model) {
565
+ if (model.specificationVersion === "v3") {
566
+ return model;
567
+ }
565
568
  return new Proxy(model, {
566
569
  get(target, prop) {
567
570
  if (prop === "specificationVersion")
@@ -570,7 +573,12 @@ function transformToV3LanguageModel(model) {
570
573
  }
571
574
  });
572
575
  }
573
- function transformToV3EmbeddingModel(model) {
576
+
577
+ // src/model/as-language-model-v3.ts
578
+ function asLanguageModelV3(model) {
579
+ if (model.specificationVersion === "v3") {
580
+ return model;
581
+ }
574
582
  return new Proxy(model, {
575
583
  get(target, prop) {
576
584
  if (prop === "specificationVersion")
@@ -579,7 +587,12 @@ function transformToV3EmbeddingModel(model) {
579
587
  }
580
588
  });
581
589
  }
582
- function transformToV3TranscriptionModel(model) {
590
+
591
+ // src/model/as-speech-model-v3.ts
592
+ function asSpeechModelV3(model) {
593
+ if (model.specificationVersion === "v3") {
594
+ return model;
595
+ }
583
596
  return new Proxy(model, {
584
597
  get(target, prop) {
585
598
  if (prop === "specificationVersion")
@@ -588,7 +601,12 @@ function transformToV3TranscriptionModel(model) {
588
601
  }
589
602
  });
590
603
  }
591
- function transformToV3SpeechModel(model) {
604
+
605
+ // src/model/as-transcription-model-v3.ts
606
+ function asTranscriptionModelV3(model) {
607
+ if (model.specificationVersion === "v3") {
608
+ return model;
609
+ }
592
610
  return new Proxy(model, {
593
611
  get(target, prop) {
594
612
  if (prop === "specificationVersion")
@@ -597,6 +615,8 @@ function transformToV3SpeechModel(model) {
597
615
  }
598
616
  });
599
617
  }
618
+
619
+ // src/model/resolve-model.ts
600
620
  function resolveLanguageModel(model) {
601
621
  if (typeof model !== "string") {
602
622
  if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
@@ -607,10 +627,7 @@ function resolveLanguageModel(model) {
607
627
  modelId: unsupportedModel.modelId
608
628
  });
609
629
  }
610
- if (model.specificationVersion === "v2") {
611
- return transformToV3LanguageModel(model);
612
- }
613
- return model;
630
+ return asLanguageModelV3(model);
614
631
  }
615
632
  return getGlobalProvider().languageModel(model);
616
633
  }
@@ -624,10 +641,7 @@ function resolveEmbeddingModel(model) {
624
641
  modelId: unsupportedModel.modelId
625
642
  });
626
643
  }
627
- if (model.specificationVersion === "v2") {
628
- return transformToV3EmbeddingModel(model);
629
- }
630
- return model;
644
+ return asEmbeddingModelV3(model);
631
645
  }
632
646
  return getGlobalProvider().textEmbeddingModel(
633
647
  model
@@ -644,10 +658,7 @@ function resolveTranscriptionModel(model) {
644
658
  modelId: unsupportedModel.modelId
645
659
  });
646
660
  }
647
- if (model.specificationVersion === "v2") {
648
- return transformToV3TranscriptionModel(model);
649
- }
650
- return model;
661
+ return asTranscriptionModelV3(model);
651
662
  }
652
663
  return (_b = (_a16 = getGlobalProvider()).transcriptionModel) == null ? void 0 : _b.call(_a16, model);
653
664
  }
@@ -662,10 +673,7 @@ function resolveSpeechModel(model) {
662
673
  modelId: unsupportedModel.modelId
663
674
  });
664
675
  }
665
- if (model.specificationVersion === "v2") {
666
- return transformToV3SpeechModel(model);
667
- }
668
- return model;
676
+ return asSpeechModelV3(model);
669
677
  }
670
678
  return (_b = (_a16 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a16, model);
671
679
  }
@@ -866,7 +874,7 @@ function detectMediaType({
866
874
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
867
875
 
868
876
  // src/version.ts
869
- var VERSION = true ? "6.0.0-beta.76" : "0.0.0-test";
877
+ var VERSION = true ? "6.0.0-beta.77" : "0.0.0-test";
870
878
 
871
879
  // src/util/download/download.ts
872
880
  var download = async ({ url }) => {
@@ -9882,26 +9890,52 @@ var doWrap = ({
9882
9890
  };
9883
9891
  };
9884
9892
 
9893
+ // src/model/as-image-model-v3.ts
9894
+ function asImageModelV3(model) {
9895
+ if (model.specificationVersion === "v3") {
9896
+ return model;
9897
+ }
9898
+ return new Proxy(model, {
9899
+ get(target, prop) {
9900
+ if (prop === "specificationVersion")
9901
+ return "v3";
9902
+ return target[prop];
9903
+ }
9904
+ });
9905
+ }
9906
+
9907
+ // src/model/as-provider-v3.ts
9908
+ function asProviderV3(provider) {
9909
+ if ("specificationVersion" in provider && provider.specificationVersion === "v3") {
9910
+ return provider;
9911
+ }
9912
+ return {
9913
+ specificationVersion: "v3",
9914
+ languageModel: (modelId) => asLanguageModelV3(provider.languageModel(modelId)),
9915
+ textEmbeddingModel: (modelId) => asEmbeddingModelV3(provider.textEmbeddingModel(modelId)),
9916
+ imageModel: (modelId) => asImageModelV3(provider.imageModel(modelId)),
9917
+ transcriptionModel: provider.transcriptionModel ? (modelId) => asTranscriptionModelV3(provider.transcriptionModel(modelId)) : void 0,
9918
+ speechModel: provider.speechModel ? (modelId) => asSpeechModelV3(provider.speechModel(modelId)) : void 0
9919
+ };
9920
+ }
9921
+
9885
9922
  // src/middleware/wrap-provider.ts
9886
9923
  function wrapProvider({
9887
9924
  provider,
9888
9925
  languageModelMiddleware
9889
9926
  }) {
9890
- const wrappedProvider = {
9891
- languageModel(modelId) {
9892
- let model = provider.languageModel(modelId);
9893
- model = wrapLanguageModel({
9894
- model,
9895
- middleware: languageModelMiddleware
9896
- });
9897
- return model;
9898
- },
9899
- textEmbeddingModel: provider.textEmbeddingModel,
9900
- imageModel: provider.imageModel,
9901
- transcriptionModel: provider.transcriptionModel,
9902
- speechModel: provider.speechModel
9927
+ const providerV3 = asProviderV3(provider);
9928
+ return {
9929
+ specificationVersion: "v3",
9930
+ languageModel: (modelId) => wrapLanguageModel({
9931
+ model: providerV3.languageModel(modelId),
9932
+ middleware: languageModelMiddleware
9933
+ }),
9934
+ textEmbeddingModel: providerV3.textEmbeddingModel,
9935
+ imageModel: providerV3.imageModel,
9936
+ transcriptionModel: providerV3.transcriptionModel,
9937
+ speechModel: providerV3.speechModel
9903
9938
  };
9904
- return wrappedProvider;
9905
9939
  }
9906
9940
 
9907
9941
  // src/registry/custom-provider.ts
@@ -9915,6 +9949,7 @@ function customProvider({
9915
9949
  fallbackProvider
9916
9950
  }) {
9917
9951
  return {
9952
+ specificationVersion: "v3",
9918
9953
  languageModel(modelId) {
9919
9954
  if (languageModels != null && modelId in languageModels) {
9920
9955
  return languageModels[modelId];