@n8n/expression-runtime 0.7.0 → 0.9.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 (94) hide show
  1. package/dist/bundle/runtime.esm.js +17 -17
  2. package/dist/bundle/runtime.esm.js.map +4 -4
  3. package/dist/bundle/runtime.iife.js +17 -17
  4. package/dist/bundle/runtime.iife.js.map +4 -4
  5. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +48 -34
  6. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  7. package/dist/cjs/bridge/isolated-vm-bridge.js +285 -236
  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 +62 -6
  13. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
  14. package/dist/cjs/extensions/boolean-extensions.d.ts +1 -1
  15. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
  16. package/dist/cjs/extensions/object-extensions.js +8 -4
  17. package/dist/cjs/extensions/object-extensions.js.map +1 -1
  18. package/dist/cjs/index.d.ts +2 -1
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js +4 -2
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/pool/isolate-pool.d.ts +35 -0
  23. package/dist/cjs/pool/isolate-pool.d.ts.map +1 -0
  24. package/dist/cjs/pool/isolate-pool.js +123 -0
  25. package/dist/cjs/pool/isolate-pool.js.map +1 -0
  26. package/dist/cjs/runtime/context.d.ts +18 -0
  27. package/dist/cjs/runtime/context.d.ts.map +1 -0
  28. package/dist/cjs/runtime/{reset.js → context.js} +95 -100
  29. package/dist/cjs/runtime/context.js.map +1 -0
  30. package/dist/cjs/runtime/index.d.ts +1 -19
  31. package/dist/cjs/runtime/index.d.ts.map +1 -1
  32. package/dist/cjs/runtime/index.js +3 -5
  33. package/dist/cjs/runtime/index.js.map +1 -1
  34. package/dist/cjs/runtime/lazy-proxy.d.ts +28 -3
  35. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  36. package/dist/cjs/runtime/lazy-proxy.js +84 -16
  37. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  38. package/dist/cjs/types/bridge.d.ts +12 -7
  39. package/dist/cjs/types/bridge.d.ts.map +1 -1
  40. package/dist/cjs/types/bridge.js +7 -1
  41. package/dist/cjs/types/bridge.js.map +1 -1
  42. package/dist/cjs/types/evaluator.d.ts +24 -14
  43. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  44. package/dist/cjs/types/evaluator.js.map +1 -1
  45. package/dist/cjs/types/index.d.ts +1 -1
  46. package/dist/cjs/types/index.d.ts.map +1 -1
  47. package/dist/esm/bridge/isolated-vm-bridge.d.ts +48 -34
  48. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  49. package/dist/esm/bridge/isolated-vm-bridge.js +285 -236
  50. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  51. package/dist/esm/build.tsbuildinfo +1 -1
  52. package/dist/esm/evaluator/expression-evaluator.d.ts +8 -1
  53. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
  54. package/dist/esm/evaluator/expression-evaluator.js +61 -5
  55. package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
  56. package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
  57. package/dist/esm/extensions/object-extensions.js +8 -4
  58. package/dist/esm/extensions/object-extensions.js.map +1 -1
  59. package/dist/esm/index.d.ts +2 -1
  60. package/dist/esm/index.d.ts.map +1 -1
  61. package/dist/esm/index.js +1 -0
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/pool/isolate-pool.d.ts +35 -0
  64. package/dist/esm/pool/isolate-pool.d.ts.map +1 -0
  65. package/dist/esm/pool/isolate-pool.js +107 -0
  66. package/dist/esm/pool/isolate-pool.js.map +1 -0
  67. package/dist/esm/runtime/context.d.ts +18 -0
  68. package/dist/esm/runtime/context.d.ts.map +1 -0
  69. package/dist/esm/runtime/{reset.js → context.js} +95 -100
  70. package/dist/esm/runtime/context.js.map +1 -0
  71. package/dist/esm/runtime/index.d.ts +1 -19
  72. package/dist/esm/runtime/index.d.ts.map +1 -1
  73. package/dist/esm/runtime/index.js +2 -4
  74. package/dist/esm/runtime/index.js.map +1 -1
  75. package/dist/esm/runtime/lazy-proxy.d.ts +28 -3
  76. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  77. package/dist/esm/runtime/lazy-proxy.js +83 -16
  78. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  79. package/dist/esm/types/bridge.d.ts +12 -7
  80. package/dist/esm/types/bridge.d.ts.map +1 -1
  81. package/dist/esm/types/bridge.js +7 -1
  82. package/dist/esm/types/bridge.js.map +1 -1
  83. package/dist/esm/types/evaluator.d.ts +24 -14
  84. package/dist/esm/types/evaluator.d.ts.map +1 -1
  85. package/dist/esm/types/evaluator.js.map +1 -1
  86. package/dist/esm/types/index.d.ts +1 -1
  87. package/dist/esm/types/index.d.ts.map +1 -1
  88. package/package.json +10 -7
  89. package/dist/cjs/runtime/reset.d.ts +0 -16
  90. package/dist/cjs/runtime/reset.d.ts.map +0 -1
  91. package/dist/cjs/runtime/reset.js.map +0 -1
  92. package/dist/esm/runtime/reset.d.ts +0 -16
  93. package/dist/esm/runtime/reset.d.ts.map +0 -1
  94. package/dist/esm/runtime/reset.js.map +0 -1
