{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/PipelineRepository.php",
"offset": 200,
"limit": 200
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/Persistence\/PipelineRepository.php",
"content": " $params = [];\n\n if (isset($stepData['step_type'])) {\n $sets[] = 'step_type = ?';\n $params[] = $stepData['step_type'];\n }\n if (isset($stepData['config'])) {\n $sets[] = 'config = ?';\n $params[] = is_array($stepData['config'])\n ? json_encode($stepData['config'])\n : $stepData['config'];\n }\n if (isset($stepData['sort_order'])) {\n $sets[] = 'sort_order = ?';\n $params[] = $stepData['sort_order'];\n }\n if (isset($stepData['enabled'])) {\n $sets[] = 'enabled = ?';\n $params[] = $stepData['enabled'];\n }\n\n if ($sets === []) {\n return;\n }\n\n $params[] = $stepId;\n $stmt = $this->pdo->prepare(\n 'UPDATE pipeline_steps SET ' . implode(', ', $sets) . ' WHERE id = ?'\n );\n $stmt->execute($params);\n }\n\n public function deleteStep(int $stepId): void\n {\n $stmt = $this->pdo->prepare('DELETE FROM pipeline_steps WHERE id = ?');\n $stmt->execute([$stepId]);\n }\n\n \/**\n * @param array<int> $stepIds\n *\/\n public function reorderSteps(int $pipelineId, array $stepIds): void\n {\n $stmt = $this->pdo->prepare(\n 'UPDATE pipeline_steps SET sort_order = ? WHERE id = ? AND pipeline_id = ?'\n );\n\n foreach ($stepIds as $order => $stepId) {\n $stmt->execute([$order + 1, $stepId, $pipelineId]);\n }\n }\n\n public function findRuns(int $pipelineId, int $limit = 20): array\n {\n $stmt = $this->pdo->prepare(\n 'SELECT * FROM pipeline_runs WHERE pipeline_id = ? ORDER BY created_at DESC LIMIT ?'\n );\n $stmt->execute([$pipelineId, $limit]);\n\n return $stmt->fetchAll(\\PDO::FETCH_ASSOC);\n }\n\n public function findRunById(int $runId): ?array\n {\n $stmt = $this->pdo->prepare('SELECT * FROM pipeline_runs WHERE id = ?');\n $stmt->execute([$runId]);\n $result = $stmt->fetch(\\PDO::FETCH_ASSOC);\n\n return $result !== false ? $result : null;\n }\n\n public function findLatestRun(int $pipelineId): ?array\n {\n $stmt = $this->pdo->prepare(\n 'SELECT * FROM pipeline_runs WHERE pipeline_id = ? ORDER BY created_at DESC LIMIT 1'\n );\n $stmt->execute([$pipelineId]);\n $result = $stmt->fetch(\\PDO::FETCH_ASSOC);\n\n return $result !== false ? $result : null;\n }\n\n public function createRun(int $pipelineId): int\n {\n $stmt = $this->pdo->prepare(\n 'INSERT INTO pipeline_runs (pipeline_id, status, started_at) VALUES (?, ?, NOW())'\n );\n $stmt->execute([$pipelineId, 'running']);\n\n return (int) $this->pdo->lastInsertId();\n }\n\n public function updateRun(int $runId, array $data): void\n {\n $sets = [];\n $params = [];\n\n if (isset($data['status'])) {\n $sets[] = 'status = ?';\n $params[] = $data['status'];\n }\n if (isset($data['completed_at'])) {\n $sets[] = 'completed_at = ?';\n $params[] = $data['completed_at'];\n }\n if (isset($data['documents_total'])) {\n $sets[] = 'documents_total = ?';\n $params[] = $data['documents_total'];\n }\n if (isset($data['documents_processed'])) {\n $sets[] = 'documents_processed = ?';\n $params[] = $data['documents_processed'];\n }\n if (isset($data['documents_failed'])) {\n $sets[] = 'documents_failed = ?';\n $params[] = $data['documents_failed'];\n }\n if (isset($data['chunks_created'])) {\n $sets[] = 'chunks_created = ?';\n $params[] = $data['chunks_created'];\n }\n if (isset($data['error_log'])) {\n $sets[] = 'error_log = ?';\n $params[] = $data['error_log'];\n }\n\n if ($sets === []) {\n return;\n }\n\n $params[] = $runId;\n $stmt = $this->pdo->prepare(\n 'UPDATE pipeline_runs SET ' . implode(', ', $sets) . ' WHERE id = ?'\n );\n $stmt->execute($params);\n }\n\n public function getStatistics(): array\n {\n $stmt = $this->pdo->query(\n 'SELECT\n (SELECT COUNT(*) FROM pipeline_configs) as pipelines,\n (SELECT COUNT(*) FROM pipeline_runs) as runs_total,\n (SELECT COUNT(*) FROM pipeline_runs WHERE status = \"completed\") as runs_completed,\n (SELECT COUNT(*) FROM pipeline_runs WHERE status = \"failed\") as runs_failed,\n (SELECT COALESCE(SUM(documents_processed), 0) FROM pipeline_runs) as documents_processed,\n (SELECT COALESCE(SUM(chunks_created), 0) FROM pipeline_runs) as chunks_created'\n );\n\n if ($stmt === false) {\n return [\n 'pipelines' => 0,\n 'runs_total' => 0,\n 'runs_completed' => 0,\n 'runs_failed' => 0,\n 'documents_processed' => 0,\n 'chunks_created' => 0,\n ];\n }\n\n $result = $stmt->fetch(\\PDO::FETCH_ASSOC);\n\n return [\n 'pipelines' => (int) ($result['pipelines'] ?? 0),\n 'runs_total' => (int) ($result['runs_total'] ?? 0),\n 'runs_completed' => (int) ($result['runs_completed'] ?? 0),\n 'runs_failed' => (int) ($result['runs_failed'] ?? 0),\n 'documents_processed' => (int) ($result['documents_processed'] ?? 0),\n 'chunks_created' => (int) ($result['chunks_created'] ?? 0),\n ];\n }\n}\n",
"numLines": 173,
"startLine": 200,
"totalLines": 372
}
}
}