use rmcp::schemars;
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, schemars::JsonSchema)]
pub struct UpdateParams {
pub namespace: Option<String>,
pub id: String,
pub name: Option<String>,
#[schemars(description = "Omit=unchanged, null=clear, string=set")]
pub description: Option<serde_json::Value>,
pub properties: Option<serde_json::Value>,
pub tags: Option<Vec<String>>,
#[schemars(
description = "One of: contains | part_of | instance_of | extends | variant_of | introduced_by | supersedes | depends_on | enables | implements | competes_with | composed_with | annotates"
)]
pub relation: Option<String>,
pub weight: Option<f64>,
}