@n8n/expression-runtime 0.14.2 → 0.14.4

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 (91) hide show
  1. package/dist/bundle/runtime.esm.js +17 -17
  2. package/dist/bundle/runtime.esm.js.map +4 -4
  3. package/dist/bundle/runtime.iife.js +17 -17
  4. package/dist/bundle/runtime.iife.js.map +4 -4
  5. package/dist/cjs/bridge/bridge-messages.d.ts +594 -0
  6. package/dist/cjs/bridge/bridge-messages.d.ts.map +1 -0
  7. package/dist/cjs/bridge/bridge-messages.js +263 -0
  8. package/dist/cjs/bridge/bridge-messages.js.map +1 -0
  9. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +134 -11
  10. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  11. package/dist/cjs/bridge/isolated-vm-bridge.js +235 -50
  12. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  13. package/dist/cjs/build.tsbuildinfo +1 -1
  14. package/dist/cjs/extensions/extend.d.ts +5 -0
  15. package/dist/cjs/extensions/extend.d.ts.map +1 -1
  16. package/dist/cjs/extensions/extend.js +14 -14
  17. package/dist/cjs/extensions/extend.js.map +1 -1
  18. package/dist/cjs/pool/idle-scaling-pool.js +2 -2
  19. package/dist/cjs/pool/idle-scaling-pool.js.map +1 -1
  20. package/dist/cjs/runtime/context.d.ts +43 -4
  21. package/dist/cjs/runtime/context.d.ts.map +1 -1
  22. package/dist/cjs/runtime/context.js +183 -31
  23. package/dist/cjs/runtime/context.js.map +1 -1
  24. package/dist/cjs/runtime/index.d.ts +3 -3
  25. package/dist/cjs/runtime/index.d.ts.map +1 -1
  26. package/dist/cjs/runtime/index.js.map +1 -1
  27. package/dist/cjs/runtime/jmespath.d.ts +5 -3
  28. package/dist/cjs/runtime/jmespath.d.ts.map +1 -1
  29. package/dist/cjs/runtime/jmespath.js +5 -3
  30. package/dist/cjs/runtime/jmespath.js.map +1 -1
  31. package/dist/cjs/runtime/lazy-proxy.d.ts +7 -5
  32. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  33. package/dist/cjs/runtime/lazy-proxy.js +8 -16
  34. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  35. package/dist/cjs/runtime/safe-globals.d.ts.map +1 -1
  36. package/dist/cjs/runtime/safe-globals.js +8 -3
  37. package/dist/cjs/runtime/safe-globals.js.map +1 -1
  38. package/dist/cjs/runtime/utils.d.ts +16 -0
  39. package/dist/cjs/runtime/utils.d.ts.map +1 -0
  40. package/dist/cjs/runtime/utils.js +31 -0
  41. package/dist/cjs/runtime/utils.js.map +1 -0
  42. package/dist/cjs/types/bridge.d.ts +2 -1
  43. package/dist/cjs/types/bridge.d.ts.map +1 -1
  44. package/dist/cjs/types/bridge.js.map +1 -1
  45. package/dist/cjs/types/evaluator.d.ts +86 -4
  46. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  47. package/dist/cjs/types/evaluator.js.map +1 -1
  48. package/dist/esm/bridge/bridge-messages.d.ts +594 -0
  49. package/dist/esm/bridge/bridge-messages.d.ts.map +1 -0
  50. package/dist/esm/bridge/bridge-messages.js +250 -0
  51. package/dist/esm/bridge/bridge-messages.js.map +1 -0
  52. package/dist/esm/bridge/isolated-vm-bridge.d.ts +134 -11
  53. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  54. package/dist/esm/bridge/isolated-vm-bridge.js +234 -49
  55. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  56. package/dist/esm/build.tsbuildinfo +1 -1
  57. package/dist/esm/extensions/extend.d.ts +5 -0
  58. package/dist/esm/extensions/extend.d.ts.map +1 -1
  59. package/dist/esm/extensions/extend.js +12 -12
  60. package/dist/esm/extensions/extend.js.map +1 -1
  61. package/dist/esm/pool/idle-scaling-pool.js +2 -2
  62. package/dist/esm/pool/idle-scaling-pool.js.map +1 -1
  63. package/dist/esm/runtime/context.d.ts +43 -4
  64. package/dist/esm/runtime/context.d.ts.map +1 -1
  65. package/dist/esm/runtime/context.js +182 -30
  66. package/dist/esm/runtime/context.js.map +1 -1
  67. package/dist/esm/runtime/index.d.ts +3 -3
  68. package/dist/esm/runtime/index.d.ts.map +1 -1
  69. package/dist/esm/runtime/index.js.map +1 -1
  70. package/dist/esm/runtime/jmespath.d.ts +5 -3
  71. package/dist/esm/runtime/jmespath.d.ts.map +1 -1
  72. package/dist/esm/runtime/jmespath.js +5 -3
  73. package/dist/esm/runtime/jmespath.js.map +1 -1
  74. package/dist/esm/runtime/lazy-proxy.d.ts +7 -5
  75. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  76. package/dist/esm/runtime/lazy-proxy.js +8 -16
  77. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  78. package/dist/esm/runtime/safe-globals.d.ts.map +1 -1
  79. package/dist/esm/runtime/safe-globals.js +8 -3
  80. package/dist/esm/runtime/safe-globals.js.map +1 -1
  81. package/dist/esm/runtime/utils.d.ts +16 -0
  82. package/dist/esm/runtime/utils.d.ts.map +1 -0
  83. package/dist/esm/runtime/utils.js +18 -0
  84. package/dist/esm/runtime/utils.js.map +1 -0
  85. package/dist/esm/types/bridge.d.ts +2 -1
  86. package/dist/esm/types/bridge.d.ts.map +1 -1
  87. package/dist/esm/types/bridge.js.map +1 -1
  88. package/dist/esm/types/evaluator.d.ts +86 -4
  89. package/dist/esm/types/evaluator.d.ts.map +1 -1
  90. package/dist/esm/types/evaluator.js.map +1 -1
  91. package/package.json +10 -9
