@n8n/expression-runtime 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/bundle/runtime.esm.js +17 -17
  2. package/dist/bundle/runtime.esm.js.map +3 -3
  3. package/dist/bundle/runtime.iife.js +17 -17
  4. package/dist/bundle/runtime.iife.js.map +3 -3
  5. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +8 -0
  6. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  7. package/dist/cjs/bridge/isolated-vm-bridge.js +223 -117
  8. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  9. package/dist/cjs/build.tsbuildinfo +1 -1
  10. package/dist/cjs/evaluator/expression-evaluator.d.ts +8 -1
  11. package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -1
  12. package/dist/cjs/evaluator/expression-evaluator.js +69 -6
  13. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
  14. package/dist/cjs/evaluator/lru-cache.d.ts +11 -0
  15. package/dist/cjs/evaluator/lru-cache.d.ts.map +1 -0
  16. package/dist/cjs/evaluator/lru-cache.js +50 -0
  17. package/dist/cjs/evaluator/lru-cache.js.map +1 -0
  18. package/dist/cjs/extensions/boolean-extensions.d.ts +1 -1
  19. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
  20. package/dist/cjs/extensions/object-extensions.js +8 -4
  21. package/dist/cjs/extensions/object-extensions.js.map +1 -1
  22. package/dist/cjs/index.d.ts +1 -1
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/pool/isolate-pool.d.ts +34 -0
  26. package/dist/cjs/pool/isolate-pool.d.ts.map +1 -0
  27. package/dist/cjs/pool/isolate-pool.js +122 -0
  28. package/dist/cjs/pool/isolate-pool.js.map +1 -0
  29. package/dist/cjs/runtime/index.d.ts +9 -0
  30. package/dist/cjs/runtime/index.d.ts.map +1 -1
  31. package/dist/cjs/runtime/index.js.map +1 -1
  32. package/dist/cjs/runtime/lazy-proxy.d.ts +20 -1
  33. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  34. package/dist/cjs/runtime/lazy-proxy.js +70 -8
  35. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  36. package/dist/cjs/runtime/reset.d.ts.map +1 -1
  37. package/dist/cjs/runtime/reset.js +37 -21
  38. package/dist/cjs/runtime/reset.js.map +1 -1
  39. package/dist/cjs/types/bridge.d.ts +12 -7
  40. package/dist/cjs/types/bridge.d.ts.map +1 -1
  41. package/dist/cjs/types/bridge.js +7 -1
  42. package/dist/cjs/types/bridge.js.map +1 -1
  43. package/dist/cjs/types/evaluator.d.ts +28 -14
  44. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  45. package/dist/cjs/types/evaluator.js.map +1 -1
  46. package/dist/cjs/types/index.d.ts +1 -1
  47. package/dist/cjs/types/index.d.ts.map +1 -1
  48. package/dist/esm/bridge/isolated-vm-bridge.d.ts +8 -0
  49. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  50. package/dist/esm/bridge/isolated-vm-bridge.js +223 -117
  51. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  52. package/dist/esm/build.tsbuildinfo +1 -1
  53. package/dist/esm/evaluator/expression-evaluator.d.ts +8 -1
  54. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
  55. package/dist/esm/evaluator/expression-evaluator.js +68 -5
  56. package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
  57. package/dist/esm/evaluator/lru-cache.d.ts +11 -0
  58. package/dist/esm/evaluator/lru-cache.d.ts.map +1 -0
  59. package/dist/esm/evaluator/lru-cache.js +36 -0
  60. package/dist/esm/evaluator/lru-cache.js.map +1 -0
  61. package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
  62. package/dist/esm/extensions/object-extensions.js +8 -4
  63. package/dist/esm/extensions/object-extensions.js.map +1 -1
  64. package/dist/esm/index.d.ts +1 -1
  65. package/dist/esm/index.d.ts.map +1 -1
  66. package/dist/esm/index.js.map +1 -1
  67. package/dist/esm/pool/isolate-pool.d.ts +34 -0
  68. package/dist/esm/pool/isolate-pool.d.ts.map +1 -0
  69. package/dist/esm/pool/isolate-pool.js +106 -0
  70. package/dist/esm/pool/isolate-pool.js.map +1 -0
  71. package/dist/esm/runtime/index.d.ts +9 -0
  72. package/dist/esm/runtime/index.d.ts.map +1 -1
  73. package/dist/esm/runtime/index.js.map +1 -1
  74. package/dist/esm/runtime/lazy-proxy.d.ts +20 -1
  75. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  76. package/dist/esm/runtime/lazy-proxy.js +69 -8
  77. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  78. package/dist/esm/runtime/reset.d.ts.map +1 -1
  79. package/dist/esm/runtime/reset.js +38 -22
  80. package/dist/esm/runtime/reset.js.map +1 -1
  81. package/dist/esm/types/bridge.d.ts +12 -7
  82. package/dist/esm/types/bridge.d.ts.map +1 -1
  83. package/dist/esm/types/bridge.js +7 -1
  84. package/dist/esm/types/bridge.js.map +1 -1
  85. package/dist/esm/types/evaluator.d.ts +28 -14
  86. package/dist/esm/types/evaluator.d.ts.map +1 -1
  87. package/dist/esm/types/evaluator.js.map +1 -1
  88. package/dist/esm/types/index.d.ts +1 -1
  89. package/dist/esm/types/index.d.ts.map +1 -1
  90. package/package.json +6 -4
