Skip to main content

LocalConnection

Struct LocalConnection 

Source
pub struct LocalConnection { /* private fields */ }
Expand description

Connection strategy implementation communicating with a local subprocess harness.

LocalConnection handles launching and lifecycle tracking of the localharness binary, reading standard error output, upgrading communication to standard WebSockets, and managing subagent and tool invocation state.

Trait Implementations§

Source§

impl Connection for LocalConnection

Source§

fn conversation_id(&self) -> &str

Returns the conversation ID for the connection.
Source§

fn is_idle(&self) -> bool

Returns whether the connection is currently idle.
Source§

fn receive_steps(&self) -> BoxStream<'static, Result<Step, Error>>

Subscribes to the stream of step updates from the connection.
Source§

async fn send(&self, content: &str) -> Result<(), Error>

Sends a standard user text prompt to the connection.
Source§

async fn send_trigger_notification(&self, content: &str) -> Result<(), Error>

Sends a trigger notification message to the connection.
Source§

async fn send_halt_request(&self) -> Result<(), Error>

Sends a halt/cancellation request to the connection.
Source§

async fn send_tool_confirmation( &self, trajectory_id: &str, step_index: u32, accepted: bool, ) -> Result<(), Error>

Sends approval/rejection for a tool execution confirmation request.
Source§

async fn send_tool_response( &self, id: &str, result: ToolResult, ) -> Result<(), Error>

Sends the result of a tool execution back to the connection.
Source§

async fn send_question_response( &self, trajectory_id: &str, step_index: u32, answers: QuestionHookResult, ) -> Result<(), Error>

Sends the answers to user questions back to the connection.
Source§

async fn disconnect(&self) -> Result<(), Error>

Gracefully closes the connection.
Source§

impl Debug for LocalConnection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,