| 1 | use serde::{Deserialize, Serialize}; |
| 2 | |
| 3 | /// Client feature support declaration. |
| 4 | /// Clients include this in their init payloads to declare which protocol features they support. |
| 5 | /// This allows the server to adapt messages for backward compatibility with older clients. |
| 6 | #[derive(Clone, Debug, Default, Deserialize, Serialize, PartialEq, Eq)] |
| 7 | pub struct FeatureSupport { |
| 8 | /// Whether the client supports agent view and has it enabled. |
| 9 | #[serde(default)] |
| 10 | pub supports_agent_view: bool, |
| 11 | /// Unused in favor of supports_full_role_for_real. Clients set this to true before they were actually ready. |
| 12 | #[serde(default)] |
| 13 | pub supports_full_role: bool, |
| 14 | /// Whether the client supports the "Full" role ACL. |
| 15 | #[serde(default)] |
| 16 | pub supports_full_role_for_real: bool, |
| 17 | } |