{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Prompts\/PromptDTO.php",
"old_string": "final class PromptDTO\n{\n public function __construct(\n public readonly ?int $id,\n public readonly string $name,\n public readonly string $version,\n public readonly string $content,\n public readonly bool $isActive,\n public readonly int $criticCount = 0,\n ) {\n }\n\n public static function fromArray(array $data): self\n {\n return new self(\n id: isset($data['id']) ? (int) $data['id'] : null,\n name: $data['name'] ?? '',\n version: $data['version'] ?? '1.0',\n content: $data['content'] ?? '',\n isActive: (bool) ($data['is_active'] ?? false),\n criticCount: (int) ($data['critic_count'] ?? 0),\n );\n }\n\n public function toArray(): array\n {\n return [\n 'id' => $this->id,\n 'name' => $this->name,\n 'version' => $this->version,\n 'content' => $this->content,\n 'is_active' => $this->isActive,\n 'critic_count' => $this->criticCount,\n ];\n }\n}",
"new_string": "final class PromptDTO\n{\n public function __construct(\n public readonly ?int $id,\n public readonly string $name,\n public readonly string $version,\n public readonly string $content,\n public readonly bool $isActive,\n public readonly int $criticCount = 0,\n public readonly ?string $createdAt = null,\n public readonly ?string $updatedAt = null,\n ) {\n }\n\n public static function fromArray(array $data): self\n {\n return new self(\n id: isset($data['id']) ? (int) $data['id'] : null,\n name: $data['name'] ?? '',\n version: $data['version'] ?? '1.0',\n content: $data['content'] ?? '',\n isActive: (bool) ($data['is_active'] ?? false),\n criticCount: (int) ($data['critic_count'] ?? 0),\n createdAt: $data['created_at'] ?? null,\n updatedAt: $data['updated_at'] ?? null,\n );\n }\n\n public function toArray(): array\n {\n return [\n 'id' => $this->id,\n 'name' => $this->name,\n 'version' => $this->version,\n 'content' => $this->content,\n 'is_active' => $this->isActive,\n 'critic_count' => $this->criticCount,\n 'created_at' => $this->createdAt,\n 'updated_at' => $this->updatedAt,\n ];\n }\n}"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Prompts\/PromptDTO.php",
"oldString": "final class PromptDTO\n{\n public function __construct(\n public readonly ?int $id,\n public readonly string $name,\n public readonly string $version,\n public readonly string $content,\n public readonly bool $isActive,\n public readonly int $criticCount = 0,\n ) {\n }\n\n public static function fromArray(array $data): self\n {\n return new self(\n id: isset($data['id']) ? (int) $data['id'] : null,\n name: $data['name'] ?? '',\n version: $data['version'] ?? '1.0',\n content: $data['content'] ?? '',\n isActive: (bool) ($data['is_active'] ?? false),\n criticCount: (int) ($data['critic_count'] ?? 0),\n );\n }\n\n public function toArray(): array\n {\n return [\n 'id' => $this->id,\n 'name' => $this->name,\n 'version' => $this->version,\n 'content' => $this->content,\n 'is_active' => $this->isActive,\n 'critic_count' => $this->criticCount,\n ];\n }\n}",
"newString": "final class PromptDTO\n{\n public function __construct(\n public readonly ?int $id,\n public readonly string $name,\n public readonly string $version,\n public readonly string $content,\n public readonly bool $isActive,\n public readonly int $criticCount = 0,\n public readonly ?string $createdAt = null,\n public readonly ?string $updatedAt = null,\n ) {\n }\n\n public static function fromArray(array $data): self\n {\n return new self(\n id: isset($data['id']) ? (int) $data['id'] : null,\n name: $data['name'] ?? '',\n version: $data['version'] ?? '1.0',\n content: $data['content'] ?? '',\n isActive: (bool) ($data['is_active'] ?? false),\n criticCount: (int) ($data['critic_count'] ?? 0),\n createdAt: $data['created_at'] ?? null,\n updatedAt: $data['updated_at'] ?? null,\n );\n }\n\n public function toArray(): array\n {\n return [\n 'id' => $this->id,\n 'name' => $this->name,\n 'version' => $this->version,\n 'content' => $this->content,\n 'is_active' => $this->isActive,\n 'critic_count' => $this->criticCount,\n 'created_at' => $this->createdAt,\n 'updated_at' => $this->updatedAt,\n ];\n }\n}",
"originalFile": "<?php\n\nnamespace UseCases\\Prompts;\n\nfinal class PromptDTO\n{\n public function __construct(\n public readonly ?int $id,\n public readonly string $name,\n public readonly string $version,\n public readonly string $content,\n public readonly bool $isActive,\n public readonly int $criticCount = 0,\n ) {\n }\n\n public static function fromArray(array $data): self\n {\n return new self(\n id: isset($data['id']) ? (int) $data['id'] : null,\n name: $data['name'] ?? '',\n version: $data['version'] ?? '1.0',\n content: $data['content'] ?? '',\n isActive: (bool) ($data['is_active'] ?? false),\n criticCount: (int) ($data['critic_count'] ?? 0),\n );\n }\n\n public function toArray(): array\n {\n return [\n 'id' => $this->id,\n 'name' => $this->name,\n 'version' => $this->version,\n 'content' => $this->content,\n 'is_active' => $this->isActive,\n 'critic_count' => $this->criticCount,\n ];\n }\n}\n",
"structuredPatch": [
{
"oldStart": 11,
"oldLines": 6,
"newStart": 11,
"newLines": 8,
"lines": [
" public readonly string $content,",
" public readonly bool $isActive,",
" public readonly int $criticCount = 0,",
"+ public readonly ?string $createdAt = null,",
"+ public readonly ?string $updatedAt = null,",
" ) {",
" }",
" "
]
},
{
"oldStart": 23,
"oldLines": 6,
"newStart": 25,
"newLines": 8,
"lines": [
" content: $data['content'] ?? '',",
" isActive: (bool) ($data['is_active'] ?? false),",
" criticCount: (int) ($data['critic_count'] ?? 0),",
"+ createdAt: $data['created_at'] ?? null,",
"+ updatedAt: $data['updated_at'] ?? null,",
" );",
" }",
" "
]
},
{
"oldStart": 35,
"oldLines": 6,
"newStart": 39,
"newLines": 8,
"lines": [
" 'content' => $this->content,",
" 'is_active' => $this->isActive,",
" 'critic_count' => $this->criticCount,",
"+ 'created_at' => $this->createdAt,",
"+ 'updated_at' => $this->updatedAt,",
" ];",
" }",
" }"
]
}
],
"userModified": false,
"replaceAll": false
}
}