pub enum ToolEffect {
ReadOnly,
Internal,
Write,
External,
}Expand description
What a tool can change. Policies use it to gate calls.
The variants are ordered from least to most impact, so
effect <= ToolEffect::Internal reads as “safe for an unattended run”.
Variants§
ReadOnly
Reads data. Changes nothing.
Internal
Changes only the agent’s own private state (memory, notes, its own follow-ups). Nobody else sees the change.
Write
Changes app data other people can see.
External
Acts outside the app: sends mail, calls a third-party API, spends money.
Trait Implementations§
Source§impl Clone for ToolEffect
impl Clone for ToolEffect
impl Copy for ToolEffect
Source§impl Debug for ToolEffect
impl Debug for ToolEffect
Source§impl<'de> Deserialize<'de> for ToolEffect
impl<'de> Deserialize<'de> for ToolEffect
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 ToolEffect
Source§impl Hash for ToolEffect
impl Hash for ToolEffect
Source§impl Ord for ToolEffect
impl Ord for ToolEffect
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for ToolEffect
impl PartialEq for ToolEffect
Source§impl PartialOrd for ToolEffect
impl PartialOrd for ToolEffect
Source§impl Serialize for ToolEffect
impl Serialize for ToolEffect
impl StructuralPartialEq for ToolEffect
Auto Trait Implementations§
impl Forget for ToolEffect
impl Freeze for ToolEffect
impl RefUnwindSafe for ToolEffect
impl Send for ToolEffect
impl Sync for ToolEffect
impl Unpin for ToolEffect
impl UnsafeUnpin for ToolEffect
impl UnwindSafe for ToolEffect
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<T> JsonSink for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Scoped for T
impl<T> Scoped for T
Source§fn scope(ctx: &PolicyContext) -> ScopeQuery<'_, Self>
fn scope(ctx: &PolicyContext) -> ScopeQuery<'_, Self>
Open a deferred
ScopeQuery for this type. Resolves the
registered scope at .load() time, not here.