vtcode_config/models/model_id/
as_str.rs1use super::ModelId;
2
3impl ModelId {
4 pub fn as_str(&self) -> &'static str {
7 use crate::constants::models;
8 if let Some(meta) = self.openrouter_metadata() {
9 return meta.id;
10 }
11 match self {
12 ModelId::Gemini31ProPreview => models::GEMINI_3_1_PRO_PREVIEW,
14 ModelId::Gemini31ProPreviewCustomTools => models::GEMINI_3_1_PRO_PREVIEW_CUSTOMTOOLS,
15 ModelId::Gemini31FlashLitePreview => models::GEMINI_3_1_FLASH_LITE_PREVIEW,
16 ModelId::Gemini35Flash => models::GEMINI_3_5_FLASH,
17 ModelId::GPT55 => models::openai::GPT_5_5,
19 ModelId::GPT54 => models::GPT_5_4,
20 ModelId::GPT54Pro => models::GPT_5_4_PRO,
21 ModelId::GPT54Nano => models::openai::GPT_5_4_NANO,
22 ModelId::GPT54Mini => models::openai::GPT_5_4_MINI,
23 ModelId::GPT53Codex => models::openai::GPT_5_3_CODEX,
24 ModelId::OpenAIGptOss20b => models::openai::GPT_OSS_20B,
25 ModelId::OpenAIGptOss120b => models::openai::GPT_OSS_120B,
26 ModelId::ClaudeOpus48 => models::CLAUDE_OPUS_4_8,
28 ModelId::ClaudeSonnet46 => models::CLAUDE_SONNET_4_6,
29 ModelId::ClaudeHaiku45 => models::CLAUDE_HAIKU_4_5,
30 ModelId::ClaudeMythosPreview => models::CLAUDE_MYTHOS_PREVIEW,
31 ModelId::CopilotAuto => models::copilot::AUTO,
32 ModelId::CopilotGPT52Codex => models::copilot::GPT_5_2_CODEX,
33 ModelId::CopilotGPT51CodexMax => models::copilot::GPT_5_1_CODEX_MAX,
34 ModelId::CopilotGPT54 => models::copilot::GPT_5_4,
35 ModelId::CopilotGPT54Mini => models::copilot::GPT_5_4_MINI,
36 ModelId::CopilotClaudeSonnet46 => models::copilot::CLAUDE_SONNET_4_6,
37 ModelId::DeepSeekV4Pro => models::deepseek::DEEPSEEK_V4_PRO,
39 ModelId::DeepSeekV4Flash => models::deepseek::DEEPSEEK_V4_FLASH,
40 ModelId::MistralLarge3 => models::mistral::MISTRAL_LARGE_3,
42 ModelId::MiMoV25Pro => models::mimo::MIMO_V2_5_PRO,
44 ModelId::MiMoV25 => models::mimo::MIMO_V2_5,
45 ModelId::ZaiGlm5 => models::zai::GLM_5,
47 ModelId::ZaiGlm51 => models::zai::GLM_5_1,
48 ModelId::MoonshotKimiK26 => models::moonshot::KIMI_K2_6,
50 ModelId::OpenCodeZenGPT54 => models::opencode_zen::GPT_5_4,
52 ModelId::OpenCodeZenGPT54Mini => models::opencode_zen::GPT_5_4_MINI,
53 ModelId::OpenCodeZenClaudeSonnet46 => models::opencode_zen::CLAUDE_SONNET_4_6,
54 ModelId::OpenCodeZenGlm51 => models::opencode_zen::GLM_5_1,
55 ModelId::OpenCodeGoGlm51 => models::opencode_go::GLM_5_1,
57 ModelId::OpenCodeGoMinimaxM25 => models::opencode_go::MINIMAX_M2_5,
58 ModelId::OpenCodeGoMinimaxM27 => models::opencode_go::MINIMAX_M2_7,
59 ModelId::OllamaGptOss20b => models::ollama::GPT_OSS_20B,
61 ModelId::OllamaGptOss20bCloud => models::ollama::GPT_OSS_20B_CLOUD,
62 ModelId::OllamaGptOss120bCloud => models::ollama::GPT_OSS_120B_CLOUD,
63 ModelId::OllamaQwen317b => models::ollama::QWEN3_1_7B,
64 ModelId::OllamaQwen3CoderNext => models::ollama::QWEN3_CODER_NEXT,
65 ModelId::OllamaDeepseekV4FlashCloud => models::ollama::DEEPSEEK_V4_FLASH_CLOUD,
66 ModelId::OllamaDeepseekV4ProCloud => models::ollama::DEEPSEEK_V4_PRO_CLOUD,
67 ModelId::OllamaQwen3Next80bCloud => models::ollama::QWEN3_NEXT_80B_CLOUD,
68 ModelId::OllamaGlm5Cloud => models::ollama::GLM_5_CLOUD,
69 ModelId::OllamaGlm51Cloud => models::ollama::GLM_5_1_CLOUD,
70 ModelId::OllamaGemini3FlashPreviewCloud => models::ollama::GEMINI_3_FLASH_PREVIEW_CLOUD,
71 ModelId::OllamaMinimaxM2Cloud => models::ollama::MINIMAX_M2_CLOUD,
72 ModelId::OllamaMinimaxM27Cloud => models::ollama::MINIMAX_M27_CLOUD,
73 ModelId::OllamaMinimaxM25Cloud => models::ollama::MINIMAX_M25_CLOUD,
74 ModelId::OllamaKimiK26Cloud => models::ollama::KIMI_K2_6_CLOUD,
75 ModelId::OllamaNemotron3SuperCloud => models::ollama::NEMOTRON_3_SUPER_CLOUD,
76 ModelId::OllamaLagunaXs2 => models::ollama::LAGUNA_XS_2,
77 ModelId::LlamaCppQwen3627b => models::llamacpp::QWEN36_27B,
79 ModelId::LlamaCppQwen3635bA3b => models::llamacpp::QWEN36_35B_A3B,
80 ModelId::LlamaCppGemma426bA4b => models::llamacpp::GEMMA_4_26B_A4B,
81 ModelId::LlamaCppGemma4E4b => models::llamacpp::GEMMA_4_E4B,
82 ModelId::LlamaCppGptOss20b => models::llamacpp::GPT_OSS_20B,
83 ModelId::LlamaCppStep35Flash => models::llamacpp::STEP_3_5_FLASH,
84 ModelId::HuggingFaceOpenAIGptOss20b => models::huggingface::OPENAI_GPT_OSS_20B,
86 ModelId::HuggingFaceOpenAIGptOss120b => models::huggingface::OPENAI_GPT_OSS_120B,
87 ModelId::HuggingFaceMinimaxM25Novita => models::huggingface::MINIMAX_M2_5_NOVITA,
88 ModelId::HuggingFaceGlm5Novita => models::huggingface::ZAI_GLM_5_NOVITA,
89 ModelId::HuggingFaceGlm51ZaiOrg => models::huggingface::ZAI_GLM_5_1_ZAI_ORG,
90 ModelId::HuggingFaceQwen3CoderNextNovita => {
91 models::huggingface::QWEN3_CODER_NEXT_NOVITA
92 }
93 ModelId::HuggingFaceQwen35397BA17BTogether => {
94 models::huggingface::QWEN3_5_397B_A17B_TOGETHER
95 }
96 ModelId::HuggingFaceKimiK26Novita => models::huggingface::KIMI_K2_6_NOVITA,
97 ModelId::HuggingFaceDeepseekV4FlashNovita => {
98 models::huggingface::DEEPSEEK_V4_FLASH_NOVITA
99 }
100 ModelId::HuggingFaceDeepseekV4ProTogether => {
101 models::huggingface::DEEPSEEK_V4_PRO_TOGETHER
102 }
103 ModelId::HuggingFaceStep35Flash => models::huggingface::STEP_3_5_FLASH,
104 ModelId::HuggingFaceGlm51Deepinfra => models::huggingface::ZAI_GLM_5_1_DEEPINFRA,
105 ModelId::HuggingFaceMinimaxM27Novita => models::huggingface::MINIMAX_M2_7_NOVITA,
106 ModelId::HuggingFaceDeepseekV4ProNovita => models::huggingface::DEEPSEEK_V4_PRO_NOVITA,
107 ModelId::StepFun37Flash => models::stepfun::STEP_3_7_FLASH,
108 ModelId::Qwen37Max => models::qwen::QWEN3_7_MAX,
110 ModelId::Qwen36Flash => models::qwen::QWEN3_6_FLASH,
111 ModelId::Qwen36Plus => models::qwen::QWEN3_6_PLUS,
112 ModelId::QwenDeepSeekV4Flash => models::qwen::DEEPSEEK_V4_FLASH,
113 ModelId::QwenDeepSeekV4Pro => models::qwen::DEEPSEEK_V4_PRO,
114 ModelId::QwenGlm51 => models::qwen::GLM_5_1,
115 ModelId::MinimaxM27 => models::minimax::MINIMAX_M2_7,
117 ModelId::MinimaxM25 => models::minimax::MINIMAX_M2_5,
118 ModelId::PoolsideLagunaM1 => models::poolside::LAGUNA_M1,
120 ModelId::PoolsideLagunaXs2 => models::poolside::LAGUNA_XS2,
121 ModelId::OpenRouterMinimaxM25 => "minimax/minimax-m2.5",
123 ModelId::OpenRouterQwen3CoderNext => "qwen/qwen3-coder-next",
124 ModelId::OpenRouterMoonshotaiKimiK26 => "moonshotai/kimi-k2.6",
125 ModelId::OpenRouterZaiGlm51 => "z-ai/glm-5.1",
126 _ => unreachable!(),
127 }
128 }
129}