Move MCP client constants

Move default MCP startup/tool timeouts and the sandbox-state capability marker from mcp_connection.rs into client.rs.

Keep the public capability export stable by re-exporting it from client.rs.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Ahmed Ibrahim
2026-04-27 01:20:22 +03:00
parent ce97879350
commit 5b3fe94beb
4 changed files with 8 additions and 15 deletions

View File

@@ -20,9 +20,6 @@ use crate::apps::write_cached_codex_apps_tools_if_needed;
use crate::elicitation::ElicitationRequestManager;
use crate::mcp::CODEX_APPS_MCP_SERVER_NAME;
use crate::mcp::ToolPluginProvenance;
use crate::mcp_connection::DEFAULT_STARTUP_TIMEOUT;
use crate::mcp_connection::DEFAULT_TOOL_TIMEOUT;
use crate::mcp_connection::MCP_SANDBOX_STATE_META_CAPABILITY;
use crate::mcp_connection::McpRuntimeEnvironment;
use crate::mcp_connection::emit_duration;
use crate::tools::ToolFilter;
@@ -59,6 +56,12 @@ use tokio_util::sync::CancellationToken;
pub(crate) const MCP_TOOLS_LIST_DURATION_METRIC: &str = "codex.mcp.tools.list.duration_ms";
pub(crate) const MCP_TOOLS_FETCH_UNCACHED_DURATION_METRIC: &str =
"codex.mcp.tools.fetch_uncached.duration_ms";
pub(crate) const DEFAULT_STARTUP_TIMEOUT: Duration = Duration::from_secs(30);
pub(crate) const DEFAULT_TOOL_TIMEOUT: Duration = Duration::from_secs(120);
/// MCP server capability indicating that Codex should include [`SandboxState`]
/// in tool-call request `_meta` under this key.
pub const MCP_SANDBOX_STATE_META_CAPABILITY: &str = "codex/sandbox-state-meta";
#[derive(Clone)]
pub(crate) struct ManagedClient {

View File

@@ -1,5 +1,5 @@
pub use client::MCP_SANDBOX_STATE_META_CAPABILITY;
pub use manager::McpConnectionManager;
pub use mcp_connection::MCP_SANDBOX_STATE_META_CAPABILITY;
pub use mcp_connection::McpRuntimeEnvironment;
pub use mcp_connection::SandboxState;
pub use tools::ToolInfo;

View File

@@ -9,6 +9,7 @@ use crate::apps::CodexAppsToolsCacheContext;
use crate::apps::CodexAppsToolsCacheKey;
use crate::apps::write_cached_codex_apps_tools_if_needed;
use crate::client::AsyncManagedClient;
use crate::client::DEFAULT_STARTUP_TIMEOUT;
use crate::client::MCP_TOOLS_FETCH_UNCACHED_DURATION_METRIC;
use crate::client::MCP_TOOLS_LIST_DURATION_METRIC;
use crate::client::ManagedClient;
@@ -17,7 +18,6 @@ use crate::client::list_tools_for_client_uncached;
use crate::elicitation::ElicitationRequestManager;
use crate::mcp::CODEX_APPS_MCP_SERVER_NAME;
use crate::mcp::ToolPluginProvenance;
use crate::mcp_connection::DEFAULT_STARTUP_TIMEOUT;
use crate::mcp_connection::McpRuntimeEnvironment;
use crate::mcp_connection::emit_duration;
use crate::tools::ToolInfo;

View File

@@ -13,16 +13,6 @@ use codex_protocol::protocol::SandboxPolicy;
use serde::Deserialize;
use serde::Serialize;
/// Default timeout for initializing MCP server & initially listing tools.
pub(crate) const DEFAULT_STARTUP_TIMEOUT: Duration = Duration::from_secs(30);
/// Default timeout for individual tool calls.
pub(crate) const DEFAULT_TOOL_TIMEOUT: Duration = Duration::from_secs(120);
/// MCP server capability indicating that Codex should include [`SandboxState`]
/// in tool-call request `_meta` under this key.
pub const MCP_SANDBOX_STATE_META_CAPABILITY: &str = "codex/sandbox-state-meta";
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SandboxState {