{
"event": "PreToolUse",
"tool_name": "Bash",
"tool_input": {
"command": "cat << 'PYTHON' | DB_PASSWORD=\"v8mFLmkF2fth_r\" timeout 1800 .\/venv\/bin\/python\nimport sys\nimport time\nsys.path.insert(0, \"\/var\/www\/scripts\/pipeline\")\n\nfrom db import db\ndb.connect()\n\nfrom analyzers.entity_extractor import extract_entities_ollama, store_entities\n\ndoc_id = 1\n\n# Prüfe was schon da ist\ncursor = db.execute(\"SELECT COUNT(*) as cnt FROM entities\")\nexisting = cursor.fetchone()['cnt']\ncursor.close()\n\ncursor = db.execute(\"SELECT COUNT(*) as cnt FROM chunk_entities\")\nlinks = cursor.fetchone()['cnt']\ncursor.close()\n\nprint(f\"STATUS: {existing} Entitäten, {links} Chunk-Links\")\nprint()\n\n# Welche Chunks haben noch keine Entities?\ncursor = db.execute(\"\"\"\n SELECT c.id, c.chunk_index \n FROM chunks c \n WHERE c.document_id = %s \n AND c.id NOT IN (SELECT DISTINCT chunk_id FROM chunk_entities)\n ORDER BY c.chunk_index\n\"\"\", (doc_id,))\npending = cursor.fetchall()\ncursor.close()\n\nprint(f\"Noch zu verarbeiten: {len(pending)} Chunks\")\nprint(\"=\" * 70)\n\n# Type stats\ncursor = db.execute(\"SELECT type, COUNT(*) as cnt FROM entities GROUP BY type ORDER BY cnt DESC\")\nfor t in cursor.fetchall():\n print(f\" {t['type']:12s}: {t['cnt']}\")\ncursor.close()\nPYTHON",
"description": "Check current status"
}
}
{
"tool_response": {
"stdout": "STATUS: 242 Entitäten, 0 Chunk-Links\n\nNoch zu verarbeiten: 125 Chunks\n======================================================================\n CONCEPT : 188\n PERSON : 41\n ORGANIZATION: 8\n LOCATION : 5",
"stderr": "",
"interrupted": false,
"isImage": false
}
}