before_agent_start | prompt, images, systemPrompt, resources | { messages?, systemPrompt? }; may call model/tool selectors |
tool_call | toolCallId, toolName, input | { block: true, reason? }; input may be mutated in place |
tool_result | toolCallId, toolName, input, content, details, isError | { content?, details?, isError?, terminate? } |
context | messages | { messages } |
before_provider_request | model, sessionId, streamOptions | { streamOptions } patch |
before_provider_payload | model, payload | { payload } |
after_provider_response | status, headers | Observation only |
session_before_compact | preparation, branchEntries, customInstructions, signal | { cancel?, compaction? } |
session_compact | compactionEntry, fromHook | Observation only |
model_update | model, previousModel, source | Observation only |
thinking_level_update | level, previousLevel | Observation only |