@n8n/expression-runtime 0.30.0 → 0.31.1

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 (122) hide show
  1. package/README.md +4 -0
  2. package/dist/bundle/runtime.esm.js +17 -17
  3. package/dist/bundle/runtime.esm.js.map +4 -4
  4. package/dist/bundle/runtime.iife.js +17 -17
  5. package/dist/bundle/runtime.iife.js.map +4 -4
  6. package/dist/cjs/bridge/host-functions.d.ts +74 -0
  7. package/dist/cjs/bridge/host-functions.d.ts.map +1 -0
  8. package/dist/cjs/bridge/host-functions.js +336 -0
  9. package/dist/cjs/bridge/host-functions.js.map +1 -0
  10. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +24 -150
  11. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  12. package/dist/cjs/bridge/isolated-vm-bridge.js +130 -429
  13. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  14. package/dist/cjs/bridge/quickjs-bridge.d.ts +21 -6
  15. package/dist/cjs/bridge/quickjs-bridge.d.ts.map +1 -1
  16. package/dist/cjs/bridge/quickjs-bridge.js +377 -402
  17. package/dist/cjs/bridge/quickjs-bridge.js.map +1 -1
  18. package/dist/cjs/build.tsbuildinfo +1 -1
  19. package/dist/cjs/evaluator/expression-evaluator.d.ts +17 -0
  20. package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -1
  21. package/dist/cjs/evaluator/expression-evaluator.js +61 -1
  22. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
  23. package/dist/cjs/extensions/array-extensions.d.ts.map +1 -1
  24. package/dist/cjs/extensions/array-extensions.js +7 -15
  25. package/dist/cjs/extensions/array-extensions.js.map +1 -1
  26. package/dist/cjs/extensions/function-extensions.d.ts +2 -0
  27. package/dist/cjs/extensions/function-extensions.d.ts.map +1 -1
  28. package/dist/cjs/extensions/function-extensions.js +13 -10
  29. package/dist/cjs/extensions/function-extensions.js.map +1 -1
  30. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
  31. package/dist/cjs/extensions/object-extensions.js +3 -11
  32. package/dist/cjs/extensions/object-extensions.js.map +1 -1
  33. package/dist/cjs/extensions/utils.d.ts +1 -0
  34. package/dist/cjs/extensions/utils.d.ts.map +1 -1
  35. package/dist/cjs/extensions/utils.js +10 -0
  36. package/dist/cjs/extensions/utils.js.map +1 -1
  37. package/dist/cjs/observability/metrics.d.ts +12 -0
  38. package/dist/cjs/observability/metrics.d.ts.map +1 -1
  39. package/dist/cjs/observability/metrics.js +12 -0
  40. package/dist/cjs/observability/metrics.js.map +1 -1
  41. package/dist/cjs/runtime/lazy-proxy.d.ts +2 -0
  42. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  43. package/dist/cjs/runtime/lazy-proxy.js +29 -15
  44. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  45. package/dist/cjs/runtime/luxon-transfer.d.ts +62 -0
  46. package/dist/cjs/runtime/luxon-transfer.d.ts.map +1 -0
  47. package/dist/cjs/runtime/luxon-transfer.js +200 -0
  48. package/dist/cjs/runtime/luxon-transfer.js.map +1 -0
  49. package/dist/cjs/runtime/serialize.d.ts +7 -7
  50. package/dist/cjs/runtime/serialize.d.ts.map +1 -1
  51. package/dist/cjs/runtime/serialize.js +42 -30
  52. package/dist/cjs/runtime/serialize.js.map +1 -1
  53. package/dist/cjs/runtime/transfer.d.ts +77 -0
  54. package/dist/cjs/runtime/transfer.d.ts.map +1 -0
  55. package/dist/cjs/runtime/transfer.js +183 -0
  56. package/dist/cjs/runtime/transfer.js.map +1 -0
  57. package/dist/cjs/types/bridge.d.ts +16 -0
  58. package/dist/cjs/types/bridge.d.ts.map +1 -1
  59. package/dist/cjs/types/bridge.js +1 -0
  60. package/dist/cjs/types/bridge.js.map +1 -1
  61. package/dist/cjs/types/evaluator.d.ts +9 -0
  62. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  63. package/dist/cjs/types/evaluator.js.map +1 -1
  64. package/dist/esm/bridge/host-functions.d.ts +74 -0
  65. package/dist/esm/bridge/host-functions.d.ts.map +1 -0
  66. package/dist/esm/bridge/host-functions.js +328 -0
  67. package/dist/esm/bridge/host-functions.js.map +1 -0
  68. package/dist/esm/bridge/isolated-vm-bridge.d.ts +24 -150
  69. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  70. package/dist/esm/bridge/isolated-vm-bridge.js +126 -425
  71. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  72. package/dist/esm/bridge/quickjs-bridge.d.ts +21 -6
  73. package/dist/esm/bridge/quickjs-bridge.d.ts.map +1 -1
  74. package/dist/esm/bridge/quickjs-bridge.js +368 -393
  75. package/dist/esm/bridge/quickjs-bridge.js.map +1 -1
  76. package/dist/esm/build.tsbuildinfo +1 -1
  77. package/dist/esm/evaluator/expression-evaluator.d.ts +17 -0
  78. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
  79. package/dist/esm/evaluator/expression-evaluator.js +61 -1
  80. package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
  81. package/dist/esm/extensions/array-extensions.d.ts.map +1 -1
  82. package/dist/esm/extensions/array-extensions.js +1 -9
  83. package/dist/esm/extensions/array-extensions.js.map +1 -1
  84. package/dist/esm/extensions/function-extensions.d.ts +2 -0
  85. package/dist/esm/extensions/function-extensions.d.ts.map +1 -1
  86. package/dist/esm/extensions/function-extensions.js +12 -9
  87. package/dist/esm/extensions/function-extensions.js.map +1 -1
  88. package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
  89. package/dist/esm/extensions/object-extensions.js +1 -9
  90. package/dist/esm/extensions/object-extensions.js.map +1 -1
  91. package/dist/esm/extensions/utils.d.ts +1 -0
  92. package/dist/esm/extensions/utils.d.ts.map +1 -1
  93. package/dist/esm/extensions/utils.js +9 -0
  94. package/dist/esm/extensions/utils.js.map +1 -1
  95. package/dist/esm/observability/metrics.d.ts +12 -0
  96. package/dist/esm/observability/metrics.d.ts.map +1 -1
  97. package/dist/esm/observability/metrics.js +12 -0
  98. package/dist/esm/observability/metrics.js.map +1 -1
  99. package/dist/esm/runtime/lazy-proxy.d.ts +2 -0
  100. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  101. package/dist/esm/runtime/lazy-proxy.js +29 -15
  102. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  103. package/dist/esm/runtime/luxon-transfer.d.ts +62 -0
  104. package/dist/esm/runtime/luxon-transfer.d.ts.map +1 -0
  105. package/dist/esm/runtime/luxon-transfer.js +183 -0
  106. package/dist/esm/runtime/luxon-transfer.js.map +1 -0
  107. package/dist/esm/runtime/serialize.d.ts +7 -7
  108. package/dist/esm/runtime/serialize.d.ts.map +1 -1
  109. package/dist/esm/runtime/serialize.js +42 -30
  110. package/dist/esm/runtime/serialize.js.map +1 -1
  111. package/dist/esm/runtime/transfer.d.ts +77 -0
  112. package/dist/esm/runtime/transfer.d.ts.map +1 -0
  113. package/dist/esm/runtime/transfer.js +173 -0
  114. package/dist/esm/runtime/transfer.js.map +1 -0
  115. package/dist/esm/types/bridge.d.ts +16 -0
  116. package/dist/esm/types/bridge.d.ts.map +1 -1
  117. package/dist/esm/types/bridge.js +1 -0
  118. package/dist/esm/types/bridge.js.map +1 -1
  119. package/dist/esm/types/evaluator.d.ts +9 -0
  120. package/dist/esm/types/evaluator.d.ts.map +1 -1
  121. package/dist/esm/types/evaluator.js.map +1 -1
  122. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/runtime/transfer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,gEAAgE;AAChE,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIlD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACpC,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAC7B,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC;IAC7B,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC;AAEtE,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;AAO9E,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGjE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB,CAEpF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG7E;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAW/D;AAyED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAGxF"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Framing for values that cross the runtime boundary.
