@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.
- package/CHANGELOG.md +12 -0
- package/dist/index.js +37 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -20
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +2 -1
- package/dist/internal/index.d.ts +2 -1
- package/dist/internal/index.js +38 -19
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +37 -19
- package/dist/internal/index.mjs.map +1 -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/convert-to-openai-responses-input.ts +9 -5
|
@@ -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 };
|
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;
|
|
@@ -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 };
|
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;
|
|
@@ -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 = (
|
|
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 = (
|
|
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 = (
|
|
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 = (
|
|
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 = (
|
|
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,
|