# Copyright (c) CloudZero - ALL RIGHTS RESERVED - PROPRIETARY AND CONFIDENTIAL
# Unauthorized copying of this file and/or project, via any medium is strictly prohibited.
# Direct all questions to legal@cloudzero.com
#

"""
CloudZero-specific library modules.

This package contains utilities and functions specific to the CloudZero platform
that are not generally applicable to other applications. These modules are
separated from the generic utilities in the utils package.

The lib package includes:
- api_recorder: API request/response recording for schema generation
- slack: Slack integration utilities
- csv_processor: CSV processing for CloudZero data formats
- formatting: CloudZero-specific data formatting
- interface: CloudZero UI and interface components
- version: Version compatibility checking
- anomalies: Anomaly data handling
- cwm: CloudWatch metrics integration
- okta: Okta authentication
"""

# Define public API
__all__ = [
    "recorder",
    "SlackWeb",
    "format_api_key_credentials",
    "format_reactor_status_response",
    "random_name",
    "datetime_to_utc_database_timeformat",
    "format_account_stage",
    "HealthcheckPrinter",
    "pprint_healthcheck_results",
    "pprint_connection_list",
    "get_connection_status",
    "VersionInfo",
    "cli_version_info",
]

# Import utilities
from src.lib.api_recorder import recorder
from src.lib.formatting import (
    datetime_to_utc_database_timeformat,
    format_api_key_credentials,
    format_reactor_status_response,
    random_name,
)
from src.lib.interface import (
    HealthcheckPrinter,
    format_account_stage,
    get_connection_status,
    pprint_connection_list,
    pprint_healthcheck_results,
)
from src.lib.slack import SlackWeb
from src.lib.version import VersionInfo, cli_version_info
