Skip to content

Commit ca28716

Browse files
feat(trogon-acp-runner): add RpcServer and standalone binary
- Add RpcServer: handles all non-prompt ACP methods (initialize, authenticate, new_session, load_session, set_session_mode, set_session_config_option, list_sessions, fork_session, resume_session) via NATS request-reply, so acp-nats-ws can be a pure dumb pipe - Add main.rs binary that runs RpcServer + Runner together, pairing with acp-nats-ws for the WebSocket deployment path - Fix coverage build: add #![cfg_attr(coverage, allow(dead_code, unused_imports))] to acp-nats-stdio/src/main.rs and acp-nats-ws/src/main.rs to silence dead_code errors under --cfg=coverage - Move terminal_output_cap from Bridge to TrogonAcpAgent (Cell<bool>) following the dumb-pipe Bridge refactor
1 parent 466793c commit ca28716

File tree

8 files changed

+646
-19
lines changed

8 files changed

+646
-19
lines changed

rsworkspace/Cargo.lock

Lines changed: 149 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rsworkspace/crates/acp-nats-stdio/src/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#![cfg_attr(coverage, allow(dead_code, unused_imports))]
12
mod config;
23

34
use acp_nats::{StdJsonSerialize, agent::Bridge, client, spawn_notification_forwarder};

rsworkspace/crates/acp-nats-ws/src/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#![cfg_attr(coverage, allow(dead_code, unused_imports))]
12
mod config;
23
mod connection;
34
mod upgrade;

rsworkspace/crates/trogon-acp-runner/Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ workspace = true
88

99
[dependencies]
1010
acp-nats = { path = "../acp-nats" }
11+
agent-client-protocol = { version = "0.9.4", features = ["unstable_session_fork", "unstable_session_resume", "unstable_session_list"] }
12+
uuid = { version = "1", features = ["v4"] }
1113
anyhow = "1"
1214
async-nats = "0.45.0"
1315
bytes = "1"
@@ -16,7 +18,8 @@ reqwest = { version = "0.12", default-features = false, features = ["rustl
1618
serde = { version = "1.0.228", features = ["derive"] }
1719
serde_json = "1.0.149"
1820
tokio = { version = "1.49.0", features = ["full"] }
19-
tracing = "0.1.44"
21+
tracing = "0.1.44"
22+
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
2023

2124
trogon-agent-core = { path = "../trogon-agent-core" }
2225
trogon-mcp = { path = "../trogon-mcp" }
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
#![cfg_attr(coverage, feature(coverage_attribute))]
22

33
pub mod permission;
4+
pub mod rpc_server;
45
pub mod runner;
56
pub mod session_store;
67

78
pub use permission::{ChannelPermissionChecker, PermissionReq, PermissionTx};
9+
pub use rpc_server::RpcServer;
810
pub use runner::{GatewayConfig, Runner};
911
pub use session_store::{SessionState, SessionStore, StoredMcpServer};

0 commit comments

Comments
 (0)