mirror of
https://github.com/openai/codex.git
synced 2026-10-25 18:28:38 +00:00
[codex] gate external account reporting
This commit is contained in:
@@ -277,6 +277,9 @@ impl ModelProvider for ConfiguredModelProvider {
|
||||
if auth_manager.refresh_failure_for_auth(&auth).is_some() {
|
||||
return None;
|
||||
}
|
||||
if matches!(&auth, CodexAuth::ExternalProvided(_)) && !auth.is_chatgpt_auth() {
|
||||
return None;
|
||||
}
|
||||
Some(auth)
|
||||
})
|
||||
.map(|auth| match &auth {
|
||||
@@ -337,6 +340,8 @@ impl ModelProvider for ConfiguredModelProvider {
|
||||
mod tests {
|
||||
use std::num::NonZeroU64;
|
||||
|
||||
use codex_login::ExternalProvidedAuth;
|
||||
use codex_login::ExternalProvidedAuthCapabilities;
|
||||
use codex_login::auth::AgentIdentityAuthPolicy;
|
||||
use codex_login::auth::BedrockApiKeyAuth;
|
||||
use codex_model_provider_info::ModelProviderAwsAuthInfo;
|
||||
@@ -590,6 +595,30 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn openai_provider_does_not_report_backend_only_external_auth_as_chatgpt() {
|
||||
let auth = ExternalProvidedAuth::new([], "user-123").with_capabilities(
|
||||
ExternalProvidedAuthCapabilities {
|
||||
uses_codex_backend: true,
|
||||
..Default::default()
|
||||
},
|
||||
);
|
||||
let provider = create_model_provider(
|
||||
ModelProviderInfo::create_openai_provider(/*base_url*/ None),
|
||||
Some(AuthManager::from_auth_for_testing(
|
||||
CodexAuth::ExternalProvided(auth),
|
||||
)),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
provider.account_state(),
|
||||
Ok(ProviderAccountState {
|
||||
account: None,
|
||||
requires_openai_auth: true,
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn openai_provider_rejects_bedrock_api_key_account_state() {
|
||||
let provider = create_model_provider(
|
||||
|
||||
Reference in New Issue
Block a user