Coverage for src/qdrant_loader_mcp_server/search/enhanced/cdi/extractors/conflicts.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-09-08 06:06 +0000

1from __future__ import annotations 

2 

3from ....models import SearchResult 

4from ..interfaces import ConflictDetector 

5from ..models import ConflictAnalysis 

6 

7 

8class DefaultConflictDetector(ConflictDetector): 

9 """Adapter to legacy ConflictDetector for behavior parity.""" 

10 

11 def __init__( 

12 self, 

13 spacy_analyzer, 

14 qdrant_client=None, 

15 openai_client=None, 

16 collection_name: str = "documents", 

17 ): 

18 from ...cross_document_intelligence import ( 

19 ConflictDetector as LegacyConflictDetector, # type: ignore 

20 ) 

21 

22 self._legacy = LegacyConflictDetector( 

23 spacy_analyzer=spacy_analyzer, 

24 qdrant_client=qdrant_client, 

25 openai_client=openai_client, 

26 collection_name=collection_name, 

27 ) 

28 

29 async def detect(self, results: list[SearchResult]) -> ConflictAnalysis: # type: ignore[override] 

30 return await self._legacy.detect_conflicts(results)