UNPKG

@odel/module-sdk

Version:

SDK for building Odel modules - MCP protocol over HTTP for Cloudflare Workers

73 lines 1.97 kB
/** * Standardized error handling for Odel modules */ /** * Error codes for module operations */ export declare enum ErrorCode { INVALID_INPUT = 1001, MISSING_REQUIRED_FIELD = 1002, INVALID_FORMAT = 1003, MISSING_SECRET = 2001, INVALID_SECRET = 2002, UNAUTHORIZED = 2003, API_ERROR = 3001, NETWORK_ERROR = 3002, TIMEOUT = 3003, NOT_FOUND = 3004, RATE_LIMIT_EXCEEDED = 4001, QUOTA_EXCEEDED = 4002, INTERNAL_ERROR = 5001, NOT_IMPLEMENTED = 5002, CONFIGURATION_ERROR = 5003 } /** * Standardized module error class * * @example * ```typescript * throw new ModuleError( * ErrorCode.MISSING_SECRET, * 'RESEND_API_KEY secret is required', * { secretName: 'RESEND_API_KEY' } * ); * ``` */ export declare class ModuleError extends Error { code: ErrorCode; metadata?: Record<string, any> | undefined; /** * Create a new module error * @param code - Error code from ErrorCode enum * @param message - Human-readable error message * @param metadata - Optional additional error context */ constructor(code: ErrorCode, message: string, metadata?: Record<string, any> | undefined); /** * Convert error to JSON response format * @returns Success/error response object */ toJSON(): { metadata?: Record<string, any> | undefined; success: false; error: string; code: ErrorCode; }; /** * Create a validation error */ static validationError(message: string, metadata?: Record<string, any>): ModuleError; /** * Create a missing secret error */ static missingSecret(secretName: string): ModuleError; /** * Create an API error */ static apiError(message: string, metadata?: Record<string, any>): ModuleError; /** * Create a rate limit error */ static rateLimitError(retryAfter?: number): ModuleError; } //# sourceMappingURL=errors.d.ts.map