@n8n/expression-runtime 0.15.0 → 0.17.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 (63) 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/bridge-messages.d.ts +460 -0
  6. package/dist/cjs/bridge/bridge-messages.d.ts.map +1 -1
  7. package/dist/cjs/bridge/bridge-messages.js +183 -1
  8. package/dist/cjs/bridge/bridge-messages.js.map +1 -1
  9. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +94 -13
  10. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  11. package/dist/cjs/bridge/isolated-vm-bridge.js +151 -61
  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/boolean-extensions.d.ts +1 -1
  15. package/dist/cjs/pool/idle-scaling-pool.js +2 -2
  16. package/dist/cjs/pool/idle-scaling-pool.js.map +1 -1
  17. package/dist/cjs/runtime/context.d.ts +1 -4
  18. package/dist/cjs/runtime/context.d.ts.map +1 -1
  19. package/dist/cjs/runtime/context.js +122 -13
  20. package/dist/cjs/runtime/context.js.map +1 -1
  21. package/dist/cjs/runtime/index.d.ts +1 -1
  22. package/dist/cjs/runtime/index.d.ts.map +1 -1
  23. package/dist/cjs/runtime/jmespath.d.ts +5 -3
  24. package/dist/cjs/runtime/jmespath.d.ts.map +1 -1
  25. package/dist/cjs/runtime/jmespath.js +5 -3
  26. package/dist/cjs/runtime/jmespath.js.map +1 -1
  27. package/dist/cjs/runtime/lazy-proxy.d.ts +7 -5
  28. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  29. package/dist/cjs/runtime/lazy-proxy.js +8 -16
  30. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  31. package/dist/cjs/types/evaluator.d.ts +69 -4
  32. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  33. package/dist/cjs/types/evaluator.js.map +1 -1
  34. package/dist/esm/bridge/bridge-messages.d.ts +460 -0
  35. package/dist/esm/bridge/bridge-messages.d.ts.map +1 -1
  36. package/dist/esm/bridge/bridge-messages.js +182 -0
  37. package/dist/esm/bridge/bridge-messages.js.map +1 -1
  38. package/dist/esm/bridge/isolated-vm-bridge.d.ts +94 -13
  39. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  40. package/dist/esm/bridge/isolated-vm-bridge.js +151 -61
  41. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  42. package/dist/esm/build.tsbuildinfo +1 -1
  43. package/dist/esm/extensions/boolean-extensions.d.ts +1 -1
  44. package/dist/esm/pool/idle-scaling-pool.js +2 -2
  45. package/dist/esm/pool/idle-scaling-pool.js.map +1 -1
  46. package/dist/esm/runtime/context.d.ts +1 -4
  47. package/dist/esm/runtime/context.d.ts.map +1 -1
  48. package/dist/esm/runtime/context.js +122 -13
  49. package/dist/esm/runtime/context.js.map +1 -1
  50. package/dist/esm/runtime/index.d.ts +1 -1
  51. package/dist/esm/runtime/index.d.ts.map +1 -1
  52. package/dist/esm/runtime/jmespath.d.ts +5 -3
  53. package/dist/esm/runtime/jmespath.d.ts.map +1 -1
  54. package/dist/esm/runtime/jmespath.js +5 -3
  55. package/dist/esm/runtime/jmespath.js.map +1 -1
  56. package/dist/esm/runtime/lazy-proxy.d.ts +7 -5
  57. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  58. package/dist/esm/runtime/lazy-proxy.js +8 -16
  59. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  60. package/dist/esm/types/evaluator.d.ts +69 -4
  61. package/dist/esm/types/evaluator.d.ts.map +1 -1
  62. package/dist/esm/types/evaluator.js.map +1 -1
  63. package/package.json +7 -5
@@ -81,7 +81,13 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
81
81
  * Create an ivm.Reference callback for getting value/metadata at a path.
82
82
  *
83
83
  * Used by createDeepLazyProxy when accessing properties. Returns metadata
