Class: Profiler::MCP::Resources::RecentConsole

Inherits:
Object
  • Object
show all
Defined in:
lib/profiler/mcp/resources/recent_console.rb

Class Method Summary collapse

Class Method Details

.callObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/profiler/mcp/resources/recent_console.rb', line 7

def self.call
  profiles = Profiler.storage.list(limit: 200)
  consoles = profiles.select { |p| p.profile_type == "console" }.first(50)

  data = consoles.map do |profile|
    console_data = profile.collector_data("console") || {}
    {
      token: profile.token,
      expression: console_data["expression"],
      return_value: console_data["return_value"],
      status: profile.status == 200 ? "completed" : "failed",
      duration: profile.duration&.round(2),
      query_count: profile.collector_data("database")&.dig("total_queries") || 0,
      timestamp: profile.started_at&.iso8601
    }
  end

  {
    uri: "profiler://recent-console",
    mimeType: "application/json",
    text: JSON.pretty_generate({
      total: data.size,
      console_executions: data
    })
  }
end