* feat(gateway): hashed key store with grant + hot reload
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(gateway): channel registry + aiohttp app (keyed auth, whoami, per-channel ws/proxy)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(gateway): manage_keys CLI (add/list/revoke)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(gateway): retire srebot_external, run relay-gateway under PM2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(gateway): point ecosystem + README at relay-gateway
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(tss): replay outbox producer for relay gateway
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(tss): forward processed games to relay outbox
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(tss-api): db helpers, app skeleton, info endpoint, fixtures
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(tss-api): player, games, history, search endpoints
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(tss-api): live, match, scoreboard, matches-search, maps
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(tss-api): filter-required leaderboards (players/vehicles/stats)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(tss-api): tournament list/detail/standings/matches
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat: wire tss upstream through gateway + tssbot-api PM2 app
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>