Use ACP SDK v1 latest

Seto Elkahfi committed Jul 30, 2026 at 15:50 UTC 32d002b13844072e210f8dc1d6a1ee83bec4a002
4 files changed +24 -13
.github/workflows/ci.yml
+2 -1
@@ -6,11 +6,12 @@ name: CI
6
7 on:
8 push:
9 + branches: [main, development]
10 pull_request:
11 workflow_dispatch:
12
13 concurrency:
13 - group: ci
14 + group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
15 cancel-in-progress: true
16
17 env:
Cargo.lock
+8 -6
@@ -20,17 +20,19 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
20
21 [[package]]
22 name = "agent-client-protocol"
23 -version = "1.0.1"
23 +version = "1.3.0"
24 source = "registry+https://github.com/rust-lang/crates.io-index"
25 -checksum = "16302d16c7531355db16593d99c38c8297db0c4653aa7dd80c3556bb17f4cd8c"
25 +checksum = "1d386d6a58f4dbe0ebfa98e915caa54005dabdefd419de3d4678b28cd5752444"
26 dependencies = [
27 "agent-client-protocol-derive",
28 "agent-client-protocol-schema",
29 + "async-io",
30 "async-process",
31 "blocking",
32 "futures",
33 "futures-concurrency",
34 "rustc-hash 2.1.2",
35 + "rustix 1.1.4",
36 "schemars 1.2.1",
37 "serde",
38 "serde_json",
@@ -42,9 +44,9 @@ dependencies = [
44
45 [[package]]
46 name = "agent-client-protocol-derive"
45 -version = "1.0.1"
47 +version = "1.3.0"
48 source = "registry+https://github.com/rust-lang/crates.io-index"
47 -checksum = "88b37d552feb6981a0109febda6b71fc723678cd065974c2d76279c19c407095"
49 +checksum = "97b94934d118a69e921d14e94d4af5b3076563318c52662c89a0ecb3f139e1da"
50 dependencies = [
51 "quote",
52 "syn 2.0.117",
@@ -52,9 +54,9 @@ dependencies = [
54
55 [[package]]
56 name = "agent-client-protocol-schema"
55 -version = "1.1.0"
57 +version = "1.4.0"
58 source = "registry+https://github.com/rust-lang/crates.io-index"
57 -checksum = "ac542aba230234b1591ace7286a47c0514fe3efc3037d43296bde31ba7ee5728"
59 +checksum = "06679e1542356341f4550ccfb16338b64f37f6af70de2105446ef6fbb078234c"
60 dependencies = [
61 "anyhow",
62 "derive_more",
Cargo.toml
+1 -1
@@ -23,7 +23,7 @@ path = "src/main.rs"
23
24 [dependencies]
25 # ACP protocol SDK
26 -agent-client-protocol = { version = "1.0", features = ["unstable_session_fork", "unstable_auth_methods"] }
26 +agent-client-protocol = { version = "1.3", features = ["unstable_session_fork", "unstable_auth_methods"] }
27
28 # Onde Inference engine (local LLM)
29 # onde = { path = "../onde" }
src/main.rs
+13 -5
@@ -1873,13 +1873,13 @@ impl SiGitAgent {
1873
1874 // ── Local Inference toggle ──────────────────────────────────────────
1875 if args.config_id.0.as_ref() == LOCAL_INFERENCE_CONFIG_ID {
1876 - let enabled = match args.value.0.as_ref() {
1877 - LOCAL_INFERENCE_ON => true,
1878 - LOCAL_INFERENCE_OFF => false,
1876 + let enabled = match args.value.as_value_id().map(|v| v.0.as_ref()) {
1877 + Some(LOCAL_INFERENCE_ON) => true,
1878 + Some(LOCAL_INFERENCE_OFF) => false,
1879 other => {
1880 return Err(agent_client_protocol::Error::new(
1881 -32602,
1882 - format!("unknown Local Inference value: {other}"),
1882 + format!("unknown Local Inference value: {other:?}"),
1883 ));
1884 }
1885 };
@@ -1909,7 +1909,15 @@ impl SiGitAgent {
1909 ));
1910 }
1911
1912 - let model_id = args.value.0.as_ref();
1912 + let Some(model_id) = args.value.as_value_id().map(|v| v.0.as_ref()) else {
1913 + return Err(agent_client_protocol::Error::new(
1914 + -32602,
1915 + format!(
1916 + "expected a value-id for {MODEL_CONFIG_ID}, got {:?}",
1917 + args.value
1918 + ),
1919 + ));
1920 + };
1921
1922 // can't switch while the startup model is still loading — the old
1923 // weights are in GPU memory and the new load gets "does not fit"