Module: DebugAgent::ToolDefinitionExt

Included in:
ToolDefinition
Defined in:
lib/debug_agent/tool_registry.rb

Instance Method Summary collapse

Instance Method Details

#to_schemaObject



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/debug_agent/tool_registry.rb', line 47

def to_schema
  properties = {}
  required = []

  (params || {}).each do |pname, pmeta|
    properties[pname.to_s] = {
      'type' => pmeta[:type] || 'string',
      'description' => pmeta[:description] || ''
    }
    required << pname.to_s if pmeta[:required] != false
  end

  {
    'type' => 'function',
    'function' => {
      'name' => name,
      'description' => description,
      'parameters' => {
        'type' => 'object',
        'properties' => properties,
        'required' => required
      }
    }
  }
end