/** * @module @dotdo/postgres-shared * * Shared utilities and types for dotdo postgres packages. */ // Export all error types export * from './errors.js' // Export validation utilities export * from './validation.js' // Export CSP middleware export * from './csp.js' // Export sanitization utilities export * from './sanitize.js' // Export cache utilities export * from './cache.js' // Export crypto utilities export * from './crypto.js' // Export auth utilities export * from './auth.js' // Export event emitter utilities export * from './event-emitter-safe.js' // Export error utilities (excluding wrapError which is exported from errors.js) export { isError, extractErrorMessage, formatError, asError, wrapError as wrapAsPlainError, } from './error-utils.js' // ============================================================================= // Circuit Breaker API // ============================================================================= // The circuit breaker module provides resilience patterns for cross-DO // communication and service calls. Two APIs are available: // // 1. Base API (CircuitBreaker) - Multi-instance tracking, metrics, DO wrapper // 2. Unified API (UnifiedCircuitBreaker) - Flexible single/multi mode with retry // // For new code, prefer the Unified API. The Base API remains for compatibility. // ============================================================================= // Base Circuit Breaker API - for direct use or backwards compatibility export { CircuitBreaker, DefaultMetricsCollector, DOCircuitBreakerWrapper, createCircuitBreaker, createDOCircuitBreakerWrapper, type CircuitState, type CircuitBreakerEvent, type CircuitBreakerMetricsCollector, type CircuitBreakerMetricsSummary, type CircuitBreakerConfig, type CircuitBreakerStats, type DOStub, type DOCircuitBreakerConfig, } from './circuit-breaker.js' // Unified Circuit Breaker API - recommended for new code export { UnifiedCircuitBreaker, createUnifiedCircuitBreaker, CircuitBreakerError, type UnifiedCircuitBreakerConfig, type UnifiedCircuitBreakerStats, } from './circuit-breaker-unified.js' // Export environment detection utilities export * from './environment.js' // Export storage policy types and utilities export * from './storage-policy.js' // Export access pattern tracker export * from './access-pattern-tracker.js' // Export sync primitives for CDC/Electric integrations export * from './sync-primitives.js' // Export shared constants for magic numbers export * from './constants.js' // Export unified logger export * from './logger.js' // Export performance testing utilities export * from './perf-test-utils.js'