objectiveai_sdk/mcp/shared/
annotations.rs1use schemars::JsonSchema;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, JsonSchema)]
8#[serde(rename_all = "lowercase")]
9#[schemars(rename = "mcp.shared.Role")]
10pub enum Role {
11 #[schemars(title = "User")]
12 User,
13 #[schemars(title = "Assistant")]
14 Assistant,
15}
16
17#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
19#[schemars(rename = "mcp.shared.Annotations")]
20pub struct Annotations {
21 #[serde(skip_serializing_if = "Option::is_none")]
23 #[schemars(extend("omitempty" = true))]
24 pub audience: Option<Vec<Role>>,
25 #[serde(skip_serializing_if = "Option::is_none")]
27 #[schemars(extend("omitempty" = true))]
28 pub priority: Option<f64>,
29 #[serde(skip_serializing_if = "Option::is_none")]
31 #[schemars(extend("omitempty" = true))]
32 #[serde(rename = "lastModified")]
33 pub last_modified: Option<String>,
34}