mirror of
https://github.com/openai/codex.git
synced 2026-11-01 19:33:35 +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`.
42 lines
1.3 KiB
Rust
42 lines
1.3 KiB
Rust
use std::collections::HashMap;
|
|
use std::sync::Arc;
|
|
|
|
use crate::config::Config;
|
|
use crate::plugins::PluginsManager;
|
|
use codex_config::McpServerConfig;
|
|
use codex_login::CodexAuth;
|
|
use codex_mcp::mcp::ToolPluginProvenance;
|
|
use codex_mcp::mcp::configured_mcp_servers;
|
|
use codex_mcp::mcp::effective_mcp_servers;
|
|
use codex_mcp::mcp::tool_plugin_provenance as collect_tool_plugin_provenance;
|
|
|
|
#[derive(Clone)]
|
|
pub struct McpManager {
|
|
plugins_manager: Arc<PluginsManager>,
|
|
}
|
|
|
|
impl McpManager {
|
|
pub fn new(plugins_manager: Arc<PluginsManager>) -> Self {
|
|
Self { plugins_manager }
|
|
}
|
|
|
|
pub fn configured_servers(&self, config: &Config) -> HashMap<String, McpServerConfig> {
|
|
let mcp_config = config.to_mcp_config(self.plugins_manager.as_ref());
|
|
configured_mcp_servers(&mcp_config)
|
|
}
|
|
|
|
pub fn effective_servers(
|
|
&self,
|
|
config: &Config,
|
|
auth: Option<&CodexAuth>,
|
|
) -> HashMap<String, McpServerConfig> {
|
|
let mcp_config = config.to_mcp_config(self.plugins_manager.as_ref());
|
|
effective_mcp_servers(&mcp_config, auth)
|
|
}
|
|
|
|
pub fn tool_plugin_provenance(&self, config: &Config) -> ToolPluginProvenance {
|
|
let mcp_config = config.to_mcp_config(self.plugins_manager.as_ref());
|
|
collect_tool_plugin_provenance(&mcp_config)
|
|
}
|
|
}
|