@ai-sdk/openai 3.0.0-beta.84 → 3.0.0-beta.85
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.js +51 -62
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +51 -62
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +50 -61
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +50 -61
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/internal/index.mjs
CHANGED
|
@@ -31,13 +31,20 @@ var openaiFailedResponseHandler = createJsonErrorResponseHandler({
|
|
|
31
31
|
errorToMessage: (data) => data.error.message
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
// src/openai-
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
// src/openai-language-model-capabilities.ts
|
|
35
|
+
function getOpenAILanguageModelCapabilities(modelId) {
|
|
36
|
+
const supportsFlexProcessing = modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
|
|
37
|
+
const supportsPriorityProcessing = modelId.startsWith("gpt-4") || modelId.startsWith("gpt-5-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-nano") && !modelId.startsWith("gpt-5-chat") || modelId.startsWith("o3") || modelId.startsWith("o4-mini");
|
|
38
|
+
const isReasoningModel = !(modelId.startsWith("gpt-3") || modelId.startsWith("gpt-4") || modelId.startsWith("chatgpt-4o") || modelId.startsWith("gpt-5-chat"));
|
|
39
|
+
const supportsNonReasoningParameters = modelId.startsWith("gpt-5.1");
|
|
40
|
+
const systemMessageMode = isReasoningModel ? "developer" : "system";
|
|
41
|
+
return {
|
|
42
|
+
supportsFlexProcessing,
|
|
43
|
+
supportsPriorityProcessing,
|
|
44
|
+
isReasoningModel,
|
|
45
|
+
systemMessageMode,
|
|
46
|
+
supportsNonReasoningParameters
|
|
47
|
+
};
|
|
41
48
|
}
|
|
42
49
|
|
|
43
50
|
// src/chat/convert-to-openai-chat-messages.ts
|
|
@@ -591,13 +598,14 @@ var OpenAIChatLanguageModel = class {
|
|
|
591
598
|
providerOptions,
|
|
592
599
|
schema: openaiChatLanguageModelOptions
|
|
593
600
|
})) != null ? _a : {};
|
|
601
|
+
const modelCapabilities = getOpenAILanguageModelCapabilities(this.modelId);
|
|
594
602
|
if (topK != null) {
|
|
595
603
|
warnings.push({ type: "unsupported", feature: "topK" });
|
|
596
604
|
}
|
|
597
605
|
const { messages, warnings: messageWarnings } = convertToOpenAIChatMessages(
|
|
598
606
|
{
|
|
599
607
|
prompt,
|
|
600
|
-
systemMessageMode:
|
|
608
|
+
systemMessageMode: modelCapabilities.systemMessageMode
|
|
601
609
|
}
|
|
602
610
|
);
|
|
603
611
|
warnings.push(...messageWarnings);
|
|
@@ -643,22 +651,31 @@ var OpenAIChatLanguageModel = class {
|
|
|
643
651
|
// messages:
|
|
644
652
|
messages
|
|
645
653
|
};
|
|
646
|
-
if (isReasoningModel
|
|
647
|
-
if (
|
|
648
|
-
baseArgs.temperature
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
baseArgs.top_p
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
654
|
+
if (modelCapabilities.isReasoningModel) {
|
|
655
|
+
if (openaiOptions.reasoningEffort !== "none" || !modelCapabilities.supportsNonReasoningParameters) {
|
|
656
|
+
if (baseArgs.temperature != null) {
|
|
657
|
+
baseArgs.temperature = void 0;
|
|
658
|
+
warnings.push({
|
|
659
|
+
type: "unsupported",
|
|
660
|
+
feature: "temperature",
|
|
661
|
+
details: "temperature is not supported for reasoning models"
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
if (baseArgs.top_p != null) {
|
|
665
|
+
baseArgs.top_p = void 0;
|
|
666
|
+
warnings.push({
|
|
667
|
+
type: "unsupported",
|
|
668
|
+
feature: "topP",
|
|
669
|
+
details: "topP is not supported for reasoning models"
|
|
670
|
+
});
|
|
671
|
+
}
|
|
672
|
+
if (baseArgs.logprobs != null) {
|
|
673
|
+
baseArgs.logprobs = void 0;
|
|
674
|
+
warnings.push({
|
|
675
|
+
type: "other",
|
|
676
|
+
message: "logprobs is not supported for reasoning models"
|
|
677
|
+
});
|
|
678
|
+
}
|
|
662
679
|
}
|
|
663
680
|
if (baseArgs.frequency_penalty != null) {
|
|
664
681
|
baseArgs.frequency_penalty = void 0;
|
|
@@ -683,13 +700,6 @@ var OpenAIChatLanguageModel = class {
|
|
|
683
700
|
message: "logitBias is not supported for reasoning models"
|
|
684
701
|
});
|
|
685
702
|
}
|
|
686
|
-
if (baseArgs.logprobs != null) {
|
|
687
|
-
baseArgs.logprobs = void 0;
|
|
688
|
-
warnings.push({
|
|
689
|
-
type: "other",
|
|
690
|
-
message: "logprobs is not supported for reasoning models"
|
|
691
|
-
});
|
|
692
|
-
}
|
|
693
703
|
if (baseArgs.top_logprobs != null) {
|
|
694
704
|
baseArgs.top_logprobs = void 0;
|
|
695
705
|
warnings.push({
|
|
@@ -713,7 +723,7 @@ var OpenAIChatLanguageModel = class {
|
|
|
713
723
|
});
|
|
714
724
|
}
|
|
715
725
|
}
|
|
716
|
-
if (openaiOptions.serviceTier === "flex" && !supportsFlexProcessing
|
|
726
|
+
if (openaiOptions.serviceTier === "flex" && !modelCapabilities.supportsFlexProcessing) {
|
|
717
727
|
warnings.push({
|
|
718
728
|
type: "unsupported",
|
|
719
729
|
feature: "serviceTier",
|
|
@@ -721,7 +731,7 @@ var OpenAIChatLanguageModel = class {
|
|
|
721
731
|
});
|
|
722
732
|
baseArgs.service_tier = void 0;
|
|
723
733
|
}
|
|
724
|
-
if (openaiOptions.serviceTier === "priority" && !supportsPriorityProcessing
|
|
734
|
+
if (openaiOptions.serviceTier === "priority" && !modelCapabilities.supportsPriorityProcessing) {
|
|
725
735
|
warnings.push({
|
|
726
736
|
type: "unsupported",
|
|
727
737
|
feature: "serviceTier",
|
|
@@ -1040,15 +1050,6 @@ var OpenAIChatLanguageModel = class {
|
|
|
1040
1050
|
};
|
|
1041
1051
|
}
|
|
1042
1052
|
};
|
|
1043
|
-
function supportsFlexProcessing(modelId) {
|
|
1044
|
-
return modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
|
|
1045
|
-
}
|
|
1046
|
-
function supportsPriorityProcessing(modelId) {
|
|
1047
|
-
return modelId.startsWith("gpt-4") || modelId.startsWith("gpt-5-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-nano") && !modelId.startsWith("gpt-5-chat") || modelId.startsWith("o3") || modelId.startsWith("o4-mini");
|
|
1048
|
-
}
|
|
1049
|
-
function getSystemMessageMode(modelId) {
|
|
1050
|
-
return isReasoningModel(modelId) ? "developer" : "system";
|
|
1051
|
-
}
|
|
1052
1053
|
|
|
1053
1054
|
// src/completion/openai-completion-language-model.ts
|
|
1054
1055
|
import {
|
|
@@ -4049,7 +4050,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4049
4050
|
}) {
|
|
4050
4051
|
var _a, _b, _c, _d;
|
|
4051
4052
|
const warnings = [];
|
|
4052
|
-
const
|
|
4053
|
+
const modelCapabilities = getOpenAILanguageModelCapabilities(this.modelId);
|
|
4053
4054
|
if (topK != null) {
|
|
4054
4055
|
warnings.push({ type: "unsupported", feature: "topK" });
|
|
4055
4056
|
}
|
|
@@ -4094,7 +4095,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4094
4095
|
const { input, warnings: inputWarnings } = await convertToOpenAIResponsesInput({
|
|
4095
4096
|
prompt,
|
|
4096
4097
|
toolNameMapping,
|
|
4097
|
-
systemMessageMode:
|
|
4098
|
+
systemMessageMode: modelCapabilities.systemMessageMode,
|
|
4098
4099
|
fileIdPrefixes: this.config.fileIdPrefixes,
|
|
4099
4100
|
store: (_a = openaiOptions == null ? void 0 : openaiOptions.store) != null ? _a : true,
|
|
4100
4101
|
hasLocalShellTool: hasOpenAITool("openai.local_shell"),
|
|
@@ -4128,7 +4129,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4128
4129
|
addInclude("code_interpreter_call.outputs");
|
|
4129
4130
|
}
|
|
4130
4131
|
const store = openaiOptions == null ? void 0 : openaiOptions.store;
|
|
4131
|
-
if (store === false &&
|
|
4132
|
+
if (store === false && modelCapabilities.isReasoningModel) {
|
|
4132
4133
|
addInclude("reasoning.encrypted_content");
|
|
4133
4134
|
}
|
|
4134
4135
|
const baseArgs = {
|
|
@@ -4170,7 +4171,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4170
4171
|
top_logprobs: topLogprobs,
|
|
4171
4172
|
truncation: openaiOptions == null ? void 0 : openaiOptions.truncation,
|
|
4172
4173
|
// model-specific settings:
|
|
4173
|
-
...
|
|
4174
|
+
...modelCapabilities.isReasoningModel && ((openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) != null || (openaiOptions == null ? void 0 : openaiOptions.reasoningSummary) != null) && {
|
|
4174
4175
|
reasoning: {
|
|
4175
4176
|
...(openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) != null && {
|
|
4176
4177
|
effort: openaiOptions.reasoningEffort
|
|
@@ -4181,7 +4182,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4181
4182
|
}
|
|
4182
4183
|
}
|
|
4183
4184
|
};
|
|
4184
|
-
if (
|
|
4185
|
+
if (modelCapabilities.isReasoningModel || (openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) === "none" && modelCapabilities.supportsNonReasoningParameters) {
|
|
4185
4186
|
if (baseArgs.temperature != null) {
|
|
4186
4187
|
baseArgs.temperature = void 0;
|
|
4187
4188
|
warnings.push({
|
|
@@ -4214,7 +4215,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4214
4215
|
});
|
|
4215
4216
|
}
|
|
4216
4217
|
}
|
|
4217
|
-
if ((openaiOptions == null ? void 0 : openaiOptions.serviceTier) === "flex" && !
|
|
4218
|
+
if ((openaiOptions == null ? void 0 : openaiOptions.serviceTier) === "flex" && !modelCapabilities.supportsFlexProcessing) {
|
|
4218
4219
|
warnings.push({
|
|
4219
4220
|
type: "unsupported",
|
|
4220
4221
|
feature: "serviceTier",
|
|
@@ -4222,7 +4223,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
4222
4223
|
});
|
|
4223
4224
|
delete baseArgs.service_tier;
|
|
4224
4225
|
}
|
|
4225
|
-
if ((openaiOptions == null ? void 0 : openaiOptions.serviceTier) === "priority" && !
|
|
4226
|
+
if ((openaiOptions == null ? void 0 : openaiOptions.serviceTier) === "priority" && !modelCapabilities.supportsPriorityProcessing) {
|
|
4226
4227
|
warnings.push({
|
|
4227
4228
|
type: "unsupported",
|
|
4228
4229
|
feature: "serviceTier",
|
|
@@ -5355,18 +5356,6 @@ function isResponseAnnotationAddedChunk(chunk) {
|
|
|
5355
5356
|
function isErrorChunk(chunk) {
|
|
5356
5357
|
return chunk.type === "error";
|
|
5357
5358
|
}
|
|
5358
|
-
function getResponsesModelConfig(modelId) {
|
|
5359
|
-
const supportsFlexProcessing2 = modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
|
|
5360
|
-
const supportsPriorityProcessing2 = modelId.startsWith("gpt-4") || modelId.startsWith("gpt-5-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-nano") && !modelId.startsWith("gpt-5-chat") || modelId.startsWith("o3") || modelId.startsWith("o4-mini");
|
|
5361
|
-
const isReasoningModel2 = isReasoningModel(modelId);
|
|
5362
|
-
const systemMessageMode = isReasoningModel2 ? "developer" : "system";
|
|
5363
|
-
return {
|
|
5364
|
-
systemMessageMode,
|
|
5365
|
-
supportsFlexProcessing: supportsFlexProcessing2,
|
|
5366
|
-
supportsPriorityProcessing: supportsPriorityProcessing2,
|
|
5367
|
-
isReasoningModel: isReasoningModel2
|
|
5368
|
-
};
|
|
5369
|
-
}
|
|
5370
5359
|
function mapWebSearchOutput(action) {
|
|
5371
5360
|
var _a;
|
|
5372
5361
|
switch (action.type) {
|