UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

61 lines 2.04 kB
export declare enum CircuitState { CLOSED = "CLOSED", OPEN = "OPEN", HALF_OPEN = "HALF_OPEN" } export interface CircuitBreakerConfig { failureThreshold: number; successThreshold: number; timeout: number; operationTimeout: number; monitoringWindow: number; } export interface CircuitBreakerStats { state: CircuitState; failures: number; successes: number; totalRequests: number; lastFailureTime?: number; lastSuccessTime?: number; nextAttemptTime?: number; failureRate: number; } export interface OperationResult<T> { success: boolean; result?: T; error?: Error; usedFallback: boolean; circuitState: CircuitState; executionTime: number; } export declare class OperationCircuitBreaker { private name; private config; private static circuits; private static readonly DEFAULT_CONFIG; private state; private failures; private successes; private lastFailureTime?; private lastSuccessTime?; private nextAttemptTime?; private recentOperations; constructor(name: string, config?: CircuitBreakerConfig); static getCircuit(name: string, config?: Partial<CircuitBreakerConfig>): OperationCircuitBreaker; static safeExecute<T>(operationName: string, operation: () => Promise<T>, fallback: T | (() => T | Promise<T>), config?: Partial<CircuitBreakerConfig>): Promise<OperationResult<T>>; execute<T>(operation: () => Promise<T>, fallback: T | (() => T | Promise<T>)): Promise<OperationResult<T>>; private shouldAllowOperation; private executeWithTimeout; private executeFallback; private recordSuccess; private recordFailure; private addToRecentOperations; private calculateFailureRate; getStats(): CircuitBreakerStats; reset(): void; forceState(state: CircuitState): void; static getAllStats(): Record<string, CircuitBreakerStats>; static resetAll(): void; static removeCircuit(name: string): boolean; } //# sourceMappingURL=operation-circuit-breaker.d.ts.map