pub struct Action {Show 14 fields
pub name: ActionName,
pub risk: RiskClass,
pub proof: Option<ProofLevel>,
pub approval: Option<ApprovalRequirement>,
pub description: Option<String>,
pub allow_targets: Option<Vec<String>>,
pub deny_targets: Option<Vec<String>>,
pub allow_actors: Option<Vec<String>>,
pub deny_actors: Option<Vec<String>>,
pub parameters: Option<Value>,
pub reversible: Option<bool>,
pub danger_tags: Option<Vec<DangerTag>>,
pub pre_conditions: Option<Vec<String>>,
pub reversal_note: Option<String>,
}Expand description
Single action declaration.
Fields§
§name: ActionName§risk: RiskClass§proof: Option<ProofLevel>§approval: Option<ApprovalRequirement>§description: Option<String>Human-readable purpose of the action.
allow_targets: Option<Vec<String>>Glob patterns or @target-set references the action may target.
deny_targets: Option<Vec<String>>Glob patterns or @target-set references the action must not target.
allow_actors: Option<Vec<String>>Glob patterns matching caller actor URIs that MAY invoke this action. Empty / omitted means ‘every authenticated actor is allowed’ (subject to deny_actors and other guard rules). The matcher checks both the cryptographic actor URI (tf:actor:process:key/
deny_actors: Option<Vec<String>>Glob patterns matching caller actor URIs that MUST NOT invoke this action. Overrides allow_actors. The matcher checks both the cryptographic actor URI and the self-claimed peer_hint URI.
parameters: Option<Value>Inline JSON Schema describing the parameters this action accepts.
reversible: Option<bool>Hint that this action can be inverted by its counterpart.
Structured danger categories; AI agents MUST escalate on destructive / irreversible / financial / security-sensitive tags.
pre_conditions: Option<Vec<String>>Named gates that must hold before this action may run.
reversal_note: Option<String>If reversible is false, a note on how the action can be undone out-of-band (e.g. via VCS).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Action
impl<'de> Deserialize<'de> for Action
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>,
impl Eq for Action
impl StructuralPartialEq for Action
Auto Trait Implementations§
impl Freeze for Action
impl RefUnwindSafe for Action
impl Send for Action
impl Sync for Action
impl Unpin for Action
impl UnsafeUnpin for Action
impl UnwindSafe for Action
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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§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
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more