mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
693082f3c4
## Why `selectedCapabilityRoots` belongs to one thread, but MCP contributors previously received only the global Codex config. That left no clean way for a selected executor capability to contribute MCP servers to its own thread. ## What this PR does - Gives MCP contributors a small context containing the config and, for a running thread, its frozen host-seeded inputs. - Uses the same thread inputs during startup, status queries, refreshes, and skill dependency checks. - Keeps threadless MCP operations and the existing hosted Apps behavior unchanged. - Adds coverage showing that two threads resolve independent registrations and that later lifecycle mutations do not change the frozen MCP inputs. This PR does not discover plugin manifests, add MCP servers, or launch anything new. It only establishes the thread-scoped registration boundary. ## Follow-ups - Resolve selected executor plugin roots through their owning environment filesystem. - Convert their stdio MCP declarations into environment-bound registrations and add an executor MCP end-to-end test. ## Verification - `just fmt` - `cargo check --tests -p codex-protocol -p codex-extension-api -p codex-mcp-extension -p codex-core -p codex-app-server` Tests and Clippy were not run.
74 lines
2.8 KiB
Rust
74 lines
2.8 KiB
Rust
mod capabilities;
|
|
mod contributors;
|
|
mod registry;
|
|
mod state;
|
|
mod user_instructions;
|
|
|
|
pub use capabilities::AgentSpawnFuture;
|
|
pub use capabilities::AgentSpawner;
|
|
pub use capabilities::ExtensionEventSink;
|
|
pub use capabilities::NoopExtensionEventSink;
|
|
pub use capabilities::NoopResponseItemInjector;
|
|
pub use capabilities::ResponseItemInjectionFuture;
|
|
pub use capabilities::ResponseItemInjector;
|
|
pub use codex_context_fragments::ContextualUserFragment;
|
|
pub use codex_protocol::models::ResponseItem;
|
|
pub use codex_tools::ConversationHistory;
|
|
pub use codex_tools::ExtensionTurnItem;
|
|
pub use codex_tools::FunctionCallError;
|
|
pub use codex_tools::JsonToolOutput;
|
|
pub use codex_tools::NoopTurnItemEmitter;
|
|
pub use codex_tools::ResponsesApiTool;
|
|
pub use codex_tools::ToolCall;
|
|
pub use codex_tools::ToolEnvironment;
|
|
pub use codex_tools::ToolExecutor;
|
|
pub use codex_tools::ToolExecutorFuture;
|
|
pub use codex_tools::ToolName;
|
|
pub use codex_tools::ToolOutput;
|
|
pub use codex_tools::ToolPayload;
|
|
pub use codex_tools::ToolSpec;
|
|
pub use codex_tools::TurnItemEmissionFuture;
|
|
pub use codex_tools::TurnItemEmitter;
|
|
pub use codex_tools::parse_tool_input_schema;
|
|
pub use codex_tools::parse_tool_input_schema_without_compaction;
|
|
pub use contributors::ApprovalReviewContributor;
|
|
pub use contributors::ConfigContributor;
|
|
pub use contributors::ContextContributor;
|
|
pub use contributors::ExtensionFuture;
|
|
pub use contributors::McpServerContribution;
|
|
pub use contributors::McpServerContributionContext;
|
|
pub use contributors::McpServerContributor;
|
|
pub use contributors::PromptFragment;
|
|
pub use contributors::PromptSlot;
|
|
pub use contributors::ThreadIdleInput;
|
|
pub use contributors::ThreadLifecycleContributor;
|
|
pub use contributors::ThreadResumeInput;
|
|
pub use contributors::ThreadStartInput;
|
|
pub use contributors::ThreadStopInput;
|
|
pub use contributors::TokenUsageContributor;
|
|
pub use contributors::ToolCallOutcome;
|
|
pub use contributors::ToolCallSource;
|
|
pub use contributors::ToolContributor;
|
|
pub use contributors::ToolFinishInput;
|
|
pub use contributors::ToolLifecycleContributor;
|
|
pub use contributors::ToolLifecycleFuture;
|
|
pub use contributors::ToolStartInput;
|
|
pub use contributors::TurnAbortInput;
|
|
pub use contributors::TurnErrorInput;
|
|
pub use contributors::TurnInputContext;
|
|
pub use contributors::TurnInputContributor;
|
|
pub use contributors::TurnInputEnvironment;
|
|
pub use contributors::TurnItemContributor;
|
|
pub use contributors::TurnLifecycleContributor;
|
|
pub use contributors::TurnStartInput;
|
|
pub use contributors::TurnStopInput;
|
|
pub use registry::ExtensionRegistry;
|
|
pub use registry::ExtensionRegistryBuilder;
|
|
pub use registry::empty_extension_registry;
|
|
pub use state::ExtensionData;
|
|
pub use state::ExtensionDataInit;
|
|
pub use user_instructions::LoadUserInstructionsFuture;
|
|
pub use user_instructions::LoadedUserInstructions;
|
|
pub use user_instructions::UserInstructions;
|
|
pub use user_instructions::UserInstructionsProvider;
|