Files
orcs-code/src/migrations/resetProToOpusDefault.ts
did:key:z6MkqDnb7Siv3Cwj7pGJq4T5EsUisECqR8KpnDLwcaZq5TPr d2542c9a62 asdf
Squash the current repository state back into one baseline commit while
preserving the README reframing and repository contents.

Constraint: User explicitly requested a single squashed commit with subject "asdf"
Confidence: high
Scope-risk: broad
Reversibility: clean
Directive: This commit intentionally rewrites published history; coordinate before future force-pushes
Tested: git status clean; local history rewritten to one commit; force-pushed main to origin and instructkr
Not-tested: Fresh clone verification after push
2026-03-31 03:34:03 -07:00

52 lines
1.5 KiB
TypeScript

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,
})
}
}