pub struct HookRegistry { /* private fields */ }Expand description
A registry of hooks that dispatches events to all registered hooks in order.
Hooks are stored as Arc<dyn Hook> and dispatched sequentially. If any
hook returns HookAction::Skip or HookAction::Error from a PreToolCall
event, the first non-Continue action is returned and remaining hooks
are not called for that event.
Implementations§
Source§impl HookRegistry
impl HookRegistry
Sourcepub fn register(&mut self, hook: Arc<dyn Hook>)
pub fn register(&mut self, hook: Arc<dyn Hook>)
Register a hook. Hooks fire in registration order.
Sourcepub fn dispatch(&self, event: HookEvent<'_>) -> HookAction
pub fn dispatch(&self, event: HookEvent<'_>) -> HookAction
Dispatch an event to all registered hooks.
Returns the first non-Continue action, or Continue if all hooks
agree. For non-PreToolCall events, Skip and Error are converted
to Continue.
Trait Implementations§
Source§impl Default for HookRegistry
impl Default for HookRegistry
Source§fn default() -> HookRegistry
fn default() -> HookRegistry
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for HookRegistry
impl !RefUnwindSafe for HookRegistry
impl Send for HookRegistry
impl Sync for HookRegistry
impl Unpin for HookRegistry
impl UnsafeUnpin for HookRegistry
impl !UnwindSafe for HookRegistry
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