From 9105e0c656adaad347e5d24da0c0336a73d850d3 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Tue, 7 Apr 2026 14:51:12 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20b5-openrouter-fix=20=E2=80=94=20batch?= =?UTF-8?q?=205=20upstream=20parity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rust/crates/rusty-claude-cli/src/main.rs | 44 ++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/rust/crates/rusty-claude-cli/src/main.rs b/rust/crates/rusty-claude-cli/src/main.rs index 546fa7d..d1d9081 100644 --- a/rust/crates/rusty-claude-cli/src/main.rs +++ b/rust/crates/rusty-claude-cli/src/main.rs @@ -8046,6 +8046,50 @@ mod tests { ); } + #[test] + fn dangerously_skip_permissions_flag_forces_danger_full_access_in_repl() { + let _guard = env_lock(); + std::env::set_var("RUSTY_CLAUDE_PERMISSION_MODE", "read-only"); + let args = vec!["--dangerously-skip-permissions".to_string()]; + let parsed = parse_args(&args).expect("args should parse"); + std::env::remove_var("RUSTY_CLAUDE_PERMISSION_MODE"); + + assert_eq!( + parsed, + CliAction::Repl { + model: DEFAULT_MODEL.to_string(), + allowed_tools: None, + permission_mode: PermissionMode::DangerFullAccess, + } + ); + } + + #[test] + fn dangerously_skip_permissions_flag_applies_to_prompt_subcommand() { + let _guard = env_lock(); + std::env::set_var("RUSTY_CLAUDE_PERMISSION_MODE", "read-only"); + let args = vec![ + "--dangerously-skip-permissions".to_string(), + "prompt".to_string(), + "do".to_string(), + "the".to_string(), + "thing".to_string(), + ]; + let parsed = parse_args(&args).expect("args should parse"); + std::env::remove_var("RUSTY_CLAUDE_PERMISSION_MODE"); + + assert_eq!( + parsed, + CliAction::Prompt { + prompt: "do the thing".to_string(), + model: DEFAULT_MODEL.to_string(), + output_format: CliOutputFormat::Text, + allowed_tools: None, + permission_mode: PermissionMode::DangerFullAccess, + } + ); + } + #[test] fn parses_allowed_tools_flags_with_aliases_and_lists() { let _guard = env_lock();