User-facing presentation for Hooks v2 execution.
HookPresenter is the single place that turns hook results into something a
person sees. It is owned by HooksManager, handed to every runtime that
manager loads, and kept alive across reloads so its output sinks can be
rebound once a UI exists without any other object holding its own copy.
Structured diagnostic produced while processing a hook.
Supported hook lifecycle events.
Normalized permission result from hook processing.
Callable that surfaces a user-visible hook notice.
Callable that updates hook-owned transient status text.
Lifecycle update for one running hook handler.
Present hook output consistently across interactive and headless clients.