Module: ActionMCP::Server::ClientNotifications
- Included in:
- TransportHandler
- Defined in:
- lib/action_mcp/server/client_notifications.rb
Overview
Correlates client notifications with server session state. Applications can consume the resulting Rails notifications without ActionMCP keeping callback objects in a persistent session.
Instance Method Summary collapse
- #receive_cancelled_notification(params) ⇒ Object
- #receive_progress_notification(params) ⇒ Object
- #receive_task_status_notification(params) ⇒ Object
Instance Method Details
#receive_cancelled_notification(params) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/action_mcp/server/client_notifications.rb', line 9 def receive_cancelled_notification(params) params = normalize_client_notification_params(params) request = if session.respond_to?(:cancel_in_flight_request) session.cancel_in_flight_request(params[:requestId]) end return log_unmatched_client_notification("cancellation", params[:requestId]) unless request instrument_client_notification("request_cancelled", request, params) request end |
#receive_progress_notification(params) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/action_mcp/server/client_notifications.rb', line 20 def receive_progress_notification(params) params = normalize_client_notification_params(params) request = if session.respond_to?(:client_request_for_progress) session.client_request_for_progress(params[:progressToken]) end return log_unmatched_client_notification("progress token", params[:progressToken]) unless request instrument_client_notification("request_progress", request, params) request end |
#receive_task_status_notification(params) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/action_mcp/server/client_notifications.rb', line 31 def receive_task_status_notification(params) params = normalize_client_notification_params(params) request = if session.respond_to?(:client_request_for_task) session.client_request_for_task(params[:taskId]) end return log_unmatched_client_notification("task", params[:taskId]) unless request instrument_client_notification("task_status", request, params) request end |