pub struct RuntimeBackends {
pub harness_store: Arc<dyn RuntimeHarnessStore>,
pub agent_store: Arc<dyn RuntimeAgentStore>,
pub session_store: Arc<dyn RuntimeSessionStore>,
pub message_store: Arc<dyn RuntimeMessageStore>,
pub provider_store: Arc<dyn RuntimeProviderStore>,
pub event_bus: Arc<dyn EventBus>,
pub storage_store: Arc<dyn SessionStorageStore>,
pub connection_resolver: Option<Arc<dyn UserConnectionResolver>>,
}Expand description
Non-filesystem backend bundle supplied to the embedded runtime.
Use this when you want the public runtime orchestration but your own store
implementations instead of the built-in in-memory ones. Session filesystem
selection is always resolved from PlatformDefinition.
Fields§
§harness_store: Arc<dyn RuntimeHarnessStore>Harness definitions available to the runtime.
agent_store: Arc<dyn RuntimeAgentStore>Agent definitions available to the runtime.
session_store: Arc<dyn RuntimeSessionStore>Session records and mutable session metadata.
message_store: Arc<dyn RuntimeMessageStore>Conversation message persistence and retrieval.
provider_store: Arc<dyn RuntimeProviderStore>Model/provider resolution and default-model configuration.
event_bus: Arc<dyn EventBus>Event sink (emit + optional collection).
storage_store: Arc<dyn SessionStorageStore>Session key/value + secret storage backend.
connection_resolver: Option<Arc<dyn UserConnectionResolver>>Optional resolver for user connection tokens (e.g. GitHub, Daytona).
When set, the runtime exposes it through ToolContext.connection_resolver
so connection-aware capabilities can resolve tokens lazily at tool time.
None (the default) leaves the resolver unset, matching prior behavior.
There is no in-memory default because a connection resolver implies a
real credential source the embedder must supply.
Implementations§
Source§impl RuntimeBackends
impl RuntimeBackends
Sourcepub fn in_memory() -> Self
pub fn in_memory() -> Self
Backend bundle with in-memory implementations for every store.
Suitable for tests, examples, and the default runtime configuration.
Use the chainable with_* setters to override individual stores.
pub fn with_harness_store(self, store: Arc<dyn RuntimeHarnessStore>) -> Self
pub fn with_agent_store(self, store: Arc<dyn RuntimeAgentStore>) -> Self
pub fn with_session_store(self, store: Arc<dyn RuntimeSessionStore>) -> Self
pub fn with_message_store(self, store: Arc<dyn RuntimeMessageStore>) -> Self
pub fn with_provider_store(self, store: Arc<dyn RuntimeProviderStore>) -> Self
pub fn with_event_bus(self, bus: Arc<dyn EventBus>) -> Self
pub fn with_storage_store(self, store: Arc<dyn SessionStorageStore>) -> Self
Sourcepub fn with_connection_resolver(
self,
resolver: Arc<dyn UserConnectionResolver>,
) -> Self
pub fn with_connection_resolver( self, resolver: Arc<dyn UserConnectionResolver>, ) -> Self
Supply a resolver for user connection tokens (e.g. GitHub, Daytona).
The runtime forwards it into ToolContext so connection-aware
capabilities resolve tokens lazily at tool execution time.
Trait Implementations§
Source§impl Clone for RuntimeBackends
impl Clone for RuntimeBackends
Source§fn clone(&self) -> RuntimeBackends
fn clone(&self) -> RuntimeBackends
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for RuntimeBackends
impl !UnwindSafe for RuntimeBackends
impl Freeze for RuntimeBackends
impl Send for RuntimeBackends
impl Sync for RuntimeBackends
impl Unpin for RuntimeBackends
impl UnsafeUnpin for RuntimeBackends
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
T in a tonic::Request