#!/usr/bin/env python3

# Pitch Deck Parser Modules
# This package contains all the modular components for the pitch deck analysis application

from .client import get_openrouter_client
from .file_utils import detect_file_type, convert_to_pdf, convert_with_libreoffice
from .pdf_processor import extract_slides_from_pdf
from .docling_processor import extract_text_with_docling, get_slide_text_content
from .analysis import (
    analyze_slide_with_single_prompt,
    analyze_slides_batch,
    analyze_slide_with_agentic_prompts_parallel,
    process_single_slide_parallel
)
from .markdown_utils import (
    create_slide_markdown,
    create_text_only_markdown,
    send_to_api_and_get_haste_link
)

__all__ = [
    'get_openrouter_client',
    'detect_file_type',
    'convert_to_pdf',
    'convert_with_libreoffice',
    'extract_slides_from_pdf',
    'extract_text_with_docling',
    'get_slide_text_content',
    'analyze_slide_with_single_prompt',
    'analyze_slides_batch',
    'analyze_slide_with_agentic_prompts_parallel',
    'process_single_slide_parallel',
    'create_slide_markdown',
    'create_text_only_markdown',
    'send_to_api_and_get_haste_link'
]

# Market Cap RAG Validation
from .rag_agent import MarketCapRAGAgent, MarketCapClaim, ValidationResult
from .validation_report import ValidationReportGenerator
from .market_cap_validator import (
    MarketCapValidator,
    validate_market_caps,
    validate_market_caps_from_file,
    validate_market_caps_from_processed
)

# Update __all__ list
__all__.extend([
    'MarketCapRAGAgent',
    'MarketCapClaim', 
    'ValidationResult',
    'ValidationReportGenerator',
    'MarketCapValidator',
    'validate_market_caps',
    'validate_market_caps_from_file',
    'validate_market_caps_from_processed'
])

# Document-specific validation
from .document_validator import (
    DocumentValidator,
    validate_document_claims,
    validate_all_processed_documents
)

# Update __all__ list
__all__.extend([
    'DocumentValidator',
    'validate_document_claims',
    'validate_all_processed_documents'
])

# Main application and CLI tools
from .app import *
from .example_usage import *
from .validate_market_caps import *

# Update __all__ list
__all__.extend([
    'app',
    'example_usage', 
    'validate_market_caps'
])
