"""Source connectors. v1 reads placeholder fixtures; swap for real APIs later. Production mapping (from the design): linkedin -> Proxycurl + Apify news -> Exa.ai + NewsAPI jobs -> JSearch (RapidAPI) / Adzuna crm -> Salesforce / HubSpot REST sec -> SEC EDGAR """ import json from functools import lru_cache from .. import config @lru_cache(maxsize=1) def _fixtures() -> dict: return json.loads((config.DATA_DIR / "fixtures.json").read_text()) def account_fixture(account_id: str) -> dict: return _fixtures().get(account_id, {})