@n8n/expression-runtime 0.31.1 → 0.32.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.
package/ARCHITECTURE.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # Expression Runtime Architecture
2
2
 
3
- This package provides a secure, isolated expression evaluation runtime that works across multiple execution environments (isolated-vm, Web Workers, and task runners).
3
+ This package provides a secure, isolated expression evaluation runtime that works across multiple execution environments (isolated-vm, QuickJS in WASM, and task runners).
4
4
 
5
5
  ## Design Goals
6
6
 
7
- 1. **Environment Agnostic**: Single codebase that works in Node.js (isolated-vm), browsers (Web Workers), and task runner processes
7
+ 1. **Environment Agnostic**: Single codebase that works in Node.js (isolated-vm), browsers (QuickJS in WASM), and task runner processes
8
8
  2. **Security**: Expressions run in isolated contexts with memory limits and timeouts
9
9
  3. **Performance**: Lazy data loading, code caching, and efficient data transfer
10
10
  4. **Observability**: Built-in metrics, traces, and logs
@@ -29,7 +29,7 @@ The architecture is split into three distinct layers:
29
29
  │ ┌────────────────▼───────────────────────────────┐ │
30
30
  │ │ Bridge (Layer 2) │ │
31
31
  │ │ - IsolatedVmBridge (Phase 1.1) │ │
32
- │ │ - WebWorkerBridge (Phase 2+) │ │
32
+ │ │ - QuickJsBridge (WASM) │ │
33
33
  │ │ - Task Runner Integration (TBD) │ │
34
34
  │ └────────────────┬───────────────────────────────┘ │
35
35
  │ │ IPC/Message Passing │
@@ -62,7 +62,7 @@ The architecture is split into three distinct layers:
62
62
  - **Libraries**: lodash, Luxon (bundled)
63
63
  - **No Node.js APIs**: Pure JavaScript only
64
64
 
65
- **Bundle**: IIFE format for isolated-vm, ESM for Web Workers
65
+ **Bundle**: IIFE format for both isolated-vm and QuickJS
66
66
 
67
67
  ### Layer 2: Bridge (Host Process)
68
68
 
@@ -73,7 +73,7 @@ The architecture is split into three distinct layers:
73
73
  **Key Components**:
74
74
  - **RuntimeBridge Interface**: Abstract interface for all bridge implementations
75
75
  - **IsolatedVmBridge**: Uses isolated-vm API for Node.js backend (Phase 1.1)
76
- - **WebWorkerBridge**: Uses postMessage API for browser (Phase 2+)
76
+ - **QuickJsBridge**: Uses quickjs-emscripten (WASM) for Node.js and the browser
77
77
  - **Task Runner Integration**: TBD - May use IsolatedVmBridge locally or direct evaluation (Phase 2+)
78
78
 
79
79
  **Responsibilities**:
@@ -175,24 +175,12 @@ class IsolatedVmBridge implements RuntimeBridge {
175
175
  }
