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),
},
]
}