@@ -1,6 +1,7 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import * as path from 'node:path';
3
3
  import { DEFAULT_BRIDGE_CONFIG, TimeoutError, MemoryLimitError } from '../types';
4
+ import { bridgeMessageSchema } from './bridge-messages';
4
5
  let _ivm = null;
5
6
  function getIvm() {
6
7
  if (!_ivm) {
@@ -114,7 +115,7 @@ export class IsolatedVmBridge {
114
115
  // Inject E() error handler needed by tournament-generated try-catch code
115
116
  await this.injectErrorHandler();
116
117
  this.initialized = true;
117
- this.logger.info('[IsolatedVmBridge] Initialized successfully');
118
+ this.logger.debug('[IsolatedVmBridge] Initialized successfully');
118
119
  }
119
120
  /**
120
121
  * Load runtime bundle into the isolate.
@@ -138,14 +139,14 @@ export class IsolatedVmBridge {
138
139
  // Evaluate bundle in isolate context
139
140
  // This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, buildContext)
140
141
  await this.context.eval(runtimeBundle);
141
- this.logger.info('[IsolatedVmBridge] Runtime bundle loaded');
142
+ this.logger.debug('[IsolatedVmBridge] Runtime bundle loaded');
142
143
  // Verify vendor libraries loaded correctly
143
144
  const hasDateTime = await this.context.eval('typeof DateTime !== "undefined"');
144
145
  const hasExtend = await this.context.eval('typeof extend !== "undefined"');
145
146
  if (!hasDateTime || !hasExtend) {
146
147
  throw new Error(`Library verification failed: DateTime=${hasDateTime}, extend=${hasExtend}`);
147
148
  }
148
- this.logger.info('[IsolatedVmBridge] Vendor libraries verified successfully');
149
+ this.logger.debug('[IsolatedVmBridge] Vendor libraries verified successfully');
149
150
  }
150
151
  catch (error) {
151
152
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -177,7 +178,7 @@ export class IsolatedVmBridge {
177
178
  `SafeObject=${hasSafeObject}, SafeError=${hasSafeError}, ` +
178
179
  `buildContext=${hasBuildContext}`);
179
180
  }
180
- this.logger.info('[IsolatedVmBridge] Proxy system verified successfully');
181
+ this.logger.debug('[IsolatedVmBridge] Proxy system verified successfully');
181
182
  }
182
183
  catch (error) {
183
184
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -226,13 +227,19 @@ export class IsolatedVmBridge {
226
227
  };
227
228
  }
228
229
  `);
229
- this.logger.info('[IsolatedVmBridge] Error handler injected successfully');
230
+ this.logger.debug('[IsolatedVmBridge] Error handler injected successfully');
230
231
  }
231
232
  /**
232
233
  * Create an ivm.Reference callback for getting value/metadata at a path.
233
234
  *
234
235
  * Used by createDeepLazyProxy when accessing properties. Returns metadata
235
- * markers for functions, arrays, and objects, or the primitive value directly.
236
+ * markers for arrays and objects, or the primitive value directly.
237
+ *
238
+ * Function-typed values are returned as `undefined` — every callable on
239
+ * the host data surface (`$('Foo').first()`, `$items()`, `$fromAI()`,
240
+ * `$evaluateExpression()`, `$getPairedItem()`) is wired in-isolate via
241
+ * the typed-RPC dispatcher (`callHost`). No expression form should
242
+ * reach a function through this path.
236
243
  *
237
244
  * @param data - Current workflow data to use for callback responses
238
245
  * @private
@@ -266,14 +273,13 @@ export class IsolatedVmBridge {
266
273
  return value;
267
274
  }
268
275
  }
269
- // Handle functions - return metadata marker
276
+ // Functions are not reachable via the lazy-proxy data path
277
+ // every callable on the host data surface routes through the
278
+ // typed-RPC dispatcher. Return undefined so any residual
279
+ // access surfaces as missing rather than as a stale metadata
280
+ // marker the runtime no longer knows how to interpret.
270
281
  if (typeof value === 'function') {
271
- const fnString = value.toString();
272
- // Block native functions for security
273
- if (fnString.includes('[native code]')) {
274
- return undefined;
275
- }
276
- return { __isFunction: true, __name: path[path.length - 1] };
282
+ return undefined;
277
283
  }
278
284
  // Handle arrays - always lazy, only transfer length
279
285
  if (Array.isArray(value)) {
@@ -283,6 +289,11 @@ export class IsolatedVmBridge {
283
289
  __data: null,
284
290
  };
285
291
  }
292
+ // Dates have no enumerable own keys; pass through instead of
293
+ // marshaling as an empty object.
294
+ if (value instanceof Date) {
295
+ return value;
296
+ }
286
297
  // Handle objects - return metadata with keys
287
298
  if (value !== null && typeof value === 'object') {
288
299
  return {
@@ -338,6 +349,11 @@ export class IsolatedVmBridge {
338
349
  return undefined;
339
350
  }
340
351
  const element = arr[index];
352
+ // Dates have no enumerable own keys; pass through instead of
353
+ // marshaling as an empty object.
354
+ if (element instanceof Date) {
355
+ return element;
356
+ }
341
357
  // If element is object/array, return metadata
342
358
  if (element !== null && typeof element === 'object') {
343
359
  if (Array.isArray(element)) {
@@ -361,53 +377,215 @@ export class IsolatedVmBridge {
361
377
  });
362
378
  }
363
379
  /**
364
- * Create an ivm.Reference callback for calling functions at a path.
380
+ * Create the single typed-RPC dispatcher.
365
381
  *
366
- * Used when expressions invoke functions from workflow data.
382
+ * The isolate sends one envelope per typed RPC invocation:
383
+ * `callHost({ type: 'getNodeFirst', nodeName, branchIndex?, runIndex? })`
367
384
  *
368
- * @param data - Current workflow data to use for callback responses
385
+ * Inputs cross a trust boundary, so the dispatcher parses every envelope
386
+ * with the host-side zod schema (`bridgeMessageSchema`) before any
387
+ * dispatch happens. Anything that deviates from the declared shape —
388
+ * unknown `type`, missing required fields, extra unexpected fields,
389
+ * wrong field types — fails the parse and an error sentinel is returned
390
+ * to the caller.
391
+ *
392
+ * After parsing, `switch (msg.type)` dispatches to a private handler with
393
+ * a fully narrowed message type. The operation set is exactly the cases
394
+ * in this switch; the `type` field selects a static branch in source,
395
+ * not a property lookup on a runtime object.
396
+ *
397
+ * @param data - Current workflow data
369
398
  * @private
370
399
  */
371
- createCallFunctionAtPathRef(data) {
372
- return new (getIvm().Reference)((path, ...args) => {
400
+ createCallHostRef(data) {
401
+ return new (getIvm().Reference)((rawMsg) => {
373
402
  try {
374
- // Navigate to function, tracking parent to preserve `this` context
375
- let fn = data;
376
- let parent = undefined;
377
- let startIndex = 0;
378
- const dollarFn = data.$;
379
- if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
380
- fn = dollarFn(path[1]);
381
- startIndex = 2;
382
- }
383
- for (let i = startIndex; i < path.length; i++) {
384
- parent = fn;
385
- fn = fn?.[path[i]];
386
- }
387
- if (typeof fn !== 'function') {
388
- throw new Error(`${path.join('.')} is not a function`);
389
- }
390
- // Block native functions for security (same check as getValueAtPath)
391
- if (fn.toString().includes('[native code]')) {
392
- throw new Error(`${path.join('.')} is a native function and cannot be called`);
403
+ const msg = bridgeMessageSchema.parse(rawMsg);
404
+ switch (msg.type) {
405
+ case 'getNodeFirst':
406
+ return this.handleGetNodeFirst(msg, data);
407
+ case 'getNodeLast':
408
+ return this.handleGetNodeLast(msg, data);
409
+ case 'getNodeAll':
410
+ return this.handleGetNodeAll(msg, data);
411
+ case 'getInputFirst':
412
+ return this.handleGetInputFirst(data);
413
+ case 'getInputLast':
414
+ return this.handleGetInputLast(data);
415
+ case 'getInputAll':
416
+ return this.handleGetInputAll(data);
417
+ case 'getItems':
418
+ return this.handleGetItems(msg, data);
419
+ case 'fromAi':
420
+ return this.handleFromAi(msg, data);
421
+ case 'getNodePairedItem':
422
+ return this.handleGetNodePairedItem(msg, data);
423
+ case 'getNodeItemMatching':
424
+ return this.handleGetNodeItemMatching(msg, data);
425
+ case 'getNodeItem':
426
+ return this.handleGetNodeItem(msg, data);
427
+ case 'evaluateExpression':
428
+ return this.handleEvaluateExpression(msg, data);
429
+ case 'getPairedItem':
430
+ return this.handleGetPairedItem(msg, data);
431
+ default: {
432
+ // Unreachable at runtime — zod rejects unknown `type` values
433
+ // before the switch. The `never` assignment is the compile-time
434
+ // guard: a new schema added to `bridgeMessageSchema` without a
435
+ // matching case here becomes a type error.
436
+ const exhaustive = msg;
437
+ void exhaustive;
438
+ throw new Error('Unhandled bridge message');
439
+ }
393
440
  }
394
- // Execute function with parent as `this` to preserve method context
395
- return fn.call(parent, ...args);
396
441
  }
397
442
  catch (err) {
398
443
  return serializeError(err);
399
444
  }
400
445
  });
401
446
  }
447
+ /**
448
+ * Handlers for the `$('Foo').{first,last,all}` typed RPCs.
449
+ *
450
+ * Each handler reads a fixed literal property name off the host-side node
451
+ * proxy — the isolate cannot influence which property is dereferenced.
452
+ * Eliminating `data.$` as a host-callable entirely would require reaching
453
+ * the `WorkflowDataProxy` internals (e.g. `getNodeExecutionOrPinnedData`)
454
+ * rather than the public `$()` API; that's a follow-up.
455
+ *
456
+ * `data.$` is a host-wired function (`WorkflowDataProxy`'s `$`). If it
457
+ * ever isn't, optional chaining short-circuits to `undefined` — the same
458
+ * observable result the runtime's `E()` handler produces from any thrown
459
+ * error here.
460
+ *
461
+ * @private
462
+ */
463
+ handleGetNodeFirst(msg, data) {
464
+ return data.$?.(msg.nodeName)?.first?.(msg.branchIndex, msg.runIndex);
465
+ }
466
+ handleGetNodeLast(msg, data) {
467
+ return data.$?.(msg.nodeName)?.last?.(msg.branchIndex, msg.runIndex);
468
+ }
469
+ handleGetNodeAll(msg, data) {
470
+ return data.$?.(msg.nodeName)?.all?.(msg.branchIndex, msg.runIndex);
471
+ }
472
+ /**
473
+ * Handlers for the `$input.{first,last,all}` typed RPCs.
474
+ *
475
+ * Each reads a fixed literal property name off `data.$input` (the host's
476
+ * `WorkflowDataProxy` input proxy). The host enforces zero arguments on
477
+ * these methods — the schemas have no fields besides `type`, so the
478
+ * isolate cannot pass anything that would trigger the "should have no
479
+ * arguments" error path on the host side.
480
+ *
481
+ * @private
482
+ */
483
+ handleGetInputFirst(data) {
484
+ return data.$input?.first?.();
485
+ }
486
+ handleGetInputLast(data) {
487
+ return data.$input?.last?.();
488
+ }
489
+ handleGetInputAll(data) {
490
+ return data.$input?.all?.();
491
+ }
492
+ /**
493
+ * Handler for `$items(nodeName?, outputIndex?, runIndex?)` — the
494
+ * global accessor for a node's execution data. Reads the literal
495
+ * `$items` property off `data` (host-wired by `WorkflowDataProxy`)
496
+ * and forwards the validated args verbatim. The host applies its own
497
+ * defaults when fields are `undefined`.
498
+ *
499
+ * @private
500
+ */
501
+ handleGetItems(msg, data) {
502
+ return data.$items?.(msg.nodeName, msg.outputIndex, msg.runIndex);
503
+ }
504
+ /**
505
+ * Handler for `$fromAI(name, description?, type?, defaultValue?)` and its
506
+ * `$fromAi` / `$fromai` aliases. Reads the literal `$fromAI` property
507
+ * off `data` (host-wired) and forwards the args. The host validates
508
+ * `name` (required + regex) and applies its own resolution / fallback
509
+ * logic, so empty / invalid names surface as the host's structured
510
+ * `ExpressionError` rather than a generic zod parse error.
511
+ *
512
+ * Note: `msg.valueType` maps to the host's third positional parameter
513
+ * (`_type` in `WorkflowDataProxy.handleFromAi`). The bridge protocol
514
+ * renames it to avoid collision with the `type` discriminator on the
515
+ * envelope — the host parameter currently goes unused, but if it ever
516
+ * gains a name (`type`), this mapping should stay explicit.
517
+ *
518
+ * @private
519
+ */
520
+ handleFromAi(msg, data) {
521
+ return data.$fromAI?.(msg.name, msg.description, msg.valueType, msg.defaultValue);
522
+ }
523
+ /**
524
+ * Handlers for the `$('Foo').pairedItem(itemIndex?)` / `.itemMatching(...)` /
525
+ * `.item` cluster. Three separate typed RPCs, each reading exactly one
526
+ * literal property off the host node proxy.
527
+ *
528
+ * The split is load-bearing: the host's `pairedItemMethod` closure
529
+ * captures which property name the proxy `get` trap saw, and uses
530
+ * that to pick the right error message (e.g. "Missing item index for
531
+ * .itemMatching()") and to decide between method-call vs getter
532
+ * semantics for `.item`. Reading the matching property here lets
533
+ * those host-side branches fire exactly as they do in the legacy
534
+ * engine; no in-isolate validation needed.
535
+ *
536
+ * @private
537
+ */
538
+ handleGetNodePairedItem(msg, data) {
539
+ return data.$?.(msg.nodeName)?.pairedItem?.(msg.itemIndex);
540
+ }
541
+ handleGetNodeItemMatching(msg, data) {
542
+ return data.$?.(msg.nodeName)?.itemMatching?.(msg.itemIndex);
543
+ }
544
+ handleGetNodeItem(msg, data) {
545
+ // `.item` is a host getter — accessing it invokes the resolver and
546
+ // returns the value immediately. Optional chaining only short-
547
+ // circuits on null/undefined; the getter still fires on access.
548
+ return data.$?.(msg.nodeName)?.item;
549
+ }
550
+ /**
551
+ * Handler for `$evaluateExpression(expression, itemIndex?)`. Forwards
552
+ * the string to the host's nested-evaluation helper, which re-enters
553
+ * the expression engine on the inner expression. Under the VM engine
554
+ * this round-trips through the bridge again on a fresh evaluation
555
+ * cycle, which is the same shape the legacy engine supports.
556
+ *
557
+ * @private
558
+ */
559
+ handleEvaluateExpression(msg, data) {
560
+ return data.$evaluateExpression?.(msg.expression, msg.itemIndex);
561
+ }
562
+ /**
563
+ * Handler for `$getPairedItem(destinationNodeName, incomingSourceData,
564
+ * initialPairedItem)`. Forwards directly to the host binding, which
565
+ * walks the paired-item ancestry chain back to the named upstream node
566
+ * and returns the matching execution item.
567
+ *
568
+ * The two trailing host parameters — `usedMethodName` and
569
+ * `nodeBeforeLast` — are deliberately not part of the wire protocol:
570
+ * the host's default for `usedMethodName` is already `$getPairedItem`,
571
+ * and `nodeBeforeLast` is an internal recursion argument the host sets
572
+ * during traversal.
573
+ *
574
+ * @private
575
+ */
576
+ handleGetPairedItem(msg, data) {
577
+ return data.$getPairedItem?.(msg.destinationNodeName, msg.incomingSourceData, msg.initialPairedItem);
578
+ }
402
579
  /**
403
580
  * Execute JavaScript code in the isolated context.
404
581
  *
405
582
  * Flow:
406
- * 1. Create three ivm.Reference callbacks scoped to the current data
407
- * 2. Use evalClosureSync to run the code in a closure where $0/$1/$2
408
- * are the callback references no global mutable state
583
+ * 1. Create three ivm.Reference callbacks scoped to the current data:
584
+ * `getValueAtPath`, `getArrayElement`, `callHost`.
585
+ * 2. Use evalClosureSync to run the code in a closure where `$0`/`$1`/`$2`
586
+ * are the callback references — no global mutable state.
409
587
  * 3. buildContext() inside the isolate creates a fresh evaluation context
410
- * from the closure-scoped references
588
+ * from the closure-scoped references.
411
589
  *
412
590
  * Each call gets its own closure, so nested and concurrent evaluations
413
591
  * cannot interfere with each other.
@@ -423,19 +601,26 @@ export class IsolatedVmBridge {
423
601
  }
424
602
  const getValueAtPath = this.createGetValueAtPathRef(data);
425
603
  const getArrayElement = this.createGetArrayElementRef(data);
426
- const callFunctionAtPath = this.createCallFunctionAtPathRef(data);
604
+ const callHost = this.createCallHostRef(data);
427
605
  try {
428
606
  const timezone = options?.timezone ? JSON.stringify(options.timezone) : 'undefined';
429
607
  // Wrap transformed code so 'this' === the closure-scoped context.
430
608
  // Tournament generates: this.$json.email, this.$items(), etc.
431
609
  // buildContext() creates a fresh context with lazy proxies from the
432
- // closure-scoped callback references ($0, $1, $2) — no globals touched.
610
+ // closure-scoped callback references — no globals touched. The bundle
611
+ // is passed as a single object so adding typed RPCs doesn't churn the
612
+ // evalClosureSync signature; new operations land as new schemas in
613
+ // bridge-messages.ts and new cases in the callHost dispatcher.
433
614
  // The outer try-catch serializes errors into a sentinel object and returns
434
615
  // it as the result. Errors from host callbacks arrive as sentinels already
435
616
  // (via serializeError), so we pass them through. This avoids a round-trip
436
617
  // callback and keeps Error reconstruction on the host side only.
437
618
  const wrappedCode = `
438
- var __ctx = buildContext($0, $1, $2, ${timezone});
619
+ var __ctx = buildContext({
620
+ getValueAtPath: $0,
621
+ getArrayElement: $1,
622
+ callHost: $2,
623
+ }, ${timezone});
439
624
  try {
440
625
  var __result = (function() {
441
626
  ${code}
@@ -456,7 +641,7 @@ try {
456
641
  extra: extra
457
642
  };
458
643
  }`;
459
- const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callFunctionAtPath], { result: { copy: true }, timeout: this.config.timeout });
644
+ const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callHost], { result: { copy: true }, timeout: this.config.timeout });
460
645
  if (isErrorSentinel(result)) {
461
646
  throw this.reconstructError(result);
462
647
  }
@@ -485,7 +670,7 @@ try {
485
670
  finally {
486
671
  getValueAtPath.release();
487
672
  getArrayElement.release();
488
- callFunctionAtPath.release();
673
+ callHost.release();
489
674
  }
490
675
  }
491
676
  /**
@@ -521,7 +706,7 @@ try {
521
706
  }
522
707
  this.disposed = true;
523
708
  this.initialized = false;
524
- this.logger.info('[IsolatedVmBridge] Disposed');
709
+ this.logger.debug('[IsolatedVmBridge] Disposed');
525
710
  }
526
711
  /**
527
712
  * Check if the bridge has been disposed.
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAOjF,IAAI,IAAI,GAAsB,IAAI,CAAC;AAEnC,SAAS,MAAM;IACd,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,iEAAiE;QACjE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAe,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAE5E,wEAAwE;AACxE,SAAS,eAAe,CAAC,KAAc;IACtC,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAiC,CAAC,SAAS,KAAK,IAAI,CACrD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,GAAY;IACnC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QAC1B,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;QACF,OAAO;YACN,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK;SACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB;IAC/B,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACJ,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,CACd,kCAAkC,oBAAoB,sBAAsB,SAAS,EAAE,CACvF,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IACpB,OAAO,CAAc;IACrB,OAAO,CAAe;IACtB,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;IACjB,MAAM,CAAyB;IAC/B,MAAM,CAAmC;IAEjD,YAAY,SAAuB,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG;YACb,GAAG,qBAAqB;YACxB,GAAG,MAAM;SACT,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAEjC,mCAAmC;QACnC,6BAA6B;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAElD,uBAAuB;QACvB,qDAAqD;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEjC,sDAAsD;QACtD,2DAA2D;QAC3D,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAE3C,mEAAmE;QACnE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,uCAAuC;QACvC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,yEAAyE;QACzE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,mBAAmB;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACJ,iEAAiE;YACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAEhD,qCAAqC;YACrC,yIAAyI;YACzI,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAE7D,2CAA2C;YAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAE3E,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACd,yCAAyC,WAAW,YAAY,SAAS,EAAE,CAC3E,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,iBAAiB;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACJ,kDAAkD;YAClD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC9F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAEvF,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CACd,oCAAoC;oBACnC,uBAAuB,eAAe,IAAI;oBAC1C,cAAc,aAAa,eAAe,YAAY,IAAI;oBAC1D,gBAAgB,eAAe,EAAE,CAClC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcvB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;OAQG;IACK,uBAAuB,CAAC,IAA6B;QAC5D,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,EAAE;YAClD,IAAI,CAAC;gBACJ,oBAAoB;gBACpB,4EAA4E;gBAC5E,yEAAyE;gBACzE,IAAI,KAAK,GAAY,IAAI,CAAC;gBAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvB,KAAK,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;wBACtD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,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,KAAK,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,KAAK,GAAI,KAAiC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC3C,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAClC,sCAAsC;oBACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBACxC,OAAO,SAAS,CAAC;oBAClB,CAAC;oBACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9D,CAAC;gBAED,oDAAoD;gBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO;wBACN,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,KAAK,CAAC,MAAM;wBACtB,MAAM,EAAE,IAAI;qBACZ,CAAC;gBACH,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACjD,OAAO;wBACN,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;qBAC1B,CAAC;gBACH,CAAC;gBAED,kBAAkB;gBAClB,OAAO,KAAK,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB,CAAC,IAA6B;QAC7D,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,KAAa,EAAE,EAAE;YACjE,IAAI,CAAC;gBACJ,oBAAoB;gBACpB,4EAA4E;gBAC5E,IAAI,GAAG,GAAY,IAAI,CAAC;gBACxB,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvB,GAAG,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;wBACpD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,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,GAAG,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,GAAG,GAAI,GAA+B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;wBACvC,OAAO,SAAS,CAAC;oBAClB,CAAC;gBACF,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE3B,8CAA8C;gBAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5B,OAAO;4BACN,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,OAAO,CAAC,MAAM;4BACxB,MAAM,EAAE,IAAI;yBACZ,CAAC;oBACH,CAAC;oBACD,OAAO;wBACN,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;qBAC5B,CAAC;gBACH,CAAC;gBAED,oBAAoB;gBACpB,OAAO,OAAO,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,2BAA2B,CAAC,IAA6B;QAChE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,GAAG,IAAe,EAAE,EAAE;YACtE,IAAI,CAAC;gBACJ,mEAAmE;gBACnE,IAAI,EAAE,GAAY,IAAI,CAAC;gBACvB,IAAI,MAAM,GAAY,SAAS,CAAC;gBAChC,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;gBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC3E,EAAE,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,UAAU,GAAG,CAAC,CAAC;gBAChB,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,GAAG,EAAE,CAAC;oBACZ,EAAE,GAAI,EAA8B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBACxD,CAAC;gBAED,qEAAqE;gBACrE,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;gBAChF,CAAC;gBAED,oEAAoE;gBACpE,OAAQ,EAAwC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,IAAY,EAAE,IAA6B,EAAE,OAAwB;QAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAElE,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAEpF,kEAAkE;YAClE,8DAA8D;YAC9D,oEAAoE;YACpE,wEAAwE;YACxE,2EAA2E;YAC3E,2EAA2E;YAC3E,0EAA0E;YAC1E,iEAAiE;YACjE,MAAM,WAAW,GAAG;uCACgB,QAAQ;;;MAGzC,IAAI;;;;;;;;;;;;;;;;;EAiBR,CAAC;YAEA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAC1C,WAAW,EACX,CAAC,cAAc,EAAE,eAAe,EAAE,kBAAkB,CAAC,EACrD,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CACxD,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,uCAAuC;YACvC,qEAAqE;YACrE,6EAA6E;YAC7E,uEAAuE;YACvE,oCAAoC;YACpC,IACC,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAC9E,CAAC;gBACF,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,YAAY,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,gBAAgB,CACzB,uCAAuC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAClE,EAAE,CACF,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACV,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1B,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,IAAmB;QAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACT,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACjD,CAAC;CACD"}
1
+ {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}