/** * Error helpers for adapters * * Provides types and utilities for building flexible, pattern-based error * translation systems. Error patterns allow declarative error handling that * maps protocol-specific or adapter-specific errors to structured CoachingErrors * with actionable guidance. * * @module @wavespec/kit/error * @example * ```typescript * import { ErrorMapper, type ErrorPattern } from "@wavespec/kit/error"; * * // Define error patterns * const patterns: ErrorPattern[] = [ * { * match: /econnrefused|enotfound/i, * code: "ADAPTER_CONNECTION_FAILED", * hint: "Server not reachable", * fix: "Check server is running" * } * ]; * * // Create mapper and use in adapter * const mapper = new ErrorMapper(patterns, { * defaultCode: "UNKNOWN_ERROR", * defaultHint: "An unexpected error occurred" * }); * * try { * await operation(); * } catch (error) { * throw mapper.map(error, { operation: "connect" }); * } * ``` */ export type { ErrorMatcher, ErrorPattern, ErrorMapperConfig, ErrorContext, MappedError } from './types.js'; export { ErrorMapper } from './mapper.js'; export { createCoachingError } from './error.js'; export { ERROR_CODES, getErrorCodeName } from './codes.js'; export type { ErrorCode } from './codes.js'; export { COMMON_ERROR_PATTERNS, COMMON_ERROR_PATTERN_COUNT, CONNECTION_REFUSED_PATTERN, CONNECTION_RESET_PATTERN, DNS_RESOLUTION_FAILED_PATTERN, NETWORK_UNREACHABLE_PATTERN, HOST_UNREACHABLE_PATTERN, GENERIC_CONNECTION_ERROR_PATTERN, OPERATION_TIMEOUT_PATTERN, REQUEST_TIMEOUT_PATTERN, CONNECT_TIMEOUT_PATTERN, JSON_PARSE_ERROR_PATTERN, INVALID_RESPONSE_PATTERN, PROTOCOL_ERROR_PATTERN, UNEXPECTED_RESPONSE_PATTERN, SSL_CERTIFICATE_ERROR_PATTERN, CERTIFICATE_HOSTNAME_MISMATCH_PATTERN, CERTIFICATE_EXPIRED_PATTERN, HTTP_400_BAD_REQUEST_PATTERN, HTTP_401_UNAUTHORIZED_PATTERN, HTTP_403_FORBIDDEN_PATTERN, HTTP_404_NOT_FOUND_PATTERN, HTTP_429_RATE_LIMITED_PATTERN, HTTP_500_SERVER_ERROR_PATTERN, HTTP_UNAVAILABLE_PATTERN, NETWORK_ERROR_PATTERN, EOF_PATTERN, } from './patterns.js';