pub struct StoreCommandHost { /* private fields */ }Expand description
Store-backed CommandHost shared by all hosts (server full/dev mode via
worker adapters, in-process runtime via its runtime stores). Reuses
inspect_turn_context and the reason-path message-building conventions so
command completions see exactly what a main turn would.
One instance is built per command dispatch; the assembled context is
memoized so turn_context() + completion() assemble once.
Implementations§
Source§impl StoreCommandHost
impl StoreCommandHost
pub fn new( session_id: SessionId, harness_store: Arc<dyn HarnessStore>, agent_store: Arc<dyn AgentStore>, session_store: Arc<dyn SessionStore>, message_retriever: Arc<dyn MessageRetriever>, provider_store: Arc<dyn LlmProviderStore>, capability_registry: CapabilityRegistry, driver_registry: DriverRegistry, ) -> Self
Sourcepub fn with_image_resolver(self, image_resolver: Arc<dyn ImageResolver>) -> Self
pub fn with_image_resolver(self, image_resolver: Arc<dyn ImageResolver>) -> Self
Resolve image_file references in messages to inline image data.
Without a resolver, images degrade to placeholder text.
Sourcepub fn with_file_store(self, file_store: Arc<dyn SessionFileSystem>) -> Self
pub fn with_file_store(self, file_store: Arc<dyn SessionFileSystem>) -> Self
Session filesystem for dynamic system prompt contributions (AGENTS.md, skills discovery).
Sourcepub fn with_assembled_context(self, assembled: AssembledTurnContext) -> Self
pub fn with_assembled_context(self, assembled: AssembledTurnContext) -> Self
Seed the memoized turn context when the host already assembled one (e.g. the in-process runtime assembles it to resolve command dispatch).
Trait Implementations§
Source§impl CommandHost for StoreCommandHost
impl CommandHost for StoreCommandHost
Source§fn turn_context<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<CommandTurnContext>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn turn_context<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<CommandTurnContext>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Assemble the same merged context a main turn would see.
Source§fn completion<'life0, 'async_trait>(
&'life0 self,
request: SessionCompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionCompletion, SessionCompletionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn completion<'life0, 'async_trait>(
&'life0 self,
request: SessionCompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionCompletion, SessionCompletionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Run a tool-less completion against the session’s resolved model (or a
Controls model override). Persists nothing.Source§fn completion_stream<'life0, 'async_trait>(
&'life0 self,
request: SessionCompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionCompletionStream, SessionCompletionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn completion_stream<'life0, 'async_trait>(
&'life0 self,
request: SessionCompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionCompletionStream, SessionCompletionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Streaming variant of
Self::completion for commands that surface
progressive output. Same request semantics, same out-of-band guarantee:
nothing is persisted. Read moreAuto Trait Implementations§
impl !Freeze for StoreCommandHost
impl !RefUnwindSafe for StoreCommandHost
impl !UnwindSafe for StoreCommandHost
impl Send for StoreCommandHost
impl Sync for StoreCommandHost
impl Unpin for StoreCommandHost
impl UnsafeUnpin for StoreCommandHost
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request