ai 6.0.115 → 7.0.0-beta.0

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.
Files changed (83) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/index.d.mts +139 -110
  3. package/dist/index.d.ts +139 -110
  4. package/dist/index.js +197 -71
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +199 -72
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/internal/index.d.mts +5 -5
  9. package/dist/internal/index.d.ts +5 -5
  10. package/dist/internal/index.js +5 -4
  11. package/dist/internal/index.js.map +1 -1
  12. package/dist/internal/index.mjs +7 -5
  13. package/dist/internal/index.mjs.map +1 -1
  14. package/dist/test/index.d.mts +134 -2
  15. package/dist/test/index.d.ts +134 -2
  16. package/dist/test/index.js +234 -0
  17. package/dist/test/index.js.map +1 -1
  18. package/dist/test/index.mjs +227 -0
  19. package/dist/test/index.mjs.map +1 -1
  20. package/package.json +5 -5
  21. package/src/generate-image/generate-image.ts +14 -14
  22. package/src/generate-object/stream-object.ts +11 -11
  23. package/src/generate-text/callback-events.ts +2 -2
  24. package/src/generate-text/extract-reasoning-content.ts +4 -4
  25. package/src/generate-text/extract-text-content.ts +3 -3
  26. package/src/generate-text/generate-text.ts +9 -9
  27. package/src/generate-text/output.ts +2 -2
  28. package/src/generate-text/parse-tool-call.ts +5 -5
  29. package/src/generate-text/run-tools-transformation.ts +5 -5
  30. package/src/generate-text/smooth-stream.ts +2 -2
  31. package/src/generate-text/stream-text.ts +5 -5
  32. package/src/generate-text/tool-call-repair-function.ts +3 -3
  33. package/src/generate-video/generate-video.ts +9 -9
  34. package/src/global.ts +2 -2
  35. package/src/middleware/add-tool-input-examples-middleware.ts +3 -3
  36. package/src/middleware/default-embedding-settings-middleware.ts +5 -5
  37. package/src/middleware/default-settings-middleware.ts +16 -16
  38. package/src/middleware/extract-json-middleware.ts +7 -7
  39. package/src/middleware/extract-reasoning-middleware.ts +7 -7
  40. package/src/middleware/simulate-streaming-middleware.ts +3 -3
  41. package/src/middleware/wrap-embedding-model.ts +16 -13
  42. package/src/middleware/wrap-image-model.ts +20 -13
  43. package/src/middleware/wrap-language-model.ts +21 -17
  44. package/src/middleware/wrap-provider.ts +15 -15
  45. package/src/model/as-embedding-model-v4.ts +25 -0
  46. package/src/model/as-image-model-v4.ts +21 -0
  47. package/src/model/as-language-model-v4.ts +25 -0
  48. package/src/model/as-provider-v4.ts +47 -0
  49. package/src/model/as-reranking-model-v4.ts +16 -0
  50. package/src/model/as-speech-model-v4.ts +21 -0
  51. package/src/model/as-transcription-model-v4.ts +25 -0
  52. package/src/model/as-video-model-v4.ts +19 -0
  53. package/src/model/resolve-model.ts +42 -29
  54. package/src/prompt/convert-to-language-model-prompt.ts +15 -15
  55. package/src/prompt/data-content.ts +3 -3
  56. package/src/prompt/prepare-tools-and-tool-choice.ts +6 -6
  57. package/src/registry/custom-provider.ts +80 -46
  58. package/src/registry/provider-registry.ts +38 -34
  59. package/src/rerank/rerank.ts +2 -2
  60. package/src/telemetry/stringify-for-telemetry.ts +5 -5
  61. package/src/test/mock-embedding-model-v4.ts +48 -0
  62. package/src/test/mock-image-model-v4.ts +28 -0
  63. package/src/test/mock-language-model-v4.ts +77 -0
  64. package/src/test/mock-provider-v4.ts +80 -0
  65. package/src/test/mock-reranking-model-v4.ts +25 -0
  66. package/src/test/mock-speech-model-v4.ts +24 -0
  67. package/src/test/mock-transcription-model-v4.ts +24 -0
  68. package/src/test/mock-video-model-v4.ts +28 -0
  69. package/src/types/embedding-model-middleware.ts +14 -2
  70. package/src/types/embedding-model.ts +4 -2
  71. package/src/types/image-model-middleware.ts +14 -2
  72. package/src/types/image-model.ts +4 -4
  73. package/src/types/language-model-middleware.ts +14 -2
  74. package/src/types/language-model.ts +6 -4
  75. package/src/types/provider-metadata.ts +2 -2
  76. package/src/types/reranking-model.ts +2 -2
  77. package/src/types/speech-model.ts +6 -2
  78. package/src/types/transcription-model.ts +6 -1
  79. package/src/types/usage.ts +5 -5
  80. package/src/types/video-model-response-metadata.ts +2 -2
  81. package/src/types/video-model.ts +8 -4
  82. package/src/types/warning.ts +2 -2
  83. package/src/util/download/download.ts +2 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # ai
2
2
 
