{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/ChatMessageRepositoryInterface.php"
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Domain\/Repository\/ChatMessageRepositoryInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Domain\\Repository;\n\n\/\/ @responsibility: Vertrag für Chat-Nachrichten-Persistenz\n\nuse Domain\\Entity\\ChatMessage;\n\ninterface ChatMessageRepositoryInterface\n{\n \/**\n * Find messages by session ID as entities.\n *\n * @return array<int, ChatMessage>\n *\/\n public function findBySessionId(int $sessionId): array;\n\n \/**\n * Save a message entity.\n *\/\n public function saveEntity(ChatMessage $message): int;\n\n \/**\n * Save a message (legacy - use saveEntity() instead).\n *\n * @param array<string>|null $sources\n * @deprecated Use saveEntity() with ChatMessage entity instead\n * @see self::saveEntity()\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",
"numLines": 65,
"startLine": 1,
"totalLines": 65
}
}
}