pub struct Renamed<S> { /* private fields */ }Expand description
A ToolSource wrapper that renames specific tools. Tools whose
original name appears in the forward mapping are advertised under the
new name and resolved from the new name back to the original.
Unmapped names pass through unchanged.
Constructed via ToolSource::renamed or directly.
Implementations§
Trait Implementations§
Source§impl<S> ToolSource for Renamed<S>where
S: ToolSource,
impl<S> ToolSource for Renamed<S>where
S: ToolSource,
Source§fn get(&self, name: &ToolName) -> Option<Arc<dyn Tool>>
fn get(&self, name: &ToolName) -> Option<Arc<dyn Tool>>
Looks up a tool by name, returning
None if not present.Source§fn drain_catalog_events(&self) -> Vec<ToolCatalogEvent>
fn drain_catalog_events(&self) -> Vec<ToolCatalogEvent>
Drains pending catalog change events. Static sources return an empty
list; dynamic sources surface added/removed/changed batches that the
loop forwards to the model on the next turn.
Source§fn prefixed(self, prefix: impl Into<String>) -> Prefixed<Self>where
Self: Sized,
fn prefixed(self, prefix: impl Into<String>) -> Prefixed<Self>where
Self: Sized,
Wraps this source so every advertised tool name is prefixed with
<prefix>_. Useful for mounting the same source under multiple
namespaces, or for avoiding collisions between MCP catalogs. Read moreSource§fn filtered<F>(self, predicate: F) -> Filtered<Self, F>
fn filtered<F>(self, predicate: F) -> Filtered<Self, F>
Wraps this source so only tools whose name passes
predicate are
advertised and resolvable. Tools rejected by the predicate are
invisible to the model and return None on lookup. Read moreAuto Trait Implementations§
impl<S> Freeze for Renamed<S>where
S: Freeze,
impl<S> RefUnwindSafe for Renamed<S>where
S: RefUnwindSafe,
impl<S> Send for Renamed<S>where
S: Send,
impl<S> Sync for Renamed<S>where
S: Sync,
impl<S> Unpin for Renamed<S>where
S: Unpin,
impl<S> UnsafeUnpin for Renamed<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for Renamed<S>where
S: UnwindSafe,
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