2- Use string service tiers in session protocol (#20971)

## Summary
- break service tier session/op/app-server protocol fields from the
closed enum to string tier ids
- send the service tier string directly through model requests, prewarm,
compaction, memories, and TUI/app-server turn starts
- regenerate app-server protocol JSON/TypeScript schemas, removing the
standalone ServiceTier TS enum

## Verification
- just fmt
- cargo check -p codex-core -p codex-app-server -p codex-tui
- just write-app-server-schema

---------

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Ahmed Ibrahim
2026-05-06 18:00:21 +03:00
committed by GitHub
Unverified
parent ebd9ec05b4
commit be1d3cff93
65 changed files with 403 additions and 570 deletions
+1 -1
View File
@@ -313,7 +313,7 @@ async fn websocket_v2_first_turn_drops_fast_tier_after_startup_prewarm() -> Resu
.features
.enable(Feature::ResponsesWebsocketsV2)
.expect("test config should allow feature update");
config.service_tier = Some(ServiceTier::Fast);
config.service_tier = Some(ServiceTier::Fast.request_value().to_string());
});
let test = builder.build_with_websocket_server(&server).await?;
@@ -1948,7 +1948,7 @@ async fn stream_until_complete_with_request_metadata(
&harness.session_telemetry,
harness.effort,
harness.summary,
service_tier,
service_tier.map(|service_tier| service_tier.request_value().to_string()),
turn_metadata_header,
&codex_rollout_trace::InferenceTraceContext::disabled(),
)
+1 -1
View File
@@ -445,7 +445,7 @@ async fn assert_remote_manual_compact_request_parity(
let mut builder = test_codex().with_auth(auth);
if let Some(service_tier) = configured_service_tier {
builder = builder.with_config(move |config| {
config.service_tier = Some(service_tier);
config.service_tier = Some(service_tier.request_value().to_string());
});
}
let harness = TestCodexHarness::with_builder(builder).await?;