From 2d64b20f1e2888547ef75c0d8f53bc0ab31b7e8f Mon Sep 17 00:00:00 2001 From: Ahmed Ibrahim Date: Wed, 13 May 2026 18:24:12 +0300 Subject: [PATCH] codex: fix service tier fallback borrow --- .../src/tools/handlers/multi_agents_common.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/codex-rs/core/src/tools/handlers/multi_agents_common.rs b/codex-rs/core/src/tools/handlers/multi_agents_common.rs index 08ac008274..52458b3963 100644 --- a/codex-rs/core/src/tools/handlers/multi_agents_common.rs +++ b/codex-rs/core/src/tools/handlers/multi_agents_common.rs @@ -343,9 +343,9 @@ pub(crate) async fn apply_spawn_agent_service_tier( requested_service_tier: Option<&str>, ) -> Result<(), FunctionCallError> { let candidate_service_tiers = [ - config.service_tier.as_deref(), - requested_service_tier, - parent_service_tier, + config.service_tier.clone(), + requested_service_tier.map(str::to_string), + parent_service_tier.map(str::to_string), ]; if candidate_service_tiers.iter().all(Option::is_none) { config.service_tier = None; @@ -381,11 +381,13 @@ pub(crate) async fn apply_spawn_agent_service_tier( ))); } - config.service_tier = candidate_service_tiers - .into_iter() - .flatten() - .find(|candidate_service_tier| model_info.supports_service_tier(candidate_service_tier)) - .map(str::to_string); + config.service_tier = + candidate_service_tiers + .into_iter() + .flatten() + .find(|candidate_service_tier| { + model_info.supports_service_tier(candidate_service_tier.as_str()) + }); Ok(()) }