@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.
- package/dist/bundle/runtime.esm.js +17 -17
- package/dist/bundle/runtime.esm.js.map +4 -4
- package/dist/bundle/runtime.iife.js +17 -17
- package/dist/bundle/runtime.iife.js.map +4 -4
- package/dist/cjs/bridge/isolated-vm-bridge.d.ts +48 -34
- package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
- package/dist/cjs/bridge/isolated-vm-bridge.js +285 -236
- package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
- package/dist/cjs/build.tsbuildinfo +1 -1
- package/dist/cjs/evaluator/expression-evaluator.d.ts +8 -1
- package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -1
- package/dist/cjs/evaluator/expression-evaluator.js +62 -6
- package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
- package/dist/cjs/extensions/boolean-extensions.d.ts +1 -1
- package/dist/cjs/extensions/object-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/object-extensions.js +8 -4
- package/dist/cjs/extensions/object-extensions.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pool/isolate-pool.d.ts +35 -0
- package/dist/cjs/pool/isolate-pool.d.ts.map +1 -0
- package/dist/cjs/pool/isolate-pool.js +123 -0
- package/dist/cjs/pool/isolate-pool.js.map +1 -0
- package/dist/cjs/runtime/context.d.ts +18 -0
- package/dist/cjs/runtime/context.d.ts.map +1 -0
- package/dist/cjs/runtime/{reset.js → context.js} +95 -100
- package/dist/cjs/runtime/context.js.map +1 -0
- package/dist/cjs/runtime/index.d.ts +1 -19
- package/dist/cjs/runtime/index.d.ts.map +1 -1
- package/dist/cjs/runtime/index.js +3 -5
- package/dist/cjs/runtime/index.js.map +1 -1
- package/dist/cjs/runtime/lazy-proxy.d.ts +28 -3
- package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
- package/dist/cjs/runtime/lazy-proxy.js +84 -16
- package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
- package/dist/cjs/types/bridge.d.ts +12 -7
- package/dist/cjs/types/bridge.d.ts.map +1 -1
- package/dist/cjs/types/bridge.js +7 -1
- package/dist/cjs/types/bridge.js.map +1 -1
- package/dist/cjs/types/evaluator.d.ts +24 -14
- package/dist/cjs/types/evaluator.d.ts.map +1 -1
- package/dist/cjs/types/evaluator.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/esm/bridge/isolated-vm-bridge.d.ts +48 -34
- package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
- package/dist/esm/bridge/isolated-vm-bridge.js +285 -236
- package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
- package/dist/esm/build.tsbuildinfo +1 -1
- package/dist/esm/evaluator/expression-evaluator.d.ts +8 -1
- package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
- package/dist/esm/evaluator/expression-evaluator.js +61 -5
- package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
- package/dist/esm/extensions/object-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/object-extensions.js +8 -4
- package/dist/esm/extensions/object-extensions.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pool/isolate-pool.d.ts +35 -0
- package/dist/esm/pool/isolate-pool.d.ts.map +1 -0
- package/dist/esm/pool/isolate-pool.js +107 -0
- package/dist/esm/pool/isolate-pool.js.map +1 -0
- package/dist/esm/runtime/context.d.ts +18 -0
- package/dist/esm/runtime/context.d.ts.map +1 -0
- package/dist/esm/runtime/{reset.js → context.js} +95 -100
- package/dist/esm/runtime/context.js.map +1 -0
- package/dist/esm/runtime/index.d.ts +1 -19
- package/dist/esm/runtime/index.d.ts.map +1 -1
- package/dist/esm/runtime/index.js +2 -4
- package/dist/esm/runtime/index.js.map +1 -1
- package/dist/esm/runtime/lazy-proxy.d.ts +28 -3
- package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
- package/dist/esm/runtime/lazy-proxy.js +83 -16
- package/dist/esm/runtime/lazy-proxy.js.map +1 -1
- package/dist/esm/types/bridge.d.ts +12 -7
- package/dist/esm/types/bridge.d.ts.map +1 -1
- package/dist/esm/types/bridge.js +7 -1
- package/dist/esm/types/bridge.js.map +1 -1
- package/dist/esm/types/evaluator.d.ts +24 -14
- package/dist/esm/types/evaluator.d.ts.map +1 -1
- package/dist/esm/types/evaluator.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/types/index.d.ts.map +1 -1
- package/package.json +10 -7
- package/dist/cjs/runtime/reset.d.ts +0 -16
- package/dist/cjs/runtime/reset.d.ts.map +0 -1
- package/dist/cjs/runtime/reset.js.map +0 -1
- package/dist/esm/runtime/reset.d.ts +0 -16
- package/dist/esm/runtime/reset.d.ts.map +0 -1
- package/dist/esm/runtime/reset.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-proxy.js","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAC/E,yCAAyC;AACzC,yFAAyF;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"lazy-proxy.js","sourceRoot":"","sources":["../../../src/runtime/lazy-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,16 @@ export interface RuntimeBridge {
|
|
|
36
36
|
*/
|
|
37
37
|
isDisposed(): boolean;
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Logger interface matching n8n-workflow's Logger type.
|
|
41
|
+
* Accepts an optional metadata bag on each call.
|
|
42
|
+
*/
|
|
43
|
+
export interface Logger {
|
|
44
|
+
error(message: string, metadata?: Record<string, unknown>): void;
|
|
45
|
+
warn(message: string, metadata?: Record<string, unknown>): void;
|
|
46
|
+
info(message: string, metadata?: Record<string, unknown>): void;
|
|
47
|
+
debug(message: string, metadata?: Record<string, unknown>): void;
|
|
48
|
+
}
|
|
39
49
|
/**
|
|
40
50
|
* Configuration for runtime bridges.
|
|
41
51
|
*/
|
|
@@ -50,13 +60,8 @@ export interface BridgeConfig {
|
|
|
50
60
|
* Default: 5000ms
|
|
51
61
|
*/
|
|
52
62
|
timeout?: number;
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
* Default: false
|
|
56
|
-
*
|
|
57
|
-
* Phase 2+: Chrome DevTools debugging support
|
|
58
|
-
*/
|
|
59
|
-
debug?: boolean;
|
|
63
|
+
/** Optional logger. Falls back to no-op if not provided. */
|
|
64
|
+
logger?: Logger;
|
|
60
65
|
}
|
|
61
66
|
/** Default values for BridgeConfig. Bridge implementations should use this as their baseline. */
|
|
62
67
|
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;;;;;;;;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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAExF;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/types/bridge.ts"],"names":[],"mappings":"AAOA;;;;;;;;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,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAExF;;;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;;;OAGG;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;CAClB"}
|
package/dist/cjs/types/bridge.js
CHANGED
|
@@ -16,11 +16,17 @@
|
|
|
16
16
|
"use strict";
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.DEFAULT_BRIDGE_CONFIG = void 0;
|
|
19
|
+
const NO_OP_LOGGER = {
|
|
20
|
+
error: () => { },
|
|
21
|
+
warn: () => { },
|
|
22
|
+
info: () => { },
|
|
23
|
+
debug: () => { },
|
|
24
|
+
};
|
|
19
25
|
/** Default values for BridgeConfig. Bridge implementations should use this as their baseline. */
|
|
20
26
|
exports.DEFAULT_BRIDGE_CONFIG = {
|
|
21
27
|
memoryLimit: 128,
|
|
22
28
|
timeout: 5000,
|
|
23
|
-
|
|
29
|
+
logger: NO_OP_LOGGER,
|
|
24
30
|
};
|
|
25
31
|
});
|
|
26
32
|
//# 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;;;;;;;;;;;;;
|
|
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;;;;;;;;;;;;;IA2E/E,MAAM,YAAY,GAAW;QAC5B,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;KACf,CAAC;IAEF,iGAAiG;IACpF,QAAA,qBAAqB,GAA2B;QAC5D,WAAW,EAAE,GAAG;QAChB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,YAAY;KACpB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TournamentHooks } from '@n8n/tournament';
|
|
2
|
+
import type { Logger } from './bridge';
|
|
2
3
|
import type { RuntimeBridge } from './bridge';
|
|
3
4
|
/**
|
|
4
5
|
* Configuration for ExpressionEvaluator.
|
|
@@ -7,10 +8,8 @@ import type { RuntimeBridge } from './bridge';
|
|
|
7
8
|
* will be added in later slices.
|
|
8
9
|
*/
|
|
9
10
|
export interface EvaluatorConfig {
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
bridge: RuntimeBridge;
|
|
11
|
+
/** Factory function to create a bridge instance. */
|
|
12
|
+
createBridge: () => RuntimeBridge;
|
|
14
13
|
/**
|
|
15
14
|
* Observability provider for metrics, traces, and logs.
|
|
16
15
|
*/
|
|
@@ -25,6 +24,14 @@ export interface EvaluatorConfig {
|
|
|
25
24
|
* Maximum number of tournament-transformed expressions to cache (LRU).
|
|
26
25
|
*/
|
|
27
26
|
maxCodeCacheSize: number;
|
|
27
|
+
/**
|
|
28
|
+
* Number of bridges to pre-warm in the pool. Defaults to 1 if not provided.
|
|
29
|
+
* Can be set to the execution concurrency limit (N8N_EXPRESSION_ENGINE_POOL_SIZE)
|
|
30
|
+
* to give each concurrent execution a pre-warmed bridge.
|
|
31
|
+
*/
|
|
32
|
+
poolSize?: number;
|
|
33
|
+
/** Optional logger. Passed through to pool. Falls back to no-op. */
|
|
34
|
+
logger?: Logger;
|
|
28
35
|
}
|
|
29
36
|
/**
|
|
30
37
|
* Expression evaluator - main public API.
|
|
@@ -42,13 +49,21 @@ export interface IExpressionEvaluator {
|
|
|
42
49
|
*
|
|
43
50
|
* @param expression - Expression string (e.g., "{{ $json.email }}")
|
|
44
51
|
* @param data - Workflow data context
|
|
45
|
-
* @param
|
|
52
|
+
* @param caller - Owner object that acquired the bridge (same object passed to acquire())
|
|
53
|
+
* @param options - Optional evaluation options (e.g. timezone)
|
|
46
54
|
* @returns Result of the expression
|
|
47
|
-
*
|
|
48
|
-
* Note: Synchronous for Slice 1 (Node.js vm module).
|
|
49
|
-
* Will be async for Slice 2 (isolated-vm).
|
|
50
55
|
*/
|
|
51
|
-
evaluate(expression: string, data: WorkflowData, options?: EvaluateOptions): unknown;
|
|
56
|
+
evaluate(expression: string, data: WorkflowData, caller: object, options?: EvaluateOptions): unknown;
|
|
57
|
+
/**
|
|
58
|
+
* Acquire a bridge for an owner object (e.g. an Expression instance).
|
|
59
|
+
* Must be called before evaluate(). The same object must be passed as
|
|
60
|
+
* the caller argument to evaluate().
|
|
61
|
+
*/
|
|
62
|
+
acquire(owner: object): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Release the bridge held for an owner object.
|
|
65
|
+
*/
|
|
66
|
+
release(owner: object): Promise<void>;
|
|
52
67
|
/**
|
|
53
68
|
* Dispose of the evaluator and free resources.
|
|
54
69
|
*/
|
|
@@ -71,11 +86,6 @@ export type WorkflowData = Record<string, unknown>;
|
|
|
71
86
|
* Note: Slice 1 is minimal. Tournament options will be added later.
|
|
72
87
|
*/
|
|
73
88
|
export interface EvaluateOptions {
|
|
74
|
-
/**
|
|
75
|
-
* Custom timeout for this evaluation (in milliseconds).
|
|
76
|
-
* Overrides the bridge's default timeout.
|
|
77
|
-
*/
|
|
78
|
-
timeout?: number;
|
|
79
89
|
/**
|
|
80
90
|
* IANA timezone for this evaluation (e.g., 'America/New_York').
|
|
81
91
|
* Sets luxon Settings.defaultZone inside the isolate before execution.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/types/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAO9C;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B
|
|
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":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/types/evaluator.ts"],"names":[],"mappings":";;;;;;;;;;;;IAwOA,+EAA+E;IAC/E,uDAAuD;IACvD,EAAE;IACF,0DAA0D;IAC1D,wDAAwD;IACxD,+EAA+E;IAE/E;;OAEG;IACH,MAAa,eAAgB,SAAQ,KAAK;QAGjC;QAFR,YACC,OAAe,EACR,OAKN;YAED,KAAK,CAAC,OAAO,CAAC,CAAC;YAPR,YAAO,GAAP,OAAO,CAKb;YAGD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC/B,CAAC;KACD;IAbD,0CAaC;IAED;;OAEG;IACH,MAAa,gBAAiB,SAAQ,eAAe;KAAG;IAAxD,4CAAwD;IACxD,MAAa,YAAa,SAAQ,eAAe;KAAG;IAApD,oCAAoD;IACpD,MAAa,sBAAuB,SAAQ,eAAe;KAAG;IAA9D,wDAA8D;IAC9D,MAAa,WAAY,SAAQ,eAAe;KAAG;IAAnD,kCAAmD"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This module exports all TypeScript interfaces and types for the expression runtime.
|
|
5
5
|
*/
|
|
6
|
-
export type { RuntimeBridge, BridgeConfig, ExecuteOptions } from './bridge';
|
|
6
|
+
export type { RuntimeBridge, BridgeConfig, ExecuteOptions, Logger } from './bridge';
|
|
7
7
|
export { DEFAULT_BRIDGE_CONFIG } from './bridge';
|
|
8
8
|
export { RuntimeError } from './runtime';
|
|
9
9
|
export type { EvaluatorConfig, IExpressionEvaluator, WorkflowData, EvaluateOptions, ObservabilityProvider, MetricsAPI, TracesAPI, Span, LogsAPI, } from './evaluator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,YAAY,EACX,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,IAAI,EACJ,OAAO,GACP,MAAM,aAAa,CAAC;AAErB,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,WAAW,GACX,MAAM,aAAa,CAAC"}
|
|
@@ -16,11 +16,7 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
|
|
|
16
16
|
private initialized;
|
|
17
17
|
private disposed;
|
|
18
18
|
private config;
|
|
19
|
-
private
|
|
20
|
-
private valueAtPathRef?;
|
|
21
|
-
private arrayElementRef?;
|
|
22
|
-
private callFunctionRef?;
|
|
23
|
-
private resetDataProxiesRef?;
|
|
19
|
+
private logger;
|
|
24
20
|
constructor(config?: BridgeConfig);
|
|
25
21
|
/**
|
|
26
22
|
* Initialize the isolate and create execution context.
|
|
@@ -41,7 +37,7 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
|
|
|
41
37
|
* - DateTime, extend, extendOptional (expression engine globals)
|
|
42
38
|
* - SafeObject and SafeError wrappers
|
|
43
39
|
* - createDeepLazyProxy function
|
|
44
|
-
* -
|
|
40
|
+
* - buildContext function
|
|
45
41
|
*
|
|
46
42
|
* @private
|
|
47
43
|
* @throws {Error} If context not initialized or bundle loading fails
|
|
@@ -60,56 +56,67 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
|
|
|
60
56
|
/**
|
|
61
57
|
* Inject the E() error handler into the isolate context.
|
|
62
58
|
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* -
|
|
67
|
-
*
|
|
59
|
+
* There are two exception-handling layers inside the isolate:
|
|
60
|
+
*
|
|
61
|
+
* 1. **Inner layer (this handler, `E()`)** — Tournament wraps each
|
|
62
|
+
* expression with try-catch that calls `E(error, this)`. This handler
|
|
63
|
+
* must match the legacy engine's behavior (set in expression.ts via
|
|
64
|
+
* setErrorHandler):
|
|
65
|
+
* - Re-throw ExpressionError / ExpressionExtensionError
|
|
66
|
+
* - Swallow everything else (TypeErrors, generic Errors, etc.)
|
|
67
|
+
*
|
|
68
|
+
* 2. **Outer layer (`wrappedCode` try-catch in `execute()`)** — Catches
|
|
69
|
+
* anything that escaped `E()` (e.g. re-thrown ExpressionErrors) and
|
|
70
|
+
* serializes it into a sentinel object so the host can reconstruct it.
|
|
71
|
+
*
|
|
72
|
+
* Inside the isolate, errors from host callbacks arrive as sentinel
|
|
73
|
+
* objects ({ __isError, name, message, ... }) rather than class instances,
|
|
74
|
+
* so we match by name instead of instanceof.
|
|
68
75
|
*
|
|
69
76
|
* @private
|
|
70
77
|
* @throws {Error} If context not initialized
|
|
71
78
|
*/
|
|
72
79
|
private injectErrorHandler;
|
|
73
80
|
/**
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* This method should be called before each execute() to:
|
|
77
|
-
* 1. Clear proxy caches from previous evaluations
|
|
78
|
-
* 2. Initialize fresh workflow data references
|
|
79
|
-
* 3. Expose workflow properties to globalThis
|
|
81
|
+
* Create an ivm.Reference callback for getting value/metadata at a path.
|
|
80
82
|
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
+
* Used by createDeepLazyProxy when accessing properties. Returns metadata
|
|
84
|
+
* markers for functions, arrays, and objects, or the primitive value directly.
|
|
83
85
|
*
|
|
86
|
+
* @param data - Current workflow data to use for callback responses
|
|
84
87
|
* @private
|
|
85
|
-
* @throws {Error} If context not initialized or reset fails
|
|
86
88
|
*/
|
|
87
|
-
private
|
|
89
|
+
private createGetValueAtPathRef;
|
|
88
90
|
/**
|
|
89
|
-
*
|
|
91
|
+
* Create an ivm.Reference callback for getting array elements at an index.
|
|
90
92
|
*
|
|
91
|
-
*
|
|
92
|
-
* to fetch data from the host process:
|
|
93
|
+
* Used by array proxy when accessing numeric indices.
|
|
93
94
|
*
|
|
94
|
-
* -
|
|
95
|
-
*
|
|
96
|
-
|
|
95
|
+
* @param data - Current workflow data to use for callback responses
|
|
96
|
+
* @private
|
|
97
|
+
*/
|
|
98
|
+
private createGetArrayElementRef;
|
|
99
|
+
/**
|
|
100
|
+
* Create an ivm.Reference callback for calling functions at a path.
|
|
97
101
|
*
|
|
98
|
-
*
|
|
102
|
+
* Used when expressions invoke functions from workflow data.
|
|
99
103
|
*
|
|
100
104
|
* @param data - Current workflow data to use for callback responses
|
|
101
105
|
* @private
|
|
102
106
|
*/
|
|
103
|
-
private
|
|
107
|
+
private createCallFunctionAtPathRef;
|
|
104
108
|
/**
|
|
105
109
|
* Execute JavaScript code in the isolated context.
|
|
106
110
|
*
|
|
107
111
|
* Flow:
|
|
108
|
-
* 1.
|
|
109
|
-
* 2.
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
112
|
+
* 1. Create three ivm.Reference callbacks scoped to the current data
|
|
113
|
+
* 2. Use evalClosureSync to run the code in a closure where $0/$1/$2
|
|
114
|
+
* are the callback references — no global mutable state
|
|
115
|
+
* 3. buildContext() inside the isolate creates a fresh evaluation context
|
|
116
|
+
* from the closure-scoped references
|
|
117
|
+
*
|
|
118
|
+
* Each call gets its own closure, so nested and concurrent evaluations
|
|
119
|
+
* cannot interfere with each other.
|
|
113
120
|
*
|
|
114
121
|
* @param code - JavaScript expression to evaluate
|
|
115
122
|
* @param data - Workflow data (e.g., { $json: {...}, $runIndex: 0 })
|
|
@@ -117,6 +124,13 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
|
|
|
117
124
|
* @throws {Error} If bridge not initialized or execution fails
|
|
118
125
|
*/
|
|
119
126
|
execute(code: string, data: Record<string, unknown>, options?: ExecuteOptions): unknown;
|
|
127
|
+
/**
|
|
128
|
+
* Reconstruct an error from serialized isolate data.
|
|
129
|
+
*
|
|
130
|
+
* Maps error names back to their host-side classes and restores
|
|
131
|
+
* custom properties that would otherwise be lost crossing the boundary.
|
|
132
|
+
*/
|
|
133
|
+
private reconstructError;
|
|
120
134
|
/**
|
|
121
135
|
* Dispose of the isolate and free resources.
|
|
122
136
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"isolated-vm-bridge.d.ts","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0E5E;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACrD,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAmC;gBAErC,MAAM,GAAE,YAAiB;IAYrC;;;;;;;;;;OAUG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC;;;;;;;;;;;OAWG;YACW,mBAAmB;IAgCjC;;;;;;;;OAQG;YACW,iBAAiB;IA4B/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;YACW,kBAAkB;IAwBhC;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAgE/B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAyDhC;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAsFvF;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}
|