/** * SochDB Error Classes * * @packageDocumentation */ /** * Error codes matching Rust error codes. */ export declare enum ErrorCode { CONNECTION_FAILED = 1001, CONNECTION_TIMEOUT = 1002, CONNECTION_CLOSED = 1003, PROTOCOL_ERROR = 1004, TRANSACTION_ABORTED = 2001, TRANSACTION_CONFLICT = 2002, INTERNAL_ERROR = 9001, STORAGE_ERROR = 9003, DATABASE_LOCKED = 10001, LOCK_TIMEOUT = 10002, EPOCH_MISMATCH = 10003, SPLIT_BRAIN = 10004, STALE_LOCK = 10005 } /** * Base error class for all SochDB errors. */ export declare class SochDBError extends Error { readonly code: ErrorCode; readonly remediation?: string; constructor(message: string, code?: ErrorCode, remediation?: string); } /** * Error thrown when connection to the database fails. */ export declare class ConnectionError extends SochDBError { constructor(message: string); } /** * Error thrown when a transaction operation fails. */ export declare class TransactionError extends SochDBError { constructor(message: string); } /** * Error thrown when there's a protocol error in IPC communication. */ export declare class ProtocolError extends SochDBError { constructor(message: string); } /** * Error thrown when a database operation fails. */ export declare class DatabaseError extends SochDBError { constructor(message: string); } /** * Base class for lock-related errors. */ export declare class LockError extends SochDBError { constructor(message: string, code?: ErrorCode, remediation?: string); } /** * Error thrown when database is locked by another process. */ export declare class DatabaseLockedError extends LockError { readonly path: string; readonly holderPid?: number; constructor(path: string, holderPid?: number); } /** * Error thrown when timed out waiting for database lock. */ export declare class LockTimeoutError extends LockError { readonly path: string; readonly timeoutSecs: number; constructor(path: string, timeoutSecs: number); } /** * Error thrown when WAL epoch mismatch detected (stale writer). */ export declare class EpochMismatchError extends LockError { readonly expected: number; readonly actual: number; constructor(expected: number, actual: number); } /** * Error thrown when split-brain condition detected (multiple writers). */ export declare class SplitBrainError extends LockError { constructor(message?: string); } //# sourceMappingURL=errors.d.ts.map