@n8n/expression-runtime 0.6.0 → 0.8.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 (90) hide show
  1. package/dist/bundle/runtime.esm.js +17 -17
  2. package/dist/bundle/runtime.esm.js.map +3 -3
  3. package/dist/bundle/runtime.iife.js +17 -17
  4. package/dist/bundle/runtime.iife.js.map +3 -3
  5. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +8 -0
  6. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  7. package/dist/cjs/bridge/isolated-vm-bridge.js +223 -117
  8. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  9. package/dist/cjs/build.tsbuildinfo +1 -1
  10. package/dist/cjs/evaluator/expression-evaluator.d.ts +8 -1
  11. package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -1
  12. package/dist/cjs/evaluator/expression-evaluator.js +69 -6
  13. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
  14. package/dist/cjs/evaluator/lru-cache.d.ts +11 -0
  15. package/dist/cjs/evaluator/lru-cache.d.ts.map +1 -0
  16. package/dist/cjs/evaluator/lru-cache.js +50 -0
  17. package/dist/cjs/evaluator/lru-cache.js.map +1 -0
  18. package/dist/cjs/extensions/boolean-extensions.d.ts +1 -1
  19. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
  20. package/dist/cjs/extensions/object-extensions.js +8 -4
  21. package/dist/cjs/extensions/object-extensions.js.map +1 -1
  22. package/dist/cjs/index.d.ts +1 -1
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/pool/isolate-pool.d.ts +34 -0
  26. package/dist/cjs/pool/isolate-pool.d.ts.map +1 -0
  27. package/dist/cjs/pool/isolate-pool.js +122 -0
  28. package/dist/cjs/pool/isolate-pool.js.map +1 -0
  29. package/dist/cjs/runtime/index.d.ts +9 -0
  30. package/dist/cjs/runtime/index.d.ts.map +1 -1
  31. package/dist/cjs/runtime/index.js.map +1 -1
  32. package/dist/cjs/runtime/lazy-proxy.d.ts +20 -1
  33. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  34. package/dist/cjs/runtime/lazy-proxy.js +70 -8
  35. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  36. package/dist/cjs/runtime/reset.d.ts.map +1 -1
  37. package/dist/cjs/runtime/reset.js +37 -21
  38. package/dist/cjs/runtime/reset.js.map +1 -1
  39. package/dist/cjs/types/bridge.d.ts +12 -7
  40. package/dist/cjs/types/bridge.d.ts.map +1 -1
  41. package/dist/cjs/types/bridge.js +7 -1
  42. package/dist/cjs/types/bridge.js.map +1 -1
  43. package/dist/cjs/types/evaluator.d.ts +28 -14
  44. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  45. package/dist/cjs/types/evaluator.js.map +1 -1
  46. package/dist/cjs/types/index.d.ts +1 -1
  47. package/dist/cjs/types/index.d.ts.map +1 -1
  48. package/dist/esm/bridge/isolated-vm-bridge.d.ts +8 -0
  49. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  50. package/dist/esm/bridge/isolated-vm-bridge.js +223 -117
  51. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  52. package/dist/esm/build.tsbuildinfo +1 -1
  53. package/dist/esm/evaluator/expression-evaluator.d.ts +8 -1
  54. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
  55. package/dist/esm/evaluator/expression-evaluator.js +68 -5
  56. package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
  57. package/dist/esm/evaluator/lru-cache.d.ts +11 -0
  58. package/dist/esm/evaluator/lru-cache.d.ts.map +1 -0
  59. package/dist/esm/evaluator/lru-cache.js +36 -0
  60. package/dist/esm/evaluator/lru-cache.js.map +1 -0
  61. package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
  62. package/dist/esm/extensions/object-extensions.js +8 -4
  63. package/dist/esm/extensions/object-extensions.js.map +1 -1
  64. package/dist/esm/index.d.ts +1 -1
  65. package/dist/esm/index.d.ts.map +1 -1
  66. package/dist/esm/index.js.map +1 -1
  67. package/dist/esm/pool/isolate-pool.d.ts +34 -0
  68. package/dist/esm/pool/isolate-pool.d.ts.map +1 -0
  69. package/dist/esm/pool/isolate-pool.js +106 -0
  70. package/dist/esm/pool/isolate-pool.js.map +1 -0
  71. package/dist/esm/runtime/index.d.ts +9 -0
  72. package/dist/esm/runtime/index.d.ts.map +1 -1
  73. package/dist/esm/runtime/index.js.map +1 -1
  74. package/dist/esm/runtime/lazy-proxy.d.ts +20 -1
  75. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  76. package/dist/esm/runtime/lazy-proxy.js +69 -8
  77. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  78. package/dist/esm/runtime/reset.d.ts.map +1 -1
  79. package/dist/esm/runtime/reset.js +38 -22
  80. package/dist/esm/runtime/reset.js.map +1 -1
  81. package/dist/esm/types/bridge.d.ts +12 -7
  82. package/dist/esm/types/bridge.d.ts.map +1 -1
  83. package/dist/esm/types/bridge.js +7 -1
  84. package/dist/esm/types/bridge.js.map +1 -1
  85. package/dist/esm/types/evaluator.d.ts +28 -14
  86. package/dist/esm/types/evaluator.d.ts.map +1 -1
  87. package/dist/esm/types/evaluator.js.map +1 -1
  88. package/dist/esm/types/index.d.ts +1 -1
  89. package/dist/esm/types/index.d.ts.map +1 -1
  90. package/package.json +6 -4
