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

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.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
8
+
9
+ ## 4.0.0-beta.3
10
+
11
+ ### Major Changes
12
+
13
+ - 776b617: feat(provider): adding new 'custom' content type
14
+
3
15
  ## 4.0.0-beta.2
4
16
 
5
17
  ### Patch Changes
@@ -87,13 +99,13 @@
87
99
  Before
88
100
 
89
101
  ```ts
90
- model.textEmbeddingModel('my-model-id');
102
+ model.textEmbeddingModel("my-model-id");
91
103
  ```
92
104
 
93
105
  After
94
106
 
95
107
  ```ts
96
- model.embeddingModel('my-model-id');
108
+ model.embeddingModel("my-model-id");
97
109
  ```
98
110
 
99
111
  - dce03c4: feat: tool input examples
@@ -213,13 +225,13 @@
213
225
  Before
214
226
 
215
227
  ```ts
216
- model.textEmbeddingModel('my-model-id');
228
+ model.textEmbeddingModel("my-model-id");
217
229
  ```
218
230
 
219
231
  After
220
232
 
221
233
  ```ts
222
- model.embeddingModel('my-model-id');
234
+ model.embeddingModel("my-model-id");
223
235
  ```
224
236
 
225
237
  ## 3.0.0-beta.18
@@ -406,13 +418,13 @@
406
418
  Before
407
419
 
408
420
  ```ts
409
- import { convertUint8ArrayToBase64 } from '@ai-sdk/provider-utils';
421
+ import { convertUint8ArrayToBase64 } from "@ai-sdk/provider-utils";
410
422
 
411
423
  // Had to manually convert binary data to base64
412
424
  const fileData = new Uint8Array([0, 1, 2, 3]);
413
425
  const filePart = {
414
- type: 'file',
415
- mediaType: 'application/pdf',
426
+ type: "file",
427
+ mediaType: "application/pdf",
416
428
  data: convertUint8ArrayToBase64(fileData), // Required conversion
417
429
  };
418
430
  ```
@@ -423,8 +435,8 @@
423
435
  // Can use binary data directly
424
436
  const fileData = new Uint8Array([0, 1, 2, 3]);
425
437
  const filePart = {
426
- type: 'file',
427
- mediaType: 'application/pdf',
438
+ type: "file",
439
+ mediaType: "application/pdf",
428
440
  data: fileData, // Direct Uint8Array support
429
441
  };
430
442
  ```
@@ -440,10 +452,10 @@
440
452
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
441
453
 
442
454
  ```js
443
- const prompt = 'Santa Claus driving a Cadillac';
455
+ const prompt = "Santa Claus driving a Cadillac";
444
456
 
445
457
  const { providerMetadata } = await experimental_generateImage({
446
- model: openai.image('dall-e-3'),
458
+ model: openai.image("dall-e-3"),
447
459
  prompt,
448
460
  });
449
461
 
@@ -602,10 +614,10 @@
602
614
  The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
603
615
 
