@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.
@@ -1128,6 +1128,12 @@ var OpenAIChatLanguageModel = class {
1128
1128
  fetch: this.config.fetch
1129
1129
  });
1130
1130
  const choice = response.choices[0];
1131
+ if (choice == null) {
1132
+ throw new InvalidResponseDataError({
1133
+ data: rawResponse,
1134
+ message: "Response did not contain any choices."
1135
+ });
1136
+ }
1131
1137
  const content = [];
1132
1138
  const text = choice.message.content;
1133
1139
  if (text != null && text.length > 0) {
@@ -2083,6 +2089,10 @@ var modelMaxImagesPerCall = {
2083
2089
  "gpt-image-1-mini": 10,
2084
2090
  "gpt-image-1.5": 10,
2085
2091
  "gpt-image-2": 10,
2092
+ "gpt-image-2.5-flare": 10,
2093
+ "gpt-image-2.5-flare-2026-09-08": 10,
2094
+ "gpt-image-2.5-sunburst": 10,
2095
+ "gpt-image-2.5-sunburst-2026-09-08": 10,
2086
2096
  "chatgpt-image-latest": 10
2087
2097
  };
2088
2098
  var defaultResponseFormatPrefixes = ["chatgpt-image-", "gpt-image-"];
@@ -3276,6 +3286,7 @@ async function convertToOpenAIResponsesInput({
3276
3286
  toolNameMapping,
3277
3287
  systemMessageMode,
3278
3288
  providerOptionsName,
3289
+ explicitMessageItemType = false,
3279
3290
  fileIdPrefixes,
3280
3291
  passThroughUnsupportedFiles = false,
3281
3292
  store,
@@ -3307,6 +3318,7 @@ async function convertToOpenAIResponsesInput({
3307
3318
  providerOptionsName
3308
3319
  );
3309
3320
  input.push({
3321
+ ...explicitMessageItemType && { type: "message" },
3310
3322
  role: "system",
3311
3323
  content: promptCacheBreakpoint == null ? content : [
3312
3324
  {
@@ -3324,6 +3336,7 @@ async function convertToOpenAIResponsesInput({
3324
3336
  providerOptionsName
3325
3337
  );
3326
3338
  input.push({
3339
+ ...explicitMessageItemType && { type: "message" },
3327
3340
  role: "developer",
3328
3341
  content: promptCacheBreakpoint == null ? content : [
3329
3342
  {
@@ -3353,6 +3366,7 @@ async function convertToOpenAIResponsesInput({
3353
3366
  }
3354
3367
  case "user": {
3355
3368
  input.push({
3369
+ ...explicitMessageItemType && { type: "message" },
3356
3370
  role: "user",
3357
3371
  content: content.map((part, index) => {
3358
3372
  var _a3, _b2, _c2;
@@ -3434,6 +3448,7 @@ async function convertToOpenAIResponsesInput({
3434
3448
  break;
3435
3449
  }
3436
3450
  input.push({
3451
+ ...explicitMessageItemType && { type: "message" },
3437
3452
  role: "assistant",
3438
3453
  content: [{ type: "output_text", text: part.text }],
3439
3454
  id,
@@ -6229,6 +6244,7 @@ var OpenAIResponsesLanguageModel = class {
6229
6244
  toolNameMapping,
6230
6245
  systemMessageMode: (_c = openaiOptions == null ? void 0 : openaiOptions.systemMessageMode) != null ? _c : isReasoningModel ? "developer" : modelCapabilities.systemMessageMode,
6231
6246
  providerOptionsName,
6247
+ explicitMessageItemType: this.config.explicitMessageItemType,
6232
6248
  fileIdPrefixes: this.config.fileIdPrefixes,
6233
6249
  passThroughUnsupportedFiles: (_d = openaiOptions == null ? void 0 : openaiOptions.passThroughUnsupportedFiles) != null ? _d : false,
6234
6250
  store: (_e = openaiOptions == null ? void 0 : openaiOptions.store) != null ? _e : true,