refactor: remove unused mcp.shared.progress module (#2080)

This commit is contained in:
Max Isbey 2026-02-18 13:10:02 +00:00 • committed by GitHub
commit e82203bfc4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,45 +0,0 @@
from collections.abc import Generator
from contextlib import contextmanager
from dataclasses import dataclass, field
from typing import Generic
from pydantic import BaseModel
from mcp.shared._context import RequestContext, SessionT
from mcp.types import ProgressToken
class Progress(BaseModel):
progress: float
total: float | None
@dataclass
class ProgressContext(Generic[SessionT]):
session: SessionT
progress_token: ProgressToken
total: float | None
current: float = field(default=0.0, init=False)
async def progress(self, amount: float, message: str | None = None) -> None:
self.current += amount
await self.session.send_progress_notification(
self.progress_token, self.current, total=self.total, message=message
)
@contextmanager
def progress(
ctx: RequestContext[SessionT],
total: float | None = None,
) -> Generator[ProgressContext[SessionT], None]:
progress_token = ctx.meta.get("progress_token") if ctx.meta else None
if progress_token is None: # pragma: no cover
raise ValueError("No progress token provided")
progress_ctx = ProgressContext(ctx.session, progress_token, total)
try:
yield progress_ctx
finally:
pass