trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
41 lines • 1.02 kB
TypeScript
/**
* Rate Limiter for Sync Operations (TRL-336)
*
* Prevents DoS via message flood by limiting per-peer message frequency.
*/
export interface RateLimiterOptions {
/** Maximum messages per window (default: 100). */
maxMessages?: number;
/** Window duration in ms (default: 1000). */
windowMs?: number;
}
export interface RateLimiterState {
allowed: boolean;
remaining: number;
resetTime: number;
}
/**
* Token bucket rate limiter per peer.
*/
export declare class RateLimiter {
private options;
private peerBuckets;
constructor(opts?: RateLimiterOptions);
/**
* Check if a peer is allowed to send a message.
*/
check(peerId: string): RateLimiterState;
/**
* Reset a peer's rate limit bucket.
*/
reset(peerId: string): void;
/**
* Clear all peer buckets.
*/
clear(): void;
/**
* Get current state for a peer.
*/
getState(peerId: string): RateLimiterState | null;
}
//# sourceMappingURL=rate-limiter.d.ts.map