"""Common utilities and base classes for integrations.

This module provides shared functionality used across all integration modules:
- Base exception classes
- Encryption utilities (re-exported from core.utils)
- ContributorIdentityService for cross-provider identity management
- Base client and sync service protocols

Public API:
    - IntegrationError: Base exception for integration errors
    - encrypt_value, decrypt_value, is_encrypted: Credential encryption
    - ContributorIdentityService: Member/Identity linking across providers
    - BaseAPIClient: Protocol for integration API clients
    - BaseSyncService: Protocol for integration sync services
"""

from integrations.common.encryption import decrypt_value, encrypt_value, is_encrypted
from integrations.common.exceptions import IntegrationError

__all__ = [
    # Exceptions
    "IntegrationError",
    # Encryption
    "encrypt_value",
    "decrypt_value",
    "is_encrypted",
]