604
616
  ```js
605
- const prompt = 'Santa Claus driving a Cadillac';
617
+ const prompt = "Santa Claus driving a Cadillac";
606
618
 
607
619
  const { providerMetadata } = await experimental_generateImage({
608
- model: openai.image('dall-e-3'),
620
+ model: openai.image("dall-e-3"),
609
621
  prompt,
610
622
  });
611
623
 
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 | LanguageModelV4ReasoningFilePart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1559
+ content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart | LanguageModelV4CustomPart | LanguageModelV4ReasoningPart | LanguageModelV4ReasoningFilePart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1560
1560
  } | {
1561
1561
  role: 'tool';
1562
1562
  content: Array<LanguageModelV4ToolResultPart | LanguageModelV4ToolApprovalResponsePart>;
@@ -1622,6 +1622,23 @@ interface LanguageModelV4ReasoningFilePart {
1622
1622
  */
1623
1623
  providerOptions?: SharedV4ProviderOptions;
1624
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
+ }
1625
1642
  /**
1626
1643
  * File content part of a prompt. It contains a file.
1627
1644
  */
@@ -2023,6 +2040,11 @@ type LanguageModelV4CallOptions = {
2023
2040
  * Only applicable for HTTP-based providers.
2024
2041
  */
2025
2042
  headers?: Record<string, string | undefined>;
2043
+ /**
2044
+ * Reasoning effort level for the model. Controls how much reasoning
2045
+ * the model performs before generating a response. Defaults to 'provider-default'.
2046
+ */
2047
+ reasoning?: 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
2026
2048
  /**
2027
2049
  * Additional provider-specific options. They are passed through
2028
2050
  * to the provider from the AI SDK and enable provider-specific
@@ -2031,6 +2053,24 @@ type LanguageModelV4CallOptions = {
2031
2053
  providerOptions?: SharedV4ProviderOptions;
2032
2054
  };
2033
2055
 
2056
+ /**
2057
+ * A provider-specific content block that does not map to another standardized
2058
+ * content part type.
2059
+ */
2060
+ type LanguageModelV4CustomContent = {
2061
+ type: 'custom';
2062
+ /**
2063
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
2064
+ */
2065
+ kind: string;
2066
+ /**
2067
+ * Additional provider-specific options. They are passed through
2068
+ * to the provider from the AI SDK and enable provider-specific
2069
+ * functionality that can be fully encapsulated in the provider.
2070
+ */
2071
+ providerMetadata?: SharedV4ProviderMetadata;
2072
+ };
2073
+
2034
2074
  /**
2035
2075
  * A file that has been generated by the model.
2036
2076
  * Generated files as base64 encoded strings or binary data.
@@ -2263,7 +2303,7 @@ type LanguageModelV4ToolResult = {
2263
2303
  providerMetadata?: SharedV4ProviderMetadata;
2264
2304
  };
2265
2305
 
2266
- type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4ReasoningFile | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2306
+ type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4CustomContent | LanguageModelV4ReasoningFile | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2267
2307
 
2268
2308
  /**
2269
2309
  * Reason why a language model finished generating a response.
@@ -2451,7 +2491,7 @@ type LanguageModelV4StreamPart = {
2451
2491
  type: 'tool-input-end';
2452
2492
  id: string;
2453
2493
  providerMetadata?: SharedV4ProviderMetadata;
2454
- } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4File | LanguageModelV4ReasoningFile | LanguageModelV4Source | {
2494
+ } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4CustomContent | LanguageModelV4File | LanguageModelV4ReasoningFile | LanguageModelV4Source | {
2455
2495
  type: 'stream-start';
2456
2496
  warnings: Array<SharedV4Warning>;
2457
2497
  } | ({
@@ -6351,4 +6391,4 @@ type VideoModelV3 = {
6351
6391
  }>;
6352
6392
  };
6353
6393
 
6354
- 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 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 };
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 };
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 | LanguageModelV4ReasoningFilePart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1559
+ content: Array<LanguageModelV4TextPart | LanguageModelV4FilePart | LanguageModelV4CustomPart | LanguageModelV4ReasoningPart | LanguageModelV4ReasoningFilePart | LanguageModelV4ToolCallPart | LanguageModelV4ToolResultPart>;
1560
1560
  } | {
1561
1561
  role: 'tool';
1562
1562
  content: Array<LanguageModelV4ToolResultPart | LanguageModelV4ToolApprovalResponsePart>;
@@ -1622,6 +1622,23 @@ interface LanguageModelV4ReasoningFilePart {
1622
1622
  */
1623
1623
  providerOptions?: SharedV4ProviderOptions;
1624
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
+ }
1625
1642
  /**
1626
1643
  * File content part of a prompt. It contains a file.
1627
1644
  */
@@ -2023,6 +2040,11 @@ type LanguageModelV4CallOptions = {
2023
2040
  * Only applicable for HTTP-based providers.
2024
2041
  */
2025
2042
  headers?: Record<string, string | undefined>;
2043
+ /**
2044
+ * Reasoning effort level for the model. Controls how much reasoning
2045
+ * the model performs before generating a response. Defaults to 'provider-default'.
2046
+ */
2047
+ reasoning?: 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
2026
2048
  /**
2027
2049
  * Additional provider-specific options. They are passed through
2028
2050
  * to the provider from the AI SDK and enable provider-specific
@@ -2031,6 +2053,24 @@ type LanguageModelV4CallOptions = {
2031
2053
  providerOptions?: SharedV4ProviderOptions;
2032
2054
  };
2033
2055
 
2056
+ /**
2057
+ * A provider-specific content block that does not map to another standardized
2058
+ * content part type.
2059
+ */
2060
+ type LanguageModelV4CustomContent = {
2061
+ type: 'custom';
2062
+ /**
2063
+ * The kind of custom content, in the format `{provider}-{provider-type}`.
2064
+ */
2065
+ kind: string;
2066
+ /**
2067
+ * Additional provider-specific options. They are passed through
2068
+ * to the provider from the AI SDK and enable provider-specific
2069
+ * functionality that can be fully encapsulated in the provider.
2070
+ */
2071
+ providerMetadata?: SharedV4ProviderMetadata;
2072
+ };
2073
+
2034
2074
  /**
2035
2075
  * A file that has been generated by the model.
2036
2076
  * Generated files as base64 encoded strings or binary data.
@@ -2263,7 +2303,7 @@ type LanguageModelV4ToolResult = {
2263
2303
  providerMetadata?: SharedV4ProviderMetadata;
2264
2304
  };
2265
2305
 
2266
- type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4ReasoningFile | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2306
+ type LanguageModelV4Content = LanguageModelV4Text | LanguageModelV4Reasoning | LanguageModelV4CustomContent | LanguageModelV4ReasoningFile | LanguageModelV4File | LanguageModelV4ToolApprovalRequest | LanguageModelV4Source | LanguageModelV4ToolCall | LanguageModelV4ToolResult;
2267
2307
 
2268
2308
  /**
2269
2309
  * Reason why a language model finished generating a response.
@@ -2451,7 +2491,7 @@ type LanguageModelV4StreamPart = {
2451
2491
  type: 'tool-input-end';
2452
2492
  id: string;
2453
2493
  providerMetadata?: SharedV4ProviderMetadata;
2454
- } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4File | LanguageModelV4ReasoningFile | LanguageModelV4Source | {
2494
+ } | LanguageModelV4ToolApprovalRequest | LanguageModelV4ToolCall | LanguageModelV4ToolResult | LanguageModelV4CustomContent | LanguageModelV4File | LanguageModelV4ReasoningFile | LanguageModelV4Source | {
2455
2495
  type: 'stream-start';
2456
2496
  warnings: Array<SharedV4Warning>;
2457
2497
  } | ({
@@ -6351,4 +6391,4 @@ type VideoModelV3 = {
6351
6391
  }>;
6352
6392
  };
6353
6393
 
6354
- 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 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 };
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/provider",
3
- "version": "4.0.0-beta.2",
3
+ "version": "4.0.0-beta.4",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -56,8 +56,6 @@
56
56
  "build": "pnpm clean && tsup --tsconfig tsconfig.build.json",
57
57
  "build:watch": "pnpm clean && tsup --watch",
58
58
  "clean": "del-cli dist *.tsbuildinfo",
59
- "lint": "eslint \"./**/*.ts*\"",
60
- "type-check": "tsc --build",
61
- "prettier-check": "prettier --check \"./**/*.ts*\""
59
+ "type-check": "tsc --build"
62
60
  }
63
61
  }
@@ -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';
@@ -116,6 +116,19 @@ export type LanguageModelV4CallOptions = {
116
116
  */
117
117
  headers?: Record<string, string | undefined>;
118
118
 
119
+ /**
120
+ * Reasoning effort level for the model. Controls how much reasoning
121
+ * the model performs before generating a response. Defaults to 'provider-default'.
122
+ */
123
+ reasoning?:
124
+ | 'provider-default'
125
+ | 'none'
126
+ | 'minimal'
127
+ | 'low'
128
+ | 'medium'
129
+ | 'high'
130
+ | 'xhigh';
131
+
119
132
  /**
120
133
  * Additional provider-specific options. They are passed through
121
134
  * to the provider from the AI SDK and enable provider-specific
@@ -1,3 +1,4 @@
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';
3
4
  import { LanguageModelV4ReasoningFile } from './language-model-v4-reasoning-file';
@@ -10,6 +11,7 @@ import { LanguageModelV4ToolResult } from './language-model-v4-tool-result';
10
11
  export type LanguageModelV4Content =
11
12
  | LanguageModelV4Text
12
13
  | LanguageModelV4Reasoning
14
+ | LanguageModelV4CustomContent
13
15
  | LanguageModelV4ReasoningFile
14
16
  | LanguageModelV4File
15
17
  | LanguageModelV4ToolApprovalRequest
@@ -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,6 +31,7 @@ export type LanguageModelV4Message =
31
31
  content: Array<
32
32
  | LanguageModelV4TextPart
33
33
  | LanguageModelV4FilePart
34
+ | LanguageModelV4CustomPart
34
35
  | LanguageModelV4ReasoningPart
35
36
  | LanguageModelV4ReasoningFilePart
36
37
  | LanguageModelV4ToolCallPart
@@ -117,6 +118,26 @@ export interface LanguageModelV4ReasoningFilePart {
117
118
  providerOptions?: SharedV4ProviderOptions;
118
119
  }
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
+
120
141
  /**
121
142
  * File content part of a prompt. It contains a file.
122
143
  */
@@ -1,5 +1,6 @@
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';
5
6
  import { LanguageModelV4ReasoningFile } from './language-model-v4-reasoning-file';
@@ -71,6 +72,7 @@ export type LanguageModelV4StreamPart =
71
72
  | LanguageModelV4ToolApprovalRequest
72
73
  | LanguageModelV4ToolCall
73
74
  | LanguageModelV4ToolResult
75
+ | LanguageModelV4CustomContent
74
76
 
75
77
  // Files and sources:
76
78
  | LanguageModelV4File