Review circuit-breaker half-open state

src/circuit-breaker-types.tsTypeScript
@@ -0,0 +1,11 @@
1+export type BreakerState = "closed" | "open" | "half-open";
2+
3+export interface CircuitBreakerOptions {
4+ failureThreshold: number;
5+ cooldownMs: number;
6+ now(): number;
7+ /** False means a half-open attempt is inconclusive, not a failed probe. */
8+ isCountedFailure(error: unknown): boolean;
9+}
10+
11+export class CircuitOpenError extends Error {}