{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/ChunkTaxonomyRepositoryInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Interface für Chunk-Taxonomie-Mapping Persistenz\n\nuse Domain\\Entity\\ChunkTaxonomyMapping;\n\ninterface ChunkTaxonomyRepositoryInterface\n{\n \/**\n * Findet alle Taxonomie-Mappings für einen Chunk.\n *\n * @return array<ChunkTaxonomyMapping>\n *\/\n public function findByChunkId(int $chunkId): array;\n\n \/**\n * Findet alle Chunks, die einem Taxonomie-Begriff zugeordnet sind.\n *\n * @return array<array{chunk_id: int, confidence: float, source: string}>\n *\/\n public function findByTaxonomyTermId(int $termId): array;\n\n \/**\n * Speichert ein Chunk-Taxonomie-Mapping.\n *\/\n public function save(ChunkTaxonomyMapping $mapping): int;\n\n \/**\n * Löscht ein Mapping nach ID.\n *\/\n public function delete(int $id): bool;\n\n \/**\n * Löscht alle Mappings für einen Chunk.\n *\/\n public function deleteByChunkId(int $chunkId): int;\n\n \/**\n * Findet Chunks ohne Taxonomie-Mapping.\n *\n * @return array<array{id: int, document_id: int, content: string}>\n *\/\n public function getUnmappedChunks(int $limit = 100): array;\n\n \/**\n * Prüft ob ein Mapping existiert.\n *\/\n public function exists(int $chunkId, int $taxonomyTermId): bool;\n\n \/**\n * Zählt Mappings pro Taxonomie-Begriff.\n *\n * @return array<int, int> [term_id => count]\n *\/\n public function countByTaxonomyTerm(): array;\n}\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/ChunkTaxonomyRepositoryInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Interface für Chunk-Taxonomie-Mapping Persistenz\n\nuse Domain\\Entity\\ChunkTaxonomyMapping;\n\ninterface ChunkTaxonomyRepositoryInterface\n{\n \/**\n * Findet alle Taxonomie-Mappings für einen Chunk.\n *\n * @return array<ChunkTaxonomyMapping>\n *\/\n public function findByChunkId(int $chunkId): array;\n\n \/**\n * Findet alle Chunks, die einem Taxonomie-Begriff zugeordnet sind.\n *\n * @return array<array{chunk_id: int, confidence: float, source: string}>\n *\/\n public function findByTaxonomyTermId(int $termId): array;\n\n \/**\n * Speichert ein Chunk-Taxonomie-Mapping.\n *\/\n public function save(ChunkTaxonomyMapping $mapping): int;\n\n \/**\n * Löscht ein Mapping nach ID.\n *\/\n public function delete(int $id): bool;\n\n \/**\n * Löscht alle Mappings für einen Chunk.\n *\/\n public function deleteByChunkId(int $chunkId): int;\n\n \/**\n * Findet Chunks ohne Taxonomie-Mapping.\n *\n * @return array<array{id: int, document_id: int, content: string}>\n *\/\n public function getUnmappedChunks(int $limit = 100): array;\n\n \/**\n * Prüft ob ein Mapping existiert.\n *\/\n public function exists(int $chunkId, int $taxonomyTermId): bool;\n\n \/**\n * Zählt Mappings pro Taxonomie-Begriff.\n *\n * @return array<int, int> [term_id => count]\n *\/\n public function countByTaxonomyTerm(): array;\n}\n",
"structuredPatch": [],
"originalFile": null
}
}