feat(codex): add GPT-5.6 model catalog

Closes #1633
This commit is contained in:
Tam Nhu Tran committed 2026-07-10 08:54:48 -04:00
1 parent da6c99e3df
commit 24eae8ae8f
8 files changed
+111 -4

No files matched your search

@@ -191,6 +191,10 @@ describe('FlexibleModelSelector', () => {
expect(screen.getByText('gpt-5.3-codex-high')).toBeInTheDocument();
expect(screen.getByText('gpt-5.3-codex-xhigh')).toBeInTheDocument();
expect(screen.getByText('gpt-5.4-high-fast')).toBeInTheDocument();
expect(screen.getByText('gpt-5.6-sol-low')).toBeInTheDocument();
expect(screen.getByText('gpt-5.6-terra-xhigh')).toBeInTheDocument();
expect(screen.getByText('gpt-5.6-luna-fast')).toBeInTheDocument();
expect(screen.queryByText('gpt-5.6-sol-minimal')).not.toBeInTheDocument();
await userEvent.click(screen.getByText('gpt-5.3-codex-high'));
expect(onChange).toHaveBeenCalledWith('gpt-5.3-codex-high');
@@ -4,6 +4,9 @@ import { MODEL_CATALOGS } from '@/lib/model-catalogs';
describe('codex model catalog defaults', () => {
it('mirrors the current Codex runtime catalog and free-safe defaults', () => {
const codexCatalog = MODEL_CATALOGS.codex;
const codex56Sol = codexCatalog.models.find((model) => model.id === 'gpt-5.6-sol');
const codex56Terra = codexCatalog.models.find((model) => model.id === 'gpt-5.6-terra');
const codex56Luna = codexCatalog.models.find((model) => model.id === 'gpt-5.6-luna');
const codex55 = codexCatalog.models.find((model) => model.id === 'gpt-5.5');
const codex53 = codexCatalog.models.find((model) => model.id === 'gpt-5.3-codex');
const codex52 = codexCatalog.models.find((model) => model.id === 'gpt-5.2');
@@ -11,6 +14,12 @@ describe('codex model catalog defaults', () => {
const codexMini = codexCatalog.models.find((model) => model.id === 'gpt-5.4-mini');
expect(codexCatalog.defaultModel).toBe('gpt-5.4');
for (const model of [codex56Sol, codex56Terra, codex56Luna]) {
expect(model?.tier).toBeUndefined();
expect(model?.codexEfforts).toEqual(['low', 'medium', 'high', 'xhigh']);
expect(model?.codexServiceTiers).toEqual(['fast']);
expect(model?.presetMapping?.haiku).toBe('gpt-5.4-mini');
}
expect(codex55?.tier).toBe('paid');
expect(codex55?.presetMapping?.haiku).toBe('gpt-5.4-mini');
expect(codex55?.codexMaxEffort).toBe('xhigh');