openai-ws-opencode 0.1.25 → 0.1.26
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 +2 -1
- package/bin/setup.js +82 -30
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/models/catalog.d.ts +2 -0
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/catalog.js +6 -2
- package/dist/models/catalog.js.map +1 -1
- package/dist/models/resolve.d.ts.map +1 -1
- package/dist/models/resolve.js +64 -40
- package/dist/models/resolve.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ Standalone OpenCode provider plugin for routing OpenAI Responses API streaming r
|
|
|
9
9
|
- ChatGPT/Codex OAuth transport: `wss://chatgpt.com/backend-api/codex/responses`
|
|
10
10
|
- Curated GPT/Codex model table with OpenCode variants
|
|
11
11
|
- Auth-aware model discovery at auth-load time: Codex backend models for ChatGPT OAuth, OpenAI `/v1/models` IDs for API keys, bundled table fallback for both
|
|
12
|
+
- Setup-time promotion of live Codex WebSocket models, including newly released GPT-5 families without package updates
|
|
12
13
|
- WebSocket-to-SSE bridge so OpenCode can keep using its normal streaming path
|
|
13
14
|
|
|
14
15
|
## Install
|
|
@@ -28,7 +29,7 @@ opencode auth login openai-ws
|
|
|
28
29
|
|
|
29
30
|
The setup command is idempotent. It adds the npm plugin entry and a fallback `provider.openai-ws` model registry to `opencode.json`, preserving existing user model overrides.
|
|
30
31
|
|
|
31
|
-
At runtime the plugin
|
|
32
|
+
At setup and runtime the plugin attempts short best-effort model discovery for the selected auth mode. ChatGPT/Codex OAuth uses `https://chatgpt.com/backend-api/codex/models`, accepts provider `models` or `data` catalogs, and maps flat or nested model metadata. API-key auth uses `https://api.openai.com/v1/models` to discover GPT-5 family IDs. Setup writes discovered WebSocket-capable models into `opencode.json`; runtime refreshes the active provider from the authenticated catalog. Both paths remain fail-soft and fall back to the bundled table if discovery is unavailable.
|
|
32
33
|
|
|
33
34
|
Set `OPENAI_WS_OPENCODE_SKIP_CATALOG=1` to skip runtime catalog lookups and use only the bundled fallback table plus your config overrides.
|
|
34
35
|
|
package/bin/setup.js
CHANGED
|
@@ -20,13 +20,16 @@ var CODEX_CLI_NPM_ENDPOINT = "https://registry.npmjs.org/@openai/codex";
|
|
|
20
20
|
var OPENAI_MODELS_ENDPOINT = `${OPENAI_API_BASE}/models`;
|
|
21
21
|
var OPENAI_WS_BETA = "responses_websockets=2026-02-06";
|
|
22
22
|
var CODEX_ORIGINATOR = "opencode";
|
|
23
|
-
var USER_AGENT = "openai-ws-opencode/0.1.
|
|
23
|
+
var USER_AGENT = "openai-ws-opencode/0.1.26";
|
|
24
24
|
|
|
25
25
|
// src/models/catalog.ts
|
|
26
26
|
var DEFAULT_TIMEOUT_MS = 800;
|
|
27
27
|
var CATALOG_TTL_MS = 30 * 60 * 1000;
|
|
28
28
|
var SKIP_CATALOG_ENV = "OPENAI_WS_OPENCODE_SKIP_CATALOG";
|
|
29
29
|
var cache = new Map;
|
|
30
|
+
function isRecord(value) {
|
|
31
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
32
|
+
}
|
|
30
33
|
function cacheKey(scope, credential, accountId = "") {
|
|
31
34
|
return `${scope}:${crypto.createHash("sha256").update(`${credential}:${accountId}`).digest("hex")}`;
|
|
32
35
|
}
|
|
@@ -96,9 +99,10 @@ async function fetchCodexCatalog(options) {
|
|
|
96
99
|
if (!response.ok)
|
|
97
100
|
return setCached(key, undefined);
|
|
98
101
|
const json = await response.json();
|
|
99
|
-
|
|
102
|
+
const models = Array.isArray(json.models) ? json.models : Array.isArray(json.data) ? json.data : undefined;
|
|
103
|
+
if (!models)
|
|
100
104
|
return setCached(key, undefined);
|
|
101
|
-
return setCached(key,
|
|
105
|
+
return setCached(key, models.filter(isRecord));
|
|
102
106
|
} catch {
|
|
103
107
|
return setCached(key, undefined);
|
|
104
108
|
}
|
|
@@ -175,19 +179,70 @@ var OPENAI_WS_MODELS = {
|
|
|
175
179
|
};
|
|
176
180
|
|
|
177
181
|
// src/models/resolve.ts
|
|
182
|
+
var DISCOVERED_CONFIG_KEY = "x-openai-ws-discovered";
|
|
183
|
+
var LEGACY_PLUGIN_MODEL_IDS = new Set(["gpt-5.5-pro", "gpt-5.3-codex-spark", "gpt-5.2-codex", "gpt-5.1-codex"]);
|
|
184
|
+
var DATED_MODEL_ID = /-\d{4}-\d{2}-\d{2}$/;
|
|
185
|
+
var NON_CHAT_MODEL_ID = /-(?:audio|embedding|image|realtime|search|speech|transcrib(?:e|er)|transcription|tts)(?:-|$)/i;
|
|
178
186
|
function positiveFinite2(value) {
|
|
179
187
|
return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : undefined;
|
|
180
188
|
}
|
|
189
|
+
function isRecord2(value) {
|
|
190
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
191
|
+
}
|
|
192
|
+
function catalogModelID(model) {
|
|
193
|
+
if (!isRecord2(model))
|
|
194
|
+
return;
|
|
195
|
+
if (typeof model.slug === "string" && model.slug)
|
|
196
|
+
return model.slug;
|
|
197
|
+
if (typeof model.id === "string" && model.id)
|
|
198
|
+
return model.id;
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
function catalogValue(model, key) {
|
|
202
|
+
return isRecord2(model.metadata) && key in model.metadata ? model.metadata[key] : model[key];
|
|
203
|
+
}
|
|
181
204
|
function limitFromCatalog(model, fallback) {
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
const
|
|
205
|
+
const working = positiveFinite2(catalogValue(model, "context_window"));
|
|
206
|
+
const ceiling = positiveFinite2(catalogValue(model, "max_context_window"));
|
|
207
|
+
const context = working && ceiling ? Math.max(working, ceiling) : working ?? ceiling ?? fallback.context;
|
|
208
|
+
const inputCandidate = working ?? ceiling ?? positiveFinite2(fallback.input) ?? CODEX_EFFECTIVE_CONTEXT_WINDOW;
|
|
209
|
+
const output = positiveFinite2(catalogValue(model, "max_output_tokens")) ?? positiveFinite2(catalogValue(model, "auto_compact_token_limit")) ?? positiveFinite2(fallback.output) ?? CODEX_OUTPUT_TOKEN_LIMIT;
|
|
185
210
|
return {
|
|
186
211
|
context,
|
|
187
212
|
input: Math.min(inputCandidate, context),
|
|
188
213
|
output
|
|
189
214
|
};
|
|
190
215
|
}
|
|
216
|
+
function isOpenAIWSCandidate(id) {
|
|
217
|
+
return /^gpt-5(?:\.\d+)?(?:-[a-z0-9][a-z0-9.-]*)?$/i.test(id) && !DATED_MODEL_ID.test(id) && !NON_CHAT_MODEL_ID.test(id);
|
|
218
|
+
}
|
|
219
|
+
function modelFromCodexCatalog(model) {
|
|
220
|
+
const id = catalogModelID(model);
|
|
221
|
+
if (!id || !isRecord2(model))
|
|
222
|
+
return;
|
|
223
|
+
const typedModel = model;
|
|
224
|
+
const supportedInApi = catalogValue(typedModel, "supported_in_api");
|
|
225
|
+
const preferWebSockets = catalogValue(typedModel, "prefer_websockets");
|
|
226
|
+
if (supportedInApi === false || preferWebSockets === false)
|
|
227
|
+
return;
|
|
228
|
+
if (preferWebSockets !== true && !isOpenAIWSCandidate(id))
|
|
229
|
+
return;
|
|
230
|
+
const reasoningLevels = catalogValue(typedModel, "supported_reasoning_levels");
|
|
231
|
+
const efforts = (Array.isArray(reasoningLevels) ? reasoningLevels : []).map((level) => isRecord2(level) && typeof level.effort === "string" ? level.effort : undefined).filter((effort) => Boolean(effort));
|
|
232
|
+
const reasoning = efforts.length > 0;
|
|
233
|
+
const bundled = OPENAI_WS_MODELS[id];
|
|
234
|
+
const fallback = bundled?.limit ?? codexLimit();
|
|
235
|
+
const limit = limitFromCatalog(typedModel, fallback);
|
|
236
|
+
const result = {
|
|
237
|
+
name: `${typeof catalogValue(typedModel, "display_name") === "string" ? catalogValue(typedModel, "display_name") : id} (WebSocket)`,
|
|
238
|
+
reasoning,
|
|
239
|
+
temperature: bundled?.temperature ?? false,
|
|
240
|
+
limit,
|
|
241
|
+
variants: reasoning ? makeVariants(efforts, Boolean(catalogValue(typedModel, "supports_reasoning_summaries"))) : {},
|
|
242
|
+
...id.includes("codex") ? { family: "gpt-codex" } : id.endsWith("-pro") ? { family: "gpt-pro" } : {}
|
|
243
|
+
};
|
|
244
|
+
return [id, result];
|
|
245
|
+
}
|
|
191
246
|
function modelToOpenCodeConfig(model) {
|
|
192
247
|
return {
|
|
193
248
|
name: model.name,
|
|
@@ -220,45 +275,40 @@ var GENERATED_CONFIG_MODEL_KEYS = new Set([
|
|
|
220
275
|
"modalities",
|
|
221
276
|
"cost",
|
|
222
277
|
"provider",
|
|
223
|
-
"variants"
|
|
278
|
+
"variants",
|
|
279
|
+
DISCOVERED_CONFIG_KEY
|
|
224
280
|
]);
|
|
225
|
-
var LEGACY_PLUGIN_MODEL_IDS = new Set(["gpt-5.5-pro", "gpt-5.3-codex-spark", "gpt-5.2-codex", "gpt-5.1-codex"]);
|
|
226
|
-
function isRecord(value) {
|
|
227
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
228
|
-
}
|
|
229
281
|
function sanitizeBuiltInConfigOverride(override) {
|
|
230
|
-
if (!
|
|
282
|
+
if (!isRecord2(override))
|
|
231
283
|
return {};
|
|
232
284
|
const sanitized = { ...override };
|
|
233
285
|
for (const key of GENERATED_CONFIG_MODEL_KEYS)
|
|
234
286
|
delete sanitized[key];
|
|
235
287
|
return sanitized;
|
|
236
288
|
}
|
|
237
|
-
function
|
|
238
|
-
|
|
289
|
+
function isDiscoveredConfig(value) {
|
|
290
|
+
return isRecord2(value) && value[DISCOVERED_CONFIG_KEY] === true;
|
|
291
|
+
}
|
|
292
|
+
function modelsFromCodexCatalog(catalog) {
|
|
293
|
+
const models = {};
|
|
239
294
|
if (!catalog)
|
|
240
|
-
return
|
|
295
|
+
return models;
|
|
241
296
|
for (const entry of catalog) {
|
|
242
|
-
|
|
243
|
-
|
|
297
|
+
const resolved = modelFromCodexCatalog(entry);
|
|
298
|
+
if (resolved)
|
|
299
|
+
models[resolved[0]] = resolved[1];
|
|
244
300
|
}
|
|
245
|
-
return
|
|
246
|
-
}
|
|
247
|
-
function bundledModelWithCatalogLimit(id, model, catalogEntry) {
|
|
248
|
-
if (!catalogEntry)
|
|
249
|
-
return model;
|
|
250
|
-
const limit = limitFromCatalog(catalogEntry, model.limit);
|
|
251
|
-
if (limit.context === model.limit.context && limit.input === model.limit.input && limit.output === model.limit.output)
|
|
252
|
-
return model;
|
|
253
|
-
return { ...model, limit };
|
|
301
|
+
return models;
|
|
254
302
|
}
|
|
255
303
|
function providerConfigModels(overrides = {}, catalog) {
|
|
256
304
|
const models = {};
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
|
|
305
|
+
const discovered = modelsFromCodexCatalog(catalog);
|
|
306
|
+
const source = Object.keys(discovered).length > 0 ? discovered : OPENAI_WS_MODELS;
|
|
307
|
+
const authoritative = source === discovered;
|
|
308
|
+
for (const [id, model] of Object.entries(source)) {
|
|
260
309
|
models[id] = {
|
|
261
|
-
...modelToOpenCodeConfig(
|
|
310
|
+
...modelToOpenCodeConfig(model),
|
|
311
|
+
[DISCOVERED_CONFIG_KEY]: true,
|
|
262
312
|
...sanitizeBuiltInConfigOverride(overrides[id])
|
|
263
313
|
};
|
|
264
314
|
}
|
|
@@ -267,6 +317,8 @@ function providerConfigModels(overrides = {}, catalog) {
|
|
|
267
317
|
continue;
|
|
268
318
|
if (LEGACY_PLUGIN_MODEL_IDS.has(id))
|
|
269
319
|
continue;
|
|
320
|
+
if (authoritative && ((id in OPENAI_WS_MODELS) || isDiscoveredConfig(override)))
|
|
321
|
+
continue;
|
|
270
322
|
models[id] = override;
|
|
271
323
|
}
|
|
272
324
|
return models;
|
package/dist/constants.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare const OPENAI_WS_URL = "wss://api.openai.com/v1/responses";
|
|
|
11
11
|
export declare const CODEX_WS_URL = "wss://chatgpt.com/backend-api/codex/responses";
|
|
12
12
|
export declare const OPENAI_WS_BETA = "responses_websockets=2026-02-06";
|
|
13
13
|
export declare const CODEX_ORIGINATOR = "opencode";
|
|
14
|
-
export declare const USER_AGENT = "openai-ws-opencode/0.1.
|
|
14
|
+
export declare const USER_AGENT = "openai-ws-opencode/0.1.26";
|
|
15
15
|
export declare const CODEX_OAUTH_SCOPE = "openid profile email offline_access";
|
|
16
16
|
export declare const OAUTH_PORT = 1455;
|
|
17
17
|
export declare const X_CODEX_TURN_STATE_HEADER = "x-codex-turn-state";
|
package/dist/constants.js
CHANGED
|
@@ -11,7 +11,7 @@ export const OPENAI_WS_URL = "wss://api.openai.com/v1/responses";
|
|
|
11
11
|
export const CODEX_WS_URL = "wss://chatgpt.com/backend-api/codex/responses";
|
|
12
12
|
export const OPENAI_WS_BETA = "responses_websockets=2026-02-06";
|
|
13
13
|
export const CODEX_ORIGINATOR = "opencode";
|
|
14
|
-
export const USER_AGENT = "openai-ws-opencode/0.1.
|
|
14
|
+
export const USER_AGENT = "openai-ws-opencode/0.1.26";
|
|
15
15
|
export const CODEX_OAUTH_SCOPE = "openid profile email offline_access";
|
|
16
16
|
export const OAUTH_PORT = 1455;
|
|
17
17
|
export const X_CODEX_TURN_STATE_HEADER = "x-codex-turn-state";
|
package/dist/models/catalog.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type CodexReasoningLevel = {
|
|
|
4
4
|
};
|
|
5
5
|
export type CodexModelInfo = {
|
|
6
6
|
slug?: string;
|
|
7
|
+
id?: string;
|
|
7
8
|
display_name?: string;
|
|
8
9
|
description?: string;
|
|
9
10
|
context_window?: number;
|
|
@@ -22,6 +23,7 @@ export type CodexModelInfo = {
|
|
|
22
23
|
input_modalities?: string[];
|
|
23
24
|
available_in_plans?: string[];
|
|
24
25
|
base_instructions?: string;
|
|
26
|
+
metadata?: Record<string, unknown>;
|
|
25
27
|
raw?: Record<string, unknown>;
|
|
26
28
|
};
|
|
27
29
|
type FetchOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/models/catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/models/catalog.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,gCAAgC,CAAC,EAAE,MAAM,CAAA;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,0BAA0B,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAClD,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B,CAAA;AAED,KAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,mBAAmB,GAAG,YAAY,GAAG;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,mBAAmB,GAAG,YAAY,GAAG;IACxC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAyBD,wBAAgB,0BAA0B,CAAC,SAAS,SAAa,GAAG,MAAM,CAEzE;AAED,wBAAsB,yBAAyB,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB3F;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC,CA4B3G;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAyBxG;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|
package/dist/models/catalog.js
CHANGED
|
@@ -4,6 +4,9 @@ const DEFAULT_TIMEOUT_MS = 800;
|
|
|
4
4
|
const CATALOG_TTL_MS = 30 * 60 * 1000;
|
|
5
5
|
const SKIP_CATALOG_ENV = "OPENAI_WS_OPENCODE_SKIP_CATALOG";
|
|
6
6
|
const cache = new Map();
|
|
7
|
+
function isRecord(value) {
|
|
8
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
9
|
+
}
|
|
7
10
|
function cacheKey(scope, credential, accountId = "") {
|
|
8
11
|
return `${scope}:${crypto.createHash("sha256").update(`${credential}:${accountId}`).digest("hex")}`;
|
|
9
12
|
}
|
|
@@ -74,9 +77,10 @@ export async function fetchCodexCatalog(options) {
|
|
|
74
77
|
if (!response.ok)
|
|
75
78
|
return setCached(key, undefined);
|
|
76
79
|
const json = (await response.json());
|
|
77
|
-
|
|
80
|
+
const models = Array.isArray(json.models) ? json.models : Array.isArray(json.data) ? json.data : undefined;
|
|
81
|
+
if (!models)
|
|
78
82
|
return setCached(key, undefined);
|
|
79
|
-
return setCached(key,
|
|
83
|
+
return setCached(key, models.filter(isRecord));
|
|
80
84
|
}
|
|
81
85
|
catch {
|
|
82
86
|
return setCached(key, undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/models/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAErJ,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAC9B,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AACrC,MAAM,gBAAgB,GAAG,iCAAiC,CAAA;AAO1D,MAAM,KAAK,GAAG,IAAI,GAAG,EAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/models/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/models/resolve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAwG,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/models/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/models/resolve.js
CHANGED
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
import { OPENAI_API_BASE, PROVIDER_ID } from "../constants.js";
|
|
2
2
|
import { CODEX_EFFECTIVE_CONTEXT_WINDOW, CODEX_OUTPUT_TOKEN_LIMIT, codexLimit, makeVariants, OPENAI_WS_MODELS } from "./defaults.js";
|
|
3
|
+
const DISCOVERED_CONFIG_KEY = "x-openai-ws-discovered";
|
|
4
|
+
const LEGACY_PLUGIN_MODEL_IDS = new Set(["gpt-5.5-pro", "gpt-5.3-codex-spark", "gpt-5.2-codex", "gpt-5.1-codex"]);
|
|
5
|
+
const DATED_MODEL_ID = /-\d{4}-\d{2}-\d{2}$/;
|
|
6
|
+
const NON_CHAT_MODEL_ID = /-(?:audio|embedding|image|realtime|search|speech|transcrib(?:e|er)|transcription|tts)(?:-|$)/i;
|
|
3
7
|
function positiveFinite(value) {
|
|
4
8
|
return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : undefined;
|
|
5
9
|
}
|
|
10
|
+
function isRecord(value) {
|
|
11
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
12
|
+
}
|
|
13
|
+
function catalogModelID(model) {
|
|
14
|
+
if (!isRecord(model))
|
|
15
|
+
return undefined;
|
|
16
|
+
if (typeof model.slug === "string" && model.slug)
|
|
17
|
+
return model.slug;
|
|
18
|
+
if (typeof model.id === "string" && model.id)
|
|
19
|
+
return model.id;
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
function catalogValue(model, key) {
|
|
23
|
+
return isRecord(model.metadata) && key in model.metadata ? model.metadata[key] : model[key];
|
|
24
|
+
}
|
|
6
25
|
function limitFromCatalog(model, fallback) {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
26
|
+
const working = positiveFinite(catalogValue(model, "context_window"));
|
|
27
|
+
const ceiling = positiveFinite(catalogValue(model, "max_context_window"));
|
|
28
|
+
const context = working && ceiling ? Math.max(working, ceiling) : working ?? ceiling ?? fallback.context;
|
|
29
|
+
const inputCandidate = working ?? ceiling ?? positiveFinite(fallback.input) ?? CODEX_EFFECTIVE_CONTEXT_WINDOW;
|
|
30
|
+
const output = positiveFinite(catalogValue(model, "max_output_tokens")) ??
|
|
31
|
+
positiveFinite(catalogValue(model, "auto_compact_token_limit")) ??
|
|
32
|
+
positiveFinite(fallback.output) ??
|
|
33
|
+
CODEX_OUTPUT_TOKEN_LIMIT;
|
|
10
34
|
return {
|
|
11
35
|
context,
|
|
12
36
|
input: Math.min(inputCandidate, context),
|
|
@@ -48,7 +72,7 @@ function variantsForModel(id, model) {
|
|
|
48
72
|
return makeVariants(["low", "medium", "high", "xhigh"], false);
|
|
49
73
|
}
|
|
50
74
|
function isOpenAIWSCandidate(id) {
|
|
51
|
-
return /^gpt-5(?:\.\d+)?(?:-
|
|
75
|
+
return /^gpt-5(?:\.\d+)?(?:-[a-z0-9][a-z0-9.-]*)?$/i.test(id) && !DATED_MODEL_ID.test(id) && !NON_CHAT_MODEL_ID.test(id);
|
|
52
76
|
}
|
|
53
77
|
function fallbackModelFor(id) {
|
|
54
78
|
const result = {
|
|
@@ -63,24 +87,30 @@ function fallbackModelFor(id) {
|
|
|
63
87
|
return result;
|
|
64
88
|
}
|
|
65
89
|
function modelFromCodexCatalog(model) {
|
|
66
|
-
const id = model
|
|
67
|
-
if (!id)
|
|
90
|
+
const id = catalogModelID(model);
|
|
91
|
+
if (!id || !isRecord(model))
|
|
68
92
|
return undefined;
|
|
69
|
-
|
|
93
|
+
const typedModel = model;
|
|
94
|
+
const supportedInApi = catalogValue(typedModel, "supported_in_api");
|
|
95
|
+
const preferWebSockets = catalogValue(typedModel, "prefer_websockets");
|
|
96
|
+
if (supportedInApi === false || preferWebSockets === false)
|
|
70
97
|
return undefined;
|
|
71
|
-
|
|
72
|
-
|
|
98
|
+
if (preferWebSockets !== true && !isOpenAIWSCandidate(id))
|
|
99
|
+
return undefined;
|
|
100
|
+
const reasoningLevels = catalogValue(typedModel, "supported_reasoning_levels");
|
|
101
|
+
const efforts = (Array.isArray(reasoningLevels) ? reasoningLevels : [])
|
|
102
|
+
.map((level) => isRecord(level) && typeof level.effort === "string" ? level.effort : undefined)
|
|
73
103
|
.filter((effort) => Boolean(effort));
|
|
74
104
|
const reasoning = efforts.length > 0;
|
|
75
105
|
const bundled = OPENAI_WS_MODELS[id];
|
|
76
106
|
const fallback = bundled?.limit ?? codexLimit();
|
|
77
|
-
const limit = limitFromCatalog(
|
|
107
|
+
const limit = limitFromCatalog(typedModel, fallback);
|
|
78
108
|
const result = {
|
|
79
|
-
name: `${
|
|
109
|
+
name: `${typeof catalogValue(typedModel, "display_name") === "string" ? catalogValue(typedModel, "display_name") : id} (WebSocket)`,
|
|
80
110
|
reasoning,
|
|
81
111
|
temperature: bundled?.temperature ?? false,
|
|
82
112
|
limit,
|
|
83
|
-
variants: reasoning ? makeVariants(efforts, Boolean(
|
|
113
|
+
variants: reasoning ? makeVariants(efforts, Boolean(catalogValue(typedModel, "supports_reasoning_summaries"))) : {},
|
|
84
114
|
...(id.includes("codex") ? { family: "gpt-codex" } : id.endsWith("-pro") ? { family: "gpt-pro" } : {}),
|
|
85
115
|
};
|
|
86
116
|
return [id, result];
|
|
@@ -94,6 +124,8 @@ function toProviderModels(models, overrides = {}, options = {}) {
|
|
|
94
124
|
for (const [id, override] of Object.entries(overrides)) {
|
|
95
125
|
if (providerModels[id])
|
|
96
126
|
continue;
|
|
127
|
+
if (options.authoritativeModels && (id in OPENAI_WS_MODELS || LEGACY_PLUGIN_MODEL_IDS.has(id) || isDiscoveredConfig(override)))
|
|
128
|
+
continue;
|
|
97
129
|
providerModels[id] = {
|
|
98
130
|
...modelToProviderConfig(id, {
|
|
99
131
|
name: typeof override.name === "string" ? override.name : `${id} (WebSocket)`,
|
|
@@ -113,12 +145,7 @@ export function resolveModels(overrides = {}) {
|
|
|
113
145
|
export function resolveModelsForOAuth(catalog, overrides = {}) {
|
|
114
146
|
if (!catalog?.length)
|
|
115
147
|
return resolveModels(overrides);
|
|
116
|
-
const models =
|
|
117
|
-
for (const model of catalog) {
|
|
118
|
-
const resolved = modelFromCodexCatalog(model);
|
|
119
|
-
if (resolved)
|
|
120
|
-
models[resolved[0]] = resolved[1];
|
|
121
|
-
}
|
|
148
|
+
const models = modelsFromCodexCatalog(catalog);
|
|
122
149
|
if (Object.keys(models).length === 0)
|
|
123
150
|
return resolveModels(overrides);
|
|
124
151
|
return toProviderModels(models, overrides, { authoritativeModels: true });
|
|
@@ -173,11 +200,8 @@ const GENERATED_CONFIG_MODEL_KEYS = new Set([
|
|
|
173
200
|
"cost",
|
|
174
201
|
"provider",
|
|
175
202
|
"variants",
|
|
203
|
+
DISCOVERED_CONFIG_KEY,
|
|
176
204
|
]);
|
|
177
|
-
const LEGACY_PLUGIN_MODEL_IDS = new Set(["gpt-5.5-pro", "gpt-5.3-codex-spark", "gpt-5.2-codex", "gpt-5.1-codex"]);
|
|
178
|
-
function isRecord(value) {
|
|
179
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
180
|
-
}
|
|
181
205
|
function sanitizeBuiltInConfigOverride(override) {
|
|
182
206
|
if (!isRecord(override))
|
|
183
207
|
return {};
|
|
@@ -186,31 +210,29 @@ function sanitizeBuiltInConfigOverride(override) {
|
|
|
186
210
|
delete sanitized[key];
|
|
187
211
|
return sanitized;
|
|
188
212
|
}
|
|
189
|
-
function
|
|
190
|
-
|
|
213
|
+
function isDiscoveredConfig(value) {
|
|
214
|
+
return isRecord(value) && value[DISCOVERED_CONFIG_KEY] === true;
|
|
215
|
+
}
|
|
216
|
+
function modelsFromCodexCatalog(catalog) {
|
|
217
|
+
const models = {};
|
|
191
218
|
if (!catalog)
|
|
192
|
-
return
|
|
219
|
+
return models;
|
|
193
220
|
for (const entry of catalog) {
|
|
194
|
-
|
|
195
|
-
|
|
221
|
+
const resolved = modelFromCodexCatalog(entry);
|
|
222
|
+
if (resolved)
|
|
223
|
+
models[resolved[0]] = resolved[1];
|
|
196
224
|
}
|
|
197
|
-
return
|
|
198
|
-
}
|
|
199
|
-
function bundledModelWithCatalogLimit(id, model, catalogEntry) {
|
|
200
|
-
if (!catalogEntry)
|
|
201
|
-
return model;
|
|
202
|
-
const limit = limitFromCatalog(catalogEntry, model.limit);
|
|
203
|
-
if (limit.context === model.limit.context && limit.input === model.limit.input && limit.output === model.limit.output)
|
|
204
|
-
return model;
|
|
205
|
-
return { ...model, limit };
|
|
225
|
+
return models;
|
|
206
226
|
}
|
|
207
227
|
export function providerConfigModels(overrides = {}, catalog) {
|
|
208
228
|
const models = {};
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
229
|
+
const discovered = modelsFromCodexCatalog(catalog);
|
|
230
|
+
const source = Object.keys(discovered).length > 0 ? discovered : OPENAI_WS_MODELS;
|
|
231
|
+
const authoritative = source === discovered;
|
|
232
|
+
for (const [id, model] of Object.entries(source)) {
|
|
212
233
|
models[id] = {
|
|
213
|
-
...modelToOpenCodeConfig(
|
|
234
|
+
...modelToOpenCodeConfig(model),
|
|
235
|
+
[DISCOVERED_CONFIG_KEY]: true,
|
|
214
236
|
...sanitizeBuiltInConfigOverride(overrides[id]),
|
|
215
237
|
};
|
|
216
238
|
}
|
|
@@ -219,6 +241,8 @@ export function providerConfigModels(overrides = {}, catalog) {
|
|
|
219
241
|
continue;
|
|
220
242
|
if (LEGACY_PLUGIN_MODEL_IDS.has(id))
|
|
221
243
|
continue;
|
|
244
|
+
if (authoritative && (id in OPENAI_WS_MODELS || isDiscoveredConfig(override)))
|
|
245
|
+
continue;
|
|
222
246
|
models[id] = override;
|
|
223
247
|
}
|
|
224
248
|
return models;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/models/resolve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/models/resolve.ts"],"names":[],"mappings":"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"}
|