Skip to main content

AgentHarness

Struct AgentHarness 

Source
pub struct AgentHarness<'a, A: Agent> { /* private fields */ }
Expand description

An internal adapter turning an Agent into a Harness<World = (), Setup = ()> so the easy run_suite path reuses the exact same panic-isolated runner as the full Harness path.

A deliberate explicit struct rather than a blanket impl<T: Agent> Harness for T: a blanket impl would conflict (coherence) with a host’s own Harness impl (e.g. AetherCore’s AetherHarness), so the adapter keeps the two trait families independent. The world is () (built once per case, inert) and the agent’s run failure is mapped onto Harness::run’s anyhow::Result.

Implementations§

Source§

impl<'a, A: Agent> AgentHarness<'a, A>

Source

pub fn new(agent: &'a A) -> Self

Wrap an agent reference as a Harness.

Trait Implementations§

Source§

impl<'a, A: Debug + Agent> Debug for AgentHarness<'a, A>

Source§

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

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

impl<A: Agent> Harness for AgentHarness<'_, A>

Source§

type World = ()

The mutable world a case runs against (e.g. an executor over a bare game world). Built by setup, mutated by run, then scored by a Scorer whose Scorer::World must match this type.
Source§

type Setup = ()

The host’s per-case setup description (the input that builds a World). Matches EvalCase::setup.
Source§

fn setup(&self, _setup: &())

Build a fresh world for one case from its setup. Called exactly once per case, immediately before run. A panic here fails only this case.
Source§

fn run(&self, instruction: &str, _world: &mut ()) -> Result<RunArtifacts>

Run instruction against world, mutating it, and return what the run produced (tool calls, final text, tokens, transcript). Wall-clock latency is timed by the runner around this call. Read more

Auto Trait Implementations§

§

impl<'a, A> Freeze for AgentHarness<'a, A>

§

impl<'a, A> RefUnwindSafe for AgentHarness<'a, A>
where A: RefUnwindSafe,

§

impl<'a, A> Send for AgentHarness<'a, A>
where A: Sync,

§

impl<'a, A> Sync for AgentHarness<'a, A>
where A: Sync,

§

impl<'a, A> Unpin for AgentHarness<'a, A>

§

impl<'a, A> UnsafeUnpin for AgentHarness<'a, A>

§

impl<'a, A> UnwindSafe for AgentHarness<'a, A>
where A: RefUnwindSafe,

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