3
+ ## 7.0.0-beta.0
4
+
5
+ ### Major Changes
6
+
7
+ - 8359612: Start v7 pre-release
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [8359612]
12
+ - @ai-sdk/gateway@4.0.0-beta.0
13
+ - @ai-sdk/provider@4.0.0-beta.0
14
+ - @ai-sdk/provider-utils@5.0.0-beta.0
15
+
16
+ ## 6.0.116
17
+
18
+ ### Patch Changes
19
+
20
+ - ad4cfc2: Add URL validation to `downloadBlob` and `download` to prevent blind SSRF attacks. Private/internal IP addresses, localhost, and non-HTTP protocols are now rejected before fetching.
21
+ - Updated dependencies [ad4cfc2]
22
+ - @ai-sdk/provider-utils@4.0.19
23
+ - @ai-sdk/gateway@3.0.66
24
+
3
25
  ## 6.0.115
4
26
 
5
27
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -4,7 +4,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
4
4
  import { Tool, InferToolInput, InferToolOutput, FlexibleSchema, InferSchema, SystemModelMessage, ModelMessage, AssistantModelMessage, ToolModelMessage, ReasoningPart, ProviderOptions, UserModelMessage, IdGenerator, ToolCall, MaybePromiseLike, TextPart, FilePart, Resolvable, FetchFunction, DataContent } from '@ai-sdk/provider-utils';
