1- Add model service tiers metadata#20969
Conversation
Expose service tier metadata on model info and app-server model/list responses so clients can render tier choices with labels and descriptions instead of relying on raw speed-tier strings. Regenerate app-server protocol schema fixtures for the new serviceTiers field. Co-authored-by: Codex <noreply@openai.com>
168f73c to
1020799
Compare
Mark additional_speed_tiers/additionalSpeedTiers as deprecated now that service_tiers/serviceTiers carries display-ready service tier metadata. Regenerate app-server protocol schema fixtures so clients see the deprecation marker. Co-authored-by: Codex <noreply@openai.com>
Keep additional_speed_tiers documented as deprecated without using Rust field deprecation, which turns existing compatibility plumbing into errors under Bazel -D warnings. Map protocol service tier metadata into app-server test expectations across the wire type boundary. Co-authored-by: Codex <noreply@openai.com>
There was a problem hiding this comment.
💡 Codex Review
codex/codex-rs/protocol/src/openai_models.rs
Lines 479 to 482 in b648bce
ModelPreset::supports_fast_mode still checks only additional_speed_tiers. This commit introduces service_tiers as the replacement field, so models that populate only service_tiers will be treated as not supporting fast mode, breaking tier-dependent UI behavior. Update this check to consider the new metadata (and keep legacy fallback).
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Use service_tiers when determining whether a model supports fast mode, while retaining the legacy additional_speed_tiers fallback. Co-authored-by: Codex <noreply@openai.com>
Why
The model list needs to carry display-ready service tier metadata so clients can render tier choices with stable IDs, names, and descriptions. A raw speed-tier string list is not enough for richer UI copy or future tier labels.
What changed
ModelServiceTierto shared model metadata with stringid,name, anddescriptionfields.service_tierstoModelInfoandModelPreset, preserving empty defaults for older cached model payloads.serviceTierson app-server v2Modelresponses and threaded it through TUI app-server model conversion.additional_speed_tiers/additionalSpeedTiersmetadata as deprecated in source and generated schema output.ModelServiceTier.ts.Verification
just write-app-server-schema.