@zhivex-ai/openai 0.13.6 → 0.14.0

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.
@@ -0,0 +1,244 @@
1
+ import { UnsupportedFeatureError } from "@zhivex-ai/core/provider";
2
+ export const capabilities = {
3
+ streaming: true,
4
+ tools: true,
5
+ structuredOutput: true,
6
+ jsonMode: true,
7
+ toolChoice: true,
8
+ parallelToolCalls: true,
9
+ vision: true,
10
+ files: false,
11
+ audioInput: false,
12
+ audioOutput: false,
13
+ embeddings: true,
14
+ reasoning: true,
15
+ webSearch: true,
16
+ agentCapabilities: {
17
+ supportTier: "tier-a",
18
+ toolChoiceNone: true,
19
+ approvalRequests: true,
20
+ hostedWebSearch: true,
21
+ hostedFileSearch: true,
22
+ remoteMcp: true,
23
+ computerUse: true,
24
+ codeExecution: true,
25
+ shell: true,
26
+ applyPatch: true,
27
+ toolSearch: true,
28
+ skills: true,
29
+ toolsets: false,
30
+ },
31
+ };
32
+ const normalizeModelId = (modelId) => modelId.trim().toLowerCase();
33
+ export const isOpenAIGpt56Model = (modelId) => /^gpt-5\.6(?:-(?:sol|terra|luna))?(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
34
+ export const isOpenAIAstraModel = (modelId) => /^gpt-6-astra(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
35
+ export const isOpenAISolLunaModel = (modelId) => /^gpt-6-(?:sol|luna)(?:$|-\d{4}-\d{2}-\d{2}$)/.test(normalizeModelId(modelId));
36
+ export const supportsOpenAIModernResponses = (modelId) => isOpenAIGpt56Model(modelId) || isOpenAIAstraModel(modelId) || isOpenAISolLunaModel(modelId);
37
+ const isOpenAIGpt55BaseModel = (modelId) => /^gpt-5\.5(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
38
+ const isOpenAIGpt55ProModel = (modelId) => /^gpt-5\.5-pro(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
39
+ const isOpenAIGpt54BaseModel = (modelId) => /^gpt-5\.4(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
40
+ const isOpenAIGpt54MiniModel = (modelId) => /^gpt-5\.4-mini(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
41
+ const isOpenAIGpt54NanoModel = (modelId) => /^gpt-5\.4-nano(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
42
+ const isOpenAIGpt54ProModel = (modelId) => /^gpt-5\.4-pro(?:-\d{4}-\d{2}-\d{2})?$/.test(normalizeModelId(modelId));
43
+ const supportsOpenAIToolSearch = (modelId) => supportsOpenAIModernResponses(modelId) ||
44
+ isOpenAIGpt55BaseModel(modelId) ||
45
+ isOpenAIGpt54BaseModel(modelId) ||
46
+ isOpenAIGpt54MiniModel(modelId);
47
+ const supportsOpenAIComputerUse = supportsOpenAIToolSearch;
48
+ export const supportsOpenAIShell = (modelId) => supportsOpenAIModernResponses(modelId) ||
49
+ isOpenAIGpt55BaseModel(modelId) ||
50
+ isOpenAIGpt55ProModel(modelId) ||
51
+ isOpenAIGpt54BaseModel(modelId) ||
52
+ isOpenAIGpt54MiniModel(modelId) ||
53
+ isOpenAIGpt54NanoModel(modelId) ||
54
+ isOpenAIGpt54ProModel(modelId);
55
+ export const supportsOpenAIApplyPatchAndSkills = (modelId) => supportsOpenAIModernResponses(modelId) ||
56
+ isOpenAIGpt55BaseModel(modelId) ||
57
+ isOpenAIGpt54BaseModel(modelId) ||
58
+ isOpenAIGpt54MiniModel(modelId) ||
59
+ isOpenAIGpt54NanoModel(modelId);
60
+ const supportsOpenAIChatAudio = (modelId) => /^(?:gpt-audio(?:-|$)|gpt-4o(?:-mini)?-audio-preview(?:-|$))/.test(normalizeModelId(modelId));
61
+ export const isKnownOpenAIChatModel = (modelId) => ["gpt-4-0613", "gpt-4-1106-preview", "gpt-4-0125-preview", "gpt-3.5-turbo-0125", "gpt-3.5-turbo-1106"].includes(normalizeModelId(modelId)) ||
62
+ /^(?:gpt-(?:3\.5-turbo|4(?:o|\.1|\.5|-turbo)?(?:-mini|-nano)?|5(?:\.[1-6])?(?:-sol|-terra|-luna|-mini|-nano|-pro|-chat-latest)?|6-(?:sol|luna|astra))|o[134](?:-mini|-pro)?)(?:$|-\d{4}-\d{2}-\d{2}$|-preview$)/.test(normalizeModelId(modelId)) || supportsOpenAIChatAudio(modelId);
63
+ export const conservativeCapabilities = {
64
+ streaming: true,
65
+ explicitPromptCaching: false,
66
+ tools: false,
67
+ structuredOutput: false,
68
+ jsonMode: false,
69
+ toolChoice: false,
70
+ parallelToolCalls: false,
71
+ vision: false,
72
+ files: false,
73
+ audioInput: false,
74
+ audioOutput: false,
75
+ embeddings: false,
76
+ reasoning: false,
77
+ webSearch: false,
78
+ agentCapabilities: {
79
+ supportTier: "tier-c", toolChoiceNone: false, approvalRequests: false,
80
+ hostedWebSearch: false, hostedFileSearch: false, remoteMcp: false,
81
+ computerUse: false, codeExecution: false, toolsets: false,
82
+ },
83
+ };
84
+ export const modelCapabilities = (modelId, unknownPolicy = "conservative") => !isKnownOpenAIChatModel(modelId) && unknownPolicy === "conservative"
85
+ ? { ...conservativeCapabilities, agentCapabilities: { ...conservativeCapabilities.agentCapabilities } }
86
+ : ({
87
+ ...capabilities,
88
+ explicitPromptCaching: supportsOpenAIModernResponses(modelId),
89
+ files: supportsOpenAIModernResponses(modelId),
90
+ reasoningEfforts: resolveOpenAIModelProfile(modelId).reasoningEfforts ? [...resolveOpenAIModelProfile(modelId).reasoningEfforts] : undefined,
91
+ reasoningModes: supportsOpenAIModernResponses(modelId) ? ["standard", "pro"] : undefined,
92
+ reasoningContexts: supportsOpenAIModernResponses(modelId)
93
+ ? ["auto", "current_turn", "all_turns"]
94
+ : undefined,
95
+ audioInput: supportsOpenAIChatAudio(modelId),
96
+ audioOutput: supportsOpenAIChatAudio(modelId),
97
+ agentCapabilities: {
98
+ ...capabilities.agentCapabilities,
99
+ computerUse: supportsOpenAIComputerUse(modelId),
100
+ shell: supportsOpenAIShell(modelId),
101
+ applyPatch: supportsOpenAIApplyPatchAndSkills(modelId),
102
+ skills: supportsOpenAIApplyPatchAndSkills(modelId),
103
+ toolSearch: supportsOpenAIToolSearch(modelId),
104
+ programmaticToolCalling: supportsOpenAIModernResponses(modelId),
105
+ multiAgent: supportsOpenAIModernResponses(modelId),
106
+ },
107
+ });
108
+ export const transcriptionCapabilities = {
109
+ ...capabilities,
110
+ streaming: false,
111
+ tools: false,
112
+ structuredOutput: false,
113
+ jsonMode: false,
114
+ toolChoice: false,
115
+ parallelToolCalls: false,
116
+ vision: false,
117
+ audioInput: true,
118
+ audioOutput: false,
119
+ embeddings: false,
120
+ reasoning: false,
121
+ webSearch: false,
122
+ agentCapabilities: {
123
+ supportTier: "tier-c",
124
+ toolChoiceNone: false,
125
+ approvalRequests: false,
126
+ hostedWebSearch: false,
127
+ hostedFileSearch: false,
128
+ remoteMcp: false,
129
+ computerUse: false,
130
+ codeExecution: false,
131
+ toolsets: false,
132
+ },
133
+ };
134
+ export const speechCapabilities = {
135
+ ...transcriptionCapabilities,
136
+ audioInput: false,
137
+ audioOutput: true,
138
+ };
139
+ export const groundedCapabilities = {
140
+ ...capabilities,
141
+ webSearch: true,
142
+ };
143
+ const isOpenAIRealtimeTranslationModel = (modelId) => /^gpt-realtime-translate(?:[-@]|$)/.test(modelId);
144
+ const isOpenAIRealtimeTranscriptionModel = (modelId) => /^gpt-realtime-whisper(?:[-@]|$)/.test(modelId);
145
+ export const inferOpenAIRealtimeMode = (modelId, mode) => {
146
+ if (mode)
147
+ return mode;
148
+ if (isOpenAIRealtimeTranslationModel(modelId))
149
+ return "translation";
150
+ if (isOpenAIRealtimeTranscriptionModel(modelId))
151
+ return "transcription";
152
+ return "conversation";
153
+ };
154
+ const isOpenAIRealtimeReasoningModel = (modelId) => /^gpt-realtime-2(?:\.1(?:-mini)?)?(?:-\d{4}-\d{2}-\d{2}|@.*)?$/.test(modelId);
155
+ export const openAIRealtimeSupportsImageInput = (modelId) => /^(?:gpt-realtime|gpt-realtime-mini|gpt-realtime-1\.5|gpt-realtime-2(?:\.1(?:-mini)?)?)(?:-\d{4}-\d{2}-\d{2}|@.*)?$/.test(modelId);
156
+ export const realtimeCapabilities = (modelId) => ({
157
+ ...capabilities,
158
+ streaming: false,
159
+ structuredOutput: false,
160
+ jsonMode: false,
161
+ embeddings: false,
162
+ audioInput: true,
163
+ audioOutput: !isOpenAIRealtimeTranscriptionModel(modelId),
164
+ tools: !isOpenAIRealtimeTranslationModel(modelId) &&
165
+ !isOpenAIRealtimeTranscriptionModel(modelId),
166
+ toolChoice: !isOpenAIRealtimeTranslationModel(modelId) &&
167
+ !isOpenAIRealtimeTranscriptionModel(modelId),
168
+ parallelToolCalls: !isOpenAIRealtimeTranslationModel(modelId) &&
169
+ !isOpenAIRealtimeTranscriptionModel(modelId),
170
+ vision: openAIRealtimeSupportsImageInput(modelId),
171
+ reasoning: isOpenAIRealtimeReasoningModel(modelId),
172
+ webSearch: false,
173
+ agentCapabilities: {
174
+ ...capabilities.agentCapabilities,
175
+ supportTier: isOpenAIRealtimeTranslationModel(modelId) ||
176
+ isOpenAIRealtimeTranscriptionModel(modelId)
177
+ ? "tier-c"
178
+ : "tier-a",
179
+ toolChoiceNone: !isOpenAIRealtimeTranslationModel(modelId) &&
180
+ !isOpenAIRealtimeTranscriptionModel(modelId),
181
+ approvalRequests: !isOpenAIRealtimeTranslationModel(modelId) &&
182
+ !isOpenAIRealtimeTranscriptionModel(modelId),
183
+ hostedWebSearch: false,
184
+ hostedFileSearch: false,
185
+ remoteMcp: !isOpenAIRealtimeTranslationModel(modelId) &&
186
+ !isOpenAIRealtimeTranscriptionModel(modelId),
187
+ computerUse: false,
188
+ codeExecution: false,
189
+ shell: false,
190
+ applyPatch: false,
191
+ toolSearch: false,
192
+ skills: false,
193
+ toolsets: false,
194
+ },
195
+ realtime: {
196
+ sessions: true,
197
+ audioInput: true,
198
+ audioOutput: !isOpenAIRealtimeTranscriptionModel(modelId),
199
+ imageInput: openAIRealtimeSupportsImageInput(modelId),
200
+ tools: !isOpenAIRealtimeTranslationModel(modelId) &&
201
+ !isOpenAIRealtimeTranscriptionModel(modelId),
202
+ browserTokens: true,
203
+ },
204
+ });
205
+ /** Family policy is the single input to metadata, validation and default transport selection. */
206
+ export const resolveOpenAIModelProfile = (modelId) => {
207
+ const astra = isOpenAIAstraModel(modelId);
208
+ const solLuna = isOpenAISolLunaModel(modelId);
209
+ const modern = supportsOpenAIModernResponses(modelId);
210
+ return {
211
+ label: astra ? "GPT-6 Astra" : "GPT-6 Sol/Luna",
212
+ defaultApi: modern ? "responses" : "chat",
213
+ modern,
214
+ reasoningEfforts: modern ? (astra ? ["low", "medium", "high", "xhigh", "max"] : ["none", "low", "medium", "high", "xhigh", "max"]) : undefined,
215
+ sampling: astra ? "unsupported" : solLuna ? "effort-none" : "allowed",
216
+ toolsRequireResponses: astra ? "always" : solLuna ? "unless-effort-none" : "never",
217
+ };
218
+ };
219
+ export const assertOpenAIModelRequestSupported = (modelId, input, options) => {
220
+ const profile = resolveOpenAIModelProfile(modelId);
221
+ const raw = options.bodyOptions;
222
+ const effort = input.reasoning?.effort ?? raw.reasoning?.effort ?? raw.reasoning_effort;
223
+ // Existing GPT-5.6 behavior is preserved; restrictive policies apply to GPT-6.
224
+ if (profile.sampling === "allowed")
225
+ return;
226
+ if (effort !== undefined && profile.reasoningEfforts && !profile.reasoningEfforts.some(value => value === String(effort))) {
227
+ throw new UnsupportedFeatureError(`${profile.label} does not support reasoning effort "${effort}".`);
228
+ }
229
+ const restricted = profile.sampling === "unsupported" || effort !== "none";
230
+ const hasSampling = input.temperature !== undefined || raw.temperature !== undefined || raw.top_p !== undefined || raw.top_logprobs !== undefined ||
231
+ (options.apiMode === "chat" && raw.logprobs !== undefined) || raw.include?.includes("message.output_text.logprobs");
232
+ if (restricted && hasSampling) {
233
+ throw new UnsupportedFeatureError(profile.sampling === "unsupported"
234
+ ? `${profile.label} does not support the requested sampling or logprobs controls.`
235
+ : `${profile.label} sampling and logprobs controls require reasoning effort "none".`);
236
+ }
237
+ if (options.apiMode === "chat" && Object.keys(input.tools ?? {}).length &&
238
+ (profile.toolsRequireResponses === "always" || (profile.toolsRequireResponses === "unless-effort-none" && effort !== "none"))) {
239
+ throw new UnsupportedFeatureError(profile.toolsRequireResponses === "always"
240
+ ? `${profile.label} tool calling requires the Responses API.`
241
+ : `${profile.label} tool calling with reasoning requires the Responses API; Chat Completions requires effort "none".`);
242
+ }
243
+ };
244
+ //# sourceMappingURL=model-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-profiles.js","sourceRoot":"","sources":["../src/model-profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { CallbackRealtimeSession, type ModelCapabilities, type RealtimeConnectOptions, type RealtimeConnectionFactory, type RealtimeModel, type RealtimeSessionConfig, type RealtimeTokenResult } from "@zhivex-ai/core/provider";
2
+ export declare const openAIRealtimeMcpMetadataKey = "openai.realtime_mcp";
3
+ export declare const resolveOpenAIRealtimeHeaders: (apiKey: string, providerOptions: Record<string, unknown> | undefined, includeContentType?: boolean) => {
4
+ "content-type": string;
5
+ authorization: string;
6
+ "OpenAI-Safety-Identifier"?: string | undefined;
7
+ } | {
8
+ authorization: string;
9
+ "OpenAI-Safety-Identifier"?: string | undefined;
10
+ };
11
+ export declare class OpenAIRealtimeModel implements RealtimeModel {
12
+ readonly modelId: string;
13
+ private readonly apiKey;
14
+ private readonly baseURL;
15
+ private readonly fetcher;
16
+ private readonly connectionFactory?;
17
+ private readonly realtimeURL?;
18
+ private readonly browserTokenURL?;
19
+ private readonly allowUnsafeEndpoints;
20
+ readonly provider = "openai";
21
+ readonly capabilities: ModelCapabilities;
22
+ constructor(modelId: string, apiKey: string, baseURL: string, fetcher: typeof globalThis.fetch, connectionFactory?: RealtimeConnectionFactory | undefined, realtimeURL?: string | undefined, browserTokenURL?: string | undefined, allowUnsafeEndpoints?: boolean);
23
+ private resolveConfig;
24
+ connect(config?: RealtimeSessionConfig, options?: RealtimeConnectOptions): Promise<CallbackRealtimeSession>;
25
+ createBrowserToken(config?: RealtimeSessionConfig, options?: RealtimeConnectOptions): Promise<RealtimeTokenResult>;
26
+ }
27
+ //# sourceMappingURL=realtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EAcvB,KAAK,iBAAiB,EAEtB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAMlC,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,eAAO,MAAM,4BAA4B,WAC/B,MAAM,mBACG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;;;;;;CA2BrD,CAAC;AAsaF,qBAAa,mBAAoB,YAAW,aAAa;IAKrD,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAXvC,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAEzC,YACW,OAAO,EAAE,MAAM,EACP,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,EAChC,iBAAiB,CAAC,EAAE,yBAAyB,YAAA,EAC7C,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,eAAe,CAAC,EAAE,MAAM,YAAA,EACxB,oBAAoB,UAAQ,EAG9C;IAED,OAAO,CAAC,aAAa;IAmBf,OAAO,CAAC,MAAM,GAAE,qBAA0B,EAAE,OAAO,CAAC,EAAE,sBAAsB,oCAwJjF;IAEK,kBAAkB,CAAC,MAAM,GAAE,qBAA0B,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwD3H;CACF"}