5
5
  export { AssistantContent, AssistantModelMessage, DataContent, DownloadError, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolExecutionOptions, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
6
6
  import * as _ai_sdk_provider from '@ai-sdk/provider';
7
- import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, EmbeddingModelV3Middleware, ImageModelV3, ImageModelV2, ImageModelV3ProviderMetadata, ImageModelV2ProviderMetadata, ImageModelV3Middleware, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, SharedV3Warning, LanguageModelV3Source, LanguageModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, TranscriptionModelV3, TranscriptionModelV2, JSONObject, ImageModelV3Usage, LanguageModelV3ToolChoice, AISDKError, LanguageModelV3ToolCall, JSONSchema7, LanguageModelV3CallOptions, JSONParseError, TypeValidationError, Experimental_VideoModelV3, EmbeddingModelV3CallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
7
+ import { EmbeddingModelV4, EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV4Embedding, EmbeddingModelV4Middleware, ImageModelV4, ImageModelV3, ImageModelV2, ImageModelV4ProviderMetadata, ImageModelV2ProviderMetadata, ImageModelV4Middleware, JSONValue as JSONValue$1, LanguageModelV4, LanguageModelV3, LanguageModelV2, SharedV4Warning, LanguageModelV4Source, LanguageModelV4Middleware, RerankingModelV4, RerankingModelV3, SharedV4ProviderMetadata, SpeechModelV4, SpeechModelV3, SpeechModelV2, TranscriptionModelV4, TranscriptionModelV3, TranscriptionModelV2, JSONObject, ImageModelV4Usage, LanguageModelV4ToolChoice, AISDKError, LanguageModelV4ToolCall, JSONSchema7, LanguageModelV4CallOptions, JSONParseError, TypeValidationError, Experimental_VideoModelV4, Experimental_VideoModelV3, EmbeddingModelV4CallOptions, ProviderV4, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
8
8
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
9
9
  import { AttributeValue, Tracer } from '@opentelemetry/api';
10
10
  import { ServerResponse } from 'node:http';
@@ -14,24 +14,42 @@ import { z } from 'zod/v4';
14
14
  /**
15
15
  * Embedding model that is used by the AI SDK.
16
16
  */
17
- type EmbeddingModel = string | EmbeddingModelV3 | EmbeddingModelV2<string>;
17
+ type EmbeddingModel = string | EmbeddingModelV4 | EmbeddingModelV3 | EmbeddingModelV2<string>;
18
18
  /**
19
19
  * Embedding.
20
20
  */
21
- type Embedding = EmbeddingModelV3Embedding;
21
+ type Embedding = EmbeddingModelV4Embedding;
22
22
 
23
- type EmbeddingModelMiddleware = EmbeddingModelV3Middleware;
23
+ /**
24
+ * Middleware for embedding models.
25
+ * Accepts both V3 and V4 middleware types for backward compatibility.
26
+ *
27
+ * Uses EmbeddingModelV4Middleware as the base but relaxes specificationVersion
28
+ * to accept any string (including 'v3') and makes it optional.
29
+ */
30
+ type EmbeddingModelMiddleware = Omit<EmbeddingModelV4Middleware, 'specificationVersion'> & {
31
+ readonly specificationVersion?: string;
32
+ };
24
33
 
25
34
  /**
26
35
  * Image model that is used by the AI SDK.
27
36
  */
28
- type ImageModel = string | ImageModelV3 | ImageModelV2;
37
+ type ImageModel = string | ImageModelV4 | ImageModelV3 | ImageModelV2;
29
38
  /**
30
39
  * Metadata from the model provider for this call.
31
40
  */
32
- type ImageModelProviderMetadata = ImageModelV3ProviderMetadata | ImageModelV2ProviderMetadata;
41
+ type ImageModelProviderMetadata = ImageModelV4ProviderMetadata | ImageModelV2ProviderMetadata;
33
42
 
34
- type ImageModelMiddleware = ImageModelV3Middleware;
43
+ /**
44
+ * Middleware for image models.
45
+ * Accepts both V3 and V4 middleware types for backward compatibility.
46
+ *
47
+ * Uses ImageModelV4Middleware as the base but relaxes specificationVersion
48
+ * to accept any string (including 'v3') and makes it optional.
49
+ */
50
+ type ImageModelMiddleware = Omit<ImageModelV4Middleware, 'specificationVersion'> & {
51
+ readonly specificationVersion?: string;
52
+ };
35
53
 
36
54
  type ImageModelResponseMetadata = {
37
55
  /**
@@ -93,7 +111,7 @@ type GlobalProviderModelId = [keyof RegisteredProviderModels] extends [
93
111
  /**
94
112
  * Language model that is used by the AI SDK.
95
113
  */
96
- type LanguageModel = GlobalProviderModelId | LanguageModelV3 | LanguageModelV2;
114
+ type LanguageModel = GlobalProviderModelId | LanguageModelV4 | LanguageModelV3 | LanguageModelV2;
97
115
  /**
98
116
  * Reason why a language model finished generating a response.
99
117
  *
@@ -110,11 +128,11 @@ type FinishReason = 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error
110
128
  * Warning from the model provider for this call. The call will proceed, but e.g.
111
129
  * some settings might not be supported, which can lead to suboptimal results.
112
130
  */
113
- type CallWarning = SharedV3Warning;
131
+ type CallWarning = SharedV4Warning;
114
132
  /**
115
133
  * A source that has been used as input to generate the response.
116
134
  */
117
- type Source = LanguageModelV3Source;
135
+ type Source = LanguageModelV4Source;
118
136
  /**
119
137
  * Tool choice for the generation. It supports the following settings:
120
138
  *
@@ -128,7 +146,16 @@ type ToolChoice<TOOLS extends Record<string, unknown>> = 'auto' | 'none' | 'requ
128
146
  toolName: Extract<keyof TOOLS, string>;
129
147
  };
130
148
 
131
- type LanguageModelMiddleware = LanguageModelV3Middleware;
149
+ /**
150
+ * Middleware for language models.
151
+ * Accepts both V3 and V4 middleware types for backward compatibility.
152
+ *
153
+ * Uses LanguageModelV4Middleware as the base but relaxes specificationVersion
154
+ * to accept any string (including 'v3') and makes it optional.
155
+ */
156
+ type LanguageModelMiddleware = Omit<LanguageModelV4Middleware, 'specificationVersion'> & {
157
+ readonly specificationVersion?: string;
158
+ };
132
159
 
133
160
  type LanguageModelRequestMetadata = {
134
161
  /**
@@ -159,7 +186,7 @@ type LanguageModelResponseMetadata = {
159
186
  /**
160
187
  * Reranking model that is used by the AI SDK.
161
188
  */
162
- type RerankingModel = RerankingModelV3;
189
+ type RerankingModel = RerankingModelV4 | RerankingModelV3;
163
190
 
164
191
  /**
165
192
  * Provider for language, text embedding, and image models.
@@ -215,12 +242,12 @@ type Provider = {
215
242
  * This is needed to enable provider-specific functionality that can be
216
243
  * fully encapsulated in the provider.
217
244
  */
218
- type ProviderMetadata = SharedV3ProviderMetadata;
245
+ type ProviderMetadata = SharedV4ProviderMetadata;
219
246
 
220
247
  /**
221
248
  * Speech model that is used by the AI SDK.
222
249
  */
223
- type SpeechModel = string | SpeechModelV3 | SpeechModelV2;
250
+ type SpeechModel = string | SpeechModelV4 | SpeechModelV3 | SpeechModelV2;
224
251
 
225
252
  type SpeechModelResponseMetadata = {
226
253
  /**
@@ -244,7 +271,7 @@ type SpeechModelResponseMetadata = {
244
271
  /**
245
272
  * Transcription model that is used by the AI SDK.
246
273
  */
247
- type TranscriptionModel = string | TranscriptionModelV3 | TranscriptionModelV2;
274
+ type TranscriptionModel = string | TranscriptionModelV4 | TranscriptionModelV3 | TranscriptionModelV2;
248
275
 
249
276
  type TranscriptionModelResponseMetadata = {
250
277
  /**
@@ -335,13 +362,13 @@ type EmbeddingModelUsage = {
335
362
  /**
336
363
  * Usage information for an image model call.
337
364
  */
338
- type ImageModelUsage = ImageModelV3Usage;
365
+ type ImageModelUsage = ImageModelV4Usage;
339
366
 
340
367
  /**
341
368
  * Warning from the model provider for this call. The call will proceed, but e.g.
342
369
  * some settings might not be supported, which can lead to suboptimal results.
343
370
  */
344
- type Warning = SharedV3Warning;
371
+ type Warning = SharedV4Warning;
345
372
 
346
373
  /**
347
374
  * A generated file.
@@ -950,7 +977,7 @@ interface OnStepStartEvent<TOOLS extends ToolSet = ToolSet, OUTPUT extends Outpu
950
977
  /** The tools available for this generation. */
951
978
  readonly tools: TOOLS | undefined;
952
979
  /** The tool choice configuration for this step. */
953
- readonly toolChoice: LanguageModelV3ToolChoice | undefined;
980
+ readonly toolChoice: LanguageModelV4ToolChoice | undefined;
954
981
  /** Limits which tools are available for this step. */
955
982
  readonly activeTools: Array<keyof TOOLS> | undefined;
956
983
  /** Array of results from previous steps (empty for first step). */
@@ -1292,13 +1319,13 @@ declare const modelMessageSchema: z.ZodType<ModelMessage>;
1292
1319
  type ToolCallRepairFunction<TOOLS extends ToolSet> = (options: {
1293
1320
  system: string | SystemModelMessage | Array<SystemModelMessage> | undefined;
1294
1321
  messages: ModelMessage[];
1295
- toolCall: LanguageModelV3ToolCall;
1322
+ toolCall: LanguageModelV4ToolCall;
1296
1323
  tools: TOOLS;
1297
1324
  inputSchema: (options: {
1298
1325
  toolName: string;
1299
1326
  }) => PromiseLike<JSONSchema7>;
1300
1327
  error: NoSuchToolError | InvalidToolInputError;
1301
- }) => Promise<LanguageModelV3ToolCall | null>;
1328
+ }) => Promise<LanguageModelV4ToolCall | null>;
1302
1329
 
1303
1330
  /**
1304
1331
  * Include settings for generateText (requestBody and responseBody).
@@ -2022,16 +2049,16 @@ type InferUIMessageToolCall<UI_MESSAGE extends UIMessage> = ValueOf<{
2022
2049
  declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
2023
2050
  type: "text-start";
2024
2051
  id: string;
2025
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2052
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2026
2053
  } | {
2027
2054
  type: "text-delta";
2028
2055
  id: string;
2029
2056
  delta: string;
2030
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2057
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2031
2058
  } | {
2032
2059
  type: "text-end";
2033
2060
  id: string;
2034
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2061
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2035
2062
  } | {
2036
2063
  type: "error";
2037
2064
  errorText: string;
@@ -2040,7 +2067,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
2040
2067
  toolCallId: string;
2041
2068
  toolName: string;
2042
2069
  providerExecuted?: boolean | undefined;
2043
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2070
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2044
2071
  dynamic?: boolean | undefined;
2045
2072
  title?: string | undefined;
2046
2073
  } | {
@@ -2053,7 +2080,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
2053
2080
  toolName: string;
2054
2081
  input: unknown;
2055
2082
  providerExecuted?: boolean | undefined;
2056
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2083
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2057
2084
  dynamic?: boolean | undefined;
2058
2085
  title?: string | undefined;
2059
2086
  } | {
@@ -2063,7 +2090,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
2063
2090
  input: unknown;
2064
2091
  errorText: string;
2065
2092
  providerExecuted?: boolean | undefined;
2066
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2093
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2067
2094
  dynamic?: boolean | undefined;
2068
2095
  title?: string | undefined;
2069
2096
  } | {
@@ -2089,34 +2116,34 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
2089
2116
  } | {
2090
2117
  type: "reasoning-start";
2091
2118
  id: string;
2092
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2119
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2093
2120
  } | {
2094
2121
  type: "reasoning-delta";
2095
2122
  id: string;
2096
2123
  delta: string;
2097
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2124
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2098
2125
  } | {
2099
2126
  type: "reasoning-end";
2100
2127
  id: string;
2101
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2128
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2102
2129
  } | {
2103
2130
  type: "source-url";
2104
2131
  sourceId: string;
2105
2132
  url: string;
2106
2133
  title?: string | undefined;
2107
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2134
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2108
2135
  } | {
2109
2136
  type: "source-document";
2110
2137
  sourceId: string;
2111
2138
  mediaType: string;
2112
2139
  title: string;
2113
2140
  filename?: string | undefined;
2114
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2141
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2115
2142
  } | {
2116
2143
  type: "file";
2117
2144
  url: string;
2118
2145
  mediaType: string;
2119
- providerMetadata?: _ai_sdk_provider.SharedV3ProviderMetadata | undefined;
2146
+ providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
2120
2147
  } | {
2121
2148
  type: `data-${string}`;
2122
2149
  data: unknown;
@@ -2969,7 +2996,7 @@ interface Output<OUTPUT = any, PARTIAL = any, ELEMENT = any> {
2969
2996
  /**
2970
2997
  * The response format to use for the model.
2971
2998
  */
2972
- responseFormat: PromiseLike<LanguageModelV3CallOptions['responseFormat']>;
2999
+ responseFormat: PromiseLike<LanguageModelV4CallOptions['responseFormat']>;
2973
3000
  /**
2974
3001
  * Parses the complete output of the model.
2975
3002
  */
@@ -4608,7 +4635,7 @@ type SingleRequestTextStreamPart<TOOLS extends ToolSet> = {
4608
4635
  type: 'tool-error';
4609
4636
  } & TypedToolError<TOOLS>) | {
4610
4637
  type: 'stream-start';
4611
- warnings: SharedV3Warning[];
4638
+ warnings: SharedV4Warning[];
4612
4639
  } | {
4613
4640
  type: 'response-metadata';
4614
4641
  id?: string;
@@ -4793,7 +4820,7 @@ type VideoModelResponseMetadata = {
4793
4820
  * When multiple calls are made (n > maxVideosPerCall), each response
4794
4821
  * contains its own providerMetadata, allowing lossless per-call access.
4795
4822
  */
4796
- providerMetadata?: SharedV3ProviderMetadata;
4823
+ providerMetadata?: SharedV4ProviderMetadata;
4797
4824
  };
4798
4825
 
4799
4826
  declare const symbol$7: unique symbol;
@@ -5709,10 +5736,10 @@ declare function generateSpeech({ model, text, voice, outputFormat, instructions
5709
5736
  }): Promise<SpeechResult>;
5710
5737
 
5711
5738
  /**
5712
- * A video model can be a string (model ID) or a Experimental_VideoModelV3 object.
5739
+ * A video model can be a string (model ID) or a video model object.
5713
5740
  */
5714
- type VideoModel = string | Experimental_VideoModelV3;
5715
- type VideoModelProviderMetadata = SharedV3ProviderMetadata;
5741
+ type VideoModel = string | Experimental_VideoModelV4 | Experimental_VideoModelV3;
5742
+ type VideoModelProviderMetadata = SharedV4ProviderMetadata;
5716
5743
 
5717
5744
  /**
5718
5745
  * The result of an `experimental_generateVideo` call.
@@ -5850,8 +5877,8 @@ type LogWarningsFunction = (options: {
5850
5877
  */
5851
5878
  declare function defaultEmbeddingSettingsMiddleware({ settings, }: {
5852
5879
  settings: Partial<{
5853
- headers?: EmbeddingModelV3CallOptions['headers'];
5854
- providerOptions?: EmbeddingModelV3CallOptions['providerOptions'];
5880
+ headers?: EmbeddingModelV4CallOptions['headers'];
5881
+ providerOptions?: EmbeddingModelV4CallOptions['providerOptions'];
5855
5882
  }>;
5856
5883
  }): EmbeddingModelMiddleware;
5857
5884
 
@@ -5860,19 +5887,19 @@ declare function defaultEmbeddingSettingsMiddleware({ settings, }: {
5860
5887
  */
5861
5888
  declare function defaultSettingsMiddleware({ settings, }: {
5862
5889
  settings: Partial<{
5863
- maxOutputTokens?: LanguageModelV3CallOptions['maxOutputTokens'];
5864
- temperature?: LanguageModelV3CallOptions['temperature'];
5865
- stopSequences?: LanguageModelV3CallOptions['stopSequences'];
5866
- topP?: LanguageModelV3CallOptions['topP'];
5867
- topK?: LanguageModelV3CallOptions['topK'];
5868
- presencePenalty?: LanguageModelV3CallOptions['presencePenalty'];
5869
- frequencyPenalty?: LanguageModelV3CallOptions['frequencyPenalty'];
5870
- responseFormat?: LanguageModelV3CallOptions['responseFormat'];
5871
- seed?: LanguageModelV3CallOptions['seed'];
5872
- tools?: LanguageModelV3CallOptions['tools'];
5873
- toolChoice?: LanguageModelV3CallOptions['toolChoice'];
5874
- headers?: LanguageModelV3CallOptions['headers'];
5875
- providerOptions?: LanguageModelV3CallOptions['providerOptions'];
5890
+ maxOutputTokens?: LanguageModelV4CallOptions['maxOutputTokens'];
5891
+ temperature?: LanguageModelV4CallOptions['temperature'];
5892
+ stopSequences?: LanguageModelV4CallOptions['stopSequences'];
5893
+ topP?: LanguageModelV4CallOptions['topP'];
5894
+ topK?: LanguageModelV4CallOptions['topK'];
5895
+ presencePenalty?: LanguageModelV4CallOptions['presencePenalty'];
5896
+ frequencyPenalty?: LanguageModelV4CallOptions['frequencyPenalty'];
5897
+ responseFormat?: LanguageModelV4CallOptions['responseFormat'];
5898
+ seed?: LanguageModelV4CallOptions['seed'];
5899
+ tools?: LanguageModelV4CallOptions['tools'];
5900
+ toolChoice?: LanguageModelV4CallOptions['toolChoice'];
5901
+ headers?: LanguageModelV4CallOptions['headers'];
5902
+ providerOptions?: LanguageModelV4CallOptions['providerOptions'];
5876
5903
  }>;
5877
5904
  }): LanguageModelMiddleware;
5878
5905
 
@@ -5959,96 +5986,96 @@ declare function addToolInputExamplesMiddleware({ prefix, format, remove, }?: {
5959
5986
  }): LanguageModelMiddleware;
5960
5987
 
5961
5988
  /**
5962
- * Wraps a LanguageModelV3 instance with middleware functionality.
5989
+ * Wraps a LanguageModelV4 instance with middleware functionality.
5963
5990
  * This function allows you to apply middleware to transform parameters,
5964
5991
  * wrap generate operations, and wrap stream operations of a language model.
5965
5992
  *
5966
5993
  * @param options - Configuration options for wrapping the language model.
5967
- * @param options.model - The original LanguageModelV3 instance to be wrapped.
5994
+ * @param options.model - The original LanguageModelV4 instance to be wrapped.
5968
5995
  * @param options.middleware - The middleware to be applied to the language model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
5969
5996
  * @param options.modelId - Optional custom model ID to override the original model's ID.
5970
5997
  * @param options.providerId - Optional custom provider ID to override the original model's provider ID.
5971
- * @returns A new LanguageModelV3 instance with middleware applied.
5998
+ * @returns A new LanguageModelV4 instance with middleware applied.
5972
5999
  */
5973
- declare const wrapLanguageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
5974
- model: LanguageModelV3;
6000
+ declare const wrapLanguageModel: ({ model: inputModel, middleware: middlewareArg, modelId, providerId, }: {
6001
+ model: LanguageModelV2 | LanguageModelV3 | LanguageModelV4;
5975
6002
  middleware: LanguageModelMiddleware | LanguageModelMiddleware[];
5976
6003
  modelId?: string;
5977
6004
  providerId?: string;
5978
- }) => LanguageModelV3;
6005
+ }) => LanguageModelV4;
5979
6006
 
5980
6007
  /**
5981
- * Wraps an EmbeddingModelV3 instance with middleware functionality.
6008
+ * Wraps an EmbeddingModelV4 instance with middleware functionality.
5982
6009
  * This function allows you to apply middleware to transform parameters,
5983
6010
  * wrap embed operations of an embedding model.
5984
6011
  *
5985
6012
  * @param options - Configuration options for wrapping the embedding model.
5986
- * @param options.model - The original EmbeddingModelV3 instance to be wrapped.
6013
+ * @param options.model - The original EmbeddingModelV4 instance to be wrapped.
5987
6014
  * @param options.middleware - The middleware to be applied to the embedding model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
5988
6015
  * @param options.modelId - Optional custom model ID to override the original model's ID.
5989
6016
  * @param options.providerId - Optional custom provider ID to override the original model's provider ID.
5990
- * @returns A new EmbeddingModelV3 instance with middleware applied.
6017
+ * @returns A new EmbeddingModelV4 instance with middleware applied.
5991
6018
  */
5992
- declare const wrapEmbeddingModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
5993
- model: EmbeddingModelV3;
6019
+ declare const wrapEmbeddingModel: ({ model: inputModel, middleware: middlewareArg, modelId, providerId, }: {
6020
+ model: EmbeddingModelV3 | EmbeddingModelV4;
5994
6021
  middleware: EmbeddingModelMiddleware | EmbeddingModelMiddleware[];
5995
6022
  modelId?: string;
5996
6023
  providerId?: string;
5997
- }) => EmbeddingModelV3;
6024
+ }) => EmbeddingModelV4;
5998
6025
 
5999
6026
  /**
6000
- * Wraps an ImageModelV3 instance with middleware functionality.
6027
+ * Wraps an ImageModelV4 instance with middleware functionality.
6001
6028
  * This function allows you to apply middleware to transform parameters
6002
6029
  * and wrap generate operations of an image model.
6003
6030
  *
6004
6031
  * @param options - Configuration options for wrapping the image model.
6005
- * @param options.model - The original ImageModelV3 instance to be wrapped.
6032
+ * @param options.model - The original ImageModelV4 instance to be wrapped.
6006
6033
  * @param options.middleware - The middleware to be applied to the image model. When multiple middlewares are provided, the first middleware will transform the input first, and the last middleware will be wrapped directly around the model.
6007
6034
  * @param options.modelId - Optional custom model ID to override the original model's ID.
6008
6035
  * @param options.providerId - Optional custom provider ID to override the original model's provider ID.
6009
- * @returns A new ImageModelV3 instance with middleware applied.
6036
+ * @returns A new ImageModelV4 instance with middleware applied.
6010
6037
  */
6011
- declare const wrapImageModel: ({ model, middleware: middlewareArg, modelId, providerId, }: {
6012
- model: ImageModelV3;
6038
+ declare const wrapImageModel: ({ model: inputModel, middleware: middlewareArg, modelId, providerId, }: {
6039
+ model: ImageModelV2 | ImageModelV3 | ImageModelV4;
6013
6040
  middleware: ImageModelMiddleware | ImageModelMiddleware[];
6014
6041
  modelId?: string;
6015
6042
  providerId?: string;
6016
- }) => ImageModelV3;
6043
+ }) => ImageModelV4;
6017
6044
 
6018
6045
  /**
6019
- * Wraps a ProviderV3 instance with middleware functionality.
6046
+ * Wraps a ProviderV4 instance with middleware functionality.
6020
6047
  * This function allows you to apply middleware to all language models
6021
6048
  * from the provider, enabling you to transform parameters, wrap generate
6022
6049
  * operations, and wrap stream operations for every language model.
6023
6050
  *
6024
6051
  * @param options - Configuration options for wrapping the provider.
6025
- * @param options.provider - The original ProviderV3 instance to be wrapped.
6052
+ * @param options.provider - The original ProviderV4 instance to be wrapped.
6026
6053
  * @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.
6027
6054
  * @param options.imageModelMiddleware - Optional middleware to be applied to all image 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.
6028
- * @returns A new ProviderV3 instance with middleware applied to all language models.
6055
+ * @returns A new ProviderV4 instance with middleware applied to all language models.
6029
6056
  */
6030
6057
  declare function wrapProvider({ provider, languageModelMiddleware, imageModelMiddleware, }: {
6031
- provider: ProviderV3 | ProviderV2;
6058
+ provider: ProviderV4 | ProviderV3 | ProviderV2;
6032
6059
  languageModelMiddleware: LanguageModelMiddleware | LanguageModelMiddleware[];
6033
6060
  imageModelMiddleware?: ImageModelMiddleware | ImageModelMiddleware[];
6034
- }): ProviderV3;
6061
+ }): ProviderV4;
6035
6062
 
