13
13
SendNotificationT ,
14
14
SendRequestT ,
15
15
SendResultT ,
16
+ ReceiveResultT ,
16
17
)
17
18
from mcp .types import ProgressToken
18
19
@@ -23,8 +24,8 @@ class Progress(BaseModel):
23
24
24
25
25
26
@dataclass
26
- class ProgressContext (Generic [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT ]):
27
- session : BaseSession [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT ]
27
+ class ProgressContext (Generic [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT , ReceiveResultT ]):
28
+ session : BaseSession [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveResultT , ReceiveNotificationT ]
28
29
progress_token : ProgressToken
29
30
total : float | None
30
31
current : float = field (default = 0.0 , init = False )
@@ -40,12 +41,12 @@ async def progress(self, amount: float, message: str | None = None) -> None:
40
41
@contextmanager
41
42
def progress (
42
43
ctx : RequestContext [
43
- BaseSession [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT ],
44
+ BaseSession [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveResultT , ReceiveNotificationT ],
44
45
LifespanContextT ,
45
46
],
46
47
total : float | None = None ,
47
48
) -> Generator [
48
- ProgressContext [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT ],
49
+ ProgressContext [SendRequestT , SendNotificationT , SendResultT , ReceiveRequestT , ReceiveNotificationT , ReceiveResultT ],
49
50
None ,
50
51
]:
51
52
if ctx .meta is None or ctx .meta .progressToken is None :
0 commit comments