/** * Typed errors for kernel / booter subsystems (stable `code` for guests and IPC). */ export class BareOsKernelError extends Error { /** * @param {string} code * @param {string} message * @param {unknown} [cause] */ constructor(code, message, cause) { super(message) this.name = 'BareOsKernelError' /** @type {string} */ this.code = code if (cause !== undefined) this.cause = cause } } export class BareOsBootError extends BareOsKernelError { /** * @param {string} code * @param {string} message * @param {unknown} [cause] */ constructor(code, message, cause) { super(code, message, cause) this.name = 'BareOsBootError' } } export class BareOsVfsError extends BareOsKernelError { /** * @param {string} code * @param {string} message * @param {unknown} [cause] */ constructor(code, message, cause) { super(code, message, cause) this.name = 'BareOsVfsError' } } export class BareOsSecurityError extends BareOsKernelError { /** * @param {string} code * @param {string} message * @param {unknown} [cause] */ constructor(code, message, cause) { super(code, message, cause) this.name = 'BareOsSecurityError' } } export class BareOsNetError extends BareOsKernelError { /** * @param {string} code * @param {string} message * @param {unknown} [cause] */ constructor(code, message, cause) { super(code, message, cause) this.name = 'BareOsNetError' } }