"""수집 파이프라인의 소스 어댑터 계층. 어댑터는 URL 하나를 받아 RawSource 하나를 돌려준다. 어디서 긁어오든(가짜든 실제든) 결과 모양이 같으므로, 그 뒤 단계(fact 후보 적재 · 사람 확인 큐 · 사이트 빌드)는 수집 방식이 바뀌어도 손대지 않는다. ★ Phase 1 은 MockAdapter 만 등록한다 — 크롤링 법적 검토 대기(docs/DECISIONS.md 1-1). 캡차 우회 · 봇 탐지 우회 · IP 회전은 검토 결과와 무관하게 영구 금지다. """ from services.collector.base import ( AdapterDisabled, AdapterNotFound, CollectedFact, CollectedMedia, CollectError, FetchFailed, RawSource, SourceAdapter, ) from services.collector.mock_adapter import MockAdapter from services.collector.registry import ( ENABLED_ADAPTERS, REGISTRY, AdapterRegistry, adapter_ids, get_adapter, log_registry, ) __all__ = [ "ENABLED_ADAPTERS", "REGISTRY", "AdapterDisabled", "AdapterNotFound", "AdapterRegistry", "CollectError", "CollectedFact", "CollectedMedia", "FetchFailed", "MockAdapter", "RawSource", "SourceAdapter", "adapter_ids", "get_adapter", "log_registry", ]