@@ -48,6 +48,45 @@ async def __call__(
4848 ) -> None : ...
4949
5050
51+ class CancelledFnT (Protocol ):
52+ async def __call__ (
53+ self ,
54+ params : types .CancelledNotificationParams ,
55+ ) -> None : ...
56+
57+
58+ class ProgressNotificationFnT (Protocol ):
59+ async def __call__ (
60+ self ,
61+ params : types .ProgressNotificationParams ,
62+ ) -> None : ...
63+
64+
65+ class ResourceUpdatedFnT (Protocol ):
66+ async def __call__ (
67+ self ,
68+ params : types .ResourceUpdatedNotificationParams ,
69+ ) -> None : ...
70+
71+
72+ class ResourceListChangedFnT (Protocol ):
73+ async def __call__ (
74+ self ,
75+ ) -> None : ...
76+
77+
78+ class ToolListChangedFnT (Protocol ):
79+ async def __call__ (
80+ self ,
81+ ) -> None : ...
82+
83+
84+ class PromptListChangedFnT (Protocol ):
85+ async def __call__ (
86+ self ,
87+ ) -> None : ...
88+
89+
5190class MessageHandlerFnT (Protocol ):
5291 async def __call__ (
5392 self ,
@@ -96,6 +135,36 @@ async def _default_logging_callback(
96135 pass
97136
98137
138+ async def _default_cancelled_callback (
139+ params : types .CancelledNotificationParams ,
140+ ) -> None :
141+ pass
142+
143+
144+ async def _default_progress_callback (
145+ params : types .ProgressNotificationParams ,
146+ ) -> None :
147+ pass
148+
149+
150+ async def _default_resource_updated_callback (
151+ params : types .ResourceUpdatedNotificationParams ,
152+ ) -> None :
153+ pass
154+
155+
156+ async def _default_resource_list_changed_callback () -> None :
157+ pass
158+
159+
160+ async def _default_tool_list_changed_callback () -> None :
161+ pass
162+
163+
164+ async def _default_prompt_list_changed_callback () -> None :
165+ pass
166+
167+
99168ClientResponse : TypeAdapter [types .ClientResult | types .ErrorData ] = TypeAdapter (types .ClientResult | types .ErrorData )
100169
101170
@@ -117,6 +186,12 @@ def __init__(
117186 elicitation_callback : ElicitationFnT | None = None ,
118187 list_roots_callback : ListRootsFnT | None = None ,
119188 logging_callback : LoggingFnT | None = None ,
189+ cancelled_callback : CancelledFnT | None = None ,
190+ progress_notification_callback : ProgressNotificationFnT | None = None ,
191+ resource_updated_callback : ResourceUpdatedFnT | None = None ,
192+ resource_list_changed_callback : ResourceListChangedFnT | None = None ,
193+ tool_list_changed_callback : ToolListChangedFnT | None = None ,
194+ prompt_list_changed_callback : PromptListChangedFnT | None = None ,
120195 message_handler : MessageHandlerFnT | None = None ,
121196 client_info : types .Implementation | None = None ,
122197 ) -> None :
@@ -132,6 +207,12 @@ def __init__(
132207 self ._elicitation_callback = elicitation_callback or _default_elicitation_callback
133208 self ._list_roots_callback = list_roots_callback or _default_list_roots_callback
134209 self ._logging_callback = logging_callback or _default_logging_callback
210+ self ._cancelled_callback = cancelled_callback or _default_cancelled_callback
211+ self ._progress_notification_callback = progress_notification_callback or _default_progress_callback
212+ self ._resource_updated_callback = resource_updated_callback or _default_resource_updated_callback
213+ self ._resource_list_changed_callback = resource_list_changed_callback or _default_resource_list_changed_callback
214+ self ._tool_list_changed_callback = tool_list_changed_callback or _default_tool_list_changed_callback
215+ self ._prompt_list_changed_callback = prompt_list_changed_callback or _default_prompt_list_changed_callback
135216 self ._message_handler = message_handler or _default_message_handler
136217 self ._tool_output_schemas : dict [str , dict [str , Any ] | None ] = {}
137218 self ._server_capabilities : types .ServerCapabilities | None = None
@@ -549,5 +630,15 @@ async def _received_notification(self, notification: types.ServerNotification) -
549630 match notification .root :
550631 case types .LoggingMessageNotification (params = params ):
551632 await self ._logging_callback (params )
552- case _:
553- pass
633+ case types .CancelledNotification (params = params ):
634+ await self ._cancelled_callback (params )
635+ case types .ProgressNotification (params = params ):
636+ await self ._progress_notification_callback (params )
637+ case types .ResourceUpdatedNotification (params = params ):
638+ await self ._resource_updated_callback (params )
639+ case types .ResourceListChangedNotification ():
640+ await self ._resource_list_changed_callback ()
641+ case types .ToolListChangedNotification ():
642+ await self ._tool_list_changed_callback ()
643+ case types .PromptListChangedNotification ():
644+ await self ._prompt_list_changed_callback ()
0 commit comments