{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Chat\/GetChatSessionUseCaseInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Chat;\n\n\/\/ @responsibility: Interface for retrieving chat session data\n\nuse Domain\\Entity\\ChatMessage;\nuse Domain\\Entity\\ChatSession;\n\ninterface GetChatSessionUseCaseInterface\n{\n \/**\n * Get session by UUID.\n *\/\n public function getSession(string $uuid): ?ChatSession;\n\n \/**\n * Get all sessions as entities.\n *\n * @return array<int, ChatSession>\n *\/\n public function getAllSessions(int $limit = 50): array;\n\n \/**\n * Get all sessions with stats as arrays.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getAllSessionsWithStats(int $limit = 50): array;\n\n \/**\n * Get messages for a session.\n *\n * @return array<int, ChatMessage>\n *\/\n public function getMessages(int $sessionId): array;\n\n \/**\n * Get author profiles.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getAuthorProfiles(): array;\n\n \/**\n * Get system prompts.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getSystemPrompts(): array;\n\n \/**\n * Get output structures.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getOutputStructures(): array;\n\n \/**\n * Get a single structure by ID.\n *\n * @return array<string, mixed>|null\n *\/\n public function getStructure(int $id): ?array;\n\n \/**\n * Get available collections.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getAvailableCollections(): array;\n\n \/**\n * Get default system prompt.\n *\/\n public function getDefaultSystemPrompt(): string;\n}\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/UseCases\/Chat\/GetChatSessionUseCaseInterface.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace UseCases\\Chat;\n\n\/\/ @responsibility: Interface for retrieving chat session data\n\nuse Domain\\Entity\\ChatMessage;\nuse Domain\\Entity\\ChatSession;\n\ninterface GetChatSessionUseCaseInterface\n{\n \/**\n * Get session by UUID.\n *\/\n public function getSession(string $uuid): ?ChatSession;\n\n \/**\n * Get all sessions as entities.\n *\n * @return array<int, ChatSession>\n *\/\n public function getAllSessions(int $limit = 50): array;\n\n \/**\n * Get all sessions with stats as arrays.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getAllSessionsWithStats(int $limit = 50): array;\n\n \/**\n * Get messages for a session.\n *\n * @return array<int, ChatMessage>\n *\/\n public function getMessages(int $sessionId): array;\n\n \/**\n * Get author profiles.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getAuthorProfiles(): array;\n\n \/**\n * Get system prompts.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getSystemPrompts(): array;\n\n \/**\n * Get output structures.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getOutputStructures(): array;\n\n \/**\n * Get a single structure by ID.\n *\n * @return array<string, mixed>|null\n *\/\n public function getStructure(int $id): ?array;\n\n \/**\n * Get available collections.\n *\n * @return array<int, array<string, mixed>>\n *\/\n public function getAvailableCollections(): array;\n\n \/**\n * Get default system prompt.\n *\/\n public function getDefaultSystemPrompt(): string;\n}\n",
"structuredPatch": [],
"originalFile": null
}
}