Skip to main content

Agent

Struct Agent 

Source
pub struct Agent { /* private fields */ }
Expand description

The unified agent. Holds the model client, memo store, sandbox, and a shared handle to the currently-served ActiveHarness (which may be hot-swapped by a self-improvement loop).

Implementations§

Source§

impl Agent

Source

pub fn with_harness( config: AgentConfig, model: Box<dyn ModelClient>, memo: Arc<dyn MemoStore>, harness: Arc<ActiveHarness>, ) -> Result<Self, CoreError>

Build with an explicit model client (e.g. StubModel or [OpenAiModel]) and a shared, hot-swappable harness handle.

Source

pub fn with_model( config: AgentConfig, model: Box<dyn ModelClient>, memo: Arc<dyn MemoStore>, ) -> Result<Self, CoreError>

Build with an explicit model client (e.g. StubModel or [OpenAiModel]). A baseline harness is generated from the config’s agent name.

Source

pub fn new( config: AgentConfig, memo: Arc<dyn MemoStore>, ) -> Result<Self, CoreError>

Build using the default model (stub unless openai feature is on).

Source

pub fn session(&self) -> &str

Source

pub fn harness(&self) -> Arc<ActiveHarness>

Shared harness handle — hot-swappable by a self-improvement loop.

Source

pub fn memo(&self) -> Arc<dyn MemoStore>

Shared memo store (used by the SDK to expose Session).

Source

pub async fn run(&self, input: &str) -> Result<String, CoreError>

Run one turn. Injects memo context, calls the model, persists both turns.

Source

pub async fn exec_tool(&self, command: &[String]) -> Result<String, CoreError>

Run a shell command inside the sandbox and remember the result.

Source

pub async fn run_stream( &self, input: &str, ) -> Result<BoxStream<'static, Result<String, CoreError>>, CoreError>

Stream one turn token-by-token. Mirrors Agent::run for the memo contract (recall before / persist both turns after) but emits model tokens as they arrive. The returned stream is 'static and owns its memo handle and model client, so the Agent may be dropped.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Agent

§

impl !UnwindSafe for Agent

§

impl Freeze for Agent

§

impl Send for Agent

§

impl Sync for Agent

§

impl Unpin for Agent

§

impl UnsafeUnpin for Agent

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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