From b90eb63f22cccf916051d8a817c737c4e3563a6d Mon Sep 17 00:00:00 2001 From: jgor20 <102353650+jgor20@users.noreply.github.com> Date: Mon, 5 Jan 2026 01:20:28 +0000 Subject: [PATCH] feat(errors): add NativeModuleError for native module version mismatches Add a new error class to handle native module errors, including version mismatches and rebuild requirements. This supports the auto-rebuild functionality by providing structured error information for rebuild success and restart needs. --- src/errors.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/errors.js b/src/errors.js index 43f8abc..eb2e755 100644 --- a/src/errors.js +++ b/src/errors.js @@ -118,6 +118,23 @@ export class ApiError extends AntigravityError { } } +/** + * Native module error (version mismatch, rebuild required) + */ +export class NativeModuleError extends AntigravityError { + /** + * @param {string} message - Error message + * @param {boolean} rebuildSucceeded - Whether auto-rebuild succeeded + * @param {boolean} restartRequired - Whether server restart is needed + */ + constructor(message, rebuildSucceeded = false, restartRequired = false) { + super(message, 'NATIVE_MODULE_ERROR', false, { rebuildSucceeded, restartRequired }); + this.name = 'NativeModuleError'; + this.rebuildSucceeded = rebuildSucceeded; + this.restartRequired = restartRequired; + } +} + /** * Check if an error is a rate limit error * Works with both custom error classes and legacy string-based errors @@ -154,6 +171,7 @@ export default { NoAccountsError, MaxRetriesError, ApiError, + NativeModuleError, isRateLimitError, isAuthError };