ai 5.1.0-beta.7 → 5.1.0-beta.9

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,25 @@
1
1
  # ai
2
2
 
3
+ ## 5.1.0-beta.9
4
+
5
+ ### Patch Changes
6
+
7
+ - ed329cb: feat: `Provider-V3`
8
+ - 177b475: fix(ai): download files when intermediate file cannot be downloaded
9
+ - 522f6b8: feat: `ImageModelV3`
10
+ - Updated dependencies [aaf5ebf]
11
+ - Updated dependencies [ed329cb]
12
+ - Updated dependencies [522f6b8]
13
+ - @ai-sdk/gateway@1.1.0-beta.6
14
+ - @ai-sdk/provider@2.1.0-beta.2
15
+ - @ai-sdk/provider-utils@3.1.0-beta.3
16
+
17
+ ## 5.1.0-beta.8
18
+
19
+ ### Patch Changes
20
+
21
+ - 7eca093: fix(ai): update `uiMessageChunkSchema` to satisfy the `UIMessageChunk` type
22
+
3
23
  ## 5.1.0-beta.7
4
24
 
5
25
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import { ModelMessage, Tool, InferToolInput, InferToolOutput, AssistantModelMess
3
3
  export { AssistantContent, AssistantModelMessage, DataContent, FilePart, IdGenerator, ImagePart, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
4
4
  import { AttributeValue, Tracer } from '@opentelemetry/api';
5
5
  import * as _ai_sdk_provider from '@ai-sdk/provider';
6
- import { EmbeddingModelV3, EmbeddingModelV3Embedding, ImageModelV2, ImageModelV2CallWarning, ImageModelV2ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV2, LanguageModelV2FinishReason, LanguageModelV2CallWarning, LanguageModelV2Source, LanguageModelV2Middleware, SharedV2ProviderMetadata, SpeechModelV2, SpeechModelV2CallWarning, TranscriptionModelV2, TranscriptionModelV2CallWarning, LanguageModelV2Usage, LanguageModelV2CallOptions, AISDKError, LanguageModelV2ToolCall, JSONSchema7, JSONParseError, TypeValidationError, ProviderV2, NoSuchModelError, JSONObject } from '@ai-sdk/provider';
6
+ import { EmbeddingModelV3, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV2, LanguageModelV2FinishReason, LanguageModelV2CallWarning, LanguageModelV2Source, LanguageModelV2Middleware, SharedV2ProviderMetadata, SpeechModelV2, SpeechModelV2CallWarning, TranscriptionModelV2, TranscriptionModelV2CallWarning, LanguageModelV2Usage, LanguageModelV2CallOptions, AISDKError, LanguageModelV2ToolCall, JSONSchema7, JSONParseError, TypeValidationError, ProviderV3, NoSuchModelError, JSONObject } from '@ai-sdk/provider';
7
7
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
8
8
  import * as z3 from 'zod/v3';
9
9
  import * as z4 from 'zod/v4';
@@ -167,16 +167,16 @@ type Embedding = EmbeddingModelV3Embedding;
167
167
  /**
168
168
  Image model that is used by the AI SDK Core functions.
169
169
  */
170
- type ImageModel = ImageModelV2;
170
+ type ImageModel = ImageModelV3;
171
171
  /**
172
172
  Warning from the model provider for this call. The call will proceed, but e.g.
173
173
  some settings might not be supported, which can lead to suboptimal results.
174
174
  */
175
- type ImageGenerationWarning = ImageModelV2CallWarning;
175
+ type ImageGenerationWarning = ImageModelV3CallWarning;
176
176
  /**
177
177
  Metadata from the model provider for this call
178
178
  */
179
- type ImageModelProviderMetadata = ImageModelV2ProviderMetadata;
179
+ type ImageModelProviderMetadata = ImageModelV3ProviderMetadata;
180
180
 
181
181
  type ImageModelResponseMetadata = {
182
182
  /**
@@ -1650,10 +1650,6 @@ declare const uiMessageChunkSchema: z.ZodUnion<readonly [z.ZodObject<{
1650
1650
  errorText: z.ZodString;
1651
1651
  providerExecuted: z.ZodOptional<z.ZodBoolean>;
1652
1652
  dynamic: z.ZodOptional<z.ZodBoolean>;
1653
- }, z.core.$strict>, z.ZodObject<{
1654
- type: z.ZodLiteral<"reasoning">;
1655
- text: z.ZodString;
1656
- providerMetadata: z.ZodOptional<z.ZodType<_ai_sdk_provider.SharedV2ProviderMetadata, unknown, z.core.$ZodTypeInternals<_ai_sdk_provider.SharedV2ProviderMetadata, unknown>>>;
1657
1653
  }, z.core.$strict>, z.ZodObject<{
1658
1654
  type: z.ZodLiteral<"reasoning-start">;
1659
1655
  id: z.ZodString;
@@ -1667,8 +1663,6 @@ declare const uiMessageChunkSchema: z.ZodUnion<readonly [z.ZodObject<{
1667
1663
  type: z.ZodLiteral<"reasoning-end">;
1668
1664
  id: z.ZodString;
1669
1665
  providerMetadata: z.ZodOptional<z.ZodType<_ai_sdk_provider.SharedV2ProviderMetadata, unknown, z.core.$ZodTypeInternals<_ai_sdk_provider.SharedV2ProviderMetadata, unknown>>>;
1670
- }, z.core.$strict>, z.ZodObject<{
1671
- type: z.ZodLiteral<"reasoning-part-finish">;
1672
1666
  }, z.core.$strict>, z.ZodObject<{
1673
1667
  type: z.ZodLiteral<"source-url">;
1674
1668
  sourceId: z.ZodString;
@@ -1688,7 +1682,7 @@ declare const uiMessageChunkSchema: z.ZodUnion<readonly [z.ZodObject<{
1688
1682
  mediaType: z.ZodString;
1689
1683
  providerMetadata: z.ZodOptional<z.ZodType<_ai_sdk_provider.SharedV2ProviderMetadata, unknown, z.core.$ZodTypeInternals<_ai_sdk_provider.SharedV2ProviderMetadata, unknown>>>;
1690
1684
  }, z.core.$strict>, z.ZodObject<{
1691
- type: z.ZodString;
1685
+ type: z.ZodCustom<`data-${string}`, `data-${string}`>;
1692
1686
  id: z.ZodOptional<z.ZodString>;
1693
1687
  data: z.ZodUnknown;
1694
1688
  transient: z.ZodOptional<z.ZodBoolean>;
@@ -1803,6 +1797,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
1803
1797
  type: 'file';
1804
1798
  url: string;
1805
1799
  mediaType: string;
1800
+ providerMetadata?: ProviderMetadata;
1806
1801
  } | DataUIMessageChunk<DATA_TYPES> | {
1807
1802
  type: 'start-step';
1808
1803
  } | {
@@ -2839,7 +2834,7 @@ declare function generateImage({ model, prompt, n, maxImagesPerCall, size, aspec
2839
2834
  /**
2840
2835
  The image model to use.
2841
2836
  */
2842
- model: ImageModelV2;
2837
+ model: ImageModelV3;
2843
2838
  /**
2844
2839
  The prompt that should be used to generate the image.
2845
2840
  */
@@ -3561,7 +3556,7 @@ declare function generateSpeech({ model, text, voice, outputFormat, instructions
3561
3556
  headers?: Record<string, string>;
3562
3557
  }): Promise<SpeechResult>;
3563
3558
 
3564
- type Warning = LanguageModelV2CallWarning | ImageModelV2CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
3559
+ type Warning = LanguageModelV2CallWarning | ImageModelV3CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
3565
3560
  type LogWarningsFunction = (warnings: Warning[]) => void;
3566
3561
 
3567
3562
  /**
@@ -3624,20 +3619,20 @@ declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, p
3624
3619
  }) => LanguageModelV2;
3625
3620
 
3626
3621
  /**
3627
- * Wraps a ProviderV2 instance with middleware functionality.
3622
+ * Wraps a ProviderV3 instance with middleware functionality.
3628
3623
  * This function allows you to apply middleware to all language models
3629
3624
  * from the provider, enabling you to transform parameters, wrap generate
3630
3625
  * operations, and wrap stream operations for every language model.
3631
3626
  *
3632
3627
  * @param options - Configuration options for wrapping the provider.
3633
- * @param options.provider - The original ProviderV2 instance to be wrapped.
3628
+ * @param options.provider - The original ProviderV3 instance to be wrapped.
3634
3629
  * @param options.languageModelMiddleware - The middleware to be applied to all language models from the provider. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
3635
- * @returns A new ProviderV2 instance with middleware applied to all language models.
3630
+ * @returns A new ProviderV3 instance with middleware applied to all language models.
3636
3631
  */
3637
3632
  declare function wrapProvider({ provider, languageModelMiddleware, }: {
3638
- provider: ProviderV2;
3633
+ provider: ProviderV3;
3639
3634
  languageModelMiddleware: LanguageModelMiddleware | LanguageModelMiddleware[];
3640
- }): ProviderV2;
3635
+ }): ProviderV3;
3641
3636
 
3642
3637
  /**
3643
3638
  * Creates a custom provider with specified language models, text embedding models, image models, transcription models, speech models, and an optional fallback provider.
@@ -3653,17 +3648,17 @@ declare function wrapProvider({ provider, languageModelMiddleware, }: {
3653
3648
  *
3654
3649
  * @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
3655
3650
  */
3656
- declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV2>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV3<string>>, IMAGE_MODELS extends Record<string, ImageModelV2>, TRANSCRIPTION_MODELS extends Record<string, TranscriptionModelV2>, SPEECH_MODELS extends Record<string, SpeechModelV2>>({ languageModels, textEmbeddingModels, imageModels, transcriptionModels, speechModels, fallbackProvider, }: {
3651
+ declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV2>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV3<string>>, IMAGE_MODELS extends Record<string, ImageModelV3>, TRANSCRIPTION_MODELS extends Record<string, TranscriptionModelV2>, SPEECH_MODELS extends Record<string, SpeechModelV2>>({ languageModels, textEmbeddingModels, imageModels, transcriptionModels, speechModels, fallbackProvider, }: {
3657
3652
  languageModels?: LANGUAGE_MODELS;
3658
3653
  textEmbeddingModels?: EMBEDDING_MODELS;
3659
3654
  imageModels?: IMAGE_MODELS;
3660
3655
  transcriptionModels?: TRANSCRIPTION_MODELS;
3661
3656
  speechModels?: SPEECH_MODELS;
3662
- fallbackProvider?: ProviderV2;
3663
- }): ProviderV2 & {
3657
+ fallbackProvider?: ProviderV3;
3658
+ }): ProviderV3 & {
3664
3659
  languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV2;
3665
3660
  textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV3<string>;
3666
- imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV2;
3661
+ imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV3;
3667
3662
  transcriptionModel(modelId: ExtractModelId<TRANSCRIPTION_MODELS>): TranscriptionModelV2;
3668
3663
  speechModel(modelId: ExtractModelId<SPEECH_MODELS>): SpeechModelV2;
3669
3664
  };
@@ -3689,13 +3684,13 @@ declare class NoSuchProviderError extends NoSuchModelError {
3689
3684
  }
3690
3685
 
3691
3686
  type ExtractLiteralUnion<T> = T extends string ? string extends T ? never : T : never;
3692
- interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV2> = Record<string, ProviderV2>, SEPARATOR extends string = ':'> {
3687
+ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV3> = Record<string, ProviderV3>, SEPARATOR extends string = ':'> {
3693
3688
  languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['languageModel']>>[0]>}` : never): LanguageModelV2;
3694
3689
  languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): LanguageModelV2;
3695
3690
  textEmbeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['textEmbeddingModel']>>[0]>}` : never): EmbeddingModelV3<string>;
3696
3691
  textEmbeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): EmbeddingModelV3<string>;
3697
- imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['imageModel']>>[0]>}` : never): ImageModelV2;
3698
- imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): ImageModelV2;
3692
+ imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['imageModel']>>[0]>}` : never): ImageModelV3;
3693
+ imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): ImageModelV3;
3699
3694
  transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['transcriptionModel']>>[0]>}` : never): TranscriptionModelV2;
3700
3695
  transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): TranscriptionModelV2;
3701
3696
  speechModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['speechModel']>>[0]>}` : never): SpeechModelV2;
