@ai-sdk/azure 4.0.0-beta.4 → 4.0.0-beta.41

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,330 @@
1
1
  # @ai-sdk/azure
2
2
 
3
+ ## 4.0.0-beta.41
4
+
5
+ ### Patch Changes
6
+
7
+ - 9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
8
+ - 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
9
+ - Updated dependencies [9bd6512]
10
+ - Updated dependencies [258c093]
11
+ - Updated dependencies [b6783da]
12
+ - @ai-sdk/provider-utils@5.0.0-beta.29
13
+ - @ai-sdk/provider@4.0.0-beta.14
14
+ - @ai-sdk/openai@4.0.0-beta.41
15
+
16
+ ## 4.0.0-beta.40
17
+
18
+ ### Patch Changes
19
+
20
+ - 9f0e36c: trigger release for all packages after provenance setup
21
+ - Updated dependencies [9f0e36c]
22
+ - @ai-sdk/openai@4.0.0-beta.40
23
+ - @ai-sdk/provider@4.0.0-beta.13
24
+ - @ai-sdk/provider-utils@5.0.0-beta.28
25
+
26
+ ## 4.0.0-beta.39
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [785fe16]
31
+ - Updated dependencies [67df0a0]
32
+ - Updated dependencies [befb78c]
33
+ - Updated dependencies [0458559]
34
+ - Updated dependencies [58a2ad7]
35
+ - Updated dependencies [5852c0a]
36
+ - Updated dependencies [fc92055]
37
+ - Updated dependencies [f9acbc0]
38
+ - @ai-sdk/provider-utils@5.0.0-beta.27
39
+ - @ai-sdk/openai@4.0.0-beta.39
40
+
41
+ ## 4.0.0-beta.38
42
+
43
+ ### Patch Changes
44
+
45
+ - Updated dependencies [2e98477]
46
+ - Updated dependencies [bfb756d]
47
+ - @ai-sdk/provider-utils@5.0.0-beta.26
48
+ - @ai-sdk/openai@4.0.0-beta.38
49
+
50
+ ## 4.0.0-beta.37
51
+
52
+ ### Patch Changes
53
+
54
+ - Updated dependencies [eea8d98]
55
+ - @ai-sdk/provider-utils@5.0.0-beta.25
56
+ - @ai-sdk/openai@4.0.0-beta.37
57
+
58
+ ## 4.0.0-beta.36
59
+
60
+ ### Patch Changes
61
+
62
+ - Updated dependencies [f807e45]
63
+ - @ai-sdk/provider-utils@5.0.0-beta.24
64
+ - @ai-sdk/openai@4.0.0-beta.36
65
+
66
+ ## 4.0.0-beta.35
67
+
68
+ ### Patch Changes
69
+
70
+ - Updated dependencies [350ea38]
71
+ - @ai-sdk/provider-utils@5.0.0-beta.23
72
+ - @ai-sdk/openai@4.0.0-beta.35
73
+
74
+ ## 4.0.0-beta.34
75
+
76
+ ### Patch Changes
77
+
78
+ - Updated dependencies [083947b]
79
+ - @ai-sdk/provider-utils@5.0.0-beta.22
80
+ - @ai-sdk/openai@4.0.0-beta.34
81
+
82
+ ## 4.0.0-beta.33
83
+
84
+ ### Patch Changes
85
+
86
+ - Updated dependencies [add1126]
87
+ - @ai-sdk/provider-utils@5.0.0-beta.21
88
+ - @ai-sdk/openai@4.0.0-beta.33
89
+
90
+ ## 4.0.0-beta.32
91
+
92
+ ### Patch Changes
93
+
94
+ - Updated dependencies [0c4ac8a]
95
+ - @ai-sdk/openai@4.0.0-beta.32
96
+
97
+ ## 4.0.0-beta.31
98
+
99
+ ### Patch Changes
100
+
101
+ - Updated dependencies [b3976a2]
102
+ - Updated dependencies [ff5eba1]
103
+ - @ai-sdk/provider-utils@5.0.0-beta.20
104
+ - @ai-sdk/openai@4.0.0-beta.31
105
+ - @ai-sdk/provider@4.0.0-beta.12
106
+
107
+ ## 4.0.0-beta.30
108
+
109
+ ### Major Changes
110
+
111
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
112
+
113
+ ### Patch Changes
114
+
115
+ - Updated dependencies [ef992f8]
116
+ - @ai-sdk/openai@4.0.0-beta.30
117
+ - @ai-sdk/provider@4.0.0-beta.11
118
+ - @ai-sdk/provider-utils@5.0.0-beta.19
119
+
120
+ ## 4.0.0-beta.29
121
+
122
+ ### Patch Changes
123
+
124
+ - Updated dependencies [90e2d8a]
125
+ - @ai-sdk/provider-utils@5.0.0-beta.18
126
+ - @ai-sdk/openai@4.0.0-beta.29
127
+
128
+ ## 4.0.0-beta.28
129
+
130
+ ### Patch Changes
131
+
132
+ - Updated dependencies [3ae1786]
133
+ - @ai-sdk/provider-utils@5.0.0-beta.17
134
+ - @ai-sdk/openai@4.0.0-beta.28
135
+
136
+ ## 4.0.0-beta.27
137
+
138
+ ### Patch Changes
139
+
140
+ - Updated dependencies [176466a]
141
+ - @ai-sdk/provider@4.0.0-beta.10
142
+ - @ai-sdk/openai@4.0.0-beta.27
143
+ - @ai-sdk/provider-utils@5.0.0-beta.16
144
+
145
+ ## 4.0.0-beta.26
146
+
147
+ ### Patch Changes
148
+
149
+ - Updated dependencies [e311194]
150
+ - @ai-sdk/provider@4.0.0-beta.9
151
+ - @ai-sdk/openai@4.0.0-beta.26
152
+ - @ai-sdk/provider-utils@5.0.0-beta.15
153
+
154
+ ## 4.0.0-beta.25
155
+
156
+ ### Patch Changes
157
+
158
+ - Updated dependencies [34bd95d]
159
+ - Updated dependencies [008271d]
160
+ - @ai-sdk/provider@4.0.0-beta.8
161
+ - @ai-sdk/openai@4.0.0-beta.25
162
+ - @ai-sdk/provider-utils@5.0.0-beta.14
163
+
164
+ ## 4.0.0-beta.24
165
+
166
+ ### Patch Changes
167
+
168
+ - Updated dependencies [b0c2869]
169
+ - Updated dependencies [7e26e81]
170
+ - @ai-sdk/provider-utils@5.0.0-beta.13
171
+ - @ai-sdk/openai@4.0.0-beta.24
172
+
173
+ ## 4.0.0-beta.23
174
+
175
+ ### Patch Changes
176
+
177
+ - Updated dependencies [46d1149]
178
+ - @ai-sdk/provider-utils@5.0.0-beta.12
179
+ - @ai-sdk/openai@4.0.0-beta.23
180
+
181
+ ## 4.0.0-beta.22
182
+
183
+ ### Patch Changes
184
+
185
+ - Updated dependencies [6fd51c0]
186
+ - @ai-sdk/provider-utils@5.0.0-beta.11
187
+ - @ai-sdk/provider@4.0.0-beta.7
188
+ - @ai-sdk/openai@4.0.0-beta.22
189
+
190
+ ## 4.0.0-beta.21
191
+
192
+ ### Patch Changes
193
+
194
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
195
+ - Updated dependencies [c29a26f]
196
+ - @ai-sdk/provider-utils@5.0.0-beta.10
197
+ - @ai-sdk/provider@4.0.0-beta.6
198
+ - @ai-sdk/openai@4.0.0-beta.21
199
+
200
+ ## 4.0.0-beta.20
201
+
202
+ ### Patch Changes
203
+
204
+ - 38fc777: Add AI Gateway hint to provider READMEs
205
+ - Updated dependencies [38fc777]
206
+ - @ai-sdk/openai@4.0.0-beta.20
207
+
208
+ ## 4.0.0-beta.19
209
+
210
+ ### Patch Changes
211
+
212
+ - Updated dependencies [2e17091]
213
+ - @ai-sdk/provider-utils@5.0.0-beta.9
214
+ - @ai-sdk/openai@4.0.0-beta.19
215
+
216
+ ## 4.0.0-beta.18
217
+
218
+ ### Patch Changes
219
+
220
+ - Updated dependencies [986c6fd]
221
+ - Updated dependencies [493295c]
222
+ - @ai-sdk/provider-utils@5.0.0-beta.8
223
+ - @ai-sdk/openai@4.0.0-beta.18
224
+
225
+ ## 4.0.0-beta.17
226
+
227
+ ### Patch Changes
228
+
229
+ - Updated dependencies [817a1a6]
230
+ - @ai-sdk/openai@4.0.0-beta.17
231
+
232
+ ## 4.0.0-beta.16
233
+
234
+ ### Patch Changes
235
+
236
+ - Updated dependencies [1f509d4]
237
+ - @ai-sdk/provider-utils@5.0.0-beta.7
238
+ - @ai-sdk/provider@4.0.0-beta.5
239
+ - @ai-sdk/openai@4.0.0-beta.16
240
+
241
+ ## 4.0.0-beta.15
242
+
243
+ ### Patch Changes
244
+
245
+ - Updated dependencies [365da1a]
246
+ - @ai-sdk/openai@4.0.0-beta.15
247
+
248
+ ## 4.0.0-beta.14
249
+
250
+ ### Patch Changes
251
+
252
+ - Updated dependencies [e6376c2]
253
+ - @ai-sdk/openai@4.0.0-beta.14
254
+
255
+ ## 4.0.0-beta.13
256
+
257
+ ### Patch Changes
258
+
259
+ - Updated dependencies [3887c70]
260
+ - @ai-sdk/provider-utils@5.0.0-beta.6
261
+ - @ai-sdk/provider@4.0.0-beta.4
262
+ - @ai-sdk/openai@4.0.0-beta.13
263
+
264
+ ## 4.0.0-beta.12
265
+
266
+ ### Patch Changes
267
+
268
+ - Updated dependencies [d9a1e9a]
269
+ - @ai-sdk/openai@4.0.0-beta.12
270
+
271
+ ## 4.0.0-beta.11
272
+
273
+ ### Patch Changes
274
+
275
+ - Updated dependencies [776b617]
276
+ - @ai-sdk/provider-utils@5.0.0-beta.5
277
+ - @ai-sdk/provider@4.0.0-beta.3
278
+ - @ai-sdk/openai@4.0.0-beta.11
279
+
280
+ ## 4.0.0-beta.10
281
+
282
+ ### Patch Changes
283
+
284
+ - Updated dependencies [61753c3]
285
+ - @ai-sdk/provider-utils@5.0.0-beta.4
286
+ - @ai-sdk/openai@4.0.0-beta.10
287
+
288
+ ## 4.0.0-beta.9
289
+
290
+ ### Patch Changes
291
+
292
+ - Updated dependencies [156cdf0]
293
+ - @ai-sdk/openai@4.0.0-beta.9
294
+
295
+ ## 4.0.0-beta.8
296
+
297
+ ### Patch Changes
298
+
299
+ - Updated dependencies [f7d4f01]
300
+ - @ai-sdk/provider-utils@5.0.0-beta.3
301
+ - @ai-sdk/provider@4.0.0-beta.2
302
+ - @ai-sdk/openai@4.0.0-beta.8
303
+
304
+ ## 4.0.0-beta.7
305
+
306
+ ### Patch Changes
307
+
308
+ - Updated dependencies [5c2a5a2]
309
+ - @ai-sdk/provider@4.0.0-beta.1
310
+ - @ai-sdk/openai@4.0.0-beta.7
311
+ - @ai-sdk/provider-utils@5.0.0-beta.2
312
+
313
+ ## 4.0.0-beta.6
314
+
315
+ ### Patch Changes
316
+
317
+ - 83f9d04: feat(openai): upgrade v3 specs to v4
318
+ - Updated dependencies [83f9d04]
319
+ - @ai-sdk/openai@4.0.0-beta.6
320
+
321
+ ## 4.0.0-beta.5
322
+
323
+ ### Patch Changes
324
+
325
+ - Updated dependencies [ac18f89]
326
+ - @ai-sdk/openai@4.0.0-beta.5
327
+
3
328
  ## 4.0.0-beta.4
