use sacp::JrHandlerChain;
use sacp_proxy::{AcpProxyExt, McpServiceRegistry};
use tokio_util::compat::{TokioAsyncReadCompatExt, TokioAsyncWriteCompatExt};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt()
.with_target(true)
.with_writer(std::io::stderr)
.init();
tracing::info!("Minimal proxy starting");
JrHandlerChain::new()
.name("minimal-proxy")
.provide_mcp(McpServiceRegistry::default())
.proxy()
.connect_to(sacp::ByteStreams::new(
tokio::io::stdout().compat_write(),
tokio::io::stdin().compat(),
))?
.serve()
.await?;
Ok(())
}