module MCProtocol

Defined in:

mcprotocol.cr
mcprotocol/annotated.cr
mcprotocol/blob_resource_contents.cr
mcprotocol/call_tool_request.cr
mcprotocol/call_tool_result.cr
mcprotocol/cancelled_notification.cr
mcprotocol/client_capabilities.cr
mcprotocol/client_notification.cr
mcprotocol/client_request.cr
mcprotocol/client_result.cr
mcprotocol/complete_request.cr
mcprotocol/complete_result.cr
mcprotocol/create_message_request.cr
mcprotocol/create_message_result.cr
mcprotocol/cursor.cr
mcprotocol/embedded_resource.cr
mcprotocol/empty_result.cr
mcprotocol/get_prompt_request.cr
mcprotocol/get_prompt_result.cr
mcprotocol/image_content.cr
mcprotocol/implementation.cr
mcprotocol/initialize_request.cr
mcprotocol/initialize_result.cr
mcprotocol/initialized_notification.cr
mcprotocol/jsonrpc_error.cr
mcprotocol/jsonrpc_message.cr
mcprotocol/jsonrpc_notification.cr
mcprotocol/jsonrpc_request.cr
mcprotocol/jsonrpc_response.cr
mcprotocol/list_prompts_request.cr
mcprotocol/list_prompts_result.cr
mcprotocol/list_resource_templates_request.cr
mcprotocol/list_resource_templates_result.cr
mcprotocol/list_resources_request.cr
mcprotocol/list_resources_result.cr
mcprotocol/list_roots_request.cr
mcprotocol/list_roots_result.cr
mcprotocol/list_tools_request.cr
mcprotocol/list_tools_result.cr
mcprotocol/logging_level.cr
mcprotocol/logging_message_notification.cr
mcprotocol/model_hint.cr
mcprotocol/model_preferences.cr
mcprotocol/notification.cr
mcprotocol/paginated_request.cr
mcprotocol/paginated_result.cr
mcprotocol/ping_request.cr
mcprotocol/progress_notification.cr
mcprotocol/progress_token.cr
mcprotocol/prompt.cr
mcprotocol/prompt_argument.cr
mcprotocol/prompt_list_changed_notification.cr
mcprotocol/prompt_message.cr
mcprotocol/prompt_reference.cr
mcprotocol/read_resource_request.cr
mcprotocol/read_resource_result.cr
mcprotocol/request.cr
mcprotocol/request_id.cr
mcprotocol/resource.cr
mcprotocol/resource_contents.cr
mcprotocol/resource_list_changed_notification.cr
mcprotocol/resource_reference.cr
mcprotocol/resource_template.cr
mcprotocol/resource_updated_notification.cr
mcprotocol/result.cr
mcprotocol/role.cr
mcprotocol/root.cr
mcprotocol/roots_list_changed_notification.cr
mcprotocol/sampling_message.cr
mcprotocol/server_capabilities.cr
mcprotocol/server_notification.cr
mcprotocol/server_request.cr
mcprotocol/server_result.cr
mcprotocol/set_level_request.cr
mcprotocol/subscribe_request.cr
mcprotocol/text_content.cr
mcprotocol/text_resource_contents.cr
mcprotocol/tool.cr
mcprotocol/tool_list_changed_notification.cr
mcprotocol/unsubscribe_request.cr

Constant Summary

METHOD_TYPES = {"initialize" => {InitializeRequest, InitializeResult, InitializeRequestParams}, "ping" => {PingRequest, Nil, ::Union(JSON::Any, ::Nil)}, "resources/list" => {ListResourcesRequest, ListResourcesResult, ListResourcesRequestParams}, "resources/templates/list" => {ListResourceTemplatesRequest, ListResourcesResult, ListResourcesRequestParams}, "resources/read" => {ReadResourceRequest, ReadResourceResult, ReadResourceRequestParams}, "resources/subscribe" => {SubscribeRequest, Nil, SubscribeRequestParams}, "resources/unsubscribe" => {UnsubscribeRequest, Nil, UnsubscribeRequestParams}, "prompts/list" => {ListPromptsRequest, ListPromptsResult, ListPromptsRequestParams}, "prompts/get" => {GetPromptRequest, GetPromptResult, GetPromptRequestParams}, "tools/list" => {ListToolsRequest, ListToolsResult, ListToolsRequestParams}, "tools/call" => {CallToolRequest, CallToolResult, CallToolRequestParams}, "logging/setLevel" => {SetLevelRequest, Nil, SetLevelRequestParams}, "completion/complete" => {CompleteRequest, CompleteResult, CompleteRequestParams}, "notifications/cancelled" => {CancelledNotification, Nil, CancelledNotificationParams}, "sampling/createMessage" => {CreateMessageRequest, CreateMessageResult, CreateMessageRequestParams}, "notifications/initialized" => {InitializedNotification, Nil, ::Union(JSON::Any, ::Nil)}, "notifications/message" => {LoggingMessageNotification, Nil, LoggingMessageNotificationParams}, "notifications/progress" => {ProgressNotification, Nil, ProgressNotificationParams}, "notifications/prompts/list_changed" => {PromptListChangedNotification, Nil, ::Union(JSON::Any, ::Nil)}, "notifications/resources/list_changed" => {ResourceListChangedNotification, Nil, ::Union(JSON::Any, ::Nil)}, "notifications/resources/updated" => {ResourceUpdatedNotification, Nil, ResourceUpdatedNotificationParams}, "notifications/roots/list_changed" => {RootsListChangedNotification, Nil, ::Union(JSON::Any, ::Nil)}, "notifications/tools/list_changed" => {ToolListChangedNotification, Nil, ::Union(JSON::Any, ::Nil)}}

Hand-rolled

VERSION = "0.1.0"

Class Method Summary

Class Method Detail

def self.parse_message(data : String, method : String | Nil = nil, *, as obj_type = nil) : ClientRequest #

Copied from nobodywasishere/lsprotocol-crystal, may or may not work


[View source]