|
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