mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
## What changed - Read optional tool descriptions and parameter schemas for `history`, `notes`, `new_context`, and `get_context_remaining` from the acting model's catalog messages. - Support catalog namespace descriptions for history and notes, preserving explicit empty and whitespace descriptions. - Share catalog override handling across native tools and MCP resource helpers. Keep bundled schemas when overrides are invalid, preserve encrypted parameters, and leave tool identity and transport fields unchanged. ## Testing Add coverage for sparse catalog serialization, schema fallback and encryption preservation, per-step tool definitions, and context tool updates when switching models. Extend outgoing-request tests to verify history and notes overrides while retaining history image attachments. GitOrigin-RevId: 1adac8b5009f95c91adba491f20a4e2e2dc91475
116 lines
5.0 KiB
Rust
116 lines
5.0 KiB
Rust
//! Shared tool definitions and Responses API tool primitives that can live
|
|
//! outside `codex-core`.
|
|
|
|
mod catalog_tool_message;
|
|
mod code_mode;
|
|
mod dynamic_tool;
|
|
mod function_call_error;
|
|
mod functions_namespace_function_prefixes;
|
|
mod image_detail;
|
|
mod indirect_namespace_prefixes;
|
|
mod json_schema;
|
|
mod mcp_tool;
|
|
mod output_schema;
|
|
mod request_plugin_install;
|
|
mod response_history;
|
|
mod responses_api;
|
|
mod tool_call;
|
|
mod tool_config;
|
|
mod tool_definition;
|
|
mod tool_discovery;
|
|
mod tool_executor;
|
|
mod tool_output;
|
|
mod tool_payload;
|
|
mod tool_search;
|
|
mod tool_spec;
|
|
|
|
pub use catalog_tool_message::with_catalog_tool_message;
|
|
pub use code_mode::augment_tool_spec_for_code_mode;
|
|
pub use code_mode::code_mode_name_for_tool_name;
|
|
pub use code_mode::collect_code_mode_exec_prompt_tool_definitions;
|
|
pub use code_mode::collect_code_mode_tool_definitions;
|
|
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 function_call_error::FunctionCallError;
|
|
pub use functions_namespace_function_prefixes::FunctionsNamespaceFunctionPrefixes;
|
|
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 indirect_namespace_prefixes::IndirectNamespacePrefixConflict;
|
|
pub use indirect_namespace_prefixes::IndirectNamespacePrefixes;
|
|
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_catalog_tool_parameters;
|
|
pub use json_schema::parse_tool_input_schema;
|
|
pub use json_schema::parse_tool_input_schema_without_compaction;
|
|
pub use mcp_tool::mcp_call_tool_result_output_schema;
|
|
pub use mcp_tool::parse_agent_plugin_mcp_tool;
|
|
pub use mcp_tool::parse_mcp_tool;
|
|
pub use output_schema::ToolOutputSchema;
|
|
pub use request_plugin_install::REQUEST_PLUGIN_INSTALL_APPROVAL_KIND_VALUE;
|
|
pub use request_plugin_install::REQUEST_PLUGIN_INSTALL_PERSIST_ALWAYS_VALUE;
|
|
pub use request_plugin_install::REQUEST_PLUGIN_INSTALL_PERSIST_KEY;
|
|
pub use request_plugin_install::RequestPluginInstallArgs;
|
|
pub use request_plugin_install::RequestPluginInstallMeta;
|
|
pub use request_plugin_install::RequestPluginInstallResult;
|
|
pub use request_plugin_install::all_requested_connectors_picked_up;
|
|
pub use request_plugin_install::build_request_plugin_install_elicitation_request;
|
|
pub use request_plugin_install::verified_connector_install_completed;
|
|
pub use response_history::retain_tail_from_last_n_user_messages;
|
|
pub use response_history::truncate_assistant_output_text_to_token_budget;
|
|
pub use responses_api::FreeformTool;
|
|
pub use responses_api::FreeformToolFormat;
|
|
pub use responses_api::LoadableToolSpec;
|
|
pub use responses_api::ResponsesApiNamespace;
|
|
pub use responses_api::ResponsesApiNamespaceTool;
|
|
pub use responses_api::ResponsesApiTool;
|
|
pub use responses_api::agent_plugin_mcp_tool_to_responses_api_tool;
|
|
pub use responses_api::coalesce_loadable_tool_specs;
|
|
pub 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_call::ConversationHistory;
|
|
pub use tool_call::ExtensionTurnItem;
|
|
pub use tool_call::NoopTurnItemEmitter;
|
|
pub use tool_call::ToolCall;
|
|
pub use tool_call::ToolCallSource;
|
|
pub use tool_call::ToolEnvironment;
|
|
pub use tool_call::TurnItemEmissionFuture;
|
|
pub use tool_call::TurnItemEmitter;
|
|
pub use tool_config::ToolEnvironmentMode;
|
|
pub use tool_config::request_user_input_available_modes;
|
|
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::LIST_AVAILABLE_PLUGINS_TO_INSTALL_TOOL_NAME;
|
|
pub use tool_discovery::ListAvailablePluginsToInstallResult;
|
|
pub use tool_discovery::REQUEST_PLUGIN_INSTALL_TOOL_NAME;
|
|
pub use tool_discovery::RequestPluginInstallEntry;
|
|
pub use tool_discovery::TOOL_SEARCH_DEFAULT_LIMIT;
|
|
pub use tool_discovery::TOOL_SEARCH_TOOL_NAME;
|
|
pub use tool_discovery::ToolSearchSourceInfo;
|
|
pub use tool_discovery::collect_request_plugin_install_entries;
|
|
pub use tool_discovery::filter_request_plugin_install_discoverable_tools_for_client;
|
|
pub use tool_executor::ToolExecutor;
|
|
pub use tool_executor::ToolExecutorFuture;
|
|
pub use tool_executor::ToolExposure;
|
|
pub use tool_executor::ToolExposures;
|
|
pub use tool_output::JsonToolOutput;
|
|
pub use tool_output::ToolOutput;
|
|
pub use tool_payload::ToolPayload;
|
|
pub use tool_search::ToolSearchEntry;
|
|
pub use tool_search::ToolSearchInfo;
|
|
pub use tool_spec::ResponsesApiWebSearchFilters;
|
|
pub use tool_spec::ResponsesApiWebSearchUserLocation;
|
|
pub use tool_spec::ToolSpec;
|
|
pub use tool_spec::create_tools_json_for_responses_api;
|
|
pub use tool_spec::create_tools_json_for_responses_lite;
|
|
pub use tool_spec::create_tools_raw_json_for_responses_api;
|