Module: ActionMCP::Client::Messaging

Included in:
Base
Defined in:
lib/action_mcp/client/messaging.rb

Instance Method Summary collapse

Instance Method Details

#send_jsonrpc_error(request_id, symbol, message, data = nil) ⇒ Object



21
22
23
24
25
# File 'lib/action_mcp/client/messaging.rb', line 21

def send_jsonrpc_error(request_id, symbol, message, data = nil)
  error = JSON_RPC::JsonRpcError.new(symbol, message:, data:)
  response = JSON_RPC::Response.new(id: request_id, error:)
  write_message(response)
end

#send_jsonrpc_notification(method, params = nil) ⇒ Object



16
17
18
19
# File 'lib/action_mcp/client/messaging.rb', line 16

def send_jsonrpc_notification(method, params = nil)
  notification = JSON_RPC::Notification.new(method: method, params: params)
  write_message(notification)
end

#send_jsonrpc_request(method, params: nil, id: SecureRandom.uuid_v7) ⇒ Object



6
7
8
9
# File 'lib/action_mcp/client/messaging.rb', line 6

def send_jsonrpc_request(method, params: nil, id: SecureRandom.uuid_v7)
  request = JSON_RPC::Request.new(id: id, method: method, params: params)
  write_message(request)
end

#send_jsonrpc_response(request_id, result: nil, error: nil) ⇒ Object



11
12
13
14
# File 'lib/action_mcp/client/messaging.rb', line 11

def send_jsonrpc_response(request_id, result: nil, error: nil)
  response = JSON_RPC::Response.new(id: request_id, result: result, error: error)
  write_message(response)
end