@@ -43,41 +43,41 @@ def initialize(method, capability)
43
43
end
44
44
end
45
45
46
- extend self
46
+ class << self
47
+ def ensure_capability! ( method , capabilities )
48
+ case method
49
+ when PROMPTS_GET , PROMPTS_LIST
50
+ unless capabilities [ :prompts ]
51
+ raise MissingRequiredCapabilityError . new ( method , :prompts )
52
+ end
53
+ when RESOURCES_LIST , RESOURCES_TEMPLATES_LIST , RESOURCES_READ , RESOURCES_SUBSCRIBE , RESOURCES_UNSUBSCRIBE
54
+ unless capabilities [ :resources ]
55
+ raise MissingRequiredCapabilityError . new ( method , :resources )
56
+ end
47
57
48
- def ensure_capability! ( method , capabilities )
49
- case method
50
- when PROMPTS_GET , PROMPTS_LIST
51
- unless capabilities [ :prompts ]
52
- raise MissingRequiredCapabilityError . new ( method , :prompts )
58
+ if method == RESOURCES_SUBSCRIBE && !capabilities [ :resources ] [ :subscribe ]
59
+ raise MissingRequiredCapabilityError . new ( method , :resources_subscribe )
60
+ end
61
+ when TOOLS_CALL , TOOLS_LIST
62
+ unless capabilities [ :tools ]
63
+ raise MissingRequiredCapabilityError . new ( method , :tools )
64
+ end
65
+ when SAMPLING_CREATE_MESSAGE
66
+ unless capabilities [ :sampling ]
67
+ raise MissingRequiredCapabilityError . new ( method , :sampling )
68
+ end
69
+ when COMPLETION_COMPLETE
70
+ unless capabilities [ :completions ]
71
+ raise MissingRequiredCapabilityError . new ( method , :completions )
72
+ end
73
+ when LOGGING_SET_LEVEL
74
+ # Logging is unsupported by the Server
75
+ unless capabilities [ :logging ]
76
+ raise MissingRequiredCapabilityError . new ( method , :logging )
77
+ end
78
+ when INITIALIZE , PING
79
+ # No specific capability required for initialize or ping
53
80
end
54
- when RESOURCES_LIST , RESOURCES_TEMPLATES_LIST , RESOURCES_READ , RESOURCES_SUBSCRIBE , RESOURCES_UNSUBSCRIBE
55
- unless capabilities [ :resources ]
56
- raise MissingRequiredCapabilityError . new ( method , :resources )
57
- end
58
-
59
- if method == RESOURCES_SUBSCRIBE && !capabilities [ :resources ] [ :subscribe ]
60
- raise MissingRequiredCapabilityError . new ( method , :resources_subscribe )
61
- end
62
- when TOOLS_CALL , TOOLS_LIST
63
- unless capabilities [ :tools ]
64
- raise MissingRequiredCapabilityError . new ( method , :tools )
65
- end
66
- when SAMPLING_CREATE_MESSAGE
67
- unless capabilities [ :sampling ]
68
- raise MissingRequiredCapabilityError . new ( method , :sampling )
69
- end
70
- when COMPLETION_COMPLETE
71
- unless capabilities [ :completions ]
72
- raise MissingRequiredCapabilityError . new ( method , :completions )
73
- end
74
- when LOGGING_SET_LEVEL
75
- # Logging is unsupported by the Server
76
- unless capabilities [ :logging ]
77
- raise MissingRequiredCapabilityError . new ( method , :logging )
78
- end
79
- when INITIALIZE , PING
80
- # No specific capability required for initialize or ping
81
81
end
82
82
end
83
83
end
0 commit comments