PluginProbe
ZIP AI – AI Website Builder & AI Agent (Beta) / 0.0.8
ZIP AI – AI Website Builder & AI Agent (Beta) v0.0.8
0.0.10 0.0.9 trunk 0.0.4 0.0.5 0.0.6 0.0.7 0.0.8
zip-ai / lib / php-mcp-schema / src / Client / Lifecycle / DTO / ClientCapabilitiesRoots.php

ClientCapabilitiesRoots.php in ZIP AI – AI Website Builder & AI Agent (Beta) 0.0.8, at lib/php-mcp-schema/src/Client/Lifecycle/DTO/ClientCapabilitiesRoots.php

77 lines 1.5 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\Client\Lifecycle\DTO;
6
7 use WP\McpSchema\Common\AbstractDataTransferObject;
8 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
9
10 /**
11 * Present if the client supports listing roots.
12 *
13 * @mcp-domain Client
14 * @mcp-subdomain Lifecycle
15 * @mcp-version 2025-11-25
16 */
17 class ClientCapabilitiesRoots extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 /**
22 * Whether the client supports notifications for changes to the roots list.
23 *
24 * @var bool|null
25 */
26 protected ?bool $listChanged;
27
28 /**
29 * @param bool|null $listChanged
30 */
31 public function __construct(
32 ?bool $listChanged = null
33 ) {
34 $this->listChanged = $listChanged;
35 }
36
37 /**
38 * Creates an instance from an array.
39 *
40 * @param array{
41 * listChanged?: bool|null
42 * } $data
43 * @phpstan-param array<string, mixed> $data
44 * @return self
45 */
46 public static function fromArray(array $data): self
47 {
48 return new self(
49 self::asBoolOrNull($data['listChanged'] ?? null)
50 );
51 }
52
53 /**
54 * Converts the instance to an array.
55 *
56 * @return array<string, mixed>
57 */
58 public function toArray(): array
59 {
60 $result = [];
61
62 if ($this->listChanged !== null) {
63 $result['listChanged'] = $this->listChanged;
64 }
65
66 return $result;
67 }
68
69 /**
70 * @return bool|null
71 */
72 public function getListChanged(): ?bool
73 {
74 return $this->listChanged;
75 }
76 }
77