"""Service handler registry. Maps service slugs (matching ERPNext item codes) to their handler classes. """ from .flsa_audit import FLSAAuditHandler from .contractor_review import ContractorReviewHandler from .handbook_review import HandbookReviewHandler from .ccpa_audit import CCPAAuditHandler from .privacy_policy import PrivacyPolicyHandler from .breach_response import BreachResponseHandler from .consent_audit import ConsentAuditHandler from .dnc_review import DNCReviewHandler from .campaign_review import CampaignReviewHandler from .fcc_compliance_checkup import FCCComplianceCheckupHandler # FCC remediation filings (automated Playwright submission to FCC / USAC / BDC) from .rmd_filing import RMDFilingHandler from .cpni_certification import CPNIFilingHandler from .form_499a import Form499AHandler, Form499ABundleHandler from .stir_shaken import StirShakenHandler from .bdc_filing import BDCFilingHandler from .fcc_full_compliance import FullComplianceHandler from .dc_agent import DCAgentHandler # NECA OCN / Company Code registration (admin-driven, no Playwright flow) from .ocn_registration import OCNRegistrationHandler # CDR Traffic Study analysis (rolls ingested CDRs into a 499-A study) from .cdr_analysis import CDRAnalysisHandler # New FCC onboarding + compliance filings from .cores_frn_registration import CORESFRNRegistrationHandler from .form_499_initial import Form499InitialHandler from .calea_ssi import CALEASSIHandler from .foreign_carrier_affiliation import ForeignCarrierAffiliationHandler from .cdr_storage_tier import ( CDRStorageTier1Handler, CDRStorageTier2Handler, CDRStorageTier3Handler, ) from .new_carrier_bundle import NewCarrierBundleHandler # Foreign qualification (Certificate of Authority) across US states from .foreign_qualification import ForeignQualificationHandler # State PUC/PSC registration across US states from .state_puc_filing import StatePucFilingHandler SERVICE_HANDLERS: dict[str, type] = { "flsa-audit": FLSAAuditHandler, "contractor-classification": ContractorReviewHandler, "handbook-review": HandbookReviewHandler, "policy-development": HandbookReviewHandler, # same handler, different template "ccpa-audit": CCPAAuditHandler, "privacy-policy": PrivacyPolicyHandler, "data-mapping": CCPAAuditHandler, # similar handler "breach-response": BreachResponseHandler, "consent-audit": ConsentAuditHandler, "dnc-compliance": DNCReviewHandler, "campaign-review": CampaignReviewHandler, # ── FCC Compliance (diagnostic + remediation) ────────────────────── "fcc-compliance-checkup": FCCComplianceCheckupHandler, "rmd-filing": RMDFilingHandler, "cpni-certification": CPNIFilingHandler, "fcc-499a": Form499AHandler, "fcc-499a-499q": Form499ABundleHandler, "stir-shaken": StirShakenHandler, # BDC triple — same handler, mode auto-resolved from slug "bdc-filing": BDCFilingHandler, # legacy alias (both) "bdc-broadband": BDCFilingHandler, "bdc-voice": BDCFilingHandler, "fcc-full-compliance": FullComplianceHandler, "dc-agent": DCAgentHandler, "ocn-registration": OCNRegistrationHandler, "cdr-analysis": CDRAnalysisHandler, # ── New FCC onboarding + compliance filings ──────────────────────── "cores-frn-registration": CORESFRNRegistrationHandler, "fcc-499-initial": Form499InitialHandler, "calea-ssi": CALEASSIHandler, "fcc-63-11-notification": ForeignCarrierAffiliationHandler, "new-carrier-bundle": NewCarrierBundleHandler, # ── Foreign qualification (Certificate of Authority) ───────────────── "foreign-qualification-single": ForeignQualificationHandler, "foreign-qualification-multi": ForeignQualificationHandler, # same handler, fans out per-state # ── State PUC/PSC registration ──────────────────────────────────── "state-puc": StatePucFilingHandler, # ── CDR storage tier add-ons (quota bumps, not filings) ──────────── "cdr-storage-tier1": CDRStorageTier1Handler, "cdr-storage-tier2": CDRStorageTier2Handler, "cdr-storage-tier3": CDRStorageTier3Handler, } # Service slugs that operate on a telecom entity — used by job_server.py # to decide whether to hydrate the entity row from PostgreSQL before # dispatching to the handler. FCC_SERVICE_SLUGS: frozenset[str] = frozenset({ "fcc-compliance-checkup", "rmd-filing", "cpni-certification", "fcc-499a", "fcc-499a-499q", "stir-shaken", "bdc-filing", "fcc-full-compliance", "dc-agent", "ocn-registration", "cdr-analysis", # BDC triple (already covered by bdc-filing above; add explicit aliases) "bdc-broadband", "bdc-voice", # New FCC filings "cores-frn-registration", "fcc-499-initial", "calea-ssi", "fcc-63-11-notification", "new-carrier-bundle", # CDR storage tiers — operate on a telecom entity's cdr_ingestion_profiles "cdr-storage-tier1", "cdr-storage-tier2", "cdr-storage-tier3", # Foreign qualification — may reference a telecom entity "foreign-qualification-single", "foreign-qualification-multi", # State PUC/PSC — may reference a telecom entity "state-puc", }) __all__ = ["SERVICE_HANDLERS", "FCC_SERVICE_SLUGS"]