mirror of
https://github.com/openai/codex.git
synced 2026-05-19 02:33:10 +00:00
## Why Recent session history showed no active use of the raw `shell`, `local_shell`, or `container.exec` execution surfaces. Keeping those handlers/specs wired into core leaves duplicate shell execution paths alongside the supported `shell_command` and unified exec tools. ## What changed - Removed the raw `shell` handler/spec and its `ShellToolCallParams` protocol helper. - Removed the legacy `local_shell` and `container.exec` handler/spec plumbing while preserving persisted-history compatibility for old response items. - Normalized model/config `default` and `local` shell selections to `shell_command`. - Pruned tests that exercised removed raw-shell/local-shell/apply-patch variants and kept coverage on `shell_command`, unified exec, and freeform `apply_patch`. ## Verification - `git diff --check` - `cargo test -p codex-protocol` - `cargo test -p codex-tools` - `cargo test -p codex-core tools::handlers::shell` - `cargo test -p codex-core tools::spec` - `cargo test -p codex-core tools::router` - `cargo test -p codex-core active_call_preserves_triggering_command_context` - `cargo test -p codex-core guardian_tests` - `cargo test -p codex-core --test all shell_serialization` - `cargo test -p codex-core --test all apply_patch_cli` - `cargo test -p codex-core --test all shell_command_` - `cargo test -p codex-core --test all local_shell` - `cargo test -p codex-core --test all otel::` - `cargo test -p codex-core --test all hooks::` - `just fix -p codex-core` - `just fix -p codex-tools`
22 lines
652 B
Rust
22 lines
652 B
Rust
use std::borrow::Cow;
|
|
|
|
use codex_protocol::models::SearchToolCallParams;
|
|
|
|
/// Canonical payload shapes accepted by model-visible tool runtimes.
|
|
#[derive(Clone, Debug)]
|
|
pub enum ToolPayload {
|
|
Function { arguments: String },
|
|
ToolSearch { arguments: SearchToolCallParams },
|
|
Custom { input: String },
|
|
}
|
|
|
|
impl ToolPayload {
|
|
pub fn log_payload(&self) -> Cow<'_, str> {
|
|
match self {
|
|
ToolPayload::Function { arguments } => Cow::Borrowed(arguments),
|
|
ToolPayload::ToolSearch { arguments } => Cow::Owned(arguments.query.clone()),
|
|
ToolPayload::Custom { input } => Cow::Borrowed(input),
|
|
}
|
|
}
|
|
}
|