mirror of
https://github.com/openai/codex.git
synced 2026-05-02 12:21:26 +03:00
Extract tool config into codex-tools (#16379)
## Why `codex-core` already owns too much of the tool stack, and `AGENTS.md` explicitly pushes us to move shared code out of `codex-core` instead of letting it keep growing. This PR takes the next incremental step in moving `core/src/tools` toward `codex-rs/tools` by extracting low-coupling tool configuration and image-detail gating logic into `codex-tools`. That gives later extraction work a cleaner boundary to build on without trying to move the entire tools subtree in one shot. ## What changed - moved `ToolsConfig`, `ToolsConfigParams`, shell backend config, and unified-exec session selection from `core/src/tools/spec.rs` into `codex-tools` - moved original image-detail gating and normalization into `codex-tools` - updated `codex-core` to consume the new `codex-tools` exports and pass a rendered agent-type description instead of raw role config - kept `codex-rs/tools/src/lib.rs` exports-only, with extracted unit tests living in sibling `*_tests.rs` modules ## Testing - `cargo test -p codex-tools` - `cargo test -p codex-core --lib tools::spec::`
This commit is contained in:
@@ -5,6 +5,7 @@ mod agent_job_tool;
|
||||
mod agent_tool;
|
||||
mod code_mode;
|
||||
mod dynamic_tool;
|
||||
mod image_detail;
|
||||
mod js_repl_tool;
|
||||
mod json_schema;
|
||||
mod local_tool;
|
||||
@@ -12,6 +13,7 @@ mod mcp_resource_tool;
|
||||
mod mcp_tool;
|
||||
mod request_user_input_tool;
|
||||
mod responses_api;
|
||||
mod tool_config;
|
||||
mod tool_definition;
|
||||
mod tool_discovery;
|
||||
mod tool_spec;
|
||||
@@ -38,6 +40,8 @@ pub use code_mode::create_code_mode_tool;
|
||||
pub use code_mode::create_wait_tool;
|
||||
pub use code_mode::tool_spec_to_code_mode_tool_definition;
|
||||
pub use dynamic_tool::parse_dynamic_tool;
|
||||
pub use image_detail::can_request_original_image_detail;
|
||||
pub use image_detail::normalize_output_image_detail;
|
||||
pub use js_repl_tool::create_js_repl_reset_tool;
|
||||
pub use js_repl_tool::create_js_repl_tool;
|
||||
pub use json_schema::AdditionalProperties;
|
||||
@@ -66,6 +70,12 @@ pub use responses_api::dynamic_tool_to_responses_api_tool;
|
||||
pub use responses_api::mcp_tool_to_deferred_responses_api_tool;
|
||||
pub use responses_api::mcp_tool_to_responses_api_tool;
|
||||
pub use responses_api::tool_definition_to_responses_api_tool;
|
||||
pub use tool_config::ShellCommandBackendConfig;
|
||||
pub use tool_config::ToolUserShellType;
|
||||
pub use tool_config::ToolsConfig;
|
||||
pub use tool_config::ToolsConfigParams;
|
||||
pub use tool_config::UnifiedExecShellMode;
|
||||
pub use tool_config::ZshForkConfig;
|
||||
pub use tool_definition::ToolDefinition;
|
||||
pub use tool_discovery::DiscoverablePluginInfo;
|
||||
pub use tool_discovery::DiscoverableTool;
|
||||
|
||||
Reference in New Issue
Block a user