from __future__ import annotations

import logging
from typing import Any

from .bundle_builder import MissingDocumentBundleMixin

logger = logging.getLogger("dscons.missing_document.service")


class MissingDocumentGenerationService(MissingDocumentBundleMixin):
    """Domain service for generating structured bundles of missing construction documents."""

    def __init__(self) -> None:
        pass


def build_missing_document_generation_bundle(
    session: dict[str, Any],
    document_types: list[str] | None = None,
    options: dict[str, Any] | None = None,
) -> dict[str, Any]:
    """Convenience functional interface for generating a missing document bundle."""
    service = MissingDocumentGenerationService()
    return service.build_generation_bundle(
        session=session,
        document_types=document_types,
        options=options,
    )
