mirror of
https://github.com/openai/codex.git
synced 2026-11-09 20:50:33 +00:00
## 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`.
36 lines
1.0 KiB
Rust
36 lines
1.0 KiB
Rust
use codex_login::AuthCredentialsStoreMode;
|
|
use codex_login::AuthManager;
|
|
use codex_login::token_data::TokenData;
|
|
use std::path::Path;
|
|
use std::sync::LazyLock;
|
|
use std::sync::RwLock;
|
|
|
|
static CHATGPT_TOKEN: LazyLock<RwLock<Option<TokenData>>> = LazyLock::new(|| RwLock::new(None));
|
|
|
|
pub fn get_chatgpt_token_data() -> Option<TokenData> {
|
|
CHATGPT_TOKEN.read().ok()?.clone()
|
|
}
|
|
|
|
pub fn set_chatgpt_token_data(value: TokenData) {
|
|
if let Ok(mut guard) = CHATGPT_TOKEN.write() {
|
|
*guard = Some(value);
|
|
}
|
|
}
|
|
|
|
/// Initialize the ChatGPT token from auth.json file
|
|
pub async fn init_chatgpt_token_from_auth(
|
|
codex_home: &Path,
|
|
auth_credentials_store_mode: AuthCredentialsStoreMode,
|
|
) -> std::io::Result<()> {
|
|
let auth_manager = AuthManager::new(
|
|
codex_home.to_path_buf(),
|
|
/*enable_codex_api_key_env*/ false,
|
|
auth_credentials_store_mode,
|
|
);
|
|
if let Some(auth) = auth_manager.auth().await {
|
|
let token_data = auth.get_token_data()?;
|
|
set_chatgpt_token_data(token_data);
|
|
}
|
|
Ok(())
|
|
}
|