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 / Elicitation / DTO / UntitledMultiSelectEnumSchemaItems.php

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

95 lines 1.7 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\Elicitation\DTO;
6
7 use WP\McpSchema\Common\AbstractDataTransferObject;
8 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
9
10 /**
11 * Schema for the array items.
12 *
13 * @mcp-domain Client
14 * @mcp-subdomain Elicitation
15 * @mcp-version 2025-11-25
16 */
17 class UntitledMultiSelectEnumSchemaItems extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 public const TYPE = 'string';
22
23 /**
24 * @var 'string'
25 */
26 protected string $type;
27
28 /**
29 * Array of enum values to choose from.
30 *
31 * @var array<string>
32 */
33 protected array $enum;
34
35 /**
36 * @param array<string> $enum
37 */
38 public function __construct(
39 array $enum
40 ) {
41 $this->type = self::TYPE;
42 $this->enum = $enum;
43 }
44
45 /**
46 * Creates an instance from an array.
47 *
48 * @param array{
49 * type: 'string',
50 * enum: array<string>
51 * } $data
52 * @phpstan-param array<string, mixed> $data
53 * @return self
54 */
55 public static function fromArray(array $data): self
56 {
57 self::assertRequired($data, ['enum']);
58
59 return new self(
60 self::asStringArray($data['enum'])
61 );
62 }
63
64 /**
65 * Converts the instance to an array.
66 *
67 * @return array<string, mixed>
68 */
69 public function toArray(): array
70 {
71 $result = [];
72
73 $result['type'] = $this->type;
74 $result['enum'] = $this->enum;
75
76 return $result;
77 }
78
79 /**
80 * @return 'string'
81 */
82 public function getType(): string
83 {
84 return $this->type;
85 }
86
87 /**
88 * @return array<string>
89 */
90 public function getEnum(): array
91 {
92 return $this->enum;
93 }
94 }
95