mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
6991be7ead
## Summary - Normalize deferred MCP and dynamic tools into `ToolSearchEntry` values before constructing `ToolSearchHandler`. - Move the tool-search entry adapter out of `tools/handlers` and into `tools/tool_search_entry.rs` so the handlers directory stays focused on handlers. - Keep `ToolSearchHandler` operating over one generic entry list for BM25 search, namespace grouping, and per-bucket default limits. ## Why Follow-up cleanup for #17849. The dynamic tool-search support made the handler juggle source-specific MCP and dynamic tool lists, index arithmetic, output conversion, and namespace emission. This keeps source adaptation outside the handler so the search loop itself is smaller and source-agnostic. ## Validation - `just fmt` - `cargo test -p codex-core tools::handlers::tool_search::tests` - `git diff --check` - `cargo test -p codex-core` currently fails in unrelated `plugins::manager::tests::list_marketplaces_ignores_installed_roots_missing_from_config`; rerunning that single test fails the same way at `core/src/plugins/manager_tests.rs:1692`. --------- Co-authored-by: pash <pash@openai.com>
146 lines
6.2 KiB
Rust
146 lines
6.2 KiB
Rust
//! Shared tool definitions and Responses API tool primitives that can live
|
|
//! outside `codex-core`.
|
|
|
|
mod agent_job_tool;
|
|
mod agent_tool;
|
|
mod apply_patch_tool;
|
|
mod code_mode;
|
|
mod dynamic_tool;
|
|
mod image_detail;
|
|
mod js_repl_tool;
|
|
mod json_schema;
|
|
mod local_tool;
|
|
mod mcp_resource_tool;
|
|
mod mcp_tool;
|
|
mod plan_tool;
|
|
mod request_user_input_tool;
|
|
mod responses_api;
|
|
mod tool_config;
|
|
mod tool_definition;
|
|
mod tool_discovery;
|
|
mod tool_registry_plan;
|
|
mod tool_registry_plan_types;
|
|
mod tool_spec;
|
|
mod tool_suggest;
|
|
mod utility_tool;
|
|
mod view_image;
|
|
|
|
pub use agent_job_tool::create_report_agent_job_result_tool;
|
|
pub use agent_job_tool::create_spawn_agents_on_csv_tool;
|
|
pub use agent_tool::SpawnAgentToolOptions;
|
|
pub use agent_tool::WaitAgentTimeoutOptions;
|
|
pub use agent_tool::create_close_agent_tool_v1;
|
|
pub use agent_tool::create_close_agent_tool_v2;
|
|
pub use agent_tool::create_followup_task_tool;
|
|
pub use agent_tool::create_list_agents_tool;
|
|
pub use agent_tool::create_resume_agent_tool;
|
|
pub use agent_tool::create_send_input_tool_v1;
|
|
pub use agent_tool::create_send_message_tool;
|
|
pub use agent_tool::create_spawn_agent_tool_v1;
|
|
pub use agent_tool::create_spawn_agent_tool_v2;
|
|
pub use agent_tool::create_wait_agent_tool_v1;
|
|
pub use agent_tool::create_wait_agent_tool_v2;
|
|
pub use apply_patch_tool::ApplyPatchToolArgs;
|
|
pub use apply_patch_tool::create_apply_patch_freeform_tool;
|
|
pub use apply_patch_tool::create_apply_patch_json_tool;
|
|
pub use code_mode::augment_tool_spec_for_code_mode;
|
|
pub use code_mode::collect_code_mode_exec_prompt_tool_definitions;
|
|
pub use code_mode::collect_code_mode_tool_definitions;
|
|
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 codex_protocol::ToolName;
|
|
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 image_detail::sanitize_original_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;
|
|
pub use json_schema::JsonSchema;
|
|
pub use json_schema::JsonSchemaPrimitiveType;
|
|
pub use json_schema::JsonSchemaType;
|
|
pub use json_schema::parse_tool_input_schema;
|
|
pub use local_tool::CommandToolOptions;
|
|
pub use local_tool::ShellToolOptions;
|
|
pub use local_tool::create_exec_command_tool;
|
|
pub use local_tool::create_request_permissions_tool;
|
|
pub use local_tool::create_shell_command_tool;
|
|
pub use local_tool::create_shell_tool;
|
|
pub use local_tool::create_write_stdin_tool;
|
|
pub use local_tool::request_permissions_tool_description;
|
|
pub use mcp_resource_tool::create_list_mcp_resource_templates_tool;
|
|
pub use mcp_resource_tool::create_list_mcp_resources_tool;
|
|
pub use mcp_resource_tool::create_read_mcp_resource_tool;
|
|
pub use mcp_tool::mcp_call_tool_result_output_schema;
|
|
pub use mcp_tool::parse_mcp_tool;
|
|
pub use plan_tool::create_update_plan_tool;
|
|
pub use request_user_input_tool::REQUEST_USER_INPUT_TOOL_NAME;
|
|
pub use request_user_input_tool::create_request_user_input_tool;
|
|
pub use request_user_input_tool::normalize_request_user_input_args;
|
|
pub use request_user_input_tool::request_user_input_tool_description;
|
|
pub use request_user_input_tool::request_user_input_unavailable_message;
|
|
pub use responses_api::FreeformTool;
|
|
pub use responses_api::FreeformToolFormat;
|
|
pub use responses_api::ResponsesApiNamespace;
|
|
pub use responses_api::ResponsesApiNamespaceTool;
|
|
pub use responses_api::ResponsesApiTool;
|
|
pub use responses_api::ToolSearchOutputTool;
|
|
pub(crate) use responses_api::default_namespace_description;
|
|
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;
|
|
pub use tool_discovery::DiscoverableToolAction;
|
|
pub use tool_discovery::DiscoverableToolType;
|
|
pub use tool_discovery::TOOL_SEARCH_DEFAULT_LIMIT;
|
|
pub use tool_discovery::TOOL_SEARCH_TOOL_NAME;
|
|
pub use tool_discovery::TOOL_SUGGEST_TOOL_NAME;
|
|
pub use tool_discovery::ToolSearchResultSource;
|
|
pub use tool_discovery::ToolSearchSource;
|
|
pub use tool_discovery::ToolSearchSourceInfo;
|
|
pub use tool_discovery::ToolSuggestEntry;
|
|
pub use tool_discovery::collect_tool_search_source_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;
|
|
pub use tool_discovery::tool_search_result_source_to_output_tool;
|
|
pub use tool_registry_plan::build_tool_registry_plan;
|
|
pub use tool_registry_plan_types::ToolHandlerKind;
|
|
pub use tool_registry_plan_types::ToolHandlerSpec;
|
|
pub use tool_registry_plan_types::ToolNamespace;
|
|
pub use tool_registry_plan_types::ToolRegistryPlan;
|
|
pub use tool_registry_plan_types::ToolRegistryPlanDeferredTool;
|
|
pub use tool_registry_plan_types::ToolRegistryPlanMcpTool;
|
|
pub use tool_registry_plan_types::ToolRegistryPlanParams;
|
|
pub use tool_spec::ConfiguredToolSpec;
|
|
pub use tool_spec::ResponsesApiWebSearchFilters;
|
|
pub use tool_spec::ResponsesApiWebSearchUserLocation;
|
|
pub use tool_spec::ToolSpec;
|
|
pub use tool_spec::WebSearchToolOptions;
|
|
pub use tool_spec::create_image_generation_tool;
|
|
pub use tool_spec::create_local_shell_tool;
|
|
pub use tool_spec::create_tools_json_for_responses_api;
|
|
pub use tool_spec::create_web_search_tool;
|
|
pub use tool_suggest::TOOL_SUGGEST_APPROVAL_KIND_VALUE;
|
|
pub use tool_suggest::ToolSuggestArgs;
|
|
pub use tool_suggest::ToolSuggestMeta;
|
|
pub use tool_suggest::ToolSuggestResult;
|
|
pub use tool_suggest::all_suggested_connectors_picked_up;
|
|
pub use tool_suggest::build_tool_suggestion_elicitation_request;
|
|
pub use tool_suggest::verified_connector_suggestion_completed;
|
|
pub use utility_tool::create_list_dir_tool;
|
|
pub use utility_tool::create_test_sync_tool;
|
|
pub use view_image::ViewImageToolOptions;
|
|
pub use view_image::create_view_image_tool;
|