Protokoll #27322

ID27322
Zeitstempel2025-12-28 03:04:16.386799
Clientroot
IP145.224.72.140
Modellclaude-sonnet-4-20250514
Statuspending
Tokens977 (Input: 977, Output: 0)
Dauer-
Request-Zeit2025-12-28 03:04:16.386799
Response-Zeit-

Request

{
    "event": "PostToolUse",
    "tool_name": "Read",
    "tool_response": {
        "type": "text",
        "file": {
            "filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/SemanticExplorerController.php",
            "content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Controller;\n\n\/\/ @responsibility: HTTP-Endpunkte für Semantic Explorer (Nutzdaten, Vektor-Suche)\n\nuse Domain\\Repository\\ChunkRepositoryInterface;\nuse Domain\\Repository\\DocumentRepositoryInterface;\nuse Domain\\Repository\\EntityRepositoryInterface;\nuse Domain\\Repository\\RelationRepositoryInterface;\nuse Domain\\Repository\\SemanticSearchRepositoryInterface;\nuse Framework\\Controller;\nuse Infrastructure\\AI\\VectorSearchService;\n\nclass SemanticExplorerController extends Controller\n{\n    private DocumentRepositoryInterface $documentRepository;\n    private ChunkRepositoryInterface $chunkRepository;\n    private EntityRepositoryInterface $entityRepository;\n    private RelationRepositoryInterface $relationRepository;\n    private SemanticSearchRepositoryInterface $semanticSearchRepository;\n    private VectorSearchService $vectorSearchService;\n\n    public function __construct(\n        DocumentRepositoryInterface $documentRepository,\n        ChunkRepositoryInterface $chunkRepository,\n        EntityRepositoryInterface $entityRepository,\n        RelationRepositoryInterface $relationRepository,\n        SemanticSearchRepositoryInterface $semanticSearchRepository,\n        VectorSearchService $vectorSearchService\n    ) {\n        $this->documentRepository = $documentRepository;\n        $this->chunkRepository = $chunkRepository;\n        $this->entityRepository = $entityRepository;\n        $this->relationRepository = $relationRepository;\n        $this->semanticSearchRepository = $semanticSearchRepository;\n        $this->vectorSearchService = $vectorSearchService;\n    }\n\n    \/**\n     * GET \/semantic-explorer\n     * Dashboard mit Statistiken\n     *\/\n    public function index(): void\n    {\n        $docStats = $this->documentRepository->getStats();\n        $chunkStats = $this->chunkRepository->getStats();\n        $semanticStats = $this->semanticSearchRepository->getSemanticStats();\n        $documents = $this->documentRepository->findAll();\n        $recentChunks = $this->chunkRepository->findRecent(5);\n\n        $this->view('semantic-explorer.index', [\n            'title' => 'Semantic Explorer',\n            'docStats' => $docStats,\n            'chunkStats' => $chunkStats,\n            'semanticStats' => $semanticStats,\n            'documents' => $documents,\n            'recentChunks' => $recentChunks,\n        ]);\n    }\n\n    \/**\n     * GET \/semantic-explorer\/dokumente\n     * Liste aller Dokumente\n     *\/\n    public function dokumente(): void\n    {\n        $status = $this->getString('status');\n        $search = $this->getString('search');\n\n        $documents = $this->documentRepository->findFiltered($status, $search);\n\n        $this->view('semantic-explorer.dokumente.index', [\n            'title' => 'Dokumente',\n            'documents' => $documents,\n            'currentStatus' => $status,\n            'currentSearch' => $search,\n        ]);\n    }\n\n    \/**\n     * GET \/semantic-explorer\/dokumente\/{id}\n     * Dokument-Details mit Chunks\n     *\/\n    public function dokumentShow(int $id): void\n    {\n        $document = $this->documentRepository->find($id);\n\n        if ($document === null) {\n            $this->notFound('Dokument nicht gefunden');\n        }\n\n        $chunks = $this->chunkRepository->findByDocument($id);\n\n        \/\/ Heading-Paths dekodieren\n        foreach ($chunks as &$chunk) {\n            $chunk['heading_path_decoded'] = $this->decodeJson($chunk['heading_path'] ?? null);\n            $chunk['metadata_decoded'] = $this->decodeJson($chunk['metadata'] ?? null);",
            "numLines": 100,
            "startLine": 1,
            "totalLines": 296
        }
    }
}

Response

-
← Vorheriger Zur Liste Nächster →