connection.rs

 1use agentic_coding_protocol as acp;
 2use anyhow::Result;
 3use futures::future::{FutureExt as _, LocalBoxFuture};
 4
 5pub trait AgentConnection {
 6    fn request_any(
 7        &self,
 8        params: acp::AnyAgentRequest,
 9    ) -> LocalBoxFuture<'static, Result<acp::AnyAgentResult>>;
10}
11
12impl AgentConnection for acp::AgentConnection {
13    fn request_any(
14        &self,
15        params: acp::AnyAgentRequest,
16    ) -> LocalBoxFuture<'static, Result<acp::AnyAgentResult>> {
17        let task = self.request_any(params);
18        async move { Ok(task.await?) }.boxed_local()
19    }
20}