{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/AI\/QdrantService.php",
"limit": 60
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/Infrastructure\/AI\/QdrantService.php",
"content": "<?php\n\ndeclare(strict_types=1);\n\nnamespace Infrastructure\\AI;\n\nuse RuntimeException;\n\n\/**\n * Service for interacting with Qdrant vector database API.\n *\n * Provides methods to:\n * - Search for similar vectors in collections\n * - Check collection existence and availability\n * - Retrieve collection metadata and information\n * - Perform health checks on the Qdrant service\n *\n * This service uses cURL for HTTP requests without external dependencies.\n * All methods include proper timeout handling and exception management.\n *\n * @package Infrastructure\\AI\n * @author System Generated\n * @version 1.0.0\n *\/\nfinal readonly class QdrantService\n{\n \/**\n * Default timeout for HTTP requests in seconds.\n *\/\n private const int DEFAULT_TIMEOUT = 30;\n\n \/**\n * Health check timeout in seconds.\n *\/\n private const int HEALTH_CHECK_TIMEOUT = 5;\n\n \/**\n * Constructs a new QdrantService instance.\n *\n * @param string $host The Qdrant API host URL (default: http:\/\/localhost:6333)\n *\/\n public function __construct(\n private string $host = 'http:\/\/localhost:6333'\n ) {\n }\n\n \/**\n * Searches for similar vectors in a Qdrant collection.\n *\n * Performs a vector similarity search using the provided embedding vector.\n * Returns the most similar points from the collection based on cosine distance.\n *\n * @param array<int, float> $vector The query embedding vector\n * @param string $collection The collection name to search in (default: documents)\n * @param int $limit Maximum number of results to return (default: 5)\n *\n * @return array<int, array{id: int|string, score: float, payload: array<string, mixed>}> Array of search results with scores and payloads\n *\n * @throws RuntimeException If the API request fails or returns invalid data\n *",
"numLines": 60,
"startLine": 1,
"totalLines": 403
}
}
}