Skip to main content

LashCoreBuilder

Struct LashCoreBuilder 

Source
pub struct LashCoreBuilder { /* private fields */ }

Implementations§

Source§

impl LashCoreBuilder

Source

pub fn protocol_plugin(self, plugin: Arc<dyn PluginFactory>) -> Self

Source

pub fn provider(self, provider: ProviderHandle) -> Self

Source

pub fn model(self, model: ModelSpec) -> Self

Source

pub fn max_turns(self, max_turns: usize) -> Self

Source

pub fn session_spec(self, spec: SessionSpec) -> Self

Source

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.

Source

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.

Source

pub fn attachment_store( self, attachment_store: Arc<dyn AttachmentStore>, ) -> Self

Source

pub fn process_env_store( self, process_env_store: Arc<dyn ProcessExecutionEnvStore>, ) -> Self

Source

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.

Source

pub fn tools(self, tools: Arc<dyn ToolProvider>) -> Self

Source

pub fn plugin(self, plugin: Arc<dyn PluginFactory>) -> Self

Source

pub fn plugins(self, stack: PluginStack) -> Self

Source

pub fn configure_plugins(self, configure: impl FnOnce(&mut PluginStack)) -> Self

Source

pub fn trace_sink(self, trace_sink: Arc<dyn TraceSink>) -> Self

Source

pub fn trace_jsonl_path(self, path: impl Into<PathBuf>) -> Self

Source

pub fn trace_level(self, trace_level: TraceLevel) -> Self

Source

pub fn trace_context(self, trace_context: TraceContext) -> Self

Source

pub fn termination(self, termination: TerminationPolicy) -> Self

Source

pub fn residency(self, residency: Residency) -> Self

Source

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.

Source

pub fn build(self) -> Result<LashCore>

Source

pub fn advanced(self) -> AdvancedLashCoreBuilder

Source

pub fn process_registry( self, process_registry: Arc<dyn ProcessRegistry>, ) -> Self

Source

pub fn trigger_store(self, store: Arc<dyn TriggerStore>) -> Self

Source

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.

Source

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.

Trait Implementations§

Source§

impl Default for LashCoreBuilder

Source§

fn default() -> LashCoreBuilder

Returns the “default value” for a type. Read more
Source§

impl PromptLayerSink for LashCoreBuilder

Source§

fn prompt_layer_mut(&mut self) -> &mut PromptLayer

Mutable access to the builder’s prompt layer, created on first use.
Source§

fn prompt_template(self, template: PromptTemplate) -> Self

Set the base prompt template.
Source§

fn prompt_contribution(self, contribution: PromptContribution) -> Self

Add a single prompt contribution to its slot.
Source§

fn replace_prompt_slot( self, slot: PromptSlot, contributions: impl IntoIterator<Item = PromptContribution>, ) -> Self

Replace all contributions in a slot.
Source§

fn clear_prompt_slot(self, slot: PromptSlot) -> Self

Clear all contributions from a slot.
Source§

fn prompt_layer(self, layer: PromptLayer) -> Self

Replace the whole prompt layer.

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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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<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