pub enum HookEvent {
PreToolUse,
PostToolUse,
PostToolFailure,
UserPromptSubmit,
SessionStart,
SessionEnd,
Stop,
SubAgentStart,
PreCompact,
PostCompact,
}Expand description
可拦截的 Agent 生命周期节点。
与 AgentEvent(28 种只读观察事件)互补,HookEvent 只覆盖
需要干预能力的节点 — 拦截、修改输入/输出、权限决策。
§Examples
use katu_core::hook::HookEvent;
let event = HookEvent::PreToolUse;
assert!(event.is_tool_event());
assert!(!HookEvent::SessionStart.is_tool_event());Variants§
PreToolUse
工具执行前 — 可以 allow/deny/ask、修改 input。
PostToolUse
工具执行成功后 — 可以注入上下文、修改输出。
PostToolFailure
工具执行失败后 — 可以注入诊断上下文。
UserPromptSubmit
用户提交 prompt 前 — 可以注入上下文或拦截。
SessionStart
Session 开始。
SessionEnd
Session 结束。
Stop
Agent loop 单步结束判定 — 可以阻止停止、要求继续。
SubAgentStart
SubAgent 启动前。
PreCompact
上下文压缩前。
PostCompact
上下文压缩后。
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for HookEvent
impl<'de> Deserialize<'de> for HookEvent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for HookEvent
impl Eq for HookEvent
impl StructuralPartialEq for HookEvent
Auto Trait Implementations§
impl Freeze for HookEvent
impl RefUnwindSafe for HookEvent
impl Send for HookEvent
impl Sync for HookEvent
impl Unpin for HookEvent
impl UnsafeUnpin for HookEvent
impl UnwindSafe for HookEvent
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