pub enum Native {
Tools(&'static [&'static str]),
ScopedTools {
unscoped: &'static [&'static str],
scoped: &'static [&'static str],
note: &'static str,
},
Absent,
NoSwitch(&'static str),
}Expand description
What a harness calls a capability.
Variants§
Tools(&'static [&'static str])
The harness’s tools for this capability. A deny or allow covers all of them.
ScopedTools
A harness uses different permission names once a rule has a scope. Claude’s file tools
are the motivating case: bare Write gates that tool, but only Edit(path) gates a
path for every built-in file editor.
Absent
The harness has no such tool, so there is nothing to allow or deny.
NoSwitch(&'static str)
The harness can do the thing but offers no tool to switch it off (Codex and Pi load
skills by reading SKILL.md; Codex reads, globs and greps through its shell). The
string says why, for the bundle’s note.
Implementations§
Trait Implementations§
impl Copy for Native
impl Eq for Native
Source§impl From<Native> for NativeEntry
impl From<Native> for NativeEntry
impl StructuralPartialEq for Native
Auto Trait Implementations§
impl Forget for Native
impl Freeze for Native
impl RefUnwindSafe for Native
impl Send for Native
impl Sync for Native
impl Unpin for Native
impl UnsafeUnpin for Native
impl UnwindSafe for Native
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.