{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/ValueObject\/EntityType.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\ValueObject;\n\n\/\/ @responsibility: Entity-Typ-Enum für Wissensgraph-Entitäten\n\nenum EntityType: string\n{\n case PERSON = 'PERSON';\n case ORGANIZATION = 'ORGANIZATION';\n case LOCATION = 'LOCATION';\n case CONCEPT = 'CONCEPT';\n case METHOD = 'METHOD';\n case TOOL = 'TOOL';\n case EVENT = 'EVENT';\n case OTHER = 'OTHER';\n\n \/**\n * Get human-readable label.\n *\/\n public function label(): string\n {\n return match ($this) {\n self::PERSON => 'Person',\n self::ORGANIZATION => 'Organisation',\n self::LOCATION => 'Ort',\n self::CONCEPT => 'Konzept',\n self::METHOD => 'Methode',\n self::TOOL => 'Werkzeug',\n self::EVENT => 'Ereignis',\n self::OTHER => 'Sonstiges',\n };\n }\n\n \/**\n * Get icon for display.\n *\/\n public function icon(): string\n {\n return match ($this) {\n self::PERSON => 'user',\n self::ORGANIZATION => 'building',\n self::LOCATION => 'map-pin',\n self::CONCEPT => 'lightbulb',\n self::METHOD => 'clipboard-list',\n self::TOOL => 'wrench',\n self::EVENT => 'calendar',\n self::OTHER => 'box',\n };\n }\n\n \/**\n * Get CSS color class.\n *\/\n public function colorClass(): string\n {\n return match ($this) {\n self::PERSON => 'blue',\n self::ORGANIZATION => 'purple',\n self::LOCATION => 'green',\n self::CONCEPT => 'yellow',\n self::METHOD => 'orange',\n self::TOOL => 'gray',\n self::EVENT => 'red',\n self::OTHER => 'slate',\n };\n }\n\n \/**\n * Check if this is a primary entity type (commonly extracted).\n *\/\n public function isPrimary(): bool\n {\n return in_array($this, [self::PERSON, self::ORGANIZATION, self::CONCEPT], true);\n }\n}\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/ValueObject\/EntityType.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\ValueObject;\n\n\/\/ @responsibility: Entity-Typ-Enum für Wissensgraph-Entitäten\n\nenum EntityType: string\n{\n case PERSON = 'PERSON';\n case ORGANIZATION = 'ORGANIZATION';\n case LOCATION = 'LOCATION';\n case CONCEPT = 'CONCEPT';\n case METHOD = 'METHOD';\n case TOOL = 'TOOL';\n case EVENT = 'EVENT';\n case OTHER = 'OTHER';\n\n \/**\n * Get human-readable label.\n *\/\n public function label(): string\n {\n return match ($this) {\n self::PERSON => 'Person',\n self::ORGANIZATION => 'Organisation',\n self::LOCATION => 'Ort',\n self::CONCEPT => 'Konzept',\n self::METHOD => 'Methode',\n self::TOOL => 'Werkzeug',\n self::EVENT => 'Ereignis',\n self::OTHER => 'Sonstiges',\n };\n }\n\n \/**\n * Get icon for display.\n *\/\n public function icon(): string\n {\n return match ($this) {\n self::PERSON => 'user',\n self::ORGANIZATION => 'building',\n self::LOCATION => 'map-pin',\n self::CONCEPT => 'lightbulb',\n self::METHOD => 'clipboard-list',\n self::TOOL => 'wrench',\n self::EVENT => 'calendar',\n self::OTHER => 'box',\n };\n }\n\n \/**\n * Get CSS color class.\n *\/\n public function colorClass(): string\n {\n return match ($this) {\n self::PERSON => 'blue',\n self::ORGANIZATION => 'purple',\n self::LOCATION => 'green',\n self::CONCEPT => 'yellow',\n self::METHOD => 'orange',\n self::TOOL => 'gray',\n self::EVENT => 'red',\n self::OTHER => 'slate',\n };\n }\n\n \/**\n * Check if this is a primary entity type (commonly extracted).\n *\/\n public function isPrimary(): bool\n {\n return in_array($this, [self::PERSON, self::ORGANIZATION, self::CONCEPT], true);\n }\n}\n",
"structuredPatch": [],
"originalFile": null
}
}