A community based topic aggregation platform built on atproto

feat(aggregators): add background token refresh for OAuth credentials master

Add proactive token refresh that runs every 30 minutes to refresh aggregator OAuth tokens before they expire. This prevents API failures due to expired tokens when aggregators are idle. - Add ListAggregatorsNeedingTokenRefresh to repository interface - Implement RefreshExpiringTokens in APIKeyService with per-aggregator timeout - Start background goroutine in main.go with proper shutdown handling - Add comprehensive tests for the new refresh functionality Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>


+462 -10
6 changed files