|
7 | 7 | import pytest |
8 | 8 | from pydantic import BaseModel, Field |
9 | 9 |
|
10 | | -from mcp.client.session import ClientSession, ElicitationFnT, RequestContext |
| 10 | +from mcp.client.session import ClientSession, ElicitationFnT |
11 | 11 | from mcp.server.fastmcp import Context, FastMCP |
12 | 12 | from mcp.server.session import ServerSession |
| 13 | +from mcp.shared.context import RequestContext |
13 | 14 | from mcp.shared.memory import create_connected_server_and_client_session |
14 | | -from mcp.types import ElicitRequestParams, ElicitResult, ErrorData, TextContent |
| 15 | +from mcp.types import ElicitRequestParams, ElicitResult, TextContent |
15 | 16 |
|
16 | 17 |
|
17 | 18 | # Shared schema for basic tests |
@@ -225,9 +226,7 @@ async def valid_multiselect_tool(ctx: Context[ServerSession, None]) -> str: |
225 | 226 | return f"Name: {result.data.name}, Tags: {', '.join(result.data.tags)}" |
226 | 227 | return f"User {result.action}" |
227 | 228 |
|
228 | | - async def multiselect_callback( |
229 | | - context: RequestContext[ClientSession, Any], params: ElicitRequestParams |
230 | | - ) -> ElicitResult | ErrorData: |
| 229 | + async def multiselect_callback(context: RequestContext[ClientSession, Any], params: ElicitRequestParams): |
231 | 230 | if "Please provide tags" in params.message: |
232 | 231 | return ElicitResult(action="accept", content={"name": "Test", "tags": ["tag1", "tag2"]}) |
233 | 232 | return ElicitResult(action="decline") |
@@ -301,9 +300,7 @@ async def select_color_deprecated(ctx: Context[ServerSession, None]) -> str: |
301 | 300 | return f"User: {result.data.user_name}, Color: {result.data.color}" |
302 | 301 | return f"User {result.action}" |
303 | 302 |
|
304 | | - async def enum_callback( |
305 | | - context: RequestContext[ClientSession, Any], params: ElicitRequestParams |
306 | | - ) -> ElicitResult | ErrorData: |
| 303 | + async def enum_callback(context: RequestContext[ClientSession, Any], params: ElicitRequestParams): |
307 | 304 | if "colors" in params.message and "deprecated" not in params.message: |
308 | 305 | return ElicitResult(action="accept", content={"user_name": "Bob", "favorite_colors": ["red", "green"]}) |
309 | 306 | elif "color" in params.message: |
|
0 commit comments