* refactor: optimize credit-service imports with lazy loading - Remove top-level imports of heavy modules (reminderScheduler, email services, i18n, billing services) - Implement dynamic imports for modules only when needed: - reminderScheduler: loaded only when SMS credit limit reached - email services: loaded only when sending credit notifications - getTranslation: loaded only when handling low credit balance - InternalTeamBilling: loaded only in getMonthlyCredits method - billing singleton: loaded only when calculating warning limits - Break circular dependency: credit-service → reminderScheduler → ... → credit-service - Update tests to mock StripeBillingService for dynamic imports - All 30 tests passing, no type errors, lint clean This reduces baseline import cost by deferring: - Stripe SDK initialization (loaded twice before) - 557KB+ i18n English translation file - Email template classes - Workflow reminder scheduler Verified with madge: circular dependency successfully resolved Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: add null checks for billing.getPrice() return value Co-Authored-By: morgan@cal.com <morgan@cal.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>