zagens_runtime/cli/
auto_route_cli.rs1use crate::agent_surface::ReasoningEffort;
4use crate::auto_route::{AutoRouteSelection, resolve_auto_route_with_flash};
5use crate::config::Config;
6
7#[derive(Debug, Clone)]
8pub struct CliAutoRoute {
9 pub model: String,
10 pub reasoning_effort: Option<ReasoningEffort>,
11 pub auto_model: bool,
12}
13
14pub async fn resolve_cli_auto_route(config: &Config, model: &str, prompt: &str) -> CliAutoRoute {
15 if model.trim().eq_ignore_ascii_case("auto") {
16 let selection: AutoRouteSelection =
17 resolve_auto_route_with_flash(config, prompt, "", "auto", "auto").await;
18 CliAutoRoute {
19 model: selection.model,
20 reasoning_effort: selection.reasoning_effort,
21 auto_model: true,
22 }
23 } else {
24 CliAutoRoute {
25 model: model.to_string(),
26 reasoning_effort: None,
27 auto_model: false,
28 }
29 }
30}