Files
OmniRoute/tests/unit/image-registry-gpt56.test.ts
backryun 67a0b99240 feat(providers): add GPT-5.6 model family (#6862)
* feat(providers): add GPT-5.6 model family

* fix(chatgpt-web): resume temporary chat handoffs

* fix(codex): auto-merge discovery, filter denylist, revalidate on lifecycle

Restore live/GitHub auto-merge for Codex catalogs, drop models via
explicit denylist (GPT-5.4 family), and run scrub+live re-sync once on
first-start, app upgrade, or setup completion. Success log:
kill deprecated models complete.

* fix(codex): preserve live catalog reconciliation

Expose remote-only Codex models without dropping user custom entries, and complete lifecycle revalidation only after a successful internal sync. Keep credentialed self-fetches pinned to the active dashboard listener.

---------

Co-authored-by: backryun <backryun@daonlab.local>
2026-07-12 03:30:47 -03:00

27 lines
1016 B
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import { IMAGE_PROVIDERS, parseImageModel } from "../../open-sse/config/imageRegistry.ts";
test("ChatGPT Web image catalog exposes GPT-5.5 Instant instead of GPT-5.3 Instant", () => {
assert.deepEqual(IMAGE_PROVIDERS["chatgpt-web"].models, [
{ id: "gpt-5.5", name: "GPT-5.5 Instant (ChatGPT Web Image)" },
]);
assert.deepEqual(parseImageModel("cgpt-web/gpt-5.5"), {
provider: "chatgpt-web",
model: "gpt-5.5",
});
});
test("Codex image catalog exposes only the GPT-5.6 Sol, Terra, and Luna models", () => {
assert.deepEqual(IMAGE_PROVIDERS.codex.models, [
{ id: "gpt-5.6-sol", name: "GPT 5.6 Sol (Codex Image)" },
{ id: "gpt-5.6-terra", name: "GPT 5.6 Terra (Codex Image)" },
{ id: "gpt-5.6-luna", name: "GPT 5.6 Luna (Codex Image)" },
]);
for (const model of ["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"]) {
assert.deepEqual(parseImageModel(`cx/${model}`), { provider: "codex", model });
}
});