|
17 | 17 | from anyio.abc import TaskGroup
|
18 | 18 | from anyio.streams.memory import MemoryObjectReceiveStream, MemoryObjectSendStream
|
19 | 19 | from httpx_sse import EventSource, ServerSentEvent, aconnect_sse
|
| 20 | +from typing_extensions import deprecated |
20 | 21 |
|
21 | 22 | from mcp.shared._httpx_utils import McpHttpClientFactory, create_mcp_http_client
|
22 | 23 | from mcp.shared.message import ClientMessageMetadata, SessionMessage
|
@@ -442,7 +443,7 @@ def get_session_id(self) -> str | None:
|
442 | 443 |
|
443 | 444 |
|
444 | 445 | @asynccontextmanager
|
445 |
| -async def streamablehttp_client( |
| 446 | +async def streamable_http_client( |
446 | 447 | url: str,
|
447 | 448 | headers: dict[str, str] | None = None,
|
448 | 449 | timeout: float | timedelta = 30,
|
@@ -511,3 +512,23 @@ def start_get_stream() -> None:
|
511 | 512 | finally:
|
512 | 513 | await read_stream_writer.aclose()
|
513 | 514 | await write_stream.aclose()
|
| 515 | + |
| 516 | + |
| 517 | +@deprecated("Use `streamable_http_client` instead.") |
| 518 | +@asynccontextmanager |
| 519 | +async def streamablehttp_client( |
| 520 | + url: str, |
| 521 | + headers: dict[str, str] | None = None, |
| 522 | + timeout: float | timedelta = 30, |
| 523 | + sse_read_timeout: float | timedelta = 60 * 5, |
| 524 | + terminate_on_close: bool = True, |
| 525 | +) -> AsyncGenerator[ |
| 526 | + tuple[ |
| 527 | + MemoryObjectReceiveStream[SessionMessage | Exception], |
| 528 | + MemoryObjectSendStream[SessionMessage], |
| 529 | + GetSessionIdCallback, |
| 530 | + ], |
| 531 | + None, |
| 532 | +]: |
| 533 | + async with streamable_http_client(url, headers, timeout, sse_read_timeout, terminate_on_close) as streams: |
| 534 | + yield streams |
0 commit comments