{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/services.php",
"content": "\n $container->set(ChunkExplorerRepositoryInterface::class, fn (Container $c) => $c->get(ChunkExplorerRepository::class));\n\n $container->set(FileAnalysisRepositoryInterface::class, fn (Container $c) => $c->get(FileAnalysisRepository::class));\n\n $container->set(DependencyGraphRepositoryInterface::class, fn (Container $c) => $c->get(DependencyGraphRepository::class));\n\n $container->set(CodeQualityRepositoryInterface::class, fn (Container $c) => $c->get(CodeQualityRepository::class));\n\n $container->set(TaskResultRepositoryInterface::class, fn (Container $c) => $c->get(TaskResultRepository::class));\n\n $container->set(TaskAssignmentRepositoryInterface::class, fn (Container $c) => $c->get(TaskAssignmentRepository::class));\n\n $container->set(TaskCommentRepositoryInterface::class, fn (Container $c) => $c->get(TaskCommentRepository::class));\n\n $container->set(FileBackupRepositoryInterface::class, fn (Container $c) => $c->get(FileBackupRepository::class));\n\n $container->set(KiProtokollRepositoryInterface::class, fn (Container $c) => $c->get(KiProtokollRepository::class));\n\n $container->set(PromptsRepositoryInterface::class, fn (Container $c) => $c->get(PromptsRepository::class));\n\n $container->set(ContractRepositoryInterface::class, fn (Container $c) => $c->get(ContractRepository::class));\n\n \/\/ =========================================================================\n \/\/ CODE ANALYSIS SERVICES\n \/\/ =========================================================================\n\n $container->set(PhpFileParser::class, fn () => new PhpFileParser());\n $container->set(PythonFileParser::class, fn () => new PythonFileParser());\n $container->set(JsFileParser::class, fn () => new JsFileParser());\n $container->set(CodeQualityChecker::class, fn () => new CodeQualityChecker());\n\n $container->set(CodeScanner::class, function (Container $c) {\n return new CodeScanner(\n $c->get(FileAnalysisRepositoryInterface::class),\n $c->get(CodeQualityRepositoryInterface::class),\n $c->get(PhpFileParser::class),\n $c->get(PythonFileParser::class),\n $c->get(JsFileParser::class),\n $c->get(CodeQualityChecker::class)\n );\n });\n\n $container->set(CodeScannerInterface::class, fn (Container $c) => $c->get(CodeScanner::class));\n\n \/\/ =========================================================================\n \/\/ AI SERVICES\n \/\/ =========================================================================\n\n $container->set(AIConfig::class, fn () => AIConfig::fromCredentialsFile());\n\n $container->set(ChatService::class, function (Container $c) {\n return $c->get(AIConfig::class)->createChatService();\n });\n\n $container->set(OllamaService::class, function (Container $c) {\n return $c->get(AIConfig::class)->createOllamaService();\n });\n\n $container->set(QdrantService::class, function (Container $c) {\n return $c->get(AIConfig::class)->createQdrantService();\n });\n\n $container->set(VectorSearchService::class, fn () => new VectorSearchService());\n\n $container->set(ContentQualityValidator::class, function (Container $c) {\n return new ContentQualityValidator($c->get(OllamaService::class));\n });\n\n $container->set(ModelRegistry::class, function (Container $c) {\n $registry = new ModelRegistry($c->get('pdo.dev'));\n ModelRegistry::setInstance($registry);\n\n return $registry;\n });\n\n \/\/ =========================================================================\n \/\/ APPLICATION SERVICES\n \/\/ =========================================================================\n\n $container->set(AuditLogger::class, fn (Container $c) => new AuditLogger($c->get('pdo.dev')));\n\n $container->set(Infrastructure\\Audit\\AuditService::class, function (Container $c) {\n return new Infrastructure\\Audit\\AuditService($c->get('pdo.dev'));\n });\n\n $container->set(QdrantClient::class, fn () => new QdrantClient());\n\n $container->set(ChunkSearchService::class, function (Container $c) {\n return new ChunkSearchService(\n $c->get(QdrantClient::class),\n $c->get(OllamaService::class)\n );\n });\n\n $container->set(ChunkSyncService::class, function (Container $c) {\n return new ChunkSyncService(\n $c->get('pdo.dev'),\n $c->get(OllamaService::class),\n $c->get(QdrantClient::class)\n );\n });\n\n $container->set(HybridSearchService::class, function (Container $c) {\n return new HybridSearchService(\n $c->get('pdo.dev'),\n $c->get(OllamaService::class)\n );\n });\n\n $container->set(ChunkAnalysisService::class, function (Container $c) {\n return new ChunkAnalysisService(\n $c->get('pdo.dev'),\n $c->get(OllamaService::class)\n );\n });\n\n $container->set(ChunkingService::class, function (Container $c) {\n return new ChunkingService(\n $c->get('pdo.dev'),\n $c->get(DokumentationRepository::class)\n );\n });\n\n $container->set(CollectionValidator::class, function (Container $c) {\n return new CollectionValidator($c->get(CollectionRepository::class));\n });\n\n $container->set(ContentCollectionService::class, function (Container $c) {\n return new ContentCollectionService(\n $c->get(CollectionRepository::class),\n $c->get(CollectionValidator::class)\n );\n });\n\n $container->set(PipelineStepService::class, function (Container $c) {\n return new PipelineStepService(\n $c->get(PipelineRepository::class),\n $c->get(ModelRegistry::class)\n );\n });\n\n \/\/ =========================================================================\n \/\/ FORMATTERS\n \/\/ =========================================================================\n\n $container->set(ApiResponseFormatter::class, fn () => new ApiResponseFormatter());\n\n $container->set(ChatMessageFormatter::class, fn () => new ChatMessageFormatter());\n\n \/\/ =========================================================================\n \/\/ USE CASES - Explicit registrations for PDO dependencies\n \/\/ =========================================================================\n \/\/ UseCases that need specific PDO connections must be registered explicitly.\n \/\/ Other UseCases are resolved via Container::autowire() automatically.\n\n $container->set(\\UseCases\\Chat\\ManageChatSessionsUseCase::class, function (Container $c) {\n return new \\UseCases\\Chat\\ManageChatSessionsUseCase(\n $c->get(ChatSessionRepositoryInterface::class),\n $c->get(ChatMessageRepositoryInterface::class),\n $c->get(ContentConfigRepository::class),\n $c->get(CollectionRepositoryInterface::class),\n $c->get(CollectionValidator::class),\n $c->get('pdo.dev'),\n $c->get(ModelRegistry::class)\n );\n });\n};\n",
"numLines": 169,
"startLine": 230,
"totalLines": 398
}
}
}