@cortexkit/antigravity-auth-core 1.1.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/account-manager.d.ts +325 -0
  2. package/dist/account-manager.d.ts.map +1 -0
  3. package/dist/account-manager.js +1480 -0
  4. package/dist/account-manager.js.map +1 -0
  5. package/dist/account-storage.d.ts +162 -0
  6. package/dist/account-storage.d.ts.map +1 -0
  7. package/dist/account-storage.js +635 -0
  8. package/dist/account-storage.js.map +1 -0
  9. package/dist/account-types.d.ts +155 -0
  10. package/dist/account-types.d.ts.map +1 -0
  11. package/dist/account-types.js +9 -0
  12. package/dist/account-types.js.map +1 -0
  13. package/dist/agy-request-metadata.d.ts +12 -5
  14. package/dist/agy-request-metadata.d.ts.map +1 -1
  15. package/dist/agy-request-metadata.js +64 -38
  16. package/dist/agy-request-metadata.js.map +1 -1
  17. package/dist/agy-transport.d.ts +2 -2
  18. package/dist/agy-transport.d.ts.map +1 -1
  19. package/dist/agy-transport.js +87 -74
  20. package/dist/agy-transport.js.map +1 -1
  21. package/dist/antigravity/oauth.d.ts +3 -2
  22. package/dist/antigravity/oauth.d.ts.map +1 -1
  23. package/dist/antigravity/oauth.js +65 -55
  24. package/dist/antigravity/oauth.js.map +1 -1
  25. package/dist/atomic-write.d.ts +23 -0
  26. package/dist/atomic-write.d.ts.map +1 -0
  27. package/dist/atomic-write.js +47 -0
  28. package/dist/atomic-write.js.map +1 -0
  29. package/dist/auth-types.d.ts +12 -2
  30. package/dist/auth-types.d.ts.map +1 -1
  31. package/dist/auth.d.ts +1 -1
  32. package/dist/auth.d.ts.map +1 -1
  33. package/dist/auth.js +9 -6
  34. package/dist/auth.js.map +1 -1
  35. package/dist/constants.d.ts +19 -12
  36. package/dist/constants.d.ts.map +1 -1
  37. package/dist/constants.js +51 -39
  38. package/dist/constants.js.map +1 -1
  39. package/dist/fetch-timeout.d.ts +26 -0
  40. package/dist/fetch-timeout.d.ts.map +1 -0
  41. package/dist/fetch-timeout.js +43 -0
  42. package/dist/fetch-timeout.js.map +1 -0
  43. package/dist/file-lock.d.ts +79 -0
  44. package/dist/file-lock.d.ts.map +1 -0
  45. package/dist/file-lock.js +438 -0
  46. package/dist/file-lock.js.map +1 -0
  47. package/dist/fingerprint.d.ts +9 -3
  48. package/dist/fingerprint.d.ts.map +1 -1
  49. package/dist/fingerprint.js +28 -20
  50. package/dist/fingerprint.js.map +1 -1
  51. package/dist/index.d.ts +23 -13
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +18 -9
  54. package/dist/index.js.map +1 -1
  55. package/dist/logger.d.ts +1 -1
  56. package/dist/logger.d.ts.map +1 -1
  57. package/dist/logger.js +10 -10
  58. package/dist/logger.js.map +1 -1
  59. package/dist/model-registry.d.ts +5 -5
  60. package/dist/model-registry.d.ts.map +1 -1
  61. package/dist/model-registry.js +119 -107
  62. package/dist/model-registry.js.map +1 -1
  63. package/dist/project.d.ts +4 -1
  64. package/dist/project.d.ts.map +1 -1
  65. package/dist/project.js +84 -31
  66. package/dist/project.js.map +1 -1
  67. package/dist/quota-manager.d.ts +203 -0
  68. package/dist/quota-manager.d.ts.map +1 -0
  69. package/dist/quota-manager.js +718 -0
  70. package/dist/quota-manager.js.map +1 -0
  71. package/dist/quota-types.d.ts +68 -0
  72. package/dist/quota-types.d.ts.map +1 -0
  73. package/dist/quota-types.js +50 -0
  74. package/dist/quota-types.js.map +1 -0
  75. package/dist/rotation.d.ts +175 -0
  76. package/dist/rotation.d.ts.map +1 -0
  77. package/dist/rotation.js +391 -0
  78. package/dist/rotation.js.map +1 -0
  79. package/dist/transform/claude.d.ts +1 -1
  80. package/dist/transform/claude.d.ts.map +1 -1
  81. package/dist/transform/claude.js +63 -41
  82. package/dist/transform/claude.js.map +1 -1
  83. package/dist/transform/cross-model-sanitizer.d.ts +1 -1
  84. package/dist/transform/cross-model-sanitizer.d.ts.map +1 -1
  85. package/dist/transform/cross-model-sanitizer.js +19 -16
  86. package/dist/transform/cross-model-sanitizer.js.map +1 -1
  87. package/dist/transform/gemini.d.ts +1 -1
  88. package/dist/transform/gemini.d.ts.map +1 -1
  89. package/dist/transform/gemini.js +111 -85
  90. package/dist/transform/gemini.js.map +1 -1
  91. package/dist/transform/index.d.ts +9 -9
  92. package/dist/transform/index.d.ts.map +1 -1
  93. package/dist/transform/index.js +6 -6
  94. package/dist/transform/index.js.map +1 -1
  95. package/dist/transform/model-resolver.d.ts +5 -5
  96. package/dist/transform/model-resolver.d.ts.map +1 -1
  97. package/dist/transform/model-resolver.js +97 -75
  98. package/dist/transform/model-resolver.js.map +1 -1
  99. package/dist/transform/types.d.ts +5 -5
  100. package/dist/transform/types.d.ts.map +1 -1
  101. package/dist/version.d.ts +1 -1
  102. package/dist/version.d.ts.map +1 -1
  103. package/dist/version.js +14 -16
  104. package/dist/version.js.map +1 -1
  105. package/package.json +16 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../src/quota-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Harness-agnostic quota types.