4
329
 
5
330
  ### Patch Changes
@@ -407,13 +732,13 @@
407
732
  Before
408
733
 
409
734
  ```ts
410
- model.textEmbeddingModel('my-model-id');
735
+ model.textEmbeddingModel("my-model-id");
411
736
  ```
412
737
 
413
738
  After
414
739
 
415
740
  ```ts
416
- model.embeddingModel('my-model-id');
741
+ model.embeddingModel("my-model-id");
417
742
  ```
418
743
 
419
744
  - d64ece9: enables image_generation capabilities in the Azure provider through the Responses API.
@@ -800,13 +1125,13 @@
800
1125
  Before
801
1126
 
802
1127
  ```ts
803
- model.textEmbeddingModel('my-model-id');
1128
+ model.textEmbeddingModel("my-model-id");
804
1129
  ```
805
1130
 
806
1131
  After
807
1132
 
808
1133
  ```ts
809
- model.embeddingModel('my-model-id');
1134
+ model.embeddingModel("my-model-id");
810
1135
  ```
811
1136
 
812
1137
  - Updated dependencies [8d9e8ad]
@@ -1637,7 +1962,7 @@
1637
1962
 
1638
1963
  ```js
1639
1964
  await generateImage({
1640
- model: luma.image('photon-flash-1', {
1965
+ model: luma.image("photon-flash-1", {
1641
1966
  maxImagesPerCall: 5,
1642
1967
  pollIntervalMillis: 500,
1643
1968
  }),
@@ -1650,7 +1975,7 @@
1650
1975
 
1651
1976
  ```js
