@n8n/expression-runtime 0.8.0 → 0.10.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 (67) hide show
  1. package/dist/bundle/runtime.esm.js +15 -15
  2. package/dist/bundle/runtime.esm.js.map +4 -4
  3. package/dist/bundle/runtime.iife.js +15 -15
  4. package/dist/bundle/runtime.iife.js.map +4 -4
  5. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +40 -34
  6. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  7. package/dist/cjs/bridge/isolated-vm-bridge.js +97 -154
  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.map +1 -1
  11. package/dist/cjs/evaluator/expression-evaluator.js +5 -4
  12. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
  13. package/dist/cjs/index.d.ts +1 -0
  14. package/dist/cjs/index.d.ts.map +1 -1
  15. package/dist/cjs/index.js +4 -2
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/pool/isolate-pool.d.ts +3 -2
  18. package/dist/cjs/pool/isolate-pool.d.ts.map +1 -1
  19. package/dist/cjs/pool/isolate-pool.js +5 -4
  20. package/dist/cjs/pool/isolate-pool.js.map +1 -1
  21. package/dist/cjs/runtime/context.d.ts +18 -0
  22. package/dist/cjs/runtime/context.d.ts.map +1 -0
  23. package/dist/cjs/runtime/{reset.js → context.js} +115 -134
  24. package/dist/cjs/runtime/context.js.map +1 -0
  25. package/dist/cjs/runtime/index.d.ts +1 -28
  26. package/dist/cjs/runtime/index.d.ts.map +1 -1
  27. package/dist/cjs/runtime/index.js +3 -5
  28. package/dist/cjs/runtime/index.js.map +1 -1
  29. package/dist/cjs/runtime/lazy-proxy.d.ts +9 -3
  30. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  31. package/dist/cjs/runtime/lazy-proxy.js +19 -13
  32. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  33. package/dist/esm/bridge/isolated-vm-bridge.d.ts +40 -34
  34. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  35. package/dist/esm/bridge/isolated-vm-bridge.js +97 -154
  36. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  37. package/dist/esm/build.tsbuildinfo +1 -1
  38. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
  39. package/dist/esm/evaluator/expression-evaluator.js +4 -3
  40. package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
  41. package/dist/esm/index.d.ts +1 -0
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +1 -0
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/pool/isolate-pool.d.ts +3 -2
  46. package/dist/esm/pool/isolate-pool.d.ts.map +1 -1
  47. package/dist/esm/pool/isolate-pool.js +4 -3
  48. package/dist/esm/pool/isolate-pool.js.map +1 -1
  49. package/dist/esm/runtime/context.d.ts +18 -0
  50. package/dist/esm/runtime/context.d.ts.map +1 -0
  51. package/dist/esm/runtime/{reset.js → context.js} +114 -133
  52. package/dist/esm/runtime/context.js.map +1 -0
  53. package/dist/esm/runtime/index.d.ts +1 -28
  54. package/dist/esm/runtime/index.d.ts.map +1 -1
  55. package/dist/esm/runtime/index.js +2 -4
  56. package/dist/esm/runtime/index.js.map +1 -1
  57. package/dist/esm/runtime/lazy-proxy.d.ts +9 -3
  58. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  59. package/dist/esm/runtime/lazy-proxy.js +19 -13
  60. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  61. package/package.json +5 -4
  62. package/dist/cjs/runtime/reset.d.ts +0 -16
  63. package/dist/cjs/runtime/reset.d.ts.map +0 -1
  64. package/dist/cjs/runtime/reset.js.map +0 -1
  65. package/dist/esm/runtime/reset.d.ts +0 -16
  66. package/dist/esm/runtime/reset.d.ts.map +0 -1
  67. package/dist/esm/runtime/reset.js.map +0 -1
@@ -17,11 +17,6 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
17
17
  private disposed;
18
18
  private config;
19
19
  private logger;
20
- private scriptCache;
21
- private valueAtPathRef?;
22
- private arrayElementRef?;
23
- private callFunctionRef?;
24
- private resetDataProxiesRef?;
25
20
  constructor(config?: BridgeConfig);
