{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Application\/PipelineStepService.php",
"old_string": " public function createDefaultSteps(int $pipelineId): void\n {\n foreach (PipelineStepConfig::getDefaultSteps() as $step) {\n $this->repository->addStep($pipelineId, $step);\n }\n }",
"new_string": " public function createDefaultSteps(int $pipelineId): void\n {\n foreach (PipelineStepConfig::getDefaultSteps() as $step) {\n $this->stepRepository->addStep($pipelineId, $step);\n }\n }"
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Application\/PipelineStepService.php",
"oldString": " public function createDefaultSteps(int $pipelineId): void\n {\n foreach (PipelineStepConfig::getDefaultSteps() as $step) {\n $this->repository->addStep($pipelineId, $step);\n }\n }",
"newString": " public function createDefaultSteps(int $pipelineId): void\n {\n foreach (PipelineStepConfig::getDefaultSteps() as $step) {\n $this->stepRepository->addStep($pipelineId, $step);\n }\n }",
"originalFile": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Application;\n\n\/\/ @responsibility: Service für Pipeline-Step-Operationen (Toggle, Konfiguration)\n\nuse Domain\\Repository\\PipelineConfigRepositoryInterface;\nuse Domain\\Repository\\PipelineStepRepositoryInterface;\nuse Infrastructure\\AI\\ModelRegistry;\nuse Infrastructure\\Config\\PipelineStepConfig;\n\nfinal class PipelineStepService\n{\n public function __construct(\n private PipelineConfigRepositoryInterface $configRepository,\n private PipelineStepRepositoryInterface $stepRepository,\n private ModelRegistry $modelRegistry\n ) {\n }\n\n \/**\n * Toggle a step's enabled status.\n *\n * @return bool True if toggled successfully\n *\/\n public function toggleStep(int $pipelineId, int $stepId): bool\n {\n $pipeline = $this->configRepository->findById($pipelineId);\n\n if ($pipeline === null) {\n return false;\n }\n\n $steps = $this->stepRepository->findSteps($pipelineId);\n foreach ($steps as $step) {\n if ((int) $step['id'] === $stepId) {\n $this->stepRepository->updateStep($stepId, [\n 'enabled' => $step['enabled'] ? 0 : 1,\n ]);\n\n return true;\n }\n }\n\n return false;\n }\n\n \/**\n * Update the model for a step.\n *\n * @return array{success: bool, error?: string, model?: string, label?: string}\n *\/\n public function updateModel(int $pipelineId, int $stepId, string $model): array\n {\n $pipeline = $this->configRepository->findById($pipelineId);\n\n if ($pipeline === null) {\n return ['success' => false, 'error' => 'Pipeline nicht gefunden'];\n }\n\n $model = trim($model);\n\n if ($model === '' || !$this->modelRegistry->isValid($model)) {\n return ['success' => false, 'error' => 'Ungültiges Modell'];\n }\n\n $steps = $this->stepRepository->findSteps($pipelineId);\n foreach ($steps as $step) {\n if ((int) $step['id'] === $stepId) {\n $config = $step['config'] ?? [];\n\n \/\/ Determine provider from model\n $provider = $this->modelRegistry->isLocal($model) ? 'ollama' : 'anthropic';\n\n \/\/ Update config with new model\n $config['model'] = $this->modelRegistry->isLocal($model)\n ? substr($model, 7) \/\/ Remove 'ollama:' prefix\n : $model;\n $config['provider'] = $provider;\n\n $this->stepRepository->updateStep($stepId, [\n 'config' => $config,\n ]);\n\n return [\n 'success' => true,\n 'model' => $model,\n 'label' => $this->modelRegistry->getLabel($model),\n ];\n }\n }\n\n return ['success' => false, 'error' => 'Schritt nicht gefunden'];\n }\n\n \/**\n * Update the collection for a step.\n *\n * @return array{success: bool, error?: string, collection?: string, label?: string}\n *\/\n public function updateCollection(int $pipelineId, int $stepId, string $collection): array\n {\n $pipeline = $this->configRepository->findById($pipelineId);\n\n if ($pipeline === null) {\n return ['success' => false, 'error' => 'Pipeline nicht gefunden'];\n }\n\n $collection = trim($collection);\n $validCollections = array_keys(PipelineStepConfig::getCollections());\n\n if ($collection === '' || !in_array($collection, $validCollections, true)) {\n return ['success' => false, 'error' => 'Ungültige Collection'];\n }\n\n $steps = $this->stepRepository->findSteps($pipelineId);\n foreach ($steps as $step) {\n if ((int) $step['id'] === $stepId) {\n $config = $step['config'] ?? [];\n $config['collection'] = $collection;\n\n $this->stepRepository->updateStep($stepId, [\n 'config' => $config,\n ]);\n\n $collections = PipelineStepConfig::getCollections();\n\n return [\n 'success' => true,\n 'collection' => $collection,\n 'label' => $collections[$collection] ?? $collection,\n ];\n }\n }\n\n return ['success' => false, 'error' => 'Schritt nicht gefunden'];\n }\n\n \/**\n * Create default steps for a new pipeline.\n *\/\n public function createDefaultSteps(int $pipelineId): void\n {\n foreach (PipelineStepConfig::getDefaultSteps() as $step) {\n $this->repository->addStep($pipelineId, $step);\n }\n }\n}\n",
"structuredPatch": [
{
"oldStart": 144,
"oldLines": 7,
"newStart": 144,
"newLines": 7,
"lines": [
" public function createDefaultSteps(int $pipelineId): void",
" {",
" foreach (PipelineStepConfig::getDefaultSteps() as $step) {",
"- $this->repository->addStep($pipelineId, $step);",
"+ $this->stepRepository->addStep($pipelineId, $step);",
" }",
" }",
" }"
]
}
],
"userModified": false,
"replaceAll": false
}
}