Class: RailsAiBridge::Tools::GetStimulus
- Defined in:
- lib/rails_ai_bridge/tools/get_stimulus.rb
Overview
Exposes Stimulus controller metadata through MCP so assistants can inspect Hotwire wiring without reading every JavaScript controller file.
Class Method Summary collapse
-
.call(controller: nil, detail: 'standard', _server_context: nil) ⇒ MCP::Tool::Response
Returns summarized or controller-specific Stimulus metadata.
Methods inherited from BaseTool
cached_context, cached_section, config, rails_app, reset_cache!, text_response
Class Method Details
.call(controller: nil, detail: 'standard', _server_context: nil) ⇒ MCP::Tool::Response
Returns summarized or controller-specific Stimulus metadata.
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/rails_ai_bridge/tools/get_stimulus.rb', line 35 def self.call(controller: nil, detail: 'standard', _server_context: nil) data = cached_section(:stimulus) return text_response('Stimulus introspection not available. Add :stimulus to introspectors.') unless data return text_response("Stimulus introspection failed: #{data[:error]}") if data[:error] formatter = ResponseFormatter.new(Array(data[:controllers]), controller: controller, detail: detail) return text_response(formatter.) if formatter.controller_not_found? text_response(formatter.format) end |