pub mod stdio;
use async_trait::async_trait;
use anyhow::Result;
use mcp_protocol::messages::JsonRpcMessage;
#[async_trait]
pub trait Transport: Send + Sync + 'static {
async fn start(&self) -> Result<()>;
async fn send(&self, message: JsonRpcMessage) -> Result<()>;
async fn close(&self) -> Result<()>;
fn box_clone(&self) -> Box<dyn Transport>;
}
pub use stdio::StdioTransport;