Skip to main content

ToolRegistry

Struct ToolRegistry 

Source
pub struct ToolRegistry { /* private fields */ }
Expand description

Registry of available tools.

Implementations§

Source§

impl ToolRegistry

Source

pub fn new() -> Self

Source

pub fn register(&mut self, tool: Arc<dyn Tool>)

Register a native Rust tool.

Source

pub fn register_alias( &mut self, alias: impl Into<String>, canonical: impl Into<String>, )

Register a compatibility alias for an existing canonical tool name.

Aliases resolve at execution time but are intentionally omitted from tool definitions so models see the canonical surface only.

Source

pub fn extend(&mut self, other: ToolRegistry)

Source

pub fn get(&self, name: &str) -> Option<&Arc<dyn Tool>>

Get a tool by canonical name or compatibility alias.

Source

pub fn tools_map(&self) -> HashMap<String, Arc<dyn Tool>>

Get a cloned map of all tools, including compatibility aliases.

Source

pub fn definitions(&self) -> Vec<ToolDefinition>

Get all canonical tool definitions (for LLM context). Compatibility aliases such as legacy multi_edit are intentionally hidden so models learn one canonical edit surface.

Source

pub fn readonly_definitions(&self) -> Vec<ToolDefinition>

Get only readonly tool definitions (for readonly roles).

Source

pub fn names(&self) -> Vec<String>

List all tool names.

Source

pub fn retain<F>(&mut self, predicate: F)
where F: Fn(&str) -> bool,

Retain only tools whose names satisfy the predicate.

Used by AgentBuilder to filter tools based on agent mode before the agent is handed out to callers.

Source

pub fn definitions_for_mode(&self, mode: &AgentMode) -> Vec<ToolDefinition>

Get tool definitions filtered to those allowed by an agent mode.

For Full mode (empty allow-list), returns all definitions. For all other modes, returns only the intersection.

Source

pub fn policy_metadata(&self, name: &str) -> Option<ToolMetadata>

Lookup reference monitor metadata by canonical name or alias.

Source

pub fn len(&self) -> usize

Number of registered tools.

Source

pub fn is_empty(&self) -> bool

Trait Implementations§

Source§

impl Default for ToolRegistry

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more