pub struct CLIHook { /* private fields */ }Expand description
Generic CLI hook using atexit and signal handling
Used for agents that don’t have native hook support:
- OpenCode
- Codex
- Amp
- Droid
- Hermes
- Other generic agents
Implementations§
Trait Implementations§
Source§impl AgentHook for CLIHook
impl AgentHook for CLIHook
fn agent_type(&self) -> &str
fn install_session_end_hook<'life0, 'async_trait>(
&'life0 mut self,
callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn detect_session_activity<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionActivity>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn extract_session_context<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionContext>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn is_hook_installed(&self) -> bool
fn reliability_score(&self) -> f32
fn lifecycle_capabilities(&self) -> LifecycleCapabilities
fn support_tier(&self) -> SupportTier
fn install_session_start_hook<'life0, 'async_trait>(
&'life0 mut self,
_callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn install_compact_hook<'life0, 'async_trait>(
&'life0 mut self,
_callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn install_checkpoint_hook<'life0, 'async_trait>(
&'life0 mut self,
_callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn install_error_hook<'life0, 'async_trait>(
&'life0 mut self,
_callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn uninstall_hooks<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn record_activity(&self)
Auto Trait Implementations§
impl !Freeze for CLIHook
impl !RefUnwindSafe for CLIHook
impl Send for CLIHook
impl Sync for CLIHook
impl Unpin for CLIHook
impl UnsafeUnpin for CLIHook
impl !UnwindSafe for CLIHook
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