use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct IntegrationInstallParams { pub target: IntegrationTarget, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct IntegrationUninstallParams { pub target: IntegrationTarget, } #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum IntegrationTarget { Pi, Omp, Claude, Codex, Copilot, Devin, Droid, Kimi, Opencode, Kilo, Hermes, Qodercli, Cursor, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct IntegrationInstallResult { pub messages: Vec, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct IntegrationUninstallResult { pub messages: Vec, }