{
"event": "PostToolUse",
"raw_data": {
"session_id": "18ef5bf3-e872-4052-897e-53d6dc45b0b9",
"transcript_path": "\/root\/.claude\/projects\/-var-www\/18ef5bf3-e872-4052-897e-53d6dc45b0b9.jsonl",
"cwd": "\/var\/www",
"permission_mode": "acceptEdits",
"hook_event_name": "PostToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/tools\/ki-protokoll\/claude-hook\/file_backup_hook.py",
"limit": 45
},
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/tools\/ki-protokoll\/claude-hook\/file_backup_hook.py",
"content": "#!\/usr\/bin\/env python3\n\"\"\"\nFile Backup Hook für Claude Code PreToolUse Events\n\nSichert Dateien automatisch in file_backup_history BEVOR sie von\nClaude Code (Edit\/Write Tools) geändert werden.\n\nTrigger: PreToolUse (Edit, Write)\nTarget: ki_protokoll.file_backup_history\n\nVersion: 1.0\nErstellt: 2025-12-20\n\"\"\"\n\nimport json\nimport os\nimport sys\nimport hashlib\nimport pymysql\nfrom pathlib import Path\nfrom typing import Dict, Any, Optional\nfrom datetime import datetime\n\n# .env aus Hook-Verzeichnis laden\nfrom dotenv import load_dotenv\nload_dotenv(Path(__file__).parent \/ '.env')\n\n# =============================================================================\n# KONFIGURATION\n# =============================================================================\n\nDB_CONFIG = {\n 'host': os.environ.get('CLAUDE_DB_HOST', 'localhost'),\n 'port': int(os.environ.get('CLAUDE_DB_PORT', '3306')),\n 'user': os.environ.get('CLAUDE_DB_USER', 'root'),\n 'password': os.environ.get('CLAUDE_DB_PASSWORD', ''),\n 'database': os.environ.get('CLAUDE_DB_NAME', 'ki_protokoll'),\n 'charset': 'utf8mb4'\n}\n\n# Welche Verzeichnisse sollen gesichert werden?\nBACKUP_DIRS = [\n '\/var\/www\/dev.campus.systemische-tools.de\/src',\n '\/var\/www\/dev.campus.systemische-tools.de\/public',\n '\/var\/www\/dev.campus.systemische-tools.de\/scripts',",
"numLines": 45,
"startLine": 1,
"totalLines": 267
}
},
"tool_use_id": "toolu_01Ay1uNQgpoXLkPsv42EL3sj"
}
}