From f0f6f1b285746c605e3bbd40baaa6134467a76d3 Mon Sep 17 00:00:00 2001 From: Vasanthdev2004 Date: Wed, 1 Apr 2026 22:07:56 +0530 Subject: [PATCH] test: add GPT-5.4 token coverage --- src/utils/context.test.ts | 32 +++++++++++++++++++++++++ src/utils/model/openaiContextWindows.ts | 6 +++++ 2 files changed, 38 insertions(+) diff --git a/src/utils/context.test.ts b/src/utils/context.test.ts index 16a6c857..1f88d3e6 100644 --- a/src/utils/context.test.ts +++ b/src/utils/context.test.ts @@ -54,3 +54,35 @@ test('gpt-4o clamps oversized max output overrides to the provider limit', () => expect(getMaxOutputTokensForModel('gpt-4o')).toBe(16_384) }) + +test('gpt-5.4 family uses provider-specific context and output caps', () => { + process.env.CLAUDE_CODE_USE_OPENAI = '1' + delete process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS + + expect(getContextWindowForModel('gpt-5.4')).toBe(1_050_000) + expect(getModelMaxOutputTokens('gpt-5.4')).toEqual({ + default: 128_000, + upperLimit: 128_000, + }) + + expect(getContextWindowForModel('gpt-5.4-mini')).toBe(400_000) + expect(getModelMaxOutputTokens('gpt-5.4-mini')).toEqual({ + default: 128_000, + upperLimit: 128_000, + }) + + expect(getContextWindowForModel('gpt-5.4-nano')).toBe(400_000) + expect(getModelMaxOutputTokens('gpt-5.4-nano')).toEqual({ + default: 128_000, + upperLimit: 128_000, + }) +}) + +test('gpt-5.4 family keeps large max output overrides within provider limits', () => { + process.env.CLAUDE_CODE_USE_OPENAI = '1' + process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS = '200000' + + expect(getMaxOutputTokensForModel('gpt-5.4')).toBe(128_000) + expect(getMaxOutputTokensForModel('gpt-5.4-mini')).toBe(128_000) + expect(getMaxOutputTokensForModel('gpt-5.4-nano')).toBe(128_000) +}) diff --git a/src/utils/model/openaiContextWindows.ts b/src/utils/model/openaiContextWindows.ts index fd6fb15a..b418e51a 100644 --- a/src/utils/model/openaiContextWindows.ts +++ b/src/utils/model/openaiContextWindows.ts @@ -13,6 +13,9 @@ const OPENAI_CONTEXT_WINDOWS: Record = { // OpenAI + 'gpt-5.4': 1_050_000, + 'gpt-5.4-mini': 400_000, + 'gpt-5.4-nano': 400_000, 'gpt-4o': 128_000, 'gpt-4o-mini': 128_000, 'gpt-4.1': 1_047_576, @@ -62,6 +65,9 @@ const OPENAI_CONTEXT_WINDOWS: Record = { */ const OPENAI_MAX_OUTPUT_TOKENS: Record = { // OpenAI + 'gpt-5.4': 128_000, + 'gpt-5.4-mini': 128_000, + 'gpt-5.4-nano': 128_000, 'gpt-4o': 16_384, 'gpt-4o-mini': 16_384, 'gpt-4.1': 32_768,