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>>,
pub session_task_registry: Option<Arc<dyn SessionTaskRegistry>>,
pub schedule_store_factory: Option<ScheduleStoreFactory>,
pub platform_store_factory: Option<PlatformStoreFactory>,
}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.
session_task_registry: Option<Arc<dyn SessionTaskRegistry>>Optional session-task registry injected into the act path so background
tools, subagents, and monitors persist their lifecycle. None (the
default) leaves RuntimeHostAdapter::session_task_registry returning
None, matching prior in-memory behavior.
schedule_store_factory: Option<ScheduleStoreFactory>Optional per-org schedule store factory. None (the default) leaves
RuntimeHostAdapter::schedule_store returning None.
platform_store_factory: Option<PlatformStoreFactory>Optional per-(org, session) platform store factory. None (the
default) leaves RuntimeHostAdapter::platform_store returning None.
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.
Sourcepub fn with_session_task_registry(
self,
registry: Arc<dyn SessionTaskRegistry>,
) -> Self
pub fn with_session_task_registry( self, registry: Arc<dyn SessionTaskRegistry>, ) -> Self
Inject a session-task registry so background tools / subagents / monitors
persist their lifecycle through the act path. Additive: leaving this unset
keeps the prior behavior (the adapter returns None).
Sourcepub fn with_schedule_store_factory(self, factory: ScheduleStoreFactory) -> Self
pub fn with_schedule_store_factory(self, factory: ScheduleStoreFactory) -> Self
Inject a per-org schedule store factory. The closure is invoked with the internal org id each time the act path needs a schedule store.
Sourcepub fn with_platform_store_factory(self, factory: PlatformStoreFactory) -> Self
pub fn with_platform_store_factory(self, factory: PlatformStoreFactory) -> Self
Inject a per-(org, session) platform store factory. The closure is invoked with the internal org id and the calling session id.
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