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§
Source§impl ToolInspectionManager
impl ToolInspectionManager
Sourcepub fn new() -> ToolInspectionManager
pub fn new() -> ToolInspectionManager
Create a new tool inspection manager
Sourcepub fn with_mode_manager(mode_manager: ModeManager) -> ToolInspectionManager
pub fn with_mode_manager(mode_manager: ModeManager) -> ToolInspectionManager
Create with custom mode manager
Sourcepub fn register_tool(&self, metadata: ToolMetadata)
pub fn register_tool(&self, metadata: ToolMetadata)
Register a custom tool
Sourcepub fn get_tool_metadata(&self, tool_name: &str) -> Option<ToolMetadata>
pub fn get_tool_metadata(&self, tool_name: &str) -> Option<ToolMetadata>
Get tool metadata
Sourcepub fn current_mode(&self) -> ExecutionMode
pub fn current_mode(&self) -> ExecutionMode
Get the current execution mode
Sourcepub fn set_mode(&self, mode: ExecutionMode)
pub fn set_mode(&self, mode: ExecutionMode)
Set the execution mode
Sourcepub 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.
Sourcepub 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
Sourcepub 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
Sourcepub fn pending_requests(&self) -> Vec<ConfirmationRequest>
pub fn pending_requests(&self) -> Vec<ConfirmationRequest>
Get pending confirmation requests
Sourcepub fn clear_pending(&self)
pub fn clear_pending(&self)
Clear all pending confirmations
Sourcepub fn list_tools(&self) -> Vec<ToolMetadata>
pub fn list_tools(&self) -> Vec<ToolMetadata>
List all registered tools
Sourcepub 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§
Source§impl Default for ToolInspectionManager
impl Default for ToolInspectionManager
Source§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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.
§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().