1: <?php
2:
3: declare(strict_types=1);
4:
5: /**
6: * This file is part of the Nexus MCP SDK package.
7: *
8: * (c) 2026 John Paul E. Balandan, CPA <paulbalandan@gmail.com>
9: *
10: * For the full copyright and license information, please view
11: * the LICENSE file that was distributed with this source code.
12: */
13:
14: namespace Nexus\Mcp\Extension\Tasks\Client;
15:
16: use Nexus\Mcp\Client\Extension\ClientExtensionInterface;
17: use Nexus\Mcp\Extension\Tasks\Schema\Request\CancelTaskRequest;
18: use Nexus\Mcp\Extension\Tasks\Schema\Request\GetTaskRequest;
19: use Nexus\Mcp\Extension\Tasks\Schema\Request\UpdateTaskRequest;
20: use Nexus\Mcp\Extension\Tasks\Tasks;
21:
22: /**
23: * The official tasks extension (`io.modelcontextprotocol/tasks`, SEP-2663) for the client.
24: */
25: final readonly class TasksClientExtension implements ClientExtensionInterface
26: {
27: #[\Override]
28: public function getIdentifier(): string
29: {
30: return Tasks::IDENTIFIER;
31: }
32:
33: #[\Override]
34: public function getSettings(): array
35: {
36: return [];
37: }
38:
39: #[\Override]
40: public function getRequests(): array
41: {
42: return [];
43: }
44:
45: #[\Override]
46: public function getNotifications(): array
47: {
48: return [];
49: }
50:
51: #[\Override]
52: public function getRequestHandlers(): array
53: {
54: return [];
55: }
56:
57: #[\Override]
58: public function getNotificationHandlers(): array
59: {
60: return [];
61: }
62:
63: #[\Override]
64: public function getOutboundRequests(): array
65: {
66: return [
67: GetTaskRequest::getMethod(),
68: UpdateTaskRequest::getMethod(),
69: CancelTaskRequest::getMethod(),
70: ];
71: }
72: }
73: