pub struct CliSession { /* private fields */ }Expand description
A live plain-stdout CLI agent run for one activity attempt.
Generic over the child’s stdout read half so tests can drive it over an in-memory reader; in production it is the child process’s stdout. The child handle is held so it is reaped on drop.
Trait Implementations§
Source§impl AgentSession for CliSession
impl AgentSession for CliSession
Source§fn capabilities(&self) -> &InterventionCapabilities
fn capabilities(&self) -> &InterventionCapabilities
The capability set negotiated at start. Read more
Source§fn events(&mut self) -> BoxStream<'static, ActivityEvent>
fn events(&mut self) -> BoxStream<'static, ActivityEvent>
The stream of neutral events produced by this run. Read more
Source§impl Drop for CliSession
impl Drop for CliSession
Auto Trait Implementations§
impl !RefUnwindSafe for CliSession
impl !UnwindSafe for CliSession
impl Freeze for CliSession
impl Send for CliSession
impl Sync for CliSession
impl Unpin for CliSession
impl UnsafeUnpin for CliSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<S> DynAgentSession for Swhere
S: AgentSession + 'static,
impl<S> DynAgentSession for Swhere
S: AgentSession + 'static,
Source§fn capabilities(&self) -> &InterventionCapabilities
fn capabilities(&self) -> &InterventionCapabilities
The negotiated capability set — see
AgentSession::capabilities.Source§fn events(&mut self) -> Pin<Box<dyn Stream<Item = ActivityEvent> + Send>>
fn events(&mut self) -> Pin<Box<dyn Stream<Item = ActivityEvent> + Send>>
The neutral event stream OUT — see
AgentSession::events.Source§fn intervene<'life0, 'async_trait>(
&'life0 self,
cmd: InterventionCommand,
) -> Pin<Box<dyn Future<Output = Result<(), HarnessError>> + 'async_trait>>where
'life0: 'async_trait,
S: 'async_trait,
fn intervene<'life0, 'async_trait>(
&'life0 self,
cmd: InterventionCommand,
) -> Pin<Box<dyn Future<Output = Result<(), HarnessError>> + 'async_trait>>where
'life0: 'async_trait,
S: 'async_trait,
Deliver a neutral command IN — see
AgentSession::intervene. Read moreSource§fn wait_result<'async_trait>(
self: Box<S>,
) -> Pin<Box<dyn Future<Output = Result<Payload, HarnessError>> + 'async_trait>>where
S: 'async_trait,
fn wait_result<'async_trait>(
self: Box<S>,
) -> Pin<Box<dyn Future<Output = Result<Payload, HarnessError>> + 'async_trait>>where
S: 'async_trait,
Await the single terminal result — see
AgentSession::wait_result. Takes
Box<Self> (not self) so the trait stays object-safe. Read more