1010 BaseSession ,
1111 ReceiveNotificationT ,
1212 ReceiveRequestT ,
13+ ReceiveResultT ,
1314 SendNotificationT ,
1415 SendRequestT ,
1516 SendResultT ,
16- ReceiveResultT ,
1717)
1818from mcp .types import ProgressToken
1919
@@ -24,8 +24,12 @@ class Progress(BaseModel):
2424
2525
2626@dataclass
27- class ProgressContext (Generic [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT , ReceiveResultT ]):
28- session : BaseSession [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveResultT , ReceiveNotificationT ]
27+ class ProgressContext (
28+ Generic [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT , ReceiveResultT ]
29+ ):
30+ session : BaseSession [
31+ SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveResultT , ReceiveNotificationT
32+ ]
2933 progress_token : ProgressToken
3034 total : float | None
3135 current : float = field (default = 0.0 , init = False )
@@ -41,12 +45,16 @@ async def progress(self, amount: float, message: str | None = None) -> None:
4145@contextmanager
4246def progress (
4347 ctx : RequestContext [
44- BaseSession [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveResultT , ReceiveNotificationT ],
48+ BaseSession [
49+ SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveResultT , ReceiveNotificationT
50+ ],
4551 LifespanContextT ,
4652 ],
4753 total : float | None = None ,
4854) -> Generator [
49- ProgressContext [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT , ReceiveResultT ],
55+ ProgressContext [
56+ SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT , ReceiveResultT
57+ ],
5058 None ,
5159]:
5260 if ctx .meta is None or ctx .meta .progressToken is None :
0 commit comments