ChunkRepositoryInterface.php
- Pfad:
src/Domain/Repository/ChunkRepositoryInterface.php - Namespace: Domain\Repository
- Zeilen: 86 | Größe: 2,689 Bytes
- Geändert: 2025-12-28 02:53:20 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 98
- Dependencies: 100 (25%)
- LOC: 100 (20%)
- Methods: 90 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Klassen 1
-
ChunkRepositoryInterfaceinterface Zeile 9
Funktionen 11
-
getStats()public Zeile 16 -
findRecent()public Zeile 23 -
findByDocument()public Zeile 30 -
findFiltered()public Zeile 37 -
count()public Zeile 42 -
find()public Zeile 49 -
findByDocumentAndIndex()public Zeile 56 -
getChunkEntities()public Zeile 63 -
getChunkTaxonomy()public Zeile 70 -
findChunksByEntity()public Zeile 77 -
getTextSemantics()public Zeile 84
Verwendet von 8
- ChatServiceProvider.php use
- ChunkRepository.php implements
- ChunkRepository.php use
- ContentServiceProvider.php use
- SemanticEnrichmentService.php use
- SemanticEnrichmentService.php constructor
- SemanticExplorerController.php use
- SemanticExplorerController.php constructor
Versionen 2
-
v2
2025-12-28 02:53 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation -
v1
2025-12-27 00:12 | claude-code-hook | modified
Claude Code Pre-Hook Backup vor Edit-Operation
Code
<?php
declare(strict_types=1);
namespace Domain\Repository;
// @responsibility: Interface für Chunk-Persistenz (Text-Chunks aus Dokumenten)
interface ChunkRepositoryInterface
{
/**
* Holt Chunk-Statistiken.
*
* @return array{total: int, tokens: int, embedded: int}
*/
public function getStats(): array;
/**
* Holt die neuesten Chunks.
*
* @return array<int, array{id: int, content: string, token_count: int, created_at: string, qdrant_id: ?string, filename: string}>
*/
public function findRecent(int $limit = 5): array;
/**
* Holt alle Chunks für ein Dokument.
*
* @return array<int, array{id: int, chunk_index: int, content: string, token_count: int, heading_path: ?string, metadata: ?string, qdrant_id: ?string, created_at: string}>
*/
public function findByDocument(int $documentId): array;
/**
* Holt gefilterte Chunks mit Pagination.
*
* @return array<int, array>
*/
public function findFiltered(string $search = '', string $embedded = '', int $limit = 50, int $offset = 0): array;
/**
* Zählt Chunks nach Filter-Kriterien.
*/
public function count(string $search = '', string $embedded = ''): int;
/**
* Findet einen Chunk nach ID mit Document-Info.
*
* @return array|null
*/
public function find(int $id): ?array;
/**
* Findet einen Chunk nach Document-ID und Index.
*
* @return array{id: int, chunk_index: int}|null
*/
public function findByDocumentAndIndex(int $documentId, int $chunkIndex): ?array;
/**
* Holt Entitäten für einen Chunk (Graceful Degradation: leeres Array wenn keine).
*
* @return array<int, array{id: int, name: string, type: string, relevance_score: float}>
*/
public function getChunkEntities(int $chunkId): array;
/**
* Holt Taxonomie-Mappings für einen Chunk (Graceful Degradation: leeres Array wenn keine).
*
* @return array<int, array{term_id: int, term_name: string, term_path: string, confidence: float}>
*/
public function getChunkTaxonomy(int $chunkId): array;
/**
* Findet Chunks die eine bestimmte Entität enthalten.
*
* @return array<int, array{chunk_id: int, content: string, relevance_score: float}>
*/
public function findChunksByEntity(int $entityId, int $limit = 10): array;
/**
* Holt Text-Semantik für einen Chunk.
*
* @return array{statement_form: ?string, intent: ?string, frame: ?string, is_negated: bool, discourse_role: ?string, model_used: ?string}|null
*/
public function getTextSemantics(int $chunkId): ?array;
}