3
+ *
4
+ * Results cross by structured clone, which does not carry the prototype of a
5
+ * class instance. A type the host must get back as a real instance goes across
6
+ * as a structured-cloneable marker object instead: a plain object naming its
7
+ * type under `__n8nType`, which the host reads and rebuilds from.
8
+ *
9
+ * This module knows the framing and nothing about any single type. The encoders
10
+ * and the decoders live next to the type they carry, such as `luxon-transfer`.
11
+ *
12
+ * User data can hold the same keys. The escape wrapper below lets the host tell
13
+ * a marker from user data that looks like one.
14
+ */
15
+ /** Names the type a marker carries, and marks the object as one of ours. */
16
+ export const TRANSFER_TYPE_KEY = '__n8nType';
17
+ /** Marks a wrapper whose payload is user data, not a marker. */
18
+ export const TRANSFER_ESCAPED_KEY = '__n8nEscaped';
19
+ /** Marks an escaped payload the host must return without any walk. */
20
+ export const TRANSFER_OPAQUE_KEY = '__n8nOpaque';
21
+ /** Holds the payload of an escaped wrapper. */
22
+ export const TRANSFER_VALUE_KEY = '__value';
23
+ /**
24
+ * Keys that make an object look like our framing.
25
+ *
26
+ * An object with one of these own keys is escaped, so the host reads it as
27
+ * data. The opaque flag is in the set for the same reason. If it were not, user
28
+ * data that holds it would make the host return an object without a walk.
29
+ *
30
+ * One type key covers every marker, so a new type does not grow this set.
31
+ */
32
+ export const TRANSFER_FRAMING_KEYS = [
33
+ TRANSFER_TYPE_KEY,
34
+ TRANSFER_ESCAPED_KEY,
35
+ TRANSFER_OPAQUE_KEY,
36
+ ];
37
+ function readKey(value, key) {
38
+ if (typeof value !== 'object' || value === null)
39
+ return undefined;
40
+ return Reflect.get(value, key);
41
+ }
42
+ /** The type a marker names, or nothing when the value is not a marker. */
43
+ export function transferTypeOf(value) {
44
+ const type = readKey(value, TRANSFER_TYPE_KEY);
45
+ return typeof type === 'string' ? type : undefined;
46
+ }
47
+ export function isTransferSentinel(value) {
48
+ return transferTypeOf(value) !== undefined;
49
+ }
50
+ export function isEscapedTransferValue(value) {
51
+ return readKey(value, TRANSFER_ESCAPED_KEY) === true;
52
+ }
53
+ /**
54
+ * An escaped wrapper whose payload must be returned as data without any
55
+ * further inspection for markers.
56
+ */
57
+ export function isOpaqueTransferValue(value) {
58
+ return readKey(value, TRANSFER_OPAQUE_KEY) === true;
59
+ }
60
+ /** Type guard: plain object with Object.prototype or null prototype. */
61
+ export function isPlainObject(value) {
62
+ const proto = Object.getPrototypeOf(value);
63
+ return proto === Object.prototype || proto === null;
64
+ }
65
+ /** Types that structured clone copies with the prototype intact. */
66
+ export function isStructuredCloneBuiltin(value) {
67
+ return (value instanceof Date ||
68
+ value instanceof RegExp ||
69
+ value instanceof Map ||
70
+ value instanceof Set ||
71
+ value instanceof Error ||
72
+ value instanceof Promise ||
73
+ value instanceof ArrayBuffer ||
74
+ ArrayBuffer.isView(value));
75
+ }
76
+ function unwrapPlainObject(value, decode, seen) {
77
+ const result = {};
78
+ // Record the result before the walk. A value that refers to itself then
79
+ // resolves to the same object.
80
+ seen.set(value, result);
81
+ for (const key of Object.keys(value)) {
82
+ result[key] = unwrapValue(value[key], decode, seen);
83
+ }
84
+ return result;
85
+ }
86
+ function unwrapValue(value, decode, seen) {
87
+ if (value === null || value === undefined)
88
+ return value;
89
+ if (typeof value !== 'object')
90
+ return value;
91
+ if (seen.has(value))
92
+ return seen.get(value);
93
+ if (Array.isArray(value)) {
94
+ const result = new Array(value.length);
95
+ seen.set(value, result);
96
+ // `forEach` steps over the holes of a sparse array, which keeps it sparse.
97
+ value.forEach((item, index) => {
98
+ result[index] = unwrapValue(item, decode, seen);
99
+ });
100
+ return result;
101
+ }
102
+ if (!isPlainObject(value))
103
+ return value;
104
+ if (isTransferSentinel(value))
105
+ return decode(value);
106
+ if (isEscapedTransferValue(value)) {
107
+ const inner = value[TRANSFER_VALUE_KEY];
108
+ // An opaque payload is a value the guest could not walk, so nothing in it
109
+ // is our framing. Give it back as it is. A walked payload only had its own
110
+ // keys collide, so the walk goes on below and rebuilds markers deeper in.
111
+ if (isOpaqueTransferValue(value))
112
+ return inner;
113
+ if (typeof inner !== 'object' || inner === null)
114
+ return inner;
115
+ // An array payload is walked as an array. Its own entries carry no framing,
116
+ // so reading it as a marker is never right.
117
+ if (Array.isArray(inner))
118
+ return unwrapValue(inner, decode, seen);
119
+ if (!isPlainObject(inner))
120
+ return inner;
121
+ return unwrapPlainObject(inner, decode, seen);
122
+ }
123
+ return unwrapPlainObject(value, decode, seen);
124
+ }
125
+ /**
126
+ * Say whether a value holds anything the walk would rebuild.
127
+ *
128
+ * Reads the same shapes the walk reads and builds nothing, so a result with no
129
+ * marker in it costs a read and no memory. `for...in` over a plain object and
130
+ * an index loop over an array both avoid the key array `Object.keys` returns.
131
+ */
132
+ function holdsSentinel(value, seen) {
133
+ if (value === null || typeof value !== 'object')
134
+ return false;
135
+ if (seen.has(value))
136
+ return false;
137
+ seen.add(value);
138
+ if (Array.isArray(value)) {
139
+ for (let index = 0; index < value.length; index++) {
140
+ if (holdsSentinel(value[index], seen))
141
+ return true;
142
+ }
143
+ return false;
144
+ }
145
+ if (!isPlainObject(value))
146
+ return false;
147
+ if (isTransferSentinel(value) || isEscapedTransferValue(value))
148
+ return true;
149
+ for (const key in value) {
150
+ if (holdsSentinel(value[key], seen))
151
+ return true;
152
+ }
153
+ return false;
154
+ }
155
+ /**
156
+ * Rebuild instances from the markers `__prepareForTransfer` emits.
157
+ *
158
+ * Walks the same shapes that function walks: a top-level value, arrays, and
159
+ * plain objects. Other structured-cloneable types are returned untouched.
160
+ * A payload marked opaque is returned as data, without any inspection.
161
+ * Objects already visited are reused, so a graph that repeats or contains
162
+ * itself is walked once.
163
+ *
164
+ * A value that holds no marker is given back as it is. The walk copies every
165
+ * plain object and array it enters, and most results carry no marker at all,
166
+ * so the copy would double what an expression allocates for nothing.
167
+ */
168
+ export function unwrapTransferSentinels(value, decode) {
169
+ if (!holdsSentinel(value, new Set()))
170
+ return value;
171
+ return unwrapValue(value, decode, new Map());
172
+ }
173
+ //# sourceMappingURL=transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/runtime/transfer.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,17 @@ export interface RuntimeBridge {
14
14
  * Must be called before any execute() calls.
