minimax-mcp-tools
Version:
Async MCP server with Minimax API integration for image generation and text-to-speech
54 lines • 1.46 kB
TypeScript
interface RateLimiterConfig {
rpm: number;
burst?: number;
window?: number;
}
interface AdaptiveRateLimiterConfig extends RateLimiterConfig {
backoffFactor?: number;
recoveryFactor?: number;
maxBackoff?: number;
}
interface QueueRequest {
resolve: () => void;
reject: (error: Error) => void;
timestamp: number;
}
interface RateLimiterStatus {
tokens: number;
queueLength: number;
rpm: number;
burst: number;
}
export interface AdaptiveStatus extends RateLimiterStatus {
consecutiveErrors: number;
adaptedRpm: number;
originalRpm: number;
}
export declare class RateLimiter {
protected rpm: number;
protected burst: number;
protected window: number;
protected interval: number;
protected tokens: number;
protected lastRefill: number;
protected queue: QueueRequest[];
constructor({ rpm, burst, window }: RateLimiterConfig);
acquire(): Promise<void>;
private processQueue;
private refillTokens;
getStatus(): RateLimiterStatus;
reset(): void;
}
export declare class AdaptiveRateLimiter extends RateLimiter {
private consecutiveErrors;
private originalRpm;
private backoffFactor;
private recoveryFactor;
private maxBackoff;
constructor(config: AdaptiveRateLimiterConfig);
onSuccess(): void;
onError(error: Error): void;
getAdaptiveStatus(): AdaptiveStatus;
}
export {};
//# sourceMappingURL=rate-limiter.d.ts.map