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"