@@ -3713,7 +3708,7 @@ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV2>
3713
3708
  * @param options.languageModelMiddleware - Optional middleware to be applied to all language models from the registry. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
3714
3709
  * @returns A new ProviderRegistryProvider instance that provides access to all registered providers with optional middleware applied to language models.
3715
3710
  */
3716
- declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV2>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, languageModelMiddleware, }?: {
3711
+ declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV3>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, languageModelMiddleware, }?: {
3717
3712
  separator?: SEPARATOR;
3718
3713
  languageModelMiddleware?: LanguageModelMiddleware | LanguageModelMiddleware[];
3719
3714
  }): ProviderRegistryProvider<PROVIDERS, SEPARATOR>;
@@ -4615,7 +4610,7 @@ declare global {
4615
4610
  *
4616
4611
  * @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
4617
4612
  */
4618
- var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
4613
+ var AI_SDK_DEFAULT_PROVIDER: ProviderV3 | undefined;
4619
4614
  /**
4620
4615
  * The warning logger to use for the AI SDK.
4621
4616
  *
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { ModelMessage, Tool, InferToolInput, InferToolOutput, AssistantModelMess
3
3
  export { AssistantContent, AssistantModelMessage, DataContent, FilePart, IdGenerator, ImagePart, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
4
4
  import { AttributeValue, Tracer } from '@opentelemetry/api';
5
5
  import * as _ai_sdk_provider from '@ai-sdk/provider';
6
- import { EmbeddingModelV3, EmbeddingModelV3Embedding, ImageModelV2, ImageModelV2CallWarning, ImageModelV2ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV2, LanguageModelV2FinishReason, LanguageModelV2CallWarning, LanguageModelV2Source, LanguageModelV2Middleware, SharedV2ProviderMetadata, SpeechModelV2, SpeechModelV2CallWarning, TranscriptionModelV2, TranscriptionModelV2CallWarning, LanguageModelV2Usage, LanguageModelV2CallOptions, AISDKError, LanguageModelV2ToolCall, JSONSchema7, JSONParseError, TypeValidationError, ProviderV2, NoSuchModelError, JSONObject } from '@ai-sdk/provider';
6
+ import { EmbeddingModelV3, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV2, LanguageModelV2FinishReason, LanguageModelV2CallWarning, LanguageModelV2Source, LanguageModelV2Middleware, SharedV2ProviderMetadata, SpeechModelV2, SpeechModelV2CallWarning, TranscriptionModelV2, TranscriptionModelV2CallWarning, LanguageModelV2Usage, LanguageModelV2CallOptions, AISDKError, LanguageModelV2ToolCall, JSONSchema7, JSONParseError, TypeValidationError, ProviderV3, NoSuchModelError, JSONObject } from '@ai-sdk/provider';
7
7
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
8
8
  import * as z3 from 'zod/v3';
9
9
  import * as z4 from 'zod/v4';
@@ -167,16 +167,16 @@ type Embedding = EmbeddingModelV3Embedding;
167
167
  /**
168
168
  Image model that is used by the AI SDK Core functions.
169
169
  */
170
- type ImageModel = ImageModelV2;
170
+ type ImageModel = ImageModelV3;
171
171
  /**
172
172
  Warning from the model provider for this call. The call will proceed, but e.g.
173
173
  some settings might not be supported, which can lead to suboptimal results.
174
174
  */
175
- type ImageGenerationWarning = ImageModelV2CallWarning;
175
+ type ImageGenerationWarning = ImageModelV3CallWarning;
176
176
  /**
177
177
  Metadata from the model provider for this call
178
178
  */
179
- type ImageModelProviderMetadata = ImageModelV2ProviderMetadata;
179
+ type ImageModelProviderMetadata = ImageModelV3ProviderMetadata;
180
180
 
181
181
  type ImageModelResponseMetadata = {
182
182
  /**
@@ -1650,10 +1650,6 @@ declare const uiMessageChunkSchema: z.ZodUnion<readonly [z.ZodObject<{
1650
1650
  errorText: z.ZodString;
1651
1651
  providerExecuted: z.ZodOptional<z.ZodBoolean>;
1652
1652
  dynamic: z.ZodOptional<z.ZodBoolean>;
1653
- }, z.core.$strict>, z.ZodObject<{
1654
- type: z.ZodLiteral<"reasoning">;
1655
- text: z.ZodString;
1656
- providerMetadata: z.ZodOptional<z.ZodType<_ai_sdk_provider.SharedV2ProviderMetadata, unknown, z.core.$ZodTypeInternals<_ai_sdk_provider.SharedV2ProviderMetadata, unknown>>>;
1657
1653
  }, z.core.$strict>, z.ZodObject<{
1658
1654
  type: z.ZodLiteral<"reasoning-start">;
1659
1655
  id: z.ZodString;
@@ -1667,8 +1663,6 @@ declare const uiMessageChunkSchema: z.ZodUnion<readonly [z.ZodObject<{
1667
1663
  type: z.ZodLiteral<"reasoning-end">;
1668
1664
  id: z.ZodString;
1669
1665
  providerMetadata: z.ZodOptional<z.ZodType<_ai_sdk_provider.SharedV2ProviderMetadata, unknown, z.core.$ZodTypeInternals<_ai_sdk_provider.SharedV2ProviderMetadata, unknown>>>;
1670
- }, z.core.$strict>, z.ZodObject<{
1671
- type: z.ZodLiteral<"reasoning-part-finish">;
1672
1666
  }, z.core.$strict>, z.ZodObject<{
1673
1667
  type: z.ZodLiteral<"source-url">;
1674
1668
  sourceId: z.ZodString;
@@ -1688,7 +1682,7 @@ declare const uiMessageChunkSchema: z.ZodUnion<readonly [z.ZodObject<{
1688
1682
  mediaType: z.ZodString;
1689
1683
  providerMetadata: z.ZodOptional<z.ZodType<_ai_sdk_provider.SharedV2ProviderMetadata, unknown, z.core.$ZodTypeInternals<_ai_sdk_provider.SharedV2ProviderMetadata, unknown>>>;
1690
1684
  }, z.core.$strict>, z.ZodObject<{
1691
- type: z.ZodString;
1685
+ type: z.ZodCustom<`data-${string}`, `data-${string}`>;
1692
1686
  id: z.ZodOptional<z.ZodString>;
1693
1687
  data: z.ZodUnknown;
1694
1688
  transient: z.ZodOptional<z.ZodBoolean>;
@@ -1803,6 +1797,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
1803
1797
  type: 'file';
1804
1798
  url: string;
1805
1799
  mediaType: string;
1800
+ providerMetadata?: ProviderMetadata;
1806
1801
  } | DataUIMessageChunk<DATA_TYPES> | {
1807
1802
  type: 'start-step';
1808
1803
  } | {
@@ -2839,7 +2834,7 @@ declare function generateImage({ model, prompt, n, maxImagesPerCall, size, aspec
2839
2834
  /**
2840
2835
  The image model to use.
2841
2836
  */
2842
- model: ImageModelV2;
2837
+ model: ImageModelV3;
2843
2838
  /**
2844
2839
  The prompt that should be used to generate the image.
2845
2840
  */
@@ -3561,7 +3556,7 @@ declare function generateSpeech({ model, text, voice, outputFormat, instructions
3561
3556
  headers?: Record<string, string>;
3562
3557
  }): Promise<SpeechResult>;
3563
3558
 
3564
- type Warning = LanguageModelV2CallWarning | ImageModelV2CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
3559
+ type Warning = LanguageModelV2CallWarning | ImageModelV3CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
3565
3560
  type LogWarningsFunction = (warnings: Warning[]) => void;
3566
3561
 
3567
3562
  /**
@@ -3624,20 +3619,20 @@ declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, p
3624
3619
  }) => LanguageModelV2;
3625
3620
 
3626
3621
  /**
3627
- * Wraps a ProviderV2 instance with middleware functionality.
3622
+ * Wraps a ProviderV3 instance with middleware functionality.
3628
3623
  * This function allows you to apply middleware to all language models
3629
3624
  * from the provider, enabling you to transform parameters, wrap generate
3630
3625
  * operations, and wrap stream operations for every language model.
3631
3626
  *
3632
3627
  * @param options - Configuration options for wrapping the provider.
3633
- * @param options.provider - The original ProviderV2 instance to be wrapped.
3628
+ * @param options.provider - The original ProviderV3 instance to be wrapped.
3634
3629
  * @param options.languageModelMiddleware - The middleware to be applied to all language models from the provider. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
3635
- * @returns A new ProviderV2 instance with middleware applied to all language models.
3630
+ * @returns A new ProviderV3 instance with middleware applied to all language models.
3636
3631
  */
3637
3632
  declare function wrapProvider({ provider, languageModelMiddleware, }: {
3638
- provider: ProviderV2;
3633
+ provider: ProviderV3;
3639
3634
  languageModelMiddleware: LanguageModelMiddleware | LanguageModelMiddleware[];
3640
- }): ProviderV2;
3635
+ }): ProviderV3;
3641
3636
 
