PluginProbe
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF / trunk
Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF vtrunk
2.3.4 2.3.3 2.3.2 2.3.1 2.3.0 2.2.9 2.2.8 trunk 1.10 1.3.3 1.3.4 1.3.5 1.3.5.1 1.3.5.2 1.3.6 1.3.6.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.5 All 103 releases
imagify / vendor / wordpress / php-mcp-schema / src / Client / Tasks / DTO / TaskMetadata.php

TaskMetadata.php in Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF trunk, at vendor/wordpress/php-mcp-schema/src/Client/Tasks/DTO/TaskMetadata.php

82 lines 1.6 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\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