@relayplane/proxy 1.9.35 → 1.9.36
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.
- package/dist/token-pool.d.ts +13 -0
- package/dist/token-pool.d.ts.map +1 -1
- package/dist/token-pool.js +30 -0
- package/dist/token-pool.js.map +1 -1
- package/package.json +1 -1
package/dist/token-pool.d.ts
CHANGED
|
@@ -49,6 +49,10 @@ export interface TokenState {
|
|
|
49
49
|
windowStart: number;
|
|
50
50
|
/** Best-known RPM limit learned from upstream headers */
|
|
51
51
|
knownRpmLimit: number;
|
|
52
|
+
/** Consecutive 401 auth failures since last success */
|
|
53
|
+
consecutiveAuthFailures: number;
|
|
54
|
+
/** Unix ms timestamp until which this token is quarantined after repeated 401s */
|
|
55
|
+
quarantinedUntil: number;
|
|
52
56
|
}
|
|
53
57
|
export interface TokenPoolStatus {
|
|
54
58
|
accounts: Array<{
|
|
@@ -79,6 +83,15 @@ export declare class TokenPool {
|
|
|
79
83
|
* Returns `null` if all tokens are exhausted / rate-limited.
|
|
80
84
|
*/
|
|
81
85
|
selectToken(now?: number): TokenState | null;
|
|
86
|
+
/**
|
|
87
|
+
* Record a 401 auth failure. After AUTH_FAILURE_THRESHOLD consecutive failures
|
|
88
|
+
* the credential is quarantined for QUARANTINE_DURATION_MS.
|
|
89
|
+
*/
|
|
90
|
+
recordAuthFailure(apiKey: string, now?: number): void;
|
|
91
|
+
/**
|
|
92
|
+
* Record a successful response — resets the consecutive auth failure counter.
|
|
93
|
+
*/
|
|
94
|
+
recordSuccess(apiKey: string): void;
|
|
82
95
|
/**
|
|
83
96
|
* Record a 429 response for the given apiKey.
|
|
84
97
|
* Marks the token as rate-limited for `retryAfterSeconds`.
|
package/dist/token-pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-pool.d.ts","sourceRoot":"","sources":["../src/token-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC;IACjC,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"token-pool.d.ts","sourceRoot":"","sources":["../src/token-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC;IACjC,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,uBAAuB,EAAE,MAAM,CAAC;IAChC,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC;QACf,kBAAkB,EAAE,MAAM,CAAC;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ;AAaD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAsC;IAIpD;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAa3D;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAYhC;;;OAGG;IACH,WAAW,CAAC,GAAG,GAAE,MAAmB,GAAG,UAAU,GAAG,IAAI;IAsBxD;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI;IASjE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMnC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI;IAOrF;;;;OAIG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,GAAG,GAAE,MAAmB,GACvB,IAAI;IA8BP,SAAS,CAAC,GAAG,GAAE,MAAmB,GAAG,eAAe;IAiBpD,sCAAsC;IACtC,IAAI,IAAI,MAAM;IAMd,OAAO,CAAC,SAAS;IAsBjB,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,WAAW;CAMpB;AAKD,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,0CAA0C;AAC1C,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
|
package/dist/token-pool.js
CHANGED
|
@@ -34,6 +34,10 @@ const THROTTLE_RATIO = 0.9;
|
|
|
34
34
|
const AUTO_DETECT_PRIORITY = 10;
|
|
35
35
|
/** Default rate-limit window after a 429 when no Retry-After header is present */
|
|
36
36
|
const DEFAULT_RETRY_AFTER_S = 60;
|
|
37
|
+
/** Consecutive 401s before a credential is quarantined */
|
|
38
|
+
const AUTH_FAILURE_THRESHOLD = 2;
|
|
39
|
+
/** How long a quarantined credential is skipped (ms) */
|
|
40
|
+
const QUARANTINE_DURATION_MS = 60 * 60 * 1000; // 1 hour
|
|
37
41
|
class TokenPool {
|
|
38
42
|
tokens = new Map();
|
|
39
43
|
// ── Registration ──────────────────────────────────────────────────────────
|
|
@@ -86,6 +90,28 @@ class TokenPool {
|
|
|
86
90
|
return selected;
|
|
87
91
|
}
|
|
88
92
|
// ── Recording ─────────────────────────────────────────────────────────────
|
|
93
|
+
/**
|
|
94
|
+
* Record a 401 auth failure. After AUTH_FAILURE_THRESHOLD consecutive failures
|
|
95
|
+
* the credential is quarantined for QUARANTINE_DURATION_MS.
|
|
96
|
+
*/
|
|
97
|
+
recordAuthFailure(apiKey, now = Date.now()) {
|
|
98
|
+
const state = this.tokens.get(apiKey);
|
|
99
|
+
if (!state)
|
|
100
|
+
return;
|
|
101
|
+
state.consecutiveAuthFailures += 1;
|
|
102
|
+
if (state.consecutiveAuthFailures >= AUTH_FAILURE_THRESHOLD) {
|
|
103
|
+
state.quarantinedUntil = now + QUARANTINE_DURATION_MS;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Record a successful response — resets the consecutive auth failure counter.
|
|
108
|
+
*/
|
|
109
|
+
recordSuccess(apiKey) {
|
|
110
|
+
const state = this.tokens.get(apiKey);
|
|
111
|
+
if (!state)
|
|
112
|
+
return;
|
|
113
|
+
state.consecutiveAuthFailures = 0;
|
|
114
|
+
}
|
|
89
115
|
/**
|
|
90
116
|
* Record a 429 response for the given apiKey.
|
|
91
117
|
* Marks the token as rate-limited for `retryAfterSeconds`.
|
|
@@ -163,6 +189,8 @@ class TokenPool {
|
|
|
163
189
|
// the real current time rather than creation time (which may differ in tests).
|
|
164
190
|
windowStart: 0,
|
|
165
191
|
knownRpmLimit: (0, provider_limits_js_1.getDefaultRpm)('anthropic', isOat),
|
|
192
|
+
consecutiveAuthFailures: 0,
|
|
193
|
+
quarantinedUntil: 0,
|
|
166
194
|
};
|
|
167
195
|
}
|
|
168
196
|
/** Roll over any per-minute windows that have expired. */
|
|
@@ -177,6 +205,8 @@ class TokenPool {
|
|
|
177
205
|
isAvailable(t, now) {
|
|
178
206
|
if (t.rateLimitedUntil > now)
|
|
179
207
|
return false;
|
|
208
|
+
if (t.quarantinedUntil > now)
|
|
209
|
+
return false;
|
|
180
210
|
if (t.requestsThisMinute >= t.knownRpmLimit * THROTTLE_RATIO)
|
|
181
211
|
return false;
|
|
182
212
|
return true;
|
package/dist/token-pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-pool.js","sourceRoot":"","sources":["../src/token-pool.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;
|
|
1
|
+
{"version":3,"file":"token-pool.js","sourceRoot":"","sources":["../src/token-pool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@relayplane/proxy",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.36",
|
|
4
4
|
"description": "Open source cost intelligence proxy for AI agents. Cut LLM costs ~80% with smart model routing. Dashboard, policy engine, 11 providers. MIT licensed.",
|
|
5
5
|
"homepage": "https://relayplane.com",
|
|
6
6
|
"repository": {
|