Class: Rasti::AI::ToolSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/rasti/ai/tool_serializer.rb

Class Method Summary collapse

Class Method Details

.serialize(tool_class) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/rasti/ai/tool_serializer.rb', line 6

def serialize(tool_class)
  serialization = {
    name: serialize_name(tool_class)
  }

  serialization[:description] = normalize_description(tool_class.description) if tool_class.respond_to? :description

  serialization[:inputSchema] = serialize_form(tool_class.form) if tool_class.respond_to? :form

  serialization
  
rescue => ex
  raise Errors::ToolSerializationError.new(tool_class), cause: ex
end