pub struct InteractiveToolGuardrail { /* private fields */ }Expand description
Shared Codex-style guardrail used by the terminal and web Code products.
Implementations§
Source§impl InteractiveToolGuardrail
impl InteractiveToolGuardrail
pub const fn new(mode: InteractiveApprovalMode) -> Self
pub fn for_mode(mode: &str) -> Self
Sourcepub fn with_workspace(self, workspace: impl Into<PathBuf>) -> Self
pub fn with_workspace(self, workspace: impl Into<PathBuf>) -> Self
Add a local workspace root so existing symlink components can be checked.
Sourcepub fn risk_assessment(tool_name: &str, args: &Value) -> ToolRiskAssessment
pub fn risk_assessment(tool_name: &str, args: &Value) -> ToolRiskAssessment
Return the explainable risk assessment before host mode semantics.
Sourcepub fn risk_decision(tool_name: &str, args: &Value) -> PermissionDecision
pub fn risk_decision(tool_name: &str, args: &Value) -> PermissionDecision
Return the conservative legacy permission decision before mode semantics.
This projection preserves existing host integrations. New hosts should
consume Self::risk_assessment and the mode’s decision matrix when they
need to distinguish human confirmation from LLM review.
Sourcepub fn is_catastrophic_bash_command(command: &str) -> bool
pub fn is_catastrophic_bash_command(command: &str) -> bool
Return whether an exact Bash command matches the deterministic, non-bypassable catastrophic-operation floor.
Sandboxed hosts use this separately from the conservative lexical risk projection: unknown shell syntax may be safe inside an enforced OS boundary, while destructive system commands remain denied in every execution mode.
Sourcepub fn assess(&self, tool_name: &str, args: &Value) -> ToolRiskAssessment
pub fn assess(&self, tool_name: &str, args: &Value) -> ToolRiskAssessment
Assess an invocation, including workspace symlink boundary checks.
Sourcepub fn risk_action(&self, tool_name: &str, args: &Value) -> ToolRiskAction
pub fn risk_action(&self, tool_name: &str, args: &Value) -> ToolRiskAction
Return the explicit routing action selected for this guardrail mode.
Trait Implementations§
Source§impl Clone for InteractiveToolGuardrail
impl Clone for InteractiveToolGuardrail
Source§fn clone(&self) -> InteractiveToolGuardrail
fn clone(&self) -> InteractiveToolGuardrail
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InteractiveToolGuardrail
impl Debug for InteractiveToolGuardrail
Source§impl Default for InteractiveToolGuardrail
impl Default for InteractiveToolGuardrail
impl Eq for InteractiveToolGuardrail
Source§impl PartialEq for InteractiveToolGuardrail
impl PartialEq for InteractiveToolGuardrail
Source§impl PermissionChecker for InteractiveToolGuardrail
impl PermissionChecker for InteractiveToolGuardrail
Source§fn check(&self, tool_name: &str, args: &Value) -> PermissionDecision
fn check(&self, tool_name: &str, args: &Value) -> PermissionDecision
Source§fn snapshot_for_run(&self) -> Option<Arc<dyn PermissionChecker>>
fn snapshot_for_run(&self) -> Option<Arc<dyn PermissionChecker>>
impl StructuralPartialEq for InteractiveToolGuardrail
Auto Trait Implementations§
impl Freeze for InteractiveToolGuardrail
impl RefUnwindSafe for InteractiveToolGuardrail
impl Send for InteractiveToolGuardrail
impl Sync for InteractiveToolGuardrail
impl Unpin for InteractiveToolGuardrail
impl UnsafeUnpin for InteractiveToolGuardrail
impl UnwindSafe for InteractiveToolGuardrail
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
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> 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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> ⓘ
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