{"_id":"@fonderie/rate-limit","_rev":"40-ac3fc33b848db91bac77b718dbb70bbd","name":"@fonderie/rate-limit","dist-tags":{"latest":"4.0.31"},"versions":{"0.1.0":{"name":"@fonderie/rate-limit","version":"0.1.0","keywords":["fonderie-js","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@0.1.0","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderie-js/sdk/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderie-js/sdk/issues"},"dist":{"shasum":"708ce2b7efde6f70e913b729ed9575bbcbb67a0a","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-0.1.0.tgz","fileCount":12,"integrity":"sha512-clQJoWiaREHcFTDqtGLubPK+RD9M2JfHTbbli12kYsMeaqqZ6jxZOLGufnMyxvTo12U7237GxTmgKEPXuCdwQA==","signatures":[{"sig":"MEQCIDPGGZpsF3p2iQKqQxDI3wwdfwlYZUYPV9jj0dOzqTnAAiBz3Gs/g8fI/P6j8ylAywjBr2zYOaRP5iXwnw7ceFFBzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69070},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"2780e760b1325681d57d9fbcd7a03d2f0a78fb6c","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"fonderie","email":"choleski@gmx.com"},"repository":{"url":"git+https://github.com/fonderie-js/sdk.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.16.0","description":"Distributed rate limiting for @fonderie-js — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.3","tsx":"^4.21.0","tsup":"^8.5.1","redis":"^4.7.0","@types/pg":"^8.11.10","typescript":"^6.0.3","@types/node":"^25.6.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.1.1","@fonderie/store":"^0.1.1"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_0.1.0_1784129591006_0.5643426233607165","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@fonderie/rate-limit","version":"1.0.0","keywords":["fonderie-js","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@1.0.0","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderie-js/sdk/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderie-js/sdk/issues"},"dist":{"shasum":"02d9860c7fdef2e54ab7e15069b153253dc43813","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-1.0.0.tgz","fileCount":12,"integrity":"sha512-pI1reaWTIvtYmZiCZHl8bjm2tVI50z7s9hlnyzzRXmqYFH9cxxHHRHnXk1gto9ShU3JD7cSPlhVowBZVmIUdNA==","signatures":[{"sig":"MEYCIQClmtaEckaLz25mbP5Q7CfDTfp5legIMOOxTJpUux+2iAIhALi31NMovZLPD6AKU8LOSmz+krfA0jBnl8higKK0RESF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69081},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"15154d5a1ad586ef147b0904dcb560c187862ae5","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"fonderie","email":"choleski@gmx.com"},"deprecated":"Broken build from a partial release: invalid peer ranges (@fonderie/core@^1.0.0, store@^1.0.0) cause ERESOLVE. Use @fonderie/rate-limit@1.0.1 or later.","repository":{"url":"git+https://github.com/fonderie-js/sdk.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.16.0","description":"Distributed rate limiting for @fonderie-js — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.3","tsx":"^4.21.0","tsup":"^8.5.1","redis":"^4.7.0","@types/pg":"^8.11.10","typescript":"^6.0.3","@types/node":"^25.6.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^1.0.0","@fonderie/store":"^1.0.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_1.0.0_1784550925850_0.676131170228129","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@fonderie/rate-limit","version":"0.1.1","keywords":["fonderie-js","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@0.1.1","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/sdk/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/sdk/issues"},"dist":{"shasum":"b0b71fad8bf262ddf80571bd334b4994d699cd35","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-0.1.1.tgz","fileCount":13,"integrity":"sha512-taHanLw/lRo4qsqQzS8RNb9jYNflJjtRFoZ6A47IrG7vC2LKR4O67O755CUBWLxV4Rnl+TSJ+e2eiDHyVkM/8g==","signatures":[{"sig":"MEQCIHomo0xRwc/PRbrNnGLq7yM7wQewcafl+SXZV3TnfxJqAiAIabJVWP1rPx4vC7SdD102EPII8NwN4AIoIpfapcZImA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69475},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"b66a63f59a1e558f49cdfe9eaa59542180651260","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"fonderie","email":"choleski@gmx.com"},"repository":{"url":"git+https://github.com/fonderiejs/sdk.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"10.9.8","description":"Distributed rate limiting for @fonderie-js — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.3","tsx":"^4.21.0","tsup":"^8.5.1","redis":"^4.7.0","@types/pg":"^8.11.10","typescript":"^6.0.3","@types/node":"^25.6.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.1.1","@fonderie/store":"^0.1.1"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_0.1.1_1784594239671_0.713640968362542","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@fonderie/rate-limit","version":"1.0.1","keywords":["fonderie-js","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@1.0.1","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/sdk/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/sdk/issues"},"dist":{"shasum":"b3b89e41edfb66b7b0e99fc9f53803187f0db55d","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-1.0.1.tgz","fileCount":13,"integrity":"sha512-fHRb7wcEu5WKp4fl4LCBcyPNGwHItvg/dKtskVg4LQ59VgzkUMNZNagKxS1w0lOu45FyTsrf8IvsDXP5KKgBQw==","signatures":[{"sig":"MEUCIAJ1lswVtwbf5drV99STEvDLbmxJRnSDoAWmEjqao6AZAiEAztsLBsFuJtAwZSCBUc83ycF9Do9jZqSgg2dzuSItPyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69475},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"6ba5526a0eaa6f039ebe365b20078e6a9d843985","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"fonderie","email":"choleski@gmx.com"},"repository":{"url":"git+https://github.com/fonderiejs/sdk.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"10.9.8","description":"Distributed rate limiting for @fonderie-js — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.3","tsx":"^4.21.0","tsup":"^8.5.1","redis":"^4.7.0","@types/pg":"^8.11.10","typescript":"^6.0.3","@types/node":"^25.6.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.2.0","@fonderie/store":"^0.1.1"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_1.0.1_1784810023369_0.7515850309315668","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@fonderie/rate-limit","version":"2.0.0","keywords":["fonderie-js","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@2.0.0","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/sdk/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/sdk/issues"},"dist":{"shasum":"1cffe8b34af80a9fb4b7e76c12127fddf396937d","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-2.0.0.tgz","fileCount":13,"integrity":"sha512-wEI73DkF5msVKecIc+YEfynLybKAJoLBNWaS7pYtu1HO7LPO1IVUur8a/Kez6dL5Uw5HGm6WsRGmgFaYIHXx+g==","signatures":[{"sig":"MEQCIBfTtZprNFErW8S1Q85R3S5TVJcIENHsBOPq5c3BsZBiAiBLJ9PSN1kkj8linxYlIpZuFapBKtm7W2IXSNS4219GOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69475},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"7f06efea49d73f526a409342f89b1a01ae88fdf2","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"fonderie","email":"choleski@gmx.com"},"repository":{"url":"git+https://github.com/fonderiejs/sdk.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"10.9.8","description":"Distributed rate limiting for @fonderie-js — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.3","tsx":"^4.21.0","tsup":"^8.5.1","redis":"^4.7.0","@types/pg":"^8.11.10","typescript":"^6.0.3","@types/node":"^25.6.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.3.0","@fonderie/store":"^0.1.1"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_2.0.0_1784864262641_0.6400869577013069","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@fonderie/rate-limit","version":"3.0.0","keywords":["fonderie-js","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@3.0.0","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/sdk/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/sdk/issues"},"dist":{"shasum":"0265a12f74bf58b9e3e1ac4fed42a591d32537a8","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-3.0.0.tgz","fileCount":13,"integrity":"sha512-IiQ+pM6o9dYuvtkeAA/g+tTtXXLVqyXIMivLM7iiytr5DTQsJo+iCT9ebfITshjbVf6OcFEQLLgZXMnbXcbigg==","signatures":[{"sig":"MEYCIQDiZAoUkrWJMksxMTNMCgzzXERJ6BbLX1UhxWiWpN/G+wIhAJGRDHCOA6Yq+oc+5lQc3pQ/7a8wKruvVNdjBbL944Cx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69475},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"07cfdbd701b2eaa7f5df04e3f0f7febd414d3522","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"fonderie","email":"choleski@gmx.com"},"repository":{"url":"git+https://github.com/fonderiejs/sdk.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"10.9.8","description":"Distributed rate limiting for @fonderie-js — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.3","tsx":"^4.21.0","tsup":"^8.5.1","redis":"^4.7.0","@types/pg":"^8.11.10","typescript":"^6.0.3","@types/node":"^25.6.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.4.0","@fonderie/store":"^0.2.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_3.0.0_1784989732745_0.22688712053033222","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@fonderie/rate-limit","version":"4.0.0","keywords":["fonderie-js","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.0","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/sdk/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/sdk/issues"},"dist":{"shasum":"44da94c0bdc11ef9782acbbe1f87a300d8cdfa8f","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.0.tgz","fileCount":13,"integrity":"sha512-DlVjSpsNbL1hbk2zrOYmctvHHKH+REX1eG5qIzfQ74A1dop5Y5doezrhHg+69yAPvC+/6JIFNGaYkAjVgY8GsA==","signatures":[{"sig":"MEUCIEZzcIdpwR3TmrMwWr5i6J6fi6gcIc2IE+0ezX4D0x+iAiEAhhxKZPWGGtXEkQwbwBsTIIgCVnpmUgoEDWmdpDYfZl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69475},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"bb4ed7d720e91d740be85355f3f2153c60e419fe","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0b97d7dc-c440-4db1-a5bc-5916e8853296"}},"repository":{"url":"git+https://github.com/fonderiejs/sdk.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.18.0","description":"Distributed rate limiting for @fonderie-js — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.13.3","tsx":"^4.21.0","tsup":"^8.5.1","redis":"^4.7.0","@types/pg":"^8.11.10","typescript":"^6.0.3","@types/node":"^25.6.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.5.0","@fonderie/store":"^0.2.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.0_1785007827542_0.10134213537376313","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@fonderie/rate-limit","version":"4.0.1","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.1","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"0cd7aa486ff52d4f6b97903858f763a52f1e3e27","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.1.tgz","fileCount":15,"integrity":"sha512-tg9NZvjJptlwCnYN1luOKbLrrfKSiO+EatdR0C/y/2BVcdCw9oiNHUMM4d30PfnaVO0/ji/u009qn6LcNXOIVw==","signatures":[{"sig":"MEYCIQCgGbYmkHx9GB+dJ2+LMJ+I/1ec1P0Dmykac+E+bX/1TgIhANCO4+UL9mj9ZhajzpYCNimlF5/LV9ESdtwZnFW1XrDR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71911},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"0b9bc3fef6a78621968d0f23a6ee71333d4d2d3f","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.12","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.6.0","@fonderie/store":"^0.2.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.1_1788681861984_0.5043126121599826","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@fonderie/rate-limit","version":"4.0.2","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.2","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"49517e77a645867194f2ea8f79ae1af52a1b4139","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.2.tgz","fileCount":15,"integrity":"sha512-Jttv1gUemlW/niTYtBhVGv1jwty3n/+CaQQkyDg5tUiriNXXgukMiNXZCouHpRCfqfee2ncrHd6QcqXmWy09yQ==","signatures":[{"sig":"MEQCIHVm/F44X25TnUEuQqzmU7tUA++9LVX6kLESZ681oU6YAiAB2dKGI3MxyPUbSLlibLhk9e8rsC16Gx56+1bEVjSYkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71911},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"4c2faaf6d1dc211ac5c85edac951a40897b0b481","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.12","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.7.0","@fonderie/store":"^0.2.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.2_1788685649121_0.30805719154448585","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@fonderie/rate-limit","version":"4.0.3","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.3","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"e62a7cac6ef0658011e566974d4bd68862959b18","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.3.tgz","fileCount":15,"integrity":"sha512-n/4+2cEgfEqx5qTNezkvoLaeh9ygiyMIMz3DvuvxxD51pVa0ya8/8MTxdt3Qq3hfgN0O+WrVnCTk8gRnFsrUwg==","signatures":[{"sig":"MEUCIQDhrtUUtyPaLKsdVN7pyQFS4yDwdor3w6dTumy+cDwWrQIgRsj7ap3XMolHSZEHQxqYZQH0Cp7EkeFy88FXOIBOg/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71911},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"20f986035e4f55da606756c58006f6866091177e","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.12","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.8.0","@fonderie/store":"^0.2.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.3_1788705227957_0.18016692741785434","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"@fonderie/rate-limit","version":"4.0.4","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.4","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"fbbd201f29ee7f56788aff4ba8375610606cddce","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.4.tgz","fileCount":15,"integrity":"sha512-d9t2TPBR6cie/idr5NuTFSDRyN9uxJ1FsgNcMlzoxMocn/wDJ+gfh7WMYkEhes/WQyX4LeQHQdxYOG0MRxg66w==","signatures":[{"sig":"MEQCIAS8p8I00s4H20FeJVA1hGphi17DqLOB6E9GsPtW5z8oAiBO6xDuqvol1JMs2BgdcTegfuVLii3G4Aao9AotWZfp7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73446},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"f21df47f11430d5d8fc774077d3f1b7d4845ce00","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.12","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.0","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.8.0","@fonderie/store":"^0.2.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.4_1788790919640_0.7762347846320043","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"@fonderie/rate-limit","version":"4.0.5","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.5","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"03ce7a6a3d7915798138453515ec31e2e4d1a24a","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.5.tgz","fileCount":15,"integrity":"sha512-9A8Aoyj3QmvTyrMdoRVjQruMuTnWxavcpShWfv8YWz5PHJcEty7vxB9Yfk5rCWUJlsfhbSEgkqyI2MEQWHIakA==","signatures":[{"sig":"MEUCIQD0Cnr1Jl/MwyavO2nd3N8W+TGOwm9cGcMoBAGduKoAwwIgbtz95NqkUx9lMM5Kg/21cAGlK5vVvvAJluQqaEgudf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73446},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"ed65992f371fdb2c965d9751cd3c8c848ebf7b31","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.9.0","@fonderie/store":"^0.2.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.5_1789026332631_0.4716172662999607","host":"s3://npm-registry-packages-npm-production"}},"4.0.6":{"name":"@fonderie/rate-limit","version":"4.0.6","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.6","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"f263a2dd3731a24bbd256ef255177a6ae6d45aa7","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.6.tgz","fileCount":15,"integrity":"sha512-qd4l3k3MsdWED5kW5Kb/gEE2thMQnMLiwYMhger3DYFkv1xwhCQsuODrZmQ847+UzvfOAhkwGV9PrOLwMFHDcw==","signatures":[{"sig":"MEUCIClHHEzibhExA0/aXaYl0w89NkcLXmaYAIYgfDYGsK8vAiEAqJaYuKdNHMgE6n3wC38nPAXeOcNX1bAXTsrZLLWJaoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73446},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"edb7360df463a408335b5c1023ff60fedba54d7c","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.9.0","@fonderie/store":"^0.3.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.6_1789030373655_0.804132527041842","host":"s3://npm-registry-packages-npm-production"}},"4.0.7":{"name":"@fonderie/rate-limit","version":"4.0.7","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.7","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"302ed80b255182a8fb8d802c0ab7a46e05f96b85","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.7.tgz","fileCount":15,"integrity":"sha512-YwfQvsUkJQIZq9Da5vHypQ5PsP7eD7A6QXP/pPtx0Cda8m6E3mgstDWeJhAjQ/1MX/IqjErq0bZHNhnNmMDmJQ==","signatures":[{"sig":"MEQCICvwLeyngvpI/7e2lCY3WWlyJLyoDQlege3ilmAnxa9TAiBac16iiMGvuYDopHN2jibBeqW8RwbmygktbVrqi7keEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73447},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"010240ad8a835e177cbe9d217df216415f833107","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.10.0","@fonderie/store":"^0.3.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.7_1789043497934_0.6842614143714216","host":"s3://npm-registry-packages-npm-production"}},"4.0.8":{"name":"@fonderie/rate-limit","version":"4.0.8","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.8","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"156ddb55f1e90a1b65cf69508d3207c8d0a65075","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.8.tgz","fileCount":15,"integrity":"sha512-YIt6x1AaBhy9O28I/IEXfsysbLvpkezQoLW325cNaX24IcCoIswuM+aGE7T+DNr8Z64nYrmiwne5edpbQJ2QeA==","signatures":[{"sig":"MEQCIHplSzXXLDoM4Jb//xOrPD/2sTJTtNt8ibhN5aJcG/93AiAw0yWJl1++IXTkOYtoHf/ifahxCK8EtBXu8zYVqMfBWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73487},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"fee2cf8118f71466af3c8b2a1a186e9c4c1b38ea","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.11.0","@fonderie/store":"^0.3.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.8_1789217440534_0.4850096166872171","host":"s3://npm-registry-packages-npm-production"}},"4.0.9":{"name":"@fonderie/rate-limit","version":"4.0.9","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.9","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"6ff4a37970431640369b2d45a23d12365f790291","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.9.tgz","fileCount":15,"integrity":"sha512-5LSoSWMtU0ZGU6WwkayIlokplBbh+NuJ2DpdqMwdEmOOS0qmNEGG/scg3fBJFn6Vf+ZPdLUxZ6uOIlxZwtd3Eg==","signatures":[{"sig":"MEUCIBazPgMal/BwKqFppxfI8V5sk88+h3ZKpuJ7nkb8cGkiAiEAjFJuew+392a1PLNO+TKv+NPtYdkFDSn+H1R1LKUMzWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73487},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"3bf1be3d3eef4a8c4488186bf4ef71ea667c1d2c","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.12.0","@fonderie/store":"^0.3.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.9_1789224549830_0.15234437429772996","host":"s3://npm-registry-packages-npm-production"}},"4.0.10":{"name":"@fonderie/rate-limit","version":"4.0.10","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.10","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"312f4fa247559a477ead54cfa29fb045cc1aff1d","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.10.tgz","fileCount":15,"integrity":"sha512-TYTuI5B8ULEjpRUtvPtV/67o5BSGfEG/R2lSi1YYVvcdc/84lMZgA5Yadb3aNStHB7GS7Z88yWlQgb80e28+zg==","signatures":[{"sig":"MEUCIQCwCBFwUsc6JBB52uFNSUDLknLTpaPVtoNtN0KS0uPeBwIgWUuyuBIkZOIO77qKSruhawWU1ZdOYb9MUq/v1V4SxC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"3cbab40d37900547b0f91cceb77da6447030ddcf","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.13.0","@fonderie/store":"^0.3.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.10_1789249237054_0.8182607330891121","host":"s3://npm-registry-packages-npm-production"}},"4.0.11":{"name":"@fonderie/rate-limit","version":"4.0.11","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.11","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"9dfe9ac1c14c9cabd47d203962be76f8bc48a017","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.11.tgz","fileCount":15,"integrity":"sha512-2QNWcPiVIp/OhkQj0QZRsbVLdonAL1PglTCNymPGdaMibMegwuevIkIrTbAQx09AxSpgjHr08X1LdUXtbQO0EA==","signatures":[{"sig":"MEYCIQCuOPUdgVz5dRL08sq6cSJWlWBYjNtsVHAqWRtJWRAg4wIhAKjyfpOBOfTsoHgW4609FpRbOYgTu27GpT/KEXHSZ8vS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"20fce034cda9c57adad23a06b011f751f2a083bc","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.14.0","@fonderie/store":"^0.3.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.11_1789256995791_0.4910566408930914","host":"s3://npm-registry-packages-npm-production"}},"4.0.12":{"name":"@fonderie/rate-limit","version":"4.0.12","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.12","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"c0dc18bdffb6bf699de175487735a234328ea31b","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.12.tgz","fileCount":15,"integrity":"sha512-hjgQHPvwla8pxVkaTpovayjMdsBo/aZdkdnYEDdS60ZfyueiTy9lVvIcHVLrEDOniSGuRd59YuQ5HsWpC5HnBw==","signatures":[{"sig":"MEQCIBKrBc+sgbHutNnX6/VJW1XOqI0fHuFKpmZPyuEc7SwSAiAvsa3caMuIse6XVRndYcjLj54gifQ29QA5BY2L2OW2cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"e6209b0b98df3647fdb71687a8eaa68cd0c90831","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.15.0","@fonderie/store":"^0.3.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.12_1789309846710_0.9148218189933615","host":"s3://npm-registry-packages-npm-production"}},"4.0.13":{"name":"@fonderie/rate-limit","version":"4.0.13","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.13","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"3423f8449059ddfdaa9318c101596a3eb8e96e50","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.13.tgz","fileCount":15,"integrity":"sha512-+4VJkgnqIUG5crzWajINJtQbHbB6p4wf9R0Ek/J2TZ5TVgqmt4j0ogun5F8if7iVsFnp9OaU3d+Za6/5MvNYIg==","signatures":[{"sig":"MEQCICrOx8w4fISG6YwHVFDmjk+LpKDhG4zmxIsUDB8p2Nr7AiAsMT2HvdSIPNhX9qkFIndRYhMg/JIDQGbWazTDY8Mo1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"5c2aa534e1b627d44b33a74b623866be316c4c61","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.15.0","@fonderie/store":"^0.4.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.13_1789339006529_0.6629694964641781","host":"s3://npm-registry-packages-npm-production"}},"4.0.14":{"name":"@fonderie/rate-limit","version":"4.0.14","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.14","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"1ad5f50b534b1128ceba62f227956d539d12442f","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.14.tgz","fileCount":15,"integrity":"sha512-O5NYcJMAPo9vYcYphIiVc5jl8o8++Wvkgma7wVFe/ROKgWySkVZoXYC8r0k4wPXQ3AlDpp+kgmn/HgEC3pnbIA==","signatures":[{"sig":"MEQCIDaP1g53AbBEwSmJJVsni/4loB/5TaPwwlIPC0uMzNCmAiBIQD04pJiC7sU24a7V5Y7us3sAa8gYj4bkzk0uc3M7PQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"4ccef9676f7c79a532bab0d5fbcfba6787580c0a","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.4.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.15.0","@fonderie/store":"^0.5.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.14_1789397094956_0.34801946397908967","host":"s3://npm-registry-packages-npm-production"}},"4.0.15":{"name":"@fonderie/rate-limit","version":"4.0.15","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.15","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"689796d83ba0dabe56c451c7a19b12252cd307ee","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.15.tgz","fileCount":15,"integrity":"sha512-TGbwZMh94VHSXFQiiJAWqoU3jSchBKguvq4pkxwY2wZ+VbnPlCghiB9NyVoimIN0JelSF7dMtep6XLPGnT2wSQ==","signatures":[{"sig":"MEUCIQCLXH8ilcHFNG/B3JI3IKOlu9jGu1660kZ+oKSINUOw/wIgLXax1/LE/vWPfskKSztUk1KW6S31pPmQ9hJilaEbby4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICOedXPWMzmLkX1byLC3rsbrD+Bs74+9V9QagqNlmbRuAiB9loYQfaWpK83fAEhfTFAZbw4EJ8NPDDAI+LhFUg+XHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"d1c12261abdea68e8cf6b5cca8b4b4d11304106a","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.5.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.16.0","@fonderie/store":"^0.5.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.15_1790002147063_0.23952661022951482","host":"s3://npm-registry-packages-npm-production"}},"4.0.16":{"name":"@fonderie/rate-limit","version":"4.0.16","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.16","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"f813fe4a77d5d7ebf22a63ba4376d7e0a8978d8b","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.16.tgz","fileCount":15,"integrity":"sha512-oyIo/5C2dEz2uxJCABmEcC1zp4RAqyKIcMvVq8R9+J41/fbMSK020h6NqtbmriW+XqoRdlA133AsyMdyeWTSdw==","signatures":[{"sig":"MEQCIDHOfeMFyQl8Wbclb7NbY99QZzEnGBfiJubmjaQN65d9AiAf1iUyMVs96gW96c7soBzjCKBg6hNGBWCz3/SY20yC7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDuAxTbHiHJ5UE4ZiCQamJjghZgLjYRy+oSI+/IY3VcKwIhAOx42kQwki0nQIgYcgsqjvpnVNgqCPAabbTO0g1y3wCl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"d21be6f9c47df08057e5e49a19872998ebf3119a","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.5.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.17.0","@fonderie/store":"^0.5.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.16_1790005508823_0.5633687053893861","host":"s3://npm-registry-packages-npm-production"}},"4.0.17":{"name":"@fonderie/rate-limit","version":"4.0.17","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.17","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"01a4ce664ffcbee11875eec00a8a2f5c8ccc8385","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.17.tgz","fileCount":15,"integrity":"sha512-c7jG2gLQO+OYAGxfL1VtpbRfXsWa0Xms0xm9b0aBFZS4fGHvhE2z4GUomHFh7jg7NADzJ52K/TtZrFa1T/ajOQ==","signatures":[{"sig":"MEUCIQDcTcq8VHa08L3OJWMNzF866mMr+W8IYwI3SbzU/Qb8EwIgE8PPJvP6jVfmpTvBrVmCFckTK6lOJaE6pBMBSBhhv6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHAbnxWXBOaGB3HgVUt2aM2eYBe59h7GbrB1RhNeLI9RAiAZMvThbjEt3C2iAt0wRpfB9QxhpfEComb7gM+IHSdMkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"f379188193307045f856c4e21aa8426047db1214","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.5.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.18.0","@fonderie/store":"^0.5.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.17_1790008260514_0.28206021781291324","host":"s3://npm-registry-packages-npm-production"}},"4.0.18":{"name":"@fonderie/rate-limit","version":"4.0.18","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.18","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"bb7ffe3680f9f8aa16783b7f3aef7e344bfec256","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.18.tgz","fileCount":15,"integrity":"sha512-+qfVMyoDVx/q9RS7d8COad22nsOUF538e54wxanVYMrU+JY8BhUNwdMHrUTEZ+3loFINwXGNwkCAMlnblC1yHQ==","signatures":[{"sig":"MEUCIQC7NMhsPZihZaXM5Pbt26mUVOoQ/uas7BrrgEuCVeZkbgIgLahYpv686yfx/zmt8T2c7HTjwKu2a9fIGV82ohaYP/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKfEqE88CLCOZsrwumuGnc+pz0rzFT2l4ly2fu/q5yTAIhAIEeVlKSOjNCU8QQXvzanvsdlv658EArg/ck/k9am4S5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"b2452eaa63292a40bad6a15a33cdd0b0bf8c1ccc","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.5.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.19.0","@fonderie/store":"^0.5.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.18_1790010962625_0.659838419768578","host":"s3://npm-registry-packages-npm-production"}},"4.0.19":{"name":"@fonderie/rate-limit","version":"4.0.19","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.19","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"0aacc2a9ca2778c92e6b3659c7c74df218b1e8b8","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.19.tgz","fileCount":15,"integrity":"sha512-y7fj/nvHDD9mf403kLtIutvLeKXcVUgMFxkK78pmkhtZhIF5/Zt5PSBPjASfmeQ15ciSru5JEbX3GbvTIBPreQ==","signatures":[{"sig":"MEUCIGBe7k/G/h74oD/w+t+iMlKpTWnTWinbO1fga95kpRllAiEA8o4uYWzuRs1/lwB1j1AcR/HfUm3RuVHgaSu9nS0z3Gs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAG5/aCRMQnDIzpLEo3JJhzM2TaaPB6mcPZde0HGX789AiBYb077GgQ3MEyn+TvofLA+u0xMwM2oy711KMYCqA/Y8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"565fb5bf4f2274a8ca20344e1da81537351d267c","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.19.1","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.20.0","@fonderie/store":"^0.5.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.19_1790055240903_0.7086386616330242","host":"s3://npm-registry-packages-npm-production"}},"4.0.20":{"name":"@fonderie/rate-limit","version":"4.0.20","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.20","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"86e37cb41c7d655cf2c3b7fb5ab859fa8d57a771","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.20.tgz","fileCount":15,"integrity":"sha512-iO/VBHDj4TghYZOjscgm/TlE9NHhV3JM6aNAqf7DngaHdrSMerw8ZKDRdliY6DLtLqwwQpMPQcvwWXYhmE0Ngw==","signatures":[{"sig":"MEYCIQDODmM9vVWaCNWpKZSLftAnMpnur4LzclnIIe8qrrReegIhAOCcoJOVcIg37oOgjR2OeqFEBUkYz0LYQoC2qi1q7kwd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCaKkWoAOu72fE44LmIlsJd87LtxHcHdrstqHe8yYLJPgIhAPBDdf9Mbo2nmTLXD0RhRD8MBNYktU13BtatsujyoZoA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73488},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"184fb443e858c86db010d4664bd6079e0acf4bf9","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.20.0","@fonderie/store":"^0.6.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.20_1790156146805_0.2226936458316897","host":"s3://npm-registry-packages-npm-production"}},"4.0.21":{"name":"@fonderie/rate-limit","version":"4.0.21","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.21","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"0552b4adb8bc719538109ce6767a23cd3f19fff9","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.21.tgz","fileCount":15,"integrity":"sha512-ck7xo8q9xS+IGcJqXmeybEZBgBecweTZSmSOY0LcxA5dhjPNgwhHA1tcpuQg7o1epCwC8SwHqIqRbRsP7FK2Ow==","signatures":[{"sig":"MEQCIEsU+sqqr2cLLxh5KUJJhplKp65J0yoZk0OFk05dNMssAiAfABHAtJDHfSWgdzFkFszDRAAdisnKtkxLyy1WmA1HOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDU+n2KLppwrCgTgnPv5DLSpkMsoYZbRrZcCRTPDgYJPgIhAPikZn2Fs0B+w7fnXmcPB5sa+mUjAv2nm1Xqn47tnqrO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76002},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"07a56396a8603f0de9dcea8b0272f26bd2cfe110","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.20.0","@fonderie/store":"^0.6.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.21_1790230939891_0.43125085394099893","host":"s3://npm-registry-packages-npm-production"}},"4.0.22":{"name":"@fonderie/rate-limit","version":"4.0.22","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.22","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"905f1d50c70b0772075771c17a4daddaca25badc","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.22.tgz","fileCount":15,"integrity":"sha512-wnj7GfKMxYUETXuvSsGmvWjnzd1W43CcGr7xiJf6zbkE72WU7dxoOYzym9kxjInHph13NufKa/8PxmeXUxKZdA==","signatures":[{"sig":"MEYCIQDwR2eL6Ncds22Oz8tAFmAB3f3gMWOQk4sk6uE3nxqfpgIhAK8FkhLHWqDc8Ju/6SBkdUNqOVcaVZQy1WjEptOuezC2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBzYa/nK5F+T+e8nsB4KhwxSNfbxA+zJLPJShHzrtD8fAiEAlbPDRlGhns1mnvPef9V2y/bdcMpT/zUsDySMFFLYigA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76002},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"ddbe73808fca3cf58f9e101317fbd582d5f404cc","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.21.0","@fonderie/store":"^0.6.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.22_1790316257224_0.6820632996487679","host":"s3://npm-registry-packages-npm-production"}},"4.0.23":{"name":"@fonderie/rate-limit","version":"4.0.23","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.23","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"f8cfb298886b1cc9a1fbc7ab43631287d29cd1b4","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.23.tgz","fileCount":15,"integrity":"sha512-5zc3ZRsVXhbEf0goa6/ewtUCry7Q0our2UlqyS0hhbRKsfUyKFr3EoK/N2QSYA4KQD+WqKp6k9no/8DbJr4oTA==","signatures":[{"sig":"MEUCIFXgoGu9ibY7Uf2JA4L5GOsEXR0vvtMStE2m4W93WcyDAiEAxKhBklumnc9uywN2bO+w6pMw/8nsjDjg2dXDQGPxP4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFsSy7JU2Z5M7uSiHx0MOYLk4V2HmzHZf+5OZtpF5raMAiAqIfSs9PFt0MRRoYrv+gvDifYDlmVO/YdObL2wrHIdJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76002},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"c7db18a1ea5e9c41eb40309256c428b49c2a09b0","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.21.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.23_1790485924162_0.8665484307571205","host":"s3://npm-registry-packages-npm-production"}},"4.0.24":{"name":"@fonderie/rate-limit","version":"4.0.24","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.24","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"3d2f8fb2aa32e984e58679dceeba7aac047076a9","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.24.tgz","fileCount":15,"integrity":"sha512-c3EWtGayHs7KZIdzKpdhgdKF/JjLqgz0yfT96uX66BDBYELoNGH+qzJKNX2GjACj/lEFUY1Hn3qb1sm2mC6T4g==","signatures":[{"sig":"MEQCIDhpPRdDEjkyxd8tCD+a59lDr5vKxRZtZ9szWvgWUZh8AiB/ZxC17Ym+7fZ7+t0ye0s5cJMjnPGH6XXPPpCbCUg25A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHHlAMzF1hLImxvTV+q9F0vfBoYvxfIy+FQJR+QDreSQAiBOOerl6vwANQ6CfpVrcDWsn94a3OQvLiMWTQrTpIbzpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76002},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"08b8ff9a10818c75acc3ccf91fed00f6b432d44a","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.22.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.24_1790547321592_0.6686527464796075","host":"s3://npm-registry-packages-npm-production"}},"4.0.25":{"name":"@fonderie/rate-limit","version":"4.0.25","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.25","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"1be14aa4f2a28cd897df1c8dd8737ddca5256633","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.25.tgz","fileCount":15,"integrity":"sha512-HzoWFjLqifD9NIAPLqSlxrhV8c1sqGwnjWN5nxdP7Clj9VnJZCFrd77DbzIljukDUtUOh9DXyEcjfi6/+/kqtg==","signatures":[{"sig":"MEUCIQCyuPkkCt+WvlCJXZ/IZQoyBTW/qO7uISTo1aU3SzRycQIgUK4LDyY/gRSmSX9qjPAU/LtWPYtwHpuvvndZu2gfpug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC9dxcQVleM1t3ZdH+0azLCaSMnrIReejMc1Vsg5sFxMwIgBwaO+DZ3t5y/CE/YjSp4dP9xqYwGlmzHUKrrVK2AcqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76002},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"0128edeff338e67e587fe88566a54e3c97c2fd09","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.23.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.25_1790585116802_0.32417877006225115","host":"s3://npm-registry-packages-npm-production"}},"4.0.26":{"name":"@fonderie/rate-limit","version":"4.0.26","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.26","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"85f14ae01ae3941d334a3a1ad9c69e98e96c2fde","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.26.tgz","fileCount":16,"integrity":"sha512-mttWHVZ1vEVPMVNasFA1UJpjZmQr6j25b0ffVbo+OeuVVRv8tZdB5dHcSiQTUa6fxoOuERufuVHKRxk0Prie6A==","signatures":[{"sig":"MEUCICKjrzSuIFvxBAFkRQDJPtQAoxQnMZmONdjQakViE8OFAiEAzkixzYiTNyJ8ETEu9RSsGX/FwYhscDnUKMjvsHhwYAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDGQw3QN4Il+IRrxatYaGScw8i+8DJEsjJofCd59UpGjAIhAJ8f7CaHdmnXqsgZ6fGJIB94OlwK/K7q+pDUUs0s3qro","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76295},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./env.json":"./env.json","./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"d776c524e7b3db33748d008e44f9b21be41246c2","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.23.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.26_1790620802969_0.3052914050089106","host":"s3://npm-registry-packages-npm-production"}},"4.0.27":{"name":"@fonderie/rate-limit","version":"4.0.27","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.27","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"52274e01a129716a4306f87dcb1dc73458715a10","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.27.tgz","fileCount":16,"integrity":"sha512-zURjaJmHEBUbOUogt3N+sd7iXNuBg0iP4Ov0Oo59BteqcPOpuu3AImt4ctX9gCL9hnHMKuo1SBrRKSn/ZInQWw==","signatures":[{"sig":"MEQCIDfgJ7+qB3WVgSTlmXHofyqJ/RavaUY3g4n0gTxc9g7hAiA+w/YIVGU1YUdpVvvPesXEo+tUYem1B1FRxZ8YcNVOkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICJtzqzwjcLSxhGeZn2J3mfghHOttd9x+fF2NXv554zHAiBXF0uTaGmuhlnUdd5CeEpe0GLVA4Ou77DWH6xzfha1dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76295},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./env.json":"./env.json","./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"2972951f92cc9a0fbf33a5f771d4324d11f704c5","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.24.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.27_1790664866598_0.18417002092658974","host":"s3://npm-registry-packages-npm-production"}},"4.0.28":{"name":"@fonderie/rate-limit","version":"4.0.28","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.28","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"8c6f818325e8f76714c552aed82071b5ed8ad018","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.28.tgz","fileCount":16,"integrity":"sha512-Uny7WzE9dD6hiVtiVIi9dbu8ONPU1a9KxUJ8y2wntAdWfurKmOxpUEjHSi6p8QnHC/d8dZhXze+gy08iRNb2BA==","signatures":[{"sig":"MEQCIARTeMYdQUkShHc9JMag64zzTWBX3tHP2N/KchwXasGSAiAHPmG/iU/ehq0y8g0xRGyC96qJbhHJJTswiX31xRa+ZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCPBj0EcRJVGdfObjGLni/rmm1ns4R3O7S9FNCCSCUhMAIhAMoz+0Er08M9tQkiKYNmivdbO5yeBmCJ+LSlTuigJhHZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76295},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./env.json":"./env.json","./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"d47b0fbb3229c9d15fafbe0f080fb3171a12a9ed","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.20.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.13","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.1","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.25.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.28_1790676504285_0.550460483349948","host":"s3://npm-registry-packages-npm-production"}},"4.0.29":{"name":"@fonderie/rate-limit","version":"4.0.29","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.29","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"5ebd064350f6237dd6937e9ab9093d1b54d373d4","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.29.tgz","fileCount":16,"integrity":"sha512-vlNC96z8dr1hDSmI8kR77XcU0Un0IIN1nmf++LF+FSezijCGeTK5KgVSTIrKmUDQWRz/qHpthR9ja5IB9JQ4BA==","signatures":[{"sig":"MEUCIEIwHQE4JrbjyU3Q12Irhhlt9qlsHq+RtYQlRIwqy+ZRAiEAntV/Jnf/3veTP5YXAdA/wyAdg5kNvQWIFwIQWHdMqcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAJrCChkURYvlcXM/GE2o2jr/O3rdTCMzZwSO5xQCAgAAiEAnLn7/689CcciE5yOwh/tsIpbmCoJ5w+Fqy0TpDfWDUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76295},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./env.json":"./env.json","./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"edb47dc07a91b9028c035bc1d6617a62025bd168","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.21.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.15","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.3","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.26.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.29_1790819847613_0.3638925281320382","host":"s3://npm-registry-packages-npm-production"}},"4.0.30":{"name":"@fonderie/rate-limit","version":"4.0.30","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"license":"MIT","_id":"@fonderie/rate-limit@4.0.30","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"cf2241173aff2886a79a0f066ef0fb14f44e531e","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.30.tgz","fileCount":16,"integrity":"sha512-RyO4yfghzWZzlmTavRWYCJQdTaOvzJZSRdOZyAohPHdO/uKZCvIxea7tZxhjrquH/k5ZoI6NsKXIlvQ4Rdl4kg==","signatures":[{"sig":"MEUCIQC9bswNaXlP7b4Xo3CoVxF+PtrSOH5lrvBZhkznk8l8zwIgEEQ5A90LrllqTNIPwRVR2HW57rS6uUmAKU/lej+O/MQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE3/nxTKNY9ShQcOUoxKkAuKD0eFDHNAvhZeeNFcYtADAiAZCkYpOPDfsKoINvog7s50xJUyXZKTjy6VVMcxFeNRBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76295},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./env.json":"./env.json","./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"f514622065645625cbacd02a40d30e7fe12c5037","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.21.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"_nodeVersion":"22.23.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.15","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.3","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.27.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rate-limit_4.0.30_1790872448819_0.10715188398379438","host":"s3://npm-registry-packages-npm-production"}},"4.0.31":{"_id":"@fonderie/rate-limit@4.0.31","bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"dist":{"shasum":"d6ba740cc6fdb6a1cd15b822be3094c7b4babace","tarball":"https://registry.npmjs.org/@fonderie/rate-limit/-/rate-limit-4.0.31.tgz","fileCount":16,"integrity":"sha512-WahVyEr+HFAkcilPKwnqmePiOD/TU7gqQ3arVO+PKYXHKBNDc4SxTUUt6x/Q2M+wV9jdugX2S4nDs90Y++ytjg==","signatures":[{"sig":"MEYCIQDa2DDmTMnMea0mL4+CGsn2OH3IkcVVV1HqsB+79N7gAwIhAIAynvJzeu1xynN4w1tqJFawikh3vglxfbd0p22pqEJB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICIjKQyWrk97I7Tlwm6eV3gkODlGZk6Cm3s/zrqha7X7AiByMPY5pSmRSXA7Rsp7GXMoS8rfh5wlaYr26sAofvdPsQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@fonderie%2frate-limit@4.0.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76295},"main":"./dist/index.cjs","name":"@fonderie/rate-limit","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./env.json":"./env.json","./migrations":{"types":"./dist/migrations/index.d.ts","import":"./dist/migrations/index.js"}},"gitHead":"4127ab815bd1056057f0b333d9412416863173b2","license":"MIT","scripts":{"dev":"tsup --watch","lint":"biome lint src","test":"tsx --test src/__tests__/*.test.ts","build":"tsup && tsup --config tsup.migrations.ts","check":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit"},"version":"4.0.31","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"786aa0ff-c2e0-4d6b-a3b0-931feff87af3"}},"fonderie":{"stability":"stable"},"homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"_npmVersion":"11.21.0","description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","directories":{},"maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"_nodeVersion":"22.23.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.23.0","tsx":"^4.23.15","tsup":"^8.5.1","redis":"^6.2.1","@types/pg":"^8.21.0","typescript":"^6.0.3","@types/node":"^26.6.3","@fonderie/core":"../core","@fonderie/store":"../store"},"peerDependencies":{"@fonderie/core":"^0.28.0","@fonderie/store":"^0.7.0"},"peerDependenciesMeta":{"@fonderie/store":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rate-limit_4.0.31_1790887004346_0.4088900848355481"}}},"time":{"created":"2026-07-15T15:33:10.830Z","modified":"2026-10-01T20:36:44.734Z","0.1.0":"2026-07-15T15:33:11.174Z","1.0.0":"2026-07-20T12:35:25.986Z","0.1.1":"2026-07-21T00:37:19.822Z","1.0.1":"2026-07-23T12:33:43.505Z","2.0.0":"2026-07-24T03:37:42.784Z","3.0.0":"2026-07-25T14:28:52.899Z","4.0.0":"2026-07-25T19:30:27.692Z","4.0.1":"2026-09-06T08:04:22.126Z","4.0.2":"2026-09-06T09:07:29.249Z","4.0.3":"2026-09-06T14:33:48.098Z","4.0.4":"2026-09-07T14:21:59.789Z","4.0.5":"2026-09-10T07:45:32.756Z","4.0.6":"2026-09-10T08:52:53.792Z","4.0.7":"2026-09-10T12:31:38.055Z","4.0.8":"2026-09-12T12:50:40.811Z","4.0.9":"2026-09-12T14:49:09.962Z","4.0.10":"2026-09-12T21:40:37.186Z","4.0.11":"2026-09-12T23:49:55.919Z","4.0.12":"2026-09-13T14:30:46.852Z","4.0.13":"2026-09-13T22:36:46.670Z","4.0.14":"2026-09-14T14:44:55.085Z","4.0.15":"2026-09-21T14:49:07.149Z","4.0.16":"2026-09-21T15:45:08.902Z","4.0.17":"2026-09-21T16:31:00.590Z","4.0.18":"2026-09-21T17:16:02.729Z","4.0.19":"2026-09-22T05:34:00.979Z","4.0.20":"2026-09-23T09:35:46.907Z","4.0.21":"2026-09-24T06:22:19.984Z","4.0.22":"2026-09-25T06:04:17.309Z","4.0.23":"2026-09-27T05:12:04.261Z","4.0.24":"2026-09-27T22:15:21.670Z","4.0.25":"2026-09-28T08:45:16.879Z","4.0.26":"2026-09-28T18:40:03.050Z","4.0.27":"2026-09-29T06:54:26.673Z","4.0.28":"2026-09-29T10:08:24.374Z","4.0.29":"2026-10-01T01:57:27.697Z","4.0.30":"2026-10-01T16:34:08.902Z","4.0.31":"2026-10-01T20:36:44.434Z"},"bugs":{"url":"https://github.com/fonderiejs/fonderie/issues"},"license":"MIT","homepage":"https://github.com/fonderiejs/fonderie/tree/main/packages/rate-limit#readme","keywords":["fonderiejs","rate-limit","token-bucket","throttle","brute-force","typescript"],"repository":{"url":"git+https://github.com/fonderiejs/fonderie.git","type":"git","directory":"packages/rate-limit"},"description":"Distributed rate limiting for @fonderiejs — atomic token bucket over memory, PostgreSQL, or Redis, with standard RateLimit-* headers.","maintainers":[{"name":"fonderie","email":"choleski@gmx.com"}],"readme":"# @fonderie/rate-limit\n\nDistributed rate limiting for `@fonderiejs` — an atomic token bucket, backed\nby your PostgreSQL by default, with an in-memory store for single instances\nand a Redis store for very high volume. Emits standard `RateLimit-*` headers.\n\n## Install\n\n```sh\nnpm install @fonderie/rate-limit\n```\n\n## Why it exists\n\n`@fonderie/auth` wires this in front of login, registration, password reset,\nand MFA verification **by default** — so an app that just said \"add login\"\ngets brute-force protection without asking. Use it directly to guard your own\nroutes.\n\n## Stores\n\nAll three implement one atomic operation (`consume`), so switching backends\nnever changes behavior — only where the counters live and how far they scale.\n\n| Store | Use when | Atomicity |\n| --- | --- | --- |\n| `MemoryStore` | single instance, dev | single-threaded event loop |\n| `StoreAdapterStore` | multiple instances on Postgres (default in auth) | one `INSERT … ON CONFLICT` upsert |\n| `RedisStore` | millions of users / high write volume | one Lua `eval` |\n\n`RedisStore` takes any client with an `eval()` method (ioredis, node-redis) —\nthis package depends on no Redis library. `StoreAdapterStore` ships a\n`migrations/` subpath for its one table.\n\n## Use\n\n```ts\nimport { rateLimit, byIp, byBodyField, StoreAdapterStore } from '@fonderie/rate-limit';\n\nconst store = new StoreAdapterStore(myStoreAdapter);\n\n// 10 requests / 15 min per IP AND 5 / 15 min per account — both must allow.\napp.post('/auth/login', adapt(rateLimit(\n\t{ store, rule: { capacity: 10, refillPerSec: 10 / 900 }, key: byIp('login') },\n\t{ store, rule: { capacity: 5, refillPerSec: 5 / 900 }, key: byBodyField('login', 'email') },\n)), loginHandler);\n```\n\nDenied requests get `429` with `RateLimit-Limit` / `RateLimit-Remaining` /\n`RateLimit-Reset` and `Retry-After`. `byIp` reads `ctx.meta.clientIp`, which\nthe Fonderie adapters resolve with explicit proxy trust (`TRUST_PROXY`).\n\n## License\n\nMIT © Fonderie, Inc.\n\n## Deploying behind a proxy (nginx, Kubernetes ingress, load balancer)\n\n`byIp()` reads the client IP that the Fonderie adapter resolved into\n`ctx.meta.clientIp`. **Read this if you run behind any L7 proxy — the default\nis wrong for you, on purpose.**\n\nThe default (`TRUST_PROXY` unset) ignores `X-Forwarded-For` and uses the raw\nsocket address, which is spoof-safe but means: behind nginx or a Kubernetes\ningress, the socket address is the *proxy's* IP for every request. Every\nclient collapses onto one bucket, the per-IP limit becomes global, and a\nsingle attacker can lock out your entire user base.\n\nThere is no default that is both spoof-safe and correct behind a proxy — they\ncontradict. So you must declare your topology:\n\n```sh\n# Number of trusted proxy hops between the internet and your app.\n# One nginx / one ingress in front → 1.\nTRUST_PROXY=1\n```\n\nWith `TRUST_PROXY=N`, the client is taken as the Nth-from-the-right entry of\n`X-Forwarded-For` — anything a client spoofs to the left of your trusted\nproxies is ignored. Also ensure your proxy actually sets `X-Forwarded-For`\n(nginx-ingress does by default), and for Kubernetes `LoadBalancer` services\nconsider `externalTrafficPolicy: Local` to preserve the source IP.\n\nWhen it detects the mismatch — a forwarding header present but `TRUST_PROXY`\nunset and the socket on a private/loopback address — the framework logs a\none-time warning at request time.\n\n## Fail-open\n\n`rateLimit()` **fails open by default**: if the store errors (database down,\nRedis unreachable), the request is allowed through rather than rejected. This\nis a deliberate availability-over-strictness choice — a limiter outage\nshouldn't lock every user out of login. For endpoints where an unthrottled\nrequest is worse than a rejected one, set `failClosed: true` per limit. Either\nway, monitor your store: a silently failing limiter is a silently absent one.\n","readmeFilename":"README.md"}