use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema, Default)] pub struct PingParams {} #[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct ServerLiveHandoffParams { #[serde(default, skip_serializing_if = "Option::is_none")] pub import_exe: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub expected_protocol: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub expected_version: Option, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct ServerSshAgentRegisterParams { /// Absolute remote-host agent socket. Registration lasts until this API connection closes. pub socket_path: String, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct ServerCapabilities { pub live_handoff: bool, #[serde(default)] pub detached_server_daemon: bool, /// Stable client-owned endpoint generation supported by this server. #[serde(default, skip_serializing_if = "Option::is_none")] pub endpoint_protocol_generation: Option, /// Whether this server supports explicit client-shell surface interest. #[serde(default)] pub surface_interest: bool, /// Whether this server supports endpoint health probes. #[serde(default)] pub health_check: bool, /// Supports connection-scoped `server.ssh_agent.register` on the local JSON API. #[serde(default)] pub ssh_agent_registration: bool, }