PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / wordpress / php-mcp-schema / src / Client / Lifecycle / DTO / ClientCapabilitiesSampling.php
ameliabooking / vendor / wordpress / php-mcp-schema / src / Client / Lifecycle / DTO Last commit date
ClientCapabilities.php 1 month ago ClientCapabilitiesElicitation.php 1 month ago ClientCapabilitiesRoots.php 1 month ago ClientCapabilitiesSampling.php 1 month ago ClientCapabilitiesTasks.php 1 month ago
ClientCapabilitiesSampling.php
100 lines
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 sampling from an LLM.
12 *
13 * @mcp-domain Client
14 * @mcp-subdomain Lifecycle
15 * @mcp-version 2025-11-25
16 */
17 class ClientCapabilitiesSampling extends AbstractDataTransferObject
18 {
19 use ValidatesRequiredFields;
20
21 /**
22 * Whether the client supports context inclusion via includeContext parameter. If not declared, servers SHOULD only use `includeContext: "none"` (or omit it).
23 *
24 * @var object|null
25 */
26 protected ?object $context;
27
28 /**
29 * Whether the client supports tool use via tools and toolChoice parameters.
30 *
31 * @var object|null
32 */
33 protected ?object $tools;
34
35 /**
36 * @param object|null $context
37 * @param object|null $tools
38 */
39 public function __construct(
40 ?object $context = null,
41 ?object $tools = null
42 ) {
43 $this->context = $context;
44 $this->tools = $tools;
45 }
46
47 /**
48 * Creates an instance from an array.
49 *
50 * @param array{
51 * context?: object|null,
52 * tools?: 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['context'] ?? null),
61 self::asObjectOrNull($data['tools'] ?? 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->context !== null) {
75 $result['context'] = $this->context;
76 }
77 if ($this->tools !== null) {
78 $result['tools'] = $this->tools;
79 }
80
81 return $result;
82 }
83
84 /**
85 * @return object|null
86 */
87 public function getContext(): ?object
88 {
89 return $this->context;
90 }
91
92 /**
93 * @return object|null
94 */
95 public function getTools(): ?object
96 {
97 return $this->tools;
98 }
99 }
100