6036
6063
  /**
6037
6064
  * Creates a custom provider with specified language models, text embedding models, image models, transcription models, speech models, and an optional fallback provider.
6038
6065
  *
6039
6066
  * @param {Object} options - The options for creating the custom provider.
6040
- * @param {Record<string, LanguageModelV3>} [options.languageModels] - A record of language models, where keys are model IDs and values are LanguageModelV3 instances.
6041
- * @param {Record<string, EmbeddingModelV3>} [options.embeddingModels] - A record of text embedding models, where keys are model IDs and values are EmbeddingModelV3 instances.
6042
- * @param {Record<string, ImageModelV3>} [options.imageModels] - A record of image models, where keys are model IDs and values are ImageModelV3 instances.
6043
- * @param {Record<string, TranscriptionModelV3>} [options.transcriptionModels] - A record of transcription models, where keys are model IDs and values are TranscriptionModelV3 instances.
6044
- * @param {Record<string, SpeechModelV3>} [options.speechModels] - A record of speech models, where keys are model IDs and values are SpeechModelV3 instances.
6045
- * @param {Record<string, RerankingModelV3>} [options.rerankingModels] - A record of reranking models, where keys are model IDs and values are RerankingModelV3 instances.
6046
- * @param {ProviderV3} [options.fallbackProvider] - An optional fallback provider to use when a requested model is not found in the custom provider.
6047
- * @returns {ProviderV3} A ProviderV3 object with languageModel, embeddingModel, imageModel, transcriptionModel, and speechModel methods.
6067
+ * @param {Record<string, LanguageModelV4>} [options.languageModels] - A record of language models, where keys are model IDs and values are LanguageModelV4 instances.
6068
+ * @param {Record<string, EmbeddingModelV4>} [options.embeddingModels] - A record of text embedding models, where keys are model IDs and values are EmbeddingModelV4 instances.
6069
+ * @param {Record<string, ImageModelV4>} [options.imageModels] - A record of image models, where keys are model IDs and values are ImageModelV4 instances.
6070
+ * @param {Record<string, TranscriptionModelV4>} [options.transcriptionModels] - A record of transcription models, where keys are model IDs and values are TranscriptionModelV4 instances.
6071
+ * @param {Record<string, SpeechModelV4>} [options.speechModels] - A record of speech models, where keys are model IDs and values are SpeechModelV4 instances.
6072
+ * @param {Record<string, RerankingModelV4>} [options.rerankingModels] - A record of reranking models, where keys are model IDs and values are RerankingModelV4 instances.
6073
+ * @param {ProviderV4} [options.fallbackProvider] - An optional fallback provider to use when a requested model is not found in the custom provider.
6074
+ * @returns {ProviderV4} A ProviderV4 object with languageModel, embeddingModel, imageModel, transcriptionModel, and speechModel methods.
6048
6075
  *
6049
6076
  * @throws {NoSuchModelError} Throws when a requested model is not found and no fallback provider is available.
6050
6077
  */
