"""
HTML Report Generator for Avenlis SandStrike

NOTE: Report generation has been moved to the Otterback production server.
This module is kept for backward compatibility but will redirect to the server.

For Pro users, reports are generated via the Otterback API endpoint.
"""

import os
import logging
from typing import List, Dict, Any, Optional

logger = logging.getLogger(__name__)


class HTMLReportGenerator:
    """
    HTML Report Generator (stub - reports now generated on production server).
    
    This class is kept for backward compatibility. Report generation
    is now handled by the Otterback production server for Pro users.
    """
    
    def __init__(self, prompts_data_dir: Optional[str] = None):
        """Initialize the HTML report generator (stub)."""
        logger.warning(
            "HTMLReportGenerator is deprecated. Reports are now generated "
            "via the Otterback production server. Please use the CLI commands "
            "or API endpoints which automatically use the server."
        )
    
    def generate_overview_report(self, sessions_data: List[Dict[str, Any]], output_path: Optional[str] = None) -> str:
        """
        Generate an interactive HTML overview report.
        
        NOTE: This method is deprecated. Reports are now generated on the production server.
        Use the CLI command 'sandstrike reports overview' or the API endpoint instead.
        """
        raise NotImplementedError(
            "Report generation has been moved to the Otterback production server. "
            "Please use 'sandstrike reports overview' CLI command or the /api/reports/generate endpoint. "
            "Reports require a Pro subscription and are generated via the production server."
        )
    
    def generate_detailed_report(self, sessions_data: List[Dict[str, Any]], output_path: Optional[str] = None) -> str:
        """
        Generate a detailed HTML report with comprehensive analysis.
        
        NOTE: This method is deprecated. Reports are now generated on the production server.
        Use the CLI command 'sandstrike reports detailed' or the API endpoint instead.
        """
        raise NotImplementedError(
            "Report generation has been moved to the Otterback production server. "
            "Please use 'sandstrike reports detailed' CLI command or the /api/reports/generate endpoint. "
            "Reports require a Pro subscription and are generated via the production server."
        )
    
    def generate_executive_report(self, sessions_data: List[Dict[str, Any]], output_path: Optional[str] = None) -> str:
        """
        Generate an executive summary HTML report.
        
        NOTE: This method is deprecated. Reports are now generated on the production server.
        Use the CLI command 'sandstrike reports executive' or the API endpoint instead.
        """
        raise NotImplementedError(
            "Report generation has been moved to the Otterback production server. "
            "Please use 'sandstrike reports executive' CLI command or the /api/reports/generate endpoint. "
            "Reports require a Pro subscription and are generated via the production server."
        )
