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 / Tasks / DTO / RelatedTaskMetadata.php

RelatedTaskMetadata.php in ZIP AI – AI Website Builder & AI Agent (Beta) 0.0.8, at lib/php-mcp-schema/src/Client/Tasks/DTO/RelatedTaskMetadata.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 associating messages with a task.
12 * Include this in the `_meta` field under the key `io.modelcontextprotocol/related-task`.
13 *
14 * @since 2025-11-25
15 *
16 * @mcp-domain Client
17 * @mcp-subdomain Tasks
18 * @mcp-version 2025-11-25
19 */
20 class RelatedTaskMetadata extends AbstractDataTransferObject
21 {
22 use ValidatesRequiredFields;
23
24 /**
25 * The task identifier this message is associated with.
26 *
27 * @since 2025-11-25
28 *
29 * @var string
30 */
31 protected string $taskId;
32
33 /**
34 * @param string $taskId @since 2025-11-25
35 */
36 public function __construct(
37 string $taskId
38 ) {
39 $this->taskId = $taskId;
40 }
41
42 /**
43 * Creates an instance from an array.
44 *
45 * @param array{
46 * taskId: string
47 * } $data
48 * @phpstan-param array<string, mixed> $data
49 * @return self
50 */
51 public static function fromArray(array $data): self
52 {
53 self::assertRequired($data, ['taskId']);
54
55 return new self(
56 self::asString($data['taskId'])
57 );
58 }
59
60 /**
61 * Converts the instance to an array.
62 *
63 * @return array<string, mixed>
64 */
65 public function toArray(): array
66 {
67 $result = [];
68
69 $result['taskId'] = $this->taskId;
70
71 return $result;
72 }
73
74 /**
75 * @return string
76 */
77 public function getTaskId(): string
78 {
79 return $this->taskId;
80 }
81 }
82