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 / ClientCapabilitiesTasks.php

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

100 lines 2.0 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 task-augmented requests.
12 *
13 * @mcp-domain Client
14 * @mcp-subdomain Lifecycle
15 * @mcp-version 2025-11-25
16 */
17 class ClientCapabilitiesTasks extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 /**
22 * Whether this client supports tasks/list.
23 *
24 * @var object|null
25 */
26 protected ?object $list;
27
28 /**
29 * Whether this client supports tasks/cancel.
30 *
31 * @var object|null
32 */
33 protected ?object $cancel;
34
35 /**
36 * @param object|null $list
37 * @param object|null $cancel
38 */
39 public function __construct(
40 ?object $list = null,
41 ?object $cancel = null
42 ) {
43 $this->list = $list;
44 $this->cancel = $cancel;
45 }
46
47 /**
48 * Creates an instance from an array.
49 *
50 * @param array{
51 * list?: object|null,
52 * cancel?: object|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::asObjectOrNull($data['list'] ?? null),
61 self::asObjectOrNull($data['cancel'] ?? 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->list !== null) {
75 $result['list'] = $this->list;
76 }
77 if ($this->cancel !== null) {
78 $result['cancel'] = $this->cancel;
79 }
80
81 return $result;
82 }
83
84 /**
85 * @return object|null
86 */
87 public function getList(): ?object
88 {
89 return $this->list;
90 }
91
92 /**
93 * @return object|null
94 */
95 public function getCancel(): ?object
96 {
97 return $this->cancel;
98 }
99 }
100