codex: fix app-server service tier overrides

Split string service tier requests into legacy service_tier and service_tier_id config overrides so arbitrary tier ids keep flowing through the app-server path.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Ahmed Ibrahim
2026-05-07 06:37:10 +03:00
parent a27a970b8e
commit f25b854e28
2 changed files with 13 additions and 0 deletions

View File

@@ -343,6 +343,7 @@ use codex_protocol::ThreadId;
use codex_protocol::config_types::CollaborationMode;
use codex_protocol::config_types::ForcedLoginMethod;
use codex_protocol::config_types::Personality;
use codex_protocol::config_types::ServiceTier;
use codex_protocol::config_types::TrustLevel;
use codex_protocol::config_types::WindowsSandboxLevel;
use codex_protocol::dynamic_tools::DynamicToolSpec as CoreDynamicToolSpec;

View File

@@ -1193,10 +1193,22 @@ impl ThreadRequestProcessor {
developer_instructions: Option<String>,
personality: Option<Personality>,
) -> ConfigOverrides {
let (service_tier, service_tier_id) = match service_tier {
Some(Some(service_tier)) => {
let legacy_service_tier = ServiceTier::from_request_value(&service_tier);
let service_tier_id = legacy_service_tier
.map(|service_tier| service_tier.request_value().to_string())
.unwrap_or(service_tier);
(Some(legacy_service_tier), Some(Some(service_tier_id)))
}
Some(None) => (Some(None), Some(None)),
None => (None, None),
};
let mut overrides = ConfigOverrides {
model,
model_provider,
service_tier,
service_tier_id,
cwd: cwd.map(PathBuf::from),
approval_policy: approval_policy
.map(codex_app_server_protocol::AskForApproval::to_core),