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            "tracked_send",
12            "reply",
13            "inbox_read",
14            "message_history",
15            "context_get",
16            "context_sync",
17            "group_preamble_get",
18            "send_files",
19            "terminal_history",
20            "term_resize",
21            "web_model_delivery_preferences_get",
22            "web_model_delivery_preferences_update",
23            "web_model_runtime_recover_turn",
24        ],
25        ..Default::default()
26    };
27    let daemon = client.assert_compatible(&requirements)?;
28    println!(
29        "CCCC {} ({}) is compatible with IPC v{}",
30        daemon.version, daemon.implementation, daemon.ipc_v
31    );
32    Ok(())
33}