@ai-sdk/provider 4.0.0-beta.1 → 4.0.0-beta.3

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.3
4
+
5
+ ### Major Changes
6
+
7
+ - 776b617: feat(provider): adding new 'custom' content type
8
+
9
+ ## 4.0.0-beta.2
10
+
11
+ ### Patch Changes
12
+
13
+ - f7d4f01: feat(provider): add support for `reasoning-file` type for files that are part of reasoning
14
+
3
15
  ## 4.0.0-beta.1
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -1556,7 +1556,7 @@ type LanguageModelV4Message = ({
1556
1556
  content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart>;
1557
1557
  } | {
1558
1558
  role: 'assistant';
1559
- content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart | LanguageModelV4ReasoningPart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1559
+ content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart | LanguageModelV4CustomPart | LanguageModelV4ReasoningPart | LanguageModelV4ReasoningFilePart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1560
1560
  } | {
1561
1561
  role: 'tool';
1562
1562
  content: Array<LanguageModelV4ToolResultPart | LanguageModelV4ToolApprovalResponsePart>;
@@ -1600,6 +1600,45 @@ interface LanguageModelV4ReasoningPart {
1600
1600
  */
1601
1601
  providerOptions?: SharedV4ProviderOptions;
1602
1602
  }
1603
+ /**
1604
+ * Reasoning file content part of a prompt. It contains a file generated as part of reasoning.
1605
+ */
1606
+ interface LanguageModelV4ReasoningFilePart {
1607
+ type: 'reasoning-file';
1608
+ /**
1609
+ * File data. Can be a Uint8Array, base64 encoded data as a string or a URL.
1610
+ */
1611
+ data: LanguageModelV4DataContent;
1612
+ /**
1613
+ * IANA media type of the file.
1614
+ *
1615
+ * @see https://www.iana.org/assignments/media-types/media-types.xhtml
1616
+ */
1617
+ mediaType: string;
1618
+ /**
1619
+ * Additional provider-specific options. They are passed through
1620
+ * to the provider from the AI SDK and enable provider-specific
1621
+ * functionality that can be fully encapsulated in the provider.
1622
+ */
1623
+ providerOptions?: SharedV4ProviderOptions;
1624
+ }
1625
+ /**
1626
+ * Provider-specific content part of a prompt. It contains no standardized
1627
+ * payload beyond provider-specific options.
1628
+ */
1629
+ interface LanguageModelV4CustomPart {
1630
+ type: 'custom';
1631
+ /**
1632
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
1633
+ */
1634
+ kind: string;
1635
+ /**
1636
+ * Additional provider-specific options. They are passed through
1637
+ * to the provider from the AI SDK and enable provider-specific
1638
+ * functionality that can be fully encapsulated in the provider.
1639
+ */
1640
+ providerOptions?: SharedV4ProviderOptions;
1641
+ }
1603
1642
  /**
1604
1643
  * File content part of a prompt. It contains a file.
1605
1644
  */
@@ -2009,6 +2048,24 @@ type LanguageModelV4CallOptions = {
2009
2048
  providerOptions?: SharedV4ProviderOptions;
2010
2049
  };
2011
2050
 
2051
+ /**
2052
+ * A provider-specific content block that does not map to another standardized
2053
+ * content part type.
2054
+ */
2055
+ type LanguageModelV4CustomContent = {
2056
+ type: 'custom';
2057
+ /**
2058
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
2059
+ */
2060
+ kind: string;
2061
+ /**
2062
+ * Additional provider-specific options. They are passed through
2063
+ * to the provider from the AI SDK and enable provider-specific
2064
+ * functionality that can be fully encapsulated in the provider.
2065
+ */
2066
+ providerMetadata?: SharedV4ProviderMetadata;
2067
+ };
2068
+
2012
2069
  /**
2013
2070
  * A file that has been generated by the model.
2014
2071
  * Generated files as base64 encoded strings or binary data.
@@ -2049,6 +2106,34 @@ type LanguageModelV4Reasoning = {
2049
2106
  providerMetadata?: SharedV4ProviderMetadata;
2050
2107
  };
2051
2108
 
2109
+ /**
2110
+ * A file that has been generated by the model as part of reasoning.
2111
+ * Generated files as base64 encoded strings or binary data.
2112
+ * The files should be returned without any unnecessary conversion.
2113
+ */
2114
+ type LanguageModelV4ReasoningFile = {
2115
+ type: 'reasoning-file';
2116
+ /**
2117
+ * The IANA media type of the file, e.g. `image/png` or `audio/mp3`.
2118
+ *
2119
+ * @see https://www.iana.org/assignments/media-types/media-types.xhtml
2120
+ */
2121
+ mediaType: string;
2122
+ /**
2123
+ * Generated file data as base64 encoded strings or binary data.
2124
+ *
2125
+ * The file data should be returned without any unnecessary conversion.
2126
+ * If the API returns base64 encoded strings, the file data should be returned
2127
+ * as base64 encoded strings. If the API returns binary data, the file data should
2128
+ * be returned as binary data.
2129
+ */
2130
+ data: string | Uint8Array;
2131
+ /**
2132
+ * Optional provider-specific metadata for the reasoning file part.
2133
+ */
2134
+ providerMetadata?: SharedV4ProviderMetadata;
2135
+ };
2136
+
2052
2137
  /**
2053
2138
  * A source that has been used as input to generate the response.
2054
2139
  */
@@ -2213,7 +2298,7 @@ type LanguageModelV4ToolResult = {
2213
2298
  providerMetadata?: SharedV4ProviderMetadata;
2214
2299
  };
2215
2300
 
2216
- type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2301
+ type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4CustomContent | LanguageModelV4ReasoningFile | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2217
2302
 
2218
2303
  /**
2219
2304
  * Reason why a language model finished generating a response.
@@ -2401,7 +2486,7 @@ type LanguageModelV4StreamPart = {
2401
2486
  type: 'tool-input-end';
2402
2487
  id: string;
2403
2488
  providerMetadata?: SharedV4ProviderMetadata;
2404
- } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4File | LanguageModelV4Source | {
2489
+ } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4CustomContent | LanguageModelV4File | LanguageModelV4ReasoningFile | LanguageModelV4Source | {
2405
2490
  type: 'stream-start';
2406
2491
  warnings: Array<SharedV4Warning>;
2407
2492
  } | ({
@@ -6301,4 +6386,4 @@ type VideoModelV3 = {
6301
6386
  }>;
6302
6387
  };
6303
6388
 
6304
- 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 LanguageModelV4DataContent, type LanguageModelV4File, type LanguageModelV4FilePart, type LanguageModelV4FinishReason, type LanguageModelV4FunctionTool, type LanguageModelV4GenerateResult, type LanguageModelV4Message, type LanguageModelV4Middleware, type LanguageModelV4Prompt, type LanguageModelV4ProviderTool, type LanguageModelV4Reasoning, 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 };
6389
+ 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 };
package/dist/index.d.ts CHANGED
@@ -1556,7 +1556,7 @@ type LanguageModelV4Message = ({
1556
1556
  content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart>;
1557
1557
  } | {
1558
1558
  role: 'assistant';
1559
- content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart | LanguageModelV4ReasoningPart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1559
+ content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart | LanguageModelV4CustomPart | LanguageModelV4ReasoningPart | LanguageModelV4ReasoningFilePart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1560
1560
  } | {
1561
1561
  role: 'tool';
1562
1562
  content: Array<LanguageModelV4ToolResultPart | LanguageModelV4ToolApprovalResponsePart>;
@@ -1600,6 +1600,45 @@ interface LanguageModelV4ReasoningPart {
1600
1600
  */
1601
1601
  providerOptions?: SharedV4ProviderOptions;
1602
1602
  }
1603
+ /**
1604
+ * Reasoning file content part of a prompt. It contains a file generated as part of reasoning.
1605
+ */
1606
+ interface LanguageModelV4ReasoningFilePart {
1607
+ type: 'reasoning-file';
1608
+ /**
1609
+ * File data. Can be a Uint8Array, base64 encoded data as a string or a URL.
1610
+ */
1611
+ data: LanguageModelV4DataContent;
1612
+ /**
1613
+ * IANA media type of the file.
1614
+ *
1615
+ * @see https://www.iana.org/assignments/media-types/media-types.xhtml
1616
+ */
1617
+ mediaType: string;
1618
+ /**
1619
+ * Additional provider-specific options. They are passed through
1620
+ * to the provider from the AI SDK and enable provider-specific
1621
+ * functionality that can be fully encapsulated in the provider.
1622
+ */
1623
+ providerOptions?: SharedV4ProviderOptions;
1624
+ }
1625
+ /**
1626
+ * Provider-specific content part of a prompt. It contains no standardized
1627
+ * payload beyond provider-specific options.
1628
+ */
1629
+ interface LanguageModelV4CustomPart {
1630
+ type: 'custom';
1631
+ /**
1632
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
1633
+ */
1634
+ kind: string;
1635
+ /**
1636
+ * Additional provider-specific options. They are passed through
1637
+ * to the provider from the AI SDK and enable provider-specific
1638
+ * functionality that can be fully encapsulated in the provider.
1639
+ */
1640
+ providerOptions?: SharedV4ProviderOptions;
1641
+ }
1603
1642
  /**
1604
1643
  * File content part of a prompt. It contains a file.
1605
1644
  */
@@ -2009,6 +2048,24 @@ type LanguageModelV4CallOptions = {
2009
2048
  providerOptions?: SharedV4ProviderOptions;
2010
2049
  };
2011
2050
 
2051
+ /**
2052
+ * A provider-specific content block that does not map to another standardized
2053
+ * content part type.
2054
+ */
2055
+ type LanguageModelV4CustomContent = {
2056
+ type: 'custom';
2057
+ /**
2058
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
2059
+ */
2060
+ kind: string;
2061
+ /**
2062
+ * Additional provider-specific options. They are passed through
2063
+ * to the provider from the AI SDK and enable provider-specific
2064
+ * functionality that can be fully encapsulated in the provider.
2065
+ */
2066
+ providerMetadata?: SharedV4ProviderMetadata;
2067
+ };
2068
+
2012
2069
  /**
2013
2070
  * A file that has been generated by the model.
2014
2071
  * Generated files as base64 encoded strings or binary data.
@@ -2049,6 +2106,34 @@ type LanguageModelV4Reasoning = {
2049
2106
  providerMetadata?: SharedV4ProviderMetadata;
2050
2107
  };
2051
2108
 
2109
+ /**
2110
+ * A file that has been generated by the model as part of reasoning.
2111
+ * Generated files as base64 encoded strings or binary data.
2112
+ * The files should be returned without any unnecessary conversion.
2113
+ */
2114
+ type LanguageModelV4ReasoningFile = {
2115
+ type: 'reasoning-file';
2116
+ /**
2117
+ * The IANA media type of the file, e.g. `image/png` or `audio/mp3`.
2118
+ *
2119
+ * @see https://www.iana.org/assignments/media-types/media-types.xhtml
2120
+ */
2121
+ mediaType: string;
2122
+ /**
2123
+ * Generated file data as base64 encoded strings or binary data.
2124
+ *
2125
+ * The file data should be returned without any unnecessary conversion.
2126
+ * If the API returns base64 encoded strings, the file data should be returned
2127
+ * as base64 encoded strings. If the API returns binary data, the file data should
2128
+ * be returned as binary data.
2129
+ */
2130
+ data: string | Uint8Array;
2131
+ /**
2132
+ * Optional provider-specific metadata for the reasoning file part.
2133
+ */
2134
+ providerMetadata?: SharedV4ProviderMetadata;
2135
+ };
2136
+
2052
2137
  /**
2053
2138
  * A source that has been used as input to generate the response.
2054
2139
  */
@@ -2213,7 +2298,7 @@ type LanguageModelV4ToolResult = {
2213
2298
  providerMetadata?: SharedV4ProviderMetadata;
2214
2299
  };
2215
2300
 
2216
- type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2301
+ type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4CustomContent | LanguageModelV4ReasoningFile | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2217
2302
 
2218
2303
  /**
2219
2304
  * Reason why a language model finished generating a response.
@@ -2401,7 +2486,7 @@ type LanguageModelV4StreamPart = {
2401
2486
  type: 'tool-input-end';
2402
2487
  id: string;
2403
2488
  providerMetadata?: SharedV4ProviderMetadata;
2404
- } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4File | LanguageModelV4Source | {
2489
+ } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4CustomContent | LanguageModelV4File | LanguageModelV4ReasoningFile | LanguageModelV4Source | {
2405
2490
  type: 'stream-start';
2406
2491
  warnings: Array<SharedV4Warning>;
2407
2492
  } | ({
@@ -6301,4 +6386,4 @@ type VideoModelV3 = {
6301
6386
  }>;
6302
6387
  };
6303
6388
 
6304
- 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 LanguageModelV4DataContent, type LanguageModelV4File, type LanguageModelV4FilePart, type LanguageModelV4FinishReason, type LanguageModelV4FunctionTool, type LanguageModelV4GenerateResult, type LanguageModelV4Message, type LanguageModelV4Middleware, type LanguageModelV4Prompt, type LanguageModelV4ProviderTool, type LanguageModelV4Reasoning, 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 };
6389
+ 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/provider",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.3",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,7 @@
1
1
  export * from './language-model-v4';
2
2
  export * from './language-model-v4-call-options';
3
3
  export * from './language-model-v4-content';
4
+ export * from './language-model-v4-custom-content';
4
5
  export * from './language-model-v4-data-content';
5
6
  export * from './language-model-v4-file';
6
7
  export * from './language-model-v4-finish-reason';
@@ -9,6 +10,7 @@ export * from './language-model-v4-generate-result';
9
10
  export * from './language-model-v4-prompt';
10
11
  export * from './language-model-v4-provider-tool';
11
12
  export * from './language-model-v4-reasoning';
13
+ export * from './language-model-v4-reasoning-file';
12
14
  export * from './language-model-v4-response-metadata';
13
15
  export * from './language-model-v4-source';
14
16
  export * from './language-model-v4-stream-part';
@@ -1,5 +1,7 @@
1
+ import { LanguageModelV4CustomContent } from './language-model-v4-custom-content';
1
2
  import { LanguageModelV4File } from './language-model-v4-file';
2
3
  import { LanguageModelV4Reasoning } from './language-model-v4-reasoning';
4
+ import { LanguageModelV4ReasoningFile } from './language-model-v4-reasoning-file';
3
5
  import { LanguageModelV4Source } from './language-model-v4-source';
4
6
  import { LanguageModelV4Text } from './language-model-v4-text';
5
7
  import { LanguageModelV4ToolApprovalRequest } from './language-model-v4-tool-approval-request';
@@ -9,6 +11,8 @@ import { LanguageModelV4ToolResult } from './language-model-v4-tool-result';
9
11
  export type LanguageModelV4Content =
10
12
  | LanguageModelV4Text
11
13
  | LanguageModelV4Reasoning
14
+ | LanguageModelV4CustomContent
15
+ | LanguageModelV4ReasoningFile
12
16
  | LanguageModelV4File
13
17
  | LanguageModelV4ToolApprovalRequest
14
18
  | LanguageModelV4Source
@@ -0,0 +1,21 @@
1
+ import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
+
3
+ /**
4
+ * A provider-specific content block that does not map to another standardized
5
+ * content part type.
6
+ */
7
+ export type LanguageModelV4CustomContent = {
8
+ type: 'custom';
9
+
10
+ /**
11
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
12
+ */
13
+ kind: string;
14
+
15
+ /**
16
+ * Additional provider-specific options. They are passed through
17
+ * to the provider from the AI SDK and enable provider-specific
18
+ * functionality that can be fully encapsulated in the provider.
19
+ */
20
+ providerMetadata?: SharedV4ProviderMetadata;
21
+ };
@@ -31,7 +31,9 @@ export type LanguageModelV4Message =
31
31
  content: Array<
32
32
  | LanguageModelV4TextPart
33
33
  | LanguageModelV4FilePart
34
+ | LanguageModelV4CustomPart
34
35
  | LanguageModelV4ReasoningPart
36
+ | LanguageModelV4ReasoningFilePart
35
37
  | LanguageModelV4ToolCallPart
36
38
  | LanguageModelV4ToolResultPart
37
39
  >;
@@ -90,6 +92,52 @@ export interface LanguageModelV4ReasoningPart {
90
92
  providerOptions?: SharedV4ProviderOptions;
91
93
  }
92
94
 
95
+ /**
96
+ * Reasoning file content part of a prompt. It contains a file generated as part of reasoning.
97
+ */
98
+ export interface LanguageModelV4ReasoningFilePart {
99
+ type: 'reasoning-file';
100
+
101
+ /**
102
+ * File data. Can be a Uint8Array, base64 encoded data as a string or a URL.
103
+ */
104
+ data: LanguageModelV4DataContent;
105
+
106
+ /**
107
+ * IANA media type of the file.
108
+ *
109
+ * @see https://www.iana.org/assignments/media-types/media-types.xhtml
110
+ */
111
+ mediaType: string;
112
+
113
+ /**
114
+ * Additional provider-specific options. They are passed through
115
+ * to the provider from the AI SDK and enable provider-specific
116
+ * functionality that can be fully encapsulated in the provider.
117
+ */
118
+ providerOptions?: SharedV4ProviderOptions;
119
+ }
120
+
121
+ /**
122
+ * Provider-specific content part of a prompt. It contains no standardized
123
+ * payload beyond provider-specific options.
124
+ */
125
+ export interface LanguageModelV4CustomPart {
126
+ type: 'custom';
127
+
128
+ /**
129
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
130
+ */
131
+ kind: string;
132
+
133
+ /**
134
+ * Additional provider-specific options. They are passed through
135
+ * to the provider from the AI SDK and enable provider-specific
136
+ * functionality that can be fully encapsulated in the provider.
137
+ */
138
+ providerOptions?: SharedV4ProviderOptions;
139
+ }
140
+
93
141
  /**
94
142
  * File content part of a prompt. It contains a file.
95
143
  */
@@ -0,0 +1,32 @@
1
+ import { SharedV4ProviderMetadata } from '../../shared';
2
+
3
+ /**
4
+ * A file that has been generated by the model as part of reasoning.
5
+ * Generated files as base64 encoded strings or binary data.
6
+ * The files should be returned without any unnecessary conversion.
7
+ */
8
+ export type LanguageModelV4ReasoningFile = {
9
+ type: 'reasoning-file';
10
+
11
+ /**
12
+ * The IANA media type of the file, e.g. `image/png` or `audio/mp3`.
13
+ *
14
+ * @see https://www.iana.org/assignments/media-types/media-types.xhtml
15
+ */
16
+ mediaType: string;
17
+
18
+ /**
19
+ * Generated file data as base64 encoded strings or binary data.
20
+ *
21
+ * The file data should be returned without any unnecessary conversion.
22
+ * If the API returns base64 encoded strings, the file data should be returned
23
+ * as base64 encoded strings. If the API returns binary data, the file data should
24
+ * be returned as binary data.
25
+ */
26
+ data: string | Uint8Array;
27
+
28
+ /**
29
+ * Optional provider-specific metadata for the reasoning file part.
30
+ */
31
+ providerMetadata?: SharedV4ProviderMetadata;
32
+ };
@@ -1,7 +1,9 @@
1
1
  import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
2
  import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
3
+ import { LanguageModelV4CustomContent } from './language-model-v4-custom-content';
3
4
  import { LanguageModelV4File } from './language-model-v4-file';
4
5
  import { LanguageModelV4FinishReason } from './language-model-v4-finish-reason';
6
+ import { LanguageModelV4ReasoningFile } from './language-model-v4-reasoning-file';
5
7
  import { LanguageModelV4ResponseMetadata } from './language-model-v4-response-metadata';
6
8
  import { LanguageModelV4Source } from './language-model-v4-source';
7
9
  import { LanguageModelV4ToolApprovalRequest } from './language-model-v4-tool-approval-request';
@@ -70,9 +72,11 @@ export type LanguageModelV4StreamPart =
70
72
  | LanguageModelV4ToolApprovalRequest
71
73
  | LanguageModelV4ToolCall
72
74
  | LanguageModelV4ToolResult
75
+ | LanguageModelV4CustomContent
73
76
 
74
77
  // Files and sources:
75
78
  | LanguageModelV4File
79
+ | LanguageModelV4ReasoningFile
76
80
  | LanguageModelV4Source
77
81
 
78
82
  // stream start event with warnings for the call, e.g. unsupported settings: