Spaces:
Runtime error
Runtime error
| /** | |
| * Plugin error codes — structured error handling for plugin system. | |
| * | |
| * @module plugins/errors | |
| */ | |
| export enum PluginErrorCode { | |
| PLUGIN_NOT_FOUND = "PLUGIN_NOT_FOUND", | |
| ALREADY_INSTALLED = "ALREADY_INSTALLED", | |
| INVALID_MANIFEST = "INVALID_MANIFEST", | |
| INSTALL_FAILED = "INSTALL_FAILED", | |
| ACTIVATE_FAILED = "ACTIVATE_FAILED", | |
| DEACTIVATE_FAILED = "DEACTIVATE_FAILED", | |
| UNINSTALL_FAILED = "UNINSTALL_FAILED", | |
| HOOK_TIMEOUT = "HOOK_TIMEOUT", | |
| HOOK_EXECUTION_ERROR = "HOOK_EXECUTION_ERROR", | |
| PROCESS_CRASHED = "PROCESS_CRASHED", | |
| DEPENDENCY_MISSING = "DEPENDENCY_MISSING", | |
| DEPENDENT_EXISTS = "DEPENDENT_EXISTS", | |
| PERMISSION_DENIED = "PERMISSION_DENIED", | |
| RATE_LIMITED = "RATE_LIMITED", | |
| } | |
| export class PluginError extends Error { | |
| code: PluginErrorCode; | |
| details?: unknown; | |
| constructor(code: PluginErrorCode, message: string, details?: unknown) { | |
| super(message); | |
| this.name = "PluginError"; | |
| this.code = code; | |
| this.details = details; | |
| } | |
| } | |
| export function isPluginError(err: unknown): err is PluginError { | |
| return err instanceof PluginError; | |
| } | |