@n8n/expression-runtime 0.36.1 → 0.37.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 (29) hide show
  1. package/dist/bundle/runtime.esm.js +1 -1
  2. package/dist/bundle/runtime.esm.js.map +3 -3
  3. package/dist/bundle/runtime.iife.js +1 -1
  4. package/dist/bundle/runtime.iife.js.map +3 -3
  5. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +0 -3
  6. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  7. package/dist/cjs/bridge/isolated-vm-bridge.js +21 -14
  8. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  9. package/dist/cjs/bridge/quickjs-bridge.d.ts +33 -0
  10. package/dist/cjs/bridge/quickjs-bridge.d.ts.map +1 -1
  11. package/dist/cjs/bridge/quickjs-bridge.js +183 -27
  12. package/dist/cjs/bridge/quickjs-bridge.js.map +1 -1
  13. package/dist/cjs/build.tsbuildinfo +1 -1
  14. package/dist/cjs/extensions/array-extensions.d.ts.map +1 -1
  15. package/dist/cjs/extensions/array-extensions.js +26 -12
  16. package/dist/cjs/extensions/array-extensions.js.map +1 -1
  17. package/dist/esm/bridge/isolated-vm-bridge.d.ts +0 -3
  18. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  19. package/dist/esm/bridge/isolated-vm-bridge.js +21 -14
  20. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  21. package/dist/esm/bridge/quickjs-bridge.d.ts +33 -0
  22. package/dist/esm/bridge/quickjs-bridge.d.ts.map +1 -1
  23. package/dist/esm/bridge/quickjs-bridge.js +183 -27
  24. package/dist/esm/bridge/quickjs-bridge.js.map +1 -1
  25. package/dist/esm/build.tsbuildinfo +1 -1
  26. package/dist/esm/extensions/array-extensions.d.ts.map +1 -1
  27. package/dist/esm/extensions/array-extensions.js +26 -12
  28. package/dist/esm/extensions/array-extensions.js.map +1 -1
  29. package/package.json +3 -3
