@ai-sdk/openai 3.0.0-beta.51 → 3.0.0-beta.53
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 +28 -57
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -57
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +27 -56
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +27 -56
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/internal/index.js
CHANGED
|
@@ -71,6 +71,15 @@ var openaiFailedResponseHandler = (0, import_provider_utils.createJsonErrorRespo
|
|
|
71
71
|
errorToMessage: (data) => data.error.message
|
|
72
72
|
});
|
|
73
73
|
|
|
74
|
+
// src/openai-is-reasoning-model.ts
|
|
75
|
+
function isReasoningModel(modelId) {
|
|
76
|
+
if (modelId.startsWith("gpt-3")) return false;
|
|
77
|
+
if (modelId.startsWith("gpt-4")) return false;
|
|
78
|
+
if (modelId.startsWith("chatgpt-4o")) return false;
|
|
79
|
+
if (modelId.startsWith("gpt-5-chat")) return false;
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
|
|
74
83
|
// src/chat/convert-to-openai-chat-messages.ts
|
|
75
84
|
var import_provider = require("@ai-sdk/provider");
|
|
76
85
|
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
@@ -262,7 +271,7 @@ function getResponseMetadata({
|
|
|
262
271
|
return {
|
|
263
272
|
id: id != null ? id : void 0,
|
|
264
273
|
modelId: model != null ? model : void 0,
|
|
265
|
-
timestamp: created
|
|
274
|
+
timestamp: created ? new Date(created * 1e3) : void 0
|
|
266
275
|
};
|
|
267
276
|
}
|
|
268
277
|
|
|
@@ -887,7 +896,7 @@ var OpenAIChatLanguageModel = class {
|
|
|
887
896
|
outputTokens: void 0,
|
|
888
897
|
totalTokens: void 0
|
|
889
898
|
};
|
|
890
|
-
let
|
|
899
|
+
let metadataExtracted = false;
|
|
891
900
|
let isActiveText = false;
|
|
892
901
|
const providerMetadata = { openai: {} };
|
|
893
902
|
return {
|
|
@@ -912,12 +921,15 @@ var OpenAIChatLanguageModel = class {
|
|
|
912
921
|
controller.enqueue({ type: "error", error: value.error });
|
|
913
922
|
return;
|
|
914
923
|
}
|
|
915
|
-
if (
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
924
|
+
if (!metadataExtracted) {
|
|
925
|
+
const metadata = getResponseMetadata(value);
|
|
926
|
+
if (Object.values(metadata).some(Boolean)) {
|
|
927
|
+
metadataExtracted = true;
|
|
928
|
+
controller.enqueue({
|
|
929
|
+
type: "response-metadata",
|
|
930
|
+
...getResponseMetadata(value)
|
|
931
|
+
});
|
|
932
|
+
}
|
|
921
933
|
}
|
|
922
934
|
if (value.usage != null) {
|
|
923
935
|
usage.inputTokens = (_a = value.usage.prompt_tokens) != null ? _a : void 0;
|
|
@@ -1072,9 +1084,6 @@ var OpenAIChatLanguageModel = class {
|
|
|
1072
1084
|
};
|
|
1073
1085
|
}
|
|
1074
1086
|
};
|
|
1075
|
-
function isReasoningModel(modelId) {
|
|
1076
|
-
return (modelId.startsWith("o") || modelId.startsWith("gpt-5")) && !modelId.startsWith("gpt-5-chat");
|
|
1077
|
-
}
|
|
1078
1087
|
function supportsFlexProcessing(modelId) {
|
|
1079
1088
|
return modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
|
|
1080
1089
|
}
|
|
@@ -1082,32 +1091,8 @@ function supportsPriorityProcessing(modelId) {
|
|
|
1082
1091
|
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");
|
|
1083
1092
|
}
|
|
1084
1093
|
function getSystemMessageMode(modelId) {
|
|
1085
|
-
|
|
1086
|
-
if (!isReasoningModel(modelId)) {
|
|
1087
|
-
return "system";
|
|
1088
|
-
}
|
|
1089
|
-
return (_b = (_a = reasoningModels[modelId]) == null ? void 0 : _a.systemMessageMode) != null ? _b : "developer";
|
|
1094
|
+
return isReasoningModel(modelId) ? "developer" : "system";
|
|
1090
1095
|
}
|
|
1091
|
-
var reasoningModels = {
|
|
1092
|
-
o3: {
|
|
1093
|
-
systemMessageMode: "developer"
|
|
1094
|
-
},
|
|
1095
|
-
"o3-2025-04-16": {
|
|
1096
|
-
systemMessageMode: "developer"
|
|
1097
|
-
},
|
|
1098
|
-
"o3-mini": {
|
|
1099
|
-
systemMessageMode: "developer"
|
|
1100
|
-
},
|
|
1101
|
-
"o3-mini-2025-01-31": {
|
|
1102
|
-
systemMessageMode: "developer"
|
|
1103
|
-
},
|
|
1104
|
-
"o4-mini": {
|
|
1105
|
-
systemMessageMode: "developer"
|
|
1106
|
-
},
|
|
1107
|
-
"o4-mini-2025-04-16": {
|
|
1108
|
-
systemMessageMode: "developer"
|
|
1109
|
-
}
|
|
1110
|
-
};
|
|
1111
1096
|
|
|
1112
1097
|
// src/completion/openai-completion-language-model.ts
|
|
1113
1098
|
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
@@ -4479,27 +4464,13 @@ function isErrorChunk(chunk) {
|
|
|
4479
4464
|
function getResponsesModelConfig(modelId) {
|
|
4480
4465
|
const supportsFlexProcessing2 = modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
|
|
4481
4466
|
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");
|
|
4482
|
-
const
|
|
4483
|
-
|
|
4484
|
-
supportsFlexProcessing: supportsFlexProcessing2,
|
|
4485
|
-
supportsPriorityProcessing: supportsPriorityProcessing2
|
|
4486
|
-
};
|
|
4487
|
-
if (modelId.startsWith("gpt-5-chat")) {
|
|
4488
|
-
return {
|
|
4489
|
-
...defaults,
|
|
4490
|
-
isReasoningModel: false
|
|
4491
|
-
};
|
|
4492
|
-
}
|
|
4493
|
-
if (modelId.startsWith("o") || modelId.startsWith("gpt-5") || modelId.startsWith("codex-") || modelId.startsWith("computer-use")) {
|
|
4494
|
-
return {
|
|
4495
|
-
...defaults,
|
|
4496
|
-
isReasoningModel: true,
|
|
4497
|
-
systemMessageMode: "developer"
|
|
4498
|
-
};
|
|
4499
|
-
}
|
|
4467
|
+
const isReasoningModel2 = isReasoningModel(modelId);
|
|
4468
|
+
const systemMessageMode = isReasoningModel2 ? "developer" : "system";
|
|
4500
4469
|
return {
|
|
4501
|
-
|
|
4502
|
-
|
|
4470
|
+
systemMessageMode,
|
|
4471
|
+
supportsFlexProcessing: supportsFlexProcessing2,
|
|
4472
|
+
supportsPriorityProcessing: supportsPriorityProcessing2,
|
|
4473
|
+
isReasoningModel: isReasoningModel2
|
|
4503
4474
|
};
|
|
4504
4475
|
}
|
|
4505
4476
|
function mapWebSearchOutput(action) {
|