@ai-sdk/openai 3.0.87 → 3.0.89

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;
@@ -1161,6 +1162,7 @@ declare const webSearchArgsSchema: _ai_sdk_provider_utils.LazySchema<{
1161
1162
  externalWebAccess?: boolean | undefined;
1162
1163
  filters?: {
1163
1164
  allowedDomains?: string[] | undefined;
1165
+ blockedDomains?: string[] | undefined;
1164
1166
  } | undefined;
1165
1167
  searchContextSize?: "low" | "medium" | "high" | undefined;
1166
1168
  userLocation?: {
@@ -1260,8 +1262,15 @@ declare const webSearchToolFactory: _ai_sdk_provider_utils.ProviderToolFactoryWi
1260
1262
  * Allowed domains for the search.
1261
1263
  * If not provided, all domains are allowed.
1262
1264
  * Subdomains of the provided domains are allowed as well.
1265
+ * Omit the HTTP or HTTPS prefix. Maximum 100 domains.
1263
1266
  */
1264
1267
  allowedDomains?: string[];
1268
+ /**
1269
+ * Blocked domains for the search.
1270
+ * Subdomains of the provided domains are blocked as well.
1271
+ * Omit the HTTP or HTTPS prefix. Maximum 100 domains.
1272
+ */
1273
+ blockedDomains?: string[];
1265
1274
  };
1266
1275
  /**
1267
1276
  * Search context size to use for the web search.
@@ -1434,4 +1443,4 @@ declare const webSearchPreview: _ai_sdk_provider_utils.ProviderToolFactoryWithOu
1434
1443
  };
1435
1444
  }>;
1436
1445
 
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 };
1446
+ 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;
@@ -1161,6 +1162,7 @@ declare const webSearchArgsSchema: _ai_sdk_provider_utils.LazySchema<{
1161
1162
  externalWebAccess?: boolean | undefined;
1162
1163
  filters?: {
1163
1164
  allowedDomains?: string[] | undefined;
1165
+ blockedDomains?: string[] | undefined;
1164
1166
  } | undefined;
1165
1167
  searchContextSize?: "low" | "medium" | "high" | undefined;
1166
1168
  userLocation?: {
@@ -1260,8 +1262,15 @@ declare const webSearchToolFactory: _ai_sdk_provider_utils.ProviderToolFactoryWi
1260
1262
  * Allowed domains for the search.
1261
1263
  * If not provided, all domains are allowed.
1262
1264
  * Subdomains of the provided domains are allowed as well.
1265
+ * Omit the HTTP or HTTPS prefix. Maximum 100 domains.
1263
1266
  */
1264
1267
  allowedDomains?: string[];
1268
+ /**
1269
+ * Blocked domains for the search.
1270
+ * Subdomains of the provided domains are blocked as well.
1271
+ * Omit the HTTP or HTTPS prefix. Maximum 100 domains.
1272
+ */
1273
+ blockedDomains?: string[];
1265
1274
  };
1266
1275
  /**
1267
1276
  * Search context size to use for the web search.
@@ -1434,4 +1443,4 @@ declare const webSearchPreview: _ai_sdk_provider_utils.ProviderToolFactoryWithOu
1434
1443
  };
1435
1444
  }>;
1436
1445
 
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 };
1446
+ 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;
@@ -5030,7 +5048,10 @@ var webSearchArgsSchema = (0, import_provider_utils32.lazySchema)(
5030
5048
  () => (0, import_provider_utils32.zodSchema)(
5031
5049
  import_v425.z.object({
5032
5050
  externalWebAccess: import_v425.z.boolean().optional(),
5033
- filters: import_v425.z.object({ allowedDomains: import_v425.z.array(import_v425.z.string()).optional() }).optional(),
5051
+ filters: import_v425.z.object({
5052
+ allowedDomains: import_v425.z.array(import_v425.z.string()).optional(),
5053
+ blockedDomains: import_v425.z.array(import_v425.z.string()).optional()
5054
+ }).optional(),
5034
5055
  searchContextSize: import_v425.z.enum(["low", "medium", "high"]).optional(),
5035
5056
  userLocation: import_v425.z.object({
5036
5057
  type: import_v425.z.literal("approximate"),
@@ -5236,7 +5257,10 @@ async function prepareResponsesTools({
5236
5257
  });
5237
5258
  openaiTools.push({
5238
5259
  type: "web_search",
5239
- filters: args.filters != null ? { allowed_domains: args.filters.allowedDomains } : void 0,
5260
+ filters: args.filters != null ? {
5261
+ allowed_domains: args.filters.allowedDomains,
5262
+ blocked_domains: args.filters.blockedDomains
5263
+ } : void 0,
5240
5264
  external_web_access: args.externalWebAccess,
5241
5265
  search_context_size: args.searchContextSize,
5242
5266
  user_location: args.userLocation
@@ -7267,6 +7291,7 @@ function escapeJSONDelta(delta) {
7267
7291
  fileSearch,
7268
7292
  fileSearchArgsSchema,
7269
7293
  fileSearchOutputSchema,
7294
+ getMaxImagesPerCall,
7270
7295
  hasDefaultResponseFormat,
7271
7296
  imageGeneration,
7272
7297
  imageGenerationArgsSchema,