66
77from pydantic import ValidationError
88
9- import mcp .types as types
9+ from mcp .shared . message import SessionMessage
1010
1111logger = logging .getLogger (__name__ )
1212
13- MessageCallback = Callable [[types . JSONRPCMessage | Exception ], Awaitable [None ]]
13+ MessageCallback = Callable [[SessionMessage | Exception ], Awaitable [None ]]
1414
1515
1616@runtime_checkable
@@ -22,7 +22,7 @@ class MessageDispatch(Protocol):
2222 """
2323
2424 async def publish_message (
25- self , session_id : UUID , message : types . JSONRPCMessage | str
25+ self , session_id : UUID , message : SessionMessage | str
2626 ) -> bool :
2727 """Publish a message for the specified session.
2828
@@ -72,7 +72,7 @@ def __init__(self) -> None:
7272 self ._callbacks : dict [UUID , MessageCallback ] = {}
7373
7474 async def publish_message (
75- self , session_id : UUID , message : types . JSONRPCMessage | str
75+ self , session_id : UUID , message : SessionMessage | str
7676 ) -> bool :
7777 """Publish a message for the specified session."""
7878 if session_id not in self ._callbacks :
@@ -82,7 +82,7 @@ async def publish_message(
8282 # Parse string messages or recreate original ValidationError
8383 if isinstance (message , str ):
8484 try :
85- callback_argument = types . JSONRPCMessage .model_validate_json (message )
85+ callback_argument = SessionMessage .model_validate_json (message )
8686 except ValidationError as exc :
8787 callback_argument = exc
8888 else :
0 commit comments