vtcode-core 0.136.2

Core library for VT Code - a Rust-based terminal coding agent
//! openrouter_presets — provider preset definitions for openrouter.

use super::super::{ModelPreset, ReasoningEffortPreset};
use crate::config::models::Provider;
use crate::config::types::ReasoningEffortLevel;
pub(crate) fn openrouter_presets() -> Vec<ModelPreset> {
    vec![
        ModelPreset {
            id: "openrouter/deepseek/deepseek-chat".to_string(),
            model: "deepseek/deepseek-chat".to_string(),
            display_name: "DeepSeek V3.2 (OpenRouter)".to_string(),
            description: "DeepSeek via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(128_000),
        },
        ModelPreset {
            id: "openrouter/moonshotai/kimi-k3".to_string(),
            model: "moonshotai/kimi-k3".to_string(),
            display_name: "Kimi K3 (OpenRouter)".to_string(),
            description: "Kimi K3 2.8T parameter flagship with 1M context, native vision, and always-on deep reasoning via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Max,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Max,
                description: "Maximum (only supported level)".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_048_576),
        },
        ModelPreset {
            id: "openrouter/moonshotai/kimi-k2.6".to_string(),
            model: "moonshotai/kimi-k2.6".to_string(),
            display_name: "Kimi K2.6 (OpenRouter)".to_string(),
            description: "Kimi K2.6 multimodal agentic model via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(262_144),
        },
        ModelPreset {
            id: "openrouter/moonshotai/kimi-k2.7-code".to_string(),
            model: "moonshotai/kimi-k2.7-code".to_string(),
            display_name: "Kimi K2.7 Code (OpenRouter)".to_string(),
            description: "Kimi K2.7 Code most capable coding model with long-horizon coding breakthrough via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(262_144),
        },
        ModelPreset {
            id: "openrouter/qwen/qwen3.7-max".to_string(),
            model: "qwen/qwen3.7-max".to_string(),
            display_name: "Qwen3.7 Max (OpenRouter)".to_string(),
            description: "Qwen3.7 Max flagship model for coding and agentic workloads via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_000_000),
        },
        ModelPreset {
            id: "openrouter/tencent/hy3-preview".to_string(),
            model: "tencent/hy3-preview".to_string(),
            display_name: "Hy3 Preview (OpenRouter)".to_string(),
            description: "Tencent Hy3 high-efficiency MoE model with configurable reasoning via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![
                ReasoningEffortPreset {
                    effort: ReasoningEffortLevel::Low,
                    description: "Fast".to_string(),
                },
                ReasoningEffortPreset {
                    effort: ReasoningEffortLevel::Medium,
                    description: "Balanced".to_string(),
                },
                ReasoningEffortPreset {
                    effort: ReasoningEffortLevel::High,
                    description: "Deep".to_string(),
                },
            ],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(262_144),
        },
        ModelPreset {
            id: "openrouter/x-ai/grok-build-0.1".to_string(),
            model: "x-ai/grok-build-0.1".to_string(),
            display_name: "Grok Build 0.1 (OpenRouter)".to_string(),
            description: "xAI Grok Build 0.1 coding model for agentic software engineering via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(256_000),
        },
        ModelPreset {
            id: "openrouter/xiaomi/mimo-v2.5".to_string(),
            model: "xiaomi/mimo-v2.5".to_string(),
            display_name: "MiMo-V2.5 (OpenRouter)".to_string(),
            description: "Xiaomi MiMo-V2.5 omnimodal agentic model for complex software engineering via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_000_000),
        },
        ModelPreset {
            id: "openrouter/xiaomi/mimo-v2.5-pro".to_string(),
            model: "xiaomi/mimo-v2.5-pro".to_string(),
            display_name: "MiMo-V2.5-Pro (OpenRouter)".to_string(),
            description: "Xiaomi MiMo-V2.5-Pro flagship agentic model for complex software engineering via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: true,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_000_000),
        },
        ModelPreset {
            id: "openrouter/poolside/laguna-m.1:free".to_string(),
            model: "poolside/laguna-m.1:free".to_string(),
            display_name: "Laguna M.1 free (OpenRouter)".to_string(),
            description: "Poolside Laguna M.1 flagship free coding agent model via OpenRouter".to_string(),
            provider: Provider::OpenRouter,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![ReasoningEffortPreset {
                effort: ReasoningEffortLevel::Medium,
                description: "Balanced".to_string(),
            }],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(262_144),
        },
    ]
}