Skip to main content

LoopEvent

Enum LoopEvent 

Source
pub enum LoopEvent<'a, A> {
    StepStart(usize),
    Decision {
        situation: &'a str,
        task: &'a [String],
    },
    Completed,
    ActionStart(&'a A),
    ActionDone(&'a ActionResult),
    LoopWarning(usize),
    LoopAbort(usize),
    Trimmed(usize),
    MaxStepsReached(usize),
    StreamToken(&'a str),
}
Expand description

Events emitted by the agent loop (print, TUI, log).

Variants§

§

StepStart(usize)

Step started (step number, 1-based).

§

Decision

LLM returned a decision.

Fields

§situation: &'a str
§task: &'a [String]
§

Completed

Task completed by LLM (task_completed=true).

§

ActionStart(&'a A)

About to execute an action.

§

ActionDone(&'a ActionResult)

Action executed, result available.

§

LoopWarning(usize)

Loop warning (repeated actions).

§

LoopAbort(usize)

Loop abort (too many repeats).

§

Trimmed(usize)

Context trimmed.

§

MaxStepsReached(usize)

Max steps reached.

§

StreamToken(&'a str)

Streaming token from LLM (only emitted by run_loop_stream).

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a, A> UnwindSafe for LoopEvent<'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, 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.