use std::borrow::Cow;
use super::ModelId;
impl ModelId {
pub fn display_name(&self) -> Cow<'static, str> {
if let Some(meta) = self.openrouter_metadata() {
return Cow::Borrowed(meta.display);
}
if let Some(display) = self.table_display() {
return Cow::Borrowed(display);
}
match self {
ModelId::OpenRouterMoonshotaiKimiK26 => Cow::Borrowed("Kimi K2.6 (OpenRouter)"),
ModelId::OpenRouterMoonshotaiKimiK27Code => {
Cow::Borrowed("Kimi K2.7 Code (OpenRouter)")
}
ModelId::OpenRouterZaiGlm51 => Cow::Borrowed("GLM-5.1 (OpenRouter)"),
ModelId::OpenRouterZaiGlm52 => Cow::Borrowed("GLM-5.2 (OpenRouter)"),
ModelId::OpenRouterOpenAIGpt55 => Cow::Borrowed("OpenAI GPT-5.5 (OpenRouter)"),
ModelId::Custom(_, model) => Cow::Owned(model.clone()),
model => Cow::Borrowed(
model
.openrouter_metadata()
.expect("generated OpenRouter model should have metadata")
.display,
),
}
}
}