pub struct ModeConfig {
pub mode: ExecutionMode,
pub tool_overrides: HashMap<String, ToolPermission>,
pub persist_mode: bool,
pub auto_fallback_on_error: bool,
}Expand description
Configuration for execution mode behavior
Fields§
§mode: ExecutionModeCurrent execution mode
tool_overrides: HashMap<String, ToolPermission>Custom tool overrides (tool_name -> permission)
persist_mode: boolWhether to persist mode across sessions
auto_fallback_on_error: boolAuto-switch to Agent mode after errors
Implementations§
Source§impl ModeConfig
impl ModeConfig
Sourcepub fn with_mode(mode: ExecutionMode) -> Self
pub fn with_mode(mode: ExecutionMode) -> Self
Create a new config with the specified mode
Sourcepub fn get_tool_permission(
&self,
tool_name: &str,
category: ToolCategory,
) -> ToolPermission
pub fn get_tool_permission( &self, tool_name: &str, category: ToolCategory, ) -> ToolPermission
Get the effective permission for a tool
Sourcepub fn set_tool_override(
&mut self,
tool_name: impl Into<String>,
permission: ToolPermission,
)
pub fn set_tool_override( &mut self, tool_name: impl Into<String>, permission: ToolPermission, )
Set a custom permission for a specific tool
Sourcepub fn remove_tool_override(&mut self, tool_name: &str)
pub fn remove_tool_override(&mut self, tool_name: &str)
Remove a custom permission override
Sourcepub fn is_tool_allowed(&self, tool_name: &str, category: ToolCategory) -> bool
pub fn is_tool_allowed(&self, tool_name: &str, category: ToolCategory) -> bool
Check if a tool is allowed (Allowed or RequiresConfirmation)
Sourcepub fn tool_requires_confirmation(
&self,
tool_name: &str,
category: ToolCategory,
) -> bool
pub fn tool_requires_confirmation( &self, tool_name: &str, category: ToolCategory, ) -> bool
Check if a tool requires confirmation
Trait Implementations§
Source§impl Clone for ModeConfig
impl Clone for ModeConfig
Source§fn clone(&self) -> ModeConfig
fn clone(&self) -> ModeConfig
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 ModeConfig
impl Debug for ModeConfig
Source§impl Default for ModeConfig
impl Default for ModeConfig
Source§impl<'de> Deserialize<'de> for ModeConfig
impl<'de> Deserialize<'de> for ModeConfig
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 ModeConfig
impl RefUnwindSafe for ModeConfig
impl Send for ModeConfig
impl Sync for ModeConfig
impl Unpin for ModeConfig
impl UnwindSafe for ModeConfig
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,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].