use std::borrow::Cow;
use super::ModelId;
impl ModelId {
pub fn description(&self) -> Cow<'static, str> {
if let Some(meta) = self.openrouter_metadata() {
return Cow::Borrowed(meta.description);
}
if let Some(description) = self.table_description() {
return Cow::Borrowed(description);
}
match self {
ModelId::OpenRouterMoonshotaiKimiK26 => Cow::Borrowed(
"Kimi K2.6 multimodal agentic model for long-horizon coding and design via OpenRouter",
),
ModelId::OpenRouterMoonshotaiKimiK27Code => Cow::Borrowed(
"Kimi K2.7 Code most capable coding model with long-horizon coding breakthrough via OpenRouter",
),
ModelId::OpenRouterZaiGlm51 => {
Cow::Borrowed("Z.AI GLM-5.1 next-gen foundation model via OpenRouter")
}
ModelId::OpenRouterZaiGlm52 => Cow::Borrowed(
"Z.AI GLM-5.2 flagship model for long-horizon tasks with 1M context via OpenRouter",
),
ModelId::OpenRouterOpenAIGpt55 => {
Cow::Borrowed("OpenAI GPT-5.5 model accessed through OpenRouter")
}
ModelId::Custom(_, _) => Cow::Borrowed("User-defined model"),
model => Cow::Borrowed(
model
.openrouter_metadata()
.expect("generated OpenRouter model should have metadata")
.description,
),
}
}
}