Module: RubynCode::Hooks::BuiltIn

Defined in:
lib/rubyn_code/hooks/built_in.rb

Overview

Default hooks shipped with rubyn-code. These provide core functionality such as cost tracking, tool-call logging, and automatic context compaction.

Defined Under Namespace

Classes: AutoCompactHook, CostTrackingHook, LoggingHook

Class Method Summary collapse

Class Method Details

.register_all!(registry, budget_enforcer: nil, formatter: nil, context_manager: nil) ⇒ void

This method returns an undefined value.

Registers all built-in hooks on the given registry.

Parameters:



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/rubyn_code/hooks/built_in.rb', line 110

def register_all!(registry, budget_enforcer: nil, formatter: nil, context_manager: nil)
  if budget_enforcer
    registry.on(:post_llm_call, CostTrackingHook.new(budget_enforcer: budget_enforcer), priority: 10)
  end

  if formatter
    logging_hook = LoggingHook.new(formatter: formatter)
    registry.on(:pre_tool_use,  logging_hook, priority: 50)
    registry.on(:post_tool_use, logging_hook, priority: 50)
  end

  return unless context_manager

  registry.on(:post_llm_call, AutoCompactHook.new(context_manager: context_manager), priority: 90)
end