@ai-sdk/openai 2.0.124 → 2.0.125
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 +6 -0
- package/dist/index.d.mts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +83 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +83 -7
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +5 -5
- package/dist/internal/index.d.ts +5 -5
- package/dist/internal/index.js +82 -6
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +82 -6
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/internal/index.mjs
CHANGED
|
@@ -38,14 +38,17 @@ function getOpenAILanguageModelCapabilities(modelId) {
|
|
|
38
38
|
const gptVersion = getGptVersion(modelId);
|
|
39
39
|
const isGptChatModel = (gptVersion == null ? void 0 : gptVersion.minor) == null && ((_b = (_a2 = gptVersion == null ? void 0 : gptVersion.variant) == null ? void 0 : _a2.startsWith("chat")) != null ? _b : false);
|
|
40
40
|
const isGptNanoModel = (_d = (_c = gptVersion == null ? void 0 : gptVersion.variant) == null ? void 0 : _c.startsWith("nano")) != null ? _d : false;
|
|
41
|
+
const isGpt6OrLaterModel = gptVersion != null && gptVersion.major >= 6;
|
|
41
42
|
const supportsFlexProcessing = oSeriesVersion != null && oSeriesVersion >= 3 || gptVersion != null && gptVersion.major >= 5 && !isGptChatModel;
|
|
42
43
|
const supportsPriorityProcessing = modelId.startsWith("gpt-4") || gptVersion != null && gptVersion.major >= 5 && !isGptNanoModel && !isGptChatModel || oSeriesVersion != null && oSeriesVersion >= 3;
|
|
43
44
|
const isReasoningModel = oSeriesVersion != null || gptVersion != null && gptVersion.major >= 5 && !isGptChatModel || modelId === "codex-mini-latest" || modelId === "computer-use-preview";
|
|
44
|
-
const supportsNonReasoningParameters = gptVersion != null && (gptVersion.major > 5 || gptVersion.major === 5 && ((_e = gptVersion.minor) != null ? _e : 0) >= 1);
|
|
45
|
+
const supportsNonReasoningParameters = !isGpt6OrLaterModel && gptVersion != null && (gptVersion.major > 5 || gptVersion.major === 5 && ((_e = gptVersion.minor) != null ? _e : 0) >= 1);
|
|
45
46
|
const systemMessageMode = isReasoningModel ? "developer" : "system";
|
|
46
47
|
return {
|
|
47
48
|
supportsFlexProcessing,
|
|
48
49
|
supportsPriorityProcessing,
|
|
50
|
+
supportsConfigurationUpdate: isGpt6OrLaterModel,
|
|
51
|
+
supportedReasoningEfforts: isGpt6OrLaterModel ? ["low", "medium", "high", "xhigh", "max"] : void 0,
|
|
49
52
|
isReasoningModel,
|
|
50
53
|
systemMessageMode,
|
|
51
54
|
supportsNonReasoningParameters
|
|
@@ -740,6 +743,17 @@ var OpenAIChatLanguageModel = class {
|
|
|
740
743
|
);
|
|
741
744
|
warnings.push(...messageWarnings);
|
|
742
745
|
const strictJsonSchema = (_c = openaiOptions.strictJsonSchema) != null ? _c : false;
|
|
746
|
+
let resolvedReasoningEffort = openaiOptions.reasoningEffort;
|
|
747
|
+
if (resolvedReasoningEffort != null && modelCapabilities.supportedReasoningEfforts != null && !modelCapabilities.supportedReasoningEfforts.includes(
|
|
748
|
+
resolvedReasoningEffort
|
|
749
|
+
)) {
|
|
750
|
+
warnings.push({
|
|
751
|
+
type: "unsupported-setting",
|
|
752
|
+
setting: "reasoningEffort",
|
|
753
|
+
details: `${this.modelId} only supports the following reasoning efforts: ${modelCapabilities.supportedReasoningEfforts.join(", ")}`
|
|
754
|
+
});
|
|
755
|
+
resolvedReasoningEffort = void 0;
|
|
756
|
+
}
|
|
743
757
|
const baseArgs = {
|
|
744
758
|
// model id:
|
|
745
759
|
model: this.modelId,
|
|
@@ -773,7 +787,7 @@ var OpenAIChatLanguageModel = class {
|
|
|
773
787
|
store: openaiOptions.store,
|
|
774
788
|
metadata: openaiOptions.metadata,
|
|
775
789
|
prediction: openaiOptions.prediction,
|
|
776
|
-
reasoning_effort:
|
|
790
|
+
reasoning_effort: resolvedReasoningEffort,
|
|
777
791
|
service_tier: openaiOptions.serviceTier,
|
|
778
792
|
prompt_cache_key: openaiOptions.promptCacheKey,
|
|
779
793
|
prompt_cache_options: openaiOptions.promptCacheOptions,
|
|
@@ -782,6 +796,14 @@ var OpenAIChatLanguageModel = class {
|
|
|
782
796
|
// messages:
|
|
783
797
|
messages
|
|
784
798
|
};
|
|
799
|
+
if (modelCapabilities.supportedReasoningEfforts != null && baseArgs.prompt_cache_retention != null) {
|
|
800
|
+
baseArgs.prompt_cache_retention = void 0;
|
|
801
|
+
warnings.push({
|
|
802
|
+
type: "unsupported-setting",
|
|
803
|
+
setting: "promptCacheRetention",
|
|
804
|
+
details: "promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"
|
|
805
|
+
});
|
|
806
|
+
}
|
|
785
807
|
if (modelCapabilities.isReasoningModel) {
|
|
786
808
|
if (openaiOptions.reasoningEffort !== "none" || !modelCapabilities.supportsNonReasoningParameters) {
|
|
787
809
|
if (baseArgs.temperature != null) {
|
|
@@ -3455,6 +3477,15 @@ var openaiResponsesProviderOptionsSchema = lazyValidator13(
|
|
|
3455
3477
|
* Supported values vary by model.
|
|
3456
3478
|
*/
|
|
3457
3479
|
reasoningEffort: z16.string().nullish(),
|
|
3480
|
+
/**
|
|
3481
|
+
* Updates the reasoning effort for GPT-6 and later models starting with this response
|
|
3482
|
+
* without changing the request-level reasoning effort. This preserves the
|
|
3483
|
+
* request prefix for prompt caching.
|
|
3484
|
+
*
|
|
3485
|
+
* Only supported by GPT-6 and later models in standard, single-agent mode. Cannot be
|
|
3486
|
+
* combined with automatic truncation.
|
|
3487
|
+
*/
|
|
3488
|
+
reasoningEffortUpdate: z16.enum(["low", "medium", "high", "xhigh", "max"]).optional(),
|
|
3458
3489
|
/**
|
|
3459
3490
|
* Controls how much model work GPT-5.6 performs before returning a final answer.
|
|
3460
3491
|
* `standard` is the default. `pro` increases quality, latency, and token usage.
|
|
@@ -3912,7 +3943,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
3912
3943
|
toolChoice,
|
|
3913
3944
|
responseFormat
|
|
3914
3945
|
}) {
|
|
3915
|
-
var _a2, _b, _c, _d;
|
|
3946
|
+
var _a2, _b, _c, _d, _e, _f;
|
|
3916
3947
|
const warnings = [];
|
|
3917
3948
|
const modelCapabilities = getOpenAILanguageModelCapabilities(this.modelId);
|
|
3918
3949
|
if (topK != null) {
|
|
@@ -3956,6 +3987,31 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
3956
3987
|
hasLocalShellTool: hasOpenAITool("openai.local_shell")
|
|
3957
3988
|
});
|
|
3958
3989
|
warnings.push(...inputWarnings);
|
|
3990
|
+
let resolvedReasoningEffort = openaiOptions == null ? void 0 : openaiOptions.reasoningEffort;
|
|
3991
|
+
if (resolvedReasoningEffort != null && modelCapabilities.supportedReasoningEfforts != null && !modelCapabilities.supportedReasoningEfforts.includes(
|
|
3992
|
+
resolvedReasoningEffort
|
|
3993
|
+
)) {
|
|
3994
|
+
warnings.push({
|
|
3995
|
+
type: "unsupported-setting",
|
|
3996
|
+
setting: "reasoningEffort",
|
|
3997
|
+
details: `${this.modelId} only supports the following reasoning efforts: ${modelCapabilities.supportedReasoningEfforts.join(", ")}`
|
|
3998
|
+
});
|
|
3999
|
+
resolvedReasoningEffort = void 0;
|
|
4000
|
+
}
|
|
4001
|
+
const reasoningEffortUpdate = openaiOptions == null ? void 0 : openaiOptions.reasoningEffortUpdate;
|
|
4002
|
+
const configurationUpdateIsSupported = reasoningEffortUpdate == null || modelCapabilities.supportsConfigurationUpdate && (openaiOptions == null ? void 0 : openaiOptions.reasoningMode) !== "pro" && (openaiOptions == null ? void 0 : openaiOptions.truncation) !== "auto";
|
|
4003
|
+
if (reasoningEffortUpdate != null && !configurationUpdateIsSupported) {
|
|
4004
|
+
warnings.push({
|
|
4005
|
+
type: "unsupported-setting",
|
|
4006
|
+
setting: "reasoningEffortUpdate",
|
|
4007
|
+
details: !modelCapabilities.supportsConfigurationUpdate ? "reasoningEffortUpdate is only supported by GPT-6 and later models" : "reasoningEffortUpdate requires standard reasoning mode without automatic truncation"
|
|
4008
|
+
});
|
|
4009
|
+
} else if (reasoningEffortUpdate != null) {
|
|
4010
|
+
input.unshift({
|
|
4011
|
+
type: "configuration_update",
|
|
4012
|
+
reasoning: { effort: reasoningEffortUpdate }
|
|
4013
|
+
});
|
|
4014
|
+
}
|
|
3959
4015
|
const strictJsonSchema = (_b = openaiOptions == null ? void 0 : openaiOptions.strictJsonSchema) != null ? _b : false;
|
|
3960
4016
|
let include = openaiOptions == null ? void 0 : openaiOptions.include;
|
|
3961
4017
|
function addInclude(key) {
|
|
@@ -4027,10 +4083,10 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4027
4083
|
top_logprobs: topLogprobs,
|
|
4028
4084
|
truncation: openaiOptions == null ? void 0 : openaiOptions.truncation,
|
|
4029
4085
|
// model-specific settings:
|
|
4030
|
-
...modelCapabilities.isReasoningModel && (
|
|
4086
|
+
...modelCapabilities.isReasoningModel && (resolvedReasoningEffort != null || (openaiOptions == null ? void 0 : openaiOptions.reasoningSummary) != null || (openaiOptions == null ? void 0 : openaiOptions.reasoningMode) != null || (openaiOptions == null ? void 0 : openaiOptions.reasoningContext) != null) && {
|
|
4031
4087
|
reasoning: {
|
|
4032
|
-
...
|
|
4033
|
-
effort:
|
|
4088
|
+
...resolvedReasoningEffort != null && {
|
|
4089
|
+
effort: resolvedReasoningEffort
|
|
4034
4090
|
},
|
|
4035
4091
|
...(openaiOptions == null ? void 0 : openaiOptions.reasoningSummary) != null && {
|
|
4036
4092
|
summary: openaiOptions.reasoningSummary
|
|
@@ -4044,6 +4100,14 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4044
4100
|
}
|
|
4045
4101
|
}
|
|
4046
4102
|
};
|
|
4103
|
+
if (modelCapabilities.supportsConfigurationUpdate && baseArgs.prompt_cache_retention != null) {
|
|
4104
|
+
baseArgs.prompt_cache_retention = void 0;
|
|
4105
|
+
warnings.push({
|
|
4106
|
+
type: "unsupported-setting",
|
|
4107
|
+
setting: "promptCacheRetention",
|
|
4108
|
+
details: "promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"
|
|
4109
|
+
});
|
|
4110
|
+
}
|
|
4047
4111
|
if (modelCapabilities.isReasoningModel) {
|
|
4048
4112
|
if (!((openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) === "none" && modelCapabilities.supportsNonReasoningParameters)) {
|
|
4049
4113
|
if (baseArgs.temperature != null) {
|
|
@@ -4062,6 +4126,18 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4062
4126
|
details: "topP is not supported for reasoning models"
|
|
4063
4127
|
});
|
|
4064
4128
|
}
|
|
4129
|
+
if (modelCapabilities.supportedReasoningEfforts != null && (baseArgs.top_logprobs != null || ((_e = baseArgs.include) == null ? void 0 : _e.includes("message.output_text.logprobs")))) {
|
|
4130
|
+
baseArgs.top_logprobs = void 0;
|
|
4131
|
+
const filteredInclude = (_f = baseArgs.include) == null ? void 0 : _f.filter(
|
|
4132
|
+
(value) => value !== "message.output_text.logprobs"
|
|
4133
|
+
);
|
|
4134
|
+
baseArgs.include = filteredInclude != null && filteredInclude.length > 0 ? filteredInclude : void 0;
|
|
4135
|
+
warnings.push({
|
|
4136
|
+
type: "unsupported-setting",
|
|
4137
|
+
setting: "logprobs",
|
|
4138
|
+
details: "logprobs is not supported for reasoning models"
|
|
4139
|
+
});
|
|
4140
|
+
}
|
|
4065
4141
|
}
|
|
4066
4142
|
} else {
|
|
4067
4143
|
if ((openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) != null) {
|