ai 6.0.0-beta.76 → 6.0.0-beta.78

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,24 @@
1
1
  # ai
2
2
 
3
+ ## 6.0.0-beta.78
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [4c44a5b]
8
+ - @ai-sdk/provider@3.0.0-beta.11
9
+ - @ai-sdk/gateway@2.0.0-beta.42
10
+ - @ai-sdk/provider-utils@4.0.0-beta.25
11
+
12
+ ## 6.0.0-beta.77
13
+
14
+ ### Patch Changes
15
+
16
+ - 0c3b58b: fix(provider): add specificationVersion to ProviderV3
17
+ - Updated dependencies [0c3b58b]
18
+ - @ai-sdk/provider@3.0.0-beta.10
19
+ - @ai-sdk/gateway@2.0.0-beta.41
20
+ - @ai-sdk/provider-utils@4.0.0-beta.24
21
+
3
22
  ## 6.0.0-beta.76
4
23
 
5
24
  ### 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, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, 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, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, 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';
@@ -4523,7 +4523,7 @@ interface SpeechResult {
4523
4523
  /**
4524
4524
  Provider metadata from the provider.
4525
4525
  */
4526
- readonly providerMetadata: Record<string, Record<string, JSONValue$1>>;
4526
+ readonly providerMetadata: Record<string, JSONObject>;
4527
4527
  }
4528
4528
 
4529
4529
  /**
@@ -4825,7 +4825,7 @@ interface TranscriptionResult {
4825
4825
  /**
4826
4826
  Provider metadata from the provider.
4827
4827
  */
4828
- readonly providerMetadata: Record<string, Record<string, JSONValue$1>>;
4828
+ readonly providerMetadata: Record<string, JSONObject>;
4829
4829
  }
4830
4830
 
4831
4831
  /**
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, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, 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, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, 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';
@@ -4523,7 +4523,7 @@ interface SpeechResult {
4523
4523
  /**
4524
4524
  Provider metadata from the provider.
4525
4525
  */
4526
- readonly providerMetadata: Record<string, Record<string, JSONValue$1>>;
4526
+ readonly providerMetadata: Record<string, JSONObject>;
4527
4527
  }
4528
4528
 
4529
4529
  /**
@@ -4825,7 +4825,7 @@ interface TranscriptionResult {
4825
4825
  /**
4826
4826
  Provider metadata from the provider.
4827
4827
  */
4828
- readonly providerMetadata: Record<string, Record<string, JSONValue$1>>;
4828
+ readonly providerMetadata: Record<string, JSONObject>;
4829
4829
  }
4830
4830
 
4831
4831
  /**
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.78" : "0.0.0-test";
870
878
 
871
879
  // src/util/download/download.ts
872
880
  var download = async ({ url }) => {
@@ -1456,7 +1464,7 @@ var jsonValueSchema = import_v42.z.lazy(
1456
1464
  import_v42.z.string(),
1457
1465
  import_v42.z.number(),
1458
1466
  import_v42.z.boolean(),
1459
- import_v42.z.record(import_v42.z.string(), jsonValueSchema),
1467
+ import_v42.z.record(import_v42.z.string(), jsonValueSchema.optional()),
1460
1468
  import_v42.z.array(jsonValueSchema)
1461
1469
  ])
1462
1470
  );
@@ -1464,7 +1472,7 @@ var jsonValueSchema = import_v42.z.lazy(
1464
1472
  // src/types/provider-metadata.ts
1465
1473
  var providerMetadataSchema = import_v43.z.record(
1466
1474
  import_v43.z.string(),
1467
- import_v43.z.record(import_v43.z.string(), jsonValueSchema)
1475
+ import_v43.z.record(import_v43.z.string(), jsonValueSchema.optional())
1468
1476
  );
1469
1477
 
1470
1478
  // src/prompt/content-part.ts
@@ -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];