pub struct BaseHook {
pub agent_type: String,
pub installed: bool,
pub callbacks: Vec<SessionEndCallback>,
pub session_start_callbacks: Vec<SessionEndCallback>,
pub checkpoint_callbacks: Vec<SessionEndCallback>,
pub error_callbacks: Vec<SessionEndCallback>,
pub activity_monitor: Mutex<ActivityMonitor>,
pub rescorer: RwLock<Option<Arc<SessionRescorer>>>,
/* private fields */
}Expand description
Base hook implementation with common functionality
Fields§
§agent_type: String§installed: bool§callbacks: Vec<SessionEndCallback>§session_start_callbacks: Vec<SessionEndCallback>§checkpoint_callbacks: Vec<SessionEndCallback>§error_callbacks: Vec<SessionEndCallback>§activity_monitor: Mutex<ActivityMonitor>§rescorer: RwLock<Option<Arc<SessionRescorer>>>Implementations§
Source§impl BaseHook
impl BaseHook
pub fn new(agent_type: impl Into<String>) -> Self
pub fn record_activity(&self)
pub fn record_activity_with_content(&self, content: &str)
pub fn add_callback(&mut self, callback: SessionEndCallback)
pub fn add_session_start_callback(&mut self, callback: SessionEndCallback)
pub fn add_checkpoint_callback(&mut self, callback: SessionEndCallback)
pub fn add_error_callback(&mut self, callback: SessionEndCallback)
pub fn trigger_session_start_callbacks(&self, context: SessionContext)
pub fn trigger_checkpoint_callbacks(&self, context: SessionContext)
pub fn trigger_error_callbacks(&self, context: SessionContext)
pub fn trigger_callbacks(&self, context: SessionContext)
Auto Trait Implementations§
impl !Freeze for BaseHook
impl !RefUnwindSafe for BaseHook
impl Send for BaseHook
impl Sync for BaseHook
impl Unpin for BaseHook
impl UnsafeUnpin for BaseHook
impl !UnwindSafe for BaseHook
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> 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 more