{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Chat\/SendChatMessageUseCase.php",
"limit": 50
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Chat\/SendChatMessageUseCase.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Chat;\n\n\/\/ @responsibility: Orchestriert Chat-Nachrichten (Validierung, AI-Antwort, Speicherung)\n\nuse Infrastructure\\AI\\ChatService;\nuse Infrastructure\\AI\\ContentQualityValidator;\nuse Infrastructure\\Persistence\\ChatMessageRepository;\nuse Infrastructure\\Persistence\\ChatSessionRepository;\nuse Infrastructure\\Persistence\\ContentConfigRepository;\n\nclass SendChatMessageUseCase\n{\n private ChatService $chatService;\n private ChatSessionRepository $sessionRepo;\n private ChatMessageRepository $messageRepo;\n private ContentConfigRepository $configRepo;\n private ContentQualityValidator $qualityValidator;\n\n public function __construct(\n ?ChatService $chatService = null,\n ?ChatSessionRepository $sessionRepo = null,\n ?ChatMessageRepository $messageRepo = null,\n ?ContentConfigRepository $configRepo = null,\n ?ContentQualityValidator $qualityValidator = null\n ) {\n $this->chatService = $chatService ?? $this->createDefaultChatService();\n $this->sessionRepo = $sessionRepo ?? new ChatSessionRepository();\n $this->messageRepo = $messageRepo ?? new ChatMessageRepository();\n $this->configRepo = $configRepo ?? new ContentConfigRepository();\n $this->qualityValidator = $qualityValidator ?? new ContentQualityValidator();\n }\n\n \/**\n * Execute the use case\n *\n * @param string $sessionUuid Session UUID\n * @param string $message User message text\n * @param string $model AI model identifier\n * @param array<string> $collections Qdrant collections to search\n * @param int $contextLimit Number of context chunks\n * @param int $authorProfileId Author profile ID (0 = none)\n * @param int $systemPromptId System prompt config ID\n * @param float $temperature AI temperature setting\n * @param int $maxTokens Max tokens for response\n * @param int $structureId Output structure ID (0 = frei)\n * @param bool $qualityCheck Run quality validation on response",
"numLines": 50,
"startLine": 1,
"totalLines": 310
}
}
}