objectiveai_sdk/mcp/tool/
tool_execution.rs1use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
8#[serde(rename_all = "lowercase")]
9#[schemars(rename = "mcp.tool.TaskSupport")]
10pub enum TaskSupport {
11 #[schemars(title = "Required")]
13 Required,
14 #[schemars(title = "Optional")]
16 Optional,
17 #[schemars(title = "Forbidden")]
19 Forbidden,
20}
21
22#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
24#[schemars(rename = "mcp.tool.ToolExecution")]
25pub struct ToolExecution {
26 #[serde(skip_serializing_if = "Option::is_none")]
29 #[schemars(extend("omitempty" = true))]
30 #[serde(rename = "taskSupport")]
31 pub task_support: Option<TaskSupport>,
32}