"""Conftest pour les tests securite — assure que le agent_v0 local de rpa_vision_v3 est trouve avant le standalone de ~/ai/agent_v0/. Le conftest racine ajoute /home/dom/ai/rpa_vision_v3 mais ne previent pas le shadow par /home/dom/ai. On force l'ordre + on purge un eventuel agent_v0 standalone deja charge depuis ~/ai/. """ import sys from pathlib import Path ROOT = str(Path(__file__).resolve().parents[2]) # Forcer rpa_vision_v3 en tete (pattern reutilise depuis tests/integration/conftest.py) if ROOT in sys.path: sys.path.remove(ROOT) sys.path.insert(0, ROOT) # Purger tout import precoce de agent_v0 / core qui pointe vers un autre dossier # (cf. ~/ai/agent_v0/ standalone qui n'est pas le package serveur du repo). _AGENT_V0_LOCAL = str(Path(ROOT) / "agent_v0") for _mod_name in list(sys.modules): if _mod_name == "agent_v0" or _mod_name.startswith("agent_v0."): _mod = sys.modules[_mod_name] _mod_file = getattr(_mod, "__file__", "") or "" if not _mod_file.startswith(_AGENT_V0_LOCAL): del sys.modules[_mod_name] # Pre-import du module local pour eviter qu'un autre conftest n'importe # le standalone /home/dom/ai/agent_v0/ avant nous. try: # pragma: no cover - garde de path from agent_v0 import server_v1 as _sv1 # noqa: F401 except Exception: pass