pub struct ApprovalConfig {
pub require_approval_for_dangerous: bool,
pub additional_sensitive_tools: HashSet<String>,
pub require_approval_for_all: bool,
pub require_approval_for_external: bool,
pub auto_approve_timeout: Option<Duration>,
pub always_approve_tools: HashSet<String>,
pub always_deny_tools: HashSet<String>,
pub approval_patterns: Vec<String>,
pub timeout_seconds: u64,
pub max_pending_approvals: usize,
}Expand description
Configuration for the approval system
Fields§
§require_approval_for_dangerous: boolRequire approval for tools marked as dangerous
additional_sensitive_tools: HashSet<String>Additional tools that must always go through approval
require_approval_for_all: boolRequire approval for all tool calls
require_approval_for_external: boolRequire approval for tools marked as external
auto_approve_timeout: Option<Duration>Auto-approve after timeout if configured (None = wait forever)
always_approve_tools: HashSet<String>Tools that are always approved (bypass approval)
always_deny_tools: HashSet<String>Tools that are always denied
approval_patterns: Vec<String>Patterns for tools requiring approval (regex)
timeout_seconds: u64Timeout for approval requests in seconds (0 = no timeout)
max_pending_approvals: usizeMaximum number of approvals to request before auto-denying
Implementations§
Source§impl ApprovalConfig
impl ApprovalConfig
Sourcepub fn builder() -> ApprovalConfigBuilder
pub fn builder() -> ApprovalConfigBuilder
Create a new builder
Sourcepub fn requires_approval(
&self,
tool_name: &str,
tool_schema: Option<&ToolSchema>,
) -> Option<ApprovalReason>
pub fn requires_approval( &self, tool_name: &str, tool_schema: Option<&ToolSchema>, ) -> Option<ApprovalReason>
Check if a tool requires approval
Trait Implementations§
Source§impl Clone for ApprovalConfig
impl Clone for ApprovalConfig
Source§fn clone(&self) -> ApprovalConfig
fn clone(&self) -> ApprovalConfig
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 ApprovalConfig
impl Debug for ApprovalConfig
Source§impl Default for ApprovalConfig
impl Default for ApprovalConfig
Source§impl<'de> Deserialize<'de> for ApprovalConfig
impl<'de> Deserialize<'de> for ApprovalConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ApprovalConfig
impl RefUnwindSafe for ApprovalConfig
impl Send for ApprovalConfig
impl Sync for ApprovalConfig
impl Unpin for ApprovalConfig
impl UnsafeUnpin for ApprovalConfig
impl UnwindSafe for ApprovalConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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