Module: Brute::Hooks

Overview

Pub/sub registry for agent lifecycle hooks, subscribed on the builder:

Brute.agent
.use(Brute::Middleware::MaxIterations)
.run(->(env) { env[:messages].assistant("done") })
.on(:llm_start) { |env| ... }
.on(:tool_approve) { |_env, call| call[:name] != "exec" }

Defined Under Namespace

Classes: Registry, Trace

Constant Summary collapse

TURN_START_EVENT =
:turn_start
TURN_DURATION_EVENT =
:turn_duration
TURN_END_EVENT =
:turn_end
TURN_FAILURE_EVENT =
:turn_failure
MIDDLEWARE_ADDED_EVENT =
:middleware_added
MIDDLEWARE_START_EVENT =
:middleware_start
MIDDLEWARE_DURATION_EVENT =
:middleware_duration
MIDDLEWARE_END_EVENT =
:middleware_end
MIDDLEWARE_FAILURE_EVENT =
:middleware_failure
LLM_START_EVENT =
:llm_start
LLM_DURATION_EVENT =
:llm_duration
LLM_END_EVENT =
:llm_end
LLM_FAILURE_EVENT =
:llm_failure
FARADAY_ERROR_EVENT =
:faraday_error
OPEN_ROUTER_SERVER_ERROR_EVENT =
:open_router_server_error
STANDARD_ERROR_EVENT =
:standard_error
COMPACT_START_EVENT =
:compact_start
COMPACT_DURATION_EVENT =
:compact_duration
COMPACT_END_EVENT =
:compact_end
COMPACT_FAILURE_EVENT =
:compact_failure
CONTENT_EVENT =
:content
REASONING_EVENT =
:reasoning
TOOL_CALLS_EVENT =
:tool_calls
TOOL_START_EVENT =
:tool_start
TOOL_APPROVE_EVENT =
:tool_approve
TOOL_DURATION_EVENT =
:tool_duration
TOOL_END_EVENT =
:tool_end
TOOL_FAILURE_EVENT =
:tool_failure