use serde::{Deserialize, Serialize}; /// A filesystem access grant scoped to a specific path. #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] pub struct FilesystemGrant { pub path: String, pub read: bool, pub write: bool, } /// Capabilities a tool can request. #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] pub enum Capability { Stdout, Stdin, Filesystem(FilesystemGrant), Network(Vec), Clipboard, Env(Vec), }