pub const MODEL_ALIASES: &[&str] = &[
"sonnet",
"opus",
"haiku",
"best",
"sonnet[1m]",
"opus[1m]",
"opusplan",
];
pub fn is_model_alias(model_input: &str) -> bool {
MODEL_ALIASES.contains(&model_input)
}
pub const MODEL_FAMILY_ALIASES: &[&str] = &["sonnet", "opus", "haiku"];
pub fn is_model_family_alias(model: &str) -> bool {
MODEL_FAMILY_ALIASES.contains(&model)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_is_model_alias() {
assert!(is_model_alias("sonnet"));
assert!(is_model_alias("opus[1m]"));
assert!(!is_model_alias("claude-4-sonnet-20250514"));
}
#[test]
fn test_is_model_family_alias() {
assert!(is_model_family_alias("sonnet"));
assert!(is_model_family_alias("opus"));
assert!(is_model_family_alias("haiku"));
assert!(!is_model_family_alias("best"));
}
}