Class: Assistant::BrainToolBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/assistant/brain_tool_builder.rb

Overview

Builds RubyLLM::Tool subclasses for the Sunny brain knowledge base.
Provides search_brain (read) and propose_brain_entry (write) tools.

Usage (via ChatToolBuilder):
tools = Assistant::BrainToolBuilder.management_tools(audit_context: ctx)
tool = Assistant::BrainToolBuilder.search_tool(audit_context)

Constant Summary collapse

PROPOSAL_CAP_PER_CONVERSATION =

A conversation that wants to file more than this many auto-learned skills is
almost certainly logging task state, not durable rules — propose_brain_entry
refuses past it, forcing Sunny to keep the most important lesson and drop the rest.

2

Class Method Summary collapse

Class Method Details

.management_tools(audit_context: {}) ⇒ Object



22
23
24
# File 'app/services/assistant/brain_tool_builder.rb', line 22

def management_tools(audit_context: {})
  [build_propose_brain_entry_tool(audit_context)]
end

.search_tool(audit_context) ⇒ Object



18
19
20
# File 'app/services/assistant/brain_tool_builder.rb', line 18

def search_tool(audit_context)
  build_search_brain_tool(audit_context)
end