6051
- declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV3>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV3>, IMAGE_MODELS extends Record<string, ImageModelV3>, TRANSCRIPTION_MODELS extends Record<string, TranscriptionModelV3>, SPEECH_MODELS extends Record<string, SpeechModelV3>, RERANKING_MODELS extends Record<string, RerankingModelV3>, VIDEO_MODELS extends Record<string, Experimental_VideoModelV3>>({ languageModels, embeddingModels, imageModels, transcriptionModels, speechModels, rerankingModels, videoModels, fallbackProvider: fallbackProviderArg, }: {
6078
+ declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageModelV2 | LanguageModelV3 | LanguageModelV4>, EMBEDDING_MODELS extends Record<string, EmbeddingModelV3 | EmbeddingModelV4>, IMAGE_MODELS extends Record<string, ImageModelV2 | ImageModelV3 | ImageModelV4>, TRANSCRIPTION_MODELS extends Record<string, TranscriptionModelV2 | TranscriptionModelV3 | TranscriptionModelV4>, SPEECH_MODELS extends Record<string, SpeechModelV2 | SpeechModelV3 | SpeechModelV4>, RERANKING_MODELS extends Record<string, RerankingModelV3 | RerankingModelV4>, VIDEO_MODELS extends Record<string, Experimental_VideoModelV3 | Experimental_VideoModelV4>>({ languageModels, embeddingModels, imageModels, transcriptionModels, speechModels, rerankingModels, videoModels, fallbackProvider: fallbackProviderArg, }: {
6052
6079
  languageModels?: LANGUAGE_MODELS;
6053
6080
  embeddingModels?: EMBEDDING_MODELS;
6054
6081
  imageModels?: IMAGE_MODELS;
@@ -6056,15 +6083,15 @@ declare function customProvider<LANGUAGE_MODELS extends Record<string, LanguageM
6056
6083
  speechModels?: SPEECH_MODELS;
6057
6084
  rerankingModels?: RERANKING_MODELS;
6058
6085
  videoModels?: VIDEO_MODELS;
6059
- fallbackProvider?: ProviderV3 | ProviderV2;
6060
- }): ProviderV3 & {
6061
- languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV3;
6062
- embeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV3;
6063
- imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV3;
6064
- transcriptionModel(modelId: ExtractModelId<TRANSCRIPTION_MODELS>): TranscriptionModelV3;
6065
- rerankingModel(modelId: ExtractModelId<RERANKING_MODELS>): RerankingModelV3;
6066
- speechModel(modelId: ExtractModelId<SPEECH_MODELS>): SpeechModelV3;
6067
- videoModel(modelId: ExtractModelId<VIDEO_MODELS>): Experimental_VideoModelV3;
6086
+ fallbackProvider?: ProviderV4 | ProviderV3 | ProviderV2;
6087
+ }): ProviderV4 & {
6088
+ languageModel(modelId: ExtractModelId<LANGUAGE_MODELS>): LanguageModelV4;
6089
+ embeddingModel(modelId: ExtractModelId<EMBEDDING_MODELS>): EmbeddingModelV4;
6090
+ imageModel(modelId: ExtractModelId<IMAGE_MODELS>): ImageModelV4;
6091
+ transcriptionModel(modelId: ExtractModelId<TRANSCRIPTION_MODELS>): TranscriptionModelV4;
6092
+ rerankingModel(modelId: ExtractModelId<RERANKING_MODELS>): RerankingModelV4;
6093
+ speechModel(modelId: ExtractModelId<SPEECH_MODELS>): SpeechModelV4;
6094
+ videoModel(modelId: ExtractModelId<VIDEO_MODELS>): Experimental_VideoModelV4;
6068
6095
  };
6069
6096
  /**
6070
6097
  * @deprecated Use `customProvider` instead.
@@ -6088,19 +6115,19 @@ declare class NoSuchProviderError extends NoSuchModelError {
6088
6115
  }
6089
6116
 
6090
6117
  type ExtractLiteralUnion<T> = T extends string ? string extends T ? never : T : never;
6091
- interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV3> = Record<string, ProviderV3>, SEPARATOR extends string = ':'> {
6092
- languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['languageModel']>>[0]>}` : never): LanguageModelV3;
6093
- languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): LanguageModelV3;
6094
- embeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['embeddingModel']>>[0]>}` : never): EmbeddingModelV3;
6095
- embeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): EmbeddingModelV3;
6096
- imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['imageModel']>>[0]>}` : never): ImageModelV3;
6097
- imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): ImageModelV3;
6098
- transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['transcriptionModel']>>[0]>}` : never): TranscriptionModelV3;
6099
- transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): TranscriptionModelV3;
6100
- speechModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['speechModel']>>[0]>}` : never): SpeechModelV3;
6101
- speechModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): SpeechModelV3;
6102
- rerankingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['rerankingModel']>>[0]>}` : never): RerankingModelV3;
6103
- rerankingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): RerankingModelV3;
6118
+ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV4> = Record<string, ProviderV4>, SEPARATOR extends string = ':'> {
6119
+ languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['languageModel']>>[0]>}` : never): LanguageModelV4;
6120
+ languageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): LanguageModelV4;
6121
+ embeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['embeddingModel']>>[0]>}` : never): EmbeddingModelV4;
6122
+ embeddingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): EmbeddingModelV4;
6123
+ imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['imageModel']>>[0]>}` : never): ImageModelV4;
6124
+ imageModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): ImageModelV4;
6125
+ transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['transcriptionModel']>>[0]>}` : never): TranscriptionModelV4;
6126
+ transcriptionModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): TranscriptionModelV4;
6127
+ speechModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['speechModel']>>[0]>}` : never): SpeechModelV4;
6128
+ speechModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): SpeechModelV4;
6129
+ rerankingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${ExtractLiteralUnion<Parameters<NonNullable<PROVIDERS[KEY]['rerankingModel']>>[0]>}` : never): RerankingModelV4;
6130
+ rerankingModel<KEY extends keyof PROVIDERS>(id: KEY extends string ? `${KEY & string}${SEPARATOR}${string}` : never): RerankingModelV4;
6104
6131
  }
6105
6132
  /**
6106
6133
  * Creates a registry for the given providers with optional middleware functionality.
@@ -6115,11 +6142,13 @@ interface ProviderRegistryProvider<PROVIDERS extends Record<string, ProviderV3>
6115
6142
  * @param options.imageModelMiddleware - Optional middleware to be applied to all image 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.
6116
6143
  * @returns A new ProviderRegistryProvider instance that provides access to all registered providers with optional middleware applied to language and image models.
6117
6144
  */
6118
- declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV3>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, languageModelMiddleware, imageModelMiddleware, }?: {
6145
+ declare function createProviderRegistry<PROVIDERS extends Record<string, ProviderV2 | ProviderV3 | ProviderV4>, SEPARATOR extends string = ':'>(providers: PROVIDERS, { separator, languageModelMiddleware, imageModelMiddleware, }?: {
6119
6146
  separator?: SEPARATOR;
6120
6147
  languageModelMiddleware?: LanguageModelMiddleware | LanguageModelMiddleware[];
6121
6148
  imageModelMiddleware?: ImageModelMiddleware | ImageModelMiddleware[];
6122
- }): ProviderRegistryProvider<PROVIDERS, SEPARATOR>;
6149
+ }): ProviderRegistryProvider<{
6150
+ [K in keyof PROVIDERS]: ProviderV4;
6151
+ }, SEPARATOR>;
6123
6152
  /**
6124
6153
  * @deprecated Use `createProviderRegistry` instead.
6125
6154
  */
@@ -6405,7 +6434,7 @@ declare global {
6405
6434
  *
6406
6435
  * @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
6407
6436
  */
6408
- var AI_SDK_DEFAULT_PROVIDER: ProviderV3 | undefined;
6437
+ var AI_SDK_DEFAULT_PROVIDER: ProviderV4 | ProviderV3 | ProviderV2 | undefined;
6409
6438
  /**
6410
6439
  * The warning logger to use for the AI SDK.
6411
6440
  *