Skip to main content

hooks.registry

Hook registration from agentspec config and built-in handlers.

register_handler

def register_handler(name: str, handler: HookHandler) -> None

Register a named handler in the global registry.

Named handlers can be referenced in agentspec YAML::

hooks:
- event: pre_tool_use
handler: security_check # ← references this name

get_handler

def get_handler(name: str) -> HookHandler | None

Look up a named handler.

build_hooks_middleware

def build_hooks_middleware(
spec_hooks: list[dict[str, Any]] | None) -> HooksMiddleware

Build a HooksMiddleware from agentspec hooks config.

Example spec_hooks::

[
{
"event": "pre_tool_use",
"matcher": "execute|write_file",
"handler": "security_check",
"timeout": 30,
},
{
"event": "post_tool_use",
"matcher": ".*",
"handler": "audit_log",
"background": true,
},
]