PluginProbe
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell / 3.13.3
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell v3.13.3
3.13.3 3.13.2 3.13.1 3.13.0 3.12.13 3.12.12 3.12.11 3.12.10 3.12.9 3.12.8 3.12.7 3.12.6 3.12.5 3.12.4 3.12.3 3.12.1 3.12.2 3.12.0 3.11.1 3.11.0 3.10.9 3.10.8 3.10.7 3.10.6 2.8.16 All 261 releases
wpfunnels / vendor / wordpress / php-mcp-schema / src / Common / Tasks / DTO / TaskStatusNotification.php

TaskStatusNotification.php in WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell 3.13.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