From dc76799a19acb4f0092635e4e17bf88ae81c1413 Mon Sep 17 00:00:00 2001 From: Darsh Patel Date: Tue, 7 Apr 2026 10:26:48 -0700 Subject: [PATCH 1/2] bump to 0.216.0, add resetBudget test --- package.json | 2 +- transport/rateLimit.test.ts | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index e1d6b519..c9430554 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@replit/river", "description": "It's like tRPC but... with JSON Schema Support, duplex streaming and support for service multiplexing. Transport agnostic!", - "version": "0.215.0", + "version": "0.216.0", "type": "module", "exports": { ".": { diff --git a/transport/rateLimit.test.ts b/transport/rateLimit.test.ts index 494233bf..1cea3853 100644 --- a/transport/rateLimit.test.ts +++ b/transport/rateLimit.test.ts @@ -89,6 +89,26 @@ describe('LeakyBucketRateLimit', () => { expect(backoffMs3).toBeGreaterThan(backoffMs2); }); + test('resetBudget zeroes consumed budget and stops restore', () => { + const rateLimit = new LeakyBucketRateLimit(options); + rateLimit.consumeBudget(); + rateLimit.consumeBudget(); + rateLimit.consumeBudget(); + expect(rateLimit.getBudgetConsumed()).toBe(3); + expect(rateLimit.hasBudget()).toBe(true); + + rateLimit.startRestoringBudget(); + + rateLimit.resetBudget(); + expect(rateLimit.getBudgetConsumed()).toBe(0); + expect(rateLimit.hasBudget()).toBe(true); + expect(rateLimit.getBackoffMs()).toBe(0); + + // restore interval should be stopped — advancing time shouldn't change anything + vi.advanceTimersByTime(options.budgetRestoreIntervalMs * 5); + expect(rateLimit.getBudgetConsumed()).toBe(0); + }); + test('reports remaining budget correctly', () => { const maxAttempts = 3; const rateLimit = new LeakyBucketRateLimit({ From 0722a7db9d7b84d65846acce4bdbbcb0a30fb23b Mon Sep 17 00:00:00 2001 From: Darsh Patel Date: Tue, 7 Apr 2026 10:29:00 -0700 Subject: [PATCH 2/2] patch bump 0.215.1 instead of minor --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c9430554..95b4b101 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@replit/river", "description": "It's like tRPC but... with JSON Schema Support, duplex streaming and support for service multiplexing. Transport agnostic!", - "version": "0.216.0", + "version": "0.215.1", "type": "module", "exports": { ".": {