{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/AI\/AIConfig.php",
"offset": 60,
"limit": 30
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/AI\/AIConfig.php",
"content": " *\n * @example\n * $config = AIConfig::fromCredentialsFile();\n * $chatService = $config->createChatService();\n *\/\n public static function fromCredentialsFile(\n string $credentialsPath = '\/var\/www\/docs\/credentials\/credentials.md'\n ): self {\n $anthropicApiKey = self::loadAnthropicApiKey($credentialsPath);\n\n return new self(\n ollamaHost: 'http:\/\/localhost:11434',\n qdrantHost: 'http:\/\/localhost:6333',\n anthropicApiKey: $anthropicApiKey,\n embeddingModel: 'mxbai-embed-large',\n claudeModel: 'claude-opus-4-5-20251101',\n defaultCollection: 'documents'\n );\n }\n\n \/**\n * Erstellt einen konfigurierten ChatService.\n *\n * Erzeugt alle benötigten Dependencies (OllamaService, QdrantService, ClaudeService)\n * und liefert einen vollständig konfigurierten ChatService zurück.\n *\n * @return ChatService Konfigurierter ChatService\n *\n * @example\n * $config = AIConfig::fromCredentialsFile();",
"numLines": 30,
"startLine": 60,
"totalLines": 167
}
}
}