Class: RubyLLM::MCP::Extensions::Apps::ToolMetadata

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/mcp/extensions/apps/tool_metadata.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw) ⇒ ToolMetadata

Returns a new instance of ToolMetadata.



10
11
12
13
14
15
16
17
# File 'lib/ruby_llm/mcp/extensions/apps/tool_metadata.rb', line 10

def initialize(raw)
  @raw = raw.is_a?(Hash) ? raw : {}

  ui_meta = @raw[Constants::UI_KEY]
  @resource_uri = ui_meta&.dig(Constants::RESOURCE_URI_KEY) || @raw[Constants::LEGACY_RESOURCE_URI_KEY]

  @visibility = normalize_visibility(ui_meta&.dig(Constants::VISIBILITY_KEY))
end

Instance Attribute Details

#rawObject (readonly)

Returns the value of attribute raw.



8
9
10
# File 'lib/ruby_llm/mcp/extensions/apps/tool_metadata.rb', line 8

def raw
  @raw
end

#resource_uriObject (readonly)

Returns the value of attribute resource_uri.



8
9
10
# File 'lib/ruby_llm/mcp/extensions/apps/tool_metadata.rb', line 8

def resource_uri
  @resource_uri
end

#visibilityObject (readonly)

Returns the value of attribute visibility.



8
9
10
# File 'lib/ruby_llm/mcp/extensions/apps/tool_metadata.rb', line 8

def visibility
  @visibility
end

Instance Method Details

#app_visible?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/ruby_llm/mcp/extensions/apps/tool_metadata.rb', line 23

def app_visible?
  @visibility.include?("app")
end

#model_visible?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/ruby_llm/mcp/extensions/apps/tool_metadata.rb', line 19

def model_visible?
  @visibility.include?("model")
end