import { checkOpus1mAccess, checkSonnet1mAccess } from './check1mAccess.js' import { getUserSpecifiedModelSetting } from './model.js' // @[MODEL LAUNCH]: Add a branch for the new model if it supports a 1M context upgrade path. /** * Get available model upgrade for more context * Returns null if no upgrade available or user already has max context */ function getAvailableUpgrade(): { alias: string name: string multiplier: number } | null { const currentModelSetting = getUserSpecifiedModelSetting() if (currentModelSetting === 'opus' && checkOpus1mAccess()) { return { alias: 'opus[1m]', name: 'Opus 1M', multiplier: 5, } } else if (currentModelSetting === 'sonnet' && checkSonnet1mAccess()) { return { alias: 'sonnet[1m]', name: 'Sonnet 1M', multiplier: 5, } } return null } /** * Get upgrade message for different contexts */ export function getUpgradeMessage(context: 'warning' | 'tip'): string | null { const upgrade = getAvailableUpgrade() if (!upgrade) return null switch (context) { case 'warning': return `/model ${upgrade.alias}` case 'tip': return `Tip: You have access to ${upgrade.name} with ${upgrade.multiplier}x more context` default: return null } }