(int) env('DIRECTORY_GROUPS_STALENESS_DAYS', 30), 'retention_days' => (int) env('DIRECTORY_GROUPS_RETENTION_DAYS', 90), 'page_size' => (int) env('DIRECTORY_GROUPS_PAGE_SIZE', 999), 'schedule' => [ 'enabled' => (bool) env('DIRECTORY_GROUPS_SCHEDULE_ENABLED', true), // Daily scheduled sync (UTC). The dispatcher is still expected to run every minute. 'time_utc' => (string) env('DIRECTORY_GROUPS_SCHEDULE_TIME_UTC', '02:00'), // Optional: limit scheduled dispatch to specific tenant ids/external ids (comma-separated). 'tenants' => array_values(array_filter(array_map('trim', explode(',', (string) env('DIRECTORY_GROUPS_SCHEDULE_TENANTS', ''))))), ], 'safety_stop' => [ 'max_pages' => (int) env('DIRECTORY_GROUPS_MAX_PAGES', 200), 'max_runtime_seconds' => (int) env('DIRECTORY_GROUPS_MAX_RUNTIME_SECONDS', 600), 'max_retries' => (int) env('DIRECTORY_GROUPS_MAX_RETRIES', 8), ], ];