162abdc97c
- Add Prettier 3 with prettier-plugin-organize-imports (sorts/removes unused imports) - Add ESLint 10 flat config with typescript-eslint + eslint-plugin-vue + eslint-config-prettier - Add root scripts: format, format:check, lint, lint:fix - Reformat 257 files across admin-web, ops-web, desktop-client, packages - Remove unused locals/exports flagged by --noUnusedLocals/--noUnusedParameters - Fix duplicate localTabLabel key, surrogate-pair regex u-flag, NBSP literal in regex - Skip server/ (Go) and apps/browser-extension/ (deprecated per ADR) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
375 B
TypeScript
19 lines
375 B
TypeScript
interface RateLimiterSnapshot {
|
|
refreshedAt: number
|
|
bucketCount: number
|
|
}
|
|
|
|
const state: RateLimiterSnapshot = {
|
|
refreshedAt: 0,
|
|
bucketCount: 0,
|
|
}
|
|
|
|
export function touchRateLimiter(bucketCount: number): void {
|
|
state.refreshedAt = Date.now()
|
|
state.bucketCount = bucketCount
|
|
}
|
|
|
|
export function getRateLimiterSnapshot(): RateLimiterSnapshot {
|
|
return { ...state }
|
|
}
|