Class: Igniter::Extensions::Contracts::Mcp::ToolDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/igniter/extensions/contracts/mcp/tool_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, summary:, mutating: false, target: nil, arguments: []) ⇒ ToolDefinition

Returns a new instance of ToolDefinition.



10
11
12
13
14
15
16
17
# File 'lib/igniter/extensions/contracts/mcp/tool_definition.rb', line 10

def initialize(name:, summary:, mutating: false, target: nil, arguments: [])
  @name = name.to_sym
  @summary = summary
  @mutating = mutating == true
  @target = target&.to_sym
  @arguments = arguments.freeze
  freeze
end

Instance Attribute Details

#argumentsObject (readonly)

Returns the value of attribute arguments.



8
9
10
# File 'lib/igniter/extensions/contracts/mcp/tool_definition.rb', line 8

def arguments
  @arguments
end

#mutatingObject (readonly)

Returns the value of attribute mutating.



8
9
10
# File 'lib/igniter/extensions/contracts/mcp/tool_definition.rb', line 8

def mutating
  @mutating
end

#nameObject (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/igniter/extensions/contracts/mcp/tool_definition.rb', line 8

def name
  @name
end

#summaryObject (readonly)

Returns the value of attribute summary.



8
9
10
# File 'lib/igniter/extensions/contracts/mcp/tool_definition.rb', line 8

def summary
  @summary
end

#targetObject (readonly)

Returns the value of attribute target.



8
9
10
# File 'lib/igniter/extensions/contracts/mcp/tool_definition.rb', line 8

def target
  @target
end

Instance Method Details

#to_hObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/igniter/extensions/contracts/mcp/tool_definition.rb', line 19

def to_h
  payload = {
    name: name,
    summary: summary,
    mutating: mutating,
    arguments: arguments.map(&:to_h)
  }
  payload[:target] = target if target
  payload
end