| """Manual clearance provider — uses operator-supplied cookies directly.""" | |
| from app.platform.config.snapshot import get_config | |
| from ..config import resolve_clearance_config | |
| from ..models import ClearanceBundle, ClearanceMode | |
| class ManualClearanceProvider: | |
| """Build a ClearanceBundle from static config values.""" | |
| def build_bundle( | |
| self, | |
| *, | |
| affinity_key: str, | |
| clearance_host: str = "grok.com", | |
| ) -> ClearanceBundle | None: | |
| cfg = get_config() | |
| mode = ClearanceMode.parse(cfg.get_str("proxy.clearance.mode", "none")) | |
| if mode != ClearanceMode.MANUAL: | |
| return None | |
| clearance = resolve_clearance_config(cfg) | |
| return ClearanceBundle( | |
| bundle_id=f"manual:{affinity_key}@{clearance_host}", | |
| cf_cookies=clearance.cf_cookies, | |
| user_agent=clearance.user_agent, | |
| affinity_key=affinity_key, | |
| clearance_host=clearance_host, | |
| ) | |
| __all__ = ["ManualClearanceProvider"] | |