pub enum ToolCompositeEntry {
Function(Arc<dyn ToolFunction>),
BuiltIn(Tool),
Agent {
name: String,
description: String,
agent: Arc<dyn TextAgent>,
},
Mcp {
params: String,
},
Mock {
name: String,
description: String,
response: Value,
},
Schema {
name: String,
schema: Value,
},
Transform {
inner: Box<ToolCompositeEntry>,
transformer: TransformFn,
},
}Expand description
An entry in a tool composite.
Variants§
Function(Arc<dyn ToolFunction>)
A runtime tool function.
BuiltIn(Tool)
A built-in Gemini tool declaration.
Agent
A text agent wrapped as a tool.
Fields
Mcp
An MCP (Model Context Protocol) toolset connection.
Mock
A mock tool that returns a fixed response (useful for testing).
Fields
Schema
A schema-defined tool (placeholder/marker).
Transform
A tool wrapped with a result transformer.
Fields
§
inner: Box<ToolCompositeEntry>The inner tool entry.
§
transformer: TransformFnTransformer function applied to the tool result.
Trait Implementations§
Source§impl Clone for ToolCompositeEntry
impl Clone for ToolCompositeEntry
Source§fn clone(&self) -> ToolCompositeEntry
fn clone(&self) -> ToolCompositeEntry
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 moreAuto Trait Implementations§
impl Freeze for ToolCompositeEntry
impl !RefUnwindSafe for ToolCompositeEntry
impl Send for ToolCompositeEntry
impl Sync for ToolCompositeEntry
impl Unpin for ToolCompositeEntry
impl !UnwindSafe for ToolCompositeEntry
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].