Files
codex/codex-rs/model-provider/src/lib.rs
T
Zahan Malkani 72532ecae5 Negotiate realtime voice calls in the TUI (#61172)
## What changed

- Create WebRTC calls using the TUI's local provider and credentials, then attach the app server through `existingCall` with the returned call ID.
- Preserve the effective voice preference and share realtime prompt preparation and thread headers between call creation and the backend observer.
- Run negotiation asynchronously, cancel pending startup when voice stops, and ignore results from stale startup attempts.

## Testing

Update voice request and handoff tests for client-created calls. Add coverage ensuring that canceling and restarting voice attaches only the new attempt, including when an earlier result is already queued.

GitOrigin-RevId: b704976f4918dddd24a17fbaa868a7c62e81885b
2026-11-12 19:43:12 +00:00

75 lines
2.8 KiB
Rust

mod amazon_bedrock;
mod auth;
mod bearer_auth_provider;
mod capabilities;
mod catalog_factory;
mod chatgpt_base_url;
mod client_auth;
mod combined_auth;
mod gateway_auth;
mod gateway_export;
mod gcp;
mod models_endpoint;
mod models_identity;
mod provider;
mod request_preparation;
mod request_setup;
mod runtime_auth;
mod shared_state;
pub mod test_support;
mod workspace_routing;
pub use workspace_routing::ACCOUNT_ROUTING_HEADER;
pub use workspace_routing::ResolvedResponsesProvider;
pub use workspace_routing::ResponsesConnectionKey;
pub use workspace_routing::WorkspaceRoutingContext;
pub use amazon_bedrock::is_amazon_bedrock_gov_cloud_region;
pub use amazon_bedrock::is_supported_amazon_bedrock_region;
pub use amazon_bedrock::resolve_amazon_bedrock_region;
pub use auth::AgentIdentitySessionFallback;
pub use auth::ProviderAuthContext;
pub use auth::ProviderAuthScope;
pub use auth::ResolvedProviderAuth;
pub use auth::auth_provider_for_request;
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 capabilities::ProviderCapabilities;
pub use catalog_factory::ModelCatalogFactory;
pub use chatgpt_base_url::ChatgptBaseUrl;
pub use chatgpt_base_url::DEFAULT_CHATGPT_BASE_URL;
pub use client_auth::ClientAuth;
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_model_provider_info::GCP_PROVIDER_ID;
pub use codex_model_provider_info::RemoteCompactionSupport;
pub use codex_protocol::account::ProviderAccount;
pub use gateway_auth::GatewayAuthManager;
pub use provider::ModelProvider;
pub use provider::ModelProviderFuture;
pub use provider::ProviderAccountError;
pub use provider::ProviderAccountResult;
pub use provider::ProviderAccountState;
pub use provider::ProviderAuthRecoveryMessages;
pub use provider::ProviderUnauthorizedRecovery;
pub use provider::SharedModelProvider;
pub use provider::create_model_provider;
pub use provider::create_model_provider_from_local_config;
pub use provider::provider_uses_first_party_auth_path;
pub use provider::resolve_api_provider;
pub use request_preparation::prepare_provider_request;
pub use request_setup::ResolvedProviderRequest;
pub use request_setup::request_auth_owner;
pub use request_setup::resolve_request;
pub use runtime_auth::runtime_auth_for_url;
pub use runtime_auth::select_runtime_auth_for;
pub(crate) use runtime_auth::select_runtime_auth_for_source;
pub use runtime_auth::select_runtime_provider;
pub use runtime_auth::validate_runtime_destination;
pub use runtime_auth::validate_runtime_environment;
pub use runtime_auth::validate_runtime_selectors;