(matchers: &mut Vec<ClaudeHookMatcher>)
| 194 | } |
| 195 | |
| 196 | pub(crate) fn remove_atomic_hooks(matchers: &mut Vec<ClaudeHookMatcher>) { |
| 197 | for matcher in matchers.iter_mut() { |
| 198 | matcher.hooks.retain(|h| !is_atomic_hook(&h.command)); |
| 199 | } |
| 200 | matchers.retain(|m| !m.hooks.is_empty()); |
| 201 | } |
| 202 | |
| 203 | pub(crate) fn ensure_deny_rule(raw: &mut serde_json::Map<String, serde_json::Value>) -> bool { |
| 204 | let permissions = raw |