3642
3637
  /**
3643
3638
  * Creates a custom provider with specified language models, text embedding models, image models, transcription models, speech models, and an optional fallback provider.
@@ -3653,17 +3648,17 @@ declare function wrapProvider({ provider, languageModelMiddleware, }: {
3653
3648
  *
3654
3649
  * @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
3655
3650
  */
3656
- declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV2>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV3<string>>, IMAGE_MODELS extends Record<string, ImageModelV2>, TRANSCRIPTION_MODELS extends Record<string, TranscriptionModelV2>, SPEECH_MODELS extends Record<string, SpeechModelV2>>({ languageModels, textEmbeddingModels, imageModels, transcriptionModels, speechModels, fallbackProvider, }: {
3651
+ declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV2>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV3<string>>, IMAGE_MODELS extends Record<string, ImageModelV3>, TRANSCRIPTION_MODELS extends Record<string, TranscriptionModelV2>, SPEECH_MODELS extends Record<string, SpeechModelV2>>({ languageModels, textEmbeddingModels, imageModels, transcriptionModels, speechModels, fallbackProvider, }: {
3657
3652
  languageModels?: LANGUAGE_MODELS;
3658
3653
  textEmbeddingModels?: EMBEDDING_MODELS;
3659
3654
  imageModels?: IMAGE_MODELS;
3660
3655
  transcriptionModels?: TRANSCRIPTION_MODELS;
3661
3656
  speechModels?: SPEECH_MODELS;
3662
- fallbackProvider?: ProviderV2;
3663
- }): ProviderV2 & {
3657
+ fallbackProvider?: ProviderV3;
3658
+ }): ProviderV3 & {
3664
3659
  languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV2;
3665
3660
  textEmbeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV3<string>;
3666
- imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV2;
3661
+ imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV3;
3667
3662
  transcriptionModel(modelId: ExtractModelId<TRANSCRIPTION_MODELS>): TranscriptionModelV2;
3668
3663
  speechModel(modelId: ExtractModelId<SPEECH_MODELS>): SpeechModelV2;
3669
3664
  };
@@ -3689,13 +3684,13 @@ declare class NoSuchProviderError extends NoSuchModelError {
3689
3684
  }
3690
3685
 
3691
3686
  type ExtractLiteralUnion<T> = T extends string ? string extends T ? never : T : never;
3692
- interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV2> = Record<string, ProviderV2>, SEPARATOR extends string = ':'> {
3687
+ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV3> = Record<string, ProviderV3>, SEPARATOR extends string = ':'> {
3693
3688
  languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['languageModel']>>[0]>}` : never): LanguageModelV2;
3694
3689
  languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): LanguageModelV2;
3695
3690
  textEmbeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['textEmbeddingModel']>>[0]>}` : never): EmbeddingModelV3<string>;
3696
3691
  textEmbeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): EmbeddingModelV3<string>;
