compat_check/
compat_check.rs1use cccc_sdk::{CCCCClient, CompatibilityRequirements};
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let client = CCCCClient::discover()?;
5 let requirements = CompatibilityRequirements {
6 minimum_ipc_version: 1,
7 operations: vec![
8 "groups",
9 "group_show",
10 "send",
11 "reply",
12 "inbox_list",
13 "context_get",
14 "context_sync",
15 "group_preamble_get",
16 "terminal_history",
17 ],
18 ..Default::default()
19 };
20 let daemon = client.assert_compatible(&requirements)?;
21 println!(
22 "CCCC {} ({}) is compatible with IPC v{}",
23 daemon.version,
24 daemon.implementation.as_deref().unwrap_or("unknown"),
25 daemon.ipc_v
26 );
27 Ok(())
28}