pub struct PermissionPolicy { /* private fields */ }Expand description
Tool permission policy: maps tool_id → ordered list of rules.
First matching rule wins; default is Ask.
Runtime enforcement is currently implemented for bash (ShellExecutor).
Other tools rely on prompt filtering via ToolRegistry::format_for_prompt_filtered.
Implementations§
Source§impl PermissionPolicy
impl PermissionPolicy
pub fn new(rules: HashMap<String, Vec<PermissionRule>>) -> Self
Sourcepub fn with_autonomy(self, level: AutonomyLevel) -> Self
pub fn with_autonomy(self, level: AutonomyLevel) -> Self
Set autonomy level (builder pattern).
Sourcepub fn check(&self, tool_id: &str, input: &str) -> PermissionAction
pub fn check(&self, tool_id: &str, input: &str) -> PermissionAction
Check permission for a tool invocation. First matching glob wins.
Sourcepub fn from_legacy(blocked: &[String], confirm: &[String]) -> Self
pub fn from_legacy(blocked: &[String], confirm: &[String]) -> Self
Build policy from legacy blocked_commands / confirm_patterns for “bash” tool.
Sourcepub fn is_fully_denied(&self, tool_id: &str) -> bool
pub fn is_fully_denied(&self, tool_id: &str) -> bool
Returns true if all rules for a tool_id are Deny.
Trait Implementations§
Source§impl Clone for PermissionPolicy
impl Clone for PermissionPolicy
Source§fn clone(&self) -> PermissionPolicy
fn clone(&self) -> PermissionPolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PermissionPolicy
impl Debug for PermissionPolicy
Source§impl Default for PermissionPolicy
impl Default for PermissionPolicy
Source§fn default() -> PermissionPolicy
fn default() -> PermissionPolicy
Returns the “default value” for a type. Read more
Source§impl From<PermissionsConfig> for PermissionPolicy
impl From<PermissionsConfig> for PermissionPolicy
Source§fn from(config: PermissionsConfig) -> Self
fn from(config: PermissionsConfig) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for PermissionPolicy
impl RefUnwindSafe for PermissionPolicy
impl Send for PermissionPolicy
impl Sync for PermissionPolicy
impl Unpin for PermissionPolicy
impl UnsafeUnpin for PermissionPolicy
impl UnwindSafe for PermissionPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more