3
+ *
4
+ * Quota group / per-model / CLI summary shapes shared between the core
5
+ * quota helpers and any harness that wants to display quota status. Kept
6
+ * separate from `account-types.ts` so quota evolution does not force a
7
+ * migration on the persisted account pool.
8
+ */
9
+ import type { AccountMetadataV3 } from './account-types.ts';
10
+ export type QuotaGroup = 'gemini' | 'non-gemini';
11
+ export type QuotaWindow = 'weekly' | '5h';
12
+ export interface QuotaWindowEntry {
13
+ window: QuotaWindow;
14
+ remainingFraction: number;
15
+ resetTime: string;
16
+ }
17
+ export interface QuotaGroupSummary {
18
+ /** Most-constrained window's remainingFraction (derived from `windows`). */
19
+ remainingFraction?: number;
20
+ /** Most-constrained window's resetTime (derived from `windows`). */
21
+ resetTime?: string;
22
+ modelCount: number;
23
+ /**
24
+ * Per-window breakdown from the retrieveUserQuotaSummary response.
25
+ * shortest-first (5h before weekly, etc.). Omitted in legacy cached shapes —
26
+ * consumers treat a single remainingFraction as one unlabeled window.
27
+ */
28
+ windows?: QuotaWindowEntry[];
29
+ }
30
+ /**
31
+ * Migrate pre-pool quota keys while loading persisted account data. Current
32
+ * keys pass through unchanged, making this safe for every storage read.
33
+ */
34
+ export declare function normalizeLegacyCachedQuota(raw: AccountMetadataV3['cachedQuota']): Partial<Record<QuotaGroup, QuotaGroupSummary>> | undefined;
35
+ export interface PerModelQuotaEntry {
36
+ modelId: string;
37
+ displayName?: string;
38
+ group: QuotaGroup | null;
39
+ remainingFraction: number;
40
+ resetTime?: string;
41
+ }
42
+ export interface QuotaSummary {
43
+ groups: Partial<Record<QuotaGroup, QuotaGroupSummary>>;
44
+ perModel?: PerModelQuotaEntry[];
45
+ modelCount: number;
46
+ error?: string;
47
+ }
48
+ export interface GeminiCliQuotaModel {
49
+ modelId: string;
50
+ remainingFraction: number;
51
+ resetTime?: string;
52
+ }
53
+ export interface GeminiCliQuotaSummary {
54
+ models: GeminiCliQuotaModel[];
55
+ error?: string;
56
+ }
57
+ export type AccountQuotaStatus = 'ok' | 'disabled' | 'error';
58
+ export interface AccountQuotaResult {
59
+ index: number;
60
+ email?: string;
61
+ status: AccountQuotaStatus;
62
+ error?: string;
63
+ disabled?: boolean;
64
+ quota?: QuotaSummary;
65
+ geminiCliQuota?: GeminiCliQuotaSummary;
66
+ updatedAccount?: AccountMetadataV3;
67
+ }
68
+ //# sourceMappingURL=quota-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-types.d.ts","sourceRoot":"","sources":["../src/quota-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAA;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,iBAAiB,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAsD5D;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,cAAc,CAAC,EAAE,qBAAqB,CAAA;IACtC,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Harness-agnostic quota types.
3
+ *
4
+ * Quota group / per-model / CLI summary shapes shared between the core
5
+ * quota helpers and any harness that wants to display quota status. Kept
6
+ * separate from `account-types.ts` so quota evolution does not force a
7
+ * migration on the persisted account pool.
8
+ */
9
+ /**
10
+ * Migrate pre-pool quota keys while loading persisted account data. Current
11
+ * keys pass through unchanged, making this safe for every storage read.
12
+ */
13
+ export function normalizeLegacyCachedQuota(raw) {
14
+ if (!raw)
15
+ return raw;
16
+ const hasLegacy = 'gemini-pro' in raw ||
17
+ 'gemini-flash' in raw ||
18
+ 'claude' in raw ||
19
+ 'gpt-oss' in raw;
20
+ if (!hasLegacy)
21
+ return raw;
22
+ const earlierResetTime = (a, b) => {
23
+ if (!a)
24
+ return b;
25
+ if (!b)
26
+ return a;
27
+ return a < b ? a : b;
28
+ };
29
+ const minFraction = (a, b) => {
30
+ if (!a)
31
+ return b;
32
+ if (!b)
33
+ return a;
34
+ const fa = a.remainingFraction ?? 1;
35
+ const fb = b.remainingFraction ?? 1;
36
+ const winner = fa <= fb ? a : b;
37
+ const loser = fa <= fb ? b : a;
38
+ return {
39
+ ...winner,
40
+ resetTime: earlierResetTime(winner.resetTime, loser.resetTime),
41
+ };
42
+ };
43
+ const gemini = minFraction(raw.gemini, minFraction(raw['gemini-pro'], raw['gemini-flash']));
44
+ const nonGemini = minFraction(raw['non-gemini'], minFraction(raw.claude, raw['gpt-oss']));
45
+ return {
46
+ ...(gemini !== undefined ? { gemini } : {}),
47
+ ...(nonGemini !== undefined ? { 'non-gemini': nonGemini } : {}),
48
+ };
49
+ }
50
+ //# sourceMappingURL=quota-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-types.js","sourceRoot":"","sources":["../src/quota-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4BH;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAAqC;IAErC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAA;IAEpB,MAAM,SAAS,GACb,YAAY,IAAI,GAAG;QACnB,cAAc,IAAI,GAAG;QACrB,QAAQ,IAAI,GAAG;QACf,SAAS,IAAI,GAAG,CAAA;IAClB,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAA;IAE1B,MAAM,gBAAgB,GAAG,CACvB,CAAqB,EACrB,CAAqB,EACD,EAAE;QACtB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,CAClB,CAAgC,EAChC,CAAgC,EACD,EAAE;QACjC,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAA;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO;YACL,GAAG,MAAM;YACT,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;SAC/D,CAAA;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,WAAW,CACxB,GAAG,CAAC,MAAuC,EAC3C,WAAW,CACT,GAAG,CAAC,YAAY,CAAkC,EAClD,GAAG,CAAC,cAAc,CAAkC,CACrD,CACF,CAAA;IACD,MAAM,SAAS,GAAG,WAAW,CAC3B,GAAG,CAAC,YAAY,CAAkC,EAClD,WAAW,CACT,GAAG,CAAC,MAAuC,EAC3C,GAAG,CAAC,SAAS,CAAkC,CAChD,CACF,CAAA;IAED,OAAO;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAA;AACH,CAAC"}
@@ -0,0 +1,175 @@
1
+ export type RateLimitReason = 'QUOTA_EXHAUSTED' | 'RATE_LIMIT_EXCEEDED' | 'MODEL_CAPACITY_EXHAUSTED' | 'SERVER_ERROR' | 'UNKNOWN';
2
+ export declare function parseRateLimitReason(reason: string | undefined, message: string | undefined, status?: number): RateLimitReason;
3
+ export declare function calculateBackoffMs(reason: RateLimitReason, consecutiveFailures: number, retryAfterMs?: number | null, random?: () => number): number;
4
+ export declare function computeSoftQuotaCacheTtlMs(ttlConfig: 'auto' | number, refreshIntervalMinutes: number): number;
5
+ /**
6
+ * Account Rotation System
7
+ *
8
+ * Implements advanced account selection algorithms:
9
+ * - Health Score: Track account wellness based on success/failure
10
+ * - LRU Selection: Prefer accounts with longest rest periods
11
+ * - Jitter: Add random variance to break predictable patterns
12
+ *
13
+ * Used by 'hybrid' strategy for improved ban prevention and load distribution.
14
+ */
15
+ export interface HealthScoreConfig {
16
+ /** Initial score for new accounts (default: 70) */
17
+ initial: number;
18
+ /** Points added on successful request (default: 1) */
19
+ successReward: number;
20
+ /** Points removed on rate limit (default: -10) */
21
+ rateLimitPenalty: number;
22
+ /** Points removed on failure (auth, network, etc.) (default: -20) */
23
+ failurePenalty: number;
24
+ /** Points recovered per hour of rest (default: 2) */
25
+ recoveryRatePerHour: number;
26
+ /** Minimum score to be considered usable (default: 50) */
27
+ minUsable: number;
28
+ /** Maximum score cap (default: 100) */
29
+ maxScore: number;
30
+ }
31
+ export declare const DEFAULT_HEALTH_SCORE_CONFIG: HealthScoreConfig;
32
+ /**
33
+ * Tracks health scores for accounts.
34
+ * Higher score = healthier account = preferred for selection.
35
+ */
36
+ export declare class HealthScoreTracker {
37
+ private readonly scores;
38
+ private readonly config;
39
+ private readonly now;
40
+ constructor(config?: Partial<HealthScoreConfig>, now?: () => number);
41
+ /**
42
+ * Get current health score for an account, applying time-based recovery.
43
+ */
44
+ getScore(accountIndex: number): number;
45
+ /**
46
+ * Record a successful request - improves health score.
47
+ */
48
+ recordSuccess(accountIndex: number): void;
49
+ /**
50
+ * Record a rate limit hit - moderate penalty.
51
+ */
52
+ recordRateLimit(accountIndex: number): void;
53
+ /**
54
+ * Record a failure (auth, network, etc.) - larger penalty.
55
+ */
56
+ recordFailure(accountIndex: number): void;
57
+ /**
58
+ * Check if account is healthy enough to use.
59
+ */
60
+ isUsable(accountIndex: number): boolean;
61
+ /**
62
+ * Get consecutive failure count for an account.
63
+ */
64
+ getConsecutiveFailures(accountIndex: number): number;
65
+ /**
66
+ * Reset health state for an account (e.g., after removal).
67
+ */
68
+ reset(accountIndex: number): void;
69
+ /**
70
+ * Get all scores for debugging/logging.
71
+ */
72
+ getSnapshot(): Map<number, {
73
+ score: number;
74
+ consecutiveFailures: number;
75
+ }>;
76
+ }
77
+ /**
78
+ * Add random jitter to a delay value.
79
+ * Helps break predictable timing patterns.
80
+ *
81
+ * @param baseMs - Base delay in milliseconds
82
+ * @param jitterFactor - Fraction of base to vary (default: 0.3 = ±30%)
83
+ * @returns Jittered delay in milliseconds
84
+ */
85
+ export declare function addJitter(baseMs: number, jitterFactor?: number, random?: () => number): number;
86
+ /**
87
+ * Generate a random delay within a range.
88
+ *
89
+ * @param minMs - Minimum delay in milliseconds
90
+ * @param maxMs - Maximum delay in milliseconds
91
+ * @returns Random delay between min and max
92
+ */
93
+ export declare function randomDelay(minMs: number, maxMs: number, random?: () => number): number;
94
+ export interface AccountWithMetrics {
95
+ index: number;
96
+ lastUsed: number;
97
+ healthScore: number;
98
+ isRateLimited: boolean;
99
+ isCoolingDown: boolean;
100
+ }
101
+ /**
102
+ * Sort accounts by LRU (least recently used first) with health score tiebreaker.
103
+ *
104
+ * Priority:
105
+ * 1. Filter out rate-limited and cooling-down accounts
106
+ * 2. Filter out unhealthy accounts (score < minUsable)
107
+ * 3. Sort by lastUsed ascending (oldest first = most rested)
108
+ * 4. Tiebreaker: higher health score wins
109
+ */
110
+ export declare function sortByLruWithHealth(accounts: AccountWithMetrics[], minHealthScore?: number): AccountWithMetrics[];
111
+ /**
112
+ * Select account using hybrid strategy with stickiness:
113
+ * 1. Filter available accounts (not rate-limited, not cooling down, healthy, has tokens)
114
+ * 2. Calculate priority score: health (2x) + tokens (5x) + freshness (0.1x)
115
+ * 3. Apply stickiness bonus to current account
116
+ * 4. Only switch if another account beats current by SWITCH_THRESHOLD
117
+ *
118
+ * @param accounts - All accounts with their metrics
119
+ * @param tokenTracker - Token bucket tracker for token balances
120
+ * @param currentAccountIndex - Currently active account index (for stickiness)
121
+ * @param minHealthScore - Minimum health score to be considered
122
+ * @returns Best account index, or null if none available
123
+ */
124
+ export declare function selectHybridAccount(accounts: AccountWithMetrics[], tokenTracker: TokenBucketTracker, currentAccountIndex?: number | null, minHealthScore?: number, now?: () => number): number | null;
125
+ export interface TokenBucketConfig {
126
+ /** Maximum tokens per account (default: 50) */
127
+ maxTokens: number;
128
+ /** Tokens regenerated per minute (default: 6) */
129
+ regenerationRatePerMinute: number;
130
+ /** Initial tokens for new accounts (default: 50) */
131
+ initialTokens: number;
132
+ }
133
+ export declare const DEFAULT_TOKEN_BUCKET_CONFIG: TokenBucketConfig;
134
+ /**
135
+ * Client-side rate limiting using Token Bucket algorithm.
136
+ * Helps prevent hitting server 429s by tracking "cost" of requests.
137
+ */
138
+ export declare class TokenBucketTracker {
139
+ private readonly buckets;
140
+ private readonly config;
141
+ private readonly now;
142
+ constructor(config?: Partial<TokenBucketConfig>, now?: () => number);
143
+ /**
144
+ * Get current token balance for an account, applying regeneration.
145
+ */
146
+ getTokens(accountIndex: number): number;
147
+ /**
148
+ * Check if account has enough tokens for a request.
149
+ * @param cost Cost of the request (default: 1)
150
+ */
151
+ hasTokens(accountIndex: number, cost?: number): boolean;
152
+ /**
153
+ * Consume tokens for a request.
154
+ * @returns true if tokens were consumed, false if insufficient
155
+ */
156
+ consume(accountIndex: number, cost?: number): boolean;
157
+ /**
158
+ * Refund tokens (e.g., if request wasn't actually sent).
159
+ */
160
+ refund(accountIndex: number, amount?: number): void;
161
+ getMaxTokens(): number;
162
+ }
163
+ export declare function getTokenTracker(): TokenBucketTracker;
164
+ export declare function initTokenTracker(config: Partial<TokenBucketConfig>): TokenBucketTracker;
165
+ /**
166
+ * Get the global health score tracker instance.
167
+ * Creates one with default config if not initialized.
168
+ */
169
+ export declare function getHealthTracker(): HealthScoreTracker;
170
+ /**
171
+ * Initialize the global health tracker with custom config.
172
+ * Call this at plugin startup if custom config is needed.
173
+ */
174
+ export declare function initHealthTracker(config: Partial<HealthScoreConfig>): HealthScoreTracker;
175
+ //# sourceMappingURL=rotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../src/rotation.ts"],"names":[],"mappings":"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"}