mirror of
https://github.com/openai/codex.git
synced 2026-10-26 18:38:47 +00:00
Remove exec approval prompt flag
This commit is contained in:
@@ -2,7 +2,6 @@ use clap::Args;
|
||||
use clap::FromArgMatches;
|
||||
use clap::Parser;
|
||||
use clap::ValueEnum;
|
||||
use codex_utils_cli::ApprovalModeCliArg;
|
||||
use codex_utils_cli::CliConfigOverrides;
|
||||
use codex_utils_cli::SharedCliOptions;
|
||||
use std::path::PathBuf;
|
||||
@@ -24,15 +23,6 @@ pub struct Cli {
|
||||
#[clap(flatten)]
|
||||
pub shared: ExecSharedCliOptions,
|
||||
|
||||
/// Configure when the model requires human approval before executing a command.
|
||||
#[arg(
|
||||
long = "ask-for-approval",
|
||||
short = 'a',
|
||||
global = true,
|
||||
conflicts_with = "dangerously_bypass_approvals_and_sandbox"
|
||||
)]
|
||||
pub approval_policy: Option<ApprovalModeCliArg>,
|
||||
|
||||
/// Allow running Codex outside a Git repository.
|
||||
#[arg(long = "skip-git-repo-check", global = true, default_value_t = false)]
|
||||
pub skip_git_repo_check: bool,
|
||||
|
||||
@@ -93,7 +93,6 @@ use codex_protocol::protocol::SessionSource;
|
||||
use codex_protocol::user_input::UserInput;
|
||||
use codex_utils_absolute_path::AbsolutePathBuf;
|
||||
use codex_utils_absolute_path::canonicalize_existing_preserving_symlinks;
|
||||
use codex_utils_cli::ApprovalModeCliArg;
|
||||
use codex_utils_cli::SharedCliOptions;
|
||||
use codex_utils_oss::ensure_oss_provider_ready;
|
||||
use codex_utils_oss::get_default_model_for_oss_provider;
|
||||
@@ -239,13 +238,10 @@ fn cli_overrides_include_approval_policy<T>(cli_kv_overrides: &[(String, T)]) ->
|
||||
|
||||
fn exec_approval_policy_override<T>(
|
||||
dangerously_bypass_approvals_and_sandbox: bool,
|
||||
approval_policy: Option<ApprovalModeCliArg>,
|
||||
cli_kv_overrides: &[(String, T)],
|
||||
) -> Option<AskForApproval> {
|
||||
if dangerously_bypass_approvals_and_sandbox {
|
||||
Some(AskForApproval::Never)
|
||||
} else if let Some(approval_policy) = approval_policy {
|
||||
Some(approval_policy.into())
|
||||
} else if cli_overrides_include_approval_policy(cli_kv_overrides) {
|
||||
None
|
||||
} else {
|
||||
@@ -267,7 +263,6 @@ pub async fn run_main(cli: Cli, arg0_paths: Arg0DispatchPaths) -> anyhow::Result
|
||||
command,
|
||||
strict_config,
|
||||
shared,
|
||||
approval_policy,
|
||||
skip_git_repo_check,
|
||||
ephemeral,
|
||||
ignore_user_config,
|
||||
@@ -434,11 +429,10 @@ pub async fn run_main(cli: Cli, arg0_paths: Arg0DispatchPaths) -> anyhow::Result
|
||||
model,
|
||||
review_model: None,
|
||||
config_profile,
|
||||
// Default to never ask for approvals in headless mode unless the caller
|
||||
// explicitly selected an approval policy.
|
||||
// Default to never ask for approvals in headless mode unless a config
|
||||
// override explicitly selected an approval policy.
|
||||
approval_policy: exec_approval_policy_override(
|
||||
dangerously_bypass_approvals_and_sandbox,
|
||||
approval_policy,
|
||||
&cli_kv_overrides,
|
||||
),
|
||||
approvals_reviewer: None,
|
||||
|
||||
@@ -90,27 +90,12 @@ fn exec_approval_policy_override_defaults_to_never() {
|
||||
assert_eq!(
|
||||
exec_approval_policy_override(
|
||||
/*dangerously_bypass_approvals_and_sandbox*/ false,
|
||||
/*approval_policy*/ None,
|
||||
&cli_kv_overrides
|
||||
),
|
||||
Some(AskForApproval::Never)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn exec_approval_policy_override_uses_cli_approval_policy() {
|
||||
let cli_kv_overrides: Vec<(String, ())> = Vec::new();
|
||||
|
||||
assert_eq!(
|
||||
exec_approval_policy_override(
|
||||
/*dangerously_bypass_approvals_and_sandbox*/ false,
|
||||
Some(ApprovalModeCliArg::Untrusted),
|
||||
&cli_kv_overrides
|
||||
),
|
||||
Some(AskForApproval::UnlessTrusted)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn exec_approval_policy_override_allows_config_approval_policy() {
|
||||
let cli_kv_overrides = vec![("approval_policy".to_string(), ())];
|
||||
@@ -118,7 +103,6 @@ fn exec_approval_policy_override_allows_config_approval_policy() {
|
||||
assert_eq!(
|
||||
exec_approval_policy_override(
|
||||
/*dangerously_bypass_approvals_and_sandbox*/ false,
|
||||
/*approval_policy*/ None,
|
||||
&cli_kv_overrides
|
||||
),
|
||||
None
|
||||
@@ -132,7 +116,6 @@ fn exec_approval_policy_override_yolo_forces_never() {
|
||||
assert_eq!(
|
||||
exec_approval_policy_override(
|
||||
/*dangerously_bypass_approvals_and_sandbox*/ true,
|
||||
Some(ApprovalModeCliArg::Untrusted),
|
||||
&cli_kv_overrides
|
||||
),
|
||||
Some(AskForApproval::Never)
|
||||
|
||||
Reference in New Issue
Block a user