pub enum ToolCompositeEntry {
Function(Arc<dyn ToolFunction>),
BuiltIn(Tool),
Agent {
name: String,
description: String,
agent: Arc<dyn TextAgent>,
},
Mcp {
params: String,
},
A2a {
url: String,
skill: String,
},
Mock {
name: String,
description: String,
response: Value,
},
OpenApi {
name: String,
spec_url: String,
},
Search {
name: String,
description: String,
},
Schema {
name: String,
schema: Value,
},
Transform {
inner: Box<ToolCompositeEntry>,
transformer: Arc<dyn Fn(Value) -> Pin<Box<dyn Future<Output = Value> + Send>> + Send + Sync>,
},
}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.
A2a
A remote agent-to-agent tool.
Mock
A mock tool that returns a fixed response (useful for testing).
Fields
OpenApi
An OpenAPI spec-driven tool (placeholder/marker).
Search
A BM25 search tool (placeholder/marker).
Schema
A schema-defined tool (placeholder/marker).
Transform
A tool wrapped with a result transformer.
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