@ai-sdk/openai 4.0.71 → 4.0.73
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 +17 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +76 -19
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +4 -4
- package/dist/internal/index.js +75 -18
- package/dist/internal/index.js.map +1 -1
- package/docs/03-openai.mdx +5 -3
- package/package.json +3 -3
- package/src/chat/openai-chat-api.ts +5 -0
- package/src/chat/openai-chat-language-model-options.ts +2 -0
- package/src/chat/openai-chat-language-model.ts +4 -1
- package/src/normalize-openai-json-schema.ts +79 -10
- package/src/openai-language-model-capabilities.ts +7 -3
- package/src/responses/openai-responses-language-model-options.ts +4 -0
- package/src/speech/openai-speech-model-options.ts +1 -1
- package/src/speech/openai-speech-model.ts +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @ai-sdk/openai
|
|
2
2
|
|
|
3
|
+
## 4.0.73
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 6d1f881: fix(openai): expose Chat Completions audio transcripts as generated text
|
|
8
|
+
- 618dc11: feat: GPT-6 Sol and Luna model IDs
|
|
9
|
+
- Updated dependencies [ffb0e76]
|
|
10
|
+
- @ai-sdk/provider@4.0.18
|
|
11
|
+
- @ai-sdk/provider-utils@5.0.46
|
|
12
|
+
|
|
13
|
+
## 4.0.72
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 411b3f2: fix(openai): strip unsupported regex patterns from JSON schemas
|
|
18
|
+
- e13c32f: fix(openai): include speech provider options in requests
|
|
19
|
+
|
|
3
20
|
## 4.0.71
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -4,13 +4,13 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
|
4
4
|
import { InferSchema, FetchFunction, WebSocketConstructor, WORKFLOW_SERIALIZE, WORKFLOW_DESERIALIZE } from '@ai-sdk/provider-utils';
|
|
5
5
|
import { z } from 'zod/v4';
|
|
6
6
|
|
|
7
|
-
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-2025-04-16' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-audio-preview' | 'gpt-4o-audio-preview-2024-12-17' | 'gpt-4o-audio-preview-2025-06-03' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini-audio-preview' | 'gpt-4o-mini-audio-preview-2024-12-17' | 'gpt-4o-search-preview' | 'gpt-4o-search-preview-2025-03-11' | 'gpt-4o-mini-search-preview' | 'gpt-4o-mini-search-preview-2025-03-11' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.3-chat-latest' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5.5' | 'gpt-5.5-2026-04-23' | 'gpt-5.6' | 'gpt-5.6-luna' | 'gpt-5.6-sol' | 'gpt-5.6-terra' | 'gpt-6-astra' | (string & {});
|
|
7
|
+
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-2025-04-16' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-audio-preview' | 'gpt-4o-audio-preview-2024-12-17' | 'gpt-4o-audio-preview-2025-06-03' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini-audio-preview' | 'gpt-4o-mini-audio-preview-2024-12-17' | 'gpt-4o-search-preview' | 'gpt-4o-search-preview-2025-03-11' | 'gpt-4o-mini-search-preview' | 'gpt-4o-mini-search-preview-2025-03-11' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.3-chat-latest' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5.5' | 'gpt-5.5-2026-04-23' | 'gpt-5.6' | 'gpt-5.6-luna' | 'gpt-5.6-sol' | 'gpt-5.6-terra' | 'gpt-6-astra' | 'gpt-6-luna' | 'gpt-6-sol' | (string & {});
|
|
8
8
|
declare const openaiLanguageModelChatOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
9
9
|
logitBias?: Record<number, number> | undefined;
|
|
10
10
|
logprobs?: number | boolean | undefined;
|
|
11
11
|
parallelToolCalls?: boolean | undefined;
|
|
12
12
|
user?: string | undefined;
|
|
13
|
-
reasoningEffort?: "low" | "medium" | "high" | "xhigh" | "max" | "
|
|
13
|
+
reasoningEffort?: "none" | "low" | "medium" | "high" | "xhigh" | "max" | "minimal" | undefined;
|
|
14
14
|
maxCompletionTokens?: number | undefined;
|
|
15
15
|
store?: boolean | undefined;
|
|
16
16
|
metadata?: Record<string, string> | undefined;
|
|
@@ -1497,7 +1497,7 @@ interface OpenAIRealtimeFactory extends Experimental_RealtimeFactoryV4 {
|
|
|
1497
1497
|
getToken(options: Parameters<Experimental_RealtimeFactoryV4['getToken']>[0] & OpenAIRealtimeOptions): ReturnType<Experimental_RealtimeFactoryV4['getToken']>;
|
|
1498
1498
|
}
|
|
1499
1499
|
|
|
1500
|
-
type OpenAIResponsesModelId = 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.1-codex-mini' | 'gpt-5.1-codex' | 'gpt-5.1-codex-max' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.2-codex' | 'gpt-5.3-chat-latest' | 'gpt-5.3-codex' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5.5' | 'gpt-5.5-2026-04-23' | 'gpt-5.6' | 'gpt-5.6-luna' | 'gpt-5.6-sol' | 'gpt-5.6-terra' | 'gpt-6-astra' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | 'o4-mini' | 'o4-mini-2025-04-16' | (string & {});
|
|
1500
|
+
type OpenAIResponsesModelId = 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.1-codex-mini' | 'gpt-5.1-codex' | 'gpt-5.1-codex-max' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.2-codex' | 'gpt-5.3-chat-latest' | 'gpt-5.3-codex' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5.5' | 'gpt-5.5-2026-04-23' | 'gpt-5.6' | 'gpt-5.6-luna' | 'gpt-5.6-sol' | 'gpt-5.6-terra' | 'gpt-6-astra' | 'gpt-6-luna' | 'gpt-6-sol' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | 'o4-mini' | 'o4-mini-2025-04-16' | (string & {});
|
|
1501
1501
|
declare const openaiLanguageModelResponsesOptionsSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
1502
1502
|
conversation?: string | null | undefined;
|
|
1503
1503
|
include?: ("web_search_call.results" | "file_search_call.results" | "message.output_text.logprobs" | "reasoning.encrypted_content")[] | null | undefined;
|
package/dist/index.js
CHANGED
|
@@ -53,6 +53,7 @@ function getOpenAILanguageModelCapabilities(modelId) {
|
|
|
53
53
|
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);
|
|
54
54
|
const isGptNanoModel = (_d = (_c = gptVersion == null ? void 0 : gptVersion.variant) == null ? void 0 : _c.startsWith("nano")) != null ? _d : false;
|
|
55
55
|
const isGpt6OrLaterModel = gptVersion != null && gptVersion.major >= 6;
|
|
56
|
+
const isGpt6SolOrLuna = modelId === "gpt-6-sol" || modelId === "gpt-6-luna";
|
|
56
57
|
const supportsFlexProcessing = oSeriesVersion != null && oSeriesVersion >= 3 || gptVersion != null && gptVersion.major >= 5 && !isGptChatModel;
|
|
57
58
|
const supportsPriorityProcessing = modelId.startsWith("gpt-4") || gptVersion != null && gptVersion.major >= 5 && !isGptNanoModel && !isGptChatModel || oSeriesVersion != null && oSeriesVersion >= 3;
|
|
58
59
|
const isReasoningModel = oSeriesVersion != null || gptVersion != null && gptVersion.major >= 5 && !isGptChatModel;
|
|
@@ -63,7 +64,7 @@ function getOpenAILanguageModelCapabilities(modelId) {
|
|
|
63
64
|
supportsPriorityProcessing,
|
|
64
65
|
supportsConfigurationUpdate: isGpt6OrLaterModel,
|
|
65
66
|
supportsAsyncToolCalling: isGpt6OrLaterModel,
|
|
66
|
-
supportedReasoningEfforts: isGpt6OrLaterModel ? ["low", "medium", "high", "xhigh", "max"] : void 0,
|
|
67
|
+
supportedReasoningEfforts: isGpt6SolOrLuna ? ["none", "low", "medium", "high", "xhigh", "max"] : isGpt6OrLaterModel ? ["low", "medium", "high", "xhigh", "max"] : void 0,
|
|
67
68
|
isReasoningModel,
|
|
68
69
|
systemMessageMode,
|
|
69
70
|
supportsNonReasoningParameters
|
|
@@ -653,6 +654,9 @@ var openaiChatResponseSchema = lazySchema(
|
|
|
653
654
|
message: z2.object({
|
|
654
655
|
role: z2.literal("assistant").nullish(),
|
|
655
656
|
content: z2.string().nullish(),
|
|
657
|
+
audio: z2.object({
|
|
658
|
+
transcript: z2.string().nullish()
|
|
659
|
+
}).nullish(),
|
|
656
660
|
tool_calls: z2.array(
|
|
657
661
|
z2.object({
|
|
658
662
|
id: z2.string().nullish(),
|
|
@@ -929,16 +933,26 @@ import {
|
|
|
929
933
|
} from "@ai-sdk/provider";
|
|
930
934
|
function normalizeOpenAIJsonSchema(schema) {
|
|
931
935
|
let removedPropertyNames = false;
|
|
936
|
+
let removedLookaroundPattern = false;
|
|
932
937
|
const normalizedSchema = normalizeSchema(schema);
|
|
938
|
+
const warnings = [];
|
|
939
|
+
if (removedPropertyNames) {
|
|
940
|
+
warnings.push({
|
|
941
|
+
type: "compatibility",
|
|
942
|
+
feature: "JSON Schema propertyNames",
|
|
943
|
+
details: "OpenAI does not support JSON Schema propertyNames. It was removed before sending the schema, so OpenAI will not enforce property-name constraints."
|
|
944
|
+
});
|
|
945
|
+
}
|
|
946
|
+
if (removedLookaroundPattern) {
|
|
947
|
+
warnings.push({
|
|
948
|
+
type: "compatibility",
|
|
949
|
+
feature: "JSON Schema pattern with regex lookaround",
|
|
950
|
+
details: "OpenAI does not support regex lookaround in JSON Schema patterns. The pattern was removed before sending the schema, so OpenAI will not enforce that constraint."
|
|
951
|
+
});
|
|
952
|
+
}
|
|
933
953
|
return {
|
|
934
954
|
schema: normalizedSchema,
|
|
935
|
-
warnings
|
|
936
|
-
{
|
|
937
|
-
type: "compatibility",
|
|
938
|
-
feature: "JSON Schema propertyNames",
|
|
939
|
-
details: "OpenAI does not support JSON Schema propertyNames. It was removed before sending the schema, so OpenAI will not enforce property-name constraints."
|
|
940
|
-
}
|
|
941
|
-
] : []
|
|
955
|
+
warnings
|
|
942
956
|
};
|
|
943
957
|
function normalizeSchema(schema2) {
|
|
944
958
|
const propertyNames = schema2.propertyNames;
|
|
@@ -952,6 +966,10 @@ function normalizeOpenAIJsonSchema(schema) {
|
|
|
952
966
|
}
|
|
953
967
|
const normalizedSchema2 = { ...schema2 };
|
|
954
968
|
delete normalizedSchema2.propertyNames;
|
|
969
|
+
if (normalizedSchema2.pattern != null && containsRegexLookaround(normalizedSchema2.pattern)) {
|
|
970
|
+
delete normalizedSchema2.pattern;
|
|
971
|
+
removedLookaroundPattern = true;
|
|
972
|
+
}
|
|
955
973
|
if (normalizedSchema2.properties != null) {
|
|
956
974
|
normalizedSchema2.properties = normalizeSchemaRecord(
|
|
957
975
|
normalizedSchema2.properties
|
|
@@ -1030,6 +1048,39 @@ function normalizeOpenAIJsonSchema(schema) {
|
|
|
1030
1048
|
return typeof definition === "boolean" ? definition : normalizeSchema(definition);
|
|
1031
1049
|
}
|
|
1032
1050
|
}
|
|
1051
|
+
function containsRegexLookaround(pattern) {
|
|
1052
|
+
let escaped = false;
|
|
1053
|
+
let inCharacterClass = false;
|
|
1054
|
+
for (let index = 0; index < pattern.length; index++) {
|
|
1055
|
+
const character = pattern[index];
|
|
1056
|
+
if (escaped) {
|
|
1057
|
+
escaped = false;
|
|
1058
|
+
continue;
|
|
1059
|
+
}
|
|
1060
|
+
if (character === "\\") {
|
|
1061
|
+
escaped = true;
|
|
1062
|
+
continue;
|
|
1063
|
+
}
|
|
1064
|
+
if (character === "[") {
|
|
1065
|
+
inCharacterClass = true;
|
|
1066
|
+
continue;
|
|
1067
|
+
}
|
|
1068
|
+
if (character === "]") {
|
|
1069
|
+
inCharacterClass = false;
|
|
1070
|
+
continue;
|
|
1071
|
+
}
|
|
1072
|
+
if (!inCharacterClass && character === "(" && pattern[index + 1] === "?") {
|
|
1073
|
+
const lookaroundPrefix = pattern[index + 2];
|
|
1074
|
+
if (lookaroundPrefix === "=" || lookaroundPrefix === "!") {
|
|
1075
|
+
return true;
|
|
1076
|
+
}
|
|
1077
|
+
if (lookaroundPrefix === "<" && (pattern[index + 3] === "=" || pattern[index + 3] === "!")) {
|
|
1078
|
+
return true;
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
return false;
|
|
1083
|
+
}
|
|
1033
1084
|
|
|
1034
1085
|
// src/chat/openai-chat-prepare-tools.ts
|
|
1035
1086
|
function prepareChatTools({
|
|
@@ -1326,7 +1377,7 @@ var OpenAIChatLanguageModel = class _OpenAIChatLanguageModel {
|
|
|
1326
1377
|
};
|
|
1327
1378
|
}
|
|
1328
1379
|
async doGenerate(options) {
|
|
1329
|
-
var _a2, _b, _c, _d, _e, _f, _g;
|
|
1380
|
+
var _a2, _b, _c, _d, _e, _f, _g, _h;
|
|
1330
1381
|
const { args: body, warnings } = await this.getArgs(options);
|
|
1331
1382
|
const {
|
|
1332
1383
|
responseHeaders,
|
|
@@ -1354,11 +1405,11 @@ var OpenAIChatLanguageModel = class _OpenAIChatLanguageModel {
|
|
|
1354
1405
|
});
|
|
1355
1406
|
}
|
|
1356
1407
|
const content = [];
|
|
1357
|
-
const text = choice.message.content;
|
|
1408
|
+
const text = choice.message.content != null && choice.message.content.length > 0 ? choice.message.content : (_c = choice.message.audio) == null ? void 0 : _c.transcript;
|
|
1358
1409
|
if (text != null && text.length > 0) {
|
|
1359
1410
|
content.push({ type: "text", text });
|
|
1360
1411
|
}
|
|
1361
|
-
for (const toolCall of (
|
|
1412
|
+
for (const toolCall of (_d = choice.message.tool_calls) != null ? _d : []) {
|
|
1362
1413
|
content.push({
|
|
1363
1414
|
type: "tool-call",
|
|
1364
1415
|
toolCallId: toolCall.id || generateId(),
|
|
@@ -1366,7 +1417,7 @@ var OpenAIChatLanguageModel = class _OpenAIChatLanguageModel {
|
|
|
1366
1417
|
input: toolCall.function.arguments
|
|
1367
1418
|
});
|
|
1368
1419
|
}
|
|
1369
|
-
for (const annotation of (
|
|
1420
|
+
for (const annotation of (_e = choice.message.annotations) != null ? _e : []) {
|
|
1370
1421
|
content.push({
|
|
1371
1422
|
type: "source",
|
|
1372
1423
|
sourceType: "url",
|
|
@@ -1375,7 +1426,7 @@ var OpenAIChatLanguageModel = class _OpenAIChatLanguageModel {
|
|
|
1375
1426
|
title: annotation.url_citation.title
|
|
1376
1427
|
});
|
|
1377
1428
|
}
|
|
1378
|
-
const completionTokenDetails = (
|
|
1429
|
+
const completionTokenDetails = (_f = response.usage) == null ? void 0 : _f.completion_tokens_details;
|
|
1379
1430
|
const providerMetadata = { openai: {} };
|
|
1380
1431
|
if ((completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens) != null) {
|
|
1381
1432
|
providerMetadata.openai.acceptedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens;
|
|
@@ -1383,14 +1434,14 @@ var OpenAIChatLanguageModel = class _OpenAIChatLanguageModel {
|
|
|
1383
1434
|
if ((completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens) != null) {
|
|
1384
1435
|
providerMetadata.openai.rejectedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens;
|
|
1385
1436
|
}
|
|
1386
|
-
if (((
|
|
1437
|
+
if (((_g = choice.logprobs) == null ? void 0 : _g.content) != null) {
|
|
1387
1438
|
providerMetadata.openai.logprobs = choice.logprobs.content;
|
|
1388
1439
|
}
|
|
1389
1440
|
return {
|
|
1390
1441
|
content,
|
|
1391
1442
|
finishReason: {
|
|
1392
1443
|
unified: mapOpenAIFinishReason(choice.finish_reason),
|
|
1393
|
-
raw: (
|
|
1444
|
+
raw: (_h = choice.finish_reason) != null ? _h : void 0
|
|
1394
1445
|
},
|
|
1395
1446
|
usage: convertOpenAIChatUsage(response.usage),
|
|
1396
1447
|
request: { body },
|
|
@@ -6152,7 +6203,9 @@ var openaiResponsesReasoningModelIds = [
|
|
|
6152
6203
|
"gpt-5.6-luna",
|
|
6153
6204
|
"gpt-5.6-sol",
|
|
6154
6205
|
"gpt-5.6-terra",
|
|
6155
|
-
"gpt-6-astra"
|
|
6206
|
+
"gpt-6-astra",
|
|
6207
|
+
"gpt-6-luna",
|
|
6208
|
+
"gpt-6-sol"
|
|
6156
6209
|
];
|
|
6157
6210
|
var openaiResponsesModelIds = [
|
|
6158
6211
|
"gpt-4.1",
|
|
@@ -10852,7 +10905,7 @@ var openaiSpeechModelOptionsSchema = lazySchema27(
|
|
|
10852
10905
|
() => zodSchema27(
|
|
10853
10906
|
z33.object({
|
|
10854
10907
|
instructions: z33.string().nullish(),
|
|
10855
|
-
speed: z33.number().min(0.25).max(4).
|
|
10908
|
+
speed: z33.number().min(0.25).max(4).nullish()
|
|
10856
10909
|
})
|
|
10857
10910
|
)
|
|
10858
10911
|
);
|
|
@@ -10885,6 +10938,7 @@ var OpenAISpeechModel = class _OpenAISpeechModel {
|
|
|
10885
10938
|
language,
|
|
10886
10939
|
providerOptions
|
|
10887
10940
|
}) {
|
|
10941
|
+
var _a2, _b;
|
|
10888
10942
|
const warnings = [];
|
|
10889
10943
|
const openAIOptions = await parseProviderOptions9({
|
|
10890
10944
|
provider: "openai",
|
|
@@ -10911,7 +10965,10 @@ var OpenAISpeechModel = class _OpenAISpeechModel {
|
|
|
10911
10965
|
}
|
|
10912
10966
|
}
|
|
10913
10967
|
if (openAIOptions) {
|
|
10914
|
-
const speechModelOptions = {
|
|
10968
|
+
const speechModelOptions = {
|
|
10969
|
+
speed: (_a2 = openAIOptions.speed) != null ? _a2 : void 0,
|
|
10970
|
+
instructions: (_b = openAIOptions.instructions) != null ? _b : void 0
|
|
10971
|
+
};
|
|
10915
10972
|
for (const key in speechModelOptions) {
|
|
10916
10973
|
const value = speechModelOptions[key];
|
|
10917
10974
|
if (value !== void 0) {
|
|
@@ -11967,7 +12024,7 @@ var OpenAISkills = class {
|
|
|
11967
12024
|
};
|
|
11968
12025
|
|
|
11969
12026
|
// src/version.ts
|
|
11970
|
-
var VERSION = true ? "4.0.
|
|
12027
|
+
var VERSION = true ? "4.0.73" : "0.0.0-test";
|
|
11971
12028
|
|
|
11972
12029
|
// src/openai-provider.ts
|
|
11973
12030
|
function createOpenAI(options = {}) {
|