@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.
@@ -117,7 +117,7 @@ declare class OpenAIEmbeddingModel implements EmbeddingModelV3 {
117
117
  doEmbed({ values, headers, abortSignal, providerOptions, }: Parameters<EmbeddingModelV3['doEmbed']>[0]): Promise<Awaited<ReturnType<EmbeddingModelV3['doEmbed']>>>;
118
118
  }
119
119
 
120
- type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'chatgpt-image-latest' | (string & {});
120
+ 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 & {});
121
121
  declare const modelMaxImagesPerCall: Record<OpenAIImageModelId, number>;
122
122
  declare function hasDefaultResponseFormat(modelId: string): boolean;
123
123
 
@@ -117,7 +117,7 @@ declare class OpenAIEmbeddingModel implements EmbeddingModelV3 {
117
117
  doEmbed({ values, headers, abortSignal, providerOptions, }: Parameters<EmbeddingModelV3['doEmbed']>[0]): Promise<Awaited<ReturnType<EmbeddingModelV3['doEmbed']>>>;
118
118
  }
119
119
 
120
- type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'chatgpt-image-latest' | (string & {});
120
+ 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 & {});
121
121
  declare const modelMaxImagesPerCall: Record<OpenAIImageModelId, number>;
122
122
  declare function hasDefaultResponseFormat(modelId: string): boolean;
123
123
 
@@ -137,6 +137,9 @@ function convertOpenAIChatUsage(usage) {
137
137
  // src/chat/convert-to-openai-chat-messages.ts
138
138
  var import_provider = require("@ai-sdk/provider");
139
139
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
140
+ function serializeToolCallArguments(input) {
141
+ return JSON.stringify(input === void 0 ? {} : input);
142
+ }
140
143
  function convertToOpenAIChatMessages({
141
144
  prompt,
142
145
  systemMessageMode = "system"
@@ -267,7 +270,7 @@ function convertToOpenAIChatMessages({
267
270
  type: "function",
268
271
  function: {
269
272
  name: part.toolName,
270
- arguments: JSON.stringify(part.input)
273
+ arguments: serializeToolCallArguments(part.input)
271
274
  }
272
275
  });
273
276
  break;
@@ -276,7 +279,7 @@ function convertToOpenAIChatMessages({
276
279
  }
277
280
  messages.push({
278
281
  role: "assistant",
279
- content: text,
282
+ content: text || null,
280
283
  tool_calls: toolCalls.length > 0 ? toolCalls : void 0
281
284
  });
282
285
  break;
@@ -1777,13 +1780,15 @@ var modelMaxImagesPerCall = {
1777
1780
  "gpt-image-1": 10,
1778
1781
  "gpt-image-1-mini": 10,
1779
1782
  "gpt-image-1.5": 10,
1783
+ "gpt-image-2": 10,
1780
1784
  "chatgpt-image-latest": 10
1781
1785
  };
1782
1786
  var defaultResponseFormatPrefixes = [
1783
1787
  "chatgpt-image-",
1784
1788
  "gpt-image-1-mini",
1785
1789
  "gpt-image-1.5",
1786
- "gpt-image-1"
1790
+ "gpt-image-1",
1791
+ "gpt-image-2"
1787
1792
  ];
1788
1793
  function hasDefaultResponseFormat(modelId) {
1789
1794
  return defaultResponseFormatPrefixes.some(
@@ -2583,6 +2588,9 @@ var toolSearchToolFactory = (0, import_provider_utils22.createProviderToolFactor
2583
2588
  });
2584
2589
 
2585
2590
  // src/responses/convert-to-openai-responses-input.ts
2591
+ function serializeToolCallArguments2(input) {
2592
+ return JSON.stringify(input === void 0 ? {} : input);
2593
+ }
2586
2594
  function isFileId(data, prefixes) {
2587
2595
  if (!prefixes) return false;
2588
2596
  return prefixes.some((prefix) => data.startsWith(prefix));
@@ -2806,7 +2814,7 @@ async function convertToOpenAIResponsesInput({
2806
2814
  type: "function_call",
2807
2815
  call_id: part.toolCallId,
2808
2816
  name: resolvedToolName,
2809
- arguments: JSON.stringify(part.input),
2817
+ arguments: serializeToolCallArguments2(part.input),
2810
2818
  id
2811
2819
  });
2812
2820
  break;