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}