PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / wordpress / php-mcp-schema / src / Common / Tasks / DTO / TaskStatusNotification.php
ameliabooking / vendor / wordpress / php-mcp-schema / src / Common / Tasks / DTO Last commit date
CancelTaskRequest.php 1 month ago CancelTaskRequestParams.php 1 month ago CancelTaskResult.php 1 month ago GetTaskRequest.php 1 month ago GetTaskRequestParams.php 1 month ago GetTaskResult.php 1 month ago ListTasksRequest.php 1 month ago ListTasksResult.php 1 month ago TaskAugmentedRequestParams.php 1 month ago TaskStatusNotification.php 1 month ago
TaskStatusNotification.php
93 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WP\McpSchema\Common\Tasks\DTO;
6
7 use WP\McpSchema\Common\JsonRpc\DTO\JSONRPCNotification;
8 use WP\McpSchema\Common\Protocol\Union\ClientNotificationInterface;
9 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
10 use WP\McpSchema\Server\Lifecycle\Union\ServerNotificationInterface;
11
12 /**
13 * An optional notification from the receiver to the requestor, informing them that a task's status has changed. Receivers are not required to send these notifications.
14 *
15 * @since 2025-11-25
16 *
17 * @mcp-domain Common
18 * @mcp-subdomain Tasks
19 * @mcp-version 2025-11-25
20 */
21 class TaskStatusNotification extends JSONRPCNotification implements ClientNotificationInterface, ServerNotificationInterface
22 {
23 use ValidatesRequiredFields;
24
25 public const METHOD = 'notifications/tasks/status';
26
27 public const DISCRIMINATOR_FIELD = 'method';
28 public const DISCRIMINATOR_VALUE = 'notifications/tasks/status';
29
30 /**
31 * @var mixed
32 */
33 protected $typedParams;
34
35 /**
36 * @param '2.0' $jsonrpc @since 2025-11-25
37 * @param mixed $params @since 2025-11-25
38 */
39 public function __construct(
40 string $jsonrpc,
41 $params
42 ) {
43 parent::__construct(self::METHOD, $jsonrpc, null);
44 $this->typedParams = $params;
45 }
46
47 /**
48 * Creates an instance from an array.
49 *
50 * @param array{
51 * jsonrpc: '2.0',
52 * method: 'notifications/tasks/status',
53 * params: mixed
54 * } $data
55 * @phpstan-param array<string, mixed> $data
56 * @return self
57 */
58 public static function fromArray(array $data): self
59 {
60 self::assertRequired($data, ['jsonrpc', 'params']);
61
62 /** @var '2.0' $jsonrpc */
63 $jsonrpc = self::asString($data['jsonrpc']);
64
65 return new self(
66 $jsonrpc,
67 $data['params']
68 );
69 }
70
71 /**
72 * Converts the instance to an array.
73 *
74 * @return array<string, mixed>
75 */
76 public function toArray(): array
77 {
78 $result = parent::toArray();
79
80 $result['params'] = $this->typedParams;
81
82 return $result;
83 }
84
85 /**
86 * @return mixed
87 */
88 public function getTypedParams()
89 {
90 return $this->typedParams;
91 }
92 }
93