pub struct ForbiddenPathGuard { /* private fields */ }Expand description
Guard that blocks access to sensitive filesystem paths.
Implementations§
Source§impl ForbiddenPathGuard
impl ForbiddenPathGuard
pub fn new() -> Self
Sourcepub fn with_patterns(
patterns: Vec<String>,
exceptions: Vec<String>,
) -> Result<Self, ForbiddenPathConfigError>
pub fn with_patterns( patterns: Vec<String>, exceptions: Vec<String>, ) -> Result<Self, ForbiddenPathConfigError>
Build a guard from operator-supplied glob patterns, failing closed.
Any pattern or exception that is not a valid glob is rejected so a typo in policy cannot silently disable a forbidden-path block.
pub fn is_forbidden(&self, path: &str) -> bool
Trait Implementations§
Source§impl Default for ForbiddenPathGuard
impl Default for ForbiddenPathGuard
Source§impl Guard for ForbiddenPathGuard
impl Guard for ForbiddenPathGuard
Source§fn evaluate(&self, ctx: &GuardContext<'_>) -> Result<GuardDecision, KernelError>
fn evaluate(&self, ctx: &GuardContext<'_>) -> Result<GuardDecision, KernelError>
Evaluate the guard against a tool call request. Read more
Auto Trait Implementations§
impl Freeze for ForbiddenPathGuard
impl RefUnwindSafe for ForbiddenPathGuard
impl Send for ForbiddenPathGuard
impl Sync for ForbiddenPathGuard
impl Unpin for ForbiddenPathGuard
impl UnsafeUnpin for ForbiddenPathGuard
impl UnwindSafe for ForbiddenPathGuard
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> 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