MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / evaluate

Function evaluate

crates/opencode-permission/src/ruleset.rs:84–96  ·  view source on GitHub ↗
(permission: &str, pattern: &str, rulesets: &[PermissionRuleset])

Source from the content-addressed store, hash-verified

82}
83
84pub fn evaluate(permission: &str, pattern: &str, rulesets: &[PermissionRuleset]) -> PermissionRule {
85 let merged = merge(rulesets);
86
87 let matched = merged.iter().rev().find(|rule| {
88 wildcard_match(permission, &rule.permission) && wildcard_match(pattern, &rule.pattern)
89 });
90
91 matched.cloned().unwrap_or(PermissionRule {
92 action: PermissionAction::Ask,
93 permission: permission.to_string(),
94 pattern: "*".to_string(),
95 })
96}
97
98const EDIT_TOOLS: &[&str] = &["edit", "write", "patch", "multiedit"];
99

Callers 1

Calls 3

mergeFunction · 0.85
findMethod · 0.80
wildcard_matchFunction · 0.70

Tested by

no test coverage detected