pub struct PolicyValidator { /* private fields */ }Expand description
Validates tool calls against plain-language policies using an LLM.
Implementations§
Source§impl PolicyValidator
impl PolicyValidator
Sourcepub fn new(
policies: Vec<String>,
timeout: Duration,
fail_open: bool,
exempt_tools: Vec<String>,
) -> Self
pub fn new( policies: Vec<String>, timeout: Duration, fail_open: bool, exempt_tools: Vec<String>, ) -> Self
Create a new validator with pre-parsed policy lines.
Sourcepub async fn validate(
&self,
tool_name: &str,
params: &Map<String, Value>,
llm: &dyn PolicyLlmClient,
) -> PolicyDecision
pub async fn validate( &self, tool_name: &str, params: &Map<String, Value>, llm: &dyn PolicyLlmClient, ) -> PolicyDecision
Validate a tool call against the configured policies.
Returns PolicyDecision::Allow, PolicyDecision::Deny, or
PolicyDecision::Error (behavior on error controlled by fail_open).
Auto Trait Implementations§
impl Freeze for PolicyValidator
impl RefUnwindSafe for PolicyValidator
impl Send for PolicyValidator
impl Sync for PolicyValidator
impl Unpin for PolicyValidator
impl UnsafeUnpin for PolicyValidator
impl UnwindSafe for PolicyValidator
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