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 / InitializeRequest.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
InitializeRequest.php
105 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\JSONRPCRequest;
8 use WP\McpSchema\Common\Protocol\Union\ClientRequestInterface;
9 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
10
11 /**
12 * This request is sent from the client to the server when it first connects, asking it to begin initialization.
13 *
14 * @since 2024-11-05
15 * @last-updated 2025-11-25 (modified property: params)
16 *
17 * @mcp-domain Common
18 * @mcp-subdomain Protocol
19 * @mcp-version 2025-11-25
20 */
21 class InitializeRequest extends JSONRPCRequest implements ClientRequestInterface
22 {
23 use ValidatesRequiredFields;
24
25 public const METHOD = 'initialize';
26
27 public const DISCRIMINATOR_FIELD = 'method';
28 public const DISCRIMINATOR_VALUE = 'initialize';
29
30 /**
31 * @var \WP\McpSchema\Common\Protocol\DTO\InitializeRequestParams
32 */
33 protected InitializeRequestParams $typedParams;
34
35 /**
36 * @param '2.0' $jsonrpc @since 2025-11-25
37 * @param string|number $id @since 2025-11-25
38 * @param \WP\McpSchema\Common\Protocol\DTO\InitializeRequestParams $params @since 2024-11-05
39 */
40 public function __construct(
41 string $jsonrpc,
42 $id,
43 InitializeRequestParams $params
44 ) {
45 parent::__construct(self::METHOD, $jsonrpc, $id, null);
46 $this->typedParams = $params;
47 }
48
49 /**
50 * Creates an instance from an array.
51 *
52 * @param array{
53 * jsonrpc: '2.0',
54 * id: string|number,
55 * method: 'initialize',
56 * params: array<string, mixed>|\WP\McpSchema\Common\Protocol\DTO\InitializeRequestParams
57 * } $data
58 * @phpstan-param array<string, mixed> $data
59 * @return self
60 */
61 public static function fromArray(array $data): self
62 {
63 self::assertRequired($data, ['jsonrpc', 'id', 'params']);
64
65 /** @var '2.0' $jsonrpc */
66 $jsonrpc = self::asString($data['jsonrpc']);
67
68 /** @var string|number $id */
69 $id = self::asStringOrNumber($data['id']);
70
71 /** @var \WP\McpSchema\Common\Protocol\DTO\InitializeRequestParams $params */
72 $params = is_array($data['params'])
73 ? InitializeRequestParams::fromArray(self::asArray($data['params']))
74 : $data['params'];
75
76 return new self(
77 $jsonrpc,
78 $id,
79 $params
80 );
81 }
82
83 /**
84 * Converts the instance to an array.
85 *
86 * @return array<string, mixed>
87 */
88 public function toArray(): array
89 {
90 $result = parent::toArray();
91
92 $result['params'] = $this->typedParams->toArray();
93
94 return $result;
95 }
96
97 /**
98 * @return \WP\McpSchema\Common\Protocol\DTO\InitializeRequestParams
99 */
100 public function getTypedParams(): InitializeRequestParams
101 {
102 return $this->typedParams;
103 }
104 }
105