pub trait PermissionChecker: Send + Sync {
// Required method
fn evaluate(&self, request: &dyn PermissionRequest) -> PermissionDecision;
}Expand description
Evaluates a PermissionRequest and returns a final PermissionDecision.
The BasicToolExecutor calls evaluate for every permission request
returned by Tool::proposed_requests before invoking the tool. If any
request is denied, execution is aborted; if any request requires approval,
the executor returns a ToolInterruption.
For composing multiple policies, see CompositePermissionChecker.
§Example
use agentkit_tools_core::{PermissionChecker, PermissionDecision, PermissionRequest};
/// A checker that allows every operation unconditionally.
struct AllowAll;
impl PermissionChecker for AllowAll {
fn evaluate(&self, _request: &dyn PermissionRequest) -> PermissionDecision {
PermissionDecision::Allow
}
}Required Methods§
Sourcefn evaluate(&self, request: &dyn PermissionRequest) -> PermissionDecision
fn evaluate(&self, request: &dyn PermissionRequest) -> PermissionDecision
Evaluate a single permission request and return the decision.