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 / JsonRpc / DTO / Request.php
commercebird / vendor / wordpress / php-mcp-schema / src / Common / JsonRpc / DTO Last commit date
Error.php 3 months ago JSONRPCErrorResponse.php 3 months ago JSONRPCNotification.php 3 months ago JSONRPCRequest.php 3 months ago JSONRPCResultResponse.php 3 months ago Notification.php 3 months ago NotificationParams.php 3 months ago Request.php 3 months ago RequestParams.php 3 months ago RequestParamsMeta.php 3 months ago
Request.php
100 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WP\McpSchema\Common\JsonRpc\DTO;
6
7 use WP\McpSchema\Common\AbstractDataTransferObject;
8 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
9
10 /**
11 * @since 2024-11-05
12 *
13 * @mcp-domain Common
14 * @mcp-subdomain JsonRpc
15 * @mcp-version 2025-11-25
16 */
17 class Request extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 /**
22 * @since 2024-11-05
23 *
24 * @var string
25 */
26 protected string $method;
27
28 /**
29 * @since 2024-11-05
30 *
31 * @var array<string, mixed>|null
32 */
33 protected ?array $params;
34
35 /**
36 * @param string $method @since 2024-11-05
37 * @param array<string, mixed>|null $params @since 2024-11-05
38 */
39 public function __construct(
40 string $method,
41 ?array $params = null
42 ) {
43 $this->method = $method;
44 $this->params = $params;
45 }
46
47 /**
48 * Creates an instance from an array.
49 *
50 * @param array{
51 * method: string,
52 * params?: array<string, mixed>|null
53 * } $data
54 * @phpstan-param array<string, mixed> $data
55 * @return self
56 */
57 public static function fromArray(array $data): self
58 {
59 self::assertRequired($data, ['method']);
60
61 return new self(
62 self::asString($data['method']),
63 self::asArrayOrNull($data['params'] ?? null)
64 );
65 }
66
67 /**
68 * Converts the instance to an array.
69 *
70 * @return array<string, mixed>
71 */
72 public function toArray(): array
73 {
74 $result = [];
75
76 $result['method'] = $this->method;
77 if ($this->params !== null) {
78 $result['params'] = $this->params;
79 }
80
81 return $result;
82 }
83
84 /**
85 * @return string
86 */
87 public function getMethod(): string
88 {
89 return $this->method;
90 }
91
92 /**
93 * @return array<string, mixed>|null
94 */
95 public function getParams(): ?array
96 {
97 return $this->params;
98 }
99 }
100