Skip to main content

symposium_cargo/
lib.rs

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}