PluginProbe ʕ •ᴥ•ʔ
CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). / trunk
CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). vtrunk
3.0.3 3.0.2 3.0.1 trunk 2.2.14 2.2.15 2.2.16 2.2.17 2.2.18 2.2.19 2.3.0 2.3.1 2.3.10 2.3.11 2.3.12 2.3.13 2.3.14 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.7.91 2.7.92 2.7.93 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0
commercebird / vendor / wordpress / php-mcp-schema / src / Client / Tasks / DTO / TaskMetadata.php
commercebird / vendor / wordpress / php-mcp-schema / src / Client / Tasks / DTO Last commit date
CreateTaskResult.php 2 months ago RelatedTaskMetadata.php 2 months ago Task.php 2 months ago TaskMetadata.php 2 months ago
TaskMetadata.php
82 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace WP\McpSchema\Client\Tasks\DTO;
6
7 use WP\McpSchema\Common\AbstractDataTransferObject;
8 use WP\McpSchema\Common\Traits\ValidatesRequiredFields;
9
10 /**
11 * Metadata for augmenting a request with task execution.
12 * Include this in the `task` field of the request parameters.
13 *
14 * @since 2025-11-25
15 *
16 * @mcp-domain Client
17 * @mcp-subdomain Tasks
18 * @mcp-version 2025-11-25
19 */
20 class TaskMetadata extends AbstractDataTransferObject
21 {
22 use ValidatesRequiredFields;
23
24 /**
25 * Requested duration in milliseconds to retain task from creation.
26 *
27 * @since 2025-11-25
28 *
29 * @var int|null
30 */
31 protected ?int $ttl;
32
33 /**
34 * @param int|null $ttl @since 2025-11-25
35 */
36 public function __construct(
37 ?int $ttl = null
38 ) {
39 $this->ttl = $ttl;
40 }
41
42 /**
43 * Creates an instance from an array.
44 *
45 * @param array{
46 * ttl?: int|null
47 * } $data
48 * @phpstan-param array<string, mixed> $data
49 * @return self
50 */
51 public static function fromArray(array $data): self
52 {
53 return new self(
54 self::asIntOrNull($data['ttl'] ?? null)
55 );
56 }
57
58 /**
59 * Converts the instance to an array.
60 *
61 * @return array<string, mixed>
62 */
63 public function toArray(): array
64 {
65 $result = [];
66
67 if ($this->ttl !== null) {
68 $result['ttl'] = $this->ttl;
69 }
70
71 return $result;
72 }
73
74 /**
75 * @return int|null
76 */
77 public function getTtl(): ?int
78 {
79 return $this->ttl;
80 }
81 }
82