{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ContentController.php",
"offset": 144,
"limit": 80
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ContentController.php",
"content": " public function show(int $id): void\n {\n $order = $this->repository->findOrder($id);\n if ($order === null) {\n $this->notFound('Auftrag nicht gefunden');\n }\n\n $versions = $this->repository->findVersionsByOrder($id);\n $latestVersion = $versions[0] ?? null;\n\n $this->view('content.show', [\n 'title' => $order['title'],\n 'order' => $order,\n 'versions' => $versions,\n 'latestVersion' => $latestVersion,\n 'critiques' => $latestVersion ? $this->repository->findCritiquesByVersion($latestVersion['id']) : [],\n 'sources' => $this->repository->findSourcesByOrder($id),\n 'models' => $this->modelRegistry->getChatModels(),\n 'availableCollections' => $this->collectionService->getAvailable(),\n 'systemPrompts' => $this->repository->findAllSystemPrompts(),\n 'allCritics' => $this->repository->findAllCritics(),\n ]);\n }\n\n \/**\n * GET \/content\/{id}\/edit - Show edit form\n *\/\n public function edit(int $id): void\n {\n $order = $this->repository->findOrder($id);\n if ($order === null) {\n $this->notFound('Auftrag nicht gefunden');\n }\n\n $this->view('content.edit', [\n 'title' => 'Auftrag bearbeiten',\n 'order' => $order,\n 'profiles' => $this->repository->findAllProfiles(),\n 'contracts' => $this->repository->findAllContracts(),\n 'structures' => $this->repository->findAllStructures(),\n 'systemPrompts' => $this->repository->findAllSystemPrompts(),\n 'critics' => $this->repository->findAllCritics(),\n 'models' => $this->modelRegistry->getChatModels(),\n 'collections' => $this->collectionService->getAvailable(),\n ]);\n }\n\n \/**\n * POST \/content\/{id}\/generate - Start async content generation (HTMX)\n *\/\n public function generate(int $id): void\n {\n $this->requireCsrf();\n\n $command = GenerateContentCommand::fromRequest($id, $_POST);\n if (($errors = $command->validate()) !== []) {\n $this->htmxError(implode(' ', $errors));\n\n return;\n }\n\n $result = $this->collectionService->validateWithCompatibility([$command->collection]);\n if (!$result['valid']) {\n $this->htmxError($result['error'] ?? 'Collection-Fehler');\n\n return;\n }\n\n \/\/ Set status to generating and start async\n $this->repository->updateGenerationStatus($id, 'generating');\n $this->generateUseCase->generateAsync($id, $command->model, $result['collections'][0], $command->contextLimit);\n\n \/\/ Return polling partial\n $this->view('content.partials.generating', ['orderId' => $id]);\n }\n\n \/**\n * GET \/content\/{id}\/generation-status - Poll generation status (HTMX)\n *\/\n public function generationStatus(int $id): void",
"numLines": 80,
"startLine": 144,
"totalLines": 435
}
}
}