mirror of
https://github.com/openai/codex.git
synced 2026-10-22 17:58:46 +00:00
## Why Bedrock sessions that use the AWS SDK credential chain need a way to recover when credentials expire during a request. ## What changed - Add `aws.auth_refresh` provider configuration with an `aws` command, arguments, and a configurable timeout. - Run the command for refreshable Bedrock authentication failures, reload the SDK credentials, re-sign the request, and retry it. - Share refresh state across matching provider configurations so concurrent failures invoke the command only once. Bearer tokens, command auth, and static environment credentials do not use this recovery path. ## Testing - Add coverage for configuration validation, refreshable error classification, concurrent refresh sharing, and an end-to-end retry signed with refreshed credentials. GitOrigin-RevId: 0302fe3aabdbc1097e7bd62a74d407ba38a3cc57
31 lines
1.2 KiB
Rust
31 lines
1.2 KiB
Rust
mod amazon_bedrock;
|
|
mod auth;
|
|
mod bearer_auth_provider;
|
|
mod models_endpoint;
|
|
mod provider;
|
|
mod shared_state;
|
|
|
|
pub use amazon_bedrock::is_supported_amazon_bedrock_region;
|
|
pub use auth::AgentIdentitySessionFallback;
|
|
pub use auth::ProviderAuthScope;
|
|
pub use auth::ResolvedProviderAuth;
|
|
pub use auth::auth_provider_from_auth;
|
|
pub use auth::auth_provider_from_auth_manager;
|
|
pub use auth::unauthenticated_auth_provider;
|
|
pub use bearer_auth_provider::BearerAuthProvider;
|
|
pub use bearer_auth_provider::BearerAuthProvider as CoreAuthProvider;
|
|
pub use codex_model_provider_info::AMAZON_BEDROCK_PROVIDER_ID;
|
|
pub use codex_model_provider_info::AMAZON_BEDROCK_RUNTIME_PROVIDER_ID;
|
|
pub use codex_model_provider_info::CHATGPT_CODEX_BASE_URL;
|
|
pub use codex_protocol::account::ProviderAccount;
|
|
pub use provider::ModelProvider;
|
|
pub use provider::ModelProviderFuture;
|
|
pub use provider::ProviderAccountError;
|
|
pub use provider::ProviderAccountResult;
|
|
pub use provider::ProviderAccountState;
|
|
pub use provider::ProviderCapabilities;
|
|
pub use provider::ProviderUnauthorizedRecovery;
|
|
pub use provider::RemoteCompactionSupport;
|
|
pub use provider::SharedModelProvider;
|
|
pub use provider::create_model_provider;
|