(self, shared_data=None)
| 135 | """Coordinates the three recon runners and tracks scan state.""" |
| 136 | |
| 137 | def __init__(self, shared_data=None): |
| 138 | self.shared_data = shared_data |
| 139 | self._lock = threading.Lock() |
| 140 | self.active_scans: Dict[str, ReconScanState] = {} |
| 141 | self._scan_history: deque = deque(maxlen=100) |
| 142 | self._tool_paths: Dict[str, str] = {} |
| 143 | self._detect_tools() |
| 144 | threading.Thread(target=self._reaper_loop, daemon=True, name="recon-reaper").start() |
| 145 | |
| 146 | def is_available(self) -> bool: |
| 147 | try: |
nothing calls this directly
no test coverage detected