26
21
  /**
27
22
  * Initialize the isolate and create execution context.
@@ -42,7 +37,7 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
42
37
  * - DateTime, extend, extendOptional (expression engine globals)
43
38
  * - SafeObject and SafeError wrappers
44
39
  * - createDeepLazyProxy function
45
- * - __data object initialization
40
+ * - buildContext function
46
41
  *
47
42
  * @private
48
43
  * @throws {Error} If context not initialized or bundle loading fails
@@ -61,56 +56,67 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
61
56
  /**
62
57
  * Inject the E() error handler into the isolate context.
63
58
  *
64
- * Tournament wraps expressions with try-catch that calls E(error, this).
65
- * This handler:
66
- * - Re-throws security violations from __sanitize
67
- * - Swallows TypeErrors (failed attack attempts return undefined)
68
- * - Re-throws all other errors
59
+ * There are two exception-handling layers inside the isolate:
60
+ *
61
+ * 1. **Inner layer (this handler, `E()`)** — Tournament wraps each
62
+ * expression with try-catch that calls `E(error, this)`. This handler
63
+ * must match the legacy engine's behavior (set in expression.ts via
64
+ * setErrorHandler):
65
+ * - Re-throw ExpressionError / ExpressionExtensionError
66
+ * - Swallow everything else (TypeErrors, generic Errors, etc.)
67
+ *
68
+ * 2. **Outer layer (`wrappedCode` try-catch in `execute()`)** — Catches
69
+ * anything that escaped `E()` (e.g. re-thrown ExpressionErrors) and
70
+ * serializes it into a sentinel object so the host can reconstruct it.
71
+ *
72
+ * Inside the isolate, errors from host callbacks arrive as sentinel
73
+ * objects ({ __isError, name, message, ... }) rather than class instances,
74
+ * so we match by name instead of instanceof.
69
75
  *
70
76
  * @private
71
77
  * @throws {Error} If context not initialized
72
78
  */
73
79
  private injectErrorHandler;
74
80
  /**
75
- * Reset data proxies in the isolate context.
81
+ * Create an ivm.Reference callback for getting value/metadata at a path.
76
82
  *
77
- * This method should be called before each execute() to:
78
- * 1. Clear proxy caches from previous evaluations
79
- * 2. Initialize fresh workflow data references
80
- * 3. Expose workflow properties to globalThis
81
- *
82
- * The reset function runs in the isolate and calls back to the host
83
- * via ivm.Reference callbacks to fetch workflow data.
83
+ * Used by createDeepLazyProxy when accessing properties. Returns metadata
84
+ * markers for functions, arrays, and objects, or the primitive value directly.
84
85
  *
86
+ * @param data - Current workflow data to use for callback responses
85
87
  * @private
86
- * @throws {Error} If context not initialized or reset fails
87
88
  */
88
- private resetDataProxies;
89
+ private createGetValueAtPathRef;
89
90
  /**
90
- * Register callback functions for cross-isolate communication.
91
+ * Create an ivm.Reference callback for getting array elements at an index.
91
92
  *
92
- * Creates three ivm.Reference callbacks that the runtime bundle uses
93
- * to fetch data from the host process:
93
+ * Used by array proxy when accessing numeric indices.
94
94
  *
95
- * - __getValueAtPath: Returns metadata or primitive for a property path
96
- * - __getArrayElement: Returns individual array elements
97
- * - __callFunctionAtPath: Executes functions in host context
95
+ * @param data - Current workflow data to use for callback responses
96
+ * @private
97
+ */
98
+ private createGetArrayElementRef;
99
+ /**
100
+ * Create an ivm.Reference callback for calling functions at a path.
98
101
  *
99
- * These callbacks are called synchronously from isolate proxy traps.
102
+ * Used when expressions invoke functions from workflow data.
100
103
  *
101
104
  * @param data - Current workflow data to use for callback responses
102
105
  * @private
103
106
  */
