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 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
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 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
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
Mutably borrows from an owned value. Read more
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
Compare self to
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>
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