@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.
@@ -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`.
@@ -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;CACvB;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;AASD,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,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;IAoBjB,0DAA0D;IAC1D,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,WAAW;CAKpB;AAKD,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,0CAA0C;AAC1C,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"token-pool.js","sourceRoot":"","sources":["../src/token-pool.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAwOH,oCAGC;AAGD,wCAEC;AA9OD,6DAAqD;AA6CrD,kFAAkF;AAClF,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,gDAAgD;AAChD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,kFAAkF;AAClF,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAa,SAAS;IACZ,MAAM,GAA4B,IAAI,GAAG,EAAE,CAAC;IAEpD,6EAA6E;IAE7E;;;OAGG;IACH,sBAAsB,CAAC,QAA6B;QAClD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7C,+CAA+C;gBAC/C,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAC/C,MAAM,KAAK,GAAG,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC1B,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EACjD,aAAa,CACd,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,WAAW,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEtB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/D,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CACzB,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzC,gEAAgE;QAChE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC9D,OAAO,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QAChC,QAAQ,CAAC,kBAAkB,IAAI,CAAC,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,SAAS,CAAC,MAAc,EAAE,iBAA0B,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,iBAAiB,IAAI,qBAAqB,CAAC;QACzD,KAAK,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,MAAc,EACd,OAAsD,EACtD,MAAc,IAAI,CAAC,GAAG,EAAE;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,CAAC,GAAG,CAAC,IAAY,EAAsB,EAAE;YAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,kBAAkB;QAClB,MAAM,KAAK,GACT,CAAC,CAAC,oCAAoC,CAAC;YACvC,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,4EAA4E;QAC5E,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QACpC,IAAI,UAAU,IAAI,KAAK,CAAC,gBAAgB,IAAI,GAAG,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,SAAS,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aAC9C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;YACxC,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;YACtE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC;SACpC,CAAC,CAAC,CAAC;QACN,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED,sCAAsC;IACtC,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,6EAA6E;IAErE,SAAS,CACf,IAAuB,EACvB,MAAgC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM;YACN,KAAK;YACL,gBAAgB,EAAE,CAAC;YACnB,kBAAkB,EAAE,CAAC;YACrB,yEAAyE;YACzE,+EAA+E;YAC/E,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,IAAA,kCAAa,EAAC,WAAW,EAAE,KAAK,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,0DAA0D;IAClD,WAAW,CAAC,GAAW;QAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;gBACtC,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC7B,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,CAAa,EAAE,GAAW;QAC5C,IAAI,CAAC,CAAC,gBAAgB,GAAG,GAAG;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,aAAa,GAAG,cAAc;YAAE,OAAO,KAAK,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA7KD,8BA6KC;AAED,yDAAyD;AACzD,IAAI,KAAK,GAAqB,IAAI,CAAC;AAEnC,SAAgB,YAAY;IAC1B,IAAI,CAAC,KAAK;QAAE,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0CAA0C;AAC1C,SAAgB,cAAc;IAC5B,KAAK,GAAG,IAAI,CAAC;AACf,CAAC"}
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.35",
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": {