"""GitHub integration for MergeGuide PR Gate.

This module provides:
- GitHub App authentication (JWT + installation tokens)
- Webhook signature verification
- GitHub API client for status checks and comments
- PR event handling and policy evaluation
"""

from .api import GitHubAPI, StatusState
from .auth import GitHubAuth, GitHubAuthError
from .comments import (
    COMMENT_MARKER,
    format_error_comment,
    format_pending_comment,
    format_pr_comment,
)
from .pr_handler import InstallationHandler, PRCheckResult, PRHandler
from .webhook import WebhookEvent, parse_webhook_event, verify_webhook_signature

__all__ = [
    # Auth
    "GitHubAuth",
    "GitHubAuthError",
    # Webhook
    "verify_webhook_signature",
    "parse_webhook_event",
    "WebhookEvent",
    # API
    "GitHubAPI",
    "StatusState",
    # PR Handler
    "PRHandler",
    "PRCheckResult",
    "InstallationHandler",
    # Comments
    "format_pr_comment",
    "format_pending_comment",
    "format_error_comment",
    "COMMENT_MARKER",
]
