mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
aa2403e2eb
## Why `codex-core` was re-exporting APIs owned by sibling `codex-*` crates, which made downstream crates depend on `codex-core` as a proxy module instead of the actual owner crate. Removing those forwards makes crate boundaries explicit and lets leaf crates drop unnecessary `codex-core` dependencies. In this PR, this reduces the dependency on `codex-core` to `codex-login` in the following files: ``` codex-rs/backend-client/Cargo.toml codex-rs/mcp-server/tests/common/Cargo.toml ``` ## What - Remove `codex-rs/core/src/lib.rs` re-exports for symbols owned by `codex-login`, `codex-mcp`, `codex-rollout`, `codex-analytics`, `codex-protocol`, `codex-shell-command`, `codex-sandboxing`, `codex-tools`, and `codex-utils-path`. - Delete the `default_client` forwarding shim in `codex-rs/core`. - Update in-crate and downstream callsites to import directly from the owning `codex-*` crate. - Add direct Cargo dependencies where callsites now target the owner crate, and remove `codex-core` from `codex-rs/backend-client`.
32 lines
1.0 KiB
Rust
32 lines
1.0 KiB
Rust
use std::sync::Arc;
|
|
|
|
use crate::model_provider_info::ModelProviderInfo;
|
|
use codex_login::AuthManager;
|
|
|
|
/// Returns the provider-scoped auth manager when this provider uses command-backed auth.
|
|
///
|
|
/// Providers without custom auth continue using the caller-supplied base manager.
|
|
pub(crate) fn auth_manager_for_provider(
|
|
auth_manager: Option<Arc<AuthManager>>,
|
|
provider: &ModelProviderInfo,
|
|
) -> Option<Arc<AuthManager>> {
|
|
match provider.auth.clone() {
|
|
Some(config) => Some(AuthManager::external_bearer_only(config)),
|
|
None => auth_manager,
|
|
}
|
|
}
|
|
|
|
/// Returns an auth manager for request paths that always require authentication.
|
|
///
|
|
/// Providers with command-backed auth get a bearer-only manager; otherwise the caller's manager
|
|
/// is reused unchanged.
|
|
pub(crate) fn required_auth_manager_for_provider(
|
|
auth_manager: Arc<AuthManager>,
|
|
provider: &ModelProviderInfo,
|
|
) -> Arc<AuthManager> {
|
|
match provider.auth.clone() {
|
|
Some(config) => AuthManager::external_bearer_only(config),
|
|
None => auth_manager,
|
|
}
|
|
}
|