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 "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}