pub fn fallback_models() -> Vec<&'static str> {
crate::catalog::FALLBACK_MODELS.to_vec()
}
pub fn experimental_models() -> Vec<&'static str> {
crate::catalog::EXPERIMENTAL_MODELS.to_vec()
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn fallback_first_is_default() {
assert_eq!(fallback_models()[0], crate::DEFAULT_MODEL);
}
#[test]
fn glm_is_not_first_in_fallback() {
let models = fallback_models();
assert_ne!(models[0], crate::EXPERIMENTAL_MODEL);
assert!(!models[0].contains("glm"));
assert!(models.iter().any(|id| id.contains("glm")));
}
#[test]
fn experimental_models_covers_glm_family() {
assert_eq!(experimental_models(), vec!["@cf/zai-org/glm-5.3-flash", "@cf/zai-org/glm-5.3"]);
}
#[test]
fn fallback_omits_safety_model() {
assert!(!fallback_models().contains(&"@cf/meta/llama-guard-3-8b"));
}
}