@ai-sdk/openai 2.1.0-beta.11 → 2.1.0-beta.13

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,23 @@
1
1
  # @ai-sdk/openai
2
2
 
3
+ ## 2.1.0-beta.13
4
+
5
+ ### Patch Changes
6
+
7
+ - 357cfd7: feat(provider/openai): add new model IDs `gpt-image-1-mini`, `gpt-5-pro`, `gpt-5-pro-2025-10-06`
8
+
9
+ ## 2.1.0-beta.12
10
+
11
+ ### Patch Changes
12
+
13
+ - 046aa3b: feat(provider): speech model v3 spec
14
+ - e8109d3: feat: tool execution approval
15
+ - 21e20c0: feat(provider): transcription model v3 spec
16
+ - Updated dependencies [046aa3b]
17
+ - Updated dependencies [e8109d3]
18
+ - @ai-sdk/provider@2.1.0-beta.5
19
+ - @ai-sdk/provider-utils@3.1.0-beta.7
20
+
3
21
  ## 2.1.0-beta.11
4
22
 
5
23
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV2, SpeechModelV2 } from '@ai-sdk/provider';
1
+ import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
2
2
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
4
4
  import { z } from 'zod/v4';
@@ -40,7 +40,7 @@ type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
40
40
 
41
41
  type OpenAIEmbeddingModelId = 'text-embedding-3-small' | 'text-embedding-3-large' | 'text-embedding-ada-002' | (string & {});
42
42
 
43
- type OpenAIImageModelId = 'gpt-image-1' | 'dall-e-3' | 'dall-e-2' | (string & {});
43
+ type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | (string & {});
44
44
 
