Class: Pgbus::MCP::Tools::JobDetailTool

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/pgbus/mcp/tools/job_detail_tool.rb

Overview

Inspect a single enqueued message by queue + msg_id. Returns its metadata (read_ct, vt, enqueued_at, last_read_at); the body and headers are redacted unless payloads are explicitly allowed. Maps to DataSource#job_detail.

Class Method Summary collapse

Methods inherited from BaseTool

annotations_value, data_source_from, error_response, json_response, payloads_allowed?

Class Method Details

.call(queue:, msg_id:, include_payloads: false, server_context: nil) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/pgbus/mcp/tools/job_detail_tool.rb', line 32

def self.call(queue:, msg_id:, include_payloads: false, server_context: nil)
  data_source = data_source_from(server_context)
  detail = data_source.job_detail(queue, msg_id)
  return error_response("Message #{msg_id} not found in #{queue}") unless detail

  json_response({ job: detail }, server_context: server_context, include_payloads: include_payloads)
end