okta-mcp-server
Version:
Model Context Protocol (MCP) server for Okta API operations with support for bulk operations and caching
46 lines • 1.68 kB
TypeScript
/**
* Circuit Breaker implementation for fault tolerance
*/
import { CircuitBreakerOptions, CircuitBreakerStats, CircuitState, ICircuitBreaker, ICircuitBreakerEventEmitter } from './types.js';
export declare class CircuitBreaker<T = any> implements ICircuitBreaker<T> {
private state;
private readonly options;
private readonly eventEmitter;
private readonly rollingWindow;
private nextAttempt;
private consecutiveFailures;
private consecutiveSuccesses;
private lastFailureTime?;
private lastSuccessTime?;
private totalRequests;
private totalFailures;
private totalSuccesses;
private totalRejections;
constructor(options: CircuitBreakerOptions);
execute<R>(fn: (...args: T[]) => Promise<R>, ...args: T[]): Promise<R>;
getState(): CircuitState;
getStats(): CircuitBreakerStats;
open(): void;
close(): void;
reset(): void;
isOpen(): boolean;
getEventEmitter(): ICircuitBreakerEventEmitter;
healthCheck(): Promise<CircuitBreakerStats>;
private executeWithTimeout;
private handleSuccess;
private handleFailure;
private handleRejection;
private checkThresholds;
private transitionTo;
private emitEvent;
private mergeWithDefaults;
}
/**
* Factory function to create a circuit breaker
*/
export declare function createCircuitBreaker<T = any>(options: CircuitBreakerOptions): ICircuitBreaker<T>;
/**
* Wrapper function to wrap any async function with a circuit breaker
*/
export declare function withCircuitBreaker<T extends (...args: any[]) => Promise<any>>(fn: T, options?: Partial<CircuitBreakerOptions>): T;
//# sourceMappingURL=circuit-breaker.d.ts.map