PluginProbe
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF / 2.3.2
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF v2.3.2
2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.9 2.2.8 trunk 1.10 1.3.3 1.3.4 1.3.5 1.3.5.1 1.3.5.2 1.3.6 1.3.6.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.5 All 103 releases
imagify / vendor / wordpress / php-mcp-schema / src / Common / Tasks / DTO / TaskStatusNotification.php

TaskStatusNotification.php in Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF 2.3.2, 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