|
23 | 23 | use Mcp\Schema\JsonRpc\Error; |
24 | 24 | use Mcp\Schema\JsonRpc\Request; |
25 | 25 | use Mcp\Schema\JsonRpc\Response; |
| 26 | +use Mcp\Schema\PromptReference; |
26 | 27 | use Mcp\Schema\Request\CallToolRequest; |
| 28 | +use Mcp\Schema\Request\CompletionCompleteRequest; |
27 | 29 | use Mcp\Schema\Request\GetPromptRequest; |
28 | 30 | use Mcp\Schema\Request\ListPromptsRequest; |
29 | 31 | use Mcp\Schema\Request\ListResourcesRequest; |
|
32 | 34 | use Mcp\Schema\Request\PingRequest; |
33 | 35 | use Mcp\Schema\Request\ReadResourceRequest; |
34 | 36 | use Mcp\Schema\Request\SetLogLevelRequest; |
| 37 | +use Mcp\Schema\ResourceReference; |
35 | 38 | use Mcp\Schema\Result\CallToolResult; |
| 39 | +use Mcp\Schema\Result\CompletionCompleteResult; |
36 | 40 | use Mcp\Schema\Result\GetPromptResult; |
37 | 41 | use Mcp\Schema\Result\ListPromptsResult; |
38 | 42 | use Mcp\Schema\Result\ListResourcesResult; |
@@ -223,6 +227,22 @@ public function setLoggingLevel(LoggingLevel $level): void |
223 | 227 | $this->doRequest(new SetLogLevelRequest($level)); |
224 | 228 | } |
225 | 229 |
|
| 230 | + /** |
| 231 | + * Request completion suggestions for a prompt or resource argument. |
| 232 | + * |
| 233 | + * @param PromptReference|ResourceReference $ref The prompt or resource reference |
| 234 | + * @param array{name: string, value: string} $argument The argument to complete |
| 235 | + */ |
| 236 | + public function complete(PromptReference|ResourceReference $ref, array $argument): CompletionCompleteResult |
| 237 | + { |
| 238 | + $this->ensureConnected(); |
| 239 | + |
| 240 | + return $this->doRequest( |
| 241 | + new CompletionCompleteRequest($ref, $argument), |
| 242 | + CompletionCompleteResult::class, |
| 243 | + ); |
| 244 | + } |
| 245 | + |
226 | 246 | /** |
227 | 247 | * Get the server info received during initialization. |
228 | 248 | * |
|
0 commit comments