"""FDAM Pipeline - Fire Damage Assessment Processing. This module provides the core processing pipeline for generating fire damage assessment reports using AI vision analysis and RAG-enhanced methodology lookup. Lazy imports to avoid chromadb dependency at module load time for local development. """ __all__ = [ "ChatHandler", "FDAMCalculator", "DispositionEngine", "DocumentGenerator", "FDAMPipeline", "PipelineResult", "PDFGenerator", "PDFResult", "generate_sow_pdf", ] def __getattr__(name): """Lazy import pipeline modules only when accessed.""" if name == "FDAMCalculator": from .calculations import FDAMCalculator return FDAMCalculator elif name == "ChatHandler": from .chat import ChatHandler return ChatHandler elif name == "DispositionEngine": from .dispositions import DispositionEngine return DispositionEngine elif name == "DocumentGenerator": from .generator import DocumentGenerator return DocumentGenerator elif name == "FDAMPipeline": from .main import FDAMPipeline return FDAMPipeline elif name == "PipelineResult": from .main import PipelineResult return PipelineResult elif name == "PDFGenerator": from .pdf_generator import PDFGenerator return PDFGenerator elif name == "PDFResult": from .pdf_generator import PDFResult return PDFResult elif name == "generate_sow_pdf": from .pdf_generator import generate_sow_pdf return generate_sow_pdf raise AttributeError(f"module {__name__!r} has no attribute {name!r}")