3697
- imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['imageModel']>>[0]>}` : never): ImageModelV2;
3698
- imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): ImageModelV2;
3692
+ imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['imageModel']>>[0]>}` : never): ImageModelV3;
3693
+ imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): ImageModelV3;
3699
3694
  transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['transcriptionModel']>>[0]>}` : never): TranscriptionModelV2;
3700
3695
  transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): TranscriptionModelV2;
3701
3696
  speechModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['speechModel']>>[0]>}` : never): SpeechModelV2;
@@ -3713,7 +3708,7 @@ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV2>
3713
3708
  * @param options.languageModelMiddleware - Optional middleware to be applied to all language models from the registry. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
3714
3709
  * @returns A new ProviderRegistryProvider instance that provides access to all registered providers with optional middleware applied to language models.
3715
3710
  */
3716
- declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV2>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, languageModelMiddleware, }?: {
3711
+ declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV3>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, languageModelMiddleware, }?: {
3717
3712
  separator?: SEPARATOR;
3718
3713
  languageModelMiddleware?: LanguageModelMiddleware | LanguageModelMiddleware[];
3719
3714
  }): ProviderRegistryProvider<PROVIDERS, SEPARATOR>;
@@ -4615,7 +4610,7 @@ declare global {
4615
4610
  *
4616
4611
  * @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
4617
4612
  */
4618
- var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
4613
+ var AI_SDK_DEFAULT_PROVIDER: ProviderV3 | undefined;
4619
4614
  /**
4620
4615
  * The warning logger to use for the AI SDK.
4621
4616
  *
package/dist/index.js CHANGED
@@ -768,7 +768,7 @@ function detectMediaType({
768
768
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
769
769
 
770
770
  // src/version.ts
771
- var VERSION = true ? "5.1.0-beta.7" : "0.0.0-test";
771
+ var VERSION = true ? "5.1.0-beta.9" : "0.0.0-test";
772
772
 
773
773
  // src/util/download/download.ts
774
774
  var download = async ({ url }) => {
@@ -1058,12 +1058,12 @@ async function downloadAssets(messages, download2, supportedUrls) {
1058
1058
  }));
1059
1059
  const downloadedFiles = await download2(plannedDownloads);
1060
1060
  return Object.fromEntries(
1061
- downloadedFiles.filter(
1062
- (downloadedFile) => (downloadedFile == null ? void 0 : downloadedFile.data) != null
1063
- ).map(({ data, mediaType }, index) => [
1064
- plannedDownloads[index].url.toString(),
1065
- { data, mediaType }
1066
- ])
1061
+ downloadedFiles.map(
1062
+ (file, index) => file == null ? null : [
1063
+ plannedDownloads[index].url.toString(),
1064
+ { data: file.data, mediaType: file.mediaType }
1065
+ ]
1066
+ ).filter((file) => file != null)
1067
1067
  );
1068
1068
  }
1069
1069
  function convertPartToLanguageModelPart(part, downloadedAssets) {
@@ -2990,11 +2990,6 @@ var uiMessageChunkSchema = import_v47.z.union([
2990
2990
  providerExecuted: import_v47.z.boolean().optional(),
2991
2991
  dynamic: import_v47.z.boolean().optional()
2992
2992
  }),
2993
- import_v47.z.strictObject({
2994
- type: import_v47.z.literal("reasoning"),
2995
- text: import_v47.z.string(),
2996
- providerMetadata: providerMetadataSchema.optional()
2997
- }),
2998
2993
  import_v47.z.strictObject({
2999
2994
  type: import_v47.z.literal("reasoning-start"),
3000
2995
  id: import_v47.z.string(),
@@ -3011,9 +3006,6 @@ var uiMessageChunkSchema = import_v47.z.union([
3011
3006
  id: import_v47.z.string(),
3012
3007
  providerMetadata: providerMetadataSchema.optional()
3013
3008
  }),
3014
- import_v47.z.strictObject({
3015
- type: import_v47.z.literal("reasoning-part-finish")
3016
- }),
3017
3009
  import_v47.z.strictObject({
3018
3010
  type: import_v47.z.literal("source-url"),
3019
3011
  sourceId: import_v47.z.string(),
@@ -3036,7 +3028,10 @@ var uiMessageChunkSchema = import_v47.z.union([
3036
3028
  providerMetadata: providerMetadataSchema.optional()
3037
3029
  }),
3038
3030
  import_v47.z.strictObject({
3039
- type: import_v47.z.string().startsWith("data-"),
3031
+ type: import_v47.z.custom(
3032
+ (value) => typeof value === "string" && value.startsWith("data-"),
3033
+ { message: 'Type must start with "data-"' }
3034
+ ),
3040
3035
  id: import_v47.z.string().optional(),
3041
3036
  data: import_v47.z.unknown(),
3042
3037
  transient: import_v47.z.boolean().optional()
@@ -6386,7 +6381,7 @@ async function generateImage({
6386
6381
  headers
6387
6382
  }) {
6388
6383
  var _a17, _b;
6389
- if (model.specificationVersion !== "v2") {
6384
+ if (model.specificationVersion !== "v3") {
6390
6385
  throw new UnsupportedModelVersionError({
6391
6386
  version: model.specificationVersion,
6392
6387
  provider: model.provider,