use crate::mcp::{GenericMeta, IntoMcpRequest, RequestMeta, Root};
use serde::{Deserialize, Serialize};
use serde_with::skip_serializing_none;
#[skip_serializing_none]
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ListRootsParams {
#[serde(rename = "_meta")]
pub meta: Option<RequestMeta>,
}
impl IntoMcpRequest<ListRootsParams> for ListRootsParams {
const METHOD: &'static str = "roots/list";
type McpResult = ListRootsResult;
}
#[skip_serializing_none]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ListRootsResult {
#[serde(rename = "_meta")]
pub meta: Option<GenericMeta>,
pub roots: Vec<Root>,
}