@ai-sdk/openai 3.0.86 → 3.0.88

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.
@@ -124,6 +124,7 @@ declare class OpenAIEmbeddingModel implements EmbeddingModelV3 {
124
124
  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 & {});
125
125
  declare const modelMaxImagesPerCall: Record<OpenAIImageModelId, number>;
126
126
  declare function hasDefaultResponseFormat(modelId: string): boolean;
127
+ declare function getMaxImagesPerCall(modelId: OpenAIImageModelId): number;
127
128
  declare const openaiImageModelOptions: _ai_sdk_provider_utils.LazySchema<{
128
129
  quality?: "auto" | "low" | "medium" | "high" | "standard" | "hd" | undefined;
129
130
  background?: "auto" | "transparent" | "opaque" | undefined;
@@ -1434,4 +1435,4 @@ declare const webSearchPreview: _ai_sdk_provider_utils.ProviderToolFactoryWithOu
1434
1435
  };
1435
1436
  }>;
1436
1437
 
1437
- export { type ApplyPatchOperation, OpenAIChatLanguageModel, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingModelOptions, OpenAIImageModel, type OpenAIImageModelEditOptions, type OpenAIImageModelGenerationOptions, type OpenAIImageModelId, type OpenAIImageModelOptions, type OpenAILanguageModelChatOptions, type OpenAILanguageModelCompletionOptions, OpenAIResponsesLanguageModel, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAISpeechModelOptions, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionModelOptions, type OpenaiResponsesProviderMetadata, type OpenaiResponsesReasoningProviderMetadata, type OpenaiResponsesSourceDocumentProviderMetadata, type OpenaiResponsesTextProviderMetadata, type ResponsesProviderMetadata, type ResponsesReasoningProviderMetadata, type ResponsesSourceDocumentProviderMetadata, type ResponsesTextProviderMetadata, applyPatch, applyPatchArgsSchema, applyPatchInputSchema, applyPatchOutputSchema, applyPatchToolFactory, codeInterpreter, codeInterpreterArgsSchema, codeInterpreterInputSchema, codeInterpreterOutputSchema, codeInterpreterToolFactory, fileSearch, fileSearchArgsSchema, fileSearchOutputSchema, hasDefaultResponseFormat, imageGeneration, imageGenerationArgsSchema, imageGenerationOutputSchema, modelMaxImagesPerCall, openAITranscriptionModelOptions, openaiEmbeddingModelOptions, openaiImageModelEditOptions, openaiImageModelGenerationOptions, openaiImageModelOptions, openaiLanguageModelChatOptions, openaiLanguageModelCompletionOptions, openaiSpeechModelOptionsSchema, webSearch, webSearchArgsSchema, webSearchOutputSchema, webSearchPreview, webSearchPreviewArgsSchema, webSearchPreviewInputSchema, webSearchToolFactory };
1438
+ export { type ApplyPatchOperation, OpenAIChatLanguageModel, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingModelOptions, OpenAIImageModel, type OpenAIImageModelEditOptions, type OpenAIImageModelGenerationOptions, type OpenAIImageModelId, type OpenAIImageModelOptions, type OpenAILanguageModelChatOptions, type OpenAILanguageModelCompletionOptions, OpenAIResponsesLanguageModel, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAISpeechModelOptions, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionModelOptions, type OpenaiResponsesProviderMetadata, type OpenaiResponsesReasoningProviderMetadata, type OpenaiResponsesSourceDocumentProviderMetadata, type OpenaiResponsesTextProviderMetadata, type ResponsesProviderMetadata, type ResponsesReasoningProviderMetadata, type ResponsesSourceDocumentProviderMetadata, type ResponsesTextProviderMetadata, applyPatch, applyPatchArgsSchema, applyPatchInputSchema, applyPatchOutputSchema, applyPatchToolFactory, codeInterpreter, codeInterpreterArgsSchema, codeInterpreterInputSchema, codeInterpreterOutputSchema, codeInterpreterToolFactory, fileSearch, fileSearchArgsSchema, fileSearchOutputSchema, getMaxImagesPerCall, hasDefaultResponseFormat, imageGeneration, imageGenerationArgsSchema, imageGenerationOutputSchema, modelMaxImagesPerCall, openAITranscriptionModelOptions, openaiEmbeddingModelOptions, openaiImageModelEditOptions, openaiImageModelGenerationOptions, openaiImageModelOptions, openaiLanguageModelChatOptions, openaiLanguageModelCompletionOptions, openaiSpeechModelOptionsSchema, webSearch, webSearchArgsSchema, webSearchOutputSchema, webSearchPreview, webSearchPreviewArgsSchema, webSearchPreviewInputSchema, webSearchToolFactory };
@@ -124,6 +124,7 @@ declare class OpenAIEmbeddingModel implements EmbeddingModelV3 {
124
124
  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 & {});
