UNPKG

agentis

Version:

A TypeScript framework for building sophisticated multi-agent systems

24 lines (23 loc) 800 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.rateLimit = void 0; // Simple in-memory rate limiting const REQUESTS = new Map(); const WINDOW_MS = 60000; // 1 minute const MAX_REQUESTS = 60; // 60 requests per minute const rateLimit = async (message, agent, next) => { const now = Date.now(); const key = message.sender_id; // Initialize or clean up old requests if (!REQUESTS.has(key)) { REQUESTS.set(key, []); } const requests = REQUESTS.get(key).filter(timestamp => now - timestamp < WINDOW_MS); if (requests.length >= MAX_REQUESTS) { throw new Error('Rate limit exceeded. Please try again later.'); } requests.push(now); REQUESTS.set(key, requests); await next(); }; exports.rateLimit = rateLimit;