source dump of claude code
at main 23 lines 635 B view raw
1import { isClaudeAISubscriber } from './auth.js' 2import { has1mContext } from './context.js' 3 4export function isBilledAsExtraUsage( 5 model: string | null, 6 isFastMode: boolean, 7 isOpus1mMerged: boolean, 8): boolean { 9 if (!isClaudeAISubscriber()) return false 10 if (isFastMode) return true 11 if (model === null || !has1mContext(model)) return false 12 13 const m = model 14 .toLowerCase() 15 .replace(/\[1m\]$/, '') 16 .trim() 17 const isOpus46 = m === 'opus' || m.includes('opus-4-6') 18 const isSonnet46 = m === 'sonnet' || m.includes('sonnet-4-6') 19 20 if (isOpus46 && isOpus1mMerged) return false 21 22 return isOpus46 || isSonnet46 23}