84
- * markers for functions, arrays, and objects, or the primitive value directly.
84
+ * markers for arrays and objects, or the primitive value directly.
85
+ *
86
+ * Function-typed values are returned as `undefined` — every callable on
87
+ * the host data surface (`$('Foo').first()`, `$items()`, `$fromAI()`,
88
+ * `$evaluateExpression()`, `$getPairedItem()`) is wired in-isolate via
89
+ * the typed-RPC dispatcher (`callHost`). No expression form should
90
+ * reach a function through this path.
85
91
  *
86
92
  * @param data - Current workflow data to use for callback responses
87
93
  * @private
@@ -96,15 +102,6 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
96
102
  * @private
97
103
  */
98
104
  private createGetArrayElementRef;
99
- /**
100
- * Create an ivm.Reference callback for calling functions at a path.
101
- *
102
- * Used when expressions invoke functions from workflow data.
103
- *
104
- * @param data - Current workflow data to use for callback responses
105
- * @private
106
- */
107
- private createCallFunctionAtPathRef;
108
105
  /**
109
106
  * Create the single typed-RPC dispatcher.
110
107
  *
@@ -146,13 +143,97 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
146
143
  private handleGetNodeFirst;
147
144
  private handleGetNodeLast;
148
145
  private handleGetNodeAll;
146
+ /**
147
+ * Handlers for the `$input.{first,last,all}` typed RPCs.
148
+ *
149
+ * Each reads a fixed literal property name off `data.$input` (the host's
150
+ * `WorkflowDataProxy` input proxy). The host enforces zero arguments on
151
+ * these methods — the schemas have no fields besides `type`, so the
152
+ * isolate cannot pass anything that would trigger the "should have no
153
+ * arguments" error path on the host side.
154
+ *
155
+ * @private
156
+ */
157
+ private handleGetInputFirst;
158
+ private handleGetInputLast;
159
+ private handleGetInputAll;
160
+ /**
161
+ * Handler for `$items(nodeName?, outputIndex?, runIndex?)` — the
162
+ * global accessor for a node's execution data. Reads the literal
163
+ * `$items` property off `data` (host-wired by `WorkflowDataProxy`)
164
+ * and forwards the validated args verbatim. The host applies its own
165
+ * defaults when fields are `undefined`.
166
+ *
167
+ * @private
168
+ */
169
+ private handleGetItems;
170
+ /**
171
+ * Handler for `$fromAI(name, description?, type?, defaultValue?)` and its
172
+ * `$fromAi` / `$fromai` aliases. Reads the literal `$fromAI` property
173
+ * off `data` (host-wired) and forwards the args. The host validates
174
+ * `name` (required + regex) and applies its own resolution / fallback
175
+ * logic, so empty / invalid names surface as the host's structured
176
+ * `ExpressionError` rather than a generic zod parse error.
177
+ *
178
+ * Note: `msg.valueType` maps to the host's third positional parameter
179
+ * (`_type` in `WorkflowDataProxy.handleFromAi`). The bridge protocol
180
+ * renames it to avoid collision with the `type` discriminator on the
181
+ * envelope — the host parameter currently goes unused, but if it ever
182
+ * gains a name (`type`), this mapping should stay explicit.
183
+ *
184
+ * @private
185
+ */
186
+ private handleFromAi;
187
+ /**
188
+ * Handlers for the `$('Foo').pairedItem(itemIndex?)` / `.itemMatching(...)` /
189
+ * `.item` cluster. Three separate typed RPCs, each reading exactly one
190
+ * literal property off the host node proxy.
191
+ *
192
+ * The split is load-bearing: the host's `pairedItemMethod` closure
193
+ * captures which property name the proxy `get` trap saw, and uses
194
+ * that to pick the right error message (e.g. "Missing item index for
195
+ * .itemMatching()") and to decide between method-call vs getter
196
+ * semantics for `.item`. Reading the matching property here lets
197
+ * those host-side branches fire exactly as they do in the legacy
198
+ * engine; no in-isolate validation needed.
199
+ *
200
+ * @private
201
+ */
202
+ private handleGetNodePairedItem;
203
+ private handleGetNodeItemMatching;
204
+ private handleGetNodeItem;
205
+ /**
206
+ * Handler for `$evaluateExpression(expression, itemIndex?)`. Forwards
207
+ * the string to the host's nested-evaluation helper, which re-enters
208
+ * the expression engine on the inner expression. Under the VM engine
209
+ * this round-trips through the bridge again on a fresh evaluation
210
+ * cycle, which is the same shape the legacy engine supports.
211
+ *
212
+ * @private
213
+ */
214
+ private handleEvaluateExpression;
215
+ /**
216
+ * Handler for `$getPairedItem(destinationNodeName, incomingSourceData,
217
+ * initialPairedItem)`. Forwards directly to the host binding, which
218
+ * walks the paired-item ancestry chain back to the named upstream node
219
+ * and returns the matching execution item.
220
+ *
221
+ * The two trailing host parameters — `usedMethodName` and
222
+ * `nodeBeforeLast` — are deliberately not part of the wire protocol:
223
+ * the host's default for `usedMethodName` is already `$getPairedItem`,
224
+ * and `nodeBeforeLast` is an internal recursion argument the host sets
225
+ * during traversal.
226
+ *
227
+ * @private
228
+ */
229
+ private handleGetPairedItem;
149
230
  /**
150
231
  * Execute JavaScript code in the isolated context.
151
232
  *
152
233
  * Flow:
153
- * 1. Create four ivm.Reference callbacks scoped to the current data:
154
- * `getValueAtPath`, `getArrayElement`, `callFunctionAtPath`, `callHost`.
155
- * 2. Use evalClosureSync to run the code in a closure where `$0`/`$1`/`$2`/`$3`
234
+ * 1. Create three ivm.Reference callbacks scoped to the current data:
235
+ * `getValueAtPath`, `getArrayElement`, `callHost`.
236
+ * 2. Use evalClosureSync to run the code in a closure where `$0`/`$1`/`$2`
156
237
  * are the callback references — no global mutable state.
157
238
  * 3. buildContext() inside the isolate creates a fresh evaluation context
158
239
  * from the closure-scoped references.
@@ -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,YAAY,EAAE,MAAM,UAAU,CAAC;AA2E1F;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAgG5E;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;;;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,YAAY,EAAE,MAAM,UAAU,CAAC;AA2E1F;;;;;;;;;;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;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,uBAAuB;IA+D/B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAyDhC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,iBAAiB;IA+CzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IA6F5E;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}
@@ -115,7 +115,7 @@ export class IsolatedVmBridge {
115
115
  // Inject E() error handler needed by tournament-generated try-catch code
116
116
  await this.injectErrorHandler();
117
117
  this.initialized = true;
118
- this.logger.info('[IsolatedVmBridge] Initialized successfully');
118
+ this.logger.debug('[IsolatedVmBridge] Initialized successfully');
119
119
  }
120
120
  /**
121
121
  * Load runtime bundle into the isolate.
@@ -139,14 +139,14 @@ export class IsolatedVmBridge {
139
139
  // Evaluate bundle in isolate context
140
140
  // This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, buildContext)
141
141
  await this.context.eval(runtimeBundle);
142
- this.logger.info('[IsolatedVmBridge] Runtime bundle loaded');
142
+ this.logger.debug('[IsolatedVmBridge] Runtime bundle loaded');
143
143
  // Verify vendor libraries loaded correctly
144
144
  const hasDateTime = await this.context.eval('typeof DateTime !== "undefined"');
145
145
  const hasExtend = await this.context.eval('typeof extend !== "undefined"');
146
146
  if (!hasDateTime || !hasExtend) {
147
147
  throw new Error(`Library verification failed: DateTime=${hasDateTime}, extend=${hasExtend}`);
148
148
  }
149
- this.logger.info('[IsolatedVmBridge] Vendor libraries verified successfully');
149
+ this.logger.debug('[IsolatedVmBridge] Vendor libraries verified successfully');
150
150
  }
151
151
  catch (error) {
152
152
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -178,7 +178,7 @@ export class IsolatedVmBridge {
178
178
  `SafeObject=${hasSafeObject}, SafeError=${hasSafeError}, ` +
179
179
  `buildContext=${hasBuildContext}`);
180
180
  }
181
- this.logger.info('[IsolatedVmBridge] Proxy system verified successfully');
181
+ this.logger.debug('[IsolatedVmBridge] Proxy system verified successfully');
182
182
  }
183
183
  catch (error) {
184
184
  const errorMessage = error instanceof Error ? error.message : String(error);
@@ -227,13 +227,19 @@ export class IsolatedVmBridge {
227
227
  };
228
228
  }
229
229
  `);
230
- this.logger.info('[IsolatedVmBridge] Error handler injected successfully');
230
+ this.logger.debug('[IsolatedVmBridge] Error handler injected successfully');
231
231
  }
232
232
  /**
233
233
  * Create an ivm.Reference callback for getting value/metadata at a path.
234
234
  *
235
235
  * Used by createDeepLazyProxy when accessing properties. Returns metadata
236
- * 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.
237
243
  *
238
244
  * @param data - Current workflow data to use for callback responses
239
245
  * @private
@@ -267,14 +273,13 @@ export class IsolatedVmBridge {
267
273
  return value;
268
274
  }
269
275
  }
270
- // 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.
271
281
  if (typeof value === 'function') {
272
- const fnString = value.toString();
273
- // Block native functions for security
274
- if (fnString.includes('[native code]')) {
275
- return undefined;
276
- }
277
- return { __isFunction: true, __name: path[path.length - 1] };
282
+ return undefined;
278
283
  }
279
284
  // Handle arrays - always lazy, only transfer length
280
285
  if (Array.isArray(value)) {
@@ -361,45 +366,6 @@ export class IsolatedVmBridge {
361
366
  }
362
367
  });
363
368
  }
364
- /**
365
- * Create an ivm.Reference callback for calling functions at a path.
366
- *
367
- * Used when expressions invoke functions from workflow data.
368
- *
369
- * @param data - Current workflow data to use for callback responses
370
- * @private
371
- */
372
- createCallFunctionAtPathRef(data) {
373
- return new (getIvm().Reference)((path, ...args) => {
374
- try {
375
- // Navigate to function, tracking parent to preserve `this` context
376
- let fn = data;
377
- let parent = undefined;
378
- let startIndex = 0;
379
- const dollarFn = data.$;
380
- if (path.length >= 2 && path[0] === '$' && typeof dollarFn === 'function') {
381
- fn = dollarFn(path[1]);
382
- startIndex = 2;
383
- }
384
- for (let i = startIndex; i < path.length; i++) {
385
- parent = fn;
386
- fn = fn?.[path[i]];
387
- }
388
- if (typeof fn !== 'function') {
389
- throw new Error(`${path.join('.')} is not a function`);
390
- }
391
- // Block native functions for security (same check as getValueAtPath)
392
- if (fn.toString().includes('[native code]')) {
393
- throw new Error(`${path.join('.')} is a native function and cannot be called`);
394
- }
395
- // Execute function with parent as `this` to preserve method context
396
- return fn.call(parent, ...args);
397
- }
398
- catch (err) {
399
- return serializeError(err);
400
- }
401
- });
402
- }
403
369
  /**
404
370
  * Create the single typed-RPC dispatcher.
405
371
  *
@@ -432,6 +398,26 @@ export class IsolatedVmBridge {
432
398
  return this.handleGetNodeLast(msg, data);
433
399
  case 'getNodeAll':
434
400
  return this.handleGetNodeAll(msg, data);
401
+ case 'getInputFirst':
402
+ return this.handleGetInputFirst(data);
403
+ case 'getInputLast':
404
+ return this.handleGetInputLast(data);
405
+ case 'getInputAll':
406
+ return this.handleGetInputAll(data);
407
+ case 'getItems':
408
+ return this.handleGetItems(msg, data);
409
+ case 'fromAi':
410
+ return this.handleFromAi(msg, data);
411
+ case 'getNodePairedItem':
412
+ return this.handleGetNodePairedItem(msg, data);
413
+ case 'getNodeItemMatching':
414
+ return this.handleGetNodeItemMatching(msg, data);
415
+ case 'getNodeItem':
416
+ return this.handleGetNodeItem(msg, data);
417
+ case 'evaluateExpression':
418
+ return this.handleEvaluateExpression(msg, data);
419
+ case 'getPairedItem':
420
+ return this.handleGetPairedItem(msg, data);
435
421
  default: {
436
422
  // Unreachable at runtime — zod rejects unknown `type` values
437
423
  // before the switch. The `never` assignment is the compile-time
@@ -473,13 +459,120 @@ export class IsolatedVmBridge {
473
459
  handleGetNodeAll(msg, data) {
474
460
  return data.$?.(msg.nodeName)?.all?.(msg.branchIndex, msg.runIndex);
475
461
  }
462
+ /**
463
+ * Handlers for the `$input.{first,last,all}` typed RPCs.
464
+ *
465
+ * Each reads a fixed literal property name off `data.$input` (the host's
466
+ * `WorkflowDataProxy` input proxy). The host enforces zero arguments on
467
+ * these methods — the schemas have no fields besides `type`, so the
468
+ * isolate cannot pass anything that would trigger the "should have no
469
+ * arguments" error path on the host side.
470
+ *
471
+ * @private
472
+ */
473
+ handleGetInputFirst(data) {
474
+ return data.$input?.first?.();
475
+ }
476
+ handleGetInputLast(data) {
477
+ return data.$input?.last?.();
478
+ }
479
+ handleGetInputAll(data) {
480
+ return data.$input?.all?.();
481
+ }
482
+ /**
483
+ * Handler for `$items(nodeName?, outputIndex?, runIndex?)` — the
484
+ * global accessor for a node's execution data. Reads the literal
485
+ * `$items` property off `data` (host-wired by `WorkflowDataProxy`)
486
+ * and forwards the validated args verbatim. The host applies its own
487
+ * defaults when fields are `undefined`.
488
+ *
489
+ * @private
490
+ */
491
+ handleGetItems(msg, data) {
492
+ return data.$items?.(msg.nodeName, msg.outputIndex, msg.runIndex);
493
+ }
494
+ /**
495
+ * Handler for `$fromAI(name, description?, type?, defaultValue?)` and its
496
+ * `$fromAi` / `$fromai` aliases. Reads the literal `$fromAI` property
497
+ * off `data` (host-wired) and forwards the args. The host validates
498
+ * `name` (required + regex) and applies its own resolution / fallback
499
+ * logic, so empty / invalid names surface as the host's structured
500
+ * `ExpressionError` rather than a generic zod parse error.
501
+ *
502
+ * Note: `msg.valueType` maps to the host's third positional parameter
503
+ * (`_type` in `WorkflowDataProxy.handleFromAi`). The bridge protocol
504
+ * renames it to avoid collision with the `type` discriminator on the
505
+ * envelope — the host parameter currently goes unused, but if it ever
506
+ * gains a name (`type`), this mapping should stay explicit.
507
+ *
508
+ * @private
509
+ */
510
+ handleFromAi(msg, data) {
511
+ return data.$fromAI?.(msg.name, msg.description, msg.valueType, msg.defaultValue);
512
+ }
513
+ /**
514
+ * Handlers for the `$('Foo').pairedItem(itemIndex?)` / `.itemMatching(...)` /
515
+ * `.item` cluster. Three separate typed RPCs, each reading exactly one
516
+ * literal property off the host node proxy.
517
+ *
518
+ * The split is load-bearing: the host's `pairedItemMethod` closure
519
+ * captures which property name the proxy `get` trap saw, and uses
520
+ * that to pick the right error message (e.g. "Missing item index for
521
+ * .itemMatching()") and to decide between method-call vs getter
522
+ * semantics for `.item`. Reading the matching property here lets
523
+ * those host-side branches fire exactly as they do in the legacy
524
+ * engine; no in-isolate validation needed.
525
+ *
526
+ * @private
527
+ */
528
+ handleGetNodePairedItem(msg, data) {
529
+ return data.$?.(msg.nodeName)?.pairedItem?.(msg.itemIndex);
530
+ }
531
+ handleGetNodeItemMatching(msg, data) {
532
+ return data.$?.(msg.nodeName)?.itemMatching?.(msg.itemIndex);
533
+ }
534
+ handleGetNodeItem(msg, data) {
535
+ // `.item` is a host getter — accessing it invokes the resolver and
536
+ // returns the value immediately. Optional chaining only short-
537
+ // circuits on null/undefined; the getter still fires on access.
538
+ return data.$?.(msg.nodeName)?.item;
539
+ }
540
+ /**
541
+ * Handler for `$evaluateExpression(expression, itemIndex?)`. Forwards
542
+ * the string to the host's nested-evaluation helper, which re-enters
543
+ * the expression engine on the inner expression. Under the VM engine
544
+ * this round-trips through the bridge again on a fresh evaluation
545
+ * cycle, which is the same shape the legacy engine supports.
546
+ *
547
+ * @private
548
+ */
549
+ handleEvaluateExpression(msg, data) {
550
+ return data.$evaluateExpression?.(msg.expression, msg.itemIndex);
551
+ }
552
+ /**
553
+ * Handler for `$getPairedItem(destinationNodeName, incomingSourceData,
554
+ * initialPairedItem)`. Forwards directly to the host binding, which
555
+ * walks the paired-item ancestry chain back to the named upstream node
556
+ * and returns the matching execution item.
557
+ *
558
+ * The two trailing host parameters — `usedMethodName` and
559
+ * `nodeBeforeLast` — are deliberately not part of the wire protocol:
560
+ * the host's default for `usedMethodName` is already `$getPairedItem`,
561
+ * and `nodeBeforeLast` is an internal recursion argument the host sets
562
+ * during traversal.
563
+ *
564
+ * @private
565
+ */
566
+ handleGetPairedItem(msg, data) {
567
+ return data.$getPairedItem?.(msg.destinationNodeName, msg.incomingSourceData, msg.initialPairedItem);
568
+ }
476
569
  /**
477
570
  * Execute JavaScript code in the isolated context.
478
571
  *
479
572
  * Flow:
480
- * 1. Create four ivm.Reference callbacks scoped to the current data:
481
- * `getValueAtPath`, `getArrayElement`, `callFunctionAtPath`, `callHost`.
482
- * 2. Use evalClosureSync to run the code in a closure where `$0`/`$1`/`$2`/`$3`
573
+ * 1. Create three ivm.Reference callbacks scoped to the current data:
574
+ * `getValueAtPath`, `getArrayElement`, `callHost`.
575
+ * 2. Use evalClosureSync to run the code in a closure where `$0`/`$1`/`$2`
483
576
  * are the callback references — no global mutable state.
484
577
  * 3. buildContext() inside the isolate creates a fresh evaluation context
485
578
  * from the closure-scoped references.
@@ -498,7 +591,6 @@ export class IsolatedVmBridge {
498
591
  }
499
592
  const getValueAtPath = this.createGetValueAtPathRef(data);
500
593
  const getArrayElement = this.createGetArrayElementRef(data);
501
- const callFunctionAtPath = this.createCallFunctionAtPathRef(data);
502
594
  const callHost = this.createCallHostRef(data);
503
595
  try {
504
596
  const timezone = options?.timezone ? JSON.stringify(options.timezone) : 'undefined';
@@ -517,8 +609,7 @@ export class IsolatedVmBridge {
517
609
  var __ctx = buildContext({
518
610
  getValueAtPath: $0,
519
611
  getArrayElement: $1,
520
- callFunctionAtPath: $2,
521
- callHost: $3,
612
+ callHost: $2,
522
613
  }, ${timezone});
523
614
  try {
524
615
  var __result = (function() {
@@ -540,7 +631,7 @@ try {
540
631
  extra: extra
541
632
  };
542
633
  }`;
543
- const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callFunctionAtPath, callHost], { result: { copy: true }, timeout: this.config.timeout });
634
+ const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callHost], { result: { copy: true }, timeout: this.config.timeout });
544
635
  if (isErrorSentinel(result)) {
545
636
  throw this.reconstructError(result);
546
637
  }
@@ -569,7 +660,6 @@ try {
569
660
  finally {
570
661
  getValueAtPath.release();
571
662
  getArrayElement.release();
572
- callFunctionAtPath.release();
573
663
  callHost.release();
574
664
  }
575
665
  }
@@ -606,7 +696,7 @@ try {
606
696
  }
607
697
  this.disposed = true;
608
698
  this.initialized = false;
609
- this.logger.info('[IsolatedVmBridge] Disposed');
699
+ this.logger.debug('[IsolatedVmBridge] Disposed');
610
700
  }
611
701
  /**
612
702
  * 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":"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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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"}