{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Constants.php",
"old_string": " \/** Maximale Länge für Embedding-Text *\/\n public const int EMBEDDING_TEXT_LIMIT = 1000;",
"new_string": " \/** Maximale Länge für Embedding-Text *\/\n public const int EMBEDDING_TEXT_LIMIT = 1000;\n\n \/** Maximale Länge für vollständigen Embedding-Payload *\/\n public const int EMBEDDING_PAYLOAD_LIMIT = 1800;"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Constants.php",
"oldString": " \/** Maximale Länge für Embedding-Text *\/\n public const int EMBEDDING_TEXT_LIMIT = 1000;",
"newString": " \/** Maximale Länge für Embedding-Text *\/\n public const int EMBEDDING_TEXT_LIMIT = 1000;\n\n \/** Maximale Länge für vollständigen Embedding-Payload *\/\n public const int EMBEDDING_PAYLOAD_LIMIT = 1800;",
"originalFile": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain;\n\n\/\/ @responsibility: Zentrale benannte Konstanten für Magic Numbers\n\n\/**\n * Zentrale Konstanten für das KI-System.\n *\n * Diese Klasse enthält alle häufig verwendeten \"Magic Numbers\" als\n * benannte Konstanten für bessere Lesbarkeit und Wartbarkeit.\n *\/\nfinal class Constants\n{\n \/\/ =========================================================================\n \/\/ PAGINATION & LIMITS\n \/\/ =========================================================================\n\n \/** Standard-Limit für Datenbankabfragen *\/\n public const int DEFAULT_LIMIT = 100;\n\n \/** Standard-Seitengröße für Pagination *\/\n public const int PAGE_SIZE = 50;\n\n \/** Maximum für Batch-Operationen *\/\n public const int BATCH_LIMIT = 1000;\n\n \/** Standard-Offset für Pagination *\/\n public const int DEFAULT_OFFSET = 0;\n\n \/\/ =========================================================================\n \/\/ TIME CONVERSIONS\n \/\/ =========================================================================\n\n \/** Millisekunden pro Sekunde *\/\n public const int MS_PER_SECOND = 1000;\n\n \/** Sekunden pro Minute *\/\n public const int SECONDS_PER_MINUTE = 60;\n\n \/** Minuten pro Stunde *\/\n public const int MINUTES_PER_HOUR = 60;\n\n \/** Stunden pro Tag *\/\n public const int HOURS_PER_DAY = 24;\n\n \/** Tage pro Jahr *\/\n public const int DAYS_PER_YEAR = 365;\n\n \/** Sekunden pro Stunde *\/\n public const int SECONDS_PER_HOUR = 3600;\n\n \/** Sekunden pro Tag *\/\n public const int SECONDS_PER_DAY = 86400;\n\n \/\/ =========================================================================\n \/\/ PERCENTAGES\n \/\/ =========================================================================\n\n \/** 100 Prozent (für Berechnungen) *\/\n public const int PERCENT_FULL = 100;\n\n \/** 50 Prozent *\/\n public const int PERCENT_HALF = 50;\n\n \/\/ =========================================================================\n \/\/ TIMEOUTS (in Sekunden)\n \/\/ =========================================================================\n\n \/** Standard-Timeout für HTTP-Requests *\/\n public const int HTTP_TIMEOUT = 30;\n\n \/** Timeout für LLM-Anfragen *\/\n public const int LLM_TIMEOUT = 120;\n\n \/** Health-Check Timeout *\/\n public const int HEALTH_CHECK_TIMEOUT = 5;\n\n \/\/ =========================================================================\n \/\/ FIELD VALIDATION\n \/\/ =========================================================================\n\n \/** Maximale Länge für Name-Felder *\/\n public const int NAME_MAX_LENGTH = 100;\n\n \/** Maximale Länge für Titel-Felder *\/\n public const int TITLE_MAX_LENGTH = 200;\n\n \/** Minimale Token-Anzahl für LLM-Requests *\/\n public const int MIN_TOKENS = 100;\n\n \/** Maximale Token-Anzahl für LLM-Requests *\/\n public const int MAX_TOKENS = 16000;\n\n \/\/ =========================================================================\n \/\/ CHUNKING & TEXT\n \/\/ =========================================================================\n\n \/** Minimale Chunk-Größe in Zeichen *\/\n public const int MIN_CHUNK_SIZE = 100;\n\n \/** Maximale Chunk-Größe in Zeichen *\/\n public const int MAX_CHUNK_SIZE = 2000;\n\n \/** Chunk-Overlap in Prozent *\/\n public const int CHUNK_OVERLAP_PERCENT = 10;\n\n \/** Maximale Länge für Embedding-Text *\/\n public const int EMBEDDING_TEXT_LIMIT = 1000;\n\n \/\/ =========================================================================\n \/\/ RETRY & BACKOFF\n \/\/ =========================================================================\n\n \/** Maximale Anzahl Wiederholungsversuche *\/\n public const int MAX_RETRIES = 3;\n\n \/** Basis für exponentielles Backoff in Sekunden *\/\n public const int RETRY_BACKOFF_BASE = 2;\n\n \/\/ =========================================================================\n \/\/ SCORE THRESHOLDS\n \/\/ =========================================================================\n\n \/** Minimum-Score für \"gut\" *\/\n public const int SCORE_GOOD = 80;\n\n \/** Minimum-Score für \"akzeptabel\" *\/\n public const int SCORE_ACCEPTABLE = 60;\n\n \/** Hard-Fail Score bei kritischen Issues *\/\n public const int SCORE_HARD_FAIL = 20;\n\n \/\/ Keine Instanziierung erlaubt\n private function __construct()\n {\n }\n}\n",
"structuredPatch": [
{
"oldStart": 110,
"oldLines": 6,
"newStart": 110,
"newLines": 9,
"lines": [
" \/** Maximale Länge für Embedding-Text *\/",
" public const int EMBEDDING_TEXT_LIMIT = 1000;",
" ",
"+ \/** Maximale Länge für vollständigen Embedding-Payload *\/",
"+ public const int EMBEDDING_PAYLOAD_LIMIT = 1800;",
"+",
" \/\/ =========================================================================",
" \/\/ RETRY & BACKOFF",
" \/\/ ========================================================================="
]
}
],
"userModified": false,
"replaceAll": false
}
}