@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 +23 -0
- package/dist/capabilities.d.ts +1 -15
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +1 -182
- package/dist/capabilities.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -48
- package/dist/index.js.map +1 -1
- package/dist/model-profiles.d.ts +31 -0
- package/dist/model-profiles.d.ts.map +1 -0
- package/dist/model-profiles.js +244 -0
- package/dist/model-profiles.js.map +1 -0
- package/package.json +1 -1
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.
|
package/dist/capabilities.d.ts
CHANGED
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
package/dist/capabilities.js
CHANGED
|
@@ -1,183 +1,2 @@
|
|
|
1
|
-
export
|
|
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
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"
|
|
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;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"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"}
|
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,
|
|
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" && !
|
|
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" && !
|
|
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" && !
|
|
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 && !
|
|
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
|
-
|
|
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 (
|
|
1432
|
-
|
|
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 (
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
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 ||
|
|
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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"}
|