@@ -2,7 +2,7 @@ import { DateTime, IANAZone, Settings } from 'luxon';
2
2
  import { extend, extendOptional } from '../extensions/extend';
3
3
  import { extendedFunctions } from '../extensions/function-extensions';
4
4
  import { __sanitize, createSafeErrorSubclass, ExpressionError } from './safe-globals';
5
- import { createDeepLazyProxy } from './lazy-proxy';
5
+ import { createDeepLazyProxy, throwIfErrorSentinel } from './lazy-proxy';
6
6
  // Pre-create safe error subclass wrappers (reused across evaluations)
7
7
  const SafeTypeError = createSafeErrorSubclass(TypeError);
8
8
  const SafeSyntaxError = createSafeErrorSubclass(SyntaxError);
@@ -11,33 +11,36 @@ const SafeRangeError = createSafeErrorSubclass(RangeError);
11
11
  const SafeReferenceError = createSafeErrorSubclass(ReferenceError);
12
12
  const SafeURIError = createSafeErrorSubclass(URIError);
13
13
  // ============================================================================
14
- // Reset Function for Data Proxies
14
+ // Build Context Function
15
15
  // ============================================================================
16
16
  /**
17
- * Reset workflow data proxies before each evaluation.
17
+ * Build a fresh, closure-scoped evaluation context.
18
18
  *
19
- * This function is called from the bridge before executing each expression
20
- * to clear proxy caches and initialize fresh workflow data references.
19
+ * This function creates a context object that contains everything needed to
20
+ * evaluate an expression, without touching any global mutable state
21
+ * (except luxon's Settings.defaultZone which is process-wide).
21
22
  *
22
- * Pattern:
23
- * 1. Create lazy proxies for complex properties ($json, $binary, etc.)
24
- * 2. Fetch primitives directly ($runIndex, $itemIndex)
25
- * 3. Create function wrappers for callable properties ($items, etc.)
26
- * 4. Expose all properties to globalThis for expression access
23
+ * The returned object is used as tournament's `this` context in the
24
+ * evalClosureSync wrapper.
27
25
  *
28
- * Called from bridge: context.evalSync('resetDataProxies()')
26
+ * @param getValueAtPath - ivm.Reference for fetching values by path
27
+ * @param getArrayElement - ivm.Reference for fetching array elements
28
+ * @param callFunctionAtPath - ivm.Reference for calling functions by path
29
+ * @param timezone - Optional IANA timezone string
30
+ * @returns A context object with all workflow data, proxies, and builtins
29
31
  */
