mono/packages/kbot/ref/utils/model/aliases.ts
2026-04-01 01:05:48 +02:00

26 lines
793 B
TypeScript

export const MODEL_ALIASES = [
'sonnet',
'opus',
'haiku',
'best',
'sonnet[1m]',
'opus[1m]',
'opusplan',
] as const
export type ModelAlias = (typeof MODEL_ALIASES)[number]
export function isModelAlias(modelInput: string): modelInput is ModelAlias {
return MODEL_ALIASES.includes(modelInput as ModelAlias)
}
/**
* Bare model family aliases that act as wildcards in the availableModels allowlist.
* When "opus" is in the allowlist, ANY opus model is allowed (opus 4.5, 4.6, etc.).
* When a specific model ID is in the allowlist, only that exact version is allowed.
*/
export const MODEL_FAMILY_ALIASES = ['sonnet', 'opus', 'haiku'] as const
export function isModelFamilyAlias(model: string): boolean {
return (MODEL_FAMILY_ALIASES as readonly string[]).includes(model)
}