| 1 | "@effect/experimental/RateLimiter#layer": |
| 2 | replacement: effect/persistence/RateLimiter#layer |
| 3 | note: Import layer from the v4 unstable RateLimiter module. |
| 4 | "@effect/experimental/RateLimiter#make": |
| 5 | replacement: effect/persistence/RateLimiter#make |
| 6 | note: Import make from the v4 unstable RateLimiter module. |
| 7 | "@effect/experimental/RateLimiter#makeSleep": |
| 8 | replacement: effect/persistence/RateLimiter#sleep |
| 9 | note: The accessor Effect was replaced by sleep; obtain the RateLimiter service and pass it to sleep directly or with its curried overload. |
| 10 | "@effect/experimental/RateLimiter#RateLimiterError": |
| 11 | replacement: effect/persistence/RateLimiter#RateLimiterError |
| 12 | note: The retained name is now a wrapper error class whose reason is RateLimitExceeded or RateLimitStoreError. |
| 13 | "@effect/experimental/RateLimiter#ErrorTypeId": |
| 14 | replacement: effect/persistence/RateLimiter#ErrorTypeId |
| 15 | note: Retained as a string brand; the runtime marker now uses the persistence module path. |
| 16 | "@effect/experimental/RateLimiter#TypeId": |
| 17 | replacement: effect/persistence/RateLimiter#TypeId |
| 18 | note: Import TypeId from the v4 unstable RateLimiter module; it is now a string brand. |
| 19 | "@effect/experimental/RateLimiter#RateLimiterStore": |
| 20 | include: true |
| 21 | replacement: RateLimiter.RateLimiterStore |
| 22 | note: "Use the Context.Service class from effect/persistence/RateLimiter. Custom tokenBucket implementations must return [remaining, elapsedMillis] instead of a number, preserving fractional counts and elapsed refill time." |