PluginProbe
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell / 3.13.3
WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell v3.13.3
3.13.3 3.13.2 3.13.1 3.13.0 3.12.13 3.12.12 3.12.11 3.12.10 3.12.9 3.12.8 3.12.7 3.12.6 3.12.5 3.12.4 3.12.3 3.12.1 3.12.2 3.12.0 3.11.1 3.11.0 3.10.9 3.10.8 3.10.7 3.10.6 2.8.16 All 261 releases
wpfunnels / vendor / wordpress / php-mcp-schema / src / Client / Lifecycle / DTO / ClientCapabilitiesSampling.php

ClientCapabilitiesSampling.php in WPFunnels – Funnel Builder for WooCommerce with Checkout & One Click Upsell 3.13.3, at vendor/wordpress/php-mcp-schema/src/Client/Lifecycle/DTO/ClientCapabilitiesSampling.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\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