15
15
  */
16
16
  initialize(): Promise<void>;
17
+ /**
18
+ * Synchronous variant of initialize(), for creating a bridge on demand
19
+ * from inside the synchronous evaluate() path (lazy acquisition with an
20
+ * exhausted pool). Optional: a bridge whose setup is inherently async can
21
+ * omit it, but then it can only enter service through pool warmup.
22
+ *
23
+ * May require one-time async preparation to have happened earlier in the
24
+ * process (e.g. QuickJS's WASM module load); implementations must throw a
25
+ * clear error when that preparation is missing.
26
+ */
27
+ initializeSync?(): void;
17
28
  /**
18
29
  * Execute JavaScript code in the isolated context.
19
30
  *
@@ -65,6 +76,11 @@ export interface BridgeConfig {
65
76
  timeout?: number;
66
77
  /** Optional logger. Falls back to no-op if not provided. */
67
78
  logger?: Logger;
79
+ /**
80
+ * Reuse V8 compile cache for the runtime bundle. isolated-vm only.
81
+ * Default: false
82
+ */
83
+ compileCache?: boolean;
68
84
  }
69
85
  /** Default values for BridgeConfig. Bridge implementations should use this as their baseline. */
70
86
  export declare const DEFAULT_BRIDGE_CONFIG: Required<BridgeConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/types/bridge.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC7B;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAE7E;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,iGAAiG;AACjG,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAIxD,CAAC;AAEF,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/types/bridge.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC7B;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;;;;;OASG;IACH,cAAc,CAAC,IAAI,IAAI,CAAC;IAExB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAE7E;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AASD,iGAAiG;AACjG,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,YAAY,CAKxD,CAAC;AAEF,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -15,5 +15,6 @@ export const DEFAULT_BRIDGE_CONFIG = {
15
15
  memoryLimit: 128,
16
16
  timeout: 5000,
17
17
  logger: NO_OP_LOGGER,
18
+ compileCache: false,
18
19
  };
