@ai-sdk/openai 3.0.87 → 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;
@@ -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,