1652
1977
  await generateImage({
1653
- model: luma.image('photon-flash-1'),
1978
+ model: luma.image("photon-flash-1"),
1654
1979
  prompt,
1655
1980
  n: 10,
1656
1981
  maxImagesPerCall: 5,
@@ -1964,7 +2289,7 @@
1964
2289
 
1965
2290
  ```js
1966
2291
  await generateImage({
1967
- model: luma.image('photon-flash-1', {
2292
+ model: luma.image("photon-flash-1", {
1968
2293
  maxImagesPerCall: 5,
1969
2294
  pollIntervalMillis: 500,
1970
2295
  }),
@@ -1977,7 +2302,7 @@
1977
2302
 
1978
2303
  ```js
1979
2304
  await generateImage({
1980
- model: luma.image('photon-flash-1'),
2305
+ model: luma.image("photon-flash-1"),
1981
2306
  prompt,
1982
2307
  n: 10,
1983
2308
  maxImagesPerCall: 5,
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  The **[Azure provider](https://ai-sdk.dev/providers/ai-sdk-providers/azure)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the Azure OpenAI API.
4
4
 
5
+ > **Deploying to Vercel?** With Vercel's AI Gateway you can access Azure OpenAI (and hundreds of models from other providers) — no additional packages, API keys, or extra cost. [Get started with AI Gateway](https://vercel.com/ai-gateway).
6
+
5
7
  ## Setup
6
8
 
7
9
  The Azure provider is available in the `@ai-sdk/azure` module. You can install it with
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { OpenAILanguageModelChatOptions as OpenAIChatLanguageModelOptions, OpenAILanguageModelChatOptions, OpenAILanguageModelResponsesOptions, OpenAILanguageModelResponsesOptions as OpenAIResponsesProviderOptions } from '@ai-sdk/openai';
2
- import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
2
+ import { ProviderV4, LanguageModelV4, EmbeddingModelV4, ImageModelV4, TranscriptionModelV4, SpeechModelV4 } from '@ai-sdk/provider';
3
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
4
- import { codeInterpreter, fileSearch, imageGeneration, webSearchPreview, ResponsesProviderMetadata, ResponsesReasoningProviderMetadata, ResponsesTextProviderMetadata, ResponsesSourceDocumentProviderMetadata } from '@ai-sdk/openai/internal';
4
+ import { codeInterpreter, fileSearch, imageGeneration, webSearchPreview, ResponsesProviderMetadata, ResponsesReasoningProviderMetadata, ResponsesSourceDocumentProviderMetadata, ResponsesTextProviderMetadata } from '@ai-sdk/openai/internal';
5
5
 
6
6
  declare const azureOpenaiTools: {
7
7
  codeInterpreter: typeof codeInterpreter;
@@ -10,56 +10,56 @@ declare const azureOpenaiTools: {
10
10
  webSearchPreview: typeof webSearchPreview;
11
11
  };
12
12
 
13
- interface AzureOpenAIProvider extends ProviderV3 {
14
- (deploymentId: string): LanguageModelV3;
13
+ interface AzureOpenAIProvider extends ProviderV4 {
14
+ (deploymentId: string): LanguageModelV4;
15
15
  /**
16
16
  * Creates an Azure OpenAI responses API model for text generation.
17
17
  */
18
- languageModel(deploymentId: string): LanguageModelV3;
18
+ languageModel(deploymentId: string): LanguageModelV4;
19
19
  /**
20
20
  * Creates an Azure OpenAI chat model for text generation.
21
21
  */
22
- chat(deploymentId: string): LanguageModelV3;
22
+ chat(deploymentId: string): LanguageModelV4;
23
23
  /**
24
24
  * Creates an Azure OpenAI responses API model for text generation.
25
25
  */
26
- responses(deploymentId: string): LanguageModelV3;
26
+ responses(deploymentId: string): LanguageModelV4;
27
27
  /**
28
28
  * Creates an Azure OpenAI completion model for text generation.
29
29
  */
30
- completion(deploymentId: string): LanguageModelV3;
30
+ completion(deploymentId: string): LanguageModelV4;
31
31
  /**
32
32
  * Creates an Azure OpenAI model for text embeddings.
33
33
  */
34
- embedding(deploymentId: string): EmbeddingModelV3;
34
+ embedding(deploymentId: string): EmbeddingModelV4;
35
35
  /**
36
36
  * Creates an Azure OpenAI model for text embeddings.
37
37
  */
38
- embeddingModel(deploymentId: string): EmbeddingModelV3;
38
+ embeddingModel(deploymentId: string): EmbeddingModelV4;
39
39
  /**
40
40
  * @deprecated Use `embedding` instead.
41
41
  */
42
- textEmbedding(deploymentId: string): EmbeddingModelV3;
42
+ textEmbedding(deploymentId: string): EmbeddingModelV4;
43
43
  /**
44
44
  * @deprecated Use `embeddingModel` instead.
45
45
  */
46
- textEmbeddingModel(deploymentId: string): EmbeddingModelV3;
46
+ textEmbeddingModel(deploymentId: string): EmbeddingModelV4;
47
47
  /**
48
48
  * Creates an Azure OpenAI DALL-E model for image generation.
49
49
  */
50
- image(deploymentId: string): ImageModelV3;
50
+ image(deploymentId: string): ImageModelV4;
51
51
  /**
52
52
  * Creates an Azure OpenAI DALL-E model for image generation.
53
53
  */
54
- imageModel(deploymentId: string): ImageModelV3;
54
+ imageModel(deploymentId: string): ImageModelV4;
55
55
  /**
56
56
  * Creates an Azure OpenAI model for audio transcription.
57
57
  */
58
- transcription(deploymentId: string): TranscriptionModelV3;
58
+ transcription(deploymentId: string): TranscriptionModelV4;
59
59
  /**
60
60
  * Creates an Azure OpenAI model for speech generation.
61
61
  */
62
- speech(deploymentId: string): SpeechModelV3;
62
+ speech(deploymentId: string): SpeechModelV4;
63
63
  /**
64
64
  * AzureOpenAI-specific tools.
65
65
  */
package/dist/index.js CHANGED
@@ -1,62 +1,51 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
23
- VERSION: () => VERSION,
24
- azure: () => azure,
25
- createAzure: () => createAzure
26
- });
27
- module.exports = __toCommonJS(src_exports);
28
-
29
1
  // src/azure-openai-provider.ts
30
- var import_internal2 = require("@ai-sdk/openai/internal");
31
- var import_provider_utils = require("@ai-sdk/provider-utils");
2
+ import {
3
+ OpenAIChatLanguageModel,
4
+ OpenAICompletionLanguageModel,
5
+ OpenAIEmbeddingModel,
6
+ OpenAIImageModel,
7
+ OpenAIResponsesLanguageModel,
8
+ OpenAISpeechModel,
9
+ OpenAITranscriptionModel
10
+ } from "@ai-sdk/openai/internal";
11
+ import {
12
+ loadApiKey,
13
+ loadSetting,
14
+ withUserAgentSuffix
15
+ } from "@ai-sdk/provider-utils";
32
16
 
33
17
  // src/azure-openai-tools.ts
34
- var import_internal = require("@ai-sdk/openai/internal");
18
+ import {
19
+ codeInterpreter,
20
+ fileSearch,
21
+ imageGeneration,
22
+ webSearchPreview
23
+ } from "@ai-sdk/openai/internal";
35
24
  var azureOpenaiTools = {
36
- codeInterpreter: import_internal.codeInterpreter,
37
- fileSearch: import_internal.fileSearch,
38
- imageGeneration: import_internal.imageGeneration,
39
- webSearchPreview: import_internal.webSearchPreview
25
+ codeInterpreter,
26
+ fileSearch,
27
+ imageGeneration,
28
+ webSearchPreview
40
29
  };
41
30
 
42
31
  // src/version.ts
43
- var VERSION = true ? "4.0.0-beta.4" : "0.0.0-test";
32
+ var VERSION = true ? "4.0.0-beta.41" : "0.0.0-test";
44
33
 
45
34
  // src/azure-openai-provider.ts
46
35
  function createAzure(options = {}) {
47
36
  var _a;
48
37
  const getHeaders = () => {
49
38
  const baseHeaders = {
50
- "api-key": (0, import_provider_utils.loadApiKey)({
39
+ "api-key": loadApiKey({
51
40
  apiKey: options.apiKey,
52
41
  environmentVariableName: "AZURE_API_KEY",
53
42
  description: "Azure OpenAI"
54
43
  }),
55
44
  ...options.headers
56
45
  };
57
- return (0, import_provider_utils.withUserAgentSuffix)(baseHeaders, `ai-sdk/azure/${VERSION}`);
46
+ return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);
58
47
  };
59
- const getResourceName = () => (0, import_provider_utils.loadSetting)({
48
+ const getResourceName = () => loadSetting({
60
49
  settingValue: options.resourceName,
61
50
  settingName: "resourceName",
62
51
  environmentVariableName: "AZURE_RESOURCE_NAME",
@@ -75,44 +64,45 @@ function createAzure(options = {}) {
75
64
  fullUrl.searchParams.set("api-version", apiVersion);
76
65
  return fullUrl.toString();
77
66
  };
78
- const createChatModel = (deploymentName) => new import_internal2.OpenAIChatLanguageModel(deploymentName, {
67
+ const createChatModel = (deploymentName) => new OpenAIChatLanguageModel(deploymentName, {
79
68
  provider: "azure.chat",
80
69
  url,
81
70
  headers: getHeaders,
82
71
  fetch: options.fetch
83
72
  });
84
- const createCompletionModel = (modelId) => new import_internal2.OpenAICompletionLanguageModel(modelId, {
73
+ const createCompletionModel = (modelId) => new OpenAICompletionLanguageModel(modelId, {
85
74
  provider: "azure.completion",
86
75
  url,
87
76
  headers: getHeaders,
88
77
  fetch: options.fetch
89
78
  });
90
- const createEmbeddingModel = (modelId) => new import_internal2.OpenAIEmbeddingModel(modelId, {
79
+ const createEmbeddingModel = (modelId) => new OpenAIEmbeddingModel(modelId, {
91
80
  provider: "azure.embeddings",
92
81
  headers: getHeaders,
93
82
  url,
94
83
  fetch: options.fetch
95
84
  });
96
- const createResponsesModel = (modelId) => new import_internal2.OpenAIResponsesLanguageModel(modelId, {
85
+ const createResponsesModel = (modelId) => new OpenAIResponsesLanguageModel(modelId, {
97
86
  provider: "azure.responses",
98
87
  url,
99
88
  headers: getHeaders,
100
89
  fetch: options.fetch,
90
+ // Soft-deprecated. TODO: remove in v8
101
91
  fileIdPrefixes: ["assistant-"]
102
92
  });
103
- const createImageModel = (modelId) => new import_internal2.OpenAIImageModel(modelId, {
93
+ const createImageModel = (modelId) => new OpenAIImageModel(modelId, {
104
94
  provider: "azure.image",
105
95
  url,
106
96
  headers: getHeaders,
107
97
  fetch: options.fetch
108
98
  });
109
- const createTranscriptionModel = (modelId) => new import_internal2.OpenAITranscriptionModel(modelId, {
99
+ const createTranscriptionModel = (modelId) => new OpenAITranscriptionModel(modelId, {
110
100
  provider: "azure.transcription",
111
101
  url,
112
102
  headers: getHeaders,
113
103
  fetch: options.fetch
114
104
  });
115
- const createSpeechModel = (modelId) => new import_internal2.OpenAISpeechModel(modelId, {
105
+ const createSpeechModel = (modelId) => new OpenAISpeechModel(modelId, {
116
106
  provider: "azure.speech",
117
107
  url,
118
108
  headers: getHeaders,
@@ -126,7 +116,7 @@ function createAzure(options = {}) {
126
116
  }
127
117
  return createResponsesModel(deploymentId);
128
118
  };
129
- provider.specificationVersion = "v3";
119
+ provider.specificationVersion = "v4";
130
120
  provider.languageModel = createResponsesModel;
131
121
  provider.chat = createChatModel;
132
122
  provider.completion = createCompletionModel;
@@ -143,10 +133,9 @@ function createAzure(options = {}) {
143
133
  return provider;
144
134
  }
145
135
  var azure = createAzure();
146
- // Annotate the CommonJS export names for ESM import in node:
147
- 0 && (module.exports = {
136
+ export {
148
137
  VERSION,
149
138
  azure,
150
139
  createAzure
151
- });
140
+ };
152
141
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/azure-openai-provider.ts","../src/azure-openai-tools.ts","../src/version.ts"],"sourcesContent":["export type {\n OpenAILanguageModelResponsesOptions,\n /** @deprecated Use `OpenAILanguageModelResponsesOptions` instead. */\n OpenAILanguageModelResponsesOptions as OpenAIResponsesProviderOptions,\n OpenAILanguageModelChatOptions,\n /** @deprecated Use `OpenAILanguageModelChatOptions` instead. */\n OpenAILanguageModelChatOptions as OpenAIChatLanguageModelOptions,\n} from '@ai-sdk/openai';\n\nexport { azure, createAzure } from './azure-openai-provider';\nexport type {\n AzureOpenAIProvider,\n AzureOpenAIProviderSettings,\n} from './azure-openai-provider';\nexport type {\n AzureResponsesProviderMetadata,\n AzureResponsesReasoningProviderMetadata,\n AzureResponsesTextProviderMetadata,\n AzureResponsesSourceDocumentProviderMetadata,\n} from './azure-openai-provider-metadata';\nexport { VERSION } from './version';\n","import {\n OpenAIChatLanguageModel,\n OpenAICompletionLanguageModel,\n OpenAIEmbeddingModel,\n OpenAIImageModel,\n OpenAIResponsesLanguageModel,\n OpenAISpeechModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV3,\n LanguageModelV3,\n ProviderV3,\n ImageModelV3,\n SpeechModelV3,\n TranscriptionModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n loadSetting,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { azureOpenaiTools } from './azure-openai-tools';\nimport { VERSION } from './version';\n\nexport interface AzureOpenAIProvider extends ProviderV3 {\n (deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n languageModel(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embedding` instead.\n */\n textEmbedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n image(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV3;\n\n /**\n * Creates an Azure OpenAI model for speech generation.\n */\n speech(deploymentId: string): SpeechModelV3;\n\n /**\n * AzureOpenAI-specific tools.\n */\n tools: typeof azureOpenaiTools;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\n * Name of the Azure OpenAI resource. Either this or `baseURL` can be used.\n *\n * The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.\n */\n resourceName?: string;\n\n /**\n * Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\n * When a baseURL is provided, the resourceName is ignored.\n *\n * With a baseURL, the resolved URL is `{baseURL}/v1{path}`.\n */\n baseURL?: string;\n\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\n * Custom api version to use. Defaults to `preview`.\n */\n apiVersion?: string;\n\n /**\n * Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:\n * `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of\n * `{baseURL}/v1{path}?api-version={apiVersion}`.\n */\n useDeploymentBasedUrls?: boolean;\n}\n\n/**\n * Create an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => {\n const baseHeaders = {\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\n };\n return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);\n };\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const apiVersion = options.apiVersion ?? 'v1';\n\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n const baseUrlPrefix =\n options.baseURL ?? `https://${getResourceName()}.openai.azure.com/openai`;\n\n let fullUrl: URL;\n if (options.useDeploymentBasedUrls) {\n // Use deployment-based format for compatibility with certain Azure OpenAI models\n fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);\n } else {\n // Use v1 API format - no deployment ID in URL\n fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);\n }\n\n fullUrl.searchParams.set('api-version', apiVersion);\n return fullUrl.toString();\n };\n\n const createChatModel = (deploymentName: string) =>\n new OpenAIChatLanguageModel(deploymentName, {\n provider: 'azure.chat',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createCompletionModel = (modelId: string) =>\n new OpenAICompletionLanguageModel(modelId, {\n provider: 'azure.completion',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (modelId: string) =>\n new OpenAIEmbeddingModel(modelId, {\n provider: 'azure.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n fileIdPrefixes: ['assistant-'],\n });\n\n const createImageModel = (modelId: string) =>\n new OpenAIImageModel(modelId, {\n provider: 'azure.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createSpeechModel = (modelId: string) =>\n new OpenAISpeechModel(modelId, {\n provider: 'azure.speech',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (deploymentId: string) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createResponsesModel(deploymentId);\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n provider.speech = createSpeechModel;\n provider.tools = azureOpenaiTools;\n return provider;\n}\n\n/**\n * Default Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n","import {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n} from '@ai-sdk/openai/internal';\n\nexport const azureOpenaiTools: {\n codeInterpreter: typeof codeInterpreter;\n fileSearch: typeof fileSearch;\n imageGeneration: typeof imageGeneration;\n webSearchPreview: typeof webSearchPreview;\n} = {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n};\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["import_internal","_a"]}
1
+ {"version":3,"sources":["../src/azure-openai-provider.ts","../src/azure-openai-tools.ts","../src/version.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAICompletionLanguageModel,\n OpenAIEmbeddingModel,\n OpenAIImageModel,\n OpenAIResponsesLanguageModel,\n OpenAISpeechModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport type {\n EmbeddingModelV4,\n LanguageModelV4,\n ProviderV4,\n ImageModelV4,\n SpeechModelV4,\n TranscriptionModelV4,\n} from '@ai-sdk/provider';\nimport {\n loadApiKey,\n loadSetting,\n withUserAgentSuffix,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { azureOpenaiTools } from './azure-openai-tools';\nimport { VERSION } from './version';\n\nexport interface AzureOpenAIProvider extends ProviderV4 {\n (deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n languageModel(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(deploymentId: string): LanguageModelV4;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embedding(deploymentId: string): EmbeddingModelV4;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embeddingModel(deploymentId: string): EmbeddingModelV4;\n\n /**\n * @deprecated Use `embedding` instead.\n */\n textEmbedding(deploymentId: string): EmbeddingModelV4;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(deploymentId: string): EmbeddingModelV4;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n image(deploymentId: string): ImageModelV4;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(deploymentId: string): ImageModelV4;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV4;\n\n /**\n * Creates an Azure OpenAI model for speech generation.\n */\n speech(deploymentId: string): SpeechModelV4;\n\n /**\n * AzureOpenAI-specific tools.\n */\n tools: typeof azureOpenaiTools;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\n * Name of the Azure OpenAI resource. Either this or `baseURL` can be used.\n *\n * The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.\n */\n resourceName?: string;\n\n /**\n * Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\n * When a baseURL is provided, the resourceName is ignored.\n *\n * With a baseURL, the resolved URL is `{baseURL}/v1{path}`.\n */\n baseURL?: string;\n\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\n * Custom api version to use. Defaults to `preview`.\n */\n apiVersion?: string;\n\n /**\n * Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:\n * `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of\n * `{baseURL}/v1{path}?api-version={apiVersion}`.\n */\n useDeploymentBasedUrls?: boolean;\n}\n\n/**\n * Create an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => {\n const baseHeaders = {\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\n };\n return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);\n };\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const apiVersion = options.apiVersion ?? 'v1';\n\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n const baseUrlPrefix =\n options.baseURL ?? `https://${getResourceName()}.openai.azure.com/openai`;\n\n let fullUrl: URL;\n if (options.useDeploymentBasedUrls) {\n // Use deployment-based format for compatibility with certain Azure OpenAI models\n fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);\n } else {\n // Use v1 API format - no deployment ID in URL\n fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);\n }\n\n fullUrl.searchParams.set('api-version', apiVersion);\n return fullUrl.toString();\n };\n\n const createChatModel = (deploymentName: string) =>\n new OpenAIChatLanguageModel(deploymentName, {\n provider: 'azure.chat',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createCompletionModel = (modelId: string) =>\n new OpenAICompletionLanguageModel(modelId, {\n provider: 'azure.completion',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (modelId: string) =>\n new OpenAIEmbeddingModel(modelId, {\n provider: 'azure.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n // Soft-deprecated. TODO: remove in v8\n fileIdPrefixes: ['assistant-'],\n });\n\n const createImageModel = (modelId: string) =>\n new OpenAIImageModel(modelId, {\n provider: 'azure.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createSpeechModel = (modelId: string) =>\n new OpenAISpeechModel(modelId, {\n provider: 'azure.speech',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (deploymentId: string) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createResponsesModel(deploymentId);\n };\n\n provider.specificationVersion = 'v4' as const;\n provider.languageModel = createResponsesModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n provider.speech = createSpeechModel;\n provider.tools = azureOpenaiTools;\n return provider;\n}\n\n/**\n * Default Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n","import {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n} from '@ai-sdk/openai/internal';\n\nexport const azureOpenaiTools: {\n codeInterpreter: typeof codeInterpreter;\n fileSearch: typeof fileSearch;\n imageGeneration: typeof imageGeneration;\n webSearchPreview: typeof webSearchPreview;\n} = {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n};\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["_a"]}
package/docs/04-azure.mdx CHANGED
@@ -168,8 +168,9 @@ const messages = [
168
168
  text: 'What is the capital of the moon?',
169
169
  },
170
170
  {
171
- type: 'image',
172
- image: 'https://example.com/image.png',
171
+ type: 'file',
172
+ mediaType: 'image',
173
+ data: 'https://example.com/image.png',
173
174
  providerOptions: {
174
175
  openai: { imageDetail: 'low' },
175
176
  },
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ai-sdk/azure",
3
- "version": "4.0.0-beta.4",
3
+ "version": "4.0.0-beta.41",
4
+ "type": "module",
4
5
  "license": "Apache-2.0",
5
6
  "sideEffects": false,
6
7
  "main": "./dist/index.js",
7
- "module": "./dist/index.mjs",
8
8
  "types": "./dist/index.d.ts",
9
9
  "files": [
10
10
  "dist/**/*",
@@ -24,21 +24,21 @@
24
24
  "./package.json": "./package.json",
25
25
  ".": {
26
26
  "types": "./dist/index.d.ts",
27
- "import": "./dist/index.mjs",
28
- "require": "./dist/index.js"
27
+ "import": "./dist/index.js",
28
+ "default": "./dist/index.js"
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@ai-sdk/openai": "4.0.0-beta.4",
33
- "@ai-sdk/provider": "4.0.0-beta.0",
34
- "@ai-sdk/provider-utils": "5.0.0-beta.1"
32
+ "@ai-sdk/openai": "4.0.0-beta.41",
33
+ "@ai-sdk/provider": "4.0.0-beta.14",
34
+ "@ai-sdk/provider-utils": "5.0.0-beta.29"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "20.17.24",
38
38
  "tsup": "^8",
39
39
  "typescript": "5.8.3",
40
40
  "zod": "3.25.76",
41
- "@ai-sdk/test-server": "2.0.0-beta.0",
41
+ "@ai-sdk/test-server": "2.0.0-beta.3",
42
42
  "@vercel/ai-tsconfig": "0.0.0"
43
43
  },
44
44
  "peerDependencies": {
@@ -48,12 +48,14 @@
48
48
  "node": ">=18"
49
49
  },
50
50
  "publishConfig": {
51
- "access": "public"
51
+ "access": "public",
52
+ "provenance": true
52
53
  },
53
54
  "homepage": "https://ai-sdk.dev/docs",
54
55
  "repository": {
55
56
  "type": "git",
56
- "url": "git+https://github.com/vercel/ai.git"
57
+ "url": "https://github.com/vercel/ai",
58
+ "directory": "packages/azure"
57
59
  },
58
60
  "bugs": {
59
61
  "url": "https://github.com/vercel/ai/issues"
@@ -65,9 +67,7 @@
65
67
  "build": "pnpm clean && tsup --tsconfig tsconfig.build.json",
66
68
  "build:watch": "pnpm clean && tsup --watch",
67
69
  "clean": "del-cli dist docs *.tsbuildinfo",
68
- "lint": "eslint \"./**/*.ts*\"",
69
70
  "type-check": "tsc --build",
70
- "prettier-check": "prettier --check \"./**/*.ts*\"",
71
71
  "test": "pnpm test:node && pnpm test:edge",
72
72
  "test:update": "pnpm test:node -u",
73
73
  "test:watch": "vitest --config vitest.node.config.js",
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  ResponsesProviderMetadata,
3
3
  ResponsesReasoningProviderMetadata,
4
4
  ResponsesSourceDocumentProviderMetadata,
@@ -7,85 +7,85 @@ import {
7
7
  OpenAISpeechModel,
8
8
  OpenAITranscriptionModel,
9
9
  } from '@ai-sdk/openai/internal';
10
- import {
11
- EmbeddingModelV3,
12
- LanguageModelV3,
13
- ProviderV3,
14
- ImageModelV3,
15
- SpeechModelV3,
16
- TranscriptionModelV3,
10
+ import type {
11
+ EmbeddingModelV4,
12
+ LanguageModelV4,
13
+ ProviderV4,
14
+ ImageModelV4,
15
+ SpeechModelV4,
16
+ TranscriptionModelV4,
17
17
  } from '@ai-sdk/provider';
18
18
  import {
19
- FetchFunction,
20
19
  loadApiKey,
21
20
  loadSetting,
22
21
  withUserAgentSuffix,
22
+ type FetchFunction,
23
23
  } from '@ai-sdk/provider-utils';
24
24
  import { azureOpenaiTools } from './azure-openai-tools';
25
25
  import { VERSION } from './version';
26
26
 
27
- export interface AzureOpenAIProvider extends ProviderV3 {
28
- (deploymentId: string): LanguageModelV3;
27
+ export interface AzureOpenAIProvider extends ProviderV4 {
28
+ (deploymentId: string): LanguageModelV4;
29
29
 
30
30
  /**
31
31
  * Creates an Azure OpenAI responses API model for text generation.
32
32
  */
33
- languageModel(deploymentId: string): LanguageModelV3;
33
+ languageModel(deploymentId: string): LanguageModelV4;
34
34
 
35
35
  /**
36
36
  * Creates an Azure OpenAI chat model for text generation.
37
37
  */
38
- chat(deploymentId: string): LanguageModelV3;
38
+ chat(deploymentId: string): LanguageModelV4;
39
39
 
40
40
  /**
41
41
  * Creates an Azure OpenAI responses API model for text generation.
42
42
  */
43
- responses(deploymentId: string): LanguageModelV3;
43
+ responses(deploymentId: string): LanguageModelV4;
44
44
 
45
45
  /**
46
46
  * Creates an Azure OpenAI completion model for text generation.
47
47
  */
48
- completion(deploymentId: string): LanguageModelV3;
48
+ completion(deploymentId: string): LanguageModelV4;
49
49
 
50
50
  /**
51
51
  * Creates an Azure OpenAI model for text embeddings.
52
52
  */
53
- embedding(deploymentId: string): EmbeddingModelV3;
53
+ embedding(deploymentId: string): EmbeddingModelV4;
54
54
 
55
55
  /**
56
56
  * Creates an Azure OpenAI model for text embeddings.
57
57
  */
58
- embeddingModel(deploymentId: string): EmbeddingModelV3;
58
+ embeddingModel(deploymentId: string): EmbeddingModelV4;
59
59
 
60
60
  /**
61
61
  * @deprecated Use `embedding` instead.
62
62
  */
63
- textEmbedding(deploymentId: string): EmbeddingModelV3;
63
+ textEmbedding(deploymentId: string): EmbeddingModelV4;
64
64
 
65
65
  /**
66
66
  * @deprecated Use `embeddingModel` instead.
67
67
  */
68
- textEmbeddingModel(deploymentId: string): EmbeddingModelV3;
68
+ textEmbeddingModel(deploymentId: string): EmbeddingModelV4;
69
69
 
70
70
  /**
71
71
  * Creates an Azure OpenAI DALL-E model for image generation.
72
72
  */
73
- image(deploymentId: string): ImageModelV3;
73
+ image(deploymentId: string): ImageModelV4;
74
74
 
75
75
  /**
76
76
  * Creates an Azure OpenAI DALL-E model for image generation.
77
77
  */
78
- imageModel(deploymentId: string): ImageModelV3;
78
+ imageModel(deploymentId: string): ImageModelV4;
79
79
 
80
80
  /**
81
81
  * Creates an Azure OpenAI model for audio transcription.
82
82
  */
83
- transcription(deploymentId: string): TranscriptionModelV3;
83
+ transcription(deploymentId: string): TranscriptionModelV4;
84
84
 
85
85
  /**
86
86
  * Creates an Azure OpenAI model for speech generation.
87
87
  */
88
- speech(deploymentId: string): SpeechModelV3;
88
+ speech(deploymentId: string): SpeechModelV4;
89
89
 
90
90
  /**
91
91
  * AzureOpenAI-specific tools.
@@ -213,6 +213,7 @@ export function createAzure(
213
213
  url,
214
214
  headers: getHeaders,
215
215
  fetch: options.fetch,
216
+ // Soft-deprecated. TODO: remove in v8
216
217
  fileIdPrefixes: ['assistant-'],
217
218
  });
218
219
 
@@ -250,7 +251,7 @@ export function createAzure(
250
251
  return createResponsesModel(deploymentId);
251
252
  };
252
253
 
253
- provider.specificationVersion = 'v3' as const;
254
+ provider.specificationVersion = 'v4' as const;
254
255
  provider.languageModel = createResponsesModel;
255
256
  provider.chat = createChatModel;
256
257
  provider.completion = createCompletionModel;
package/dist/index.d.mts DELETED
@@ -1,130 +0,0 @@
1
- export { OpenAILanguageModelChatOptions as OpenAIChatLanguageModelOptions, OpenAILanguageModelChatOptions, OpenAILanguageModelResponsesOptions, OpenAILanguageModelResponsesOptions as OpenAIResponsesProviderOptions } from '@ai-sdk/openai';
2
- import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
3
- import { FetchFunction } from '@ai-sdk/provider-utils';
4
- import { codeInterpreter, fileSearch, imageGeneration, webSearchPreview, ResponsesProviderMetadata, ResponsesReasoningProviderMetadata, ResponsesTextProviderMetadata, ResponsesSourceDocumentProviderMetadata } from '@ai-sdk/openai/internal';
5
-
6
- declare const azureOpenaiTools: {
7
- codeInterpreter: typeof codeInterpreter;
8
- fileSearch: typeof fileSearch;
9
- imageGeneration: typeof imageGeneration;
10
- webSearchPreview: typeof webSearchPreview;
11
- };
12
-
13
- interface AzureOpenAIProvider extends ProviderV3 {
14
- (deploymentId: string): LanguageModelV3;
15
- /**
16
- * Creates an Azure OpenAI responses API model for text generation.
17
- */
18
- languageModel(deploymentId: string): LanguageModelV3;
19
- /**
20
- * Creates an Azure OpenAI chat model for text generation.
21
- */
22
- chat(deploymentId: string): LanguageModelV3;
23
- /**
24
- * Creates an Azure OpenAI responses API model for text generation.
25
- */
26
- responses(deploymentId: string): LanguageModelV3;
27
- /**
28
- * Creates an Azure OpenAI completion model for text generation.
29
- */
30
- completion(deploymentId: string): LanguageModelV3;
31
- /**
32
- * Creates an Azure OpenAI model for text embeddings.
33
- */
34
- embedding(deploymentId: string): EmbeddingModelV3;
35
- /**
36
- * Creates an Azure OpenAI model for text embeddings.
37
- */
38
- embeddingModel(deploymentId: string): EmbeddingModelV3;
39
- /**
40
- * @deprecated Use `embedding` instead.
41
- */
42
- textEmbedding(deploymentId: string): EmbeddingModelV3;
43
- /**
44
- * @deprecated Use `embeddingModel` instead.
45
- */
46
- textEmbeddingModel(deploymentId: string): EmbeddingModelV3;
47
- /**
48
- * Creates an Azure OpenAI DALL-E model for image generation.
49
- */
50
- image(deploymentId: string): ImageModelV3;
51
- /**
52
- * Creates an Azure OpenAI DALL-E model for image generation.
53
- */
54
- imageModel(deploymentId: string): ImageModelV3;
55
- /**
56
- * Creates an Azure OpenAI model for audio transcription.
57
- */
58
- transcription(deploymentId: string): TranscriptionModelV3;
59
- /**
60
- * Creates an Azure OpenAI model for speech generation.
61
- */
62
- speech(deploymentId: string): SpeechModelV3;
63
- /**
64
- * AzureOpenAI-specific tools.
65
- */
66
- tools: typeof azureOpenaiTools;
67
- }
68
- interface AzureOpenAIProviderSettings {
69
- /**
70
- * Name of the Azure OpenAI resource. Either this or `baseURL` can be used.
71
- *
72
- * The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.
73
- */
74
- resourceName?: string;
75
- /**
76
- * Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.
77
- * When a baseURL is provided, the resourceName is ignored.
78
- *
79
- * With a baseURL, the resolved URL is `{baseURL}/v1{path}`.
80
- */
81
- baseURL?: string;
82
- /**
83
- * API key for authenticating requests.
84
- */
85
- apiKey?: string;
86
- /**
87
- * Custom headers to include in the requests.
88
- */
89
- headers?: Record<string, string>;
90
- /**
91
- * Custom fetch implementation. You can use it as a middleware to intercept requests,
92
- * or to provide a custom fetch implementation for e.g. testing.
93
- */
94
- fetch?: FetchFunction;
95
- /**
96
- * Custom api version to use. Defaults to `preview`.
97
- */
98
- apiVersion?: string;
99
- /**
100
- * Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:
101
- * `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of
102
- * `{baseURL}/v1{path}?api-version={apiVersion}`.
103
- */
104
- useDeploymentBasedUrls?: boolean;
105
- }
106
- /**
107
- * Create an Azure OpenAI provider instance.
108
- */
109
- declare function createAzure(options?: AzureOpenAIProviderSettings): AzureOpenAIProvider;
110
- /**
111
- * Default Azure OpenAI provider instance.
112
- */
113
- declare const azure: AzureOpenAIProvider;
114
-
115
- type AzureResponsesProviderMetadata = {
116
- azure: ResponsesProviderMetadata;
117
- };
118
- type AzureResponsesReasoningProviderMetadata = {
119
- azure: ResponsesReasoningProviderMetadata;
120
- };
121
- type AzureResponsesTextProviderMetadata = {
122
- azure: ResponsesTextProviderMetadata;
123
- };
124
- type AzureResponsesSourceDocumentProviderMetadata = {
125
- azure: ResponsesSourceDocumentProviderMetadata;
126
- };
127
-
128
- declare const VERSION: string;
129
-
130
- export { type AzureOpenAIProvider, type AzureOpenAIProviderSettings, type AzureResponsesProviderMetadata, type AzureResponsesReasoningProviderMetadata, type AzureResponsesSourceDocumentProviderMetadata, type AzureResponsesTextProviderMetadata, VERSION, azure, createAzure };
package/dist/index.mjs DELETED
@@ -1,140 +0,0 @@
1
- // src/azure-openai-provider.ts
2
- import {
3
- OpenAIChatLanguageModel,
4
- OpenAICompletionLanguageModel,
5
- OpenAIEmbeddingModel,
6
- OpenAIImageModel,
7
- OpenAIResponsesLanguageModel,
8
- OpenAISpeechModel,
9
- OpenAITranscriptionModel
10
- } from "@ai-sdk/openai/internal";
11
- import {
12
- loadApiKey,
13
- loadSetting,
14
- withUserAgentSuffix
15
- } from "@ai-sdk/provider-utils";
16
-
17
- // src/azure-openai-tools.ts
18
- import {
19
- codeInterpreter,
20
- fileSearch,
21
- imageGeneration,
22
- webSearchPreview
23
- } from "@ai-sdk/openai/internal";
24
- var azureOpenaiTools = {
25
- codeInterpreter,
26
- fileSearch,
27
- imageGeneration,
28
- webSearchPreview
29
- };
30
-
31
- // src/version.ts
32
- var VERSION = true ? "4.0.0-beta.4" : "0.0.0-test";
33
-
34
- // src/azure-openai-provider.ts
35
- function createAzure(options = {}) {
36
- var _a;
37
- const getHeaders = () => {
38
- const baseHeaders = {
39
- "api-key": loadApiKey({
40
- apiKey: options.apiKey,
41
- environmentVariableName: "AZURE_API_KEY",
42
- description: "Azure OpenAI"
43
- }),
44
- ...options.headers
45
- };
46
- return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);
47
- };
48
- const getResourceName = () => loadSetting({
49
- settingValue: options.resourceName,
50
- settingName: "resourceName",
51
- environmentVariableName: "AZURE_RESOURCE_NAME",
52
- description: "Azure OpenAI resource name"
53
- });
54
- const apiVersion = (_a = options.apiVersion) != null ? _a : "v1";
55
- const url = ({ path, modelId }) => {
56
- var _a2;
57
- const baseUrlPrefix = (_a2 = options.baseURL) != null ? _a2 : `https://${getResourceName()}.openai.azure.com/openai`;
58
- let fullUrl;
59
- if (options.useDeploymentBasedUrls) {
60
- fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);
61
- } else {
62
- fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);
63
- }
64
- fullUrl.searchParams.set("api-version", apiVersion);
65
- return fullUrl.toString();
66
- };
67
- const createChatModel = (deploymentName) => new OpenAIChatLanguageModel(deploymentName, {
68
- provider: "azure.chat",
69
- url,
70
- headers: getHeaders,
71
- fetch: options.fetch
72
- });
73
- const createCompletionModel = (modelId) => new OpenAICompletionLanguageModel(modelId, {
74
- provider: "azure.completion",
75
- url,
76
- headers: getHeaders,
77
- fetch: options.fetch
78
- });
79
- const createEmbeddingModel = (modelId) => new OpenAIEmbeddingModel(modelId, {
80
- provider: "azure.embeddings",
81
- headers: getHeaders,
82
- url,
83
- fetch: options.fetch
84
- });
85
- const createResponsesModel = (modelId) => new OpenAIResponsesLanguageModel(modelId, {
86
- provider: "azure.responses",
87
- url,
88
- headers: getHeaders,
89
- fetch: options.fetch,
90
- fileIdPrefixes: ["assistant-"]
91
- });
92
- const createImageModel = (modelId) => new OpenAIImageModel(modelId, {
93
- provider: "azure.image",
94
- url,
95
- headers: getHeaders,
96
- fetch: options.fetch
97
- });
98
- const createTranscriptionModel = (modelId) => new OpenAITranscriptionModel(modelId, {
99
- provider: "azure.transcription",
100
- url,
101
- headers: getHeaders,
102
- fetch: options.fetch
103
- });
104
- const createSpeechModel = (modelId) => new OpenAISpeechModel(modelId, {
105
- provider: "azure.speech",
106
- url,
107
- headers: getHeaders,
108
- fetch: options.fetch
109
- });
110
- const provider = function(deploymentId) {
111
- if (new.target) {
112
- throw new Error(
113
- "The Azure OpenAI model function cannot be called with the new keyword."
114
- );
115
- }
116
- return createResponsesModel(deploymentId);
117
- };
118
- provider.specificationVersion = "v3";
119
- provider.languageModel = createResponsesModel;
120
- provider.chat = createChatModel;
121
- provider.completion = createCompletionModel;
122
- provider.embedding = createEmbeddingModel;
123
- provider.embeddingModel = createEmbeddingModel;
124
- provider.textEmbedding = createEmbeddingModel;
125
- provider.textEmbeddingModel = createEmbeddingModel;
126
- provider.image = createImageModel;
127
- provider.imageModel = createImageModel;
128
- provider.responses = createResponsesModel;
129
- provider.transcription = createTranscriptionModel;
130
- provider.speech = createSpeechModel;
131
- provider.tools = azureOpenaiTools;
132
- return provider;
133
- }
134
- var azure = createAzure();
135
- export {
136
- VERSION,
137
- azure,
138
- createAzure
139
- };
140
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/azure-openai-provider.ts","../src/azure-openai-tools.ts","../src/version.ts"],"sourcesContent":["import {\n OpenAIChatLanguageModel,\n OpenAICompletionLanguageModel,\n OpenAIEmbeddingModel,\n OpenAIImageModel,\n OpenAIResponsesLanguageModel,\n OpenAISpeechModel,\n OpenAITranscriptionModel,\n} from '@ai-sdk/openai/internal';\nimport {\n EmbeddingModelV3,\n LanguageModelV3,\n ProviderV3,\n ImageModelV3,\n SpeechModelV3,\n TranscriptionModelV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n loadSetting,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { azureOpenaiTools } from './azure-openai-tools';\nimport { VERSION } from './version';\n\nexport interface AzureOpenAIProvider extends ProviderV3 {\n (deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n languageModel(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI chat model for text generation.\n */\n chat(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI responses API model for text generation.\n */\n responses(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI completion model for text generation.\n */\n completion(deploymentId: string): LanguageModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI model for text embeddings.\n */\n embeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embedding` instead.\n */\n textEmbedding(deploymentId: string): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(deploymentId: string): EmbeddingModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n image(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI DALL-E model for image generation.\n */\n imageModel(deploymentId: string): ImageModelV3;\n\n /**\n * Creates an Azure OpenAI model for audio transcription.\n */\n transcription(deploymentId: string): TranscriptionModelV3;\n\n /**\n * Creates an Azure OpenAI model for speech generation.\n */\n speech(deploymentId: string): SpeechModelV3;\n\n /**\n * AzureOpenAI-specific tools.\n */\n tools: typeof azureOpenaiTools;\n}\n\nexport interface AzureOpenAIProviderSettings {\n /**\n * Name of the Azure OpenAI resource. Either this or `baseURL` can be used.\n *\n * The resource name is used in the assembled URL: `https://{resourceName}.openai.azure.com/openai/v1{path}`.\n */\n resourceName?: string;\n\n /**\n * Use a different URL prefix for API calls, e.g. to use proxy servers. Either this or `resourceName` can be used.\n * When a baseURL is provided, the resourceName is ignored.\n *\n * With a baseURL, the resolved URL is `{baseURL}/v1{path}`.\n */\n baseURL?: string;\n\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n\n /**\n * Custom api version to use. Defaults to `preview`.\n */\n apiVersion?: string;\n\n /**\n * Use deployment-based URLs for specific model types. Set to true to use legacy deployment format:\n * `{baseURL}/deployments/{deploymentId}{path}?api-version={apiVersion}` instead of\n * `{baseURL}/v1{path}?api-version={apiVersion}`.\n */\n useDeploymentBasedUrls?: boolean;\n}\n\n/**\n * Create an Azure OpenAI provider instance.\n */\nexport function createAzure(\n options: AzureOpenAIProviderSettings = {},\n): AzureOpenAIProvider {\n const getHeaders = () => {\n const baseHeaders = {\n 'api-key': loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'AZURE_API_KEY',\n description: 'Azure OpenAI',\n }),\n ...options.headers,\n };\n return withUserAgentSuffix(baseHeaders, `ai-sdk/azure/${VERSION}`);\n };\n\n const getResourceName = () =>\n loadSetting({\n settingValue: options.resourceName,\n settingName: 'resourceName',\n environmentVariableName: 'AZURE_RESOURCE_NAME',\n description: 'Azure OpenAI resource name',\n });\n\n const apiVersion = options.apiVersion ?? 'v1';\n\n const url = ({ path, modelId }: { path: string; modelId: string }) => {\n const baseUrlPrefix =\n options.baseURL ?? `https://${getResourceName()}.openai.azure.com/openai`;\n\n let fullUrl: URL;\n if (options.useDeploymentBasedUrls) {\n // Use deployment-based format for compatibility with certain Azure OpenAI models\n fullUrl = new URL(`${baseUrlPrefix}/deployments/${modelId}${path}`);\n } else {\n // Use v1 API format - no deployment ID in URL\n fullUrl = new URL(`${baseUrlPrefix}/v1${path}`);\n }\n\n fullUrl.searchParams.set('api-version', apiVersion);\n return fullUrl.toString();\n };\n\n const createChatModel = (deploymentName: string) =>\n new OpenAIChatLanguageModel(deploymentName, {\n provider: 'azure.chat',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createCompletionModel = (modelId: string) =>\n new OpenAICompletionLanguageModel(modelId, {\n provider: 'azure.completion',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createEmbeddingModel = (modelId: string) =>\n new OpenAIEmbeddingModel(modelId, {\n provider: 'azure.embeddings',\n headers: getHeaders,\n url,\n fetch: options.fetch,\n });\n\n const createResponsesModel = (modelId: string) =>\n new OpenAIResponsesLanguageModel(modelId, {\n provider: 'azure.responses',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n fileIdPrefixes: ['assistant-'],\n });\n\n const createImageModel = (modelId: string) =>\n new OpenAIImageModel(modelId, {\n provider: 'azure.image',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createTranscriptionModel = (modelId: string) =>\n new OpenAITranscriptionModel(modelId, {\n provider: 'azure.transcription',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createSpeechModel = (modelId: string) =>\n new OpenAISpeechModel(modelId, {\n provider: 'azure.speech',\n url,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (deploymentId: string) {\n if (new.target) {\n throw new Error(\n 'The Azure OpenAI model function cannot be called with the new keyword.',\n );\n }\n\n return createResponsesModel(deploymentId);\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.languageModel = createResponsesModel;\n provider.chat = createChatModel;\n provider.completion = createCompletionModel;\n provider.embedding = createEmbeddingModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbedding = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n provider.responses = createResponsesModel;\n provider.transcription = createTranscriptionModel;\n provider.speech = createSpeechModel;\n provider.tools = azureOpenaiTools;\n return provider;\n}\n\n/**\n * Default Azure OpenAI provider instance.\n */\nexport const azure = createAzure();\n","import {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n} from '@ai-sdk/openai/internal';\n\nexport const azureOpenaiTools: {\n codeInterpreter: typeof codeInterpreter;\n fileSearch: typeof fileSearch;\n imageGeneration: typeof imageGeneration;\n webSearchPreview: typeof webSearchPreview;\n} = {\n codeInterpreter,\n fileSearch,\n imageGeneration,\n webSearchPreview,\n};\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["_a"]}