diff --git a/codex-rs/core/src/exec_policy.rs b/codex-rs/core/src/exec_policy.rs index 4d5e7c620c..40b82cd9b8 100644 --- a/codex-rs/core/src/exec_policy.rs +++ b/codex-rs/core/src/exec_policy.rs @@ -164,7 +164,7 @@ fn allow_prefix_if_applicable( } } -pub(crate) fn command_approval_requirement_for_command( +pub(crate) fn create_approval_requirement_for_command( policy: &Policy, command: &[String], approval_policy: AskForApproval, @@ -213,23 +213,6 @@ fn evaluate_with_policy( } } -#[cfg(test)] -pub(crate) fn create_approval_requirement_for_command( - policy: &Policy, - command: &[String], - approval_policy: AskForApproval, - sandbox_policy: &SandboxPolicy, - sandbox_permissions: SandboxPermissions, -) -> ApprovalRequirement { - command_approval_requirement_for_command( - policy, - command, - approval_policy, - sandbox_policy, - sandbox_permissions, - ) -} - async fn collect_policy_files(dir: &Path) -> Result, ExecPolicyError> { let mut read_dir = match fs::read_dir(dir).await { Ok(read_dir) => read_dir, @@ -466,7 +449,7 @@ prefix_rule(pattern=["rm"], decision="forbidden") let command = vec!["python".to_string()]; let empty_policy = Policy::empty(); - let requirement = command_approval_requirement_for_command( + let requirement = create_approval_requirement_for_command( &empty_policy, &command, AskForApproval::UnlessTrusted, @@ -493,7 +476,7 @@ prefix_rule(pattern=["rm"], decision="forbidden") let policy = parser.build(); let command = vec!["rm".to_string()]; - let requirement = command_approval_requirement_for_command( + let requirement = create_approval_requirement_for_command( &policy, &command, AskForApproval::OnRequest, @@ -517,7 +500,7 @@ prefix_rule(pattern=["rm"], decision="forbidden") "-lc".to_string(), "python && echo ok".to_string(), ]; - let requirement = command_approval_requirement_for_command( + let requirement = create_approval_requirement_for_command( &Policy::empty(), &command, AskForApproval::UnlessTrusted, diff --git a/codex-rs/core/src/tools/handlers/shell.rs b/codex-rs/core/src/tools/handlers/shell.rs index 5a32f7328b..c86ef71957 100644 --- a/codex-rs/core/src/tools/handlers/shell.rs +++ b/codex-rs/core/src/tools/handlers/shell.rs @@ -9,7 +9,7 @@ use crate::apply_patch::convert_apply_patch_to_protocol; use crate::codex::TurnContext; use crate::exec::ExecParams; use crate::exec_env::create_env; -use crate::exec_policy::command_approval_requirement_for_command; +use crate::exec_policy::create_approval_requirement_for_command; use crate::function_tool::FunctionCallError; use crate::is_safe_command::is_known_safe_command; use crate::protocol::ExecCommandSource; @@ -305,7 +305,7 @@ impl ShellHandler { env: exec_params.env.clone(), with_escalated_permissions: exec_params.with_escalated_permissions, justification: exec_params.justification.clone(), - approval_requirement: command_approval_requirement_for_command( + approval_requirement: create_approval_requirement_for_command( exec_policy.as_ref(), &exec_params.command, turn.approval_policy, diff --git a/codex-rs/core/src/unified_exec/session_manager.rs b/codex-rs/core/src/unified_exec/session_manager.rs index 18f08b2661..527c38f23d 100644 --- a/codex-rs/core/src/unified_exec/session_manager.rs +++ b/codex-rs/core/src/unified_exec/session_manager.rs @@ -11,7 +11,7 @@ use crate::codex::TurnContext; use crate::exec::ExecToolCallOutput; use crate::exec::StreamOutput; use crate::exec_env::create_env; -use crate::exec_policy::command_approval_requirement_for_command; +use crate::exec_policy::create_approval_requirement_for_command; use crate::protocol::BackgroundEventEvent; use crate::protocol::EventMsg; use crate::protocol::ExecCommandSource; @@ -452,7 +452,7 @@ impl UnifiedExecSessionManager { create_env(&context.turn.shell_environment_policy), with_escalated_permissions, justification, - command_approval_requirement_for_command( + create_approval_requirement_for_command( exec_policy.as_ref(), command, context.turn.approval_policy,