pub struct SimpleTool { /* private fields */ }Expand description
Simple function tool that wraps an async closure.
Implementations§
Source§impl SimpleTool
impl SimpleTool
Sourcepub fn new<F, Fut>(
name: impl Into<String>,
description: impl Into<String>,
parameters: Option<Value>,
handler: F,
) -> Self
pub fn new<F, Fut>( name: impl Into<String>, description: impl Into<String>, parameters: Option<Value>, handler: F, ) -> Self
Create a new simple function tool.
§Examples
ⓘ
use gemini_adk_rs::tool::SimpleTool;
use serde_json::json;
let tool = SimpleTool::new(
"greet",
"Greet a user by name",
Some(json!({"type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"]})),
|args| async move {
let name = args["name"].as_str().unwrap_or("World");
Ok(json!({"greeting": format!("Hello, {name}!")}))
},
);Trait Implementations§
Source§impl ToolFunction for SimpleTool
impl ToolFunction for SimpleTool
Source§fn description(&self) -> &str
fn description(&self) -> &str
Human-readable description of what this tool does.
Source§fn parameters(&self) -> Option<Value>
fn parameters(&self) -> Option<Value>
JSON Schema for the tool’s input parameters, or
None if parameterless.Source§fn call<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn call<'life0, 'async_trait>(
&'life0 self,
args: Value,
) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the tool with the given arguments and return the result.
Source§fn requires_confirmation(&self) -> bool
fn requires_confirmation(&self) -> bool
Whether this tool must be confirmed before it runs. Defaults to
false. Read moreSource§fn confirmation_message(&self) -> Option<&str>
fn confirmation_message(&self) -> Option<&str>
Optional hint shown when confirmation is requested.
Auto Trait Implementations§
impl Freeze for SimpleTool
impl !RefUnwindSafe for SimpleTool
impl Send for SimpleTool
impl Sync for SimpleTool
impl Unpin for SimpleTool
impl !UnwindSafe for SimpleTool
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