Module: Brute::Hooks
- Included in:
- Completion::LLMrb, Completion::LangChain, Completion::OpenRouter, Completion::RubyLLM, Middleware::Base, Turn::Pipeline::Chainable
- Defined in:
- lib/brute/hooks.rb
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
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