Struct ToolInspectionManager
pub struct ToolInspectionManager { /* private fields */ }Expand description
Tool Inspection Manager
Provides unified tool inspection, permission checking, and confirmation flow. Integrates:
ModeManagerfor execution mode-based permissionsPermissionManagerfor persistent permission storage- Tool metadata registry for categorization
Implementations§
§impl ToolInspectionManager
impl ToolInspectionManager
pub fn new() -> ToolInspectionManager
pub fn new() -> ToolInspectionManager
Create a new tool inspection manager
pub fn with_mode_manager(mode_manager: ModeManager) -> ToolInspectionManager
pub fn with_mode_manager(mode_manager: ModeManager) -> ToolInspectionManager
Create with custom mode manager
pub fn register_tool(&self, metadata: ToolMetadata)
pub fn register_tool(&self, metadata: ToolMetadata)
Register a custom tool
pub fn get_tool_metadata(&self, tool_name: &str) -> Option<ToolMetadata>
pub fn get_tool_metadata(&self, tool_name: &str) -> Option<ToolMetadata>
Get tool metadata
pub fn current_mode(&self) -> ExecutionMode
pub fn current_mode(&self) -> ExecutionMode
Get the current execution mode
pub fn set_mode(&self, mode: ExecutionMode)
pub fn set_mode(&self, mode: ExecutionMode)
Set the execution mode
pub fn inspect_tool(
&self,
tool_name: &str,
arguments: Option<&str>,
) -> Result<InspectionResult, AppError>
pub fn inspect_tool( &self, tool_name: &str, arguments: Option<&str>, ) -> Result<InspectionResult, AppError>
Inspect a tool before execution
Returns an InspectionResult indicating whether the tool can be executed,
requires confirmation, or is blocked.
pub fn create_confirmation_request(
&self,
tool_name: &str,
arguments: &str,
) -> ConfirmationRequest
pub fn create_confirmation_request( &self, tool_name: &str, arguments: &str, ) -> ConfirmationRequest
Create a confirmation request
pub fn handle_confirmation(
&self,
request_id: &str,
response: ConfirmationResponse,
) -> Result<bool, AppError>
pub fn handle_confirmation( &self, request_id: &str, response: ConfirmationResponse, ) -> Result<bool, AppError>
Handle a confirmation response
pub fn pending_requests(&self) -> Vec<ConfirmationRequest>
pub fn pending_requests(&self) -> Vec<ConfirmationRequest>
Get pending confirmation requests
pub fn clear_pending(&self)
pub fn clear_pending(&self)
Clear all pending confirmations
pub fn list_tools(&self) -> Vec<ToolMetadata>
pub fn list_tools(&self) -> Vec<ToolMetadata>
List all registered tools
pub fn tools_by_category(&self, category: ToolCategory) -> Vec<ToolMetadata>
pub fn tools_by_category(&self, category: ToolCategory) -> Vec<ToolMetadata>
Get tools by category
Trait Implementations§
§impl Default for ToolInspectionManager
impl Default for ToolInspectionManager
§fn default() -> ToolInspectionManager
fn default() -> ToolInspectionManager
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for ToolInspectionManager
impl RefUnwindSafe for ToolInspectionManager
impl Send for ToolInspectionManager
impl Sync for ToolInspectionManager
impl Unpin for ToolInspectionManager
impl UnwindSafe for ToolInspectionManager
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
§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>
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§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].§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().