Class: Brute::MessageTransport::RubyLLM

Inherits:
MessageTransport
  • Object
show all
Defined in:
lib/brute/message_transport/ruby_llm.rb

Class Method Summary collapse

Class Method Details

.dump(message) ⇒ Object

Brute::Message -> RubyLLM::Message (tool calls as ruby_llm's id-keyed hash).



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/brute/message_transport/ruby_llm.rb', line 12

def self.dump(message)
  tool_calls = message.tool_calls&.to_h do |tc|
    [tc.id, ::RubyLLM::ToolCall.new(id: tc.id, name: tc.name, arguments: tc.arguments)]
  end

  ::RubyLLM::Message.new(
    role:         message.role,
    content:      message.content,
    tool_calls:   tool_calls,
    tool_call_id: message.tool_call_id
  )
end