{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/ChatMessageRepositoryInterface.php",
"old_string": "<?php\n\nnamespace Domain\\Repository;\n\n\/**\n * Interface for Chat Message Repository operations.\n *\/\ninterface ChatMessageRepositoryInterface",
"new_string": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Vertrag für Chat-Nachrichten-Persistenz\n\ninterface ChatMessageRepositoryInterface"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/ChatMessageRepositoryInterface.php",
"oldString": "<?php\n\nnamespace Domain\\Repository;\n\n\/**\n * Interface for Chat Message Repository operations.\n *\/\ninterface ChatMessageRepositoryInterface",
"newString": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Vertrag für Chat-Nachrichten-Persistenz\n\ninterface ChatMessageRepositoryInterface",
"originalFile": "<?php\n\nnamespace Domain\\Repository;\n\n\/**\n * Interface for Chat Message Repository operations.\n *\/\ninterface ChatMessageRepositoryInterface\n{\n \/**\n * Find messages by session ID.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function findBySessionId(int $sessionId): array;\n\n \/**\n * Save a message.\n *\n * @param array<string>|null $sources\n *\/\n public function save(\n int $sessionId,\n string $role,\n string $content,\n string $model,\n ?int $tokensInput = null,\n ?int $tokensOutput = null,\n ?array $sources = null,\n ?float $startMicrotime = null,\n ?float $endMicrotime = null,\n ?int $authorProfileId = null,\n ?int $systemPromptId = null,\n ?string $collectionsJson = null,\n ?int $contextLimit = null\n ): int;\n\n \/**\n * Delete message by ID.\n *\/\n public function delete(int $id): void;\n\n \/**\n * Delete all messages for a session.\n *\/\n public function deleteBySessionId(int $sessionId): void;\n\n \/**\n * Get message statistics for a session.\n *\n * @return array{message_count: int, total_input_tokens: int, total_output_tokens: int, total_duration: float}\n *\/\n public function getSessionStats(int $sessionId): array;\n}\n",
"structuredPatch": [
{
"oldStart": 1,
"oldLines": 10,
"newStart": 1,
"newLines": 11,
"lines": [
" <?php",
" ",
"+declare(strict_types=1);",
"+",
" namespace Domain\\Repository;",
" ",
"-\/**",
"- * Interface for Chat Message Repository operations.",
"- *\/",
"+\/\/ @responsibility: Vertrag für Chat-Nachrichten-Persistenz",
"+",
" interface ChatMessageRepositoryInterface",
" {",
" \/**"
]
}
],
"userModified": false,
"replaceAll": false
}
}