refactor: add mcp source client facade
This commit is contained in:
@@ -18,6 +18,7 @@ from mcp.types import (
|
||||
)
|
||||
from pydantic import AnyUrl
|
||||
|
||||
from wf_sources_mcp.client import McpSourceClient
|
||||
from wf_sources_mcp.connections import McpSourceConnection
|
||||
from wf_sources_mcp.sdk import BackendAdapter, McpSdkAdapter
|
||||
from wf_sources_mcp.transports import StdioSourceTransport
|
||||
@@ -135,12 +136,12 @@ class _FakeSession:
|
||||
)
|
||||
|
||||
|
||||
class _SessionContext:
|
||||
def __init__(self, session: _FakeSession) -> None:
|
||||
self.session = session
|
||||
class _ClientContext:
|
||||
def __init__(self, client: McpSourceClient) -> None:
|
||||
self.client = client
|
||||
|
||||
async def __aenter__(self) -> _FakeSession:
|
||||
return self.session
|
||||
async def __aenter__(self) -> McpSourceClient:
|
||||
return self.client
|
||||
|
||||
async def __aexit__(
|
||||
self,
|
||||
@@ -155,10 +156,12 @@ class _FakeAdapter(McpSdkAdapter):
|
||||
def __init__(self, session: _FakeSession) -> None:
|
||||
self.fake_session = session
|
||||
|
||||
def _session(self, connection: McpSourceConnection, auth: object | None):
|
||||
def _client(self, connection: McpSourceConnection, auth: object | None):
|
||||
assert connection.id == "demo.personal"
|
||||
assert auth is None
|
||||
return _SessionContext(self.fake_session)
|
||||
return _ClientContext(
|
||||
McpSourceClient(session=self.fake_session, connection=connection)
|
||||
)
|
||||
|
||||
|
||||
def test_mcp_sdk_adapter_implements_backend_protocol() -> None:
|
||||
|
||||
Reference in New Issue
Block a user