pub struct SecurityPolicy {
pub config: PolicyConfig,
pub workspace_dir: PathBuf,
/* private fields */
}Expand description
Security policy with runtime state
Fields§
§config: PolicyConfig§workspace_dir: PathBufImplementations§
Source§impl SecurityPolicy
impl SecurityPolicy
Sourcepub fn new(config: PolicyConfig, workspace_dir: PathBuf) -> Self
pub fn new(config: PolicyConfig, workspace_dir: PathBuf) -> Self
Create a new security policy
Sourcepub fn default_for(workspace_dir: PathBuf) -> Self
pub fn default_for(workspace_dir: PathBuf) -> Self
Create with default config
Sourcepub fn autonomy(&self) -> AutonomyLevel
pub fn autonomy(&self) -> AutonomyLevel
Get autonomy level
Sourcepub fn is_rate_limited(&self) -> bool
pub fn is_rate_limited(&self) -> bool
Check if rate limited
Sourcepub fn record_action(&self) -> bool
pub fn record_action(&self) -> bool
Record an action and return true if allowed
Sourcepub fn remaining_actions(&self) -> u32
pub fn remaining_actions(&self) -> u32
Get remaining actions this hour
Sourcepub fn validate_command(
&self,
command: &str,
approved: bool,
) -> ActionValidation
pub fn validate_command( &self, command: &str, approved: bool, ) -> ActionValidation
Validate a command execution
Sourcepub fn validate_path(&self, path: &str, write: bool) -> ActionValidation
pub fn validate_path(&self, path: &str, write: bool) -> ActionValidation
Validate a file path access
Sourcepub fn is_path_in_workspace(&self, resolved: &Path) -> bool
pub fn is_path_in_workspace(&self, resolved: &Path) -> bool
Check if a resolved path is within workspace
Auto Trait Implementations§
impl !Freeze for SecurityPolicy
impl RefUnwindSafe for SecurityPolicy
impl Send for SecurityPolicy
impl Sync for SecurityPolicy
impl Unpin for SecurityPolicy
impl UnsafeUnpin for SecurityPolicy
impl UnwindSafe for SecurityPolicy
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