mirror of
https://github.com/openai/codex.git
synced 2026-04-29 10:53:24 +03:00
Extract tool discovery helpers into codex-tools (#16477)
## Why Follow-up to #16379 and #16471. `codex-rs/core/src/tools/spec.rs` still owned the pure discovery-shaping helpers that turn app metadata and discoverable tool metadata into the inputs used by `tool_search` and `tool_suggest`. Those helpers do not need `codex-core` runtime state, so keeping them in `codex-core` continued to blur the crate boundary this migration is trying to tighten. This change keeps pushing spec-only logic behind the `codex-tools` API so `codex-core` can focus on wiring runtime handlers to the resulting tool definitions. ## What Changed - Added `collect_tool_search_app_infos` and `collect_tool_suggest_entries` to `codex-rs/tools/src/tool_discovery.rs`. - Added a small `ToolSearchAppSource` adapter type in `codex-tools` so `codex-core` can pass app metadata into that shared helper logic without exposing `ToolInfo` across the crate boundary. - Re-exported the new discovery helpers from `codex-rs/tools/src/lib.rs`, which remains exports-only. - Updated `codex-rs/core/src/tools/spec.rs` to use those `codex-tools` helpers instead of maintaining local `tool_search_app_infos` and `tool_suggest_entries` functions. - Removed the now-redundant helper implementations from `codex-core`. ## Testing - `cargo test -p codex-tools` - `cargo test -p codex-core tools::spec::tests`
This commit is contained in:
@@ -89,7 +89,10 @@ pub use tool_discovery::DiscoverableTool;
|
||||
pub use tool_discovery::DiscoverableToolAction;
|
||||
pub use tool_discovery::DiscoverableToolType;
|
||||
pub use tool_discovery::ToolSearchAppInfo;
|
||||
pub use tool_discovery::ToolSearchAppSource;
|
||||
pub use tool_discovery::ToolSuggestEntry;
|
||||
pub use tool_discovery::collect_tool_search_app_infos;
|
||||
pub use tool_discovery::collect_tool_suggest_entries;
|
||||
pub use tool_discovery::create_tool_search_tool;
|
||||
pub use tool_discovery::create_tool_suggest_tool;
|
||||
pub use tool_discovery::filter_tool_suggest_discoverable_tools_for_client;
|
||||
|
||||
Reference in New Issue
Block a user