| 530 | } |
| 531 | |
| 532 | fn openclaw_config_unset_path_if_exists<R: OpenclawRunner>( |
| 533 | runner: &mut R, |
| 534 | path: &str, |
| 535 | approval_mode: OpenclawApprovalMode, |
| 536 | ) -> Result<(), Box<dyn Error>> { |
| 537 | let args = vec!["config".to_string(), "unset".to_string(), path.to_string()]; |
| 538 | let output = run_openclaw_raw(runner, args.clone(), approval_mode)?; |
| 539 | if output.success { |
| 540 | return Ok(()); |
| 541 | } |
| 542 | |
| 543 | let error = openclaw_command_failed(&args, &output); |
| 544 | if is_missing_config_path_error(&error.to_string()) { |
| 545 | return Ok(()); |
| 546 | } |
| 547 | Err(error) |
| 548 | } |
| 549 | |
| 550 | fn run_openclaw_checked<R: OpenclawRunner>( |
| 551 | runner: &mut R, |