#[non_exhaustive]pub struct ToolComposite {
pub entries: Vec<ToolCompositeEntry>,
}Expand description
A tool composite — one or more tool entries.
Built from the T namespace and composed with |. Any single
ToolFunction (a SimpleTool, a TypedTool, the value a #[tool]
function returns, or an Arc<dyn ToolFunction>) converts into a
one-entry composite via From, so .tools(get_weather()) works without
the namespace.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.entries: Vec<ToolCompositeEntry>The tool entries in this composite.
Implementations§
Source§impl ToolComposite
impl ToolComposite
Sourcepub fn from_function(f: Arc<dyn ToolFunction>) -> Self
pub fn from_function(f: Arc<dyn ToolFunction>) -> Self
Create a composite containing a single runtime tool function.
Sourcepub fn from_built_in(tool: Tool) -> Self
pub fn from_built_in(tool: Tool) -> Self
Create a composite containing a single built-in tool declaration.
Trait Implementations§
Source§impl BitOr for ToolComposite
Compose two tool composites with |.
impl BitOr for ToolComposite
Compose two tool composites with |.
Source§type Output = ToolComposite
type Output = ToolComposite
The resulting type after applying the
| operator.Source§impl Clone for ToolComposite
impl Clone for ToolComposite
Source§fn clone(&self) -> ToolComposite
fn clone(&self) -> ToolComposite
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<F: ToolFunction + 'static> From<F> for ToolComposite
A single tool is a one-entry composite, so .tools(my_tool) and
.tool(my_tool) accept the same values.
impl<F: ToolFunction + 'static> From<F> for ToolComposite
A single tool is a one-entry composite, so .tools(my_tool) and
.tool(my_tool) accept the same values.
Auto Trait Implementations§
impl Freeze for ToolComposite
impl !RefUnwindSafe for ToolComposite
impl Send for ToolComposite
impl Sync for ToolComposite
impl Unpin for ToolComposite
impl !UnwindSafe for ToolComposite
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> 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].