1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
* Windmill API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.684.1
* Contact: contact@windmill.dev
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// AgentTool : A tool available to an AI agent. Can be a flow module or an external MCP (Model Context Protocol) tool
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AgentTool {
/// Unique identifier for this tool. Cannot contain spaces - use underscores instead (e.g., 'get_user_data' not 'get user data')
#[serde(rename = "id")]
pub id: String,
/// Short description of what this tool does (shown to the AI)
#[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
pub summary: Option<String>,
#[serde(rename = "value")]
pub value: Box<models::ToolValue>,
}
impl AgentTool {
/// A tool available to an AI agent. Can be a flow module or an external MCP (Model Context Protocol) tool
pub fn new(id: String, value: models::ToolValue) -> AgentTool {
AgentTool {
id,
summary: None,
value: Box::new(value),
}
}
}