diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index c76a86529a..cdfdd491be 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -255,7 +255,7 @@ impl Codex { let config = Arc::new(config); let model = models_manager - .get_model( + .get_default_model( &config.model, &config, crate::models_manager::manager::RefreshStrategy::default(), diff --git a/codex-rs/core/src/models_manager/manager.rs b/codex-rs/core/src/models_manager/manager.rs index d3ecbd6162..070eccaff5 100644 --- a/codex-rs/core/src/models_manager/manager.rs +++ b/codex-rs/core/src/models_manager/manager.rs @@ -105,7 +105,7 @@ impl ModelsManager { /// /// If `model` is provided, returns it directly. Otherwise selects the default based on /// auth mode and available models (prefers `codex-auto-balanced` for ChatGPT auth). - pub async fn get_model( + pub async fn get_default_model( &self, model: &Option, config: &Config, @@ -136,6 +136,7 @@ impl ModelsManager { OPENAI_DEFAULT_API_MODEL.to_string() } + // todo(aibrahim): look if we can tighten it to pub(crate) /// Look up model metadata, applying remote overrides and config adjustments. pub async fn get_model_info(&self, model: &str, config: &Config) -> ModelInfo { let remote = self diff --git a/codex-rs/core/tests/suite/remote_models.rs b/codex-rs/core/tests/suite/remote_models.rs index a98e4c2b70..c67c083c55 100644 --- a/codex-rs/core/tests/suite/remote_models.rs +++ b/codex-rs/core/tests/suite/remote_models.rs @@ -478,7 +478,7 @@ async fn remote_models_request_times_out_after_5s() -> Result<()> { let start = Instant::now(); let model = timeout( Duration::from_secs(7), - manager.get_model(&None, &config, RefreshStrategy::OnlineIfUncached), + manager.get_default_model(&None, &config, RefreshStrategy::OnlineIfUncached), ) .await; let elapsed = start.elapsed(); @@ -543,7 +543,7 @@ async fn remote_models_hide_picker_only_models() -> Result<()> { ); let selected = manager - .get_model(&None, &config, RefreshStrategy::OnlineIfUncached) + .get_default_model(&None, &config, RefreshStrategy::OnlineIfUncached) .await; assert_eq!(selected, "gpt-5.2-codex"); diff --git a/codex-rs/exec/src/lib.rs b/codex-rs/exec/src/lib.rs index 01e6ff9f5f..e35bd4525f 100644 --- a/codex-rs/exec/src/lib.rs +++ b/codex-rs/exec/src/lib.rs @@ -311,7 +311,7 @@ pub async fn run_main(cli: Cli, codex_linux_sandbox_exe: Option) -> any ); let default_model = thread_manager .get_models_manager() - .get_model(&config.model, &config, RefreshStrategy::default()) + .get_default_model(&config.model, &config, RefreshStrategy::default()) .await; // Handle resume subcommand by resolving a rollout path and using explicit resume API. diff --git a/codex-rs/tui/src/app.rs b/codex-rs/tui/src/app.rs index fb0f1dd3ec..d95e89590a 100644 --- a/codex-rs/tui/src/app.rs +++ b/codex-rs/tui/src/app.rs @@ -372,7 +372,7 @@ impl App { )); let mut model = thread_manager .get_models_manager() - .get_model(&config.model, &config, RefreshStrategy::default()) + .get_default_model(&config.model, &config, RefreshStrategy::default()) .await; let exit_info = handle_model_migration_prompt_if_needed( tui, diff --git a/codex-rs/tui2/src/app.rs b/codex-rs/tui2/src/app.rs index 84c2b9813c..b95fd48c7e 100644 --- a/codex-rs/tui2/src/app.rs +++ b/codex-rs/tui2/src/app.rs @@ -435,7 +435,7 @@ impl App { )); let mut model = thread_manager .get_models_manager() - .get_model(&config.model, &config, RefreshStrategy::default()) + .get_default_model(&config.model, &config, RefreshStrategy::default()) .await; let exit_info = handle_model_migration_prompt_if_needed( tui,