125
125
  declare const modelMaxImagesPerCall: Record<OpenAIImageModelId, number>;
126
126
  declare function hasDefaultResponseFormat(modelId: string): boolean;
127
+ declare function getMaxImagesPerCall(modelId: OpenAIImageModelId): number;
127
128
  declare const openaiImageModelOptions: _ai_sdk_provider_utils.LazySchema<{
128
129
  quality?: "auto" | "low" | "medium" | "high" | "standard" | "hd" | undefined;
129
130
  background?: "auto" | "transparent" | "opaque" | undefined;
@@ -1434,4 +1435,4 @@ declare const webSearchPreview: _ai_sdk_provider_utils.ProviderToolFactoryWithOu
1434
1435
  };
1435
1436
  }>;
1436
1437
 
1437
- export { type ApplyPatchOperation, OpenAIChatLanguageModel, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingModelOptions, OpenAIImageModel, type OpenAIImageModelEditOptions, type OpenAIImageModelGenerationOptions, type OpenAIImageModelId, type OpenAIImageModelOptions, type OpenAILanguageModelChatOptions, type OpenAILanguageModelCompletionOptions, OpenAIResponsesLanguageModel, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAISpeechModelOptions, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionModelOptions, type OpenaiResponsesProviderMetadata, type OpenaiResponsesReasoningProviderMetadata, type OpenaiResponsesSourceDocumentProviderMetadata, type OpenaiResponsesTextProviderMetadata, type ResponsesProviderMetadata, type ResponsesReasoningProviderMetadata, type ResponsesSourceDocumentProviderMetadata, type ResponsesTextProviderMetadata, applyPatch, applyPatchArgsSchema, applyPatchInputSchema, applyPatchOutputSchema, applyPatchToolFactory, codeInterpreter, codeInterpreterArgsSchema, codeInterpreterInputSchema, codeInterpreterOutputSchema, codeInterpreterToolFactory, fileSearch, fileSearchArgsSchema, fileSearchOutputSchema, hasDefaultResponseFormat, imageGeneration, imageGenerationArgsSchema, imageGenerationOutputSchema, modelMaxImagesPerCall, openAITranscriptionModelOptions, openaiEmbeddingModelOptions, openaiImageModelEditOptions, openaiImageModelGenerationOptions, openaiImageModelOptions, openaiLanguageModelChatOptions, openaiLanguageModelCompletionOptions, openaiSpeechModelOptionsSchema, webSearch, webSearchArgsSchema, webSearchOutputSchema, webSearchPreview, webSearchPreviewArgsSchema, webSearchPreviewInputSchema, webSearchToolFactory };
1438
+ export { type ApplyPatchOperation, OpenAIChatLanguageModel, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingModelOptions, OpenAIImageModel, type OpenAIImageModelEditOptions, type OpenAIImageModelGenerationOptions, type OpenAIImageModelId, type OpenAIImageModelOptions, type OpenAILanguageModelChatOptions, type OpenAILanguageModelCompletionOptions, OpenAIResponsesLanguageModel, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAISpeechModelOptions, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionModelOptions, type OpenaiResponsesProviderMetadata, type OpenaiResponsesReasoningProviderMetadata, type OpenaiResponsesSourceDocumentProviderMetadata, type OpenaiResponsesTextProviderMetadata, type ResponsesProviderMetadata, type ResponsesReasoningProviderMetadata, type ResponsesSourceDocumentProviderMetadata, type ResponsesTextProviderMetadata, applyPatch, applyPatchArgsSchema, applyPatchInputSchema, applyPatchOutputSchema, applyPatchToolFactory, codeInterpreter, codeInterpreterArgsSchema, codeInterpreterInputSchema, codeInterpreterOutputSchema, codeInterpreterToolFactory, fileSearch, fileSearchArgsSchema, fileSearchOutputSchema, getMaxImagesPerCall, hasDefaultResponseFormat, imageGeneration, imageGenerationArgsSchema, imageGenerationOutputSchema, modelMaxImagesPerCall, openAITranscriptionModelOptions, openaiEmbeddingModelOptions, openaiImageModelEditOptions, openaiImageModelGenerationOptions, openaiImageModelOptions, openaiLanguageModelChatOptions, openaiLanguageModelCompletionOptions, openaiSpeechModelOptionsSchema, webSearch, webSearchArgsSchema, webSearchOutputSchema, webSearchPreview, webSearchPreviewArgsSchema, webSearchPreviewInputSchema, webSearchToolFactory };
@@ -40,6 +40,7 @@ __export(index_exports, {
40
40
  fileSearch: () => fileSearch,
41
41
  fileSearchArgsSchema: () => fileSearchArgsSchema,
42
42
  fileSearchOutputSchema: () => fileSearchOutputSchema,
43
+ getMaxImagesPerCall: () => getMaxImagesPerCall,
43
44
  hasDefaultResponseFormat: () => hasDefaultResponseFormat,
44
45
  imageGeneration: () => imageGeneration,
45
46
  imageGenerationArgsSchema: () => imageGenerationArgsSchema,
@@ -88,10 +89,15 @@ var openaiFailedResponseHandler = (0, import_provider_utils.createJsonErrorRespo
88
89
 
89
90
  // src/openai-language-model-capabilities.ts
90
91
  function getOpenAILanguageModelCapabilities(modelId) {
91
- const supportsFlexProcessing = modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
92
- const supportsPriorityProcessing = modelId.startsWith("gpt-4") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-nano") && !modelId.startsWith("gpt-5-chat") && !modelId.startsWith("gpt-5.4-nano") || modelId.startsWith("o3") || modelId.startsWith("o4-mini");
93
- const isReasoningModel = modelId.startsWith("o1") || modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
94
- const supportsNonReasoningParameters = modelId.startsWith("gpt-5.1") || modelId.startsWith("gpt-5.2") || modelId.startsWith("gpt-5.3") || modelId.startsWith("gpt-5.4") || modelId.startsWith("gpt-5.5") || modelId.startsWith("gpt-5.6");
92
+ var _a, _b, _c, _d, _e;
93
+ const oSeriesVersion = getOSeriesVersion(modelId);
94
+ const gptVersion = getGptVersion(modelId);
95
+ const isGptChatModel = (gptVersion == null ? void 0 : gptVersion.minor) == null && ((_b = (_a = gptVersion == null ? void 0 : gptVersion.variant) == null ? void 0 : _a.startsWith("chat")) != null ? _b : false);
96
+ const isGptNanoModel = (_d = (_c = gptVersion == null ? void 0 : gptVersion.variant) == null ? void 0 : _c.startsWith("nano")) != null ? _d : false;
97
+ const supportsFlexProcessing = oSeriesVersion != null && oSeriesVersion >= 3 || gptVersion != null && gptVersion.major >= 5 && !isGptChatModel;
98
+ const supportsPriorityProcessing = modelId.startsWith("gpt-4") || gptVersion != null && gptVersion.major >= 5 && !isGptNanoModel && !isGptChatModel || oSeriesVersion != null && oSeriesVersion >= 3;
99
+ const isReasoningModel = oSeriesVersion != null || gptVersion != null && gptVersion.major >= 5 && !isGptChatModel;
100
+ const supportsNonReasoningParameters = gptVersion != null && (gptVersion.major > 5 || gptVersion.major === 5 && ((_e = gptVersion.minor) != null ? _e : 0) >= 1);
95
101
  const systemMessageMode = isReasoningModel ? "developer" : "system";
96
102
  return {
97
103
  supportsFlexProcessing,
@@ -101,6 +107,21 @@ function getOpenAILanguageModelCapabilities(modelId) {
101
107
  supportsNonReasoningParameters
102
108
  };
103
109
  }
110
+ function getOSeriesVersion(modelId) {
111
+ const match = /^o(\d+)(?:-|$)/.exec(modelId);
112
+ return match == null ? void 0 : Number(match[1]);
113
+ }
114
+ function getGptVersion(modelId) {
115
+ const match = /^gpt-(\d+)(?:\.(\d+))?(?:-(.+))?$/.exec(modelId);
116
+ if (match == null) {
117
+ return void 0;
118
+ }
119
+ return {
120
+ major: Number(match[1]),
121
+ minor: match[2] == null ? void 0 : Number(match[2]),
122
+ variant: match[3]
123
+ };
124
+ }
104
125
 
105
126
  // src/openai-stream-error.ts
106
127
  var import_provider = require("@ai-sdk/provider");
@@ -2020,18 +2041,16 @@ var modelMaxImagesPerCall = {
2020
2041
  "gpt-image-2": 10,
2021
2042
  "chatgpt-image-latest": 10
2022
2043
  };
2023
- var defaultResponseFormatPrefixes = [
2024
- "chatgpt-image-",
2025
- "gpt-image-1-mini",
2026
- "gpt-image-1.5",
2027
- "gpt-image-1",
2028
- "gpt-image-2"
2029
- ];
2044
+ var defaultResponseFormatPrefixes = ["chatgpt-image-", "gpt-image-"];
2030
2045
  function hasDefaultResponseFormat(modelId) {
2031
2046
  return defaultResponseFormatPrefixes.some(
2032
2047
  (prefix) => modelId.startsWith(prefix)
2033
2048
  );
2034
2049
  }
2050
+ function getMaxImagesPerCall(modelId) {
2051
+ var _a;
2052
+ return (_a = modelMaxImagesPerCall[modelId]) != null ? _a : modelId.startsWith("gpt-image-") ? 10 : 1;
2053
+ }
2035
2054
  var baseImageModelOptionsObject = import_v49.z.object({
2036
2055
  /**
2037
2056
  * Quality of the generated image(s).
@@ -2100,8 +2119,7 @@ var OpenAIImageModel = class {
2100
2119
  this.specificationVersion = "v3";
2101
2120
  }
2102
2121
  get maxImagesPerCall() {
2103
- var _a;
2104
- return (_a = modelMaxImagesPerCall[this.modelId]) != null ? _a : 1;
2122
+ return getMaxImagesPerCall(this.modelId);
2105
2123
  }
2106
2124
  get provider() {
2107
2125
  return this.config.provider;
@@ -2932,7 +2950,7 @@ async function convertToOpenAIResponsesInput({
2932
2950
  hasApplyPatchTool = false,
2933
2951
  customProviderToolNames
2934
2952
  }) {
2935
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w;
2953
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
2936
2954
  let input = [];
2937
2955
  const warnings = [];
2938
2956
  const processedApprovalIds = /* @__PURE__ */ new Set();
@@ -3209,7 +3227,7 @@ async function convertToOpenAIResponsesInput({
3209
3227
  part.toolName
3210
3228
  );
3211
3229
  if (resolvedResultToolName === "tool_search") {
3212
- const itemId = (_p = (_o = (_n = part.providerOptions) == null ? void 0 : _n[providerOptionsName]) == null ? void 0 : _o.itemId) != null ? _p : part.toolCallId;
3230
+ const itemId = (_s = (_r = (_o = (_n = part.providerOptions) == null ? void 0 : _n[providerOptionsName]) == null ? void 0 : _o.itemId) != null ? _r : (_q = (_p = part.providerMetadata) == null ? void 0 : _p[providerOptionsName]) == null ? void 0 : _q.itemId) != null ? _s : part.toolCallId;
3213
3231
  if (store) {
3214
3232
  input.push({ type: "item_reference", id: itemId });
3215
3233
  } else if (part.output.type === "json") {
@@ -3250,7 +3268,7 @@ async function convertToOpenAIResponsesInput({
3250
3268
  break;
3251
3269
  }
3252
3270
  if (store) {
3253
- const itemId = (_s = (_r = (_q = part.providerOptions) == null ? void 0 : _q[providerOptionsName]) == null ? void 0 : _r.itemId) != null ? _s : part.toolCallId;
3271
+ const itemId = (_v = (_u = (_t = part.providerOptions) == null ? void 0 : _t[providerOptionsName]) == null ? void 0 : _u.itemId) != null ? _v : part.toolCallId;
3254
3272
  input.push({ type: "item_reference", id: itemId });
3255
3273
  } else {
3256
3274
  warnings.push({
@@ -3360,7 +3378,7 @@ async function convertToOpenAIResponsesInput({
3360
3378
  }
3361
3379
  const output = part.output;
3362
3380
  if (output.type === "execution-denied") {
3363
- const approvalId = (_u = (_t = output.providerOptions) == null ? void 0 : _t.openai) == null ? void 0 : _u.approvalId;
3381
+ const approvalId = (_x = (_w = output.providerOptions) == null ? void 0 : _w.openai) == null ? void 0 : _x.approvalId;
3364
3382
  if (approvalId) {
3365
3383
  continue;
3366
3384
  }
@@ -3434,7 +3452,7 @@ async function convertToOpenAIResponsesInput({
3434
3452
  outputValue = output.value;
3435
3453
  break;
3436
3454
  case "execution-denied":
3437
- outputValue = (_v = output.reason) != null ? _v : "Tool call execution denied.";
3455
+ outputValue = (_y = output.reason) != null ? _y : "Tool call execution denied.";
3438
3456
  break;
3439
3457
  case "json":
3440
3458
  case "error-json":
@@ -3517,7 +3535,7 @@ async function convertToOpenAIResponsesInput({
3517
3535
  contentValue = output.value;
3518
3536
  break;
3519
3537
  case "execution-denied":
3520
- contentValue = (_w = output.reason) != null ? _w : "Tool call execution denied.";
3538
+ contentValue = (_z = output.reason) != null ? _z : "Tool call execution denied.";
3521
3539
  break;
3522
3540
  case "json":
3523
3541
  case "error-json":
@@ -7267,6 +7285,7 @@ function escapeJSONDelta(delta) {
7267
7285
  fileSearch,
7268
7286
  fileSearchArgsSchema,
7269
7287
  fileSearchOutputSchema,
7288
+ getMaxImagesPerCall,
7270
7289
  hasDefaultResponseFormat,
7271
7290
  imageGeneration,
7272
7291
  imageGenerationArgsSchema,