Coverage for src/qdrant_loader_mcp_server/search/hybrid/orchestration/orchestrator.py: 100%
5 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-08 06:06 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-08 06:06 +0000
1from __future__ import annotations
3from typing import Any
6class HybridOrchestrator:
7 """Execute a planned hybrid search using engine-provided services.
9 This layer is deliberately thin to preserve current behavior.
10 """
12 async def run_pipeline(
13 self,
14 pipeline: Any,
15 *,
16 query: str,
17 limit: int,
18 query_context: dict[str, Any],
19 source_types: list[str] | None = None,
20 project_ids: list[str] | None = None,
21 vector_query: str | None = None,
22 keyword_query: str | None = None,
23 ) -> Any:
24 return await pipeline.run(
25 query=query,
26 limit=limit,
27 query_context=query_context,
28 source_types=source_types,
29 project_ids=project_ids,
30 vector_query=vector_query if vector_query is not None else query,
31 keyword_query=keyword_query if keyword_query is not None else query,
32 )