pub struct AcpBackend { /* private fields */ }Expand description
The backend: an agent per command key, an ACP session per task, one outcome stream for the whole role.
Implementations§
Source§impl AcpBackend
impl AcpBackend
pub fn new(options: AcpOptions) -> Self
Trait Implementations§
Source§impl Clone for AcpBackend
impl Clone for AcpBackend
Source§impl SessionBackend for AcpBackend
impl SessionBackend for AcpBackend
Source§fn deliver(
&self,
session: &SessionRef,
task_id: &str,
prompt: &str,
) -> Result<()>
fn deliver( &self, session: &SessionRef, task_id: &str, prompt: &str, ) -> Result<()>
Hand one delivery to its session as a turn.
The prompt is the rendered delivery text and nothing else: this client
appends no directive of its own, and the agent’s own tools mount carries
whatever it owes back. The whole text lands in the journal’s dispatch
record, which is the operator’s proof of what was asked.
Source§fn nudge(&self, session: &SessionRef, task_id: &str, text: &str) -> Result<()>
fn nudge(&self, session: &SessionRef, task_id: &str, text: &str) -> Result<()>
Tell a session whose turn ended without a completion, in the one words
this client owns (docs/v2-CONTRACT.md §3c).
An ACP agent has no injection channel besides session/prompt, so the
sentence arrives as the next prompt, verbatim. It is not a delivery: no
payload, prose, or attachment is re-sent, nothing of the session’s turn
bookkeeping is reset, and the journal names the record nudge so the two
are told apart in the operator’s file.
fn name(&self) -> &'static str
fn capabilities(&self) -> Capabilities
fn available(&self) -> Result<bool>
Source§fn self_driven(&self) -> bool
fn self_driven(&self) -> bool
SessionBackend::deliver; one that
answers false keeps the adapter-socket path where a mounted plugin
receives assign or config_get{key:"stdin:<text>"}.