fix: Expose completions capability (#865)
This commit is contained in:
parent
3d67e723e5
commit
906ceea388
1 changed files with 41 additions and 7 deletions
|
|
@ -11,8 +11,13 @@ from mcp.shared.message import SessionMessage
|
|||
from mcp.shared.session import RequestResponder
|
||||
from mcp.types import (
|
||||
ClientNotification,
|
||||
Completion,
|
||||
CompletionArgument,
|
||||
CompletionsCapability,
|
||||
InitializedNotification,
|
||||
PromptReference,
|
||||
PromptsCapability,
|
||||
ResourceReference,
|
||||
ResourcesCapability,
|
||||
ServerCapabilities,
|
||||
)
|
||||
|
|
@ -80,6 +85,7 @@ async def test_server_capabilities():
|
|||
caps = server.get_capabilities(notification_options, experimental_capabilities)
|
||||
assert caps.prompts is None
|
||||
assert caps.resources is None
|
||||
assert caps.completions is None
|
||||
|
||||
# Add a prompts handler
|
||||
@server.list_prompts()
|
||||
|
|
@ -89,6 +95,7 @@ async def test_server_capabilities():
|
|||
caps = server.get_capabilities(notification_options, experimental_capabilities)
|
||||
assert caps.prompts == PromptsCapability(listChanged=False)
|
||||
assert caps.resources is None
|
||||
assert caps.completions is None
|
||||
|
||||
# Add a resources handler
|
||||
@server.list_resources()
|
||||
|
|
@ -98,6 +105,19 @@ async def test_server_capabilities():
|
|||
caps = server.get_capabilities(notification_options, experimental_capabilities)
|
||||
assert caps.prompts == PromptsCapability(listChanged=False)
|
||||
assert caps.resources == ResourcesCapability(subscribe=False, listChanged=False)
|
||||
assert caps.completions is None
|
||||
|
||||
# Add a complete handler
|
||||
@server.completion()
|
||||
async def complete(ref: PromptReference | ResourceReference, argument: CompletionArgument):
|
||||
return Completion(
|
||||
values=["completion1", "completion2"],
|
||||
)
|
||||
|
||||
caps = server.get_capabilities(notification_options, experimental_capabilities)
|
||||
assert caps.prompts == PromptsCapability(listChanged=False)
|
||||
assert caps.resources == ResourcesCapability(subscribe=False, listChanged=False)
|
||||
assert caps.completions == CompletionsCapability()
|
||||
|
||||
|
||||
@pytest.mark.anyio
|
||||
|
|
|
|||
Loading…
Reference in a new issue