pub struct ShellCommandGuard { /* private fields */ }Expand description
Guard that blocks dangerous shell commands before execution.
Implementations§
Source§impl ShellCommandGuard
impl ShellCommandGuard
pub fn new() -> Self
Sourcepub fn with_patterns(
patterns: Vec<String>,
enforce_forbidden_paths: bool,
) -> Self
pub fn with_patterns( patterns: Vec<String>, enforce_forbidden_paths: bool, ) -> Self
Build a guard from operator-supplied regex patterns.
Invalid regex configuration creates a deny-all guard so direct callers cannot accidentally widen access by dropping a malformed pattern.
Sourcepub fn try_with_patterns(
patterns: Vec<String>,
enforce_forbidden_paths: bool,
) -> Result<Self, ShellCommandConfigError>
pub fn try_with_patterns( patterns: Vec<String>, enforce_forbidden_paths: bool, ) -> Result<Self, ShellCommandConfigError>
Build a guard from operator-supplied regex patterns, rejecting invalid configuration before it reaches the runtime guard pipeline.
pub fn is_forbidden(&self, commandline: &str) -> bool
Trait Implementations§
Source§impl Default for ShellCommandGuard
impl Default for ShellCommandGuard
Source§impl Guard for ShellCommandGuard
impl Guard for ShellCommandGuard
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 ShellCommandGuard
impl RefUnwindSafe for ShellCommandGuard
impl Send for ShellCommandGuard
impl Sync for ShellCommandGuard
impl Unpin for ShellCommandGuard
impl UnsafeUnpin for ShellCommandGuard
impl UnwindSafe for ShellCommandGuard
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