Skip to main content

compat_check/
compat_check.rs

1use 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}