Rate Limiting Kit
Protect APIs and models from overuse with configurable rate limiting algorithms.
Configuration
60
10
Tokens Available
60
Allowed
0
Denied
0
Request Stream
Start traffic to see rate limiting in action
Integration Code
import { createRateLimiter } from 'agent-tools-kit/execution'
const limiter = createRateLimiter({
algorithm: 'token-bucket',
maxRequests: 60,
window: 60_000, // 1 minute
burstSize: 10,
onLimit: (req) => {
logger.warn('Rate limited', { endpoint: req.url })
return { status: 429, retryAfter: limiter.getRetryAfter() }
},
})
// Use as middleware
agent.use(limiter.middleware())
// Or check manually
if (await limiter.allow('api-call')) {
await callApi()
} else {
await queue.enqueue(request) // defer to queue
}