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