@keypo/synapse-storage-sdk
Version:
TypeScript SDK for encrypted file storage on Filecoin via Synapse
78 lines • 2.83 kB
TypeScript
/**
* Error handling system for Synapse Storage SDK
*/
import type { SDKErrorDetails } from '../types/index.js';
export declare enum ErrorCategory {
CONFIG = "CONFIGURATION",
NETWORK = "NETWORK",
FILE = "FILE",
PERMISSION = "PERMISSION",
VALIDATION = "VALIDATION",
ENCRYPTION = "ENCRYPTION",
CONTRACT = "CONTRACT",
PAYMENT = "PAYMENT",
STORAGE = "STORAGE",
UNKNOWN = "UNKNOWN"
}
export declare enum ErrorSeverity {
INFO = "info",
WARNING = "warning",
ERROR = "error",
FATAL = "fatal"
}
export interface SDKErrorOptions extends SDKErrorDetails {
category?: ErrorCategory;
severity?: ErrorSeverity;
recoverable?: boolean;
}
/**
* Base error class for SDK errors
*/
export declare class SDKError extends Error {
readonly category: ErrorCategory;
readonly severity: ErrorSeverity;
readonly cause?: unknown;
readonly details?: Record<string, any>;
readonly userMessage: string;
readonly code?: string;
readonly recoverable: boolean;
readonly timestamp: Date;
constructor(message: string, options?: SDKErrorOptions);
/**
* Convert error to a plain object for serialization
*/
toJSON(): {
name: string;
message: string;
category: ErrorCategory;
severity: ErrorSeverity;
userMessage: string;
code: string | undefined;
recoverable: boolean;
timestamp: Date;
details: Record<string, any> | undefined;
stack: string | undefined;
};
}
/**
* Error handler utility class
*/
export declare class ErrorHandler {
/**
* Normalize any error to SDKError
*/
static normalize(error: unknown): SDKError;
private static categorizeError;
private static determineSeverity;
private static createUserMessage;
private static isRecoverable;
}
export declare const createConfigError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
export declare const createNetworkError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
export declare const createFileError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
export declare const createPaymentError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
export declare const createEncryptionError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
export declare const createContractError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
export declare const createStorageError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
export declare const createValidationError: (message: string, options?: Omit<SDKErrorOptions, "category">) => SDKError;
//# sourceMappingURL=index.d.ts.map