@@ -7,11 +7,13 @@ import { isEscapedTransferValue, isOpaqueTransferValue, TRANSFER_ESCAPED_KEY, TR
7
7
  import { dispatchHostCall, getArrayElement, getValueAtPath, isErrorSentinel, reconstructError, serializeError, } from './host-functions';
8
8
  let _quickjs = null;
9
9
  /**
10
- * The instantiated WASM module, cached after the first async initialize().
11
- * Creating runtimes/contexts from it is synchronous, so once it is cached
12
- * (pool warmup does this) initializeSync() can build a bridge on demand.
10
+ * The instantiated WASM module that new bridges use, cached after the first
11
+ * async initialize(). Creating runtimes/contexts from it is synchronous, so
12
+ * once it is cached (pool warmup does this) initializeSync() can build a
13
+ * bridge on demand. retireQuickJSWasm() replaces it.
13
14
  */
14
15
  let _quickjsWasm = null;
16
+ let _quickjsWasmLoading = null;
15
17
  /** Runtime bundle source, read once per process by loadRuntimeBundle(). */
16
18
  let _runtimeBundle = null;
17
19
  async function getQuickJSModule() {
@@ -20,6 +22,40 @@ async function getQuickJSModule() {
20
22
  }
21
23
  return _quickjs;
22
24
  }
25
+ /**
26
+ * Our own module instance, not the library's getQuickJS() singleton: that one
27
+ * cannot be replaced after it is retired.
28
+ */
29
+ async function loadQuickJSWasm() {
30
+ if (_quickjsWasm)
31
+ return _quickjsWasm;
32
+ _quickjsWasmLoading ??= getQuickJSModule()
33
+ .then(async ({ newQuickJSWASMModule }) => await newQuickJSWASMModule())
34
+ .then((wasm) => {
35
+ _quickjsWasm = wasm;
36
+ return wasm;
37
+ })
38
+ .finally(() => {
39
+ _quickjsWasmLoading = null;
40
+ });
41
+ return await _quickjsWasmLoading;
42
+ }
43
+ /**
44
+ * Stop building runtimes on a module that a host error unwound through. The
45
+ * unwind skips the code that restores the module's stack pointer, and all
46
+ * runtimes in the module share that stack. Runtimes that already exist keep
47
+ * their stack limit, but a new one would take its limit from the lowered
48
+ * pointer and could write past the end of the stack.
49
+ */
50
+ function retireQuickJSWasm(wasm, logger) {
51
+ if (_quickjsWasm !== wasm)
52
+ return;
53
+ _quickjsWasm = null;
54
+ // Load the replacement now, so that the next initializeSync() finds it.
55
+ loadQuickJSWasm().catch((error) => {
56
+ logger.error('[QuickJsBridge] Failed to load a replacement WASM module', { error });
57
+ });
58
+ }
23
59
  // Joined by hand, not with `path.join`. This runs at module load, and a browser
24
60
  // build resolves `node:path` to an empty module, so `path.join` is undefined there.
25
61
  const BUNDLE_RELATIVE_PATH = ['dist', 'bundle', 'runtime.iife.js'].join('/');
@@ -375,10 +411,21 @@ const INTL_DISPATCH = {
375
411
  * the host callback functions directly.
376
412
  */
377
413
  export class QuickJsBridge {
414
+ wasm;
378
415
  runtime;
379
416
  vm;
380
417
  initialized = false;
381
418
  disposed = false;
419
+ /**
420
+ * Set when a host error escapes a call into the runtime, for example V8
421
+ * running out of native stack in deep recursion. QuickJS reports its own
422
+ * errors as results, so an escaped error means that the unwind skipped
423
+ * QuickJS cleanup. The runtime is not used again, and execute() builds a new
424
+ * one on a new module.
425
+ */
426
+ broken = false;
427
+ /** The bundle that the runtime loaded. A rebuild loads it again. */
428
+ runtimeBundle;
382
429
  config;
383
430
  logger;
384
431
  // Long-lived host-callback handles (Intl polyfills) — disposed on dispose()
@@ -406,9 +453,7 @@ export class QuickJsBridge {
406
453
  throw new Error('Bridge has been disposed and cannot be reinitialized.');
407
454
  if (this.initialized)
408
455
  return;
409
- const { getQuickJS } = await getQuickJSModule();
410
- const QuickJS = await getQuickJS();
411
- _quickjsWasm = QuickJS;
456
+ const QuickJS = await loadQuickJSWasm();
412
457
  // A host without a filesystem (the browser) passes the bundle in, so
413
458
  // loadRuntimeBundle() — the only Node-only code here — is never reached.
414
459
  const runtimeBundle = this.config.runtimeBundle || _runtimeBundle || loadRuntimeBundle();
@@ -430,15 +475,17 @@ export class QuickJsBridge {
430
475
  return;
431
476
  // Both caches are populated by the same async initialize() (pool
432
477
  // warmup), so the sync path never touches the filesystem or the
433
- // event loop beyond the context setup itself.
478
+ // event loop beyond the context setup itself. The module is also empty
479
+ // while a replacement for a retired one loads.
434
480
  if (_quickjsWasm === null || _runtimeBundle === null) {
435
481
  throw new Error('QuickJS WASM module and runtime bundle are not loaded yet: an async initialize() ' +
436
- 'must run once (pool warmup) before bridges can be created synchronously');
482
+ 'must load them before bridges can be created synchronously');
437
483
  }
438
484
  this.setupContext(_quickjsWasm, _runtimeBundle);
439
485
  }
440
486
  /** Everything after module/bundle acquisition is synchronous and shared. */
441
487
  setupContext(QuickJS, runtimeBundle) {
488
+ this.wasm = QuickJS;
442
489
  // Create runtime with memory limit (MB → bytes)
443
490
  this.runtime = QuickJS.newRuntime();
444
491
  this.runtime.setMemoryLimit(this.config.memoryLimit * 1024 * 1024);
@@ -446,7 +493,8 @@ export class QuickJsBridge {
446
493
  // Install the interrupt handler once. It reads the live deadline stack, so
447
494
  // nested execute() calls share one budget: the earliest deadline wins.
448
495
  // Math.min() of an empty stack is Infinity, so an idle runtime never fires.
449
- this.runtime.setInterruptHandler(() => Date.now() > Math.min(...this.deadlines));
496
+ // A broken runtime also stops the outer call that a nested call broke it in.
497
+ this.runtime.setInterruptHandler(() => (this.broken && this.deadlines.length > 0) || Date.now() > Math.min(...this.deadlines));
450
498
  // Set up 'global' / 'globalThis' self-reference
451
499
  const globalHandle = this.vm.global;
452
500
  this.vm.setProp(globalHandle, 'global', globalHandle);
@@ -455,12 +503,14 @@ export class QuickJsBridge {
455
503
  this.injectIntlPolyfill();
456
504
  // Load runtime bundle (DateTime, extend, SafeObject, proxy system, buildContext)
457
505
  this.loadRuntimeBundle(runtimeBundle);
506
+ this.runtimeBundle = runtimeBundle;
458
507
  // Wrap __prepareForTransfer to mark Date/NaN/Map/Set/Error so they survive vm.dump()
459
508
  this.injectTransferWrapper();
460
509
  // Inject E() error handler matching IsolatedVmBridge's E() semantics
461
510
  this.injectErrorHandler();
462
511
  this.verifyProxySystem();
463
512
  this.initialized = true;
513
+ this.broken = false;
464
514
  this.logger.info('[QuickJsBridge] Initialized successfully');
465
515
  }
466
516
  /**
@@ -989,7 +1039,8 @@ export class QuickJsBridge {
989
1039
  hostValueToQuickJSHandle(value) {
990
1040
  if (!this.vm)
991
1041
  throw new Error('Context not initialized');
992
- if (value === undefined)
1042
+ // Building a value runs guest code, which a broken runtime must not do.
1043
+ if (value === undefined || this.broken)
993
1044
  return this.vm.undefined;
994
1045
  if (value === null)
995
1046
  return this.vm.null;
@@ -1031,9 +1082,12 @@ export class QuickJsBridge {
1031
1082
  * 4. Reconstruct error sentinels into real Errors
1032
1083
  */
1033
1084
  execute(code, data, options) {
1085
+ if (this.broken && !this.disposed)
1086
+ this.rebuildRuntime();
1034
1087
  if (!this.initialized || !this.vm || !this.runtime) {
1035
1088
  throw new Error('Bridge not initialized. Call initialize() first.');
1036
1089
  }
1090
+ const vm = this.vm;
1037
1091
  // A nested call runs on what is left of the configured timeout, so the
1038
1092
  // chain shares one budget (mirrors IsolatedVmBridge). A configured
1039
1093
  // timeout of 0 means "no limit", so there is nothing to share.
@@ -1046,7 +1100,6 @@ export class QuickJsBridge {
1046
1100
  throw this.timeoutError(true);
1047
1101
  }
1048
1102
  const callbackHandles = this.createCallbackHandles(data);
1049
- let wrapperFn;
1050
1103
  // Push this call's deadline; the interrupt handler (set in initialize)
1051
1104
  // interrupts on the earliest in-flight deadline. Popped in finally so a
1052
1105
  // nested call can't leave the outer budget extended.
@@ -1085,17 +1138,19 @@ export class QuickJsBridge {
1085
1138
  };
1086
1139
  }
1087
1140
  })`;
1088
- const wrapperResult = this.vm.evalCode(wrappedCode);
1089
- if (wrapperResult.error) {
1090
- const errDump = this.vm.dump(wrapperResult.error);
1091
- wrapperResult.error.dispose();
1092
- throw new Error(`Expression compilation failed: ${String(errDump)}`);
1141
+ let outcome;
1142
+ try {
1143
+ outcome = this.runInGuest(vm, wrappedCode, callbackHandles);
1144
+ }
1145
+ catch (error) {
1146
+ this.broken = true;
1147
+ throw error;
1093
1148
  }
1094
- wrapperFn = wrapperResult.value;
1095
- const execResult = this.vm.callFunction(wrapperFn, this.vm.undefined, ...callbackHandles);
1096
- if (execResult.error) {
1097
- const errDump = this.vm.dump(execResult.error);
1098
- execResult.error.dispose();
1149
+ if (outcome.kind === 'compileError') {
1150
+ throw new Error(`Expression compilation failed: ${String(outcome.dump)}`);
1151
+ }
1152
+ if (outcome.kind === 'error') {
1153
+ const errDump = outcome.dump;
1099
1154
  // buildContext throws on invalid timezone — propagate the original message
1100
1155
  const errStr = String(typeof errDump === 'object' && errDump !== null
1101
1156
  ? (errDump.message ?? errDump)
@@ -1110,9 +1165,7 @@ export class QuickJsBridge {
1110
1165
  }
1111
1166
  throw new Error(`Expression evaluation failed: ${errStr}`);
1112
1167
  }
1113
- const rawResult = this.vm.dump(execResult.value);
1114
- execResult.value.dispose();
1115
- const result = unwrapSentinels(rawResult);
1168
+ const result = unwrapSentinels(outcome.dump);
1116
1169
  if (isErrorSentinel(result)) {
1117
1170
  throw reconstructError(result);
1118
1171
  }
@@ -1128,6 +1181,10 @@ export class QuickJsBridge {
1128
1181
  throw error;
1129
1182
  }
1130
1183
  const errorMessage = error instanceof Error ? error.message : String(error);
1184
+ // A host error, for example a WASM trap, can name memory without the
1185
+ // guest reaching its memory limit.
1186
+ if (this.broken)
1187
+ throw new Error(`Expression evaluation failed: ${errorMessage}`);
1131
1188
  if (errorMessage.includes('interrupted')) {
1132
1189
  throw this.timeoutError(nested);
1133
1190
  }
@@ -1138,11 +1195,108 @@ export class QuickJsBridge {
1138
1195
  }
1139
1196
  finally {
1140
1197
  this.deadlines.pop();
1141
- wrapperFn?.dispose();
1142
- for (const handle of callbackHandles) {
1143
- handle.dispose();
1198
+ if (!this.broken) {
1199
+ for (const handle of callbackHandles) {
1200
+ handle.dispose();
1201
+ }
1144
1202
  }
1203
+ else if (this.deadlines.length === 0) {
1204
+ // Only the outermost call drops the runtime. A nested call returns
1205
+ // into the frames of the outer call, which still use the runtime.
1206
+ this.abandonRuntime();
1207
+ }
1208
+ }
1209
+ }
1210
+ /**
1211
+ * Run the wrapped code and give back its outcome as host values. QuickJS
1212
+ * reports guest errors as results, so a throw from here is a host error.
1213
+ */
1214
+ runInGuest(vm, wrappedCode, callbackHandles) {
1215
+ const wrapperResult = vm.evalCode(wrappedCode);
1216
+ if (wrapperResult.error) {
1217
+ const dump = vm.dump(wrapperResult.error);
1218
+ wrapperResult.error.dispose();
1219
+ return { kind: 'compileError', dump };
1220
+ }
1221
+ const wrapperFn = wrapperResult.value;
1222
+ const execResult = vm.callFunction(wrapperFn, vm.undefined, ...callbackHandles);
1223
+ // A nested execute() that broke the runtime returned into this call.
1224
+ if (this.broken)
1225
+ throw new Error('A nested expression stopped the expression engine');
1226
+ wrapperFn.dispose();
1227
+ if (execResult.error) {
1228
+ const dump = vm.dump(execResult.error);
1229
+ execResult.error.dispose();
1230
+ return { kind: 'error', dump };
1145
1231
  }
1232
+ const dump = vm.dump(execResult.value);
1233
+ execResult.value.dispose();
1234
+ return { kind: 'value', dump };
1235
+ }
1236
+ /**
1237
+ * Build a new runtime in place of a broken one, so that the caller that holds
1238
+ * this bridge can go on. The runtime goes on the current module, which is
1239
+ * never the retired one.
1240
+ */
1241
+ rebuildRuntime() {
1242
+ // A nested call must not enter a runtime that an inner call has broken.
1243
+ if (this.vm || _quickjsWasm === null) {
1244
+ // Retries a failed load. A load that is in progress is reused.
1245
+ loadQuickJSWasm().catch((error) => {
1246
+ this.logger.error('[QuickJsBridge] Failed to load a replacement WASM module', { error });
1247
+ });
1248
+ throw new Error('Expression evaluation failed: the expression engine is restarting after an earlier error. Try again.');
1249
+ }
1250
+ if (this.runtimeBundle === undefined) {
1251
+ throw new Error('Bridge not initialized. Call initialize() first.');
1252
+ }
1253
+ // The process-wide bundle cache holds the bundle of the bridge that
1254
+ // initialized last, which can differ from the bundle of this bridge.
1255
+ try {
1256
+ this.setupContext(_quickjsWasm, this.runtimeBundle);
1257
+ }
1258
+ catch (error) {
1259
+ // Clears this.vm, so the next execute() tries the rebuild again.
1260
+ this.discardFailedRuntime();
1261
+ throw error;
1262
+ }
1263
+ }
1264
+ /**
1265
+ * Free the runtime of a failed rebuild. It ran no guest call, so it can
1266
+ * usually be freed. If the free aborts, the module is unusable.
1267
+ */
1268
+ discardFailedRuntime() {
1269
+ try {
1270
+ for (const handle of this.intlHandles)
1271
+ handle.dispose();
1272
+ this.vm?.dispose();
1273
+ this.runtime?.dispose();
1274
+ }
1275
+ catch {
1276
+ if (this.wasm)
1277
+ retireQuickJSWasm(this.wasm, this.logger);
1278
+ }
1279
+ finally {
1280
+ this.intlHandles = [];
1281
+ this.vm = undefined;
1282
+ this.runtime = undefined;
1283
+ this.wasm = undefined;
1284
+ }
1285
+ }
1286
+ /**
1287
+ * Drop a broken runtime without freeing it. JS_FreeRuntime asserts that no
1288
+ * objects are left, and the unwind left some, so a free aborts the module.
1289
+ * The memory is released when the module is garbage collected.
1290
+ */
1291
+ abandonRuntime() {
1292
+ if (this.wasm)
1293
+ retireQuickJSWasm(this.wasm, this.logger);
1294
+ this.wasm = undefined;
1295
+ this.vm = undefined;
1296
+ this.runtime = undefined;
1297
+ this.intlHandles = [];
1298
+ this.initialized = false;
1299
+ this.logger.warn('[QuickJsBridge] Discarded the runtime after a host error in a guest call');
1146
1300
  }
1147
1301
  /**
1148
1302
  * Always names the configured limit, never the reduced budget a nested call
@@ -1169,6 +1323,8 @@ export class QuickJsBridge {
1169
1323
  async dispose() {
1170
1324
  if (this.disposed)
1171
1325
  return;
1326
+ if (this.broken && this.vm)
1327
+ this.abandonRuntime();
1172
1328
  for (const handle of this.intlHandles) {
1173
1329
  handle.dispose();
1174
1330
  }
@@ -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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"}