@ai-sdk/openai 3.0.110 → 3.0.112

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,21 @@
1
1
  # @ai-sdk/openai
2
2
 
3
+ ## 3.0.112
4
+
5
+ ### Patch Changes
6
+
7
+ - 1336501: fix(openai): return an AI SDK error for empty chat completion choices
8
+ - Updated dependencies [1a4dbb1]
9
+ - @ai-sdk/provider@3.0.16
10
+ - @ai-sdk/provider-utils@4.0.51
11
+
12
+ ## 3.0.111
13
+
14
+ ### Patch Changes
15
+
16
+ - 1f75808: Include explicit message item types in Azure AI Foundry Responses requests.
17
+ - 65150c2: feat(openai): add GPT Image 2.5 Flare and Sunburst model IDs
18
+
3
19
  ## 3.0.110
4
20
 
5
21
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -46,7 +46,7 @@ declare const openaiEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
46
46
  }>;
47
47
  type OpenAIEmbeddingModelOptions = InferSchema<typeof openaiEmbeddingModelOptions>;
48
48
 
49
- 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 & {});
49
+ type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'gpt-image-2.5-flare' | 'gpt-image-2.5-flare-2026-09-08' | 'gpt-image-2.5-sunburst' | 'gpt-image-2.5-sunburst-2026-09-08' | 'chatgpt-image-latest' | (string & {});
50
50
  declare const openaiImageModelOptions: _ai_sdk_provider_utils.LazySchema<{
51
51
  quality?: "low" | "medium" | "high" | "xhigh" | "max" | "auto" | "standard" | "hd" | undefined;
52
52
  background?: "auto" | "transparent" | "opaque" | undefined;
@@ -879,7 +879,7 @@ declare const openaiTools: {
879
879
  outputFormat?: "png" | "jpeg" | "webp";
880
880
  partialImages?: number;
881
881
  quality?: "auto" | "low" | "medium" | "high" | "xhigh" | "max";
882
- size?: "auto" | "1024x1024" | "1024x1536" | "1536x1024";
882
+ size?: "auto" | "1024x1024" | "1024x1536" | "1536x1024" | (string & {});
883
883
  }) => _ai_sdk_provider_utils.Tool<{}, {
884
884
  result: string;
885
885
  }>;
package/dist/index.d.ts CHANGED
@@ -46,7 +46,7 @@ declare const openaiEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
46
46
  }>;
47
47
  type OpenAIEmbeddingModelOptions = InferSchema<typeof openaiEmbeddingModelOptions>;
48
48
 
49
- 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 & {});
49
+ type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'gpt-image-2.5-flare' | 'gpt-image-2.5-flare-2026-09-08' | 'gpt-image-2.5-sunburst' | 'gpt-image-2.5-sunburst-2026-09-08' | 'chatgpt-image-latest' | (string & {});
50
50
  declare const openaiImageModelOptions: _ai_sdk_provider_utils.LazySchema<{
51
51
  quality?: "low" | "medium" | "high" | "xhigh" | "max" | "auto" | "standard" | "hd" | undefined;
52
52
  background?: "auto" | "transparent" | "opaque" | undefined;
@@ -879,7 +879,7 @@ declare const openaiTools: {
879
879
  outputFormat?: "png" | "jpeg" | "webp";
880
880
  partialImages?: number;
881
881
  quality?: "auto" | "low" | "medium" | "high" | "xhigh" | "max";
882
- size?: "auto" | "1024x1024" | "1024x1536" | "1536x1024";
882
+ size?: "auto" | "1024x1024" | "1024x1536" | "1536x1024" | (string & {});
883
883
  }) => _ai_sdk_provider_utils.Tool<{}, {
884
884
  result: string;
885
885
  }>;
package/dist/index.js CHANGED
@@ -1140,6 +1140,12 @@ var OpenAIChatLanguageModel = class {
1140
1140
  fetch: this.config.fetch
1141
1141
  });
1142
1142
  const choice = response.choices[0];
1143
+ if (choice == null) {
1144
+ throw new import_provider4.InvalidResponseDataError({
1145
+ data: rawResponse,
1146
+ message: "Response did not contain any choices."
1147
+ });
1148
+ }
1143
1149
  const content = [];
