pub struct ToolPolicy {
pub default_permissions: ToolPermissions,
pub tool_permissions: HashMap<String, ToolPermissions>,
pub tool_trust: HashMap<String, ToolTrustLevel>,
pub min_trust_level: ToolTrustLevel,
pub blocked_tools: HashSet<String>,
}Expand description
Tool policy
Fields§
§default_permissions: ToolPermissionsDefault permissions for all tools
tool_permissions: HashMap<String, ToolPermissions>Tool-specific permissions (overrides default)
tool_trust: HashMap<String, ToolTrustLevel>Tool trust levels
min_trust_level: ToolTrustLevelMinimum trust level required
blocked_tools: HashSet<String>Blocked tools
Implementations§
Source§impl ToolPolicy
impl ToolPolicy
Sourcepub fn with_default_permissions(self, perms: ToolPermissions) -> Self
pub fn with_default_permissions(self, perms: ToolPermissions) -> Self
Set default permissions
Sourcepub fn set_tool_permissions(
self,
tool: impl Into<String>,
perms: ToolPermissions,
) -> Self
pub fn set_tool_permissions( self, tool: impl Into<String>, perms: ToolPermissions, ) -> Self
Set permissions for a specific tool
Sourcepub fn set_tool_trust(
self,
tool: impl Into<String>,
level: ToolTrustLevel,
) -> Self
pub fn set_tool_trust( self, tool: impl Into<String>, level: ToolTrustLevel, ) -> Self
Set trust level for a specific tool
Sourcepub fn block_tool(self, tool: impl Into<String>) -> Self
pub fn block_tool(self, tool: impl Into<String>) -> Self
Block a tool
Sourcepub fn get_permissions(&self, tool_name: &str) -> &ToolPermissions
pub fn get_permissions(&self, tool_name: &str) -> &ToolPermissions
Get permissions for a tool
Sourcepub fn get_trust_level(&self, tool_name: &str) -> ToolTrustLevel
pub fn get_trust_level(&self, tool_name: &str) -> ToolTrustLevel
Get trust level for a tool
Trait Implementations§
Source§impl Clone for ToolPolicy
impl Clone for ToolPolicy
Source§fn clone(&self) -> ToolPolicy
fn clone(&self) -> ToolPolicy
Returns a duplicate of the value. Read more
1.0.0 · 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 ToolPolicy
impl Debug for ToolPolicy
Source§impl Default for ToolPolicy
impl Default for ToolPolicy
Source§impl PolicyEvaluator for ToolPolicy
impl PolicyEvaluator for ToolPolicy
Source§fn evaluate(&self, context: &PolicyContext) -> PolicyDecision
fn evaluate(&self, context: &PolicyContext) -> PolicyDecision
Evaluate a policy for the given context
Auto Trait Implementations§
impl Freeze for ToolPolicy
impl RefUnwindSafe for ToolPolicy
impl Send for ToolPolicy
impl Sync for ToolPolicy
impl Unpin for ToolPolicy
impl UnsafeUnpin for ToolPolicy
impl UnwindSafe for ToolPolicy
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