@@ -8,7 +8,6 @@ import {
|
8 | 8 | resolveFinalAssistantRawText, |
9 | 9 | resolveFinalAssistantVisibleText, |
10 | 10 | resolveNextSameModelRateLimitRetryCount, |
11 | | -resolveSameModelRateLimitBackoffMs, |
12 | 11 | resolveSameModelRateLimitRetryDelayMs, |
13 | 12 | } from "./helpers.js"; |
14 | 13 | |
@@ -88,23 +87,23 @@ describe("resolveFinalAssistantVisibleText", () => {
|
88 | 87 | }); |
89 | 88 | }); |
90 | 89 | |
91 | | -describe("resolveSameModelRateLimitBackoffMs", () => { |
| 90 | +describe("resolveSameModelRateLimitRetryDelayMs", () => { |
92 | 91 | it("waits 10s/20s/30s linearly before the 1st/2nd/3rd same-model retry", () => { |
93 | | -expect(resolveSameModelRateLimitBackoffMs(0)).toBe(10_000); |
94 | | -expect(resolveSameModelRateLimitBackoffMs(1)).toBe(20_000); |
95 | | -expect(resolveSameModelRateLimitBackoffMs(2)).toBe(30_000); |
| 92 | +expect(resolveSameModelRateLimitRetryDelayMs({ retriesSoFar: 0 })).toBe(10_000); |
| 93 | +expect(resolveSameModelRateLimitRetryDelayMs({ retriesSoFar: 1 })).toBe(20_000); |
| 94 | +expect(resolveSameModelRateLimitRetryDelayMs({ retriesSoFar: 2 })).toBe(30_000); |
96 | 95 | }); |
97 | 96 | |
98 | 97 | it("caps at 60s if the retry count is ever raised further", () => { |
99 | | -expect(resolveSameModelRateLimitBackoffMs(10)).toBe(60_000); |
| 98 | +expect(resolveSameModelRateLimitRetryDelayMs({ retriesSoFar: 10 })).toBe(60_000); |
100 | 99 | }); |
101 | 100 | |
102 | 101 | it("is deterministic so RPM windows clear predictably", () => { |
103 | | -expect(resolveSameModelRateLimitBackoffMs(2)).toBe(resolveSameModelRateLimitBackoffMs(2)); |
| 102 | +expect(resolveSameModelRateLimitRetryDelayMs({ retriesSoFar: 2 })).toBe( |
| 103 | +resolveSameModelRateLimitRetryDelayMs({ retriesSoFar: 2 }), |
| 104 | +); |
104 | 105 | }); |
105 | | -}); |
106 | 106 | |
107 | | -describe("resolveSameModelRateLimitRetryDelayMs", () => { |
108 | 107 | it("honors a short provider Retry-After when it is longer than the fixed backoff", () => { |
109 | 108 | expect( |
110 | 109 | resolveSameModelRateLimitRetryDelayMs({ |
|