1144
1150
  const text = choice.message.content;
1145
1151
  if (text != null && text.length > 0) {
@@ -2057,6 +2063,10 @@ var modelMaxImagesPerCall = {
2057
2063
  "gpt-image-1-mini": 10,
2058
2064
  "gpt-image-1.5": 10,
2059
2065
  "gpt-image-2": 10,
2066
+ "gpt-image-2.5-flare": 10,
2067
+ "gpt-image-2.5-flare-2026-09-08": 10,
2068
+ "gpt-image-2.5-sunburst": 10,
2069
+ "gpt-image-2.5-sunburst-2026-09-08": 10,
2060
2070
  "chatgpt-image-latest": 10
2061
2071
  };
2062
2072
  var defaultResponseFormatPrefixes = ["chatgpt-image-", "gpt-image-"];
@@ -3289,6 +3299,7 @@ async function convertToOpenAIResponsesInput({
3289
3299
  toolNameMapping,
3290
3300
  systemMessageMode,
3291
3301
  providerOptionsName,
3302
+ explicitMessageItemType = false,
3292
3303
  fileIdPrefixes,
3293
3304
  passThroughUnsupportedFiles = false,
3294
3305
  store,
@@ -3320,6 +3331,7 @@ async function convertToOpenAIResponsesInput({
3320
3331
  providerOptionsName
3321
3332
  );
3322
3333
  input.push({
3334
+ ...explicitMessageItemType && { type: "message" },
3323
3335
  role: "system",
3324
3336
  content: promptCacheBreakpoint == null ? content : [
3325
3337
  {
@@ -3337,6 +3349,7 @@ async function convertToOpenAIResponsesInput({
3337
3349
  providerOptionsName
3338
3350
  );
3339
3351
  input.push({
3352
+ ...explicitMessageItemType && { type: "message" },
3340
3353
  role: "developer",
3341
3354
  content: promptCacheBreakpoint == null ? content : [
3342
3355
  {
@@ -3366,6 +3379,7 @@ async function convertToOpenAIResponsesInput({
3366
3379
  }
3367
3380
  case "user": {
3368
3381
  input.push({
3382
+ ...explicitMessageItemType && { type: "message" },
3369
3383
  role: "user",
3370
3384
  content: content.map((part, index) => {
3371
3385
  var _a3, _b2, _c2;
@@ -3447,6 +3461,7 @@ async function convertToOpenAIResponsesInput({
3447
3461
  break;
3448
3462
  }
3449
3463
  input.push({
3464
+ ...explicitMessageItemType && { type: "message" },
3450
3465
  role: "assistant",
3451
3466
  content: [{ type: "output_text", text: part.text }],
3452
3467
  id,
@@ -5881,6 +5896,7 @@ var OpenAIResponsesLanguageModel = class {
5881
5896
  toolNameMapping,
5882
5897
  systemMessageMode: (_c = openaiOptions == null ? void 0 : openaiOptions.systemMessageMode) != null ? _c : isReasoningModel ? "developer" : modelCapabilities.systemMessageMode,
5883
5898
  providerOptionsName,
5899
+ explicitMessageItemType: this.config.explicitMessageItemType,
5884
5900
  fileIdPrefixes: this.config.fileIdPrefixes,
5885
5901
  passThroughUnsupportedFiles: (_d = openaiOptions == null ? void 0 : openaiOptions.passThroughUnsupportedFiles) != null ? _d : false,
5886
5902
  store: (_e = openaiOptions == null ? void 0 : openaiOptions.store) != null ? _e : true,
@@ -8092,7 +8108,7 @@ var OpenAITranscriptionModel = class {
8092
8108
  };
8093
8109
 
8094
8110
  // src/version.ts
8095
- var VERSION = true ? "3.0.110" : "0.0.0-test";
8111
+ var VERSION = true ? "3.0.112" : "0.0.0-test";
8096
8112
 
8097
8113
  // src/openai-provider.ts
8098
8114
  function createOpenAI(options = {}) {