diff --git a/apps/web/src/lib/ai-gateway/providers/anthropic.constants.ts b/apps/web/src/lib/ai-gateway/providers/anthropic.constants.ts index 97b7fc5a4f..19373f711c 100644 --- a/apps/web/src/lib/ai-gateway/providers/anthropic.constants.ts +++ b/apps/web/src/lib/ai-gateway/providers/anthropic.constants.ts @@ -124,14 +124,6 @@ export function isClaudeModel(requestedModel: string) { return requestedModel.includes('claude'); } -export function isHaikuModel(requestedModel: string) { - return requestedModel.includes('haiku'); -} - -export function isOpusModel(requestedModel: string) { - return requestedModel.includes('opus'); -} - export function isFableModel(requestedModel: string) { return requestedModel.includes('claude-fable'); } diff --git a/apps/web/src/lib/ai-gateway/providers/model-prefix.test.ts b/apps/web/src/lib/ai-gateway/providers/model-prefix.test.ts index 822ace6bba..1ce2f237b5 100644 --- a/apps/web/src/lib/ai-gateway/providers/model-prefix.test.ts +++ b/apps/web/src/lib/ai-gateway/providers/model-prefix.test.ts @@ -1,4 +1,4 @@ -import { isClaudeModel, isHaikuModel, isOpusModel } from './anthropic.constants'; +import { isClaudeModel } from './anthropic.constants'; import { isOpenAiModel, isGptOssModel } from './openai'; import { isGemmaModel, isGemini3Model } from './google'; import { isKimiModel } from './moonshotai'; @@ -10,15 +10,11 @@ import { isCodestralModel, isMistralModel } from './mistral'; import { inferVercelFirstPartyInferenceProviderForModel } from './openrouter/inference-provider-id'; describe('provider predicates match substrings, regardless of prefix', () => { - test('isClaudeModel / isHaikuModel / isOpusModel', () => { + test('isClaudeModel', () => { expect(isClaudeModel('~anthropic/claude-sonnet-4.5')).toBe(true); expect(isClaudeModel('anthropic/claude-sonnet-4.5')).toBe(true); expect(isClaudeModel('claude-sonnet-4-6')).toBe(true); expect(isClaudeModel('openai/gpt-5')).toBe(false); - expect(isHaikuModel('~anthropic/claude-haiku-4.5')).toBe(true); - expect(isHaikuModel('claude-haiku-4-6')).toBe(true); - expect(isOpusModel('~anthropic/claude-opus-4.7')).toBe(true); - expect(isOpusModel('claude-opus-4-7')).toBe(true); }); test('isOpenAiModel / isGptOssModel', () => { diff --git a/apps/web/src/lib/ai-gateway/providers/model-settings.ts b/apps/web/src/lib/ai-gateway/providers/model-settings.ts index d93fffdb07..fe1231f7a8 100644 --- a/apps/web/src/lib/ai-gateway/providers/model-settings.ts +++ b/apps/web/src/lib/ai-gateway/providers/model-settings.ts @@ -1,8 +1,4 @@ -import { - isClaudeModel, - isFableModel, - isOpusModel, -} from '@/lib/ai-gateway/providers/anthropic.constants'; +import { isClaudeModel } from '@/lib/ai-gateway/providers/anthropic.constants'; import { isGemini3Model, isGemmaModel } from '@/lib/ai-gateway/providers/google'; import { isKimiModel } from '@/lib/ai-gateway/providers/moonshotai'; import { isOpenAiModel } from '@/lib/ai-gateway/providers/openai'; @@ -52,20 +48,11 @@ export const REASONING_VARIANTS_NONE_HIGH_XHIGH = { xhigh: { reasoning: { enabled: true, effort: 'xhigh' } }, } as const; -const REASONING_VARIANTS_CLAUDE_BASE = { +const REASONING_VARIANTS_CLAUDE = { none: { reasoning: { enabled: false, effort: 'none' } }, low: { reasoning: { enabled: true, effort: 'low' }, verbosity: 'low' }, medium: { reasoning: { enabled: true, effort: 'medium' }, verbosity: 'medium' }, high: { reasoning: { enabled: true, effort: 'high' }, verbosity: 'high' }, -} as const; - -export const REASONING_VARIANTS_CLAUDE = { - ...REASONING_VARIANTS_CLAUDE_BASE, - max: { reasoning: { enabled: true, effort: 'xhigh' }, verbosity: 'max' }, -} as const; - -export const REASONING_VARIANTS_OPUS = { - ...REASONING_VARIANTS_CLAUDE_BASE, xhigh: { reasoning: { enabled: true, effort: 'xhigh' }, verbosity: 'xhigh' }, max: { reasoning: { enabled: true, effort: 'xhigh' }, verbosity: 'max' }, } as const; @@ -81,9 +68,6 @@ export const REASONING_VARIANTS_INSTANT_LOW_MEDIUM_HIGH = { } as const; export function getModelVariants(model: string): OpenCodeSettings['variants'] { - if (isOpusModel(model) || isFableModel(model)) { - return REASONING_VARIANTS_OPUS; - } if (isClaudeModel(model)) { return REASONING_VARIANTS_CLAUDE; }