@ai-sdk/provider 4.0.0-beta.4 → 4.0.0-beta.6

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,17 @@
1
1
  # @ai-sdk/provider
2
2
 
3
+ ## 4.0.0-beta.6
4
+
5
+ ### Patch Changes
6
+
7
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
8
+
9
+ ## 4.0.0-beta.5
10
+
11
+ ### Patch Changes
12
+
13
+ - 1f509d4: fix(ai): force template check on 'kind' param
14
+
3
15
  ## 4.0.0-beta.4
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -59,6 +59,22 @@ type SharedV4ProviderMetadata = Record<string, JSONObject>;
59
59
  */
60
60
  type SharedV4ProviderOptions = Record<string, JSONObject>;
61
61
 
62
+ /**
63
+ * A mapping of provider names to provider-specific file identifiers.
64
+ *
65
+ * Provider references allow files to be identified across different
66
+ * providers without re-uploading, by storing each provider's own
67
+ * identifier for the same logical file.
68
+ *
69
+ * ```ts
70
+ * {
71
+ * "openai": "file-abc123",
72
+ * "anthropic": "file-xyz789"
73
+ * }
74
+ * ```
75
+ */
76
+ type SharedV4ProviderReference = Record<string, string>;
77
+
62
78
  /**
63
79
  * Warning from the model.
64
80
  *
@@ -559,13 +575,13 @@ type EmbeddingModelV2<VALUE> = {
559
575
  }>;
560
576
  };
561
577
 
562
- declare const symbol$d: unique symbol;
578
+ declare const symbol$e: unique symbol;
563
579
  /**
564
580
  * Custom error class for AI SDK related errors.
565
581
  * @extends Error
566
582
  */