176
176
  ```
177
177
 
178
- ### WebWorkerBridge (Browser Frontend)
178
+ ### QuickJsBridge (Browser Frontend)
179
179
 
180
- Uses Web Workers for browser-based isolation:
181
-
182
- ```typescript
183
- class WebWorkerBridge implements RuntimeBridge {
184
- private worker: Worker;
185
-
186
- async initialize(): Promise<void> {
187
- this.worker = new Worker('/runtime.worker.js');
188
- // Setup message handlers
189
- }
190
-
191
- async execute(code: string, dataId: string): Promise<unknown> {
192
- // Implementation...
193
- }
194
- }
195
- ```
180
+ The editor runs the same `QuickJsBridge` as Node.
181
+ The browser has no filesystem, so the host passes the runtime bundle in with the
182
+ `runtimeBundle` option. The vite stub in `packages/frontend/editor-ui/vite/` maps
183
+ `@n8n/expression-runtime` to the real bridge for the browser build.
196
184
 
197
185
  ### Task Runner Integration (TBD - Phase 2+)
198
186
 
@@ -294,7 +282,7 @@ packages/@n8n/expression-runtime/
294
282
  **Limitation**: Lazy loading requires **synchronous** callbacks from runtime to host. This works for:
295
283
  - ✅ **isolated-vm**: Uses `ivm.Reference` for true synchronous callbacks
296
284
  - ✅ **Node.js vm**: Direct synchronous function calls
297
- - ❌ **Web Workers**: postMessage is always async (see Known Limitations below)
285
+ - ✅ **QuickJS**: host functions are plain synchronous calls in the WASM context
298
286
 
299
287
  ### 3. Why Bundle the Runtime?
300
288
 
@@ -304,7 +292,7 @@ packages/@n8n/expression-runtime/
304
292
 
305
293
  ### 4. Why Abstract Bridge?
306
294
 
307
- **Future-Proofing**: Frontend will use Web Workers. Backend uses isolated-vm. Abstract bridge allows adding new environments without changing other layers.
295
+ **Portability**: The backend uses isolated-vm. The browser uses QuickJS in WASM. The abstract bridge allows adding new environments without changing other layers.
308
296
 
309
297
  **Testing**: Integration tests use `IsolatedVmBridge` directly (see `src/__tests__/integration.test.ts`).
310
298
 
@@ -334,23 +322,9 @@ const proxy = new Proxy({}, {
334
322
  - Direct synchronous function calls
335
323
  - Full lazy loading support (used for testing)
336
324
 
337
- 3. **Web Workers** ❌
338
- - `postMessage` is always async
339
- - **Phase 1 Limitation**: No lazy loading, must pre-fetch all data before evaluation
340
- - **Future Enhancement (Phase 2+)**: Explore `SharedArrayBuffer` + `Atomics` for synchronous data access
341
-
342
- ### Web Worker Support Roadmap
343
-
344
- **Phase 1** (Initial implementation):
345
- - WebWorkerBridge will pre-fetch all workflow data
346
- - Transfer complete data object to worker before evaluation
347
- - Works for small/medium datasets (< 50MB)
348
- - No lazy loading benefit
349
-
350
- **Phase 2+** (Future enhancement):
351
- - Investigate `SharedArrayBuffer` + `Atomics` for sync access
352
- - Or accept pre-fetching as the Web Worker approach
353
- - Decision based on real-world usage patterns
325
+ 3. **QuickJS (WASM)** ✅
326
+ - Host functions are plain synchronous calls in the QuickJS context
327
+ - Full lazy loading support, in Node.js and in the browser
354
328
 
355
329
  ### Security Boundaries
356
330
 
@@ -422,5 +396,5 @@ See observability package documentation for details.
422
396
  ## References
423
397
 
424
398
  - [isolated-vm GitHub](https://github.com/laverdet/isolated-vm)
425
- - [Web Workers MDN](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API)
399
+ - [quickjs-emscripten GitHub](https://github.com/justjake/quickjs-emscripten)
426
400
  - [n8n workflow package](../workflow/)
package/README.md CHANGED
@@ -11,10 +11,10 @@ Secure, isolated expression evaluation runtime for n8n workflows.
11
11
  - ✅ `IsolatedVmBridge`: V8 isolate management via `isolated-vm`
12
12
  - ✅ `ExpressionEvaluator`: tournament integration, expression code caching, isolate pooling
13
13
  - ✅ Workflow integration — default engine; `N8N_EXPRESSION_ENGINE=legacy` opts out
14
+ - ✅ Editor support — the `QuickJsBridge` runs in the browser; `N8N_EXPRESSION_ENGINE_FRONTEND=quickjs` opts in
14
15
  - ✅ Observability (metrics, traces, logs) wired up in `packages/cli`
15
16
 
16
17
  Coming later:
17
- - 🚧 Web Worker support (Phase 2+)
18
18
  - 🚧 Performance optimizations (Phase 3)
19
19
 
20
20
  ## Overview
@@ -23,9 +23,9 @@ This package provides a secure runtime for evaluating expressions in isolated co
23
23
 
24
24
  Currently supports:
25
25
  - **Node.js Backend**: Uses `isolated-vm` for V8 isolate-based isolation with lazy data loading
26
+ - **Browser Frontend**: Uses `QuickJsBridge` (QuickJS compiled to WASM); `N8N_EXPRESSION_ENGINE_FRONTEND=quickjs` opts in
26
27
 
27
28
  Future support (Phase 2+):
28
- - **Browser Frontend**: Will use Web Workers for browser-based isolation
29
29
  - **Task Runners**: Will use IPC for separate process isolation
30
30
 
31
31
  ## Features
@@ -170,7 +170,7 @@ interface RuntimeBridge {
170
170
  - Synchronous callbacks via ivm.Reference
171
171
  - Security wrappers (SafeObject, SafeError)
172
172
  - `E()` error handler for tournament-generated try-catch code
173
- - **WebWorkerBridge**: 🚧 For browser frontend (Web Workers) - Phase 2+
173
+ - **QuickJsBridge**: ✅ QuickJS in WASM, for the Node.js backend and the browser frontend
174
174
  - **Task Runner Integration**: 🚧 TBD - May use IsolatedVmBridge locally or direct evaluation - Phase 2+
175
175
 
176
176
  ## Configuration
@@ -195,6 +195,9 @@ In n8n, the evaluator is configured via `ExpressionEngineConfig` (`@n8n/config`)
195
195
  # Engine selection ('vm' is the default; 'legacy' opts out of isolation)
196
196
  N8N_EXPRESSION_ENGINE=vm
197
197
 
198
+ # Editor engine selection ('legacy' is the default; 'quickjs' runs the WASM engine in the browser)
199
+ N8N_EXPRESSION_ENGINE_FRONTEND=legacy
200
+
198
201
  # Isolate pool and code cache
199
202
  N8N_EXPRESSION_ENGINE_POOL_SIZE=1
200
203
  N8N_EXPRESSION_ENGINE_MAX_CODE_CACHE_SIZE=1024
@@ -1 +1 @@
1
- {"version":3,"file":"quickjs-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/quickjs-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsb1F;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,YAAW,aAAa;IAClD,OAAO,CAAC,OAAO,CAA0D;IACzE,OAAO,CAAC,EAAE,CAA0D;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAmC;IAGjD,OAAO,CAAC,WAAW,CAAyD;IAM5E,OAAO,CAAC,kBAAkB,CAAsC;IAMhE,OAAO,CAAC,SAAS,CAAgB;IAEjC,YAAY,MAAM,GAAE,YAAiB,EAMpC;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAUhC;IAED;;;;;OAKG;IACH,cAAc,IAAI,IAAI,CAerB;IAED,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IAoCpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAqM1B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAoCpB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAqK7B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,iBAAiB;IA0BzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAyC7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAkI3E;IAED;;;OAGG;IACH,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IAcjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB7B;IAED,UAAU,IAAI,OAAO,CAEpB;CACD"}
1
+ {"version":3,"file":"quickjs-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/quickjs-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA0b1F;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,YAAW,aAAa;IAClD,OAAO,CAAC,OAAO,CAA0D;IACzE,OAAO,CAAC,EAAE,CAA0D;IACpE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAmC;IAGjD,OAAO,CAAC,WAAW,CAAyD;IAM5E,OAAO,CAAC,kBAAkB,CAAsC;IAMhE,OAAO,CAAC,SAAS,CAAgB;IAEjC,YAAY,MAAM,GAAE,YAAiB,EAMpC;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBhC;IAED;;;;;OAKG;IACH,cAAc,IAAI,IAAI,CAerB;IAED,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IAoCpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAqM1B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAoCpB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAqK7B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,iBAAiB;IA0BzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAyC7B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAkI3E;IAED;;;OAGG;IACH,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IAcjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB7B;IAED,UAAU,IAAI,OAAO,CAEpB;CACD"}
@@ -56,7 +56,9 @@ async function getQuickJSModule() {
56
56
  }
57
57
  return _quickjs;
58
58
  }
59
- const BUNDLE_RELATIVE_PATH = path.join('dist', 'bundle', 'runtime.iife.js');
59
+ // Joined by hand, not with `path.join`. This runs at module load, and a browser
60
+ // build resolves `node:path` to an empty module, so `path.join` is undefined there.
61
+ const BUNDLE_RELATIVE_PATH = ['dist', 'bundle', 'runtime.iife.js'].join('/');
60
62
  // Captured at module load so values rendered into generated code stay stable
61
63
  // even if the global is later replaced.
62
64
  const safeStringify = JSON.stringify;
@@ -257,6 +259,9 @@ function wrapSpecialValuesForGuest(value) {
257
259
  * `dist/bundle/runtime.iife.js` is found. Walking up (rather than a fixed
258
260
  * relative path) works from either compiled output dir — `dist/cjs/bridge/`
259
261
  * and `dist/esm/bridge/` sit at different depths from the bundle.
262
+ *
263
+ * Node-only. A browser never reaches it: `initialize()` seeds the cache from
264
+ * `config.runtimeBundle` first.
260
265
  */
261
266
  function loadRuntimeBundle() {
262
267
  if (_runtimeBundle !== null)
@@ -440,7 +445,13 @@ class QuickJsBridge {
440
445
  const { getQuickJS } = await getQuickJSModule();
441
446
  const QuickJS = await getQuickJS();
442
447
  _quickjsWasm = QuickJS;
443
- this.setupContext(QuickJS, loadRuntimeBundle());
448
+ // A host without a filesystem (the browser) passes the bundle in, so
449
+ // loadRuntimeBundle() — the only Node-only code here — is never reached.
450
+ const runtimeBundle = this.config.runtimeBundle || _runtimeBundle || loadRuntimeBundle();
451
+ this.setupContext(QuickJS, runtimeBundle);
452
+ // Cached after the load, so initializeSync() can only ever build a later
453
+ // bridge from a bundle this one proved good.
454
+ _runtimeBundle = runtimeBundle;
444
455
  }
445
456
  /**
446
457
  * Synchronous variant of initialize(), for on-demand creation inside the
@@ -1 +1 @@
1
- {"version":3,"file":"quickjs-bridge.js","sourceRoot":"","sources":["../../../src/bridge/quickjs-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quickjs-bridge.js","sourceRoot":"","sources":["../../../src/bridge/quickjs-bridge.ts"],"names":[],"mappings":"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"}