45
45
  declare const webSearchToolFactory: _ai_sdk_provider_utils.ProviderDefinedToolFactory<{}, {
46
46
  /**
@@ -264,7 +264,7 @@ declare const openaiTools: {
264
264
  webSearch: (args?: Parameters<typeof webSearchToolFactory>[0]) => _ai_sdk_provider_utils.Tool<{}, unknown>;
265
265
  };
266
266
 
267
- type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4' | 'gpt-4-0613' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'chatgpt-4o-latest' | (string & {});
267
+ type OpenAIResponsesModelId = 'chatgpt-4o-latest' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4-0613' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | (string & {});
268
268
 
269
269
  type OpenAISpeechModelId = 'tts-1' | 'tts-1-hd' | 'gpt-4o-mini-tts' | (string & {});
270
270
 
@@ -311,11 +311,11 @@ interface OpenAIProvider extends ProviderV3 {
311
311
  /**
312
312
  Creates a model for transcription.
313
313
  */
314
- transcription(modelId: OpenAITranscriptionModelId): TranscriptionModelV2;
314
+ transcription(modelId: OpenAITranscriptionModelId): TranscriptionModelV3;
315
315
  /**
316
316
  Creates a model for speech generation.
317
317
  */
318
- speech(modelId: OpenAISpeechModelId): SpeechModelV2;
318
+ speech(modelId: OpenAISpeechModelId): SpeechModelV3;
319
319
  /**
320
320
  OpenAI-specific tools.
321
321
  */
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV2, SpeechModelV2 } from '@ai-sdk/provider';
1
+ import { ProviderV3, LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
2
2
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
4
4
  import { z } from 'zod/v4';
@@ -40,7 +40,7 @@ type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
40
40
 
41
41
  type OpenAIEmbeddingModelId = 'text-embedding-3-small' | 'text-embedding-3-large' | 'text-embedding-ada-002' | (string & {});
42
42
 
43
- type OpenAIImageModelId = 'gpt-image-1' | 'dall-e-3' | 'dall-e-2' | (string & {});
43
+ type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | (string & {});
44
44
 
45
45
  declare const webSearchToolFactory: _ai_sdk_provider_utils.ProviderDefinedToolFactory<{}, {
46
46
  /**
@@ -264,7 +264,7 @@ declare const openaiTools: {
264
264
  webSearch: (args?: Parameters<typeof webSearchToolFactory>[0]) => _ai_sdk_provider_utils.Tool<{}, unknown>;
265
265
  };
266
266
 
267
- type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4' | 'gpt-4-0613' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'chatgpt-4o-latest' | (string & {});
267
+ type OpenAIResponsesModelId = 'chatgpt-4o-latest' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4-0613' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | (string & {});
268
268
 
269
269
  type OpenAISpeechModelId = 'tts-1' | 'tts-1-hd' | 'gpt-4o-mini-tts' | (string & {});
270
270
 
@@ -311,11 +311,11 @@ interface OpenAIProvider extends ProviderV3 {
311
311
  /**
312
312
  Creates a model for transcription.
313
313
  */
314
- transcription(modelId: OpenAITranscriptionModelId): TranscriptionModelV2;
314
+ transcription(modelId: OpenAITranscriptionModelId): TranscriptionModelV3;
315
315
  /**
316
316
  Creates a model for speech generation.
317
317
  */
318
- speech(modelId: OpenAISpeechModelId): SpeechModelV2;
318
+ speech(modelId: OpenAISpeechModelId): SpeechModelV3;
319
319
  /**
320
320
  OpenAI-specific tools.
321
321
  */
package/dist/index.js CHANGED
@@ -60,6 +60,7 @@ function convertToOpenAIChatMessages({
60
60
  prompt,
61
61
  systemMessageMode = "system"
62
62
  }) {
63
+ var _a;
63
64
  const messages = [];
64
65
  const warnings = [];
65
66
  for (const { role, content } of prompt) {
@@ -98,7 +99,7 @@ function convertToOpenAIChatMessages({
98
99
  messages.push({
99
100
  role: "user",
100
101
  content: content.map((part, index) => {
101
- var _a, _b, _c;
102
+ var _a2, _b, _c;
102
103
  switch (part.type) {
103
104
  case "text": {
104
105
  return { type: "text", text: part.text };
@@ -111,7 +112,7 @@ function convertToOpenAIChatMessages({
111
112
  image_url: {
112
113
  url: part.data instanceof URL ? part.data.toString() : `data:${mediaType};base64,${(0, import_provider_utils2.convertToBase64)(part.data)}`,
113
114
  // OpenAI specific extension: image detail
114
- detail: (_b = (_a = part.providerOptions) == null ? void 0 : _a.openai) == null ? void 0 : _b.imageDetail
115
+ detail: (_b = (_a2 = part.providerOptions) == null ? void 0 : _a2.openai) == null ? void 0 : _b.imageDetail
115
116
  }
116
117
  };
117
118
  } else if (part.mediaType.startsWith("audio/")) {
@@ -208,6 +209,9 @@ function convertToOpenAIChatMessages({
208
209
  case "error-text":
209
210
  contentValue = output.value;
210
211
  break;
212
+ case "execution-denied":
213
+ contentValue = (_a = output.reason) != null ? _a : "Tool execution denied.";
214
+ break;
211
215
  case "content":
212
216
  case "json":
213
217
  case "error-json":
@@ -1590,9 +1594,13 @@ var import_v48 = require("zod/v4");
1590
1594
  var modelMaxImagesPerCall = {
1591
1595
  "dall-e-3": 1,
1592
1596
  "dall-e-2": 10,
1593
- "gpt-image-1": 10
1597
+ "gpt-image-1": 10,
1598
+ "gpt-image-1-mini": 10
1594
1599
  };
1595
- var hasDefaultResponseFormat = /* @__PURE__ */ new Set(["gpt-image-1"]);
1600
+ var hasDefaultResponseFormat = /* @__PURE__ */ new Set([
1601
+ "gpt-image-1",
1602
+ "gpt-image-1-mini"
1603
+ ]);
1596
1604
 
1597
1605
  // src/image/openai-image-model.ts
1598
1606
  var OpenAIImageModel = class {
@@ -2005,7 +2013,7 @@ async function convertToOpenAIResponsesInput({
2005
2013
  store,
2006
2014
  hasLocalShellTool = false
2007
2015
  }) {
2008
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
2016
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2009
2017
  const input = [];
2010
2018
  const warnings = [];
2011
2019
  for (const { role, content } of prompt) {
@@ -2208,6 +2216,9 @@ async function convertToOpenAIResponsesInput({
2208
2216
  case "error-text":
2209
2217
  contentValue = output.value;
2210
2218
  break;
2219
+ case "execution-denied":
2220
+ contentValue = (_j = output.reason) != null ? _j : "Tool execution denied.";
2221
+ break;
2211
2222
  case "content":
2212
2223
  case "json":
2213
2224
  case "error-json":
@@ -3781,7 +3792,7 @@ var OpenAISpeechModel = class {
3781
3792
  constructor(modelId, config) {
3782
3793
  this.modelId = modelId;
3783
3794
  this.config = config;
3784
- this.specificationVersion = "v2";
3795
+ this.specificationVersion = "v3";
3785
3796
  }
3786
3797
  get provider() {
3787
3798
  return this.config.provider;
@@ -3972,7 +3983,7 @@ var OpenAITranscriptionModel = class {
3972
3983
  constructor(modelId, config) {
3973
3984
  this.modelId = modelId;
3974
3985
  this.config = config;
3975
- this.specificationVersion = "v2";
3986
+ this.specificationVersion = "v3";
3976
3987
  }
3977
3988
  get provider() {
3978
3989
  return this.config.provider;
@@ -4102,7 +4113,7 @@ var openaiTranscriptionResponseSchema = import_v419.z.object({
4102
4113
  });
4103
4114
 
4104
4115
  // src/version.ts
4105
- var VERSION = true ? "2.1.0-beta.11" : "0.0.0-test";
4116
+ var VERSION = true ? "2.1.0-beta.13" : "0.0.0-test";
4106
4117
 
4107
4118
  // src/openai-provider.ts
4108
4119
  function createOpenAI(options = {}) {