pub struct GuardDecision {
pub verdict: Verdict,
pub evidence: Vec<GuardEvidence>,
}Expand description
A policy guard that the kernel evaluates before forwarding a tool call.
A guard is a pluggable policy check, adapted for the Chio tool-call context. Each guard inspects the request and returns a verdict.
Fields§
§verdict: Verdict§evidence: Vec<GuardEvidence>Implementations§
Source§impl GuardDecision
impl GuardDecision
pub fn allow() -> Self
pub fn allow_with_evidence(evidence: Vec<GuardEvidence>) -> Self
pub fn deny(evidence: Vec<GuardEvidence>) -> Self
pub fn pending_approval(evidence: Vec<GuardEvidence>) -> Self
pub fn from_verdict(verdict: Verdict) -> Self
Trait Implementations§
Source§impl Clone for GuardDecision
impl Clone for GuardDecision
Source§fn clone(&self) -> GuardDecision
fn clone(&self) -> GuardDecision
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 moreSource§impl Debug for GuardDecision
impl Debug for GuardDecision
Source§impl PartialEq<GuardDecision> for Verdict
impl PartialEq<GuardDecision> for Verdict
Auto Trait Implementations§
impl Freeze for GuardDecision
impl RefUnwindSafe for GuardDecision
impl Send for GuardDecision
impl Sync for GuardDecision
impl Unpin for GuardDecision
impl UnsafeUnpin for GuardDecision
impl UnwindSafe for GuardDecision
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
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<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>
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>
Converts
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>
Converts
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