{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/scripts\/pipeline\/analyzers\/entity_extractor.py",
"offset": 235,
"limit": 30
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/scripts\/pipeline\/analyzers\/entity_extractor.py",
"content": " status=\"completed\",\n )\n\n # Normalize output\n entities = []\n for e in categorized:\n if isinstance(e, dict) and \"name\" in e and \"type\" in e:\n # Final validation\n if _validate_entity_in_text(e[\"name\"], text):\n entities.append({\n \"name\": e[\"name\"],\n \"type\": e[\"type\"].upper(),\n \"description\": e.get(\"description\"),\n })\n\n return entities\n\n except Exception as e:\n db.log(\"ERROR\", f\"2-pass entity extraction failed: {e}\")\n return []\n\n\ndef _extract_entities_single_pass(text: str, model: str) -> list[dict]:\n \"\"\"Single-pass entity extraction (legacy fallback).\"\"\"\n prompt_data = db.get_prompt_by_use_case(\"entity_extraction\")\n prompt_content = prompt_data[\"content\"] if prompt_data else None\n\n if not prompt_content:\n db.log(\"WARNING\", \"entity_extraction prompt not found in DB, using fallback\")\n prompt_content = \"\"\"Analysiere den Text und extrahiere wichtige Entitäten.",
"numLines": 30,
"startLine": 235,
"totalLines": 472
}
}
}