2026-04-07 02:50:19 +08:00
|
|
|
#[cfg(test)]
|
2026-04-09 00:10:38 +08:00
|
|
|
#[path = "codex/tests.rs"]
|
|
|
|
|
mod tests;
|
2026-04-07 02:50:19 +08:00
|
|
|
|
2026-05-02 13:23:54 +08:00
|
|
|
pub(crate) use crate::ai_serving::{
|
2026-07-11 03:42:30 +08:00
|
|
|
apply_codex_openai_responses_special_body_edits, apply_codex_openai_special_headers,
|
2026-04-09 00:10:38 +08:00
|
|
|
};
|
2026-07-11 03:42:30 +08:00
|
|
|
|
|
|
|
|
pub(crate) fn codex_model_capabilities_for_transport(
|
|
|
|
|
transport: &crate::ai_serving::GatewayProviderTransportSnapshot,
|
|
|
|
|
provider_api_format: &str,
|
|
|
|
|
provider_model: &str,
|
|
|
|
|
source_model: &str,
|
|
|
|
|
) -> Option<crate::ai_serving::CodexResponsesModelCapabilities> {
|
|
|
|
|
if !transport
|
|
|
|
|
.provider
|
|
|
|
|
.provider_type
|
|
|
|
|
.trim()
|
|
|
|
|
.eq_ignore_ascii_case("codex")
|
|
|
|
|
|| !crate::ai_serving::is_openai_responses_family_format(provider_api_format)
|
|
|
|
|
{
|
|
|
|
|
return None;
|
|
|
|
|
}
|
|
|
|
|
Some(
|
|
|
|
|
crate::ai_serving::resolve_codex_responses_model_capabilities(
|
|
|
|
|
provider_model,
|
|
|
|
|
source_model,
|
|
|
|
|
transport.key.upstream_metadata.as_ref(),
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
}
|