Skip to main content

EvolutionHookHandler

Struct EvolutionHookHandler 

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

Hook handler implementing the I008 self-evolution loop. Registered per-Agent in the HookRegistry alongside LoggingHandler.

The same Arc<EvolutionHookHandler> instance is reused across all turns for the Agent’s lifetime; accumulation is stateful via interior mutability (Mutex<TurnObserver> + Mutex<KnowledgeStore>).

Implementations§

Source§

impl EvolutionHookHandler

Source

pub fn new( store: KnowledgeStore, config: EvolutionConfig, session_id: Option<String>, ) -> Self

Build a handler backed by the given store, config, and session ID.

Source

pub fn open_default( config: EvolutionConfig, session_id: Option<String>, ) -> EvolutionResult<Option<Self>>

Open the default knowledge store at ~/.talos/index.db, creating the .talos directory if it does not exist.

Returns Ok(None) when the home directory cannot be resolved, allowing the caller to continue without evolution rather than aborting the run.

Trait Implementations§

Source§

impl HookHandler for EvolutionHookHandler

Source§

fn name(&self) -> &str

Stable handler name used in logs and tests.
Source§

fn subscribed(&self) -> &'static [HookEventKind]

Events this handler subscribes to.
Source§

fn timeout(&self) -> Duration

Maximum time the framework will wait for on_event.
Source§

fn on_event<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, _ctx: &'life1 HookContext, event: &'life2 mut HookEvent<'life3>, ) -> Pin<Box<dyn Future<Output = HookResult> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Handles a runtime event.

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> Same for T

Source§

type Output = T

Should always be Self
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