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 / Server / Lifecycle / DTO / ServerCapabilitiesResources.php

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

100 lines 2.1 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\Server\Lifecycle\DTO;
6
7 use WP\McpSchema\Common\AbstractDataTransferObject;
8 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
9
10 /**
11 * Present if the server offers any resources to read.
12 *
13 * @mcp-domain Server
14 * @mcp-subdomain Lifecycle
15 * @mcp-version 2025-11-25
16 */
17 class ServerCapabilitiesResources extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 /**
22 * Whether this server supports subscribing to resource updates.
23 *
24 * @var bool|null
25 */
26 protected ?bool $subscribe;
27
28 /**
29 * Whether this server supports notifications for changes to the resource list.
30 *
31 * @var bool|null
32 */
33 protected ?bool $listChanged;
34
35 /**
36 * @param bool|null $subscribe
37 * @param bool|null $listChanged
38 */
39 public function __construct(
40 ?bool $subscribe = null,
41 ?bool $listChanged = null
42 ) {
43 $this->subscribe = $subscribe;
44 $this->listChanged = $listChanged;
45 }
46
47 /**
48 * Creates an instance from an array.
49 *
50 * @param array{
51 * subscribe?: bool|null,
52 * listChanged?: bool|null
53 * } $data
54 * @phpstan-param array<string, mixed> $data
55 * @return self
56 */
57 public static function fromArray(array $data): self
58 {
59 return new self(
60 self::asBoolOrNull($data['subscribe'] ?? null),
61 self::asBoolOrNull($data['listChanged'] ?? null)
62 );
63 }
64
65 /**
66 * Converts the instance to an array.
67 *
68 * @return array<string, mixed>
69 */
70 public function toArray(): array
71 {
72 $result = [];
73
74 if ($this->subscribe !== null) {
75 $result['subscribe'] = $this->subscribe;
76 }
77 if ($this->listChanged !== null) {
78 $result['listChanged'] = $this->listChanged;
79 }
80
81 return $result;
82 }
83
84 /**
85 * @return bool|null
86 */
87 public function getSubscribe(): ?bool
88 {
89 return $this->subscribe;
90 }
91
92 /**
93 * @return bool|null
94 */
95 public function getListChanged(): ?bool
96 {
97 return $this->listChanged;
98 }
99 }
100