26 lines
793 B
TypeScript
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)
|
|
}
|