567
583
  declare class AISDKError extends Error {
568
- private readonly [symbol$d];
584
+ private readonly [symbol$e];
569
585
  /**
570
586
  * The underlying cause of the error, if any.
571
587
  */
@@ -592,9 +608,9 @@ declare class AISDKError extends Error {
592
608
  protected static hasMarker(error: unknown, marker: string): boolean;
593
609
  }
594
610
 
595
- declare const symbol$c: unique symbol;
611
+ declare const symbol$d: unique symbol;
596
612
  declare class APICallError extends AISDKError {
597
- private readonly [symbol$c];
613
+ private readonly [symbol$d];
598
614
  readonly url: string;
599
615
  readonly requestBodyValues: unknown;
600
616
  readonly statusCode?: number;
@@ -617,9 +633,9 @@ declare class APICallError extends AISDKError {
617
633
  static isInstance(error: unknown): error is APICallError;
618
634
  }
619
635
 
620
- declare const symbol$b: unique symbol;
636
+ declare const symbol$c: unique symbol;
621
637
  declare class EmptyResponseBodyError extends AISDKError {
622
- private readonly [symbol$b];
638
+ private readonly [symbol$c];
623
639
  constructor({ message }?: {
624
640
  message?: string;
625
641
  });
@@ -628,12 +644,12 @@ declare class EmptyResponseBodyError extends AISDKError {
628
644
 
629
645
  declare function getErrorMessage(error: unknown | undefined): string;
630
646
 
631
- declare const symbol$a: unique symbol;
647
+ declare const symbol$b: unique symbol;
632
648
  /**
633
649
  * A function argument is invalid.
634
650
  */
635
651
  declare class InvalidArgumentError extends AISDKError {
636
- private readonly [symbol$a];
652
+ private readonly [symbol$b];
637
653
  readonly argument: string;
638
654
  constructor({ message, cause, argument, }: {
639
655
  argument: string;
@@ -643,13 +659,13 @@ declare class InvalidArgumentError extends AISDKError {
643
659
  static isInstance(error: unknown): error is InvalidArgumentError;
644
660
  }
645
661
 
646
- declare const symbol$9: unique symbol;
662
+ declare const symbol$a: unique symbol;
647
663
  /**
648
664
  * A prompt is invalid. This error should be thrown by providers when they cannot
649
665
  * process a prompt.
650
666
  */
651
667
  declare class InvalidPromptError extends AISDKError {
652
- private readonly [symbol$9];
668
+ private readonly [symbol$a];
653
669
  readonly prompt: unknown;
654
670
  constructor({ prompt, message, cause, }: {
655
671
  prompt: unknown;
@@ -659,13 +675,13 @@ declare class InvalidPromptError extends AISDKError {
659
675
  static isInstance(error: unknown): error is InvalidPromptError;
660
676
  }
661
677
 
662
- declare const symbol$8: unique symbol;
678
+ declare const symbol$9: unique symbol;
663
679
  /**
664
680
  * Server returned a response with invalid data content.
665
681
  * This should be thrown by providers when they cannot parse the response from the API.
666
682
  */
667
683
  declare class InvalidResponseDataError extends AISDKError {
668
- private readonly [symbol$8];
684
+ private readonly [symbol$9];
669
685
  readonly data: unknown;
670
686
  constructor({ data, message, }: {
671
687
  data: unknown;
@@ -674,9 +690,9 @@ declare class InvalidResponseDataError extends AISDKError {
674
690
  static isInstance(error: unknown): error is InvalidResponseDataError;
675
691
  }
676
692
 
677
- declare const symbol$7: unique symbol;
693
+ declare const symbol$8: unique symbol;
678
694
  declare class JSONParseError extends AISDKError {
679
- private readonly [symbol$7];
695
+ private readonly [symbol$8];
680
696
  readonly text: string;
681
697
  constructor({ text, cause }: {
682
698
  text: string;
@@ -685,39 +701,39 @@ declare class JSONParseError extends AISDKError {
685
701
  static isInstance(error: unknown): error is JSONParseError;
686
702
  }
687
703
 
688
- declare const symbol$6: unique symbol;
704
+ declare const symbol$7: unique symbol;
689
705
  declare class LoadAPIKeyError extends AISDKError {
690
- private readonly [symbol$6];
706
+ private readonly [symbol$7];
691
707
  constructor({ message }: {
692
708
  message: string;
693
709
  });
694
710
  static isInstance(error: unknown): error is LoadAPIKeyError;
695
711
  }
696
712
 
697
- declare const symbol$5: unique symbol;
713
+ declare const symbol$6: unique symbol;
698
714
  declare class LoadSettingError extends AISDKError {
699
- private readonly [symbol$5];
715
+ private readonly [symbol$6];
700
716
  constructor({ message }: {
701
717
  message: string;
702
718
  });
703
719
  static isInstance(error: unknown): error is LoadSettingError;
704
720
  }
705
721
 
706
- declare const symbol$4: unique symbol;
722
+ declare const symbol$5: unique symbol;
707
723
  /**
708
724
  * Thrown when the AI provider fails to generate any content.
709
725
  */
710
726
  declare class NoContentGeneratedError extends AISDKError {
711
- private readonly [symbol$4];
727
+ private readonly [symbol$5];
712
728
  constructor({ message, }?: {
713
729
  message?: string;
714
730
  });
715
731
  static isInstance(error: unknown): error is NoContentGeneratedError;
716
732
  }
717
733
 
718
- declare const symbol$3: unique symbol;
734
+ declare const symbol$4: unique symbol;
719
735
  declare class NoSuchModelError extends AISDKError {
720
- private readonly [symbol$3];
736
+ private readonly [symbol$4];
721
737
  readonly modelId: string;
722
738
  readonly modelType: 'languageModel' | 'embeddingModel' | 'imageModel' | 'transcriptionModel' | 'speechModel' | 'rerankingModel' | 'videoModel';
723
739
  constructor({ errorName, modelId, modelType, message, }: {
@@ -729,6 +745,23 @@ declare class NoSuchModelError extends AISDKError {
729
745
  static isInstance(error: unknown): error is NoSuchModelError;
730
746
  }
731
747
 
748
+ declare const symbol$3: unique symbol;
749
+ /**
750
+ * Thrown when a provider reference cannot be resolved because the specified
751
+ * provider is not found in the provider reference mapping.
752
+ */
753
+ declare class NoSuchProviderReferenceError extends AISDKError {
754
+ private readonly [symbol$3];
755
+ readonly provider: string;
756
+ readonly reference: SharedV4ProviderReference;
757
+ constructor({ provider, reference, message, }: {
758
+ provider: string;
759
+ reference: SharedV4ProviderReference;
760
+ message?: string;
761
+ });
762
+ static isInstance(error: unknown): error is NoSuchProviderReferenceError;
763
+ }
764
+
732
765
  declare const symbol$2: unique symbol;
733
766
  declare class TooManyEmbeddingValuesForCallError extends AISDKError {
734
767
  private readonly [symbol$2];
@@ -799,6 +832,75 @@ declare class UnsupportedFunctionalityError extends AISDKError {
799
832
  static isInstance(error: unknown): error is UnsupportedFunctionalityError;
800
833
  }
801
834
 
835
+ /**
836
+ * Result of uploading a file via the files interface.
837
+ */
838
+ type FilesV4UploadFileResult = {
839
+ /**
840
+ * A provider reference mapping provider names to provider-specific file identifiers.
841
+ */
842
+ providerReference: SharedV4ProviderReference;
843
+ /**
844
+ * The IANA media type of the uploaded file, if available from the provider.
845
+ */
846
+ mediaType?: string;
847
+ /**
848
+ * The filename of the uploaded file, if available from the provider.
849
+ */
850
+ filename?: string;
851
+ /**
852
+ * Additional provider-specific metadata. They are passed through
853
+ * to the provider from the AI SDK and enable provider-specific
854
+ * functionality that can be fully encapsulated in the provider.
855
+ */
856
+ providerMetadata?: SharedV4ProviderMetadata;
857
+ /**
858
+ * Warnings from the provider.
859
+ */
860
+ warnings: Array<SharedV4Warning>;
861
+ };
862
+ /**
863
+ * Options for uploading a file via the files interface.
864
+ */
865
+ type FilesV4UploadFileCallOptions = {
866
+ /**
867
+ * The file data as raw bytes or a base64-encoded string.
868
+ */
869
+ data: Uint8Array | string;
870
+ /**
871
+ * The IANA media type of the file (e.g. `'application/pdf'`).
872
+ */
873
+ mediaType: string;
874
+ /**
875
+ * The filename of the file.
876
+ */
877
+ filename?: string;
878
+ /**
879
+ * Additional provider-specific options. They are passed through
880
+ * to the provider from the AI SDK and enable provider-specific
881
+ * functionality that can be fully encapsulated in the provider.
882
+ */
883
+ providerOptions?: SharedV4ProviderOptions;
884
+ };
885
+ /**
886
+ * Specification for a file management interface that implements the files interface version 4.
887
+ */
888
+ type FilesV4 = {
889
+ /**
890
+ * The files interface must specify which files interface version it implements.
891
+ */
892
+ readonly specificationVersion: 'v4';
893
+ /**
894
+ * Provider ID.
895
+ */
896
+ readonly provider: string;
897
+ /**
898
+ * Uploads a file to the provider and returns a provider reference
899
+ * that can be used in subsequent API calls.
900
+ */
901
+ uploadFile(options: FilesV4UploadFileCallOptions): PromiseLike<FilesV4UploadFileResult>;
902
+ };
903
+
802
904
  declare function isJSONValue(value: unknown): value is JSONValue;
803
905
  declare function isJSONArray(value: unknown): value is JSONArray;
804
906
  declare function isJSONObject(value: unknown): value is JSONObject;
@@ -1606,7 +1708,7 @@ interface LanguageModelV4ReasoningPart {
1606
1708
  interface LanguageModelV4ReasoningFilePart {
1607
1709
  type: 'reasoning-file';
1608
1710
  /**
1609
- * File data. Can be a Uint8Array, base64 encoded data as a string or a URL.
1711
+ * File data. Can be a Uint8Array or base64 encoded data as a string.
1610
1712
  */
1611
1713
  data: LanguageModelV4DataContent;
1612
1714
  /**
@@ -1629,9 +1731,9 @@ interface LanguageModelV4ReasoningFilePart {
1629
1731
  interface LanguageModelV4CustomPart {
1630
1732
  type: 'custom';
1631
1733
  /**
1632
- * The kind of custom content, in the format `{provider}-{provider-type}`.
1734
+ * The kind of custom content, in the format `{provider}.{provider-type}`.
1633
1735
  */
1634
- kind: string;
1736
+ kind: `${string}.${string}`;
1635
1737
  /**
1636
1738
  * Additional provider-specific options. They are passed through
1637
1739
  * to the provider from the AI SDK and enable provider-specific
@@ -1649,9 +1751,10 @@ interface LanguageModelV4FilePart {
1649
1751
  */
1650
1752
  filename?: string;
1651
1753
  /**
1652
- * File data. Can be a Uint8Array, base64 encoded data as a string or a URL.
1754
+ * File data. Can be a Uint8Array, base64 encoded data as a string, a URL,
1755
+ * or a provider reference mapping provider names to provider-specific file IDs.
1653
1756
  */
1654
- data: LanguageModelV4DataContent;
1757
+ data: LanguageModelV4DataContent | SharedV4ProviderReference;
1655
1758
  /**
1656
1759
  * IANA media type of the file.
1657
1760
  *
@@ -1834,16 +1937,12 @@ type LanguageModelV4ToolResultOutput = {
1834
1937
  */
1835
1938
  providerOptions?: SharedV4ProviderOptions;
1836
1939
  } | {
1837
- type: 'file-id';
1940
+ type: 'file-reference';
1838
1941
  /**
1839
- * ID of the file.
1840
- *
1841
- * If you use multiple providers, you need to
1842
- * specify the provider specific ids using
1843
- * the Record option. The key is the provider
1844
- * name, e.g. 'openai' or 'anthropic'.
1942
+ * Provider-specific references for the file.
1943
+ * The key is the provider name, e.g. 'openai' or 'anthropic'.
1845
1944
  */
1846
- fileId: string | Record<string, string>;
1945
+ providerReference: SharedV4ProviderReference;
1847
1946
  /**
1848
1947
  * Provider-specific options.
1849
1948
  */
@@ -1881,18 +1980,14 @@ type LanguageModelV4ToolResultOutput = {
1881
1980
  providerOptions?: SharedV4ProviderOptions;
1882
1981
  } | {
1883
1982
  /**
1884
- * Images that are referenced using a provider file id.
1983
+ * Images that are referenced using a provider reference.
1885
1984
  */
1886
- type: 'image-file-id';
1985
+ type: 'image-file-reference';
1887
1986
  /**
1888
- * Image that is referenced using a provider file id.
1889
- *
1890
- * If you use multiple providers, you need to
1891
- * specify the provider specific ids using
1892
- * the Record option. The key is the provider
1893
- * name, e.g. 'openai' or 'anthropic'.
1987
+ * Provider-specific references for the image file.
1988
+ * The key is the provider name, e.g. 'openai' or 'anthropic'.
1894
1989
  */
1895
- fileId: string | Record<string, string>;
1990
+ providerReference: SharedV4ProviderReference;
1896
1991
  /**
1897
1992
  * Provider-specific options.
1898
1993
  */
@@ -2060,9 +2155,9 @@ type LanguageModelV4CallOptions = {
2060
2155
  type LanguageModelV4CustomContent = {
2061
2156
  type: 'custom';
2062
2157
  /**
2063
- * The kind of custom content, in the format `{provider}-{provider-type}`.
2158
+ * The kind of custom content, in the format `{provider}.{provider-type}`.
2064
2159
  */
2065
- kind: string;
2160
+ kind: `${string}.${string}`;
2066
2161
  /**
2067
2162
  * Additional provider-specific options. They are passed through
2068
2163
  * to the provider from the AI SDK and enable provider-specific
@@ -5155,6 +5250,13 @@ interface ProviderV4 {
5155
5250
  * @throws {NoSuchModelError} If no such model exists.
5156
5251
  */
5157
5252
  rerankingModel?(modelId: string): RerankingModelV4;
5253
+ /**
5254
+ * Returns the files interface for uploading files to the provider.
5255
+ * The returned interface can be passed to the `uploadFile` function.
5256
+ *
5257
+ * @returns {FilesV4} The files interface for this provider.
5258
+ */
5259
+ files?(): FilesV4;
5158
5260
  }
5159
5261
 
5160
5262
  type RerankingModelV3CallOptions = {
@@ -6391,4 +6493,4 @@ type VideoModelV3 = {
6391
6493
  }>;
6392
6494
  };
6393
6495
 
6394
- export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3CallOptions, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, type EmbeddingModelV3Result, type EmbeddingModelV4, type EmbeddingModelV4CallOptions, type EmbeddingModelV4Embedding, type EmbeddingModelV4Middleware, type EmbeddingModelV4Result, EmptyResponseBodyError, type VideoModelV3 as Experimental_VideoModelV3, type VideoModelV3CallOptions as Experimental_VideoModelV3CallOptions, type VideoModelV3File as Experimental_VideoModelV3File, type VideoModelV3VideoData as Experimental_VideoModelV3VideoData, type VideoModelV4 as Experimental_VideoModelV4, type VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions, type VideoModelV4File as Experimental_VideoModelV4File, type VideoModelV4VideoData as Experimental_VideoModelV4VideoData, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3Middleware, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, type ImageModelV4, type ImageModelV4CallOptions, type ImageModelV4File, type ImageModelV4Middleware, type ImageModelV4ProviderMetadata, type ImageModelV4Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3GenerateResult, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3StreamResult, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolApprovalRequest, type LanguageModelV3ToolApprovalResponsePart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, type LanguageModelV4, type LanguageModelV4CallOptions, type LanguageModelV4Content, type LanguageModelV4CustomContent, type LanguageModelV4CustomPart, type LanguageModelV4DataContent, type LanguageModelV4File, type LanguageModelV4FilePart, type LanguageModelV4FinishReason, type LanguageModelV4FunctionTool, type LanguageModelV4GenerateResult, type LanguageModelV4Message, type LanguageModelV4Middleware, type LanguageModelV4Prompt, type LanguageModelV4ProviderTool, type LanguageModelV4Reasoning, type LanguageModelV4ReasoningFile, type LanguageModelV4ReasoningFilePart, type LanguageModelV4ReasoningPart, type LanguageModelV4ResponseMetadata, type LanguageModelV4Source, type LanguageModelV4StreamPart, type LanguageModelV4StreamResult, type LanguageModelV4Text, type LanguageModelV4TextPart, type LanguageModelV4ToolApprovalRequest, type LanguageModelV4ToolApprovalResponsePart, type LanguageModelV4ToolCall, type LanguageModelV4ToolCallPart, type LanguageModelV4ToolChoice, type LanguageModelV4ToolResult, type LanguageModelV4ToolResultOutput, type LanguageModelV4ToolResultPart, type LanguageModelV4Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV2, type ProviderV3, type ProviderV4, type RerankingModelV3, type RerankingModelV3CallOptions, type RerankingModelV4, type RerankingModelV4CallOptions, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SharedV4Headers, type SharedV4ProviderMetadata, type SharedV4ProviderOptions, type SharedV4Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV4, type SpeechModelV4CallOptions, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV4, type TranscriptionModelV4CallOptions, type TypeValidationContext, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
6496
+ export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3CallOptions, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, type EmbeddingModelV3Result, type EmbeddingModelV4, type EmbeddingModelV4CallOptions, type EmbeddingModelV4Embedding, type EmbeddingModelV4Middleware, type EmbeddingModelV4Result, EmptyResponseBodyError, type VideoModelV3 as Experimental_VideoModelV3, type VideoModelV3CallOptions as Experimental_VideoModelV3CallOptions, type VideoModelV3File as Experimental_VideoModelV3File, type VideoModelV3VideoData as Experimental_VideoModelV3VideoData, type VideoModelV4 as Experimental_VideoModelV4, type VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions, type VideoModelV4File as Experimental_VideoModelV4File, type VideoModelV4VideoData as Experimental_VideoModelV4VideoData, type FilesV4, type FilesV4UploadFileCallOptions, type FilesV4UploadFileResult, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3Middleware, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, type ImageModelV4, type ImageModelV4CallOptions, type ImageModelV4File, type ImageModelV4Middleware, type ImageModelV4ProviderMetadata, type ImageModelV4Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3GenerateResult, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3StreamResult, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolApprovalRequest, type LanguageModelV3ToolApprovalResponsePart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, type LanguageModelV4, type LanguageModelV4CallOptions, type LanguageModelV4Content, type LanguageModelV4CustomContent, type LanguageModelV4CustomPart, type LanguageModelV4DataContent, type LanguageModelV4File, type LanguageModelV4FilePart, type LanguageModelV4FinishReason, type LanguageModelV4FunctionTool, type LanguageModelV4GenerateResult, type LanguageModelV4Message, type LanguageModelV4Middleware, type LanguageModelV4Prompt, type LanguageModelV4ProviderTool, type LanguageModelV4Reasoning, type LanguageModelV4ReasoningFile, type LanguageModelV4ReasoningFilePart, type LanguageModelV4ReasoningPart, type LanguageModelV4ResponseMetadata, type LanguageModelV4Source, type LanguageModelV4StreamPart, type LanguageModelV4StreamResult, type LanguageModelV4Text, type LanguageModelV4TextPart, type LanguageModelV4ToolApprovalRequest, type LanguageModelV4ToolApprovalResponsePart, type LanguageModelV4ToolCall, type LanguageModelV4ToolCallPart, type LanguageModelV4ToolChoice, type LanguageModelV4ToolResult, type LanguageModelV4ToolResultOutput, type LanguageModelV4ToolResultPart, type LanguageModelV4Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, NoSuchProviderReferenceError, type ProviderV2, type ProviderV3, type ProviderV4, type RerankingModelV3, type RerankingModelV3CallOptions, type RerankingModelV4, type RerankingModelV4CallOptions, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SharedV4Headers, type SharedV4ProviderMetadata, type SharedV4ProviderOptions, type SharedV4ProviderReference, type SharedV4Warning, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV4, type SpeechModelV4CallOptions, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV4, type TranscriptionModelV4CallOptions, type TypeValidationContext, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };