fix(codex): serve versioned dynamic model catalogs

This commit is contained in:
zhefox
2026-08-14 18:41:44 +08:00
parent a1d64e5239
commit 810c3dfe2b
39 changed files with 6147 additions and 362 deletions
+1 -2
View File
@@ -247,8 +247,7 @@ pub(super) fn detect_public_models_auth_signature(uri: &Uri, headers: &http::Hea
let has_codex_client_version = uri.path() == "/v1/models"
&& uri.query().is_some_and(|query| {
url::form_urlencoded::parse(query.as_bytes())
.any(|(key, value)| key == "client_version" && !value.trim().is_empty())
url::form_urlencoded::parse(query.as_bytes()).any(|(key, _)| key == "client_version")
});
if has_codex_client_version {
return "openai:responses".to_string();
@@ -39,7 +39,7 @@ fn classifies_codex_models_list_with_responses_auth_signature() {
}
#[test]
fn empty_codex_client_version_keeps_standard_openai_models_signature() {
fn empty_codex_client_version_uses_responses_signature_for_bounded_fallback() {
let headers = headers(&[("authorization", "Bearer sk-test")]);
let uri: Uri = "/v1/models?client_version="
.parse()
@@ -49,7 +49,7 @@ fn empty_codex_client_version_keeps_standard_openai_models_signature() {
assert_eq!(
decision.auth_endpoint_signature.as_deref(),
Some("openai:chat")
Some("openai:responses")
);
}