from .bot_model_domain_sync import BotModelDomainSync
from .bot_model_user_sync import BotModelUserSync
from .bots_hourly import BotsHourly
from .bot_status_changes import BotStatusChanges
from .braze_bot_sync import BrazeBotSync
from .clerk_refund_candidates import ClerkRefundCandidates
from .free_hotlook_bots import FreeHotlookBots
from .high_risk_phone_signup_bots import HighRiskPhoneSignups
from .regional_outlook_bots import RegionalOutlookBots
from .stripe_blocked_email_domain_sync import StripeBlockedEmailDomainSync

# Register all features here
FEATURES = [
    BotsHourly(),
    BotModelDomainSync(),
    BotModelUserSync(),
    BotStatusChanges(),
    BrazeBotSync(),
    ClerkRefundCandidates(),
    FreeHotlookBots(),
    HighRiskPhoneSignups(),
    RegionalOutlookBots(),
    StripeBlockedEmailDomainSync(),
]

# When we export the lists of assets, jobs, and schedules, the autoloader in definitions.py will pick them up
assets = [feature.asset for feature in FEATURES]
jobs = [feature.job for feature in FEATURES if feature.job]
schedules = [feature.schedule_def for feature in FEATURES if feature.schedule_def]

__all__ = ["assets", "jobs", "schedules"]
