pub struct LashCoreBuilder { /* private fields */ }Implementations§
Source§impl LashCoreBuilder
impl LashCoreBuilder
pub fn protocol_plugin(self, plugin: Arc<dyn PluginFactory>) -> Self
pub fn provider(self, provider: ProviderHandle) -> Self
pub fn model(self, model: ModelSpec) -> Self
pub fn max_turns(self, max_turns: usize) -> Self
pub fn session_spec(self, spec: SessionSpec) -> Self
Sourcepub fn store_factory(self, store_factory: Arc<dyn SessionStoreFactory>) -> Self
pub fn store_factory(self, store_factory: Arc<dyn SessionStoreFactory>) -> Self
Configure a factory that can create a persistence store for any root session opened from this core.
The factory must honor SessionStoreCreateRequest::session_id and
return a store for that specific session. Do not use this to wrap one
pre-opened root store; pass root-only stores with
LashCore::session(...).store(store) instead.
Sourcepub fn child_store_factory(
self,
store_factory: Arc<dyn SessionStoreFactory>,
) -> Self
pub fn child_store_factory( self, store_factory: Arc<dyn SessionStoreFactory>, ) -> Self
Configure the persistence factory used by managed child sessions, such as local subagents.
Child factories must return a distinct store bound to the requested
child session id. Hosts that pass an explicit root store with
SessionBuilder::store should set this when child sessions need
persistence.
pub fn attachment_store( self, attachment_store: Arc<dyn AttachmentStore>, ) -> Self
pub fn process_env_store( self, process_env_store: Arc<dyn ProcessExecutionEnvStore>, ) -> Self
Sourcepub fn effect_host(self, effect_host: Arc<dyn EffectHost>) -> Self
pub fn effect_host(self, effect_host: Arc<dyn EffectHost>) -> Self
Set the deployment effect host — the durability boundary every operation
crosses. Pass InlineEffectHost
for in-process execution, or a workflow-backed host for durable
execution.
pub fn tools(self, tools: Arc<dyn ToolProvider>) -> Self
pub fn plugin(self, plugin: Arc<dyn PluginFactory>) -> Self
pub fn plugins(self, stack: PluginStack) -> Self
pub fn configure_plugins(self, configure: impl FnOnce(&mut PluginStack)) -> Self
pub fn trace_sink(self, trace_sink: Arc<dyn TraceSink>) -> Self
pub fn trace_jsonl_path(self, path: impl Into<PathBuf>) -> Self
pub fn trace_level(self, trace_level: TraceLevel) -> Self
pub fn trace_context(self, trace_context: TraceContext) -> Self
pub fn termination(self, termination: TerminationPolicy) -> Self
pub fn residency(self, residency: Residency) -> Self
Sourcepub fn live_replay_store(
self,
live_replay_store: Arc<dyn LiveReplayStore>,
) -> Self
pub fn live_replay_store( self, live_replay_store: Arc<dyn LiveReplayStore>, ) -> Self
Configure the bounded live replay buffer used by session observation
cursors. This is best-effort reconnect recovery only; durable state
still comes from the session store and SessionReadView.
pub fn build(self) -> Result<LashCore>
pub fn advanced(self) -> AdvancedLashCoreBuilder
pub fn process_registry( self, process_registry: Arc<dyn ProcessRegistry>, ) -> Self
pub fn trigger_store(self, store: Arc<dyn TriggerStore>) -> Self
Sourcepub fn process_work_driver(self, driver: ProcessWorkDriver) -> Self
pub fn process_work_driver(self, driver: ProcessWorkDriver) -> Self
Configure an externally owned process work runner.
Durable hosts construct a ProcessWorkDriver from the same process
registry and wake handle used by their deployment runner, then pass it
here. The driver registry becomes the core’s process registry and no
inline runner is spawned.
Sourcepub fn queued_work_poke(self, poke: QueuedWorkPoke) -> Self
pub fn queued_work_poke(self, poke: QueuedWorkPoke) -> Self
Wire the wake handle of an externally owned queued-work runner. The runtime pokes it whenever new queued work lands for a session.