use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct AppSettings { pub mcp: McpSettings, pub docker: DockerSettings, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct McpSettings { pub enabled: bool, pub port: u16, } impl Default for McpSettings { fn default() -> Self { Self { enabled: true, port: 9427, } } } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct DockerSettings { pub host: DockerHost, pub remote_url: Option, } impl Default for DockerSettings { fn default() -> Self { Self { host: DockerHost::Local, remote_url: None, } } } #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "lowercase")] pub enum DockerHost { Local, Remote, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct McpStatus { pub enabled: bool, pub port: u16, pub running: bool, }