# Copyright (c) 2026 MergeGuide, Inc. All rights reserved.
# SPDX-License-Identifier: Proprietary
"""
GitLab Integration Module

Provides integration with GitLab for merge request policy checks.
Supports GitLab.com and self-hosted GitLab instances.

Components:
- GitLabAPI: HTTP client for GitLab REST API
- GitLabAuth: Authentication via personal access tokens or OAuth
- MRHandler: Merge request webhook event handler
- WebhookEvent: Webhook payload parsing and validation
"""

from .api import GitLabAPI, StatusState
from .auth import GitLabAuth
from .comments import format_error_comment, format_mr_comment
from .mr_handler import MRCheckResult, MRHandler
from .webhook import WebhookEvent, verify_webhook_signature

__all__ = [
    "GitLabAPI",
    "GitLabAuth",
    "MRHandler",
    "MRCheckResult",
    "WebhookEvent",
    "StatusState",
    "verify_webhook_signature",
    "format_mr_comment",
    "format_error_comment",
]
