init
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user