1mod cargo_command;
2pub mod cargo_mcp;
3
4use anyhow::Result;
5pub use cargo_mcp::build_mcp_server;
6use sacp::ProxyToConductor as ProxyToConductorBuilder;
7use sacp::component::Component;
8use sacp::link::{ConductorToProxy, ProxyToConductor};
9
10pub struct CargoProxy;
11
12impl Component<ProxyToConductor> for CargoProxy {
13 async fn serve(self, client: impl Component<ConductorToProxy>) -> Result<(), sacp::Error> {
14 ProxyToConductorBuilder::builder()
15 .name("cargo-proxy")
16 .with_mcp_server(build_mcp_server())
17 .serve(client)
18 .await
19 }
20}