"""Utility functions for coverage evaluation."""

from typing import Any

from ..schemas import CompiledCoveragePolicy, CoverageReport
from .evaluator import CoverageEvaluator


async def check_document_coverage(
    taxpayer_id: str,
    tax_year: str,
    policy: CompiledCoveragePolicy,
    kg_client: Any = None,
    rag_client: Any = None,
) -> CoverageReport:
    """Check document coverage for taxpayer"""
    evaluator = CoverageEvaluator(kg_client, rag_client)
    return await evaluator.check_document_coverage(taxpayer_id, tax_year, policy)