19
20
  //# sourceMappingURL=bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,8DAA8D;AAC9D,+EAA+E;AAC/E,+EAA+E;AA+E/E,MAAM,YAAY,GAAW;IAC5B,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CACf,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC5D,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,YAAY;CACpB,CAAC"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/types/bridge.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,8DAA8D;AAC9D,+EAA+E;AAC/E,+EAA+E;AAiG/E,MAAM,YAAY,GAAW;IAC5B,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CACf,CAAC;AAEF,iGAAiG;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC5D,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,YAAY;IACpB,YAAY,EAAE,KAAK;CACnB,CAAC"}
@@ -32,6 +32,15 @@ export interface EvaluatorConfig {
32
32
  poolSize?: number;
33
33
  /** If set, scale the pool to 0 warm bridges after this many ms with no isolate acquire. */
34
34
  idleTimeoutMs?: number;
35
+ /**
36
+ * Lazy acquisition mode (prototype): acquire() only opens a scope for the
37
+ * caller; the bridge is created synchronously on the first evaluate() that
38
+ * actually needs the engine. Callers whose expressions never reach the
39
+ * engine (e.g. handled by a host-side fast path) never consume a bridge.
40
+ * On pool exhaustion the bridge is cold-started synchronously via
41
+ * RuntimeBridge.initializeSync().
42
+ */
43
+ lazyAcquire?: boolean;
35
44
  /** Optional logger. Passed through to pool. Falls back to no-op. */
36
45
  logger?: Logger;
37
46
  }
