vtcode-core 0.136.2

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

use super::super::ModelPreset;
use super::reasoning_preset;
use crate::config::constants::models::evolink as evolink_models;
use crate::config::models::Provider;
use crate::config::types::ReasoningEffortLevel;
pub(crate) fn evolink_presets() -> Vec<ModelPreset> {
    vec![
        ModelPreset {
            id: "evolink/gpt-5.2".to_string(),
            model: evolink_models::GPT_5_2.to_string(),
            display_name: "GPT-5.2 (Evolink)".to_string(),
            description: "GPT-5.2 served through the Evolink OpenAI-compatible gateway.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![reasoning_preset(ReasoningEffortLevel::Medium, "Balanced")],
            is_default: true,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(400_000),
        },
        ModelPreset {
            id: "evolink/gpt-5.5".to_string(),
            model: evolink_models::GPT_5_5.to_string(),
            display_name: "GPT-5.5 (Evolink)".to_string(),
            description: "GPT-5.5 flagship model served through the Evolink gateway.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![reasoning_preset(ReasoningEffortLevel::Medium, "Balanced")],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(400_000),
        },
        ModelPreset {
            id: "evolink/deepseek-v4-pro".to_string(),
            model: evolink_models::DEEPSEEK_V4_PRO.to_string(),
            display_name: "DeepSeek V4 Pro (Evolink)".to_string(),
            description: "DeepSeek V4 Pro reasoning model served through the Evolink gateway.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![
                reasoning_preset(ReasoningEffortLevel::Low, "Fast"),
                reasoning_preset(ReasoningEffortLevel::Medium, "Balanced"),
                reasoning_preset(ReasoningEffortLevel::High, "Deep"),
            ],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(163_840),
        },
        ModelPreset {
            id: "evolink/deepseek-v4-flash".to_string(),
            model: evolink_models::DEEPSEEK_V4_FLASH.to_string(),
            display_name: "DeepSeek V4 Flash (Evolink)".to_string(),
            description: "DeepSeek V4 Flash fast inference model served through the Evolink gateway.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![
                reasoning_preset(ReasoningEffortLevel::Low, "Fast"),
                reasoning_preset(ReasoningEffortLevel::Medium, "Balanced"),
                reasoning_preset(ReasoningEffortLevel::High, "Deep"),
            ],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_000_000),
        },
        ModelPreset {
            id: "evolink/doubao-seed-2.0-pro".to_string(),
            model: evolink_models::DOUBAO_SEED_2_0_PRO.to_string(),
            display_name: "Doubao Seed 2.0 Pro (Evolink)".to_string(),
            description: "Doubao Seed 2.0 Pro served through the Evolink gateway.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![
                reasoning_preset(ReasoningEffortLevel::Low, "Fast"),
                reasoning_preset(ReasoningEffortLevel::Medium, "Balanced"),
                reasoning_preset(ReasoningEffortLevel::High, "Deep"),
            ],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(262_144),
        },
        ModelPreset {
            id: "evolink/gemini-3.1-pro-preview".to_string(),
            model: evolink_models::GEMINI_3_1_PRO.to_string(),
            display_name: "Gemini 3.1 Pro (Evolink)".to_string(),
            description: "Gemini 3.1 Pro served through the Evolink gateway via OpenAI SDK format.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![reasoning_preset(ReasoningEffortLevel::Medium, "Balanced")],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_000_000),
        },
        ModelPreset {
            id: "evolink/gemini-3.5-flash".to_string(),
            model: evolink_models::GEMINI_3_5_FLASH.to_string(),
            display_name: "Gemini 3.5 Flash (Evolink)".to_string(),
            description: "Gemini 3.5 Flash served through the Evolink gateway via OpenAI SDK format.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![reasoning_preset(ReasoningEffortLevel::Medium, "Balanced")],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_000_000),
        },
        ModelPreset {
            id: "evolink/MiniMax-M3".to_string(),
            model: evolink_models::MINIMAX_M3.to_string(),
            display_name: "MiniMax-M3 (Evolink)".to_string(),
            description: "MiniMax-M3 frontier multimodal model served through the Evolink gateway.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![reasoning_preset(ReasoningEffortLevel::Medium, "Balanced")],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(1_000_000),
        },
        ModelPreset {
            id: "evolink/claude-sonnet-4-6".to_string(),
            model: evolink_models::CLAUDE_SONNET_4_6.to_string(),
            display_name: "Claude Sonnet 4.6 (Evolink)".to_string(),
            description: "Claude Sonnet 4.6 served through Evolink via Anthropic Messages API.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Medium,
            supported_reasoning_efforts: vec![reasoning_preset(ReasoningEffortLevel::Medium, "Balanced")],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(200_000),
        },
        ModelPreset {
            id: "evolink/claude-opus-4-8".to_string(),
            model: evolink_models::CLAUDE_OPUS_4_8.to_string(),
            display_name: "Claude Opus 4.8 (Evolink)".to_string(),
            description: "Claude Opus 4.8 served through Evolink via Anthropic Messages API.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::High,
            supported_reasoning_efforts: vec![
                reasoning_preset(ReasoningEffortLevel::Medium, "Balanced"),
                reasoning_preset(ReasoningEffortLevel::High, "Deep"),
            ],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(200_000),
        },
        ModelPreset {
            id: "evolink/claude-haiku-4-5-20251001".to_string(),
            model: evolink_models::CLAUDE_HAIKU_4_5.to_string(),
            display_name: "Claude Haiku 4.5 (Evolink)".to_string(),
            description: "Claude Haiku 4.5 fast model served through Evolink via Anthropic Messages API.".to_string(),
            provider: Provider::Evolink,
            default_reasoning_effort: ReasoningEffortLevel::Low,
            supported_reasoning_efforts: vec![
                reasoning_preset(ReasoningEffortLevel::Low, "Fast"),
                reasoning_preset(ReasoningEffortLevel::Medium, "Balanced"),
            ],
            is_default: false,
            upgrade: None,
            show_in_picker: true,
            supported_in_api: true,
            context_window: Some(200_000),
        },
    ]
}