objectiveai_sdk/mcp/tool/
tool_annotations.rs1use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
9#[schemars(rename = "mcp.tool.ToolAnnotations")]
10pub struct ToolAnnotations {
11 #[serde(skip_serializing_if = "Option::is_none")]
13 #[schemars(extend("omitempty" = true))]
14 pub title: Option<String>,
15 #[serde(skip_serializing_if = "Option::is_none")]
17 #[schemars(extend("omitempty" = true))]
18 #[serde(rename = "readOnlyHint")]
19 pub read_only_hint: Option<bool>,
20 #[serde(skip_serializing_if = "Option::is_none")]
22 #[schemars(extend("omitempty" = true))]
23 #[serde(rename = "destructiveHint")]
24 pub destructive_hint: Option<bool>,
25 #[serde(skip_serializing_if = "Option::is_none")]
28 #[schemars(extend("omitempty" = true))]
29 #[serde(rename = "idempotentHint")]
30 pub idempotent_hint: Option<bool>,
31 #[serde(skip_serializing_if = "Option::is_none")]
33 #[schemars(extend("omitempty" = true))]
34 #[serde(rename = "openWorldHint")]
35 pub open_world_hint: Option<bool>,
36}