pub struct TurnEngine { /* private fields */ }Expand description
Shared turn engine that handles memory, tools, and events consistently.
Implementations§
Source§impl TurnEngine
impl TurnEngine
pub fn new(config: TurnEngineConfig) -> Self
pub fn turn_state(&self, context: &Context) -> TurnState
pub async fn run_turn<H: AgentHooks>( &self, hooks: &H, task: &Task, context: &Context, turn_state: &mut TurnState, turn_index: usize, max_turns: usize, ) -> Result<TurnResult<TurnEngineOutput>, TurnEngineError>
pub async fn run_turn_stream<H>( &self, hooks: H, task: &Task, context: Arc<Context>, turn_state: &mut TurnState, turn_index: usize, max_turns: usize, ) -> Result<Pin<Box<dyn Stream<Item = Result<TurnDelta, TurnEngineError>> + Send>>, TurnEngineError>
Trait Implementations§
Source§impl Clone for TurnEngine
impl Clone for TurnEngine
Source§fn clone(&self) -> TurnEngine
fn clone(&self) -> TurnEngine
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TurnEngine
impl RefUnwindSafe for TurnEngine
impl Send for TurnEngine
impl Sync for TurnEngine
impl Unpin for TurnEngine
impl UnsafeUnpin for TurnEngine
impl UnwindSafe for TurnEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage