@n8n/expression-runtime 0.5.0 → 0.7.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 (59) hide show
  1. package/dist/bundle/runtime.esm.js +16 -16
  2. package/dist/bundle/runtime.esm.js.map +3 -3
  3. package/dist/bundle/runtime.iife.js +16 -16
  4. package/dist/bundle/runtime.iife.js.map +3 -3
  5. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  6. package/dist/cjs/bridge/isolated-vm-bridge.js +25 -4
  7. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  8. package/dist/cjs/build.tsbuildinfo +1 -1
  9. package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -1
  10. package/dist/cjs/evaluator/expression-evaluator.js +10 -2
  11. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
  12. package/dist/cjs/evaluator/lru-cache.d.ts +11 -0
  13. package/dist/cjs/evaluator/lru-cache.d.ts.map +1 -0
  14. package/dist/cjs/evaluator/lru-cache.js +50 -0
  15. package/dist/cjs/evaluator/lru-cache.js.map +1 -0
  16. package/dist/cjs/extensions/extend.d.ts.map +1 -1
  17. package/dist/cjs/extensions/extend.js +29 -0
  18. package/dist/cjs/extensions/extend.js.map +1 -1
  19. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  20. package/dist/cjs/runtime/lazy-proxy.js +9 -0
  21. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  22. package/dist/cjs/runtime/reset.d.ts.map +1 -1
  23. package/dist/cjs/runtime/reset.js +136 -2
  24. package/dist/cjs/runtime/reset.js.map +1 -1
  25. package/dist/cjs/runtime/safe-globals.d.ts +6 -4
  26. package/dist/cjs/runtime/safe-globals.d.ts.map +1 -1
  27. package/dist/cjs/runtime/safe-globals.js +47 -12
  28. package/dist/cjs/runtime/safe-globals.js.map +1 -1
  29. package/dist/cjs/types/evaluator.d.ts +4 -0
  30. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  31. package/dist/cjs/types/evaluator.js.map +1 -1
  32. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  33. package/dist/esm/bridge/isolated-vm-bridge.js +25 -4
  34. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  35. package/dist/esm/build.tsbuildinfo +1 -1
  36. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
  37. package/dist/esm/evaluator/expression-evaluator.js +9 -1
  38. package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
  39. package/dist/esm/evaluator/lru-cache.d.ts +11 -0
  40. package/dist/esm/evaluator/lru-cache.d.ts.map +1 -0
  41. package/dist/esm/evaluator/lru-cache.js +36 -0
  42. package/dist/esm/evaluator/lru-cache.js.map +1 -0
  43. package/dist/esm/extensions/extend.d.ts.map +1 -1
  44. package/dist/esm/extensions/extend.js +29 -0
  45. package/dist/esm/extensions/extend.js.map +1 -1
  46. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  47. package/dist/esm/runtime/lazy-proxy.js +9 -0
  48. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  49. package/dist/esm/runtime/reset.d.ts.map +1 -1
  50. package/dist/esm/runtime/reset.js +137 -3
  51. package/dist/esm/runtime/reset.js.map +1 -1
  52. package/dist/esm/runtime/safe-globals.d.ts +6 -4
  53. package/dist/esm/runtime/safe-globals.d.ts.map +1 -1
  54. package/dist/esm/runtime/safe-globals.js +46 -12
  55. package/dist/esm/runtime/safe-globals.js.map +1 -1
  56. package/dist/esm/types/evaluator.d.ts +4 -0
  57. package/dist/esm/types/evaluator.d.ts.map +1 -1
  58. package/dist/esm/types/evaluator.js.map +1 -1
  59. package/package.json +1 -1
@@ -4,13 +4,14 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "@n8n/tournament"], factory);
7
+ define(["require", "exports", "@n8n/tournament", "./lru-cache"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ExpressionEvaluator = void 0;
13
13
  const tournament_1 = require("@n8n/tournament");
14
+ const lru_cache_1 = require("./lru-cache");
14
15
  class ExpressionEvaluator {
15
16
  config;
16
17
  disposed = false;
@@ -18,9 +19,12 @@
18
19
  tournament;
19
20
  // Cache: template expression → tournament-transformed JavaScript code
20
21
  // Cache hit rate in production: ~99.9% (same expressions repeat within a workflow)
21
- codeCache = new Map();
22
+ codeCache;
22
23
  constructor(config) {
23
24
  this.config = config;
25
+ this.codeCache = new lru_cache_1.LruCache(config.maxCodeCacheSize, () => {
26
+ this.config.observability?.metrics.counter('expression.code_cache.eviction', 1);
27
+ });
24
28
  }
25
29
  async initialize() {
26
30
  await this.config.bridge.initialize();
@@ -58,8 +62,10 @@
58
62
  getTransformedCode(expression) {
59
63
  const cached = this.codeCache.get(expression);
60
64
  if (cached !== undefined) {
65
+ this.config.observability?.metrics.counter('expression.code_cache.hit', 1);
61
66
  return cached;
62
67
  }
68
+ this.config.observability?.metrics.counter('expression.code_cache.miss', 1);
63
69
  if (!this.tournament) {
64
70
  // Tournament requires an errorHandler but we only use getExpressionCode()
65
71
  // for AST transformation — we never call tournament.execute(), so this
@@ -73,11 +79,13 @@
73
79
  }
74
80
  const [transformedCode] = this.tournament.getExpressionCode(expression);
75
81
  this.codeCache.set(expression, transformedCode);
82
+ this.config.observability?.metrics.gauge('expression.code_cache.size', this.codeCache.size);
76
83
  return transformedCode;
77
84
  }
78
85
  async dispose() {
79
86
  this.disposed = true;
80
87
  this.codeCache.clear();
88
+ this.config.observability?.metrics.gauge('expression.code_cache.size', 0);
81
89
  await this.config.bridge.dispose();
82
90
  }
83
91
  isDisposed() {
@@ -1 +1 @@
1
- {"version":3,"file":"expression-evaluator.js","sourceRoot":"","sources":["../../../src/evaluator/expression-evaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,gDAA6C;IAQ7C,MAAa,mBAAmB;QACvB,MAAM,CAAkB;QAExB,QAAQ,GAAG,KAAK,CAAC;QAEzB,wFAAwF;QAChF,UAAU,CAAc;QAEhC,sEAAsE;QACtE,mFAAmF;QAC3E,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE9C,YAAY,MAAuB;YAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,KAAK,CAAC,UAAU;YACf,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,QAAQ,CAAC,UAAkB,EAAE,IAAkB,EAAE,OAAyB;YACzE,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAEzD,gEAAgE;YAChE,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE;oBAChE,QAAQ,EAAE,OAAO,EAAE,QAAQ;iBAC3B,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBAED,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAED;;;;;;;;WAQG;QACK,kBAAkB,CAAC,UAAkB;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC;YACf,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtB,0EAA0E;gBAC1E,uEAAuE;gBACvE,uEAAuE;gBACvE,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE;oBACpE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE;oBACvC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;iBACrC,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAChD,OAAO,eAAe,CAAC;QACxB,CAAC;QAED,KAAK,CAAC,OAAO;YACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;QAED,UAAU;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;KACD;IArFD,kDAqFC"}
1
+ {"version":3,"file":"expression-evaluator.js","sourceRoot":"","sources":["../../../src/evaluator/expression-evaluator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare class LruCache<K, V> {
2
+ private readonly capacity;
3
+ private readonly onEvict?;
4
+ private map;
5
+ constructor(capacity: number, onEvict?: ((key: K, value: V) => void) | undefined);
6
+ get(key: K): V | undefined;
7
+ set(key: K, value: V): void;
8
+ get size(): number;
9
+ clear(): void;
10
+ }
11
+ //# sourceMappingURL=lru-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../../src/evaluator/lru-cache.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IAIxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAJ1B,OAAO,CAAC,GAAG,CAAmB;gBAGZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,GAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,aAAA;IAOtD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAQ1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAU3B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;CAGb"}
@@ -0,0 +1,50 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LruCache = void 0;
13
+ class LruCache {
14
+ capacity;
15
+ onEvict;
16
+ map = new Map();
17
+ constructor(capacity, onEvict) {
18
+ this.capacity = capacity;
19
+ this.onEvict = onEvict;
20
+ if (capacity < 1) {
21
+ throw new Error('LruCache capacity must be at least 1');
22
+ }
23
+ }
24
+ get(key) {
25
+ const value = this.map.get(key);
26
+ if (value === undefined)
27
+ return undefined;
28
+ this.map.delete(key);
29
+ this.map.set(key, value);
30
+ return value;
31
+ }
32
+ set(key, value) {
33
+ this.map.delete(key);
34
+ this.map.set(key, value);
35
+ if (this.map.size > this.capacity) {
36
+ const [oldestKey, oldestValue] = this.map.entries().next().value;
37
+ this.map.delete(oldestKey);
38
+ this.onEvict?.(oldestKey, oldestValue);
39
+ }
40
+ }
41
+ get size() {
42
+ return this.map.size;
43
+ }
44
+ clear() {
45
+ this.map.clear();
46
+ }
47
+ }
48
+ exports.LruCache = LruCache;
49
+ });
50
+ //# sourceMappingURL=lru-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru-cache.js","sourceRoot":"","sources":["../../../src/evaluator/lru-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,MAAa,QAAQ;QAIF;QACA;QAJV,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAC;QAE9B,YACkB,QAAgB,EAChB,OAAoC;YADpC,aAAQ,GAAR,QAAQ,CAAQ;YAChB,YAAO,GAAP,OAAO,CAA6B;YAErD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;QAED,GAAG,CAAC,GAAM;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,GAAG,CAAC,GAAM,EAAE,KAAQ;YACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC;gBAClE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACxC,CAAC;QACF,CAAC;QAED,IAAI,IAAI;YACP,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,KAAK;YACJ,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;KACD;IArCD,4BAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/extensions/extend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAejD,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAO3C,CAAC;AAsEF;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAkC3E;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,GAElB,QAAQ,GAAG,SAAS,CAgBtB"}
1
+ {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/extensions/extend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAejD,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAO3C,CAAC;AAuGF;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAkC3E;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,GAElB,QAAQ,GAAG,SAAS,CAgBtB"}
@@ -50,7 +50,36 @@
50
50
  const d = new Date(input);
51
51
  return d instanceof Date && !isNaN(d.valueOf()) && d.toISOString() === input;
52
52
  }
53
+ /**
54
+ * Property names that must never be accessed via expression extensions.
55
+ * Matches the host-side blocklist in packages/workflow/src/utils.ts.
56
+ */
57
+ const UNSAFE_PROPERTY_NAMES = new Set([
58
+ '__proto__',
59
+ 'prototype',
60
+ 'constructor',
61
+ 'getPrototypeOf',
62
+ 'mainModule',
63
+ 'binding',
64
+ '_linkedBinding',
65
+ '_load',
66
+ 'prepareStackTrace',
67
+ '__lookupGetter__',
68
+ '__lookupSetter__',
69
+ '__defineGetter__',
70
+ '__defineSetter__',
71
+ 'caller',
72
+ 'arguments',
73
+ 'getBuiltinModule',
74
+ 'dlopen',
75
+ 'execve',
76
+ 'loadEnvFile',
77
+ ]);
53
78
  function findExtendedFunction(input, functionName) {
79
+ const name = typeof functionName === 'string' ? functionName : String(functionName);
80
+ if (UNSAFE_PROPERTY_NAMES.has(name)) {
81
+ throw new expression_extension_error_1.ExpressionExtensionError(`Cannot access "${name}" via expression extension due to security concerns`);
82
+ }
54
83
  // eslint-disable-next-line @typescript-eslint/no-restricted-types
55
84
  let foundFunction;
56
85
  if (Array.isArray(input)) {
@@ -1 +1 @@
1
- {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/extensions/extend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../../src/extensions/extend.ts"],"names":[],"mappings":";;;;;;;;;;;;IAyIA,wBAkCC;IAED,wCAoBC;IAjMD,iCAAiC;IAEjC,yDAAqD;IACrD,6DAAyD;IACzD,uDAAmD;IAEnD,6EAAwE;IACxE,2DAAuD;IACvD,2DAAuD;IACvD,2DAAuD;IACvD,mCAAqD;IAErD,SAAS,OAAO,CAAC,KAAc;QAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC;IACxD,CAAC;IAED,SAAS,UAAU,CAAC,KAAc;QACjC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEY,QAAA,iBAAiB,GAAmB;QAChD,kCAAe;QACf,gCAAc;QACd,oCAAgB;QAChB,oCAAgB;QAChB,oCAAgB;QAChB,sCAAiB;KACjB,CAAC;IAEF,kEAAkE;IAClE,MAAM,iBAAiB,GAA6B;QACnD,OAAO;QACP,UAAU;KACV,CAAC;IAEF,SAAS,MAAM,CAAC,KAAc;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;IAC9E,CAAC;IAQD;;;OAGG;IACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;QACrC,WAAW;QACX,WAAW;QACX,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,SAAS;QACT,gBAAgB;QAChB,OAAO;QACP,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,QAAQ;QACR,WAAW;QACX,kBAAkB;QAClB,QAAQ;QACR,QAAQ;QACR,aAAa;KACb,CAAC,CAAC;IAEH,SAAS,oBAAoB,CAAC,KAAc,EAAE,YAAoB;QACjE,MAAM,IAAI,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpF,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,qDAAwB,CACjC,kBAAkB,IAAI,qDAAqD,CAC3E,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,aAAmC,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,aAAa,GAAG,kCAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YACxF,mEAAmE;YACnE,kEAAkE;YAClE,iCAAiC;YACjC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAe,CAAC,CAAC;YAClC,aAAa,GAAG,gCAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,aAAa,GAAG,oCAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,aAAa,GAAG,oCAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,KAAK,IAAI,CAAC,gBAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;YAC3E,aAAa,GAAG,gCAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxD,aAAa,GAAG,oCAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACvC,aAAa,GAAG,sCAAiB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,8DAA8D;YAC9D,MAAM,QAAQ,GAAQ,KAAK,CAAC;YAC5B,+DAA+D;YAC/D,mDAAmD;YACnD,IAAI,QAAQ,IAAI,YAAY,IAAI,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC9E,mEAAmE;gBACnE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7D,CAAC;YAED,qCAAqC;YACrC,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACH,SAAgB,MAAM,CAAC,KAAc,EAAE,YAAoB,EAAE,IAAe;QAC3E,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAEhE,8DAA8D;QAC9D,gEAAgE;QAChE,6CAA6C;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,IAAA,kCAA0B,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,yBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC1B,kEAAkE;gBAClE,MAAM,IAAI,qDAAwB,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,GAAG,EAAG,CAAC,QAAQ,GAAG,CAAC;gBACrD,MAAM,SAAS,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,QAAQ,EAAE,CAAC;gBAC9F,MAAM,IAAI,qDAAwB,CACjC,GAAG,YAAY,gCAAgC,SAAS,EAAE,CAC1D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,qDAAwB,CACjC,GAAG,YAAY,gCAAgC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAC1E,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,+DAA+D;YAC/D,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,+DAA+D;QAC/D,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,SAAgB,cAAc,CAC7B,KAAc,EACd,YAAoB;QAGpB,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAEhE,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,+DAA+D;YAC/D,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;YAC7B,+DAA+D;YAC/D,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC;IACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-proxy.d.ts","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"AAYA,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE9D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,MAAM,EAAO,GAAG,GAAG,CAgJhE"}
1
+ {"version":3,"file":"lazy-proxy.d.ts","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"AAYA,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAE9D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,MAAM,EAAO,GAAG,GAAG,CAwJhE"}
@@ -98,6 +98,15 @@
98
98
  // Handle arrays - metadata: { __isArray: true, __length: number }
99
99
  if (value && typeof value === 'object' && value.__isArray) {
100
100
  const arrayProxy = new Proxy([], {
101
+ has(arrTarget, arrProp) {
102
+ if (typeof arrProp === 'symbol')
103
+ return arrProp in arrTarget;
104
+ const index = Number(arrProp);
105
+ if (!isNaN(index) && index >= 0 && index < value.__length) {
106
+ return true;
107
+ }
108
+ return arrProp in arrTarget;
109
+ },
101
110
  get(arrTarget, arrProp) {
102
111
  // Symbols can't be transferred via isolated-vm; return undefined
103
112
  if (typeof arrProp === 'symbol') {
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-proxy.js","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy-proxy.js","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/runtime/reset.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAwIxD"}
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/runtime/reset.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CA0JxD"}
@@ -15,6 +15,13 @@
15
15
  const function_extensions_1 = require("../extensions/function-extensions");
16
16
  const safe_globals_1 = require("./safe-globals");
17
17
  const lazy_proxy_1 = require("./lazy-proxy");
18
+ // Pre-create safe error subclass wrappers (reused across evaluations)
19
+ const SafeTypeError = (0, safe_globals_1.createSafeErrorSubclass)(TypeError);
20
+ const SafeSyntaxError = (0, safe_globals_1.createSafeErrorSubclass)(SyntaxError);
21
+ const SafeEvalError = (0, safe_globals_1.createSafeErrorSubclass)(EvalError);
22
+ const SafeRangeError = (0, safe_globals_1.createSafeErrorSubclass)(RangeError);
23
+ const SafeReferenceError = (0, safe_globals_1.createSafeErrorSubclass)(ReferenceError);
24
+ const SafeURIError = (0, safe_globals_1.createSafeErrorSubclass)(URIError);
18
25
  // ============================================================================
19
26
  // Reset Function for Data Proxies
20
27
  // ============================================================================
@@ -41,7 +48,15 @@
41
48
  globalThis.__data = {};
42
49
  // __sanitize must be on __data because PrototypeSanitizer generates:
43
50
  // obj[this.__sanitize(expr)] where 'this' is __data (via .call(__data) wrapping)
44
- globalThis.__data.__sanitize = safe_globals_1.__sanitize;
51
+ // Use a non-writable property descriptor so override attempts throw instead of silently succeeding.
52
+ Object.defineProperty(globalThis.__data, '__sanitize', {
53
+ get: () => safe_globals_1.__sanitize,
54
+ set: () => {
55
+ throw new safe_globals_1.ExpressionError('Cannot override "__sanitize" due to security concerns');
56
+ },
57
+ enumerable: false,
58
+ configurable: false,
59
+ });
45
60
  // Verify callbacks are available
46
61
  // Note: ivm.Reference may not be typeof 'function', check for existence
47
62
  if (!globalThis.__getValueAtPath) {
@@ -151,7 +166,126 @@
151
166
  // pattern resolves them correctly when the VM checks __data first
152
167
  globalThis.__data.extend = extend_1.extend;
153
168
  globalThis.__data.extendOptional = extend_1.extendOptional;
154
- // TODO: Add other function properties as needed ($item, $vars, etc.)
169
+ // Wire builtins so tournament's VariablePolyfill resolves them from __data
170
+ initializeBuiltins(globalThis.__data);
171
+ // $item(itemIndex) returns a sub-proxy for the specified item (legacy syntax)
172
+ globalThis.__data.$item = function (itemIndex) {
173
+ const indexStr = String(itemIndex);
174
+ return {
175
+ $json: (0, lazy_proxy_1.createDeepLazyProxy)(['$item', indexStr, '$json']),
176
+ $binary: (0, lazy_proxy_1.createDeepLazyProxy)(['$item', indexStr, '$binary']),
177
+ };
178
+ };
179
+ }
180
+ // Matches initializeGlobalContext() lines 262-318 in packages/workflow/src/expression.ts
181
+ const DENYLISTED_GLOBALS = [
182
+ 'document',
183
+ 'global',
184
+ 'window',
185
+ 'Window',
186
+ 'globalThis',
187
+ 'self',
188
+ 'alert',
189
+ 'prompt',
190
+ 'confirm',
191
+ 'eval',
192
+ 'uneval',
193
+ 'setTimeout',
194
+ 'setInterval',
195
+ 'setImmediate',
196
+ 'clearImmediate',
197
+ 'queueMicrotask',
198
+ 'Function',
199
+ 'require',
200
+ 'module',
201
+ 'Buffer',
202
+ '__dirname',
203
+ '__filename',
204
+ 'fetch',
205
+ 'XMLHttpRequest',
206
+ 'Promise',
207
+ 'Generator',
208
+ 'GeneratorFunction',
209
+ 'AsyncFunction',
210
+ 'AsyncGenerator',
211
+ 'AsyncGeneratorFunction',
212
+ 'WebAssembly',
213
+ 'Reflect',
214
+ 'Proxy',
215
+ 'escape',
216
+ 'unescape',
217
+ ];
218
+ /**
219
+ * Wire builtins onto __data so tournament's VariablePolyfill resolves them.
220
+ *
221
+ * Tournament transforms `Object` → `("Object" in this ? this : window).Object`.
222
+ * `this` = __data. Without these entries on __data, builtins fall through to
223
+ * `window` which doesn't exist in the isolate, causing a ReferenceError.
224
+ *
225
+ * Mirrors Expression.initializeGlobalContext() in packages/workflow/src/expression.ts.
226
+ */
227
+ function initializeBuiltins(data) {
228
+ // ── Denylist: dangerous globals → empty objects ──
229
+ for (const key of DENYLISTED_GLOBALS) {
230
+ data[key] = {};
231
+ }
232
+ data.__lookupGetter__ = undefined;
233
+ data.__lookupSetter__ = undefined;
234
+ data.__defineGetter__ = undefined;
235
+ data.__defineSetter__ = undefined;
236
+ // ── Allowlist: safe versions of builtins ──
237
+ // Object — use SafeObject wrapper from the runtime bundle
238
+ data.Object = globalThis.SafeObject;
239
+ // Error types — use SafeError and safe subclass wrappers
240
+ data.Error = globalThis.SafeError;
241
+ data.TypeError = SafeTypeError;
242
+ data.SyntaxError = SafeSyntaxError;
243
+ data.EvalError = SafeEvalError;
244
+ data.RangeError = SafeRangeError;
245
+ data.ReferenceError = SafeReferenceError;
246
+ data.URIError = SafeURIError;
247
+ // Arrays
248
+ data.Array = Array;
249
+ data.Int8Array = Int8Array;
250
+ data.Uint8Array = Uint8Array;
251
+ data.Uint8ClampedArray = Uint8ClampedArray;
252
+ data.Int16Array = Int16Array;
253
+ data.Uint16Array = Uint16Array;
254
+ data.Int32Array = Int32Array;
255
+ data.Uint32Array = Uint32Array;
256
+ data.Float32Array = Float32Array;
257
+ data.Float64Array = Float64Array;
258
+ data.BigInt64Array = typeof BigInt64Array !== 'undefined' ? BigInt64Array : {};
259
+ data.BigUint64Array = typeof BigUint64Array !== 'undefined' ? BigUint64Array : {};
260
+ // Collections
261
+ data.Map = Map;
262
+ data.WeakMap = WeakMap;
263
+ data.Set = Set;
264
+ data.WeakSet = WeakSet;
265
+ // Internationalization
266
+ data.Intl = typeof Intl !== 'undefined' ? Intl : {};
267
+ // Text
268
+ data.String = String;
269
+ // Numbers
270
+ data.Number = Number;
271
+ data.BigInt = typeof BigInt !== 'undefined' ? BigInt : {};
272
+ data.Infinity = Infinity;
273
+ data.parseFloat = parseFloat;
274
+ data.parseInt = parseInt;
275
+ // Structured data
276
+ data.JSON = JSON;
277
+ data.ArrayBuffer = typeof ArrayBuffer !== 'undefined' ? ArrayBuffer : {};
278
+ data.SharedArrayBuffer = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : {};
279
+ data.Atomics = typeof Atomics !== 'undefined' ? Atomics : {};
280
+ data.DataView = typeof DataView !== 'undefined' ? DataView : {};
281
+ // Encoding
282
+ data.encodeURI = encodeURI;
283
+ data.encodeURIComponent = encodeURIComponent;
284
+ data.decodeURI = decodeURI;
285
+ data.decodeURIComponent = decodeURIComponent;
286
+ // Other
287
+ data.Boolean = Boolean;
288
+ data.Symbol = Symbol;
155
289
  }
156
290
  });
157
291
  //# sourceMappingURL=reset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/runtime/reset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/runtime/reset.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,14 @@
8
8
  */
9
9
  export declare const SafeObject: ObjectConstructor;
10
10
  /**
11
- * SafeError - Blocks stack manipulation methods
12
- *
13
- * Blocked properties:
14
- * - stackTraceLimit, captureStackTrace, prepareStackTrace: Prevent stack manipulation attacks
11
+ * SafeError - Blocks stack manipulation methods on Error constructor.
15
12
  */
16
13
  export declare const SafeError: ErrorConstructor;
14
+ /**
15
+ * Creates a safe wrapper for Error subclasses (TypeError, SyntaxError, etc.)
16
+ * Blocks the same dangerous properties as SafeError for defense in depth.
17
+ */
18
+ export declare function createSafeErrorSubclass<T extends ErrorConstructor>(ErrorClass: T): T;
17
19
  export declare class ExpressionError extends Error {
18
20
  constructor(message: string);
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"safe-globals.d.ts","sourceRoot":"","sources":["../../../src/runtime/safe-globals.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,mBAgCrB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,SAAS,kBA4BpB,CAAC;AAMH,qBAAa,eAAgB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI3B;AAwBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKlD"}
1
+ {"version":3,"file":"safe-globals.d.ts","sourceRoot":"","sources":["../../../src/runtime/safe-globals.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,mBAqCrB,CAAC;AAgBH;;GAEG;AACH,eAAO,MAAM,SAAS,kBAsBpB,CAAC;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,gBAAgB,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAmBpF;AAMD,qBAAa,eAAgB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI3B;AAwBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKlD"}
@@ -13,6 +13,7 @@
13
13
  "use strict";
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ExpressionError = exports.SafeError = exports.SafeObject = void 0;
16
+ exports.createSafeErrorSubclass = createSafeErrorSubclass;
16
17
  exports.__sanitize = __sanitize;
17
18
  /**
18
19
  * SafeObject - Blocks dangerous Object methods that could lead to RCE
@@ -43,6 +44,10 @@
43
44
  if (prop === 'getPrototypeOf') {
44
45
  throw new Error('Object.getPrototypeOf is not allowed');
45
46
  }
47
+ // Wrap Object.create to accept only one argument (blocks property descriptor injection)
48
+ if (prop === 'create') {
49
+ return (proto) => Object.create(proto);
50
+ }
46
51
  // Allow other Object methods
47
52
  const value = target[prop];
48
53
  if (typeof value === 'function') {
@@ -53,21 +58,24 @@
53
58
  },
54
59
  });
55
60
  /**
56
- * SafeError - Blocks stack manipulation methods
57
- *
58
- * Blocked properties:
59
- * - stackTraceLimit, captureStackTrace, prepareStackTrace: Prevent stack manipulation attacks
61
+ * Properties blocked on Error and all Error subclasses.
62
+ * These can be exploited for sandbox escape via V8's stack trace API.
63
+ */
64
+ const blockedErrorProperties = new Set([
65
+ 'captureStackTrace',
66
+ 'prepareStackTrace',
67
+ 'stackTraceLimit',
68
+ '__defineGetter__',
69
+ '__defineSetter__',
70
+ '__lookupGetter__',
71
+ '__lookupSetter__',
72
+ ]);
73
+ /**
74
+ * SafeError - Blocks stack manipulation methods on Error constructor.
60
75
  */
61
76
  exports.SafeError = new Proxy(Error, {
62
77
  get(target, prop) {
63
- // Block stack manipulation (return undefined)
64
- const blockedProps = ['stackTraceLimit', 'captureStackTrace', 'prepareStackTrace'];
65
- if (blockedProps.includes(prop)) {
66
- return undefined;
67
- }
68
- // Block dangerous methods
69
- const blockedMethods = ['__defineGetter__', '__defineSetter__'];
70
- if (blockedMethods.includes(prop)) {
78
+ if (blockedErrorProperties.has(prop)) {
71
79
  return undefined;
72
80
  }
73
81
  const value = target[prop];
@@ -84,7 +92,34 @@
84
92
  target[prop] = value;
85
93
  return true;
86
94
  },
95
+ defineProperty() {
96
+ return false;
97
+ },
87
98
  });
99
+ /**
100
+ * Creates a safe wrapper for Error subclasses (TypeError, SyntaxError, etc.)
101
+ * Blocks the same dangerous properties as SafeError for defense in depth.
102
+ */
103
+ function createSafeErrorSubclass(ErrorClass) {
104
+ return new Proxy(ErrorClass, {
105
+ get(target, prop) {
106
+ if (blockedErrorProperties.has(prop)) {
107
+ return undefined;
108
+ }
109
+ const value = target[prop];
110
+ if (typeof value === 'function') {
111
+ return (...args) => value.apply(target, args);
112
+ }
113
+ return value;
114
+ },
115
+ set() {
116
+ return false;
117
+ },
118
+ defineProperty() {
119
+ return false;
120
+ },
121
+ });
122
+ }
88
123
  // ============================================================================
89
124
  // ExpressionError - used by tournament-generated error handlers
90
125
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"safe-globals.js","sourceRoot":"","sources":["../../../src/runtime/safe-globals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-globals.js","sourceRoot":"","sources":["../../../src/runtime/safe-globals.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export interface EvaluatorConfig {
21
21
  * If omitted, expressions are transformed with no security hooks (dev/testing use).
22
22
  */
23
23
  hooks?: TournamentHooks;
24
+ /**
25
+ * Maximum number of tournament-transformed expressions to cache (LRU).
26
+ */
27
+ maxCodeCacheSize: number;
24
28
  }
25
29
  /**
26
30
  * Expression evaluator - main public API.
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/types/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/types/evaluator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/types/evaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;IAiNA,+EAA+E;IAC/E,uDAAuD;IACvD,EAAE;IACF,0DAA0D;IAC1D,wDAAwD;IACxD,+EAA+E;IAE/E;;OAEG;IACH,MAAa,eAAgB,SAAQ,KAAK;QAGjC;QAFR,YACC,OAAe,EACR,OAKN;YAED,KAAK,CAAC,OAAO,CAAC,CAAC;YAPR,YAAO,GAAP,OAAO,CAKb;YAGD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC/B,CAAC;KACD;IAbD,0CAaC;IAED;;OAEG;IACH,MAAa,gBAAiB,SAAQ,eAAe;KAAG;IAAxD,4CAAwD;IACxD,MAAa,YAAa,SAAQ,eAAe;KAAG;IAApD,oCAAoD;IACpD,MAAa,sBAAuB,SAAQ,eAAe;KAAG;IAA9D,wDAA8D;IAC9D,MAAa,WAAY,SAAQ,eAAe;KAAG;IAAnD,kCAAmD"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/types/evaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;IAsNA,+EAA+E;IAC/E,uDAAuD;IACvD,EAAE;IACF,0DAA0D;IAC1D,wDAAwD;IACxD,+EAA+E;IAE/E;;OAEG;IACH,MAAa,eAAgB,SAAQ,KAAK;QAGjC;QAFR,YACC,OAAe,EACR,OAKN;YAED,KAAK,CAAC,OAAO,CAAC,CAAC;YAPR,YAAO,GAAP,OAAO,CAKb;YAGD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC/B,CAAC;KACD;IAbD,0CAaC;IAED;;OAEG;IACH,MAAa,gBAAiB,SAAQ,eAAe;KAAG;IAAxD,4CAAwD;IACxD,MAAa,YAAa,SAAQ,eAAe;KAAG;IAApD,oCAAoD;IACpD,MAAa,sBAAuB,SAAQ,eAAe;KAAG;IAA9D,wDAA8D;IAC9D,MAAa,WAAY,SAAQ,eAAe;KAAG;IAAnD,kCAAmD"}
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwC5E;;;;;;;;;;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;IAIvC,OAAO,CAAC,WAAW,CAAiC;IAIpD,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAgB;IAKxC,OAAO,CAAC,mBAAmB,CAAC,CAAgB;gBAEhC,MAAM,GAAE,YAAiB;IAWrC;;;;;;;;;;OAUG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCjC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAoCjC;;;;;;;;OAQG;YACW,iBAAiB;IA+B/B;;;;;;;;;;;OAWG;YACW,kBAAkB;IA0BhC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAiIzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAsDvF;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}
1
+ {"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwC5E;;;;;;;;;;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;IAIvC,OAAO,CAAC,WAAW,CAAiC;IAIpD,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAC,CAAgB;IAKxC,OAAO,CAAC,mBAAmB,CAAC,CAAgB;gBAEhC,MAAM,GAAE,YAAiB;IAWrC;;;;;;;;;;OAUG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCjC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAoCjC;;;;;;;;OAQG;YACW,iBAAiB;IA+B/B;;;;;;;;;;;OAWG;YACW,kBAAkB;IA0BhC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,iBAAiB;IAsJzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAsDvF;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}