#[non_exhaustive]pub enum SafetyClass {
ReadOnly,
Mutating,
Destructive,
Network,
}Expand description
Safety level for a tool.
This is only a hint fed to the external sandbox policy; the final Allow / Deny / Ask decision is made by the policy (in combination with user configuration, prior authorization, etc.). The trait itself does not enforce any policy.
The serde representation uses snake_case (read_only / mutating / destructive
/ network), so that defect-config can deserialize it directly from TOML in hook
matchers and similar contexts.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
ReadOnly
Read-only: list directories, read files, query metadata.
Mutating
Mutating: writes files or modifies state; side effects may or may not be reversible.
Destructive
Destructive: deleting files, moving, executing commands.
Network
Outbound network: HTTP / DNS / any remote I/O.
Trait Implementations§
Source§impl Clone for SafetyClass
impl Clone for SafetyClass
Source§fn clone(&self) -> SafetyClass
fn clone(&self) -> SafetyClass
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SafetyClass
Source§impl Debug for SafetyClass
impl Debug for SafetyClass
Source§impl<'de> Deserialize<'de> for SafetyClass
impl<'de> Deserialize<'de> for SafetyClass
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SafetyClass
Source§impl Hash for SafetyClass
impl Hash for SafetyClass
Source§impl PartialEq for SafetyClass
impl PartialEq for SafetyClass
Source§fn eq(&self, other: &SafetyClass) -> bool
fn eq(&self, other: &SafetyClass) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for SafetyClass
impl Serialize for SafetyClass
impl StructuralPartialEq for SafetyClass
Auto Trait Implementations§
impl Freeze for SafetyClass
impl RefUnwindSafe for SafetyClass
impl Send for SafetyClass
impl Sync for SafetyClass
impl Unpin for SafetyClass
impl UnsafeUnpin for SafetyClass
impl UnwindSafe for SafetyClass
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