Skip to main content

AgentRuntimeBuilder

Struct AgentRuntimeBuilder 

Source
pub struct AgentRuntimeBuilder<S = NeedsConfig> { /* private fields */ }
Expand description

Builder for AgentRuntime.

Uses a typestate parameter S to enforce that with_agent_config is called before build(). Calling build() on a AgentRuntimeBuilder<NeedsConfig> is a compile-time error.

Typical usage:

let runtime = AgentRuntime::builder()      // AgentRuntimeBuilder<NeedsConfig>
    .with_memory(store)
    .with_agent_config(cfg)                // → AgentRuntimeBuilder<HasConfig>
    .build();                              // → AgentRuntime (infallible)

Builder for AgentRuntime.

Implementations§

Source§

impl<S> AgentRuntimeBuilder<S>

Source

pub fn with_memory(self, store: EpisodicStore) -> Self

Attach an episodic memory store.

Source

pub fn with_working_memory(self, wm: WorkingMemory) -> Self

Attach a working memory store.

Source

pub fn with_graph(self, graph: GraphStore) -> Self

Attach a graph store.

Source

pub fn with_backpressure(self, guard: BackpressureGuard) -> Self

Attach a backpressure guard.

Source

pub fn register_tool(self, spec: ToolSpec) -> Self

Register a tool available to the agent loop.

Source

pub fn register_tools(self, specs: impl IntoIterator<Item = ToolSpec>) -> Self

Register multiple tools at once.

Equivalent to calling register_tool for each spec.

Source

pub fn with_metrics(self, metrics: Arc<RuntimeMetrics>) -> Self

Attach a shared RuntimeMetrics instance.

Source

pub fn with_token_estimator(self, estimator: Arc<dyn TokenEstimator>) -> Self

Provide a custom TokenEstimator for memory budget calculations.

Replaces the default len / 4 byte-counting heuristic. Use this to plug in a model-specific tokenizer (e.g. tiktoken, sentencepiece) so that AgentConfig::max_memory_tokens is respected accurately.

Source§

impl AgentRuntimeBuilder<NeedsConfig>

Source

pub fn new() -> Self

Create a new builder (equivalent to Default::default()).

Source

pub fn with_agent_config( self, config: AgentConfig, ) -> AgentRuntimeBuilder<HasConfig>

Set the agent loop configuration.

After this call the builder transitions to AgentRuntimeBuilder<HasConfig>, making build() available.

Source§

impl AgentRuntimeBuilder<HasConfig>

Source

pub fn build(self) -> AgentRuntime

Build the AgentRuntime.

This is infallible: the typestate guarantees agent_config is present.

Trait Implementations§

Source§

impl<S: DebugBuilderState> Debug for AgentRuntimeBuilder<S>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AgentRuntimeBuilder<NeedsConfig>

Source§

fn default() -> Self

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

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, 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