Summary#
- New starter pack threshold monitoring system for detecting follow-farming
- Account label negation support (remove labels when criteria no longer match)
- Login retry logic with configurable attempts
- Configurable time window units (minutes, hours, days) for threshold labeling
- Refactored profile checking into single unified function
New Features#
Starter Pack Threshold System#
- New
src/starterPackThreshold.tsmodule - Monitors starter pack creation per account within rolling time windows
- Configurable threshold, window, and actions (label/report/comment)
- Per-config allowlist support
- 3 new Prometheus metrics for monitoring
Label Negation#
- New
negateAccountLabel()function in accountModeration - New
getAllAccountLabels()to retrieve current labels - New
deleteAccountLabelClaim()for Redis cache invalidation - Enables
unlabel: truein check configs to auto-remove labels
Configurable Window Units#
- Changed from
windowDays: numbertowindow: number+windowUnit: WindowUnit - Supports
"minutes","hours","days" - Applies to both account threshold and starter pack threshold
Login Retry#
- Agent now retries login up to 3 times with 2s delay
- Graceful failure after exhausting retries
Profile Check Refactor#
- Combined
checkDescription+checkDisplayNameinto singlecheckProfilefunction - Cleaner event handling in main.ts