π File detail
migrations/resetProToOpusDefault.ts
π― Use case
This file lives under βmigrations/β, which covers version migrations for settings or on-disk data. On the API surface it exposes resetProToOpusDefault β mainly functions, hooks, or classes. Dependencies touch src. It composes internal code from utils (relative imports).
Generated from folder role, exports, dependency roots, and inline comments β not hand-reviewed for every path.
π§ Inline summary
import { logEvent } from 'src/services/analytics/index.js' import { isProSubscriber } from '../utils/auth.js' import { getGlobalConfig, saveGlobalConfig } from '../utils/config.js' import { getAPIProvider } from '../utils/model/providers.js' import { getSettings_DEPRECATED } from '../utils/settings/settings.js'
π€ Exports (heuristic)
resetProToOpusDefault
π External import roots
Package roots from from "β¦" (relative paths omitted).
src
π₯οΈ Source preview
import { logEvent } from 'src/services/analytics/index.js'
import { isProSubscriber } from '../utils/auth.js'
import { getGlobalConfig, saveGlobalConfig } from '../utils/config.js'
import { getAPIProvider } from '../utils/model/providers.js'
import { getSettings_DEPRECATED } from '../utils/settings/settings.js'
export function resetProToOpusDefault(): void {
const config = getGlobalConfig()
if (config.opusProMigrationComplete) {
return
}
const apiProvider = getAPIProvider()
// Pro users on firstParty get auto-migrated to Opus 4.5 default
if (apiProvider !== 'firstParty' || !isProSubscriber()) {
saveGlobalConfig(current => ({
...current,
opusProMigrationComplete: true,
}))
logEvent('tengu_reset_pro_to_opus_default', { skipped: true })
return
}
const settings = getSettings_DEPRECATED()
// Only show notification if user was on default (no custom model setting)
if (settings?.model === undefined) {
const opusProMigrationTimestamp = Date.now()
saveGlobalConfig(current => ({
...current,
opusProMigrationComplete: true,
opusProMigrationTimestamp,
}))
logEvent('tengu_reset_pro_to_opus_default', {
skipped: false,
had_custom_model: false,
})
} else {
// User has a custom model setting, just mark migration complete
saveGlobalConfig(current => ({
...current,
opusProMigrationComplete: true,
}))
logEvent('tengu_reset_pro_to_opus_default', {
skipped: false,
had_custom_model: true,
})
}
}