/** * Custom Error Classes * * Provides structured error handling with error codes and context * for better debugging and user-facing messages. */ /** * Error codes for categorizing errors */ export declare enum ErrorCode { AUTH_COGNITO_FAILED = "AUTH_COGNITO_FAILED", AUTH_INVALID_CREDENTIALS = "AUTH_INVALID_CREDENTIALS", AUTH_TOKEN_EXPIRED = "AUTH_TOKEN_EXPIRED", AUTH_MYDOLPHIN_FAILED = "AUTH_MYDOLPHIN_FAILED", AUTH_AWS_CREDENTIALS_FAILED = "AUTH_AWS_CREDENTIALS_FAILED", MQTT_CONNECTION_FAILED = "MQTT_CONNECTION_FAILED", MQTT_SUBSCRIPTION_FAILED = "MQTT_SUBSCRIPTION_FAILED", MQTT_PUBLISH_FAILED = "MQTT_PUBLISH_FAILED", MQTT_SHADOW_TIMEOUT = "MQTT_SHADOW_TIMEOUT", MQTT_SHADOW_REJECTED = "MQTT_SHADOW_REJECTED", MQTT_SHADOW_RATE_LIMITED = "MQTT_SHADOW_RATE_LIMITED", MQTT_NOT_CONNECTED = "MQTT_NOT_CONNECTED", ROBOT_START_FAILED = "ROBOT_START_FAILED", ROBOT_STOP_FAILED = "ROBOT_STOP_FAILED", ROBOT_MODE_SET_FAILED = "ROBOT_MODE_SET_FAILED", ROBOT_PICKUP_FAILED = "ROBOT_PICKUP_FAILED", ROBOT_SHADOW_FETCH_FAILED = "ROBOT_SHADOW_FETCH_FAILED", API_REQUEST_FAILED = "API_REQUEST_FAILED", API_INVALID_RESPONSE = "API_INVALID_RESPONSE", API_ROBOT_INFO_FAILED = "API_ROBOT_INFO_FAILED", PROTOCOL_INVALID_COMMAND = "PROTOCOL_INVALID_COMMAND", PROTOCOL_BUILD_FAILED = "PROTOCOL_BUILD_FAILED", UNKNOWN_ERROR = "UNKNOWN_ERROR" } /** * Base error class with code and context */ export declare class PluginError extends Error { readonly code: ErrorCode; readonly context?: Record; readonly cause?: Error; constructor(code: ErrorCode, message: string, options?: { cause?: Error | unknown; context?: Record; }); /** * Format error for logging */ toString(): string; /** * Get a user-friendly message */ toUserMessage(): string; } /** * Authentication-specific error */ export declare class AuthError extends PluginError { constructor(code: ErrorCode, message: string, options?: { cause?: Error | unknown; context?: Record; }); } /** * MQTT-specific error */ export declare class MQTTError extends PluginError { constructor(code: ErrorCode, message: string, options?: { cause?: Error | unknown; context?: Record; }); } /** * API-specific error */ export declare class ApiError extends PluginError { readonly statusCode?: number; constructor(code: ErrorCode, message: string, options?: { cause?: Error | unknown; context?: Record; statusCode?: number; }); } /** * Helper to extract error message from unknown error type */ export declare function getErrorMessage(error: unknown): string; //# sourceMappingURL=errors.d.ts.map