PluginProbe
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages / 3.4.3
Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages v3.4.3
3.4.3 3.4.2 3.4.1 3.4.0 3.3.9 3.3.8 3.3.7 3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3.0 2.3.1 All 196 releases
convertkit / vendor / wordpress / php-mcp-schema / src / Common / Tasks / DTO / TaskStatusNotification.php

TaskStatusNotification.php in Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages 3.4.3, at vendor/wordpress/php-mcp-schema/src/Common/Tasks/DTO/TaskStatusNotification.php

93 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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