@@ -4,13 +4,16 @@
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", "../types/bridge", "../pool/isolate-pool", "./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 bridge_1 = require("../types/bridge");
15
+ const isolate_pool_1 = require("../pool/isolate-pool");
16
+ const lru_cache_1 = require("./lru-cache");
14
17
  class ExpressionEvaluator {
15
18
  config;
16
19
  disposed = false;
@@ -18,20 +21,54 @@
18
21
  tournament;
19
22
  // Cache: template expression → tournament-transformed JavaScript code
20
23
  // Cache hit rate in production: ~99.9% (same expressions repeat within a workflow)
21
- codeCache = new Map();
24
+ codeCache;
25
+ pool;
26
+ bridgesByCaller = new WeakMap();
27
+ createBridge;
22
28
  constructor(config) {
23
29
  this.config = config;
30
+ this.codeCache = new lru_cache_1.LruCache(config.maxCodeCacheSize, () => {
31
+ this.config.observability?.metrics.counter('expression.code_cache.eviction', 1);
32
+ });
33
+ const logger = config.logger ?? bridge_1.DEFAULT_BRIDGE_CONFIG.logger;
34
+ this.createBridge = async () => {
35
+ const bridge = config.createBridge();
36
+ await bridge.initialize();
37
+ return bridge;
38
+ };
39
+ this.pool = new isolate_pool_1.IsolatePool(this.createBridge, config.poolSize ?? 1, (error) => {
40
+ logger.error('[IsolatePool] Failed to replenish bridge', { error });
41
+ config.observability?.metrics.counter('expression.pool.replenish_failed', 1);
42
+ }, logger);
24
43
  }
25
44
  async initialize() {
26
- await this.config.bridge.initialize();
45
+ await this.pool.initialize();
27
46
  }
28
- evaluate(expression, data, options) {
47
+ async acquire(caller) {
48
+ if (this.bridgesByCaller.has(caller))
49
+ return;
50
+ let bridge;
51
+ try {
52
+ bridge = this.pool.acquire();
53
+ }
54
+ catch (error) {
55
+ if (error instanceof isolate_pool_1.PoolDisposedError)
56
+ throw error;
57
+ if (!(error instanceof isolate_pool_1.PoolExhaustedError))
58
+ throw error;
59
+ bridge = await this.createBridge();
60
+ }
61
+ this.config.observability?.metrics.counter('expression.pool.acquired', 1);
62
+ this.bridgesByCaller.set(caller, bridge);
63
+ }
64
+ evaluate(expression, data, caller, options) {
29
65
  if (this.disposed)
30
66
  throw new Error('Evaluator disposed');
67
+ const bridge = this.getBridge(caller);
31
68
  // Transform template expression → sanitized JavaScript (cached)
32
69
  const transformedCode = this.getTransformedCode(expression);
33
70
  try {
34
- const result = this.config.bridge.execute(transformedCode, data, {
71
+ const result = bridge.execute(transformedCode, data, {
35
72
  timezone: options?.timezone,
36
73
  });
37
74
  if (this.config.observability) {
@@ -46,6 +83,28 @@
46
83
  throw error;
47
84
  }
48
85
  }
86
+ getBridge(caller) {
87
+ const bridge = this.bridgesByCaller.get(caller);
88
+ if (!bridge) {
89
+ throw new Error('No bridge acquired for this context. Call acquire() first.');
90
+ }
91
+ // If the isolate died mid-execution (e.g. OOM), all remaining expressions
92
+ // in this execution are expected to fail. Recovery is per-execution, not per-expression.
93
+ if (bridge.isDisposed()) {
94
+ throw new Error('Isolate for this caller is no longer available');
95
+ }
96
+ return bridge;
97
+ }
98
+ async release(caller) {
99
+ const bridge = this.bridgesByCaller.get(caller);
100
+ if (!bridge)
101
+ return;
102
+ this.bridgesByCaller.delete(caller);
103
+ await this.pool.release(bridge);
104
+ }
105
+ async waitForReplenishment() {
106
+ await this.pool.waitForReplenishment();
107
+ }
49
108
  /**
50
109
  * Transform a template expression to executable JavaScript via tournament.
51
110
  *
@@ -58,8 +117,10 @@
58
117
  getTransformedCode(expression) {
59
118
  const cached = this.codeCache.get(expression);
60
119
  if (cached !== undefined) {
120
+ this.config.observability?.metrics.counter('expression.code_cache.hit', 1);
61
121
  return cached;
62
122
  }
123
+ this.config.observability?.metrics.counter('expression.code_cache.miss', 1);
63
124
  if (!this.tournament) {
64
125
  // Tournament requires an errorHandler but we only use getExpressionCode()
65
126
  // for AST transformation — we never call tournament.execute(), so this
@@ -73,12 +134,14 @@
73
134
  }
74
135
  const [transformedCode] = this.tournament.getExpressionCode(expression);
75
136
  this.codeCache.set(expression, transformedCode);
137
+ this.config.observability?.metrics.gauge('expression.code_cache.size', this.codeCache.size);
76
138
  return transformedCode;
77
139
  }
78
140
  async dispose() {
79
141
  this.disposed = true;
80
142
  this.codeCache.clear();
81
- await this.config.bridge.dispose();
143
+ this.config.observability?.metrics.gauge('expression.code_cache.size', 0);
144
+ await this.pool.dispose();
82
145
  }
83
146
  isDisposed() {
84
147
  return this.disposed;
@@ -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,6 +1,6 @@
1
1
  import type { ExtensionMap } from './extensions';
2
2
  export declare function toBoolean(value: boolean): boolean;
3
- export declare function toInt(value: boolean): 1 | 0;
3
+ export declare function toInt(value: boolean): 0 | 1;
4
4
  export declare function toDateTime(): undefined;
5
5
  export declare const booleanExtensions: ExtensionMap;
6
6
  //# sourceMappingURL=boolean-extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-extensions.d.ts","sourceRoot":"","sources":["../../../src/extensions/object-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmEjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB7C;yBAjBe,OAAO;;;;;;;;;;;;AAuBvB,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,UAStC;yBATe,SAAS;;;;;;;;;;;;AAWzB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,UAEzC;yBAFe,YAAY;;;;;;;;;;;;AAI5B,wBAAgB,KAAK,cAEpB;AAED,wBAAgB,OAAO,cAEtB;AAED,wBAAgB,SAAS,cAExB;AAED,wBAAgB,UAAU,cAEzB;AA+LD,eAAO,MAAM,gBAAgB,EAAE,YAmB9B,CAAC"}
1
+ {"version":3,"file":"object-extensions.d.ts","sourceRoot":"","sources":["../../../src/extensions/object-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmEjD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiB7C;yBAjBe,OAAO;;;;;;;;;;;;AA8BvB,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,UAItC;yBAJe,SAAS;;;;;;;;;;;;AAMzB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,UAEzC;yBAFe,YAAY;;;;;;;;;;;;AAI5B,wBAAgB,KAAK,cAEpB;AAED,wBAAgB,OAAO,cAEtB;AAED,wBAAgB,SAAS,cAExB;AAED,wBAAgB,UAAU,cAEzB;AA+LD,eAAO,MAAM,gBAAgB,EAAE,YAmB9B,CAAC"}
@@ -95,12 +95,16 @@
95
95
  // DIVERGENCE from packages/workflow/src/extensions/object-extensions.ts:
96
96
  // The original uses URLSearchParams which is a Web API unavailable inside the
97
97
  // V8 isolate. encodeURIComponent is an ECMAScript built-in available in all
98
- // V8 contexts and produces the same output for the supported input type.
98
+ // V8 contexts, but it doesn't encode !'()~ which WHATWG requires. The extra
99
+ // replace step covers those characters to match URLSearchParams output.
100
+ function whatwgEncode(str) {
101
+ return encodeURIComponent(str)
102
+ .replace(/%20/g, '+')
103
+ .replace(/[!'()~]/g, (c) => '%' + c.charCodeAt(0).toString(16).toUpperCase());
104
+ }
99
105
  function urlEncode(value) {
100
106
  return Object.entries(value)
101
- .map(([k, v]) => encodeURIComponent(k).replace(/%20/g, '+') +
102
- '=' +
103
- encodeURIComponent(String(v)).replace(/%20/g, '+'))
107
+ .map(([k, v]) => whatwgEncode(k) + '=' + whatwgEncode(String(v)))
104
108
  .join('&');
105
109
  }
106
110
  function toJsonString(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"object-extensions.js","sourceRoot":"","sources":["../../../src/extensions/object-extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-extensions.js","sourceRoot":"","sources":["../../../src/extensions/object-extensions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { ExpressionEvaluator } from './evaluator/expression-evaluator';
2
2
  export { IsolatedVmBridge } from './bridge/isolated-vm-bridge';
3
- export type { IExpressionEvaluator, EvaluatorConfig, WorkflowData, EvaluateOptions, ExecuteOptions, RuntimeBridge, BridgeConfig, ObservabilityProvider, MetricsAPI, TracesAPI, Span, LogsAPI, } from './types';
3
+ export type { IExpressionEvaluator, EvaluatorConfig, WorkflowData, EvaluateOptions, ExecuteOptions, RuntimeBridge, BridgeConfig, Logger, ObservabilityProvider, MetricsAPI, TracesAPI, Span, LogsAPI, } from './types';
4
4
  export { ExpressionError, MemoryLimitError, TimeoutError, SecurityViolationError, SyntaxError, } from './types';
5
5
  export { extend, extendOptional, EXTENSION_OBJECTS } from './extensions/extend';
6
6
  export { ExpressionExtensionError } from './extensions/expression-extension-error';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,IAAI,EACJ,OAAO,GACP,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,WAAW,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,YAAY,EACX,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,MAAM,EACN,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,IAAI,EACJ,OAAO,GACP,MAAM,SAAS,CAAC;AAGjB,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,WAAW,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,eAAe;IACf,yEAAuE;IAA9D,2HAAA,mBAAmB,OAAA;IAE5B,uEAAuE;IACvE,6EAA6E;IAC7E,kEAA+D;IAAtD,sHAAA,gBAAgB,OAAA;IAkBzB,cAAc;IACd,iCAMiB;IALhB,wGAAA,eAAe,OAAA;IACf,yGAAA,gBAAgB,OAAA;IAChB,qGAAA,YAAY,OAAA;IACZ,+GAAA,sBAAsB,OAAA;IACtB,oGAAA,WAAW,OAAA;IAGZ,4BAA4B;IAC5B,8CAAgF;IAAvE,gGAAA,MAAM,OAAA;IAAE,wGAAA,cAAc,OAAA;IAAE,2GAAA,iBAAiB,OAAA;IAClD,sFAAmF;IAA1E,sIAAA,wBAAwB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,eAAe;IACf,yEAAuE;IAA9D,2HAAA,mBAAmB,OAAA;IAE5B,uEAAuE;IACvE,6EAA6E;IAC7E,kEAA+D;IAAtD,sHAAA,gBAAgB,OAAA;IAmBzB,cAAc;IACd,iCAMiB;IALhB,wGAAA,eAAe,OAAA;IACf,yGAAA,gBAAgB,OAAA;IAChB,qGAAA,YAAY,OAAA;IACZ,+GAAA,sBAAsB,OAAA;IACtB,oGAAA,WAAW,OAAA;IAGZ,4BAA4B;IAC5B,8CAAgF;IAAvE,gGAAA,MAAM,OAAA;IAAE,wGAAA,cAAc,OAAA;IAAE,2GAAA,iBAAiB,OAAA;IAClD,sFAAmF;IAA1E,sIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,34 @@
1
+ import type { RuntimeBridge } from '../types';
2
+ import type { Logger } from '../types/bridge';
3
+ export declare class PoolDisposedError extends Error {
4
+ constructor();
5
+ }
6
+ export declare class PoolExhaustedError extends Error {
7
+ constructor();
8
+ }
9
+ export declare class IsolatePool {
10
+ private readonly createBridge;
11
+ private readonly size;
12
+ private readonly onReplenishFailed?;
13
+ private readonly logger?;
14
+ private bridges;
15
+ private disposed;
16
+ /** Number of bridges currently being created. */
17
+ private warming;
18
+ /** In-flight isolate replenishment promises. */
19
+ private replenishPromises;
20
+ constructor(createBridge: () => Promise<RuntimeBridge>, size: number, onReplenishFailed?: ((error: unknown) => void) | undefined, logger?: Logger | undefined);
21
+ initialize(): Promise<void>;
22
+ /**
23
+ * Pops a warm bridge from the pool. Kickstarts replenishment.
24
+ * Throws if disposed or pool is empty. Callers are expected to handle the empty case by falling back to cold-start bridge creation.
25
+ */
26
+ acquire(): RuntimeBridge;
27
+ release(bridge: RuntimeBridge): Promise<void>;
28
+ dispose(): Promise<void>;
29
+ private static readonly MAX_REPLENISH_RETRIES;
30
+ private static readonly REPLENISH_RETRY_BASE_MS;
31
+ waitForReplenishment(): Promise<void>;
32
+ private replenish;
33
+ }
34
+ //# sourceMappingURL=isolate-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolate-pool.d.ts","sourceRoot":"","sources":["../../../src/pool/isolate-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,iBAAkB,SAAQ,KAAK;;CAK3C;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAK5C;AAED,qBAAa,WAAW;IAStB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAXzB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAS;IACzB,iDAAiD;IACjD,OAAO,CAAC,OAAO,CAAK;IACpB,gDAAgD;IAChD,OAAO,CAAC,iBAAiB,CAA4B;gBAGnC,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAC1C,IAAI,EAAE,MAAM,EACZ,iBAAiB,CAAC,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,aAAA,EAC5C,MAAM,CAAC,EAAE,MAAM,YAAA;IAG3B,UAAU;IAoBhB;;;OAGG;IACH,OAAO,IAAI,aAAa;IAQlB,OAAO,CAAC,MAAM,EAAE,aAAa;IAK7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAK;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAO;IAEhD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3C,OAAO,CAAC,SAAS;CA4BjB"}
@@ -0,0 +1,122 @@
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.IsolatePool = exports.PoolExhaustedError = exports.PoolDisposedError = void 0;
13
+ class PoolDisposedError extends Error {
14
+ constructor() {
15
+ super('Pool is disposed');
16
+ this.name = 'PoolDisposedError';
17
+ }
18
+ }
19
+ exports.PoolDisposedError = PoolDisposedError;
20
+ class PoolExhaustedError extends Error {
21
+ constructor() {
22
+ super('No isolate bridge available in pool');
23
+ this.name = 'PoolExhaustedError';
24
+ }
25
+ }
26
+ exports.PoolExhaustedError = PoolExhaustedError;
27
+ class IsolatePool {
28
+ createBridge;
29
+ size;
30
+ onReplenishFailed;
31
+ logger;
32
+ bridges = [];
33
+ disposed = false;
34
+ /** Number of bridges currently being created. */
35
+ warming = 0;
36
+ /** In-flight isolate replenishment promises. */
37
+ replenishPromises = new Set();
38
+ constructor(createBridge, size, onReplenishFailed, logger) {
39
+ this.createBridge = createBridge;
40
+ this.size = size;
41
+ this.onReplenishFailed = onReplenishFailed;
42
+ this.logger = logger;
43
+ }
44
+ async initialize() {
45
+ const results = await Promise.allSettled(Array.from({ length: this.size }, () => this.createBridge()));
46
+ for (const result of results) {
47
+ if (result.status === 'fulfilled') {
48
+ this.bridges.push(result.value);
49
+ }
50
+ else {
51
+ this.logger?.error('[IsolatePool] Failed to create bridge during init', {
52
+ error: result.reason,
53
+ });
54
+ }
55
+ }
56
+ if (this.bridges.length === 0) {
57
+ throw new Error('IsolatePool failed to create any bridges');
58
+ }
59
+ }
60
+ /**
61
+ * Pops a warm bridge from the pool. Kickstarts replenishment.
62
+ * Throws if disposed or pool is empty. Callers are expected to handle the empty case by falling back to cold-start bridge creation.
63
+ */
64
+ acquire() {
65
+ if (this.disposed)
66
+ throw new PoolDisposedError();
67
+ const bridge = this.bridges.shift();
68
+ if (!bridge)
69
+ throw new PoolExhaustedError();
70
+ void this.replenish();
71
+ return bridge;
72
+ }
73
+ async release(bridge) {
74
+ if (!bridge.isDisposed())
75
+ await bridge.dispose();
76
+ this.replenish();
77
+ }
78
+ async dispose() {
79
+ this.disposed = true;
80
+ await Promise.all([...this.replenishPromises]);
81
+ await Promise.all(this.bridges.map((b) => b.dispose()));
82
+ this.bridges = [];
83
+ }
84
+ static MAX_REPLENISH_RETRIES = 3;
85
+ static REPLENISH_RETRY_BASE_MS = 500;
86
+ async waitForReplenishment() {
87
+ if (this.replenishPromises.size > 0) {
88
+ await Promise.all([...this.replenishPromises]);
89
+ }
90
+ }
91
+ replenish(attempt = 0) {
92
+ if (this.disposed)
93
+ return;
94
+ if (this.bridges.length + this.warming >= this.size)
95
+ return;
96
+ this.warming++;
97
+ let promise;
98
+ promise = this.createBridge()
99
+ .then((bridge) => {
100
+ this.warming--;
101
+ this.replenishPromises.delete(promise);
102
+ if (this.disposed) {
103
+ void bridge.dispose();
104
+ return;
105
+ }
106
+ this.bridges.push(bridge);
107
+ })
108
+ .catch((error) => {
109
+ this.warming--;
110
+ this.replenishPromises.delete(promise);
111
+ this.onReplenishFailed?.(error);
112
+ if (attempt < IsolatePool.MAX_REPLENISH_RETRIES) {
113
+ const delay = IsolatePool.REPLENISH_RETRY_BASE_MS * 2 ** attempt;
114
+ setTimeout(() => this.replenish(attempt + 1), delay).unref();
115
+ }
116
+ });
117
+ this.replenishPromises.add(promise);
118
+ }
119
+ }
120
+ exports.IsolatePool = IsolatePool;
121
+ });
122
+ //# sourceMappingURL=isolate-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolate-pool.js","sourceRoot":"","sources":["../../../src/pool/isolate-pool.ts"],"names":[],"mappings":";;;;;;;;;;;;IAGA,MAAa,iBAAkB,SAAQ,KAAK;QAC3C;YACC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QACjC,CAAC;KACD;IALD,8CAKC;IAED,MAAa,kBAAmB,SAAQ,KAAK;QAC5C;YACC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QAClC,CAAC;KACD;IALD,gDAKC;IAED,MAAa,WAAW;QASL;QACA;QACA;QACA;QAXV,OAAO,GAAoB,EAAE,CAAC;QAC9B,QAAQ,GAAG,KAAK,CAAC;QACzB,iDAAiD;QACzC,OAAO,GAAG,CAAC,CAAC;QACpB,gDAAgD;QACxC,iBAAiB,GAAG,IAAI,GAAG,EAAiB,CAAC;QAErD,YACkB,YAA0C,EAC1C,IAAY,EACZ,iBAA4C,EAC5C,MAAe;YAHf,iBAAY,GAAZ,YAAY,CAA8B;YAC1C,SAAI,GAAJ,IAAI,CAAQ;YACZ,sBAAiB,GAAjB,iBAAiB,CAA2B;YAC5C,WAAM,GAAN,MAAM,CAAS;QAC9B,CAAC;QAEJ,KAAK,CAAC,UAAU;YACf,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAC5D,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,mDAAmD,EAAE;wBACvE,KAAK,EAAE,MAAM,CAAC,MAAM;qBACpB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC;QAED;;;WAGG;QACH,OAAO;YACN,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,kBAAkB,EAAE,CAAC;YAC5C,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC;QACf,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,MAAqB;YAClC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBAAE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,OAAO;YACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,CAAC;QAEO,MAAM,CAAU,qBAAqB,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAU,uBAAuB,GAAG,GAAG,CAAC;QAEtD,KAAK,CAAC,oBAAoB;YACzB,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;QAEO,SAAS,CAAC,OAAO,GAAG,CAAC;YAC5B,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO;YAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,OAAsB,CAAC;YAC3B,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;iBAC3B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBACtB,OAAO;gBACR,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;gBAEhC,IAAI,OAAO,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,WAAW,CAAC,uBAAuB,GAAG,CAAC,IAAI,OAAO,CAAC;oBACjE,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC9D,CAAC;YACF,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;;IA/FF,kCAgGC"}
@@ -28,6 +28,15 @@ declare global {
28
28
  var $now: import('luxon').DateTime;
29
29
  var $today: import('luxon').DateTime;
30
30
  var $items: unknown;
31
+ var $execution: unknown;
32
+ var $vars: unknown;
33
+ var $secrets: unknown;
34
+ var $executionId: string | undefined;
35
+ var $resumeWebhookUrl: string | undefined;
36
+ var $webhookId: string | undefined;
37
+ var $nodeId: string | undefined;
38
+ var $nodeVersion: number | undefined;
39
+ var $: (nodeName: string) => unknown;
31
40
  }
32
41
  }
33
42
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAUA,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,UAAU,CAAC;QAEpB,IAAI,gBAAgB,EAAE,GAAG,CAAC;QAC1B,IAAI,iBAAiB,EAAE,GAAG,CAAC;QAC3B,IAAI,oBAAoB,EAAE,GAAG,CAAC;QAG9B,IAAI,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAGpC,IAAI,mBAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC;QAGtD,IAAI,gBAAgB,EAAE,MAAM,IAAI,CAAC;QAGjC,IAAI,UAAU,EAAE,OAAO,MAAM,CAAC;QAC9B,IAAI,SAAS,EAAE,OAAO,KAAK,CAAC;QAG5B,IAAI,QAAQ,EAAE,cAAc,OAAO,EAAE,QAAQ,CAAC;QAC9C,IAAI,QAAQ,EAAE,cAAc,OAAO,EAAE,QAAQ,CAAC;QAC9C,IAAI,QAAQ,EAAE,cAAc,OAAO,EAAE,QAAQ,CAAC;QAC9C,IAAI,oBAAoB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;QACtD,IAAI,MAAM,EAAE,cAAc,sBAAsB,EAAE,MAAM,CAAC;QACzD,IAAI,cAAc,EAAE,cAAc,sBAAsB,EAAE,cAAc,CAAC;QAGzE,IAAI,KAAK,EAAE,OAAO,CAAC;QACnB,IAAI,OAAO,EAAE,OAAO,CAAC;QACrB,IAAI,MAAM,EAAE,OAAO,CAAC;QACpB,IAAI,KAAK,EAAE,OAAO,CAAC;QACnB,IAAI,UAAU,EAAE,OAAO,CAAC;QACxB,IAAI,SAAS,EAAE,OAAO,CAAC;QACvB,IAAI,SAAS,EAAE,OAAO,CAAC;QACvB,IAAI,KAAK,EAAE,OAAO,CAAC;QACnB,IAAI,IAAI,EAAE,OAAO,CAAC;QAClB,IAAI,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,IAAI,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,IAAI,IAAI,EAAE,OAAO,OAAO,EAAE,QAAQ,CAAC;QACnC,IAAI,MAAM,EAAE,OAAO,OAAO,EAAE,QAAQ,CAAC;QACrC,IAAI,MAAM,EAAE,OAAO,CAAC;KACpB;CACD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAUA,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,UAAU,CAAC;QAEpB,IAAI,gBAAgB,EAAE,GAAG,CAAC;QAC1B,IAAI,iBAAiB,EAAE,GAAG,CAAC;QAC3B,IAAI,oBAAoB,EAAE,GAAG,CAAC;QAG9B,IAAI,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAGpC,IAAI,mBAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC;QAGtD,IAAI,gBAAgB,EAAE,MAAM,IAAI,CAAC;QAGjC,IAAI,UAAU,EAAE,OAAO,MAAM,CAAC;QAC9B,IAAI,SAAS,EAAE,OAAO,KAAK,CAAC;QAG5B,IAAI,QAAQ,EAAE,cAAc,OAAO,EAAE,QAAQ,CAAC;QAC9C,IAAI,QAAQ,EAAE,cAAc,OAAO,EAAE,QAAQ,CAAC;QAC9C,IAAI,QAAQ,EAAE,cAAc,OAAO,EAAE,QAAQ,CAAC;QAC9C,IAAI,oBAAoB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;QACtD,IAAI,MAAM,EAAE,cAAc,sBAAsB,EAAE,MAAM,CAAC;QACzD,IAAI,cAAc,EAAE,cAAc,sBAAsB,EAAE,cAAc,CAAC;QAGzE,IAAI,KAAK,EAAE,OAAO,CAAC;QACnB,IAAI,OAAO,EAAE,OAAO,CAAC;QACrB,IAAI,MAAM,EAAE,OAAO,CAAC;QACpB,IAAI,KAAK,EAAE,OAAO,CAAC;QACnB,IAAI,UAAU,EAAE,OAAO,CAAC;QACxB,IAAI,SAAS,EAAE,OAAO,CAAC;QACvB,IAAI,SAAS,EAAE,OAAO,CAAC;QACvB,IAAI,KAAK,EAAE,OAAO,CAAC;QACnB,IAAI,IAAI,EAAE,OAAO,CAAC;QAClB,IAAI,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,IAAI,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,IAAI,IAAI,EAAE,OAAO,OAAO,EAAE,QAAQ,CAAC;QACnC,IAAI,MAAM,EAAE,OAAO,OAAO,EAAE,QAAQ,CAAC;QACrC,IAAI,MAAM,EAAE,OAAO,CAAC;QACpB,IAAI,UAAU,EAAE,OAAO,CAAC;QACxB,IAAI,KAAK,EAAE,OAAO,CAAC;QACnB,IAAI,QAAQ,EAAE,OAAO,CAAC;QACtB,IAAI,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,IAAI,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,IAAI,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,IAAI,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,IAAI,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;KACrC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;IAAA,iCAAqD;IAErD,iDAA8D;IAE9D,iDAAwE;IACxE,6CAAmD;IACnD,mCAA2C;IAC3C,2CAAmD;IAiDnD,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E,gEAAgE;IAChE,UAAU,CAAC,MAAM,GAAG,eAAM,CAAC;IAC3B,UAAU,CAAC,cAAc,GAAG,uBAAc,CAAC;IAC3C,UAAU,CAAC,QAAQ,GAAG,gBAAQ,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,gBAAQ,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,gBAAQ,CAAC;IAE/B,+EAA+E;IAC/E,gDAAgD;IAChD,+EAA+E;IAE/E,UAAU,CAAC,UAAU,GAAG,yBAAU,CAAC;IACnC,UAAU,CAAC,SAAS,GAAG,wBAAS,CAAC;IAChC,UAAkB,CAAC,eAAe,GAAG,8BAAe,CAAC;IAEtD,UAAU,CAAC,mBAAmB,GAAG,gCAAmB,CAAC;IACrD,UAAU,CAAC,gBAAgB,GAAG,wBAAgB,CAAC;IAC/C,UAAU,CAAC,oBAAoB,GAAG,gCAAoB,CAAC;IAEvD,wFAAwF;IACxF,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;IAAA,iCAAqD;IAErD,iDAA8D;IAE9D,iDAAwE;IACxE,6CAAmD;IACnD,mCAA2C;IAC3C,2CAAmD;IA0DnD,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E,gEAAgE;IAChE,UAAU,CAAC,MAAM,GAAG,eAAM,CAAC;IAC3B,UAAU,CAAC,cAAc,GAAG,uBAAc,CAAC;IAC3C,UAAU,CAAC,QAAQ,GAAG,gBAAQ,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,gBAAQ,CAAC;IAC/B,UAAU,CAAC,QAAQ,GAAG,gBAAQ,CAAC;IAE/B,+EAA+E;IAC/E,gDAAgD;IAChD,+EAA+E;IAE/E,UAAU,CAAC,UAAU,GAAG,yBAAU,CAAC;IACnC,UAAU,CAAC,SAAS,GAAG,wBAAS,CAAC;IAChC,UAAkB,CAAC,eAAe,GAAG,8BAAe,CAAC;IAEtD,UAAU,CAAC,mBAAmB,GAAG,gCAAmB,CAAC;IACrD,UAAU,CAAC,gBAAgB,GAAG,wBAAgB,CAAC;IAC/C,UAAU,CAAC,oBAAoB,GAAG,gCAAoB,CAAC;IAEvD,wFAAwF;IACxF,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC"}
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Serialized error sentinel returned by host-side bridge callbacks.
3
+ * When a callback throws, the bridge catches the error and returns this
4
+ * sentinel instead of letting it cross the isolate boundary (which strips
5
+ * custom class identity and properties).
6
+ */
7
+ export interface ErrorSentinel {
8
+ __isError: true;
9
+ name: string;
10
+ message: string;
11
+ stack?: string;
12
+ extra?: Record<string, unknown>;
13
+ }
14
+ /**
15
+ * If `value` is an error sentinel from a host-side callback, throw it
16
+ * directly. The isolate's outer try-catch will detect __isError and
17
+ * return it as the result. Error reconstruction happens on the host only.
18
+ */
19
+ export declare function throwIfErrorSentinel(value: unknown): void;
1
20
  /** Returns true if `obj` is a deep lazy proxy created by createDeepLazyProxy. */
2
21
  export declare function isLazyProxy(obj: unknown): boolean;
3
22
  /** Returns the basePath the proxy was created with, or undefined if not a proxy. */
@@ -18,5 +37,5 @@ export declare function getProxyPath(obj: object): string[] | undefined;
18
37
  * @param basePath - Current path in object tree (e.g., ['$json', 'user'])
19
38
  * @returns Proxy object with lazy loading behavior
20
39
  */
21
- export declare function createDeepLazyProxy(basePath?: string[]): any;
40
+ export declare function createDeepLazyProxy(basePath?: string[], knownKeys?: string[]): any;
22
41
  //# sourceMappingURL=lazy-proxy.d.ts.map
@@ -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,CAwJhE"}
1
+ {"version":3,"file":"lazy-proxy.d.ts","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAsBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAKzD;AAED,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,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAkMtF"}