Class: Legion::MCP::Tools::StateDiff

Inherits:
MCP::Tool
  • Object
show all
Extended by:
Logging::Helper
Defined in:
lib/legion/mcp/tools/state_diff.rb

Class Method Summary collapse

Class Method Details

.call(since: nil, snapshot: nil) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/legion/mcp/tools/state_diff.rb', line 27

def call(since: nil, snapshot: nil)
  log.info('Starting legion.mcp.tools.state_diff.call')
  if snapshot
    result = StateTracker.snapshot
    text_response(result)
  elsif since
    result = StateTracker.diff(since: since)
    text_response(result)
  else
    text_response(StateTracker.collect_state.merge(timestamp: Time.now.iso8601))
  end
rescue StandardError => e
  handle_exception(e, level: :warn, operation: 'legion.mcp.tools.state_diff.call')
  log.warn("StateDiff#call failed: #{e.message}")
  error_response("Failed: #{e.message}")
end