@ai-sdk/openai 3.0.52 → 3.0.54

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,22 @@
1
1
  # @ai-sdk/openai
2
2
 
3
+ ## 3.0.54
4
+
5
+ ### Patch Changes
6
+
7
+ - a7f3c72: trigger release for all packages after provenance setup
8
+ - 408a2ad: patch - send content: null instead of empty string for tool-only assistant messages
9
+ - c71ad14: feat(provider/openai): add gpt-image-2 model support
10
+ - Updated dependencies [a7f3c72]
11
+ - @ai-sdk/provider@3.0.9
12
+ - @ai-sdk/provider-utils@4.0.24
13
+
14
+ ## 3.0.53
15
+
16
+ ### Patch Changes
17
+
18
+ - 953385d: fix(openai): default undefined tool-call input to empty object before serializing tool arguments
19
+
3
20
  ## 3.0.52
4
21
 
5
22
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -42,7 +42,7 @@ declare const openaiEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
42
42
  }>;
43
43
  type OpenAIEmbeddingModelOptions = InferSchema<typeof openaiEmbeddingModelOptions>;
44
44
 
45
- type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'chatgpt-image-latest' | (string & {});
45
+ type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'chatgpt-image-latest' | (string & {});
46
46
 
47
47
  declare const webSearchToolFactory: _ai_sdk_provider_utils.ProviderToolFactoryWithOutputSchema<{}, {
48
48
  /**
package/dist/index.d.ts CHANGED
@@ -42,7 +42,7 @@ declare const openaiEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
42
42
  }>;
43
43
  type OpenAIEmbeddingModelOptions = InferSchema<typeof openaiEmbeddingModelOptions>;
44
44
 
45
- type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'chatgpt-image-latest' | (string & {});
45
+ type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'chatgpt-image-latest' | (string & {});
46
46
 
47
47
  declare const webSearchToolFactory: _ai_sdk_provider_utils.ProviderToolFactoryWithOutputSchema<{}, {
48
48
  /**
package/dist/index.js CHANGED
@@ -110,6 +110,9 @@ function convertOpenAIChatUsage(usage) {
110
110
  // src/chat/convert-to-openai-chat-messages.ts
111
111
  var import_provider = require("@ai-sdk/provider");
112
112
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
113
+ function serializeToolCallArguments(input) {
114
+ return JSON.stringify(input === void 0 ? {} : input);
115
+ }
113
116
  function convertToOpenAIChatMessages({
114
117
  prompt,
115
118
  systemMessageMode = "system"
@@ -240,7 +243,7 @@ function convertToOpenAIChatMessages({
240
243
  type: "function",
241
244
  function: {
242
245
  name: part.toolName,
243
- arguments: JSON.stringify(part.input)
246
+ arguments: serializeToolCallArguments(part.input)
244
247
  }
245
248
  });
246
249
  break;
@@ -249,7 +252,7 @@ function convertToOpenAIChatMessages({
249
252
  }
250
253
  messages.push({
251
254
  role: "assistant",
252
- content: text,
255
+ content: text || null,
253
256
  tool_calls: toolCalls.length > 0 ? toolCalls : void 0
254
257
  });
255
258
  break;
@@ -1750,13 +1753,15 @@ var modelMaxImagesPerCall = {
1750
1753
  "gpt-image-1": 10,
1751
1754
  "gpt-image-1-mini": 10,
1752
1755
  "gpt-image-1.5": 10,
1756
+ "gpt-image-2": 10,
1753
1757
  "chatgpt-image-latest": 10
1754
1758
  };
1755
1759
  var defaultResponseFormatPrefixes = [
1756
1760
  "chatgpt-image-",
1757
1761
  "gpt-image-1-mini",
1758
1762
  "gpt-image-1.5",
1759
- "gpt-image-1"
1763
+ "gpt-image-1",
1764
+ "gpt-image-2"
1760
1765
  ];
1761
1766
  function hasDefaultResponseFormat(modelId) {
1762
1767
  return defaultResponseFormatPrefixes.some(
@@ -2641,6 +2646,9 @@ function convertOpenAIResponsesUsage(usage) {
2641
2646
  var import_provider6 = require("@ai-sdk/provider");
2642
2647
  var import_provider_utils25 = require("@ai-sdk/provider-utils");
2643
2648
  var import_v420 = require("zod/v4");
2649
+ function serializeToolCallArguments2(input) {
2650
+ return JSON.stringify(input === void 0 ? {} : input);
2651
+ }
2644
2652
  function isFileId(data, prefixes) {
2645
2653
  if (!prefixes) return false;
2646
2654
  return prefixes.some((prefix) => data.startsWith(prefix));
@@ -2864,7 +2872,7 @@ async function convertToOpenAIResponsesInput({
2864
2872
  type: "function_call",
2865
2873
  call_id: part.toolCallId,
2866
2874
  name: resolvedToolName,
2867
- arguments: JSON.stringify(part.input),
2875
+ arguments: serializeToolCallArguments2(part.input),
2868
2876
  id
2869
2877
  });
2870
2878
  break;
@@ -6647,7 +6655,7 @@ var OpenAITranscriptionModel = class {
6647
6655
  };
6648
6656
 
6649
6657
  // src/version.ts
6650
- var VERSION = true ? "3.0.52" : "0.0.0-test";
6658
+ var VERSION = true ? "3.0.54" : "0.0.0-test";
6651
6659
 
6652
6660
  // src/openai-provider.ts
6653
6661
  function createOpenAI(options = {}) {