source dump of claude code
at main 51 lines 1.6 kB view raw
1import { logEvent } from 'src/services/analytics/index.js' 2import { isProSubscriber } from '../utils/auth.js' 3import { getGlobalConfig, saveGlobalConfig } from '../utils/config.js' 4import { getAPIProvider } from '../utils/model/providers.js' 5import { getSettings_DEPRECATED } from '../utils/settings/settings.js' 6 7export function resetProToOpusDefault(): void { 8 const config = getGlobalConfig() 9 10 if (config.opusProMigrationComplete) { 11 return 12 } 13 14 const apiProvider = getAPIProvider() 15 16 // Pro users on firstParty get auto-migrated to Opus 4.5 default 17 if (apiProvider !== 'firstParty' || !isProSubscriber()) { 18 saveGlobalConfig(current => ({ 19 ...current, 20 opusProMigrationComplete: true, 21 })) 22 logEvent('tengu_reset_pro_to_opus_default', { skipped: true }) 23 return 24 } 25 26 const settings = getSettings_DEPRECATED() 27 28 // Only show notification if user was on default (no custom model setting) 29 if (settings?.model === undefined) { 30 const opusProMigrationTimestamp = Date.now() 31 saveGlobalConfig(current => ({ 32 ...current, 33 opusProMigrationComplete: true, 34 opusProMigrationTimestamp, 35 })) 36 logEvent('tengu_reset_pro_to_opus_default', { 37 skipped: false, 38 had_custom_model: false, 39 }) 40 } else { 41 // User has a custom model setting, just mark migration complete 42 saveGlobalConfig(current => ({ 43 ...current, 44 opusProMigrationComplete: true, 45 })) 46 logEvent('tengu_reset_pro_to_opus_default', { 47 skipped: false, 48 had_custom_model: true, 49 }) 50 } 51}