104
- private registerCallbacks;
107
+ private createCallFunctionAtPathRef;
105
108
  /**
106
109
  * Execute JavaScript code in the isolated context.
107
110
  *
108
111
  * Flow:
109
- * 1. Register callbacks as ivm.Reference for cross-isolate communication
110
- * 2. Call resetDataProxies() to initialize workflow data proxies
111
- * 3. Compile script (with caching for performance)
112
- * 4. Execute with timeout enforcement
113
- * 5. Return result (copied from isolate)
112
+ * 1. Create three ivm.Reference callbacks scoped to the current data
113
+ * 2. Use evalClosureSync to run the code in a closure where $0/$1/$2
114
+ * are the callback references no global mutable state
115
+ * 3. buildContext() inside the isolate creates a fresh evaluation context
116
+ * from the closure-scoped references
117
+ *
118
+ * Each call gets its own closure, so nested and concurrent evaluations
119
+ * cannot interfere with each other.
114
120
  *
115
121
  * @param code - JavaScript expression to evaluate
116
122
  * @param data - Workflow data (e.g., { $json: {...}, $runIndex: 0 })
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0E5E;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACrD,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAmC;IAIjD,OAAO,CAAC,WAAW,CAAiC;IAIpD,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAgB;IAKxC,OAAO,CAAC,mBAAmB,CAAC,CAAgB;gBAEhC,MAAM,GAAE,YAAiB;IAYrC;;;;;;;;;;OAUG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAgCjC;;;;;;;;OAQG;YACW,iBAAiB;IA6B/B;;;;;;;;;;;OAWG;YACW,kBAAkB;IAwBhC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAkLzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAiGvF;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}
1
+ {"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0E5E;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACrD,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAmC;gBAErC,MAAM,GAAE,YAAiB;IAYrC;;;;;;;;;;OAUG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAgCjC;;;;;;;;OAQG;YACW,iBAAiB;IA4B/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;YACW,kBAAkB;IAwBhC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAgE/B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAyDhC;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAsFvF;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}
@@ -119,18 +119,6 @@ var __importStar = (this && this.__importStar) || (function () {
119
119
  disposed = false;
120
120
  config;
121
121
  logger;
122
- // Script compilation cache for performance
123
- // Maps expression code -> compiled ivm.Script
124
- scriptCache = new Map();
125
- // Active ivm.Reference callbacks — released before each re-registration
126
- // to prevent reference accumulation across execute() calls
127
- valueAtPathRef;
128
- arrayElementRef;
129
- callFunctionRef;
130
- // Pre-resolved reference to resetDataProxies() inside the isolate.
131
- // Using applySync on a stored reference avoids the per-call
132
- // ScriptCompiler::Compile() cost that evalSync incurs.
133
- resetDataProxiesRef;
134
122
  constructor(config = {}) {
135
123
  this.config = {
136
124
  ...types_1.DEFAULT_BRIDGE_CONFIG,
@@ -170,10 +158,6 @@ var __importStar = (this && this.__importStar) || (function () {
170
158
  await this.verifyProxySystem();
171
159
  // Inject E() error handler needed by tournament-generated try-catch code
172
160
  await this.injectErrorHandler();
173
- // Store a reference to resetDataProxies for efficient per-call invocation
174
- this.resetDataProxiesRef = await this.context.global.get('resetDataProxies', {
175
- reference: true,
176
- });
177
161
  this.initialized = true;
178
162
  this.logger.info('[IsolatedVmBridge] Initialized successfully');
179
163
  }
@@ -184,7 +168,7 @@ var __importStar = (this && this.__importStar) || (function () {
184
168
  * - DateTime, extend, extendOptional (expression engine globals)
185
169
  * - SafeObject and SafeError wrappers
186
170
  * - createDeepLazyProxy function
187
- * - __data object initialization
171
+ * - buildContext function
188
172
  *
189
173
  * @private
190
174
  * @throws {Error} If context not initialized or bundle loading fails
@@ -197,7 +181,7 @@ var __importStar = (this && this.__importStar) || (function () {
197
181
  // Load runtime bundle (includes vendor libraries + proxy system)
198
182
  const runtimeBundle = await readRuntimeBundle();
199
183
  // Evaluate bundle in isolate context
200
- // This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, resetDataProxies, __data)
184
+ // This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, buildContext)
201
185
  await this.context.eval(runtimeBundle);
202
186
  this.logger.info('[IsolatedVmBridge] Runtime bundle loaded');
203
187
  // Verify vendor libraries loaded correctly
@@ -229,15 +213,14 @@ var __importStar = (this && this.__importStar) || (function () {
229
213
  try {
230
214
  // Verify proxy system components loaded correctly
231
215
  const hasProxyCreator = await this.context.eval('typeof createDeepLazyProxy !== "undefined"');
232
- const hasData = await this.context.eval('typeof __data !== "undefined"');
233
216
  const hasSafeObject = await this.context.eval('typeof SafeObject !== "undefined"');
234
217
  const hasSafeError = await this.context.eval('typeof SafeError !== "undefined"');
235
- const hasResetFunction = await this.context.eval('typeof resetDataProxies !== "undefined"');
236
- if (!hasProxyCreator || !hasData || !hasSafeObject || !hasSafeError || !hasResetFunction) {
218
+ const hasBuildContext = await this.context.eval('typeof buildContext !== "undefined"');
219
+ if (!hasProxyCreator || !hasSafeObject || !hasSafeError || !hasBuildContext) {
237
220
  throw new Error(`Proxy system verification failed: ` +
238
- `createDeepLazyProxy=${hasProxyCreator}, __data=${hasData}, ` +
221
+ `createDeepLazyProxy=${hasProxyCreator}, ` +
239
222
  `SafeObject=${hasSafeObject}, SafeError=${hasSafeError}, ` +
240
- `resetDataProxies=${hasResetFunction}`);
223
+ `buildContext=${hasBuildContext}`);
241
224
  }
242
225
  this.logger.info('[IsolatedVmBridge] Proxy system verified successfully');
243
226
  }
@@ -249,11 +232,22 @@ var __importStar = (this && this.__importStar) || (function () {
249
232
  /**
250
233
  * Inject the E() error handler into the isolate context.
251
234
  *
252
- * Tournament wraps expressions with try-catch that calls E(error, this).
253
- * This handler:
254
- * - Re-throws security violations from __sanitize
255
- * - Swallows TypeErrors (failed attack attempts return undefined)
256
- * - Re-throws all other errors
235
+ * There are two exception-handling layers inside the isolate:
236
+ *
237
+ * 1. **Inner layer (this handler, `E()`)** — Tournament wraps each
238
+ * expression with try-catch that calls `E(error, this)`. This handler
239
+ * must match the legacy engine's behavior (set in expression.ts via
240
+ * setErrorHandler):
241
+ * - Re-throw ExpressionError / ExpressionExtensionError
242
+ * - Swallow everything else (TypeErrors, generic Errors, etc.)
243
+ *
244
+ * 2. **Outer layer (`wrappedCode` try-catch in `execute()`)** — Catches
245
+ * anything that escaped `E()` (e.g. re-thrown ExpressionErrors) and
246
+ * serializes it into a sentinel object so the host can reconstruct it.
247
+ *
248
+ * Inside the isolate, errors from host callbacks arrive as sentinel
249
+ * objects ({ __isError, name, message, ... }) rather than class instances,
250
+ * so we match by name instead of instanceof.
257
251
  *
258
252
  * @private
259
253
  * @throws {Error} If context not initialized
@@ -265,71 +259,31 @@ var __importStar = (this && this.__importStar) || (function () {
265
259
  await this.context.eval(`
266
260
  if (typeof E === 'undefined') {
267
261
  globalThis.E = function(error, _context) {
268
- // Re-throw security violations from __sanitize
269
- if (error && error.message && error.message.includes('due to security concerns')) {
262
+ // Re-throw ExpressionError / ExpressionExtensionError to match
263
+ // the legacy handler in expression.ts. Errors from host callbacks
264
+ // arrive as sentinels (not class instances), so check by name.
265
+ const name = error?.name;
266
+ if (name === 'ExpressionError' || name === 'ExpressionExtensionError') {
270
267
  throw error;
271
268
  }
272
- // Swallow TypeErrors (failed attack attempts return undefined)
273
- if (error instanceof TypeError) {
274
- return undefined;
275
- }
276
- throw error;
269
+ // Swallow everything else (TypeErrors, generic Errors, etc.)
270
+ return undefined;
277
271
  };
278
272
  }
279
273
  `);
280
274
  this.logger.info('[IsolatedVmBridge] Error handler injected successfully');
281
275
  }
282
276
  /**
283
- * Reset data proxies in the isolate context.
284
- *
285
- * This method should be called before each execute() to:
286
- * 1. Clear proxy caches from previous evaluations
287
- * 2. Initialize fresh workflow data references
288
- * 3. Expose workflow properties to globalThis
289
- *
290
- * The reset function runs in the isolate and calls back to the host
291
- * via ivm.Reference callbacks to fetch workflow data.
292
- *
293
- * @private
294
- * @throws {Error} If context not initialized or reset fails
295
- */
296
- resetDataProxies(timezone) {
297
- if (!this.resetDataProxiesRef) {
298
- throw new Error('Context not initialized');
299
- }
300
- try {
301
- this.resetDataProxiesRef.applySync(null, [timezone ?? null], {
302
- arguments: { copy: true },
303
- });
304
- this.logger.debug('[IsolatedVmBridge] Data proxies reset successfully');
305
- }
306
- catch (error) {
307
- const errorMessage = error instanceof Error ? error.message : String(error);
308
- throw new Error(`Failed to reset data proxies: ${errorMessage}`);
309
- }
310
- }
311
- /**
312
- * Register callback functions for cross-isolate communication.
313
- *
314
- * Creates three ivm.Reference callbacks that the runtime bundle uses
315
- * to fetch data from the host process:
277
+ * Create an ivm.Reference callback for getting value/metadata at a path.
316
278
  *
317
- * - __getValueAtPath: Returns metadata or primitive for a property path
318
- * - __getArrayElement: Returns individual array elements
319
- * - __callFunctionAtPath: Executes functions in host context
320
- *
321
- * These callbacks are called synchronously from isolate proxy traps.
279
+ * Used by createDeepLazyProxy when accessing properties. Returns metadata
280
+ * markers for functions, arrays, and objects, or the primitive value directly.
322
281
  *
323
282
  * @param data - Current workflow data to use for callback responses
324
283
  * @private
325
284
  */
