pub struct MergedToolset { /* private fields */ }Available on crate feature
tools only.Expand description
A toolset that merges tools from multiple inner toolsets into one.
Toolsets are resolved in registration order. If two inner toolsets
provide a tool with the same name, the first one wins (last-registered
duplicates are dropped with a tracing::warn).
§Example
ⓘ
use adk_tool::toolset::MergedToolset;
let merged = MergedToolset::new("all_tools", vec![
Arc::new(browser_toolset),
Arc::new(search_toolset),
]);Implementations§
Source§impl MergedToolset
impl MergedToolset
Sourcepub fn new(
name: impl Into<String>,
toolsets: Vec<Arc<dyn Toolset>>,
) -> MergedToolset
pub fn new( name: impl Into<String>, toolsets: Vec<Arc<dyn Toolset>>, ) -> MergedToolset
Create a merged toolset from multiple inner toolsets.
Sourcepub fn with_toolset(self, toolset: Arc<dyn Toolset>) -> MergedToolset
pub fn with_toolset(self, toolset: Arc<dyn Toolset>) -> MergedToolset
Append another toolset to the merge list.
Trait Implementations§
Source§impl Toolset for MergedToolset
impl Toolset for MergedToolset
Auto Trait Implementations§
impl Freeze for MergedToolset
impl !RefUnwindSafe for MergedToolset
impl Send for MergedToolset
impl Sync for MergedToolset
impl Unpin for MergedToolset
impl UnsafeUnpin for MergedToolset
impl !UnwindSafe for MergedToolset
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.