@@ -10,6 +10,33 @@ function getIvm() {
10
10
  return _ivm;
11
11
  }
12
12
  const BUNDLE_RELATIVE_PATH = path.join('dist', 'bundle', 'runtime.iife.js');
13
+ /** Check if a value is an error sentinel returned by serializeError. */
14
+ function isErrorSentinel(value) {
15
+ return (typeof value === 'object' &&
16
+ value !== null &&
17
+ value.__isError === true);
18
+ }
19
+ /**
20
+ * Serialize an error into a transferable metadata object.
21
+ *
22
+ * Host-side callbacks (getValueAtPath, etc.) catch errors and return this
23
+ * sentinel instead of letting the error cross the isolate boundary (which
24
+ * strips custom class identity and properties). The isolate-side proxy
25
+ * detects __isError and reconstructs a proper Error to throw.
26
+ */
27
+ function serializeError(err) {
28
+ if (err instanceof Error) {
29
+ const extra = Object.fromEntries(Object.entries(err).filter(([key]) => key !== 'name' && key !== 'message' && key !== 'stack'));
30
+ return {
31
+ __isError: true,
32
+ name: err.name,
33
+ message: err.message,
34
+ stack: err.stack,
35
+ extra,
36
+ };
37
+ }
38
+ return { __isError: true, name: 'Error', message: String(err), extra: {} };
39
+ }
13
40
  /**
14
41
  * Read the runtime IIFE bundle by walking up from `__dirname` until
15
42
  * `dist/bundle/runtime.iife.js` is found.
@@ -46,6 +73,7 @@ export class IsolatedVmBridge {
46
73
  initialized = false;
47
74
  disposed = false;
48
75
  config;
76
+ logger;
49
77
  // Script compilation cache for performance
50
78
  // Maps expression code -> compiled ivm.Script
51
79
  scriptCache = new Map();
@@ -63,6 +91,7 @@ export class IsolatedVmBridge {
63
91
  ...DEFAULT_BRIDGE_CONFIG,
64
92
  ...config,
65
93
  };
94
+ this.logger = this.config.logger;
66
95
  // Create isolate with memory limit
67
96
  // Note: memoryLimit is in MB
68
97
  this.isolate = new (getIvm().Isolate)({ memoryLimit: this.config.memoryLimit });
@@ -101,9 +130,7 @@ export class IsolatedVmBridge {
101
130
  reference: true,
102
131
  });
103
132
  this.initialized = true;
104
- if (this.config.debug) {
105
- console.log('[IsolatedVmBridge] Initialized successfully');
106
- }
133
+ this.logger.info('[IsolatedVmBridge] Initialized successfully');
107
134
  }
108
135
  /**
109
136
  * Load runtime bundle into the isolate.
@@ -127,18 +154,14 @@ export class IsolatedVmBridge {
127
154
  // Evaluate bundle in isolate context
128
155
  // This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, resetDataProxies, __data)
129
156
  await this.context.eval(runtimeBundle);
130
- if (this.config.debug) {
131
- console.log('[IsolatedVmBridge] Runtime bundle loaded');
132
- }
157
+ this.logger.info('[IsolatedVmBridge] Runtime bundle loaded');
133
158
  // Verify vendor libraries loaded correctly
134
159
  const hasDateTime = await this.context.eval('typeof DateTime !== "undefined"');
135
160
  const hasExtend = await this.context.eval('typeof extend !== "undefined"');
136
161
  if (!hasDateTime || !hasExtend) {
137
162
  throw new Error(`Library verification failed: DateTime=${hasDateTime}, extend=${hasExtend}`);
138
163
  }
139
- if (this.config.debug) {
140
- console.log('[IsolatedVmBridge] Vendor libraries verified successfully');
141
- }
164
+ this.logger.info('[IsolatedVmBridge] Vendor libraries verified successfully');
142
165
  }
143
166
  catch (error) {
144
167
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -171,9 +194,7 @@ export class IsolatedVmBridge {
171
194
  `SafeObject=${hasSafeObject}, SafeError=${hasSafeError}, ` +
172
195
  `resetDataProxies=${hasResetFunction}`);
173
196
  }
174
- if (this.config.debug) {
175
- console.log('[IsolatedVmBridge] Proxy system verified successfully');
176
- }
197
+ this.logger.info('[IsolatedVmBridge] Proxy system verified successfully');
177
198
  }
178
199
  catch (error) {
179
200
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -211,9 +232,7 @@ export class IsolatedVmBridge {
211
232
  };
212
233
  }
213
234
  `);
214
- if (this.config.debug) {
215
- console.log('[IsolatedVmBridge] Error handler injected successfully');
216
- }
235
+ this.logger.info('[IsolatedVmBridge] Error handler injected successfully');
217
236
  }
218
237
  /**
219
238
  * Reset data proxies in the isolate context.
@@ -237,9 +256,7 @@ export class IsolatedVmBridge {
237
256
  this.resetDataProxiesRef.applySync(null, [timezone ?? null], {
238
257
  arguments: { copy: true },
239
258
  });
240
- if (this.config.debug) {
241
- console.log('[IsolatedVmBridge] Data proxies reset successfully');
242
- }
259
+ this.logger.debug('[IsolatedVmBridge] Data proxies reset successfully');
243
260
  }
244
261
  catch (error) {
245
262
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -268,113 +285,148 @@ export class IsolatedVmBridge {
268
285
  // Callback 1: Get value/metadata at path
269
286
  // Used by createDeepLazyProxy when accessing properties
270
287
  const getValueAtPath = new (getIvm().Reference)((path) => {
271
- // Navigate to value
272
- // Special-case: paths starting with ['$item', index] call data.$item(index)
273
- // to get the sub-proxy for that item, then continue navigating the rest.
274
- let value = data;
275
- let startIndex = 0;
276
- const itemFn = data.$item;
277
- if (path.length >= 2 && path[0] === '$item' && typeof itemFn === 'function') {
278
- const itemIndex = parseInt(path[1], 10);
279
- if (!isNaN(itemIndex)) {
280
- value = itemFn(itemIndex);
281
- startIndex = 2;
288
+ try {
289
+ // Navigate to value
290
+ // Special-case: paths starting with ['$item', index] call data.$item(index)
291
+ // to get the sub-proxy for that item, then continue navigating the rest.
292
+ let value = data;
293
+ let startIndex = 0;
294
+ const itemFn = data.$item;
295
+ if (path.length >= 2 && path[0] === '$item' && typeof itemFn === 'function') {
296
+ const itemIndex = parseInt(path[1], 10);
297
+ if (!isNaN(itemIndex)) {
298
+ value = itemFn(itemIndex);
299
+ startIndex = 2;
300
+ }
282
301
  }
283
- }
284
- for (let i = startIndex; i < path.length; i++) {
285
- value = value?.[path[i]];
286
- if (value === undefined || value === null) {
287
- return value;
302
+ else {
303
+ const dollarFn = data.$;
304
+ if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
305
+ value = dollarFn(path[1]);
306
+ startIndex = 2;
307
+ }
288
308
  }
289
- }
290
- // Handle functions - return metadata marker
291
- if (typeof value === 'function') {
292
- const fnString = value.toString();
293
- // Block native functions for security
294
- if (fnString.includes('[native code]')) {
295
- return undefined;
309
+ for (let i = startIndex; i < path.length; i++) {
310
+ value = value?.[path[i]];
311
+ if (value === undefined || value === null) {
312
+ return value;
313
+ }
296
314
  }
297
- return { __isFunction: true, __name: path[path.length - 1] };
298
- }
299
- // Handle arrays - always lazy, only transfer length
300
- if (Array.isArray(value)) {
301
- return {
302
- __isArray: true,
303
- __length: value.length,
304
- __data: null,
305
- };
315
+ // Handle functions - return metadata marker
316
+ if (typeof value === 'function') {
317
+ const fnString = value.toString();
318
+ // Block native functions for security
319
+ if (fnString.includes('[native code]')) {
320
+ return undefined;
321
+ }
322
+ return { __isFunction: true, __name: path[path.length - 1] };
323
+ }
324
+ // Handle arrays - always lazy, only transfer length
325
+ if (Array.isArray(value)) {
326
+ return {
327
+ __isArray: true,
328
+ __length: value.length,
329
+ __data: null,
330
+ };
331
+ }
332
+ // Handle objects - return metadata with keys
333
+ if (value !== null && typeof value === 'object') {
334
+ return {
335
+ __isObject: true,
336
+ __keys: Object.keys(value),
337
+ };
338
+ }
339
+ // Primitive value
340
+ return value;
306
341
  }
307
- // Handle objects - return metadata with keys
308
- if (value !== null && typeof value === 'object') {
309
- return {
310
- __isObject: true,
311
- __keys: Object.keys(value),
312
- };
342
+ catch (err) {
343
+ return serializeError(err);
313
344
  }
314
- // Primitive value
315
- return value;
316
345
  });
317
346
  // Callback 2: Get array element at index
318
347
  // Used by array proxy when accessing numeric indices
319
348
  const getArrayElement = new (getIvm().Reference)((path, index) => {
320
- // Navigate to array
321
- // Special-case: paths starting with ['$item', index] call data.$item(index)
322
- let arr = data;
323
- let startIndex = 0;
324
- const itemFn = data.$item;
325
- if (path.length >= 2 && path[0] === '$item' && typeof itemFn === 'function') {
326
- const itemIndex = parseInt(path[1], 10);
327
- if (!isNaN(itemIndex)) {
328
- arr = itemFn(itemIndex);
329
- startIndex = 2;
349
+ try {
350
+ // Navigate to array
351
+ // Special-case: paths starting with ['$item', index] call data.$item(index)
352
+ let arr = data;
353
+ let startIndex = 0;
354
+ const itemFn = data.$item;
355
+ if (path.length >= 2 && path[0] === '$item' && typeof itemFn === 'function') {
356
+ const itemIndex = parseInt(path[1], 10);
357
+ if (!isNaN(itemIndex)) {
358
+ arr = itemFn(itemIndex);
359
+ startIndex = 2;
360
+ }
330
361
  }
331
- }
332
- for (let i = startIndex; i < path.length; i++) {
333
- arr = arr?.[path[i]];
334
- if (arr === undefined || arr === null) {
362
+ else {
363
+ const dollarFn = data.$;
364
+ if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
365
+ arr = dollarFn(path[1]);
366
+ startIndex = 2;
367
+ }
368
+ }
369
+ for (let i = startIndex; i < path.length; i++) {
370
+ arr = arr?.[path[i]];
371
+ if (arr === undefined || arr === null) {
372
+ return undefined;
373
+ }
374
+ }
375
+ if (!Array.isArray(arr)) {
335
376
  return undefined;
336
377
  }
337
- }
338
- if (!Array.isArray(arr)) {
339
- return undefined;
340
- }
341
- const element = arr[index];
342
- // If element is object/array, return metadata
343
- if (element !== null && typeof element === 'object') {
344
- if (Array.isArray(element)) {
378
+ const element = arr[index];
379
+ // If element is object/array, return metadata
380
+ if (element !== null && typeof element === 'object') {
381
+ if (Array.isArray(element)) {
382
+ return {
383
+ __isArray: true,
384
+ __length: element.length,
385
+ __data: null,
386
+ };
387
+ }
345
388
  return {
346
- __isArray: true,
347
- __length: element.length,
348
- __data: null,
389
+ __isObject: true,
390
+ __keys: Object.keys(element),
349
391
  };
350
392
  }
351
- return {
352
- __isObject: true,
353
- __keys: Object.keys(element),
354
- };
393
+ // Primitive element
394
+ return element;
395
+ }
396
+ catch (err) {
397
+ return serializeError(err);
355
398
  }
356
- // Primitive element
357
- return element;
358
399
  });
359
400
  // Callback 3: Call function at path with arguments
360
401
  // Used when expressions invoke functions from workflow data
361
402
  const callFunctionAtPath = new (getIvm().Reference)((path, ...args) => {
362
- // Navigate to function, tracking parent to preserve `this` context
363
- let fn = data;
364
- let parent = undefined;
365
- for (const key of path) {
366
- parent = fn;
367
- fn = fn?.[key];
368
- }
369
- if (typeof fn !== 'function') {
370
- throw new Error(`${path.join('.')} is not a function`);
403
+ try {
404
+ // Navigate to function, tracking parent to preserve `this` context
405
+ let fn = data;
406
+ let parent = undefined;
407
+ let startIndex = 0;
408
+ const dollarFn = data.$;
409
+ if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
410
+ fn = dollarFn(path[1]);
411
+ startIndex = 2;
412
+ }
413
+ for (let i = startIndex; i < path.length; i++) {
414
+ parent = fn;
415
+ fn = fn?.[path[i]];
416
+ }
417
+ if (typeof fn !== 'function') {
418
+ throw new Error(`${path.join('.')} is not a function`);
419
+ }
420
+ // Block native functions for security (same check as getValueAtPath)
421
+ if (fn.toString().includes('[native code]')) {
422
+ throw new Error(`${path.join('.')} is a native function and cannot be called`);
423
+ }
424
+ // Execute function with parent as `this` to preserve method context
425
+ return fn.call(parent, ...args);
371
426
  }
372
- // Block native functions for security (same check as getValueAtPath)
373
- if (fn.toString().includes('[native code]')) {
374
- throw new Error(`${path.join('.')} is a native function and cannot be called`);
427
+ catch (err) {
428
+ return serializeError(err);
375
429
  }
376
- // Execute function with parent as `this` to preserve method context
377
- return fn.call(parent, ...args);
378
430
  });
379
431
  // Release previous references before replacing to avoid accumulation
380
432
  this.valueAtPathRef?.release();
@@ -388,9 +440,7 @@ export class IsolatedVmBridge {
388
440
  this.context.global.setSync('__getValueAtPath', getValueAtPath);
389
441
  this.context.global.setSync('__getArrayElement', getArrayElement);
390
442
  this.context.global.setSync('__callFunctionAtPath', callFunctionAtPath);
391
- if (this.config.debug) {
392
- console.log('[IsolatedVmBridge] Callbacks registered successfully');
393
- }
443
+ this.logger.debug('[IsolatedVmBridge] Callbacks registered successfully');
394
444
  }
395
445
  /**
396
446
  * Execute JavaScript code in the isolated context.
@@ -420,26 +470,66 @@ export class IsolatedVmBridge {
420
470
  // Step 3: Wrap transformed code so 'this' === __data in the isolate.
421
471
  // Tournament generates: this.$json.email, this.$items(), etc.
422
472
  // __data has $json, $items, etc. as lazy proxies (set in resetDataProxies).
423
- const wrappedCode = `(function() { var __result = (function() {\n${code}\n}).call(__data); return __prepareForTransfer(__result); })()`;
473
+ // The outer try-catch serializes errors into a sentinel object and returns
474
+ // it as the result. Errors from host callbacks arrive as sentinels already
475
+ // (via serializeError), so we pass them through. This avoids a round-trip
476
+ // callback and keeps Error reconstruction on the host side only.
477
+ const wrappedCode = `
478
+ (function() {
479
+ try {
480
+ var __result = (function() {
481
+ ${code}
482
+ }).call(__data);
483
+ return __prepareForTransfer(__result);
484
+ } catch(e) {
485
+ if (e && e.__isError) return e;
486
+ if (e == null) return { __isError: true, name: "Error", message: String(e), stack: "", extra: {} };
487
+ var extra = {};
488
+ for (var k in e) {
489
+ if (Object.prototype.hasOwnProperty.call(e, k) && k !== "name" && k !== "message" && k !== "stack") extra[k] = e[k];
490
+ }
491
+ return {
492
+ __isError: true,
493
+ name: e.name || "Error",
494
+ message: e.message || "",
495
+ stack: e.stack || "",
496
+ extra: extra
497
+ };
498
+ }
499
+ })()`;
500
+ // Cache key is `code` (tournament output), but the compiled script uses
501
+ // `wrappedCode` which adds the try-catch/reportError wrapper. This works
502
+ // because wrappedCode is a deterministic transform of code. If the wrapper
503
+ // ever becomes parameterized (e.g., different wrapping based on options),
504
+ // the cache key must include those parameters to avoid serving stale scripts.
424
505
  let script = this.scriptCache.get(code);
425
506
  if (!script) {
426
507
  script = this.isolate.compileScriptSync(wrappedCode);
427
508
  this.scriptCache.set(code, script);
428
- if (this.config.debug) {
429
- console.log('[IsolatedVmBridge] Script compiled and cached');
430
- }
509
+ this.logger.debug('[IsolatedVmBridge] Script compiled and cached');
431
510
  }
432
- // Step 4: Execute with timeout and copy result back
511
+ // Step 5: Execute with timeout and copy result back
433
512
  const result = script.runSync(this.context, {
434
513
  timeout: this.config.timeout,
435
514
  copy: true,
436
515
  });
437
- if (this.config.debug) {
438
- console.log('[IsolatedVmBridge] Expression executed successfully');
516
+ // Step 6: If the result is an error sentinel, reconstruct and throw
517
+ if (isErrorSentinel(result)) {
518
+ throw this.reconstructError(result);
439
519
  }
520
+ this.logger.debug('[IsolatedVmBridge] Expression executed successfully');
440
521
  return result;
441
522
  }
442
523
  catch (error) {
524
+ // Re-throw reconstructed errors as-is.
525
+ // Note: TypeError is intentionally NOT included here — the isolate's
526
+ // E() handler swallows TypeErrors (failed attack attempts return undefined),
527
+ // so TypeErrors from host callbacks should also go through the generic
528
+ // wrapping for consistent behavior.
529
+ if (error instanceof Error &&
530
+ (error.name === 'ExpressionError' || error.name === 'ExpressionExtensionError')) {
531
+ throw error;
532
+ }
443
533
  const errorMessage = error instanceof Error ? error.message : String(error);
444
534
  if (errorMessage.includes('Script execution timed out')) {
445
535
  throw new TimeoutError(`Expression timed out after ${this.config.timeout}ms`, {});
@@ -450,6 +540,24 @@ export class IsolatedVmBridge {
450
540
  throw new Error(`Expression evaluation failed: ${errorMessage}`);
451
541
  }
452
542
  }
543
+ /**
544
+ * Reconstruct an error from serialized isolate data.
545
+ *
546
+ * Maps error names back to their host-side classes and restores
547
+ * custom properties that would otherwise be lost crossing the boundary.
548
+ */
549
+ reconstructError(data) {
550
+ const error = new Error(data.message);
551
+ error.name = data.name || 'Error';
552
+ if (data.stack) {
553
+ error.stack = data.stack;
554
+ }
555
+ // Restore custom properties transferred via copy: true
556
+ if (data.extra) {
557
+ Object.assign(error, data.extra);
558
+ }
559
+ return error;
560
+ }
453
561
  /**
454
562
  * Dispose of the isolate and free resources.
455
563
  *
@@ -470,9 +578,7 @@ export class IsolatedVmBridge {
470
578
  this.disposed = true;
471
579
  this.initialized = false;
472
580
  this.scriptCache.clear();
473
- if (this.config.debug) {
474
- console.log('[IsolatedVmBridge] Disposed');
475
- }
581
+ this.logger.info('[IsolatedVmBridge] Disposed');
476
582
  }
477
583
  /**
478
584
  * Check if the bridge has been disposed.
@@ -480,7 +586,7 @@ export class IsolatedVmBridge {
480
586
  * @returns true if disposed, false otherwise
481
587
  */
482
588
  isDisposed() {
483
- return this.disposed;
589
+ return this.disposed || this.isolate.isDisposed;
484
590
  }
485
591
  }
486
592
  //# sourceMappingURL=isolated-vm-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}