Skip to main content

Tool

Derive Macro Tool 

Source
#[derive(Tool)]
{
    // Attributes available to this derive:
    #[agent_tool]
}
Expand description

Derives the typed tool metadata needed by SessionAgent.

use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(agents::Tool)]
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
enum EchoTool {
    #[agent_tool(name = "echo_text", description = "Echo the provided text.")]
    Echo { text: String },
}