30
- export function resetDataProxies(timezone) {
32
+ export function buildContext(getValueAtPath, getArrayElement, callFunctionAtPath, timezone) {
31
33
  if (timezone && !IANAZone.isValidZone(timezone)) {
32
34
  throw new Error(`Invalid timezone: "${timezone}"`);
33
35
  }
34
36
  Settings.defaultZone = timezone ?? 'system';
35
- // Clear existing __data object
36
- globalThis.__data = {};
37
- // __sanitize must be on __data because PrototypeSanitizer generates:
38
- // obj[this.__sanitize(expr)] where 'this' is __data (via .call(__data) wrapping)
37
+ const ctx = {};
38
+ // Callback bundle passed to createDeepLazyProxy so proxies don't touch globalThis
39
+ const callbacks = { getValueAtPath, getArrayElement, callFunctionAtPath };
40
+ // __sanitize must be on the context because PrototypeSanitizer generates:
41
+ // obj[this.__sanitize(expr)] where 'this' is the context (via .call(ctx) wrapping)
39
42
  // Use a non-writable property descriptor so override attempts throw instead of silently succeeding.
40
- Object.defineProperty(globalThis.__data, '__sanitize', {
43
+ Object.defineProperty(ctx, '__sanitize', {
41
44
  get: () => __sanitize,
42
45
  set: () => {
43
46
  throw new ExpressionError('Cannot override "__sanitize" due to security concerns');
@@ -45,125 +48,117 @@ export function resetDataProxies(timezone) {
45
48
  enumerable: false,
46
49
  configurable: false,
47
50
  });
48
- // Verify callbacks are available
49
- // Note: ivm.Reference may not be typeof 'function', check for existence
50
- if (!globalThis.__getValueAtPath) {
51
- throw new Error('__getValueAtPath callback not registered');
52
- }
53
51
  // -------------------------------------------------------------------------
54
52
  // Create lazy proxies for complex workflow properties
55
53
  // -------------------------------------------------------------------------
56
- globalThis.__data.$json = createDeepLazyProxy(['$json']);
57
- globalThis.__data.$binary = createDeepLazyProxy(['$binary']);
58
- globalThis.__data.$input = createDeepLazyProxy(['$input']);
59
- globalThis.__data.$node = createDeepLazyProxy(['$node']);
60
- globalThis.__data.$parameter = createDeepLazyProxy(['$parameter']);
61
- globalThis.__data.$workflow = createDeepLazyProxy(['$workflow']);
62
- globalThis.__data.$prevNode = createDeepLazyProxy(['$prevNode']);
63
- globalThis.__data.$data = createDeepLazyProxy(['$data']);
64
- globalThis.__data.$env = createDeepLazyProxy(['$env']);
54
+ ctx.$json = createDeepLazyProxy(['$json'], undefined, callbacks);
55
+ ctx.$binary = createDeepLazyProxy(['$binary'], undefined, callbacks);
56
+ ctx.$input = createDeepLazyProxy(['$input'], undefined, callbacks);
57
+ ctx.$node = createDeepLazyProxy(['$node'], undefined, callbacks);
58
+ ctx.$parameter = createDeepLazyProxy(['$parameter'], undefined, callbacks);
59
+ ctx.$workflow = createDeepLazyProxy(['$workflow'], undefined, callbacks);
60
+ ctx.$prevNode = createDeepLazyProxy(['$prevNode'], undefined, callbacks);
61
+ ctx.$data = createDeepLazyProxy(['$data'], undefined, callbacks);
62
+ ctx.$env = createDeepLazyProxy(['$env'], undefined, callbacks);
63
+ ctx.process = createDeepLazyProxy(['process'], undefined, callbacks);
64
+ ctx.$execution = createDeepLazyProxy(['$execution'], undefined, callbacks);
65
+ ctx.$vars = createDeepLazyProxy(['$vars'], undefined, callbacks);
66
+ ctx.$secrets = createDeepLazyProxy(['$secrets'], undefined, callbacks);
65
67
  // -------------------------------------------------------------------------
66
68
  // Create DateTime values inside the isolate (not lazy-loaded from host,
67
69
  // because host-side DateTime objects lose their prototype crossing the
68
70
  // boundary). The isolate has its own luxon with the correct timezone
69
71
  // already set via Settings.defaultZone above.
70
72
  // -------------------------------------------------------------------------
71
- globalThis.__data.$now = DateTime.now();
72
- globalThis.__data.$today = DateTime.now().set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
73
+ ctx.$now = DateTime.now();
74
+ ctx.$today = DateTime.now().set({ hour: 0, minute: 0, second: 0, millisecond: 0 });
73
75
  // -------------------------------------------------------------------------
74
76
  // Fetch primitives directly (no lazy loading needed for simple values)
75
77
  // -------------------------------------------------------------------------
76
- try {
77
- globalThis.__data.$runIndex = globalThis.__getValueAtPath.applySync(null, [['$runIndex']], {
78
- arguments: { copy: true },
79
- result: { copy: true },
80
- });
81
- }
82
- catch (error) {
83
- // Property doesn't exist - set to undefined
84
- globalThis.__data.$runIndex = undefined;
85
- }
86
- try {
87
- globalThis.__data.$itemIndex = globalThis.__getValueAtPath.applySync(null, [['$itemIndex']], {
88
- arguments: { copy: true },
89
- result: { copy: true },
90
- });
91
- }
92
- catch (error) {
93
- // Property doesn't exist - set to undefined
94
- globalThis.__data.$itemIndex = undefined;
78
+ function fetchPrimitive(key) {
79
+ try {
80
+ return getValueAtPath.applySync(null, [[key]], {
81
+ arguments: { copy: true },
82
+ result: { copy: true },
83
+ });
84
+ }
85
+ catch {
86
+ return undefined;
87
+ }
95
88
  }
89
+ ctx.$runIndex = fetchPrimitive('$runIndex');
90
+ ctx.$itemIndex = fetchPrimitive('$itemIndex');
91
+ ctx.$executionId = fetchPrimitive('$executionId');
92
+ ctx.$resumeWebhookUrl = fetchPrimitive('$resumeWebhookUrl');
93
+ ctx.$webhookId = fetchPrimitive('$webhookId');
94
+ ctx.$nodeId = fetchPrimitive('$nodeId');
95
+ ctx.$nodeVersion = fetchPrimitive('$nodeVersion');
96
96
  // -------------------------------------------------------------------------
97
- // Expose workflow data to globalThis for expression access
98
- // -------------------------------------------------------------------------
99
- globalThis.$json = globalThis.__data.$json;
100
- globalThis.$binary = globalThis.__data.$binary;
101
- globalThis.$input = globalThis.__data.$input;
102
- globalThis.$node = globalThis.__data.$node;
103
- globalThis.$parameter = globalThis.__data.$parameter;
104
- globalThis.$workflow = globalThis.__data.$workflow;
105
- globalThis.$prevNode = globalThis.__data.$prevNode;
106
- globalThis.$runIndex = globalThis.__data.$runIndex;
107
- globalThis.$itemIndex = globalThis.__data.$itemIndex;
108
- globalThis.$data = globalThis.__data.$data;
109
- globalThis.$env = globalThis.__data.$env;
110
- globalThis.$now = globalThis.__data.$now;
111
- globalThis.$today = globalThis.__data.$today;
112
97
  // Expose standalone functions (min, max, average, numberList, zip, $ifEmpty, etc.)
113
- Object.assign(globalThis.__data, extendedFunctions);
98
+ // -------------------------------------------------------------------------
99
+ Object.assign(ctx, extendedFunctions);
114
100
  // -------------------------------------------------------------------------
115
101
  // Handle function properties (check if value is function metadata)
116
102
  // -------------------------------------------------------------------------
117
- // Check if $items exists and is a function
118
- if (globalThis.__callFunctionAtPath) {
103
+ // Probe a host-side property: if it is a function, create an isolate
104
+ // wrapper that forwards calls via callFunctionAtPath; otherwise copy
105
+ // the value as-is.
106
+ function exposeHostFunction(name) {
107
+ if (!callFunctionAtPath)
108
+ return;
119
109
  try {
120
- const itemsValue = globalThis.__getValueAtPath.applySync(null, [['$items']], {
110
+ const value = getValueAtPath.applySync(null, [[name]], {
121
111
  arguments: { copy: true },
122
112
  result: { copy: true },
123
113
  });
124
- // If it's function metadata, create wrapper
125
- if (itemsValue && typeof itemsValue === 'object' && itemsValue.__isFunction) {
126
- globalThis.$items = function (...args) {
127
- return globalThis.__callFunctionAtPath.applySync(null, [['$items'], ...args], {
114
+ if (value && typeof value === 'object' && value.__isFunction) {
115
+ ctx[name] = function (...args) {
116
+ const result = callFunctionAtPath.applySync(null, [[name], ...args], {
128
117
  arguments: { copy: true },
129
118
  result: { copy: true },
130
119
  });
120
+ throwIfErrorSentinel(result);
121
+ return result;
131
122
  };
132
- globalThis.__data.$items = globalThis.$items;
133
123
  }
134
124
  else {
135
- // Not a function - set to undefined or the value itself
136
- globalThis.$items = itemsValue;
137
- globalThis.__data.$items = itemsValue;
125
+ ctx[name] = value;
138
126
  }
139
127
  }
140
- catch (error) {
141
- // Property doesn't exist
142
- globalThis.$items = undefined;
143
- globalThis.__data.$items = undefined;
128
+ catch {
129
+ ctx[name] = undefined;
144
130
  }
145
131
  }
132
+ exposeHostFunction('$items');
133
+ exposeHostFunction('$fromAI');
134
+ exposeHostFunction('$fromai');
135
+ exposeHostFunction('$fromAi');
146
136
  // -------------------------------------------------------------------------
147
- // Expose globals on __data so tournament's "x in this ? this.x : global.x"
148
- // pattern resolves them correctly (tournament checks __data before global)
137
+ // Expose globals on ctx so tournament's "x in this ? this.x : global.x"
138
+ // pattern resolves them correctly (tournament checks ctx before global)
149
139
  // -------------------------------------------------------------------------
150
- globalThis.__data.DateTime = globalThis.DateTime;
151
- globalThis.__data.Duration = globalThis.Duration;
152
- globalThis.__data.Interval = globalThis.Interval;
153
- // Expose extend/extendOptional on __data so tournament's "x in this ? this.x : global.x"
154
- // pattern resolves them correctly when the VM checks __data first
155
- globalThis.__data.extend = extend;
156
- globalThis.__data.extendOptional = extendOptional;
157
- // Wire builtins so tournament's VariablePolyfill resolves them from __data
158
- initializeBuiltins(globalThis.__data);
140
+ ctx.DateTime = globalThis.DateTime;
141
+ ctx.Duration = globalThis.Duration;
142
+ ctx.Interval = globalThis.Interval;
143
+ // Expose extend/extendOptional on ctx so tournament's "x in this ? this.x : global.x"
144
+ // pattern resolves them correctly when the VM checks ctx first
145
+ ctx.extend = extend;
146
+ ctx.extendOptional = extendOptional;
147
+ // Wire builtins so tournament's VariablePolyfill resolves them from ctx
148
+ initializeBuiltins(ctx);
159
149
  // $item(itemIndex) returns a sub-proxy for the specified item (legacy syntax)
160
- globalThis.__data.$item = function (itemIndex) {
150
+ ctx.$item = function (itemIndex) {
161
151
  const indexStr = String(itemIndex);
162
152
  return {
163
- $json: createDeepLazyProxy(['$item', indexStr, '$json']),
164
- $binary: createDeepLazyProxy(['$item', indexStr, '$binary']),
153
+ $json: createDeepLazyProxy(['$item', indexStr, '$json'], undefined, callbacks),
154
+ $binary: createDeepLazyProxy(['$item', indexStr, '$binary'], undefined, callbacks),
165
155
  };
166
156
  };
157
+ // $() function for accessing other nodes
158
+ ctx.$ = function (nodeName) {
159
+ return createDeepLazyProxy(['$', nodeName], undefined, callbacks);
160
+ };
161
+ return ctx;
167
162
  }
168
163
  // Matches initializeGlobalContext() lines 262-318 in packages/workflow/src/expression.ts
169
164
  const DENYLISTED_GLOBALS = [
@@ -204,10 +199,10 @@ const DENYLISTED_GLOBALS = [
204
199
  'unescape',
205
200
  ];
206
201
  /**
207
- * Wire builtins onto __data so tournament's VariablePolyfill resolves them.
202
+ * Wire builtins onto a context object so tournament's VariablePolyfill resolves them.
208
203
  *
209
204
  * Tournament transforms `Object` → `("Object" in this ? this : window).Object`.
210
- * `this` = __data. Without these entries on __data, builtins fall through to
205
+ * `this` = ctx. Without these entries on ctx, builtins fall through to
211
206
  * `window` which doesn't exist in the isolate, causing a ReferenceError.
212
207
  *
213
208
  * Mirrors Expression.initializeGlobalContext() in packages/workflow/src/expression.ts.
@@ -275,4 +270,4 @@ function initializeBuiltins(data) {
275
270
  data.Boolean = Boolean;
276
271
  data.Symbol = Symbol;
277
272
  }
278
- //# sourceMappingURL=reset.js.map
273
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  declare global {
2
2
  namespace globalThis {
3
- var __getValueAtPath: any;
4
- var __getArrayElement: any;
5
- var __callFunctionAtPath: any;
6
- var __data: Record<string, unknown>;
7
3
  var createDeepLazyProxy: (basePath?: string[]) => any;
8
- var resetDataProxies: () => void;
4
+ var buildContext: (getValueAtPath: any, getArrayElement: any, callFunctionAtPath: any, timezone?: string) => Record<string, unknown>;
9
5
  var SafeObject: typeof Object;
10
6
  var SafeError: typeof Error;
11
7
  var DateTime: typeof import('luxon').DateTime;
@@ -14,20 +10,6 @@ declare global {
14
10
  var __prepareForTransfer: (value: unknown) => unknown;
15
11
  var extend: typeof import('../extensions/extend').extend;
16
12
  var extendOptional: typeof import('../extensions/extend').extendOptional;
17
- var $json: unknown;
18
- var $binary: unknown;
19
- var $input: unknown;
20
- var $node: unknown;
21
- var $parameter: unknown;
22
- var $workflow: unknown;
23
- var $prevNode: unknown;
24
- var $data: unknown;
25
- var $env: unknown;
26
- var $runIndex: number | undefined;
27
- var $itemIndex: number | undefined;
28
- var $now: import('luxon').DateTime;
29
- var $today: import('luxon').DateTime;
30
- var $items: unknown;
31
13
  }
32
14
  }
33
15
  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,mBAAmB,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC;QAGtD,IAAI,YAAY,EAAE,CACjB,cAAc,EAAE,GAAG,EACnB,eAAe,EAAE,GAAG,EACpB,kBAAkB,EAAE,GAAG,EACvB,QAAQ,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAG7B,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;KACzE;CACD"}
@@ -2,7 +2,7 @@ import { DateTime, Duration, Interval } from 'luxon';
2
2
  import { extend, extendOptional } from '../extensions/extend';
3
3
  import { SafeObject, SafeError, ExpressionError } from './safe-globals';
4
4
  import { createDeepLazyProxy } from './lazy-proxy';
5
- import { resetDataProxies } from './reset';
5
+ import { buildContext } from './context';
6
6
  import { __prepareForTransfer } from './serialize';
7
7
  // ============================================================================
8
8
  // Library Setup
@@ -20,8 +20,6 @@ globalThis.SafeObject = SafeObject;
20
20
  globalThis.SafeError = SafeError;
21
21
  globalThis.ExpressionError = ExpressionError;
22
22
  globalThis.createDeepLazyProxy = createDeepLazyProxy;
23
- globalThis.resetDataProxies = resetDataProxies;
23
+ globalThis.buildContext = buildContext;
24
24
  globalThis.__prepareForTransfer = __prepareForTransfer;
25
- // Initialize empty __data object (populated by resetDataProxies before each evaluation)
26
- globalThis.__data = {};
27
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAiDnD,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,gEAAgE;AAChE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3B,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;AAC3C,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAE/B,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;AACnC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;AAChC,UAAkB,CAAC,eAAe,GAAG,eAAe,CAAC;AAEtD,UAAU,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AACrD,UAAU,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAC/C,UAAU,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AAEvD,wFAAwF;AACxF,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA8BnD,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,gEAAgE;AAChE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3B,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;AAC3C,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC/B,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAE/B,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;AACnC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;AAChC,UAAkB,CAAC,eAAe,GAAG,eAAe,CAAC;AAEtD,UAAU,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AACrD,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC;AACvC,UAAU,CAAC,oBAAoB,GAAG,oBAAoB,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. */
@@ -9,14 +28,20 @@ export declare function getProxyPath(obj: object): string[] | undefined;
9
28
  * the isolate boundary using metadata-driven callbacks.
10
29
  *
11
30
  * Pattern:
12
- * 1. When property accessed: Call __getValueAtPath([path]) to get metadata
31
+ * 1. When property accessed: Call getValueAtPath([path]) to get metadata
13
32
  * 2. Metadata indicates type: primitive, object, array, or function
14
33
  * 3. For objects/arrays: Create nested proxy for lazy loading
15
- * 4. For functions: Create wrapper that calls __callFunctionAtPath
34
+ * 4. For functions: Create wrapper that calls callFunctionAtPath
16
35
  * 5. Cache all fetched values in target to avoid repeated callbacks
17
36
  *
18
37
  * @param basePath - Current path in object tree (e.g., ['$json', 'user'])
38
+ * @param knownKeys - Optional pre-known keys for the proxy
39
+ * @param callbacks - ivm.Reference callbacks for cross-isolate communication
19
40
  * @returns Proxy object with lazy loading behavior
20
41
  */
21
- export declare function createDeepLazyProxy(basePath?: string[]): any;
42
+ export declare function createDeepLazyProxy(basePath?: string[], knownKeys?: string[], callbacks?: {
43
+ getValueAtPath: any;
44
+ getArrayElement: any;
45
+ callFunctionAtPath: any;
46
+ }): any;
22
47
  //# 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;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAClC,QAAQ,GAAE,MAAM,EAAO,EACvB,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,SAAS,CAAC,EAAE;IACX,cAAc,EAAE,GAAG,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;CACxB,GACC,GAAG,CAsML"}
@@ -8,6 +8,26 @@
8
8
  // expression code. Avoids shadowing user data keys like __isProxy / __path.
9
9
  // ---------------------------------------------------------------------------
10
10
  const proxyPaths = new WeakMap();
11
+ function isObjectMetadata(value) {
12
+ return (typeof value === 'object' &&
13
+ value !== null &&
14
+ '__isObject' in value &&
15
+ value.__isObject === true);
16
+ }
17
+ function isErrorSentinel(value) {
18
+ return (typeof value === 'object' && value !== null && '__isError' in value && value.__isError === true);
19
+ }
20
+ /**
21
+ * If `value` is an error sentinel from a host-side callback, throw it
22
+ * directly. The isolate's outer try-catch will detect __isError and
23
+ * return it as the result. Error reconstruction happens on the host only.
24
+ */
25
+ export function throwIfErrorSentinel(value) {
26
+ if (isErrorSentinel(value)) {
27
+ // eslint-disable-next-line @typescript-eslint/no-throw-literal -- sentinel is reconstructed on the host
28
+ throw value;
29
+ }
30
+ }
11
31
  /** Returns true if `obj` is a deep lazy proxy created by createDeepLazyProxy. */
12
32
  export function isLazyProxy(obj) {
13
33
  return typeof obj === 'object' && obj !== null && proxyPaths.has(obj);
@@ -23,17 +43,53 @@ export function getProxyPath(obj) {
23
43
  * the isolate boundary using metadata-driven callbacks.
24
44
  *
25
45
  * Pattern:
26
- * 1. When property accessed: Call __getValueAtPath([path]) to get metadata
46
+ * 1. When property accessed: Call getValueAtPath([path]) to get metadata
27
47
  * 2. Metadata indicates type: primitive, object, array, or function
28
48
  * 3. For objects/arrays: Create nested proxy for lazy loading
29
- * 4. For functions: Create wrapper that calls __callFunctionAtPath
49
+ * 4. For functions: Create wrapper that calls callFunctionAtPath
30
50
  * 5. Cache all fetched values in target to avoid repeated callbacks
31
51
  *
32
52
  * @param basePath - Current path in object tree (e.g., ['$json', 'user'])
53
+ * @param knownKeys - Optional pre-known keys for the proxy
54
+ * @param callbacks - ivm.Reference callbacks for cross-isolate communication
33
55
  * @returns Proxy object with lazy loading behavior
34
56
  */
35
- export function createDeepLazyProxy(basePath = []) {
57
+ export function createDeepLazyProxy(basePath = [], knownKeys, callbacks) {
58
+ if (!callbacks) {
59
+ throw new Error('createDeepLazyProxy requires callbacks parameter');
60
+ }
61
+ const { getValueAtPath, getArrayElement, callFunctionAtPath } = callbacks;
62
+ // Cache for keys fetched from the bridge (root proxies without knownKeys).
63
+ // Shared between ownKeys and getOwnPropertyDescriptor for consistency.
64
+ let fetchedKeys;
65
+ function resolveKeys() {
66
+ if (knownKeys)
67
+ return knownKeys;
68
+ if (fetchedKeys)
69
+ return fetchedKeys;
70
+ const value = getValueAtPath.applySync(null, [basePath], {
71
+ arguments: { copy: true },
72
+ result: { copy: true },
73
+ });
74
+ throwIfErrorSentinel(value);
75
+ if (isObjectMetadata(value)) {
76
+ fetchedKeys = value.__keys;
77
+ return fetchedKeys;
78
+ }
79
+ return [];
80
+ }
36
81
  const proxy = new Proxy({}, {
82
+ ownKeys() {
83
+ return resolveKeys();
84
+ },
85
+ getOwnPropertyDescriptor(_target, prop) {
86
+ if (typeof prop === 'symbol')
87
+ return undefined;
88
+ if (resolveKeys().includes(prop)) {
89
+ return { configurable: true, enumerable: true, writable: false };
90
+ }
91
+ return undefined;
92
+ },
37
93
  get(target, prop) {
38
94
  // Handle Symbol properties - return undefined
39
95
  // Symbols like Symbol.toStringTag are accessed internally
@@ -59,9 +115,9 @@ export function createDeepLazyProxy(basePath = []) {
59
115
  }
60
116
  // Build path for this property
61
117
  const path = [...basePath, prop];
62
- // Call back to parent to get metadata/value
63
- // Note: __getValueAtPath is an ivm.Reference set by bridge
64
- const value = globalThis.__getValueAtPath.applySync(null, [path], {
118
+ // Call back to host to get metadata/value
119
+ // Note: getValueAtPath is an ivm.Reference passed via callbacks
120
+ const value = getValueAtPath.applySync(null, [path], {
65
121
  arguments: { copy: true },
66
122
  result: { copy: true },
67
123
  });
@@ -70,14 +126,20 @@ export function createDeepLazyProxy(basePath = []) {
70
126
  target[prop] = value;
71
127
  return value;
72
128
  }
129
+ // Handle errors serialized by host-side callbacks — reconstruct and throw
130
+ // so the isolate's outer try-catch can serialize them back via __reportError
131
+ throwIfErrorSentinel(value);
73
132
  // Handle functions - metadata: { __isFunction: true, __name: string }
74
133
  if (value && typeof value === 'object' && value.__isFunction) {
75
134
  // Create function wrapper that calls back to parent
76
135
  target[prop] = function (...args) {
77
- return globalThis.__callFunctionAtPath.applySync(null, [path, ...args], {
136
+ const result = callFunctionAtPath.applySync(null, [path, ...args], {
78
137
  arguments: { copy: true },
79
138
  result: { copy: true },
80
139
  });
140
+ // Check if the host-side function threw — reconstruct and throw
141
+ throwIfErrorSentinel(result);
142
+ return result;
81
143
  };
82
144
  return target[prop];
83
145
  }
@@ -108,19 +170,21 @@ export function createDeepLazyProxy(basePath = []) {
108
170
  // Check cache
109
171
  if (!(arrProp in arrTarget)) {
110
172
  // Fetch element from parent
111
- const element = globalThis.__getArrayElement.applySync(null, [path, index], {
173
+ const element = getArrayElement.applySync(null, [path, index], {
112
174
  arguments: { copy: true },
113
175
  result: { copy: true },
114
176
  });
177
+ throwIfErrorSentinel(element);
115
178
  // Handle element metadata (arrays and objects need proxies)
116
179
  if (element && typeof element === 'object' && element.__isArray) {
117
180
  const elementPath = [...path, String(index)];
118
- arrTarget[arrProp] = createDeepLazyProxy(elementPath);
181
+ arrTarget[arrProp] = createDeepLazyProxy(elementPath, undefined, callbacks);
119
182
  }
120
- else if (element && typeof element === 'object' && element.__isObject) {
121
- // Object metadata: create nested proxy
183
+ else if (isObjectMetadata(element)) {
184
+ // Object metadata: create nested proxy, passing known keys to
185
+ // avoid an extra __getValueAtPath round-trip for ownKeys/Object.keys()
122
186
  const elementPath = [...path, String(index)];
123
- arrTarget[arrProp] = createDeepLazyProxy(elementPath);
187
+ arrTarget[arrProp] = createDeepLazyProxy(elementPath, element.__keys, callbacks);
124
188
  }
125
189
  else {
126
190
  // Primitive element
@@ -138,9 +202,9 @@ export function createDeepLazyProxy(basePath = []) {
138
202
  return target[prop];
139
203
  }
140
204
  // Handle objects - metadata: { __isObject: true, __keys: string[] }
141
- if (value && typeof value === 'object' && value.__isObject) {
142
- // Create nested proxy for recursive lazy loading
143
- target[prop] = createDeepLazyProxy(path);
205
+ if (isObjectMetadata(value)) {
206
+ // Create nested proxy for recursive lazy loading, passing known keys
207
+ target[prop] = createDeepLazyProxy(path, value.__keys, callbacks);
144
208
  return target[prop];
145
209
  }
146
210
  // Primitive value - cache and return
@@ -158,10 +222,13 @@ export function createDeepLazyProxy(basePath = []) {
158
222
  }
159
223
  // Build path and check existence via callback
160
224
  const path = [...basePath, prop];
161
- const value = globalThis.__getValueAtPath.applySync(null, [path], {
225
+ const value = getValueAtPath.applySync(null, [path], {
162
226
  arguments: { copy: true },
163
227
  result: { copy: true },
164
228
  });
229
+ // Handle errors serialized by host-side callbacks — reconstruct and throw
230
+ // so the isolate's outer try-catch can serialize them back via __reportError
231
+ throwIfErrorSentinel(value);
165
232
  // Property exists if value is not undefined
166
233
  // Note: null values mean property exists but is null
167
234
  return value !== undefined;
@@ -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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"}