{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/EntityRepository.php"
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/EntityRepositoryInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Interface für Entity-Persistenz (Entitäten + Beziehungen zu Chunks\/Ontologie)\n\nuse Domain\\Constants;\n\ninterface EntityRepositoryInterface\n{\n \/**\n * Holt gefilterte Entitäten mit Statistiken.\n *\n * @return array<int, array{id: int, name: string, type: string, description: ?string, chunk_count: int, relation_count: int}>\n *\/\n public function findFiltered(string $type = '', string $search = '', int $limit = Constants::DEFAULT_LIMIT): array;\n\n \/**\n * Holt Entity-Statistiken nach Typ.\n *\n * @return array<int, array{type: string, count: int}>\n *\/\n public function getStats(): array;\n\n \/**\n * Findet eine Entity nach ID.\n *\n * @return array|null\n *\/\n public function find(int $id): ?array;\n\n \/**\n * Holt Synonyme einer Entity.\n *\n * @return array<int, array>\n *\/\n public function findSynonyms(int $entityId): array;\n\n \/**\n * Holt ausgehende Relationen einer Entity.\n *\n * @return array<int, array>\n *\/\n public function getOutgoingRelations(int $entityId): array;\n\n \/**\n * Holt eingehende Relationen einer Entity.\n *\n * @return array<int, array>\n *\/\n public function getIncomingRelations(int $entityId): array;\n\n \/**\n * Holt Chunks, die eine Entity referenzieren.\n *\n * @return array<int, array{id: int, content: string, token_count: int, filename: string, relevance_score: float}>\n *\/\n public function findChunks(int $entityId, int $limit = 20): array;\n\n \/**\n * Holt Ontologie-Klassifikationen einer Entity.\n *\n * @return array<int, array>\n *\/\n public function findClassifications(int $entityId): array;\n\n \/**\n * Erstellt eine neue Entity.\n *\n * @return int ID der neuen Entity\n *\/\n public function create(string $name, string $type, ?string $description = null): int;\n\n \/**\n * Aktualisiert eine Entity.\n *\/\n public function update(int $id, string $name, string $type, ?string $description = null): bool;\n\n \/**\n * Löscht eine Entity (nur wenn keine Relationen vorhanden).\n *\n * @return bool False wenn Relationen vorhanden, True bei Erfolg\n *\/\n public function delete(int $id): bool;\n\n \/**\n * Holt vordefinierte Entity-Typen.\n *\n * @return array<string>\n *\/\n public function getTypes(): array;\n\n \/**\n * Holt alle Entitäten (minimale Daten für Select).\n *\n * @return array<int, array{id: int, name: string, type: string}>\n *\/\n public function findAllSimple(): array;\n}\n",
"numLines": 102,
"startLine": 1,
"totalLines": 102
}
}
}