#!/usr/bin/env python3
"""
SessionEnd Hook - Finalize session logs

Runs when the Claude Code session ends.
Adds end event to logs and finalizes log files.
"""

import json
import sys
from pathlib import Path

# Add hooks directory to path
hooks_dir = Path(__file__).parent
sys.path.insert(0, str(hooks_dir))

from logging_utils import get_logger


def main():
    """Finalize session logs."""
    try:
        # Read hook input from stdin
        hook_input = json.load(sys.stdin)

        # Get logger instance
        logger = get_logger(hook_input)

        # Finalize logs
        logger.finalize_logs()

        # Success
        sys.exit(0)

    except Exception as e:
        # Log error but don't block session end
        print(f"SessionEnd hook error: {e}", file=sys.stderr)
        sys.exit(0)


if __name__ == "__main__":
    main()
