@n8n/expression-runtime 0.14.1 → 0.15.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 (71) 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/bridge-messages.d.ts +134 -0
  6. package/dist/cjs/bridge/bridge-messages.d.ts.map +1 -0
  7. package/dist/cjs/bridge/bridge-messages.js +81 -0
  8. package/dist/cjs/bridge/bridge-messages.js.map +1 -0
  9. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +48 -6
  10. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  11. package/dist/cjs/bridge/isolated-vm-bridge.js +93 -8
  12. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  13. package/dist/cjs/build.tsbuildinfo +1 -1
  14. package/dist/cjs/extensions/extend.d.ts +5 -0
  15. package/dist/cjs/extensions/extend.d.ts.map +1 -1
  16. package/dist/cjs/extensions/extend.js +14 -14
  17. package/dist/cjs/extensions/extend.js.map +1 -1
  18. package/dist/cjs/runtime/context.d.ts +46 -4
  19. package/dist/cjs/runtime/context.d.ts.map +1 -1
  20. package/dist/cjs/runtime/context.js +66 -14
  21. package/dist/cjs/runtime/context.js.map +1 -1
  22. package/dist/cjs/runtime/index.d.ts +2 -2
  23. package/dist/cjs/runtime/index.d.ts.map +1 -1
  24. package/dist/cjs/runtime/index.js.map +1 -1
  25. package/dist/cjs/runtime/safe-globals.d.ts.map +1 -1
  26. package/dist/cjs/runtime/safe-globals.js +8 -3
  27. package/dist/cjs/runtime/safe-globals.js.map +1 -1
  28. package/dist/cjs/runtime/utils.d.ts +16 -0
  29. package/dist/cjs/runtime/utils.d.ts.map +1 -0
  30. package/dist/cjs/runtime/utils.js +31 -0
  31. package/dist/cjs/runtime/utils.js.map +1 -0
  32. package/dist/cjs/types/bridge.d.ts +2 -1
  33. package/dist/cjs/types/bridge.d.ts.map +1 -1
  34. package/dist/cjs/types/bridge.js.map +1 -1
  35. package/dist/cjs/types/evaluator.d.ts +21 -4
  36. package/dist/cjs/types/evaluator.d.ts.map +1 -1
  37. package/dist/cjs/types/evaluator.js.map +1 -1
  38. package/dist/esm/bridge/bridge-messages.d.ts +134 -0
  39. package/dist/esm/bridge/bridge-messages.d.ts.map +1 -0
  40. package/dist/esm/bridge/bridge-messages.js +68 -0
  41. package/dist/esm/bridge/bridge-messages.js.map +1 -0
  42. package/dist/esm/bridge/isolated-vm-bridge.d.ts +48 -6
  43. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  44. package/dist/esm/bridge/isolated-vm-bridge.js +92 -7
  45. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  46. package/dist/esm/build.tsbuildinfo +1 -1
  47. package/dist/esm/extensions/extend.d.ts +5 -0
  48. package/dist/esm/extensions/extend.d.ts.map +1 -1
  49. package/dist/esm/extensions/extend.js +12 -12
  50. package/dist/esm/extensions/extend.js.map +1 -1
  51. package/dist/esm/runtime/context.d.ts +46 -4
  52. package/dist/esm/runtime/context.d.ts.map +1 -1
  53. package/dist/esm/runtime/context.js +65 -13
  54. package/dist/esm/runtime/context.js.map +1 -1
  55. package/dist/esm/runtime/index.d.ts +2 -2
  56. package/dist/esm/runtime/index.d.ts.map +1 -1
  57. package/dist/esm/runtime/index.js.map +1 -1
  58. package/dist/esm/runtime/safe-globals.d.ts.map +1 -1
  59. package/dist/esm/runtime/safe-globals.js +8 -3
  60. package/dist/esm/runtime/safe-globals.js.map +1 -1
  61. package/dist/esm/runtime/utils.d.ts +16 -0
  62. package/dist/esm/runtime/utils.d.ts.map +1 -0
  63. package/dist/esm/runtime/utils.js +18 -0
  64. package/dist/esm/runtime/utils.js.map +1 -0
  65. package/dist/esm/types/bridge.d.ts +2 -1
  66. package/dist/esm/types/bridge.d.ts.map +1 -1
  67. package/dist/esm/types/bridge.js.map +1 -1
  68. package/dist/esm/types/evaluator.d.ts +21 -4
  69. package/dist/esm/types/evaluator.d.ts.map +1 -1
  70. package/dist/esm/types/evaluator.js.map +1 -1
  71. package/package.json +5 -2
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Schemas for messages the in-isolate runtime sends to the host via the
3
+ * `callHost` typed-RPC dispatcher.
4
+ *
5
+ * The isolate is an untrusted source: anything that crosses the bridge must
6
+ * be validated for shape and types at the boundary. We do that with zod
7
+ * rather than relying on TypeScript discriminated unions, because TS types
8
+ * are erased at runtime and contribute zero security.
9
+ *
10
+ * Each operation has its own schema. The dispatcher entry validates the
11
+ * envelope against the discriminated union, throws on any deviation
12
+ * (unknown `type`, missing/typo'd fields, wrong field types), and then
13
+ * delegates to a handler that operates on the parsed (statically narrowed)
14
+ * message.
15
+ *
16
+ * Each additional typed RPC lands as a new schema here plus a new `case`
17
+ * in the bridge's dispatcher switch.
18
+ */
19
+ import { z } from 'zod';
20
+ /**
21
+ * `$('NodeName').first(branchIndex?, runIndex?)` — fetch the first item of
22
+ * a named node's most recent execution data.
23
+ */
24
+ export declare const getNodeFirstMessage: z.ZodObject<{
25
+ type: z.ZodLiteral<"getNodeFirst">;
26
+ nodeName: z.ZodString;
27
+ branchIndex: z.ZodOptional<z.ZodNumber>;
28
+ runIndex: z.ZodOptional<z.ZodNumber>;
29
+ }, "strict", z.ZodTypeAny, {
30
+ type: "getNodeFirst";
31
+ nodeName: string;
32
+ branchIndex?: number | undefined;
33
+ runIndex?: number | undefined;
34
+ }, {
35
+ type: "getNodeFirst";
36
+ nodeName: string;
37
+ branchIndex?: number | undefined;
38
+ runIndex?: number | undefined;
39
+ }>;
40
+ /**
41
+ * `$('NodeName').last(branchIndex?, runIndex?)` — fetch the last item of
42
+ * a named node's most recent execution data.
43
+ */
44
+ export declare const getNodeLastMessage: z.ZodObject<{
45
+ type: z.ZodLiteral<"getNodeLast">;
46
+ nodeName: z.ZodString;
47
+ branchIndex: z.ZodOptional<z.ZodNumber>;
48
+ runIndex: z.ZodOptional<z.ZodNumber>;
49
+ }, "strict", z.ZodTypeAny, {
50
+ type: "getNodeLast";
51
+ nodeName: string;
52
+ branchIndex?: number | undefined;
53
+ runIndex?: number | undefined;
54
+ }, {
55
+ type: "getNodeLast";
56
+ nodeName: string;
57
+ branchIndex?: number | undefined;
58
+ runIndex?: number | undefined;
59
+ }>;
60
+ /**
61
+ * `$('NodeName').all(branchIndex?, runIndex?)` — fetch every item of a
62
+ * named node's most recent execution data as an array.
63
+ */
64
+ export declare const getNodeAllMessage: z.ZodObject<{
65
+ type: z.ZodLiteral<"getNodeAll">;
66
+ nodeName: z.ZodString;
67
+ branchIndex: z.ZodOptional<z.ZodNumber>;
68
+ runIndex: z.ZodOptional<z.ZodNumber>;
69
+ }, "strict", z.ZodTypeAny, {
70
+ type: "getNodeAll";
71
+ nodeName: string;
72
+ branchIndex?: number | undefined;
73
+ runIndex?: number | undefined;
74
+ }, {
75
+ type: "getNodeAll";
76
+ nodeName: string;
77
+ branchIndex?: number | undefined;
78
+ runIndex?: number | undefined;
79
+ }>;
80
+ /**
81
+ * The full set of messages the bridge will accept. Discriminator is `type`.
82
+ *
83
+ * Use `.strict()` on each member so unknown fields are rejected rather than
84
+ * silently ignored — this catches typos in the runtime stubs and keeps the
85
+ * protocol surface tight.
86
+ */
87
+ export declare const bridgeMessageSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
88
+ type: z.ZodLiteral<"getNodeFirst">;
89
+ nodeName: z.ZodString;
90
+ branchIndex: z.ZodOptional<z.ZodNumber>;
91
+ runIndex: z.ZodOptional<z.ZodNumber>;
92
+ }, "strict", z.ZodTypeAny, {
93
+ type: "getNodeFirst";
94
+ nodeName: string;
95
+ branchIndex?: number | undefined;
96
+ runIndex?: number | undefined;
97
+ }, {
98
+ type: "getNodeFirst";
99
+ nodeName: string;
100
+ branchIndex?: number | undefined;
101
+ runIndex?: number | undefined;
102
+ }>, z.ZodObject<{
103
+ type: z.ZodLiteral<"getNodeLast">;
104
+ nodeName: z.ZodString;
105
+ branchIndex: z.ZodOptional<z.ZodNumber>;
106
+ runIndex: z.ZodOptional<z.ZodNumber>;
107
+ }, "strict", z.ZodTypeAny, {
108
+ type: "getNodeLast";
109
+ nodeName: string;
110
+ branchIndex?: number | undefined;
111
+ runIndex?: number | undefined;
112
+ }, {
113
+ type: "getNodeLast";
114
+ nodeName: string;
115
+ branchIndex?: number | undefined;
116
+ runIndex?: number | undefined;
117
+ }>, z.ZodObject<{
118
+ type: z.ZodLiteral<"getNodeAll">;
119
+ nodeName: z.ZodString;
120
+ branchIndex: z.ZodOptional<z.ZodNumber>;
121
+ runIndex: z.ZodOptional<z.ZodNumber>;
122
+ }, "strict", z.ZodTypeAny, {
123
+ type: "getNodeAll";
124
+ nodeName: string;
125
+ branchIndex?: number | undefined;
126
+ runIndex?: number | undefined;
127
+ }, {
128
+ type: "getNodeAll";
129
+ nodeName: string;
130
+ branchIndex?: number | undefined;
131
+ runIndex?: number | undefined;
132
+ }>]>;
133
+ export type BridgeMessage = z.infer<typeof bridgeMessageSchema>;
134
+ //# sourceMappingURL=bridge-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-messages.d.ts","sourceRoot":"","sources":["../../../src/bridge/bridge-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAOtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAOrB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAOpB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Schemas for messages the in-isolate runtime sends to the host via the
3
+ * `callHost` typed-RPC dispatcher.
4
+ *
5
+ * The isolate is an untrusted source: anything that crosses the bridge must
6
+ * be validated for shape and types at the boundary. We do that with zod
7
+ * rather than relying on TypeScript discriminated unions, because TS types
8
+ * are erased at runtime and contribute zero security.
9
+ *
10
+ * Each operation has its own schema. The dispatcher entry validates the
11
+ * envelope against the discriminated union, throws on any deviation
12
+ * (unknown `type`, missing/typo'd fields, wrong field types), and then
13
+ * delegates to a handler that operates on the parsed (statically narrowed)
14
+ * message.
15
+ *
16
+ * Each additional typed RPC lands as a new schema here plus a new `case`
17
+ * in the bridge's dispatcher switch.
18
+ */
19
+ (function (factory) {
20
+ if (typeof module === "object" && typeof module.exports === "object") {
21
+ var v = factory(require, exports);
22
+ if (v !== undefined) module.exports = v;
23
+ }
24
+ else if (typeof define === "function" && define.amd) {
25
+ define(["require", "exports", "zod"], factory);
26
+ }
27
+ })(function (require, exports) {
28
+ "use strict";
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.bridgeMessageSchema = exports.getNodeAllMessage = exports.getNodeLastMessage = exports.getNodeFirstMessage = void 0;
31
+ const zod_1 = require("zod");
32
+ /**
33
+ * `$('NodeName').first(branchIndex?, runIndex?)` — fetch the first item of
34
+ * a named node's most recent execution data.
35
+ */
36
+ exports.getNodeFirstMessage = zod_1.z
37
+ .object({
38
+ type: zod_1.z.literal('getNodeFirst'),
39
+ nodeName: zod_1.z.string(),
40
+ branchIndex: zod_1.z.number().int().nonnegative().optional(),
41
+ runIndex: zod_1.z.number().int().nonnegative().optional(),
42
+ })
43
+ .strict();
44
+ /**
45
+ * `$('NodeName').last(branchIndex?, runIndex?)` — fetch the last item of
46
+ * a named node's most recent execution data.
47
+ */
48
+ exports.getNodeLastMessage = zod_1.z
49
+ .object({
50
+ type: zod_1.z.literal('getNodeLast'),
51
+ nodeName: zod_1.z.string(),
52
+ branchIndex: zod_1.z.number().int().nonnegative().optional(),
53
+ runIndex: zod_1.z.number().int().nonnegative().optional(),
54
+ })
55
+ .strict();
56
+ /**
57
+ * `$('NodeName').all(branchIndex?, runIndex?)` — fetch every item of a
58
+ * named node's most recent execution data as an array.
59
+ */
60
+ exports.getNodeAllMessage = zod_1.z
61
+ .object({
62
+ type: zod_1.z.literal('getNodeAll'),
63
+ nodeName: zod_1.z.string(),
64
+ branchIndex: zod_1.z.number().int().nonnegative().optional(),
65
+ runIndex: zod_1.z.number().int().nonnegative().optional(),
66
+ })
67
+ .strict();
68
+ /**
69
+ * The full set of messages the bridge will accept. Discriminator is `type`.
70
+ *
71
+ * Use `.strict()` on each member so unknown fields are rejected rather than
72
+ * silently ignored — this catches typos in the runtime stubs and keeps the
73
+ * protocol surface tight.
74
+ */
75
+ exports.bridgeMessageSchema = zod_1.z.discriminatedUnion('type', [
76
+ exports.getNodeFirstMessage,
77
+ exports.getNodeLastMessage,
78
+ exports.getNodeAllMessage,
79
+ ]);
80
+ });
81
+ //# sourceMappingURL=bridge-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-messages.js","sourceRoot":"","sources":["../../../src/bridge/bridge-messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;;;;;IAEH,6BAAwB;IAExB;;;OAGG;IACU,QAAA,mBAAmB,GAAG,OAAC;SAClC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;KACnD,CAAC;SACD,MAAM,EAAE,CAAC;IAEX;;;OAGG;IACU,QAAA,kBAAkB,GAAG,OAAC;SACjC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;KACnD,CAAC;SACD,MAAM,EAAE,CAAC;IAEX;;;OAGG;IACU,QAAA,iBAAiB,GAAG,OAAC;SAChC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;QACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;KACnD,CAAC;SACD,MAAM,EAAE,CAAC;IAEX;;;;;;OAMG;IACU,QAAA,mBAAmB,GAAG,OAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC/D,2BAAmB;QACnB,0BAAkB;QAClB,yBAAiB;KACjB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RuntimeBridge, BridgeConfig, ExecuteOptions } from '../types';
1
+ import type { RuntimeBridge, BridgeConfig, ExecuteOptions, WorkflowData } from '../types';
2
2
  /**
3
3
  * IsolatedVmBridge - Runtime bridge using isolated-vm for secure expression evaluation.
4
4
  *
@@ -105,15 +105,57 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
105
105
  * @private
106
106
  */
107
107
  private createCallFunctionAtPathRef;
108
+ /**
109
+ * Create the single typed-RPC dispatcher.
110
+ *
111
+ * The isolate sends one envelope per typed RPC invocation:
112
+ * `callHost({ type: 'getNodeFirst', nodeName, branchIndex?, runIndex? })`
113
+ *
114
+ * Inputs cross a trust boundary, so the dispatcher parses every envelope
115
+ * with the host-side zod schema (`bridgeMessageSchema`) before any
116
+ * dispatch happens. Anything that deviates from the declared shape —
117
+ * unknown `type`, missing required fields, extra unexpected fields,
118
+ * wrong field types — fails the parse and an error sentinel is returned
119
+ * to the caller.
120
+ *
121
+ * After parsing, `switch (msg.type)` dispatches to a private handler with
122
+ * a fully narrowed message type. The operation set is exactly the cases
123
+ * in this switch; the `type` field selects a static branch in source,
124
+ * not a property lookup on a runtime object.
125
+ *
126
+ * @param data - Current workflow data
127
+ * @private
128
+ */
129
+ private createCallHostRef;
130
+ /**
131
+ * Handlers for the `$('Foo').{first,last,all}` typed RPCs.
132
+ *
133
+ * Each handler reads a fixed literal property name off the host-side node
134
+ * proxy — the isolate cannot influence which property is dereferenced.
135
+ * Eliminating `data.$` as a host-callable entirely would require reaching
136
+ * the `WorkflowDataProxy` internals (e.g. `getNodeExecutionOrPinnedData`)
137
+ * rather than the public `$()` API; that's a follow-up.
138
+ *
139
+ * `data.$` is a host-wired function (`WorkflowDataProxy`'s `$`). If it
140
+ * ever isn't, optional chaining short-circuits to `undefined` — the same
141
+ * observable result the runtime's `E()` handler produces from any thrown
142
+ * error here.
143
+ *
144
+ * @private
145
+ */
146
+ private handleGetNodeFirst;
147
+ private handleGetNodeLast;
148
+ private handleGetNodeAll;
108
149
  /**
109
150
  * Execute JavaScript code in the isolated context.
110
151
  *
111
152
  * Flow:
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
153
+ * 1. Create four ivm.Reference callbacks scoped to the current data:
154
+ * `getValueAtPath`, `getArrayElement`, `callFunctionAtPath`, `callHost`.
155
+ * 2. Use evalClosureSync to run the code in a closure where `$0`/`$1`/`$2`/`$3`
156
+ * are the callback references — no global mutable state.
115
157
  * 3. buildContext() inside the isolate creates a fresh evaluation context
116
- * from the closure-scoped references
158
+ * from the closure-scoped references.
117
159
  *
118
160
  * Each call gets its own closure, so nested and concurrent evaluations
119
161
  * cannot interfere with each other.
@@ -123,7 +165,7 @@ export declare class IsolatedVmBridge implements RuntimeBridge {
123
165
  * @returns Result of the expression
124
166
  * @throws {Error} If bridge not initialized or execution fails
125
167
  */
126
- execute(code: string, data: Record<string, unknown>, options?: ExecuteOptions): unknown;
168
+ execute(code: string, data: WorkflowData, options?: ExecuteOptions): unknown;
127
169
  /**
128
170
  * Reconstruct an error from serialized isolate data.
129
171
  *
@@ -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;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"}
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,YAAY,EAAE,MAAM,UAAU,CAAC;AA2E1F;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAgG5E;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;;;OAIG;IACH,UAAU,IAAI,OAAO;CAGrB"}
@@ -37,7 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  if (v !== undefined) module.exports = v;
38
38
  }
39
39
  else if (typeof define === "function" && define.amd) {
40
- define(["require", "exports", "node:fs/promises", "node:path", "../types"], factory);
40
+ define(["require", "exports", "node:fs/promises", "node:path", "../types", "./bridge-messages"], factory);
41
41
  }
42
42
  })(function (require, exports) {
43
43
  "use strict";
@@ -46,6 +46,7 @@ var __importStar = (this && this.__importStar) || (function () {
46
46
  const promises_1 = require("node:fs/promises");
47
47
  const path = __importStar(require("node:path"));
48
48
  const types_1 = require("../types");
49
+ const bridge_messages_1 = require("./bridge-messages");
49
50
  let _ivm = null;
50
51
  function getIvm() {
51
52
  if (!_ivm) {
@@ -444,15 +445,89 @@ var __importStar = (this && this.__importStar) || (function () {
444
445
  }
445
446
  });
446
447
  }
448
+ /**
449
+ * Create the single typed-RPC dispatcher.
450
+ *
451
+ * The isolate sends one envelope per typed RPC invocation:
452
+ * `callHost({ type: 'getNodeFirst', nodeName, branchIndex?, runIndex? })`
453
+ *
454
+ * Inputs cross a trust boundary, so the dispatcher parses every envelope
455
+ * with the host-side zod schema (`bridgeMessageSchema`) before any
456
+ * dispatch happens. Anything that deviates from the declared shape —
457
+ * unknown `type`, missing required fields, extra unexpected fields,
458
+ * wrong field types — fails the parse and an error sentinel is returned
459
+ * to the caller.
460
+ *
461
+ * After parsing, `switch (msg.type)` dispatches to a private handler with
462
+ * a fully narrowed message type. The operation set is exactly the cases
463
+ * in this switch; the `type` field selects a static branch in source,
464
+ * not a property lookup on a runtime object.
465
+ *
466
+ * @param data - Current workflow data
467
+ * @private
468
+ */
469
+ createCallHostRef(data) {
470
+ return new (getIvm().Reference)((rawMsg) => {
471
+ try {
472
+ const msg = bridge_messages_1.bridgeMessageSchema.parse(rawMsg);
473
+ switch (msg.type) {
474
+ case 'getNodeFirst':
475
+ return this.handleGetNodeFirst(msg, data);
476
+ case 'getNodeLast':
477
+ return this.handleGetNodeLast(msg, data);
478
+ case 'getNodeAll':
479
+ return this.handleGetNodeAll(msg, data);
480
+ default: {
481
+ // Unreachable at runtime — zod rejects unknown `type` values
482
+ // before the switch. The `never` assignment is the compile-time
483
+ // guard: a new schema added to `bridgeMessageSchema` without a
484
+ // matching case here becomes a type error.
485
+ const exhaustive = msg;
486
+ void exhaustive;
487
+ throw new Error('Unhandled bridge message');
488
+ }
489
+ }
490
+ }
491
+ catch (err) {
492
+ return serializeError(err);
493
+ }
494
+ });
495
+ }
496
+ /**
497
+ * Handlers for the `$('Foo').{first,last,all}` typed RPCs.
498
+ *
499
+ * Each handler reads a fixed literal property name off the host-side node
500
+ * proxy — the isolate cannot influence which property is dereferenced.
501
+ * Eliminating `data.$` as a host-callable entirely would require reaching
502
+ * the `WorkflowDataProxy` internals (e.g. `getNodeExecutionOrPinnedData`)
503
+ * rather than the public `$()` API; that's a follow-up.
504
+ *
505
+ * `data.$` is a host-wired function (`WorkflowDataProxy`'s `$`). If it
506
+ * ever isn't, optional chaining short-circuits to `undefined` — the same
507
+ * observable result the runtime's `E()` handler produces from any thrown
508
+ * error here.
509
+ *
510
+ * @private
511
+ */
512
+ handleGetNodeFirst(msg, data) {
513
+ return data.$?.(msg.nodeName)?.first?.(msg.branchIndex, msg.runIndex);
514
+ }
515
+ handleGetNodeLast(msg, data) {
516
+ return data.$?.(msg.nodeName)?.last?.(msg.branchIndex, msg.runIndex);
517
+ }
518
+ handleGetNodeAll(msg, data) {
519
+ return data.$?.(msg.nodeName)?.all?.(msg.branchIndex, msg.runIndex);
520
+ }
447
521
  /**
448
522
  * Execute JavaScript code in the isolated context.
449
523
  *
450
524
  * Flow:
451
- * 1. Create three ivm.Reference callbacks scoped to the current data
452
- * 2. Use evalClosureSync to run the code in a closure where $0/$1/$2
453
- * are the callback references no global mutable state
525
+ * 1. Create four ivm.Reference callbacks scoped to the current data:
526
+ * `getValueAtPath`, `getArrayElement`, `callFunctionAtPath`, `callHost`.
527
+ * 2. Use evalClosureSync to run the code in a closure where `$0`/`$1`/`$2`/`$3`
528
+ * are the callback references — no global mutable state.
454
529
  * 3. buildContext() inside the isolate creates a fresh evaluation context
455
- * from the closure-scoped references
530
+ * from the closure-scoped references.
456
531
  *
457
532
  * Each call gets its own closure, so nested and concurrent evaluations
458
533
  * cannot interfere with each other.
@@ -469,18 +544,27 @@ var __importStar = (this && this.__importStar) || (function () {
469
544
  const getValueAtPath = this.createGetValueAtPathRef(data);
470
545
  const getArrayElement = this.createGetArrayElementRef(data);
471
546
  const callFunctionAtPath = this.createCallFunctionAtPathRef(data);
547
+ const callHost = this.createCallHostRef(data);
472
548
  try {
473
549
  const timezone = options?.timezone ? JSON.stringify(options.timezone) : 'undefined';
474
550
  // Wrap transformed code so 'this' === the closure-scoped context.
475
551
  // Tournament generates: this.$json.email, this.$items(), etc.
476
552
  // buildContext() creates a fresh context with lazy proxies from the
477
- // closure-scoped callback references ($0, $1, $2) — no globals touched.
553
+ // closure-scoped callback references — no globals touched. The bundle
554
+ // is passed as a single object so adding typed RPCs doesn't churn the
555
+ // evalClosureSync signature; new operations land as new schemas in
556
+ // bridge-messages.ts and new cases in the callHost dispatcher.
478
557
  // The outer try-catch serializes errors into a sentinel object and returns
479
558
  // it as the result. Errors from host callbacks arrive as sentinels already
480
559
  // (via serializeError), so we pass them through. This avoids a round-trip
481
560
  // callback and keeps Error reconstruction on the host side only.
482
561
  const wrappedCode = `
483
- var __ctx = buildContext($0, $1, $2, ${timezone});
562
+ var __ctx = buildContext({
563
+ getValueAtPath: $0,
564
+ getArrayElement: $1,
565
+ callFunctionAtPath: $2,
566
+ callHost: $3,
567
+ }, ${timezone});
484
568
  try {
485
569
  var __result = (function() {
486
570
  ${code}
@@ -501,7 +585,7 @@ try {
501
585
  extra: extra
502
586
  };
503
587
  }`;
504
- const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callFunctionAtPath], { result: { copy: true }, timeout: this.config.timeout });
588
+ const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callFunctionAtPath, callHost], { result: { copy: true }, timeout: this.config.timeout });
505
589
  if (isErrorSentinel(result)) {
506
590
  throw this.reconstructError(result);
507
591
  }
@@ -531,6 +615,7 @@ try {
531
615
  getValueAtPath.release();
532
616
  getArrayElement.release();
533
617
  callFunctionAtPath.release();
618
+ callHost.release();
534
619
  }
535
620
  }
536
621
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}