@zhivex-ai/openai 0.13.7 → 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.
package/README.md CHANGED
@@ -413,3 +413,26 @@ Events such as idle, subagent completion, turn failure and cancellation are pres
413
413
  ### Chat Completions stream contract
414
414
 
415
415
  Chat streaming shares the Core transport parser with Azure. It assembles fragmented tools by index, retains trailing usage, rejects malformed or prematurely disconnected tool streams, and releases the response body on early exit. Complete tool calls accompanied by a provider `stop` reason are emitted with SDK finish reason `tool-calls`, while `providerFinishReason` remains `stop`. Truncated or content-filtered calls are never emitted for execution.
416
+
417
+ ### Model capability profiles
418
+
419
+ Unrecognized language model IDs default to text and streaming support. Tools, vision,
420
+ native structured output and reasoning require a known provider profile or explicit
421
+ per-model declarations. Direct requests reject undeclared advanced features before
422
+ sending them to the provider. The model ID remains usable for ordinary text requests.
423
+
424
+ For a new model or a private deployment, declare only features verified for that route:
425
+
426
+ ```ts
427
+ const provider = createOpenAI({
428
+ apiKey: process.env.OPENAI_API_KEY,
429
+ modelCapabilities: {
430
+ "private-model": { tools: true, toolChoice: true, structuredOutput: true },
431
+ },
432
+ });
433
+ ```
434
+
435
+ `unknownModelCapabilities: "legacy"` explicitly restores the historical optimistic
436
+ capabilities for unrecognized IDs during migration. Exact per-ID declarations take
437
+ precedence over the selected defaults; nested `agentCapabilities` declarations merge
438
+ with the profile. Known profiles keep their existing behavior.
@@ -1,16 +1,2 @@
1
- import type { ModelCapabilities, RealtimeSessionConfig } from "@zhivex-ai/core/contracts";
2
- export declare const capabilities: ModelCapabilities;
3
- export declare const isOpenAIGpt56Model: (modelId: string) => boolean;
4
- export declare const isOpenAIAstraModel: (modelId: string) => boolean;
5
- export declare const isOpenAISolLunaModel: (modelId: string) => boolean;
6
- export declare const supportsOpenAIModernResponses: (modelId: string) => boolean;
7
- export declare const supportsOpenAIShell: (modelId: string) => boolean;
8
- export declare const supportsOpenAIApplyPatchAndSkills: (modelId: string) => boolean;
9
- export declare const modelCapabilities: (modelId: string) => ModelCapabilities;
10
- export declare const transcriptionCapabilities: ModelCapabilities;
11
- export declare const speechCapabilities: ModelCapabilities;
12
- export declare const groundedCapabilities: ModelCapabilities;
13
- export declare const inferOpenAIRealtimeMode: (modelId: string, mode?: RealtimeSessionConfig["mode"]) => NonNullable<RealtimeSessionConfig["mode"]>;
14
- export declare const openAIRealtimeSupportsImageInput: (modelId: string) => boolean;
15
- export declare const realtimeCapabilities: (modelId: string) => ModelCapabilities;
1
+ export * from "./model-profiles.js";
16
2
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,iBA6B1B,CAAC;AAIF,eAAO,MAAM,kBAAkB,YAAa,MAAM,YAG/C,CAAC;AACJ,eAAO,MAAM,kBAAkB,YAAa,MAAM,YACsB,CAAC;AAEzE,eAAO,MAAM,oBAAoB,YAAa,MAAM,YAC4B,CAAC;AAEjF,eAAO,MAAM,6BAA6B,YAAa,MAAM,YACgC,CAAC;AAuB9F,eAAO,MAAM,mBAAmB,YAAa,MAAM,YAOnB,CAAC;AAEjC,eAAO,MAAM,iCAAiC,YAAa,MAAM,YAKhC,CAAC;AAOlC,eAAO,MAAM,iBAAiB,YAAa,MAAM,KAAG,iBAyBlD,CAAC;AAEH,eAAO,MAAM,yBAAyB,EAAE,iBAyBvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAIhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAGlC,CAAC;AAOF,eAAO,MAAM,uBAAuB,YACzB,MAAM,SACR,qBAAqB,CAAC,MAAM,CAAC,KACnC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAK3C,CAAC;AAOF,eAAO,MAAM,gCAAgC,YAAa,MAAM,YAG7D,CAAC;AAEJ,eAAO,MAAM,oBAAoB,YACtB,MAAM,KACd,iBAwDD,CAAC"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -1,183 +1,2 @@
1
- export const capabilities = {
2
- streaming: true,
3
- tools: true,
4
- structuredOutput: true,
5
- jsonMode: true,
6
- toolChoice: true,
7
- parallelToolCalls: true,
8
- vision: true,
9
- files: false,
10
- audioInput: false,
11
- audioOutput: false,
12
- embeddings: true,
13
- reasoning: true,
14
- webSearch: true,
15
- agentCapabilities: {
16
- supportTier: "tier-a",
17
- toolChoiceNone: true,
18
- approvalRequests: true,
19
- hostedWebSearch: true,
20
- hostedFileSearch: true,
21
- remoteMcp: true,
22
- computerUse: true,
23
- codeExecution: true,
24
- shell: true,
25
- applyPatch: true,
26
- toolSearch: true,
27
- skills: true,
28
- toolsets: false,
29
- },
30
- };
31
- const normalizeModelId = (modelId) => modelId.trim().toLowerCase();
32
- export const isOpenAIGpt56Model = (modelId) => /^gpt-5\.6(?:$|-(?:sol|terra|luna)(?:-|$)|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
33
- export const isOpenAIAstraModel = (modelId) => /^gpt-6-astra(?:$|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
34
- export const isOpenAISolLunaModel = (modelId) => /^gpt-6-(?:sol|luna)(?:$|-\d{4}-\d{2}-\d{2}$)/.test(normalizeModelId(modelId));
35
- export const supportsOpenAIModernResponses = (modelId) => isOpenAIGpt56Model(modelId) || isOpenAIAstraModel(modelId) || isOpenAISolLunaModel(modelId);
36
- const isOpenAIGpt55BaseModel = (modelId) => /^gpt-5\.5(?:$|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
37
- const isOpenAIGpt55ProModel = (modelId) => /^gpt-5\.5-pro(?:$|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
38
- const isOpenAIGpt54BaseModel = (modelId) => /^gpt-5\.4(?:$|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
39
- const isOpenAIGpt54MiniModel = (modelId) => /^gpt-5\.4-mini(?:$|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
40
- const isOpenAIGpt54NanoModel = (modelId) => /^gpt-5\.4-nano(?:$|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
41
- const isOpenAIGpt54ProModel = (modelId) => /^gpt-5\.4-pro(?:$|-\d{4}-\d{2}-\d{2})/.test(normalizeModelId(modelId));
42
- const supportsOpenAIToolSearch = (modelId) => supportsOpenAIModernResponses(modelId) ||
43
- isOpenAIGpt55BaseModel(modelId) ||
44
- isOpenAIGpt54BaseModel(modelId) ||
45
- isOpenAIGpt54MiniModel(modelId);
46
- const supportsOpenAIComputerUse = supportsOpenAIToolSearch;
47
- export const supportsOpenAIShell = (modelId) => supportsOpenAIModernResponses(modelId) ||
48
- isOpenAIGpt55BaseModel(modelId) ||
49
- isOpenAIGpt55ProModel(modelId) ||
50
- isOpenAIGpt54BaseModel(modelId) ||
51
- isOpenAIGpt54MiniModel(modelId) ||
52
- isOpenAIGpt54NanoModel(modelId) ||
53
- isOpenAIGpt54ProModel(modelId);
54
- export const supportsOpenAIApplyPatchAndSkills = (modelId) => supportsOpenAIModernResponses(modelId) ||
55
- isOpenAIGpt55BaseModel(modelId) ||
56
- isOpenAIGpt54BaseModel(modelId) ||
57
- isOpenAIGpt54MiniModel(modelId) ||
58
- isOpenAIGpt54NanoModel(modelId);
59
- const supportsOpenAIChatAudio = (modelId) => /^(?:gpt-audio(?:-|$)|gpt-4o(?:-mini)?-audio-preview(?:-|$))/.test(normalizeModelId(modelId));
60
- export const modelCapabilities = (modelId) => ({
61
- ...capabilities,
62
- explicitPromptCaching: supportsOpenAIModernResponses(modelId),
63
- files: supportsOpenAIModernResponses(modelId),
64
- reasoningEfforts: isOpenAIAstraModel(modelId)
65
- ? ["low", "medium", "high", "xhigh", "max"]
66
- : supportsOpenAIModernResponses(modelId)
67
- ? ["none", "low", "medium", "high", "xhigh", "max"]
68
- : undefined,
69
- reasoningModes: supportsOpenAIModernResponses(modelId) ? ["standard", "pro"] : undefined,
70
- reasoningContexts: supportsOpenAIModernResponses(modelId)
71
- ? ["auto", "current_turn", "all_turns"]
72
- : undefined,
73
- audioInput: supportsOpenAIChatAudio(modelId),
74
- audioOutput: supportsOpenAIChatAudio(modelId),
75
- agentCapabilities: {
76
- ...capabilities.agentCapabilities,
77
- computerUse: supportsOpenAIComputerUse(modelId),
78
- shell: supportsOpenAIShell(modelId),
79
- applyPatch: supportsOpenAIApplyPatchAndSkills(modelId),
80
- skills: supportsOpenAIApplyPatchAndSkills(modelId),
81
- toolSearch: supportsOpenAIToolSearch(modelId),
82
- programmaticToolCalling: supportsOpenAIModernResponses(modelId),
83
- multiAgent: supportsOpenAIModernResponses(modelId),
84
- },
85
- });
86
- export const transcriptionCapabilities = {
87
- ...capabilities,
88
- streaming: false,
89
- tools: false,
90
- structuredOutput: false,
91
- jsonMode: false,
92
- toolChoice: false,
93
- parallelToolCalls: false,
94
- vision: false,
95
- audioInput: true,
96
- audioOutput: false,
97
- embeddings: false,
98
- reasoning: false,
99
- webSearch: false,
100
- agentCapabilities: {
101
- supportTier: "tier-c",
102
- toolChoiceNone: false,
103
- approvalRequests: false,
104
- hostedWebSearch: false,
105
- hostedFileSearch: false,
106
- remoteMcp: false,
107
- computerUse: false,
108
- codeExecution: false,
109
- toolsets: false,
110
- },
111
- };
112
- export const speechCapabilities = {
113
- ...transcriptionCapabilities,
114
- audioInput: false,
115
- audioOutput: true,
116
- };
117
- export const groundedCapabilities = {
118
- ...capabilities,
119
- webSearch: true,
120
- };
121
- const isOpenAIRealtimeTranslationModel = (modelId) => /^gpt-realtime-translate(?:[-@]|$)/.test(modelId);
122
- const isOpenAIRealtimeTranscriptionModel = (modelId) => /^gpt-realtime-whisper(?:[-@]|$)/.test(modelId);
123
- export const inferOpenAIRealtimeMode = (modelId, mode) => {
124
- if (mode)
125
- return mode;
126
- if (isOpenAIRealtimeTranslationModel(modelId))
127
- return "translation";
128
- if (isOpenAIRealtimeTranscriptionModel(modelId))
129
- return "transcription";
130
- return "conversation";
131
- };
132
- const isOpenAIRealtimeReasoningModel = (modelId) => /^gpt-realtime-2(?:\.1(?:-mini)?)?(?:-\d{4}-\d{2}-\d{2}|@.*)?$/.test(modelId);
133
- 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);
134
- export const realtimeCapabilities = (modelId) => ({
135
- ...capabilities,
136
- streaming: false,
137
- structuredOutput: false,
138
- jsonMode: false,
139
- embeddings: false,
140
- audioInput: true,
141
- audioOutput: !isOpenAIRealtimeTranscriptionModel(modelId),
142
- tools: !isOpenAIRealtimeTranslationModel(modelId) &&
143
- !isOpenAIRealtimeTranscriptionModel(modelId),
144
- toolChoice: !isOpenAIRealtimeTranslationModel(modelId) &&
145
- !isOpenAIRealtimeTranscriptionModel(modelId),
146
- parallelToolCalls: !isOpenAIRealtimeTranslationModel(modelId) &&
147
- !isOpenAIRealtimeTranscriptionModel(modelId),
148
- vision: openAIRealtimeSupportsImageInput(modelId),
149
- reasoning: isOpenAIRealtimeReasoningModel(modelId),
150
- webSearch: false,
151
- agentCapabilities: {
152
- ...capabilities.agentCapabilities,
153
- supportTier: isOpenAIRealtimeTranslationModel(modelId) ||
154
- isOpenAIRealtimeTranscriptionModel(modelId)
155
- ? "tier-c"
156
- : "tier-a",
157
- toolChoiceNone: !isOpenAIRealtimeTranslationModel(modelId) &&
158
- !isOpenAIRealtimeTranscriptionModel(modelId),
159
- approvalRequests: !isOpenAIRealtimeTranslationModel(modelId) &&
160
- !isOpenAIRealtimeTranscriptionModel(modelId),
161
- hostedWebSearch: false,
162
- hostedFileSearch: false,
163
- remoteMcp: !isOpenAIRealtimeTranslationModel(modelId) &&
164
- !isOpenAIRealtimeTranscriptionModel(modelId),
165
- computerUse: false,
166
- codeExecution: false,
167
- shell: false,
168
- applyPatch: false,
169
- toolSearch: false,
170
- skills: false,
171
- toolsets: false,
172
- },
173
- realtime: {
174
- sessions: true,
175
- audioInput: true,
176
- audioOutput: !isOpenAIRealtimeTranscriptionModel(modelId),
177
- imageInput: openAIRealtimeSupportsImageInput(modelId),
178
- tools: !isOpenAIRealtimeTranslationModel(modelId) &&
179
- !isOpenAIRealtimeTranscriptionModel(modelId),
180
- browserTokens: true,
181
- },
182
- });
1
+ export * from "./model-profiles.js";
183
2
  //# sourceMappingURL=capabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { OpenAIAgentsClient } from "./agents.js";
3
3
  export { OpenAIAgentsClient } from "./agents.js";
4
4
  export type { OpenAIAgentSessionInput, OpenAIAgentSession, OpenAIAgentEvent, OpenAIAgentsPage, OpenAIAgentsRequestOptions } from "./agents.js";
5
5
  import { z } from "zod";
6
- import { type AudioResponseLimits, type CallableProviderAdapter, type JsonValue, type LanguageModel, type RealtimeConnectionFactory, type ToolDefinition, type ToolExecutionResult } from "@zhivex-ai/core/provider";
6
+ import { type AudioResponseLimits, type CallableProviderAdapter, type JsonValue, type LanguageModel, type ModelCapabilities, type RealtimeConnectionFactory, type ToolDefinition, type ToolExecutionResult } from "@zhivex-ai/core/provider";
7
7
  export declare const OPENAI_RESPONSES_TOOL_CALL_ERROR_CODE: "OPENAI_RESPONSES_TOOL_CALL_INVALID";
8
8
  export interface OpenAIResponseLimits extends AudioResponseLimits {
9
9
  /** Maximum decoded bytes in one hosted image partial or final SSE event. Defaults to 32 MiB. */
@@ -15,6 +15,12 @@ export interface OpenAIResponseLimits extends AudioResponseLimits {
15
15
  }
16
16
  export interface OpenAIProviderOptions {
17
17
  apiKey?: string;
18
+ /** Conservative defaults for unrecognized IDs; legacy restores historical capability assumptions. */
19
+ unknownModelCapabilities?: "conservative" | "legacy";
20
+ /** Explicit capability declarations keyed by model ID, for private deployments or new models. */
21
+ modelCapabilities?: Record<string, Omit<Partial<ModelCapabilities>, "agentCapabilities"> & {
22
+ agentCapabilities?: Partial<NonNullable<ModelCapabilities["agentCapabilities"]>>;
23
+ }>;
18
24
  baseURL?: string;
19
25
  fetch?: typeof globalThis.fetch;
20
26
  realtimeURL?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC/I,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBtC,OAAO,EAsBL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAK5B,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAGtB,KAAK,yBAAyB,EAG9B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAQlC,eAAO,MAAM,qCAAqC,EAAG,oCAA6C,CAAC;AAEnG,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,gGAAgG;IAChG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uFAAuF;IACvF,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AA+CD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qGAAqG;IACrG,wBAAwB,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC;IACrD,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,GAAG;QACzF,iBAAiB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;KAClF,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,iGAAiG;IACjG,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC3D,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,YAAY,GAAG,uBAAuB,CAAC;IAC9C,mBAAmB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACpE,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,EAAE,GAAG,mBAAmB,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAChC,OAAO,GACP,QAAQ,GACR;IACE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,iBAAiB,GACjB,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B,KAAK,+BAA+B,GAAG;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,eAAe,CAAC,EAAE,4BAA4B,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,CAAC,+BAA+B,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC,GACF,CAAC,+BAA+B,GAAG;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,YAAY,EAAE,iBAAiB,CAAC;CACjC,CAAC,CAAC;AAEP,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,CACP,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,8BAA8B,CAAC,GAAG,8BAA8B,CAAC;CAC/E;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EACL,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACN,eAAe,CAAC,EAAE,4BAA4B,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,EAAE,CAAC,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;CACjH;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC3F,cAAc,CAAC,EAAE,8BAA8B,CAAC;CACjD,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC3F,cAAc,CAAC,EAAE,8BAA8B,CAAC;CACjD,CAAC;AAEN,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,2BAA2B,CAAC;AAEhG,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,4BAA4B,CAAC;IAC1C,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAChD,cAAc,EAAE,CAAC,SAAS,EAAE,yBAAyB,KAAK,OAAO,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;CAC5H;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,4BAA4B,GAAG,QAAQ,GAAG,cAAc,CAAC;AAErE,MAAM,WAAW,6BAA6B;IAC5C,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAoCD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5E;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,UAAU,CAAC;IACvF,MAAM,EACF,aAAa,GACb,WAAW,GACX,QAAQ,GACR,mBAAmB,GACnB,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,gBAAgB,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,sCAAsC;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GACtB,wBAAwB,GACxB,yBAAyB,GACzB,aAAa,GACb,kBAAkB,GAClB,+BAA+B,GAC/B,yBAAyB,CAAC;AAE9B,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,sBAAsB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAC7C,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EACR,MAAM,GACN,MAAM,GACN,UAAU,GACV;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAChD;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAClC;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA6+DD,eAAO,MAAM,YAAY,aACd,qBAAqB,KAC7B,uBAAuB,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,GAAG;IACtE,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,kBAAkB,CAAC;CAuE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAY,yBAAyB,uEAOjE,CAAC;AAEL,eAAO,MAAM,oBAAoB,YAAY,0BAA0B,uEAOnE,CAAC;AAEL,eAAO,MAAM,yBAAyB,WAAY,+BAA+B,uEAO7E,CAAC;AAEL,eAAO,MAAM,oBAAoB,YAAY,0BAA0B,uEAOnE,CAAC;AAEL,eAAO,MAAM,iCAAiC,0EAM1C,CAAC;AAEL,eAAO,MAAM,sBAAsB,GAAI,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,OAAO,cAC9D,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YACnC,6BAA6B,KACrC,cAAc,CAAC,OAAO,EAAE,OAAO,CAShC,CAAC;AAEH,eAAO,MAAM,mBAAmB,WAAY,yBAAyB,uEAQjE,CAAC;AAEL,eAAO,MAAM,yBAAyB,aAAc,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,mDAIvF,CAAC;AAEL,eAAO,MAAM,+BAA+B,aAChC,sCAAsC,KAC/C,mBAmBD,CAAC;AAEH,eAAO,MAAM,2BAA2B,sDAIpC,CAAC;AAEL,eAAO,MAAM,qBAAqB,WAAY,2BAA2B,uEAOrE,CAAC;AAEL,eAAO,MAAM,kBAAkB,WACrB,wBAAwB,KAC/B,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAkB7D,CAAC;AAwEH,eAAO,MAAM,qBAAqB,WAAY,2BAA2B,uEAUrE,CAAC;AAEL,eAAO,MAAM,eAAe,YAAY,qBAAqB,KAAQ,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,SAAS,CA2B5H,CAAC;AAaH,eAAO,MAAM,oBAAoB,WACvB,0BAA0B,KACjC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAoB/D,CAAC;AAEH,cAAc,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ export { OpenAIAgentsClient } from "./agents.js";
7
7
  import { toJSONSchema, z } from "zod";
8
8
  import { OpenAILiveModel, isOpenAILiveModel } from "./live.js";
9
9
  import { createOpenAIImageGenerationModel, normalizeOpenAIImageGenerationCall, normalizeOpenAIImageGenerationPartialImage } from "./image-generation.js";
10
- import { groundedCapabilities, supportsOpenAIModernResponses, isOpenAIAstraModel, isOpenAISolLunaModel, modelCapabilities, supportsOpenAIApplyPatchAndSkills, supportsOpenAIShell } from "./capabilities.js";
10
+ import { groundedCapabilities, supportsOpenAIModernResponses, assertOpenAIModelRequestSupported, resolveOpenAIModelProfile, modelCapabilities } from "./capabilities.js";
11
11
  import { imageInputToDataUrl, ConfigurationError, ProviderHTTPError, ProviderResponseTooLargeError, ProviderToolCallError, assertTrustedEndpoint, resolveAudioResponseLimits, openWebSocketConnection, hostedTool, providerDataPart, UnsupportedFeatureError, createProviderAdapter, isCallableToolDefinition, isHostedToolDefinition, normalizeFinishReason, streamSSE, streamChatCompletions, toolResultPayload, withRetry, withResponseRetry, withTimeoutSignal } from "@zhivex-ai/core/provider";
12
12
  const MIB = 1024 * 1024;
13
13
  const DEFAULT_HOSTED_IMAGE_EVENT_BYTES = 32 * MIB;
@@ -270,8 +270,7 @@ const responsesImageGenerationConfig = (tools, limits) => {
270
270
  : {})
271
271
  };
272
272
  };
273
- const assertResponsesToolsSupported = (modelId, tools) => {
274
- const currentCapabilities = modelCapabilities(modelId).agentCapabilities;
273
+ const assertResponsesToolsSupported = (modelId, tools, currentCapabilities) => {
275
274
  for (const definition of Object.values(tools ?? {})) {
276
275
  const type = isCallableToolDefinition(definition) ? openAILocalResponsesToolType(definition) : definition.type;
277
276
  if (type === "tool_search" && !currentCapabilities?.toolSearch) {
@@ -283,22 +282,22 @@ const assertResponsesToolsSupported = (modelId, tools) => {
283
282
  if (type === "computer" && !currentCapabilities?.computerUse) {
284
283
  throw new UnsupportedFeatureError(`Provider "openai" model "${modelId}" does not support the Responses computer tool.`);
285
284
  }
286
- if (type === "shell" && !supportsOpenAIShell(modelId)) {
285
+ if (type === "shell" && !currentCapabilities?.shell) {
287
286
  throw new UnsupportedFeatureError(`Provider "openai" model "${modelId}" does not support the Responses ${type} tool.`);
288
287
  }
289
- if (type === "apply_patch" && !supportsOpenAIApplyPatchAndSkills(modelId)) {
288
+ if (type === "apply_patch" && !currentCapabilities?.applyPatch) {
290
289
  throw new UnsupportedFeatureError(`Provider "openai" model "${modelId}" does not support the Responses ${type} tool.`);
291
290
  }
292
291
  if (type === "skill" && !currentCapabilities?.skills) {
293
292
  throw new UnsupportedFeatureError(`Provider "openai" model "${modelId}" does not support the Responses skills tool.`);
294
293
  }
295
- if (type === "programmatic_tool_calling" && !supportsOpenAIModernResponses(modelId)) {
294
+ if (type === "programmatic_tool_calling" && !currentCapabilities?.programmaticToolCalling) {
296
295
  throw new UnsupportedFeatureError(`Provider "openai" model "${modelId}" does not support Programmatic Tool Calling.`);
297
296
  }
298
297
  }
299
298
  };
300
- const assertOpenAIResponsesOptionsSupported = (modelId, options) => {
301
- if (options.multi_agent?.enabled && !supportsOpenAIModernResponses(modelId)) {
299
+ const assertOpenAIResponsesOptionsSupported = (modelId, options, currentCapabilities) => {
300
+ if (options.multi_agent?.enabled && !currentCapabilities?.multiAgent) {
302
301
  throw new UnsupportedFeatureError(`Provider "openai" model "${modelId}" does not support Multi-agent.`);
303
302
  }
304
303
  };
@@ -1419,45 +1418,43 @@ class OpenAILanguageModel {
1419
1418
  responseLimits;
1420
1419
  provider = "openai";
1421
1420
  capabilities;
1422
- constructor(modelId, apiKey, baseURL, fetcher, responseLimits) {
1421
+ constructor(modelId, apiKey, baseURL, fetcher, responseLimits, capabilityOptions) {
1423
1422
  this.modelId = modelId;
1424
1423
  this.apiKey = apiKey;
1425
1424
  this.baseURL = baseURL;
1426
1425
  this.fetcher = fetcher;
1427
1426
  this.responseLimits = responseLimits;
1428
- this.capabilities = { ...modelCapabilities(modelId), toolHistory: "json" };
1427
+ const base = modelCapabilities(modelId, capabilityOptions.unknownModelCapabilities);
1428
+ const override = (capabilityOptions.modelCapabilities && Object.hasOwn(capabilityOptions.modelCapabilities, modelId) ? capabilityOptions.modelCapabilities[modelId] : undefined);
1429
+ this.capabilities = { ...base, ...override,
1430
+ agentCapabilities: { ...base.agentCapabilities, ...override?.agentCapabilities }, toolHistory: "json" };
1429
1431
  }
1430
1432
  usesResponsesAPI(input, options) {
1431
- if (isOpenAISolLunaModel(this.modelId)) {
1432
- const raw = options.bodyOptions;
1433
- const effort = input.reasoning?.effort ?? raw.reasoning?.effort ?? raw.reasoning_effort;
1434
- if (effort !== undefined && !["none", "low", "medium", "high", "xhigh", "max"].includes(String(effort))) {
1435
- throw new UnsupportedFeatureError(`GPT-6 Sol/Luna does not support reasoning effort "${effort}".`);
1436
- }
1437
- if (effort !== "none") {
1438
- if (input.temperature !== undefined || raw.temperature !== undefined || raw.top_p !== undefined || raw.top_logprobs !== undefined ||
1439
- (options.apiMode === "chat" && raw.logprobs !== undefined) || raw.include?.includes("message.output_text.logprobs")) {
1440
- throw new UnsupportedFeatureError('GPT-6 Sol/Luna sampling and logprobs controls require reasoning effort "none".');
1441
- }
1442
- if (options.apiMode === "chat" && Object.keys(input.tools ?? {}).length) {
1443
- throw new UnsupportedFeatureError('GPT-6 Sol/Luna tool calling with reasoning requires the Responses API; Chat Completions requires effort "none".');
1444
- }
1445
- }
1433
+ if (!this.capabilities.tools && (Object.keys(input.tools ?? {}).length || input.messages.some(message => message.parts.some(part => part.type === "tool-call" || part.type === "tool-result")))) {
1434
+ throw new UnsupportedFeatureError(`OpenAI model "${this.modelId}" has no declared tool support.`);
1446
1435
  }
1447
- if (isOpenAIAstraModel(this.modelId)) {
1448
- const raw = options.bodyOptions;
1449
- const effort = input.reasoning?.effort ?? raw.reasoning?.effort ?? raw.reasoning_effort;
1450
- if (effort !== undefined && !["low", "medium", "high", "xhigh", "max"].includes(String(effort))) {
1451
- throw new UnsupportedFeatureError(`GPT-6 Astra does not support reasoning effort "${effort}".`);
1452
- }
1453
- if (input.temperature !== undefined || raw.temperature !== undefined || raw.top_p !== undefined || raw.top_logprobs !== undefined ||
1454
- (options.apiMode === "chat" && raw.logprobs !== undefined) || raw.include?.includes("message.output_text.logprobs")) {
1455
- throw new UnsupportedFeatureError("GPT-6 Astra does not support the requested sampling or logprobs controls.");
1456
- }
1457
- if (options.apiMode === "chat" && Object.keys(input.tools ?? {}).length) {
1458
- throw new UnsupportedFeatureError("GPT-6 Astra tool calling requires the Responses API.");
1459
- }
1436
+ if (!this.capabilities.vision && input.messages.some(message => message.parts.some(part => part.type === "image"))) {
1437
+ throw new UnsupportedFeatureError(`OpenAI model "${this.modelId}" has no declared vision support.`);
1438
+ }
1439
+ const rawFormat = options.bodyOptions.response_format;
1440
+ const rawText = options.bodyOptions.text;
1441
+ const formatTypes = [rawFormat?.type, rawText?.format?.type];
1442
+ if (!this.capabilities.structuredOutput && (input.structuredOutput?.mode === "native" || formatTypes.includes("json_schema"))) {
1443
+ throw new UnsupportedFeatureError(`OpenAI model "${this.modelId}" has no declared native structured output support.`);
1444
+ }
1445
+ if (!this.capabilities.jsonMode && formatTypes.includes("json_object")) {
1446
+ throw new UnsupportedFeatureError(`OpenAI model "${this.modelId}" has no declared JSON mode support.`);
1447
+ }
1448
+ if (!this.capabilities.parallelToolCalls && options.bodyOptions.parallel_tool_calls === true) {
1449
+ throw new UnsupportedFeatureError(`OpenAI model "${this.modelId}" has no declared parallel tool calling support.`);
1450
+ }
1451
+ if (!this.capabilities.reasoning && (input.reasoning || options.bodyOptions.reasoning || options.bodyOptions.reasoning_effort)) {
1452
+ throw new UnsupportedFeatureError(`OpenAI model "${this.modelId}" has no declared reasoning support.`);
1453
+ }
1454
+ if (!this.capabilities.toolChoice && (input.toolChoice !== undefined || options.bodyOptions.tool_choice !== undefined)) {
1455
+ throw new UnsupportedFeatureError(`OpenAI model "${this.modelId}" has no declared tool choice support.`);
1460
1456
  }
1457
+ assertOpenAIModelRequestSupported(this.modelId, input, options);
1461
1458
  const requiresResponses = hasResponsesOnlyTools(input.tools) || options.multiAgentEnabled;
1462
1459
  if (options.apiMode === "chat") {
1463
1460
  if (requiresResponses) {
@@ -1465,12 +1462,12 @@ class OpenAILanguageModel {
1465
1462
  }
1466
1463
  return false;
1467
1464
  }
1468
- return options.apiMode === "responses" || requiresResponses || supportsOpenAIModernResponses(this.modelId);
1465
+ return options.apiMode === "responses" || requiresResponses || resolveOpenAIModelProfile(this.modelId).defaultApi === "responses";
1469
1466
  }
1470
1467
  async generateViaResponses(input, signal, options) {
1471
1468
  const responseBodyOptions = openAIResponsesBodyOptions(options.bodyOptions, this.modelId);
1472
- assertResponsesToolsSupported(this.modelId, input.tools);
1473
- assertOpenAIResponsesOptionsSupported(this.modelId, responseBodyOptions);
1469
+ assertResponsesToolsSupported(this.modelId, input.tools, this.capabilities.agentCapabilities);
1470
+ assertOpenAIResponsesOptionsSupported(this.modelId, responseBodyOptions, this.capabilities.agentCapabilities);
1474
1471
  const previousResponse = responseBodyOptions.store === false ? undefined : getProviderResponseId(input.messages);
1475
1472
  const messages = previousResponse && previousResponse.index < input.messages.length - 1
1476
1473
  ? input.messages.slice(previousResponse.index + 1)
@@ -1491,7 +1488,7 @@ class OpenAILanguageModel {
1491
1488
  ...(nextInput.length ? { input: nextInput } : {}),
1492
1489
  tools: mapResponsesTools(input.tools),
1493
1490
  ...(input.toolChoice ? { tool_choice: mapResponsesToolChoice(input.toolChoice) } : {}),
1494
- text: mapResponsesStructuredOutput(input),
1491
+ text: mapResponsesStructuredOutput(input) ?? responseBodyOptions.text,
1495
1492
  temperature: input.temperature,
1496
1493
  max_output_tokens: input.maxTokens,
1497
1494
  ...mapResponsesReasoning(input, responseBodyOptions.reasoning)
@@ -1565,7 +1562,7 @@ class OpenAILanguageModel {
1565
1562
  messages: mapMessages(input.messages, input.toolResultFormat),
1566
1563
  tools: mapTools(input.tools),
1567
1564
  ...(input.toolChoice ? { tool_choice: mapToolChoice(input.toolChoice) } : {}),
1568
- response_format: mapStructuredOutput(input),
1565
+ response_format: mapStructuredOutput(input) ?? options.bodyOptions.response_format,
1569
1566
  temperature: input.temperature,
1570
1567
  ...(input.reasoning ? {} : { max_tokens: input.maxTokens }),
1571
1568
  ...mapChatReasoning(input),
@@ -1594,8 +1591,8 @@ class OpenAILanguageModel {
1594
1591
  const options = resolveOpenAILanguageRequestOptions(input.providerOptions, this.apiKey);
1595
1592
  if (this.usesResponsesAPI(input, options)) {
1596
1593
  const responseBodyOptions = openAIResponsesBodyOptions(options.bodyOptions, this.modelId);
1597
- assertResponsesToolsSupported(this.modelId, input.tools);
1598
- assertOpenAIResponsesOptionsSupported(this.modelId, responseBodyOptions);
1594
+ assertResponsesToolsSupported(this.modelId, input.tools, this.capabilities.agentCapabilities);
1595
+ assertOpenAIResponsesOptionsSupported(this.modelId, responseBodyOptions, this.capabilities.agentCapabilities);
1599
1596
  const { signal, cleanup } = getRequestOptions(input);
1600
1597
  if (hasProgrammaticToolCalling(input.tools)) {
1601
1598
  const result = await this.generateViaResponses(input, signal, options);
@@ -1623,7 +1620,7 @@ class OpenAILanguageModel {
1623
1620
  ...(messages.length ? { input: toResponsesInput(messages, input.toolResultFormat, input.messages) } : {}),
1624
1621
  tools: mapResponsesTools(input.tools),
1625
1622
  ...(input.toolChoice ? { tool_choice: mapResponsesToolChoice(input.toolChoice) } : {}),
1626
- text: mapResponsesStructuredOutput(input),
1623
+ text: mapResponsesStructuredOutput(input) ?? responseBodyOptions.text,
1627
1624
  temperature: input.temperature,
1628
1625
  max_output_tokens: input.maxTokens,
1629
1626
  ...mapResponsesReasoning(input, responseBodyOptions.reasoning),
@@ -1652,7 +1649,7 @@ class OpenAILanguageModel {
1652
1649
  messages: mapMessages(input.messages, input.toolResultFormat),
1653
1650
  tools: mapTools(input.tools),
1654
1651
  ...(input.toolChoice ? { tool_choice: mapToolChoice(input.toolChoice) } : {}),
1655
- response_format: mapStructuredOutput(input),
1652
+ response_format: mapStructuredOutput(input) ?? options.bodyOptions.response_format,
1656
1653
  temperature: input.temperature,
1657
1654
  ...(input.reasoning ? {} : { max_tokens: input.maxTokens }),
1658
1655
  ...mapChatReasoning(input),
@@ -1751,7 +1748,7 @@ export const createOpenAI = (options = {}) => {
1751
1748
  languageModel: (modelId) => {
1752
1749
  if (modelId.startsWith("gpt-live-"))
1753
1750
  throw new UnsupportedFeatureError("GPT-Live is a voice model; use openai.realtimeModel(modelId).");
1754
- return new OpenAILanguageModel(modelId, apiKey, baseURL, fetcher, responseLimits);
1751
+ return new OpenAILanguageModel(modelId, apiKey, baseURL, fetcher, responseLimits, options);
1755
1752
  },
1756
1753
  embeddingModel: (modelId) => new OpenAIEmbeddingModel(modelId, apiKey, baseURL, fetcher),
1757
1754
  transcriptionModel: (modelId) => new OpenAITranscriptionModel(modelId, apiKey, baseURL, fetcher, responseLimits),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ModelCapabilities, RealtimeSessionConfig, ModelGenerateInput } from "@zhivex-ai/core/contracts";
2
+ export declare const capabilities: ModelCapabilities;
3
+ export declare const isOpenAIGpt56Model: (modelId: string) => boolean;
4
+ export declare const isOpenAIAstraModel: (modelId: string) => boolean;
5
+ export declare const isOpenAISolLunaModel: (modelId: string) => boolean;
6
+ export declare const supportsOpenAIModernResponses: (modelId: string) => boolean;
7
+ export declare const supportsOpenAIShell: (modelId: string) => boolean;
8
+ export declare const supportsOpenAIApplyPatchAndSkills: (modelId: string) => boolean;
9
+ export declare const isKnownOpenAIChatModel: (modelId: string) => boolean;
10
+ export declare const conservativeCapabilities: ModelCapabilities;
11
+ export declare const modelCapabilities: (modelId: string, unknownPolicy?: "conservative" | "legacy") => ModelCapabilities;
12
+ export declare const transcriptionCapabilities: ModelCapabilities;
13
+ export declare const speechCapabilities: ModelCapabilities;
14
+ export declare const groundedCapabilities: ModelCapabilities;
15
+ export declare const inferOpenAIRealtimeMode: (modelId: string, mode?: RealtimeSessionConfig["mode"]) => NonNullable<RealtimeSessionConfig["mode"]>;
16
+ export declare const openAIRealtimeSupportsImageInput: (modelId: string) => boolean;
17
+ export declare const realtimeCapabilities: (modelId: string) => ModelCapabilities;
18
+ /** Family policy is the single input to metadata, validation and default transport selection. */
19
+ export declare const resolveOpenAIModelProfile: (modelId: string) => {
20
+ label: string;
21
+ defaultApi: string;
22
+ modern: boolean;
23
+ reasoningEfforts: readonly ["low", "medium", "high", "xhigh", "max"] | readonly ["none", "low", "medium", "high", "xhigh", "max"] | undefined;
24
+ sampling: string;
25
+ toolsRequireResponses: string;
26
+ };
27
+ export declare const assertOpenAIModelRequestSupported: (modelId: string, input: ModelGenerateInput, options: {
28
+ apiMode?: string;
29
+ bodyOptions: Record<string, any>;
30
+ }) => void;
31
+ //# sourceMappingURL=model-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-profiles.d.ts","sourceRoot":"","sources":["../src/model-profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,YAAY,EAAE,iBA6B1B,CAAC;AAIF,eAAO,MAAM,kBAAkB,YAAa,MAAM,YAG/C,CAAC;AACJ,eAAO,MAAM,kBAAkB,YAAa,MAAM,YACsB,CAAC;AAEzE,eAAO,MAAM,oBAAoB,YAAa,MAAM,YAC4B,CAAC;AAEjF,eAAO,MAAM,6BAA6B,YAAa,MAAM,YACgC,CAAC;AAuB9F,eAAO,MAAM,mBAAmB,YAAa,MAAM,YAOnB,CAAC;AAEjC,eAAO,MAAM,iCAAiC,YAAa,MAAM,YAKhC,CAAC;AAOlC,eAAO,MAAM,sBAAsB,YAAa,MAAM,YAEgO,CAAC;AAEvR,eAAO,MAAM,wBAAwB,EAAE,iBAoBtC,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,kBAAiB,cAAc,GAAG,QAAQ,KAAoB,iBAwB7G,CAAC;AAEH,eAAO,MAAM,yBAAyB,EAAE,iBAyBvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,iBAIhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBAGlC,CAAC;AAOF,eAAO,MAAM,uBAAuB,YACzB,MAAM,SACR,qBAAqB,CAAC,MAAM,CAAC,KACnC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAK3C,CAAC;AAOF,eAAO,MAAM,gCAAgC,YAAa,MAAM,YAG7D,CAAC;AAEJ,eAAO,MAAM,oBAAoB,YACtB,MAAM,KACd,iBAwDD,CAAC;AAEH,iGAAiG;AACjG,eAAO,MAAM,yBAAyB,YAAa,MAAM;;;;;;;CAYxD,CAAC;AAEF,eAAO,MAAM,iCAAiC,YACnC,MAAM,SACR,kBAAkB,WAChB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,SAwBhE,CAAC"}
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhivex-ai/openai",
3
- "version": "0.13.7",
3
+ "version": "0.14.0",
4
4
  "description": "OpenAI adapter for Zhivex AI SDK.",
5
5
  "license": "MIT",
6
6
  "type": "module",