@@ -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":"AA+UA,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,0DAA0D;AAC1D,wDAAwD;AACxD,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGjC,OAAO;IAFf,YACC,OAAe,EACR,OAKN;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;uBAPR,OAAO;QAQd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAC/B,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;CAAG;AACxD,MAAM,OAAO,YAAa,SAAQ,eAAe;CAAG;AACpD,MAAM,OAAO,sBAAuB,SAAQ,eAAe;CAAG;AAC9D,MAAM,OAAO,WAAY,SAAQ,eAAe;CAAG"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/types/evaluator.ts"],"names":[],"mappings":"AAyVA,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,0DAA0D;AAC1D,wDAAwD;AACxD,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGjC,OAAO;IAFf,YACC,OAAe,EACR,OAKN;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;uBAPR,OAAO;QAQd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAC/B,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;CAAG;AACxD,MAAM,OAAO,YAAa,SAAQ,eAAe;CAAG;AACpD,MAAM,OAAO,sBAAuB,SAAQ,eAAe;CAAG;AAC9D,MAAM,OAAO,WAAY,SAAQ,eAAe;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/expression-runtime",
3
- "version": "0.30.0",
3
+ "version": "0.31.1",
4
4
  "description": "Secure, isolated expression evaluation runtime for n8n",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -24,9 +24,9 @@
24
24
  ],
25
25
  "license": "SEE LICENSE IN LICENSE.md",
26
26
  "dependencies": {
27
- "@n8n/errors": "0.13.0",
28
- "@n8n/tournament": "1.11.0",
29
- "isolated-vm": "^7.0.0",
27
+ "@n8n/errors": "0.14.0",
28
+ "@n8n/tournament": "1.12.1",
29
+ "isolated-vm": "^7.0.1",
30
30
  "jmespath": "0.16.0",
31
31
  "js-base64": "3.7.8",
32
32
  "jssha": "3.3.1",
@@ -39,8 +39,8 @@
39
39
  "zod": "3.25.76"
40
40
  },
41
41
  "devDependencies": {
42
- "@n8n/typescript-config": "1.11.0",
43
- "@n8n/vitest-config": "1.21.0",
42
+ "@n8n/typescript-config": "1.12.0",
43
+ "@n8n/vitest-config": "1.22.0",
44
44
  "@types/jmespath": "^0.15.0",
45
45
  "@types/lodash": "4.17.17",
46
46
  "@types/luxon": "3.2.0",