PluginProbe ʕ •ᴥ•ʔ
CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). / trunk
CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). vtrunk
3.0.3 3.0.2 3.0.1 trunk 2.2.14 2.2.15 2.2.16 2.2.17 2.2.18 2.2.19 2.3.0 2.3.1 2.3.10 2.3.11 2.3.12 2.3.13 2.3.14 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.7.91 2.7.92 2.7.93 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0
commercebird / vendor / wordpress / php-mcp-schema / src / Common / Protocol / DTO / ProgressNotification.php
commercebird / vendor / wordpress / php-mcp-schema / src / Common / Protocol / DTO Last commit date
Annotations.php 3 months ago BaseMetadata.php 3 months ago BlobResourceContents.php 3 months ago CancelledNotification.php 3 months ago CancelledNotificationParams.php 3 months ago EmbeddedResource.php 3 months ago EmptyResult.php 3 months ago GetTaskPayloadRequest.php 3 months ago GetTaskPayloadRequestParams.php 3 months ago GetTaskPayloadResult.php 3 months ago Icons.php 3 months ago InitializeRequest.php 3 months ago InitializeRequestParams.php 3 months ago InitializeResult.php 3 months ago InitializedNotification.php 3 months ago PaginatedRequest.php 3 months ago PaginatedRequestParams.php 3 months ago PaginatedResult.php 3 months ago PingRequest.php 3 months ago ProgressNotification.php 3 months ago ProgressNotificationParams.php 3 months ago Result.php 3 months ago TextResourceContents.php 3 months ago URLElicitationRequiredError.php 3 months ago
ProgressNotification.php
99 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WP\McpSchema\Common\Protocol\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 out-of-band notification used to inform the receiver of a progress update for a long-running request.
14 *
15 * @since 2024-11-05
16 * @last-updated 2025-11-25 (modified property: params)
17 *
18 * @mcp-domain Common
19 * @mcp-subdomain Protocol
20 * @mcp-version 2025-11-25
21 */
22 class ProgressNotification extends JSONRPCNotification implements ClientNotificationInterface, ServerNotificationInterface
23 {
24 use ValidatesRequiredFields;
25
26 public const METHOD = 'notifications/progress';
27
28 public const DISCRIMINATOR_FIELD = 'method';
29 public const DISCRIMINATOR_VALUE = 'notifications/progress';
30
31 /**
32 * @var \WP\McpSchema\Common\Protocol\DTO\ProgressNotificationParams
33 */
34 protected ProgressNotificationParams $typedParams;
35
36 /**
37 * @param '2.0' $jsonrpc @since 2025-11-25
38 * @param \WP\McpSchema\Common\Protocol\DTO\ProgressNotificationParams $params @since 2024-11-05
39 */
40 public function __construct(
41 string $jsonrpc,
42 ProgressNotificationParams $params
43 ) {
44 parent::__construct(self::METHOD, $jsonrpc, null);
45 $this->typedParams = $params;
46 }
47
48 /**
49 * Creates an instance from an array.
50 *
51 * @param array{
52 * jsonrpc: '2.0',
53 * method: 'notifications/progress',
54 * params: array<string, mixed>|\WP\McpSchema\Common\Protocol\DTO\ProgressNotificationParams
55 * } $data
56 * @phpstan-param array<string, mixed> $data
57 * @return self
58 */
59 public static function fromArray(array $data): self
60 {
61 self::assertRequired($data, ['jsonrpc', 'params']);
62
63 /** @var '2.0' $jsonrpc */
64 $jsonrpc = self::asString($data['jsonrpc']);
65
66 /** @var \WP\McpSchema\Common\Protocol\DTO\ProgressNotificationParams $params */
67 $params = is_array($data['params'])
68 ? ProgressNotificationParams::fromArray(self::asArray($data['params']))
69 : $data['params'];
70
71 return new self(
72 $jsonrpc,
73 $params
74 );
75 }
76
77 /**
78 * Converts the instance to an array.
79 *
80 * @return array<string, mixed>
81 */
82 public function toArray(): array
83 {
84 $result = parent::toArray();
85
86 $result['params'] = $this->typedParams->toArray();
87
88 return $result;
89 }
90
91 /**
92 * @return \WP\McpSchema\Common\Protocol\DTO\ProgressNotificationParams
93 */
94 public function getTypedParams(): ProgressNotificationParams
95 {
96 return $this->typedParams;
97 }
98 }
99