website-to-markdown-mcp
Version:
Advanced MCP server for fetching websites and converting to markdown with AI-powered features and stealth capabilities
51 lines • 1.63 kB
TypeScript
export declare class RateLimiter {
private tokens;
private lastRefill;
private readonly maxTokens;
private readonly refillRate;
constructor(maxTokens: number, refillRate: number);
private refill;
consume(tokens?: number): Promise<void>;
getAvailableTokens(): number;
}
declare const globalRateLimiter: RateLimiter;
export declare class ConcurrencyLimiter {
private maxConcurrency;
private activeCount;
private pendingQueue;
constructor(maxConcurrency: number);
run<T>(fn: () => Promise<T>): Promise<T>;
private processQueue;
get active(): number;
get pending(): number;
clearQueue(): void;
}
declare const globalConcurrencyLimiter: ConcurrencyLimiter;
export declare function throttledRequest<T>(fn: () => Promise<T>, options?: {
rateLimiter?: RateLimiter;
concurrencyLimiter?: ConcurrencyLimiter;
}): Promise<T>;
export declare class AdaptiveRateLimiter {
private baseRate;
private maxTokens;
private errorThreshold;
private baseLimiter;
private errorCount;
private successCount;
private lastErrorTime;
private adaptationWindow;
constructor(baseRate: number, maxTokens?: number, errorThreshold?: number);
consume(): Promise<void>;
onSuccess(): void;
onError(): void;
private adjustRate;
getStats(): {
errorCount: number;
successCount: number;
currentRate: number;
availableTokens: number;
};
}
export declare function rateLimit(intervalMs?: number): Promise<void>;
export { globalRateLimiter, globalConcurrencyLimiter };
//# sourceMappingURL=rate-limiter.d.ts.map