326
- registerCallbacks(data) {
327
- if (!this.context) {
328
- throw new Error('Context not initialized');
329
- }
330
- // Callback 1: Get value/metadata at path
331
- // Used by createDeepLazyProxy when accessing properties
332
- const getValueAtPath = new (getIvm().Reference)((path) => {
285
+ createGetValueAtPathRef(data) {
286
+ return new (getIvm().Reference)((path) => {
333
287
  try {
334
288
  // Navigate to value
335
289
  // Special-case: paths starting with ['$item', index] call data.$item(index)
@@ -388,9 +342,17 @@ var __importStar = (this && this.__importStar) || (function () {
388
342
  return serializeError(err);
389
343
  }
390
344
  });
391
- // Callback 2: Get array element at index
392
- // Used by array proxy when accessing numeric indices
393
- const getArrayElement = new (getIvm().Reference)((path, index) => {
345
+ }
346
+ /**
347
+ * Create an ivm.Reference callback for getting array elements at an index.
348
+ *
349
+ * Used by array proxy when accessing numeric indices.
350
+ *
351
+ * @param data - Current workflow data to use for callback responses
352
+ * @private
353
+ */
354
+ createGetArrayElementRef(data) {
355
+ return new (getIvm().Reference)((path, index) => {
394
356
  try {
395
357
  // Navigate to array
396
358
  // Special-case: paths starting with ['$item', index] call data.$item(index)
@@ -442,9 +404,17 @@ var __importStar = (this && this.__importStar) || (function () {
442
404
  return serializeError(err);
443
405
  }
444
406
  });
445
- // Callback 3: Call function at path with arguments
446
- // Used when expressions invoke functions from workflow data
447
- const callFunctionAtPath = new (getIvm().Reference)((path, ...args) => {
407
+ }
408
+ /**
409
+ * Create an ivm.Reference callback for calling functions at a path.
410
+ *
411
+ * Used when expressions invoke functions from workflow data.
412
+ *
413
+ * @param data - Current workflow data to use for callback responses
414
+ * @private
415
+ */
416
+ createCallFunctionAtPathRef(data) {
417
+ return new (getIvm().Reference)((path, ...args) => {
448
418
  try {
449
419
  // Navigate to function, tracking parent to preserve `this` context
450
420
  let fn = data;
@@ -473,29 +443,19 @@ var __importStar = (this && this.__importStar) || (function () {
473
443
  return serializeError(err);
474
444
  }
475
445
  });
476
- // Release previous references before replacing to avoid accumulation
477
- this.valueAtPathRef?.release();
478
- this.arrayElementRef?.release();
479
- this.callFunctionRef?.release();
480
- // Store references so they can be released on the next call or on dispose()
481
- this.valueAtPathRef = getValueAtPath;
482
- this.arrayElementRef = getArrayElement;
483
- this.callFunctionRef = callFunctionAtPath;
484
- // Register all callbacks in isolate global context
485
- this.context.global.setSync('__getValueAtPath', getValueAtPath);
486
- this.context.global.setSync('__getArrayElement', getArrayElement);
487
- this.context.global.setSync('__callFunctionAtPath', callFunctionAtPath);
488
- this.logger.debug('[IsolatedVmBridge] Callbacks registered successfully');
489
446
  }
490
447
  /**
491
448
  * Execute JavaScript code in the isolated context.
492
449
  *
493
450
  * Flow:
494
- * 1. Register callbacks as ivm.Reference for cross-isolate communication
495
- * 2. Call resetDataProxies() to initialize workflow data proxies
496
- * 3. Compile script (with caching for performance)
497
- * 4. Execute with timeout enforcement
498
- * 5. Return result (copied from isolate)
451
+ * 1. Create three ivm.Reference callbacks scoped to the current data
452
+ * 2. Use evalClosureSync to run the code in a closure where $0/$1/$2
453
+ * are the callback references no global mutable state
454
+ * 3. buildContext() inside the isolate creates a fresh evaluation context
455
+ * from the closure-scoped references
456
+ *
457
+ * Each call gets its own closure, so nested and concurrent evaluations
458
+ * cannot interfere with each other.
499
459
  *
500
460
  * @param code - JavaScript expression to evaluate
501
461
  * @param data - Workflow data (e.g., { $json: {...}, $runIndex: 0 })
@@ -506,59 +466,42 @@ var __importStar = (this && this.__importStar) || (function () {
506
466
  if (!this.initialized || !this.context) {
507
467
  throw new Error('Bridge not initialized. Call initialize() first.');
508
468
  }
469
+ const getValueAtPath = this.createGetValueAtPathRef(data);
470
+ const getArrayElement = this.createGetArrayElementRef(data);
471
+ const callFunctionAtPath = this.createCallFunctionAtPathRef(data);
509
472
  try {
510
- // Step 1: Register callbacks with current data context
511
- this.registerCallbacks(data);
512
- // Step 2: Reset proxies for this evaluation
513
- // This initializes $json, $binary, etc. as lazy proxies
514
- this.resetDataProxies(options?.timezone);
515
- // Step 3: Wrap transformed code so 'this' === __data in the isolate.
473
+ const timezone = options?.timezone ? JSON.stringify(options.timezone) : 'undefined';
474
+ // Wrap transformed code so 'this' === the closure-scoped context.
516
475
  // Tournament generates: this.$json.email, this.$items(), etc.
517
- // __data has $json, $items, etc. as lazy proxies (set in resetDataProxies).
476
+ // buildContext() creates a fresh context with lazy proxies from the
477
+ // closure-scoped callback references ($0, $1, $2) — no globals touched.
518
478
  // The outer try-catch serializes errors into a sentinel object and returns
519
479
  // it as the result. Errors from host callbacks arrive as sentinels already
520
480
  // (via serializeError), so we pass them through. This avoids a round-trip
521
481
  // callback and keeps Error reconstruction on the host side only.
522
482
  const wrappedCode = `
523
- (function() {
524
- try {
525
- var __result = (function() {
526
- ${code}
527
- }).call(__data);
528
- return __prepareForTransfer(__result);
529
- } catch(e) {
530
- if (e && e.__isError) return e;
531
- if (e == null) return { __isError: true, name: "Error", message: String(e), stack: "", extra: {} };
532
- var extra = {};
533
- for (var k in e) {
534
- if (Object.prototype.hasOwnProperty.call(e, k) && k !== "name" && k !== "message" && k !== "stack") extra[k] = e[k];
535
- }
536
- return {
537
- __isError: true,
538
- name: e.name || "Error",
539
- message: e.message || "",
540
- stack: e.stack || "",
541
- extra: extra
542
- };
483
+ var __ctx = buildContext($0, $1, $2, ${timezone});
484
+ try {
485
+ var __result = (function() {
486
+ ${code}
487
+ }).call(__ctx);
488
+ return __prepareForTransfer(__result);
489
+ } catch(e) {
490
+ if (e && e.__isError) return e;
491
+ if (e == null) return { __isError: true, name: "Error", message: String(e), stack: "", extra: {} };
492
+ var extra = {};
493
+ for (var k in e) {
494
+ if (Object.prototype.hasOwnProperty.call(e, k) && k !== "name" && k !== "message" && k !== "stack") extra[k] = e[k];
543
495
  }
544
- })()`;
545
- // Cache key is `code` (tournament output), but the compiled script uses
546
- // `wrappedCode` which adds the try-catch/reportError wrapper. This works
547
- // because wrappedCode is a deterministic transform of code. If the wrapper
548
- // ever becomes parameterized (e.g., different wrapping based on options),
549
- // the cache key must include those parameters to avoid serving stale scripts.
550
- let script = this.scriptCache.get(code);
551
- if (!script) {
552
- script = this.isolate.compileScriptSync(wrappedCode);
553
- this.scriptCache.set(code, script);
554
- this.logger.debug('[IsolatedVmBridge] Script compiled and cached');
555
- }
556
- // Step 5: Execute with timeout and copy result back
557
- const result = script.runSync(this.context, {
558
- timeout: this.config.timeout,
559
- copy: true,
560
- });
561
- // Step 6: If the result is an error sentinel, reconstruct and throw
496
+ return {
497
+ __isError: true,
498
+ name: e.name || "Error",
499
+ message: e.message || "",
500
+ stack: e.stack || "",
501
+ extra: extra
502
+ };
503
+ }`;
504
+ const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callFunctionAtPath], { result: { copy: true }, timeout: this.config.timeout });
562
505
  if (isErrorSentinel(result)) {
563
506
  throw this.reconstructError(result);
564
507
  }
@@ -584,6 +527,11 @@ var __importStar = (this && this.__importStar) || (function () {
584
527
  }
585
528
  throw new Error(`Expression evaluation failed: ${errorMessage}`);
586
529
  }
530
+ finally {
531
+ getValueAtPath.release();
532
+ getArrayElement.release();
533
+ callFunctionAtPath.release();
534
+ }
587
535
  }
588
536
  /**
589
537
  * Reconstruct an error from serialized isolate data.
@@ -616,13 +564,8 @@ var __importStar = (this && this.__importStar) || (function () {
616
564
  if (!this.isolate.isDisposed) {
617
565
  this.isolate.dispose();
618
566
  }
619
- // Release callback references
620
- this.valueAtPathRef?.release();
621
- this.arrayElementRef?.release();
622
- this.callFunctionRef?.release();
623
567
  this.disposed = true;
624
568
  this.initialized = false;
625
- this.scriptCache.clear();
626
569
  this.logger.info('[IsolatedVmBridge] Disposed');
627
570
  }
628
571
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACA,+CAA4C;IAC5C,gDAAkC;IAElC,oCAAiF;IAOjF,IAAI,IAAI,GAAsB,IAAI,CAAC;IAEnC,SAAS,MAAM;QACd,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,iEAAiE;YACjE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAe,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAE5E,wEAAwE;IACxE,SAAS,eAAe,CAAC,KAAc;QACtC,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAAiC,CAAC,SAAS,KAAK,IAAI,CACrD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,cAAc,CAAC,GAAY;QACnC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC,CAC7F,CAAC;YACF,OAAO;gBACN,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK;aACL,CAAC;QACH,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,UAAU,iBAAiB;QAC/B,IAAI,GAAG,GAAG,SAAS,CAAC;QACpB,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACJ,OAAO,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,KAAK,CACd,kCAAkC,oBAAoB,sBAAsB,SAAS,EAAE,CACvF,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAa,gBAAgB;QACpB,OAAO,CAAc;QACrB,OAAO,CAAe;QACtB,WAAW,GAAG,KAAK,CAAC;QACpB,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,CAAyB;QAC/B,MAAM,CAAmC;QAEjD,2CAA2C;QAC3C,8CAA8C;QACtC,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;QAEpD,wEAAwE;QACxE,2DAA2D;QACnD,cAAc,CAAiB;QAC/B,eAAe,CAAiB;QAChC,eAAe,CAAiB;QAExC,mEAAmE;QACnE,4DAA4D;QAC5D,uDAAuD;QAC/C,mBAAmB,CAAiB;QAE5C,YAAY,SAAuB,EAAE;YACpC,IAAI,CAAC,MAAM,GAAG;gBACb,GAAG,6BAAqB;gBACxB,GAAG,MAAM;aACT,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAEjC,mCAAmC;YACnC,6BAA6B;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;QAED;;;;;;;;;;WAUG;QACH,KAAK,CAAC,UAAU;YACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO;YACR,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAElD,uBAAuB;YACvB,qDAAqD;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAEjC,sDAAsD;YACtD,2DAA2D;YAC3D,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAE3C,mEAAmE;YACnE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEjC,uCAAuC;YACvC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,yEAAyE;YACzE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEhC,0EAA0E;YAC1E,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;gBAC5E,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED;;;;;;;;;;;WAWG;QACK,KAAK,CAAC,mBAAmB;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACJ,iEAAiE;gBACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAEhD,qCAAqC;gBACrC,qJAAqJ;gBACrJ,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAEvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAE7D,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAC/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAE3E,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CACd,yCAAyC,WAAW,YAAY,SAAS,EAAE,CAC3E,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;QAED;;;;;;;;WAQG;QACK,KAAK,CAAC,iBAAiB;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACJ,kDAAkD;gBAClD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC9F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBACzE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBACjF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBAE5F,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1F,MAAM,IAAI,KAAK,CACd,oCAAoC;wBACnC,uBAAuB,eAAe,YAAY,OAAO,IAAI;wBAC7D,cAAc,aAAa,eAAe,YAAY,IAAI;wBAC1D,oBAAoB,gBAAgB,EAAE,CACvC,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;QAED;;;;;;;;;;;WAWG;QACK,KAAK,CAAC,kBAAkB;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcvB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED;;;;;;;;;;;;;WAaG;QACK,gBAAgB,CAAC,QAAiB;YACzC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC;gBACJ,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE;oBAC5D,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBACzB,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;QAED;;;;;;;;;;;;;;WAcG;QACK,iBAAiB,CAAC,IAA6B;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,CAAC;YAED,yCAAyC;YACzC,wDAAwD;YACxD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,EAAE;gBAClE,IAAI,CAAC;oBACJ,oBAAoB;oBACpB,4EAA4E;oBAC5E,yEAAyE;oBACzE,IAAI,KAAK,GAAY,IAAI,CAAC;oBAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;oBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BACvB,KAAK,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;4BACtD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;wBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;4BAC3E,KAAK,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;4BACzD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,KAAK,GAAI,KAAiC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BAC3C,OAAO,KAAK,CAAC;wBACd,CAAC;oBACF,CAAC;oBAED,4CAA4C;oBAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;wBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAClC,sCAAsC;wBACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;4BACxC,OAAO,SAAS,CAAC;wBAClB,CAAC;wBACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC9D,CAAC;oBAED,oDAAoD;oBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO;4BACN,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,KAAK,CAAC,MAAM;4BACtB,MAAM,EAAE,IAAI;yBACZ,CAAC;oBACH,CAAC;oBAED,6CAA6C;oBAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACjD,OAAO;4BACN,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;yBAC1B,CAAC;oBACH,CAAC;oBAED,kBAAkB;oBAClB,OAAO,KAAK,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,yCAAyC;YACzC,qDAAqD;YACrD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,KAAa,EAAE,EAAE;gBAClF,IAAI,CAAC;oBACJ,oBAAoB;oBACpB,4EAA4E;oBAC5E,IAAI,GAAG,GAAY,IAAI,CAAC;oBACxB,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;oBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;4BACvB,GAAG,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;4BACpD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;wBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;4BAC3E,GAAG,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;4BACvD,UAAU,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACF,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,GAAG,GAAI,GAA+B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;4BACvC,OAAO,SAAS,CAAC;wBAClB,CAAC;oBACF,CAAC;oBAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACzB,OAAO,SAAS,CAAC;oBAClB,CAAC;oBAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;oBAE3B,8CAA8C;oBAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC5B,OAAO;gCACN,SAAS,EAAE,IAAI;gCACf,QAAQ,EAAE,OAAO,CAAC,MAAM;gCACxB,MAAM,EAAE,IAAI;6BACZ,CAAC;wBACH,CAAC;wBACD,OAAO;4BACN,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;yBAC5B,CAAC;oBACH,CAAC;oBAED,oBAAoB;oBACpB,OAAO,OAAO,CAAC;gBAChB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,mDAAmD;YACnD,4DAA4D;YAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,GAAG,IAAe,EAAE,EAAE;gBAC1F,IAAI,CAAC;oBACJ,mEAAmE;oBACnE,IAAI,EAAE,GAAY,IAAI,CAAC;oBACvB,IAAI,MAAM,GAAY,SAAS,CAAC;oBAChC,IAAI,UAAU,GAAG,CAAC,CAAC;oBACnB,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;oBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;wBAC3E,EAAE,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;oBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,MAAM,GAAG,EAAE,CAAC;wBACZ,EAAE,GAAI,EAA8B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,CAAC;oBAED,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBACxD,CAAC;oBAED,qEAAqE;oBACrE,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAChF,CAAC;oBAED,oEAAoE;oBACpE,OAAQ,EAAwC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,qEAAqE;YACrE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAEhC,4EAA4E;YAC5E,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;YACvC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC;YAE1C,mDAAmD;YACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;QAED;;;;;;;;;;;;;;WAcG;QACH,OAAO,CAAC,IAAY,EAAE,IAA6B,EAAE,OAAwB;YAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,CAAC;gBACJ,uDAAuD;gBACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAE7B,4CAA4C;gBAC5C,wDAAwD;gBACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEzC,qEAAqE;gBACrE,8DAA8D;gBAC9D,4EAA4E;gBAC5E,2EAA2E;gBAC3E,2EAA2E;gBAC3E,0EAA0E;gBAC1E,iEAAiE;gBACjE,MAAM,WAAW,GAAG;;;;QAIf,IAAI;;;;;;;;;;;;;;;;;;KAkBP,CAAC;gBAEH,wEAAwE;gBACxE,yEAAyE;gBACzE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,8EAA8E;gBAC9E,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACpE,CAAC;gBAED,oDAAoD;gBACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC3C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;oBAC5B,IAAI,EAAE,IAAI;iBACV,CAAC,CAAC;gBAEH,oEAAoE;gBACpE,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAEzE,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,uCAAuC;gBACvC,qEAAqE;gBACrE,6EAA6E;gBAC7E,uEAAuE;gBACvE,oCAAoC;gBACpC,IACC,KAAK,YAAY,KAAK;oBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAC9E,CAAC;oBACF,MAAM,KAAK,CAAC;gBACb,CAAC;gBACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,oBAAY,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,wBAAgB,CACzB,uCAAuC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAClE,EAAE,CACF,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;QAED;;;;;WAKG;QACK,gBAAgB,CAAC,IAAmB;YAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;YAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,uDAAuD;YACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,KAAK,CAAC;QACd,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,OAAO;YACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO;YACR,CAAC;YAED,sEAAsE;YACtE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAEhC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAEzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED;;;;WAIG;QACH,UAAU;YACT,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACjD,CAAC;KACD;IA/kBD,4CA+kBC"}
1
+ {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}