pub struct HookRegistry { /* private fields */ }Implementations§
Source§impl HookRegistry
impl HookRegistry
pub fn new() -> Self
pub fn add( &self, hook: impl Fn(&HookEvent) -> HookDecision + Send + Sync + 'static, )
Sourcepub fn run_notify(&self, event: &HookEvent)
pub fn run_notify(&self, event: &HookEvent)
Fire all hooks; ignore decisions (notify-only events).
Sourcepub fn run(&self, event: &HookEvent) -> HookDecision
pub fn run(&self, event: &HookEvent) -> HookDecision
Aggregate hook decisions. For BeforeTool: first Deny wins; ModifyArgs chain.
Sourcepub fn run_before_tool(&self, tool: &ToolCall) -> Result<ToolCall, String>
pub fn run_before_tool(&self, tool: &ToolCall) -> Result<ToolCall, String>
Gate a tool call: apply chained ModifyArgs; Err on Deny.
pub fn count(&self) -> usize
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for HookRegistry
impl !RefUnwindSafe for HookRegistry
impl !UnwindSafe for HookRegistry
impl Send for HookRegistry
impl Sync for HookRegistry
impl Unpin for HookRegistry
impl UnsafeUnpin 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
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