@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.
- package/CHANGELOG.md +12 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +39 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +39 -16
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +10 -1
- package/dist/internal/index.d.ts +10 -1
- package/dist/internal/index.js +40 -15
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +39 -15
- package/dist/internal/index.mjs.map +1 -1
- package/docs/03-openai.mdx +5 -1
- package/package.json +1 -1
- package/src/image/openai-image-model-options.ts +8 -7
- package/src/image/openai-image-model.ts +2 -2
- package/src/openai-language-model-capabilities.ts +47 -22
- package/src/responses/openai-responses-api.ts +6 -1
- package/src/responses/openai-responses-prepare-tools.ts +4 -1
- package/src/tool/web-search.ts +12 -1
|
@@ -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 };
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -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 };
|
package/dist/internal/index.js
CHANGED
|
@@ -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
|
-
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
const
|
|
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
|
-
|
|
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({
|
|
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 ? {
|
|
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,
|