|
21 | 21 | CreateMessageRequestParams, |
22 | 22 | ElicitationCapability, |
23 | 23 | EmptyResult, |
| 24 | + FormElicitationCapability, |
24 | 25 | Implementation, |
25 | 26 | ListRootsRequest, |
26 | 27 | ListRootsResult, |
|
31 | 32 | SamplingCapability, |
32 | 33 | SamplingContextCapability, |
33 | 34 | SamplingToolsCapability, |
| 35 | + UrlElicitationCapability, |
34 | 36 | ) |
35 | 37 | from mcp_types.version import LATEST_HANDSHAKE_VERSION, LATEST_MODERN_VERSION |
36 | 38 | from pydantic import BaseModel, ValidationError |
@@ -364,6 +366,36 @@ def test_connection_check_capability_false_when_no_client_params_recorded(): |
364 | 366 | (ClientCapabilities(experimental={"a": {}}), ClientCapabilities(experimental={"b": {}}), False), |
365 | 367 | (ClientCapabilities(experimental={"a": {"x": 1}}), ClientCapabilities(experimental={"a": {"x": 2}}), False), |
366 | 368 | (ClientCapabilities(experimental={"a": {}}), ClientCapabilities(experimental={"a": {}}), True), |
| 369 | + ( |
| 370 | + ClientCapabilities(elicitation=None), |
| 371 | + ClientCapabilities(elicitation=ElicitationCapability()), |
| 372 | + False, |
| 373 | + ), |
| 374 | + ( |
| 375 | + ClientCapabilities(elicitation=ElicitationCapability(url=UrlElicitationCapability())), |
| 376 | + ClientCapabilities(elicitation=ElicitationCapability(form=FormElicitationCapability())), |
| 377 | + False, |
| 378 | + ), |
| 379 | + ( |
| 380 | + ClientCapabilities(elicitation=ElicitationCapability(form=FormElicitationCapability())), |
| 381 | + ClientCapabilities(elicitation=ElicitationCapability(url=UrlElicitationCapability())), |
| 382 | + False, |
| 383 | + ), |
| 384 | + ( |
| 385 | + ClientCapabilities(elicitation=ElicitationCapability(url=UrlElicitationCapability())), |
| 386 | + ClientCapabilities(elicitation=ElicitationCapability(url=UrlElicitationCapability())), |
| 387 | + True, |
| 388 | + ), |
| 389 | + ( |
| 390 | + ClientCapabilities(elicitation=ElicitationCapability(form=FormElicitationCapability())), |
| 391 | + ClientCapabilities(elicitation=ElicitationCapability(form=FormElicitationCapability())), |
| 392 | + True, |
| 393 | + ), |
| 394 | + ( |
| 395 | + ClientCapabilities(elicitation=ElicitationCapability(url=UrlElicitationCapability())), |
| 396 | + ClientCapabilities(elicitation=ElicitationCapability()), |
| 397 | + True, |
| 398 | + ), |
367 | 399 | ], |
368 | 400 | ) |
369 | 401 | def test_check_capability_per_field_branches(have: ClientCapabilities, want: ClientCapabilities, expected: bool): |
|
0 commit comments