n8n-workflow 2.43.1 → 2.43.2
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/cjs/build.tsbuildinfo +1 -1
- package/dist/cjs/expressions/native-evaluation/evaluator.d.ts +17 -1
- package/dist/cjs/expressions/native-evaluation/evaluator.d.ts.map +1 -1
- package/dist/cjs/expressions/native-evaluation/evaluator.js +149 -39
- package/dist/cjs/expressions/native-evaluation/evaluator.js.map +1 -1
- package/dist/cjs/expressions/native-evaluation/grammar.d.ts +37 -1
- package/dist/cjs/expressions/native-evaluation/grammar.d.ts.map +1 -1
- package/dist/cjs/expressions/native-evaluation/grammar.js +47 -6
- package/dist/cjs/expressions/native-evaluation/grammar.js.map +1 -1
- package/dist/cjs/expressions/native-evaluation/index.d.ts +1 -1
- package/dist/cjs/expressions/native-evaluation/index.d.ts.map +1 -1
- package/dist/cjs/expressions/native-evaluation/index.js +7 -3
- package/dist/cjs/expressions/native-evaluation/index.js.map +1 -1
- package/dist/cjs/expressions/native-evaluation/parser.d.ts +1 -1
- package/dist/cjs/expressions/native-evaluation/parser.d.ts.map +1 -1
- package/dist/cjs/expressions/native-evaluation/parser.js +131 -17
- package/dist/cjs/expressions/native-evaluation/parser.js.map +1 -1
- package/dist/cjs/interfaces.d.ts +12 -0
- package/dist/cjs/interfaces.d.ts.map +1 -1
- package/dist/cjs/nodes-api-version.d.ts +9 -18
- package/dist/cjs/nodes-api-version.d.ts.map +1 -1
- package/dist/cjs/nodes-api-version.js +24 -19
- package/dist/cjs/nodes-api-version.js.map +1 -1
- package/dist/esm/expressions/native-evaluation/evaluator.d.ts +17 -1
- package/dist/esm/expressions/native-evaluation/evaluator.d.ts.map +1 -1
- package/dist/esm/expressions/native-evaluation/evaluator.js +148 -39
- package/dist/esm/expressions/native-evaluation/evaluator.js.map +1 -1
- package/dist/esm/expressions/native-evaluation/grammar.d.ts +37 -1
- package/dist/esm/expressions/native-evaluation/grammar.d.ts.map +1 -1
- package/dist/esm/expressions/native-evaluation/grammar.js +46 -5
- package/dist/esm/expressions/native-evaluation/grammar.js.map +1 -1
- package/dist/esm/expressions/native-evaluation/index.d.ts +1 -1
- package/dist/esm/expressions/native-evaluation/index.d.ts.map +1 -1
- package/dist/esm/expressions/native-evaluation/index.js +5 -4
- package/dist/esm/expressions/native-evaluation/index.js.map +1 -1
- package/dist/esm/expressions/native-evaluation/parser.d.ts +1 -1
- package/dist/esm/expressions/native-evaluation/parser.d.ts.map +1 -1
- package/dist/esm/expressions/native-evaluation/parser.js +132 -18
- package/dist/esm/expressions/native-evaluation/parser.js.map +1 -1
- package/dist/esm/interfaces.d.ts +12 -0
- package/dist/esm/interfaces.d.ts.map +1 -1
- package/dist/esm/nodes-api-version.d.ts +9 -18
- package/dist/esm/nodes-api-version.d.ts.map +1 -1
- package/dist/esm/nodes-api-version.js +22 -19
- package/dist/esm/nodes-api-version.js.map +1 -1
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BINARY_OPS, CALLABLE_METHODS, MAX_DEPTH, UNARY_OPS, isOneOf, } from './grammar';
|
|
1
|
+
import { BINARY_OPS, CALLABLE_METHODS, DATA_ROOTS, ITERATOR_METHODS, LEGACY_NODE_REF_MEMBERS, MAX_DEPTH, MAX_RESULT_LENGTH, NODE_REF_MEMBERS, NODE_REF_METHODS, RESERVED_NAMES, UNARY_OPS, isOneOf, } from './grammar';
|
|
2
2
|
import { isSafeObjectProperty } from '../../utils';
|
|
3
3
|
function parseLiteral(node) {
|
|
4
4
|
// Regex literals stay on the engine (backtracking blowup has no isolate
|
|
@@ -18,8 +18,11 @@ function parseLiteral(node) {
|
|
|
18
18
|
return null;
|
|
19
19
|
return { kind: 'literal', value };
|
|
20
20
|
}
|
|
21
|
-
function parseIdentifier(node) {
|
|
22
|
-
if (node.name ===
|
|
21
|
+
function parseIdentifier(node, param) {
|
|
22
|
+
if (node.name === param) {
|
|
23
|
+
return { kind: 'param' };
|
|
24
|
+
}
|
|
25
|
+
if (isOneOf(DATA_ROOTS, node.name)) {
|
|
23
26
|
return { kind: 'root', name: node.name };
|
|
24
27
|
}
|
|
25
28
|
if (node.name === 'undefined') {
|
|
@@ -27,6 +30,65 @@ function parseIdentifier(node) {
|
|
|
27
30
|
}
|
|
28
31
|
return null;
|
|
29
32
|
}
|
|
33
|
+
// `['a', 'b']`: every element is a literal. Holes, spread and anything
|
|
34
|
+
// computed decline, as does a literal longer than any result may be.
|
|
35
|
+
function parseArray(node) {
|
|
36
|
+
if (node.elements.length > MAX_RESULT_LENGTH)
|
|
37
|
+
return null;
|
|
38
|
+
const elements = [];
|
|
39
|
+
for (const element of node.elements) {
|
|
40
|
+
if (element?.type !== 'Literal')
|
|
41
|
+
return null;
|
|
42
|
+
const literal = parseLiteral(element);
|
|
43
|
+
if (literal === null)
|
|
44
|
+
return null;
|
|
45
|
+
elements.push(literal);
|
|
46
|
+
}
|
|
47
|
+
return { kind: 'array', elements };
|
|
48
|
+
}
|
|
49
|
+
// A node name is a string literal (`$('Name')`, `$node['Name']`), vetted like
|
|
50
|
+
// an object key so a prototype name never reaches the node getters. Anything
|
|
51
|
+
// else is a dynamic name and stays on the engine.
|
|
52
|
+
function parseNodeName(node) {
|
|
53
|
+
if (node.type !== 'Literal')
|
|
54
|
+
return null;
|
|
55
|
+
const { value } = node;
|
|
56
|
+
return typeof value === 'string' && isSafeObjectProperty(value) ? value : null;
|
|
57
|
+
}
|
|
58
|
+
// `$node['Name']` or `$node.Name`: the dot form names the node by identifier.
|
|
59
|
+
function parseLegacyNodeName(node) {
|
|
60
|
+
if (node.computed === true)
|
|
61
|
+
return parseNodeName(node.property);
|
|
62
|
+
const { property } = node;
|
|
63
|
+
if (property.type !== 'Identifier' || !isSafeObjectProperty(property.name))
|
|
64
|
+
return null;
|
|
65
|
+
return property.name;
|
|
66
|
+
}
|
|
67
|
+
// `$('Name')`, `$input` or `$node['Name']` in object/receiver position, or
|
|
68
|
+
// null when the AST is not a node reference. Only the member and call parsers
|
|
69
|
+
// ask, so a reference never stands alone in the grammar.
|
|
70
|
+
function parseNodeRef(node) {
|
|
71
|
+
if (node.type === 'Identifier') {
|
|
72
|
+
return node.name === '$input' ? { kind: 'nodeRef', ref: 'input' } : null;
|
|
73
|
+
}
|
|
74
|
+
if (node.type === 'CallExpression') {
|
|
75
|
+
const { callee } = node;
|
|
76
|
+
if (callee.type !== 'Identifier' || callee.name !== '$' || node.arguments.length !== 1) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const name = parseNodeName(node.arguments[0]);
|
|
80
|
+
return name === null ? null : { kind: 'nodeRef', ref: 'node', name };
|
|
81
|
+
}
|
|
82
|
+
if (node.type === 'MemberExpression') {
|
|
83
|
+
const { object } = node;
|
|
84
|
+
if (object.type !== 'Identifier' || object.name !== '$node' || node.optional === true) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
const name = parseLegacyNodeName(node);
|
|
88
|
+
return name === null ? null : { kind: 'nodeRef', ref: 'legacy', name };
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
30
92
|
// Only static keys are representable. Dynamic keys ($json[$json.key]) need
|
|
31
93
|
// the sandbox's PrototypeSanitizer, so they stay on the engine. String keys
|
|
32
94
|
// are vetted at parse time (isSafeObjectProperty), which keeps prototype
|
|
@@ -34,12 +96,19 @@ function parseIdentifier(node) {
|
|
|
34
96
|
// unnecessary, but $json/$parameter are get-trap proxies for which
|
|
35
97
|
// Object.hasOwn misreports every key, so the parse-time vet is the boundary.
|
|
36
98
|
function parseMember(node, parse) {
|
|
37
|
-
const object = parse(node.object);
|
|
38
|
-
if (object === null)
|
|
39
|
-
return null;
|
|
40
99
|
const key = node.computed === true ? parseComputedKey(node.property) : parseStaticKey(node.property);
|
|
41
100
|
if (key === null)
|
|
42
101
|
return null;
|
|
102
|
+
const ref = parseNodeRef(node.object);
|
|
103
|
+
if (ref !== null) {
|
|
104
|
+
const allowed = ref.ref === 'legacy' ? LEGACY_NODE_REF_MEMBERS : NODE_REF_MEMBERS;
|
|
105
|
+
if (typeof key !== 'string' || !allowed.has(key))
|
|
106
|
+
return null;
|
|
107
|
+
return { kind: 'member', object: ref, key, optional: node.optional === true };
|
|
108
|
+
}
|
|
109
|
+
const object = parse(node.object);
|
|
110
|
+
if (object === null)
|
|
111
|
+
return null;
|
|
43
112
|
return { kind: 'member', object, key, optional: node.optional === true };
|
|
44
113
|
}
|
|
45
114
|
// `a[0]` or `a['b']`: the key is a literal.
|
|
@@ -61,16 +130,60 @@ function parseStaticKey(property) {
|
|
|
61
130
|
return null;
|
|
62
131
|
return property.name;
|
|
63
132
|
}
|
|
64
|
-
|
|
133
|
+
// `x => body`, the sole argument of an iterator method: one plain identifier
|
|
134
|
+
// parameter (not a reserved or prototype name) and an expression body parsed
|
|
135
|
+
// with that parameter bound. A block body, a default, destructuring, rest, a
|
|
136
|
+
// second argument (thisArg), and a callback inside a callback body decline.
|
|
137
|
+
function parseCallback(args, parse, param) {
|
|
138
|
+
if (param !== null || args.length !== 1)
|
|
139
|
+
return null;
|
|
140
|
+
const [fn] = args;
|
|
141
|
+
if (fn.type !== 'ArrowFunctionExpression' || fn.async === true || fn.params.length !== 1) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
const [parameter] = fn.params;
|
|
145
|
+
if (parameter.type !== 'Identifier')
|
|
146
|
+
return null;
|
|
147
|
+
const { name } = parameter;
|
|
148
|
+
if (RESERVED_NAMES.has(name) || !isSafeObjectProperty(name))
|
|
149
|
+
return null;
|
|
150
|
+
if (fn.body.type === 'BlockStatement')
|
|
151
|
+
return null;
|
|
152
|
+
return parse(fn.body, name);
|
|
153
|
+
}
|
|
154
|
+
function parseCall(node, parse, param) {
|
|
65
155
|
const callee = node.callee;
|
|
66
156
|
if (callee.type !== 'MemberExpression' || callee.computed === true)
|
|
67
157
|
return null;
|
|
68
158
|
const property = callee.property;
|
|
69
|
-
if (property.type !== 'Identifier'
|
|
159
|
+
if (property.type !== 'Identifier')
|
|
160
|
+
return null;
|
|
161
|
+
// `$('Name').first()` and friends: the proxy's own methods, no arguments.
|
|
162
|
+
// Branch and run indexes stay on the engine.
|
|
163
|
+
const ref = parseNodeRef(callee.object);
|
|
164
|
+
if (ref !== null) {
|
|
165
|
+
if (ref.ref === 'legacy' || !NODE_REF_METHODS.has(property.name) || node.arguments.length > 0) {
|
|
166
|
+
return null;
|
|
167
|
+
}
|
|
168
|
+
const optional = node.optional === true || callee.optional === true;
|
|
169
|
+
return { kind: 'call', receiver: ref, method: property.name, args: [], optional };
|
|
170
|
+
}
|
|
171
|
+
const method = property.name;
|
|
172
|
+
const isIterator = isOneOf(ITERATOR_METHODS, method);
|
|
173
|
+
if (!isIterator && !CALLABLE_METHODS.has(method))
|
|
70
174
|
return null;
|
|
71
175
|
const receiver = parse(callee.object);
|
|
72
176
|
if (receiver === null)
|
|
73
177
|
return null;
|
|
178
|
+
// `a?.m()` marks the member optional, `a.m?.()` marks the call optional;
|
|
179
|
+
// both short-circuit on a missing receiver, so one flag carries both.
|
|
180
|
+
const optional = node.optional === true || callee.optional === true;
|
|
181
|
+
if (isIterator) {
|
|
182
|
+
const body = parseCallback(node.arguments, parse, param);
|
|
183
|
+
if (body === null)
|
|
184
|
+
return null;
|
|
185
|
+
return { kind: 'iterate', receiver, method, body, optional };
|
|
186
|
+
}
|
|
74
187
|
const args = [];
|
|
75
188
|
for (const argument of node.arguments) {
|
|
76
189
|
const parsed = parse(argument);
|
|
@@ -78,10 +191,7 @@ function parseCall(node, parse) {
|
|
|
78
191
|
return null;
|
|
79
192
|
args.push(parsed);
|
|
80
193
|
}
|
|
81
|
-
|
|
82
|
-
// both short-circuit on a missing receiver, so one flag carries both.
|
|
83
|
-
const optional = node.optional === true || callee.optional === true;
|
|
84
|
-
return { kind: 'call', receiver, method: property.name, args, optional };
|
|
194
|
+
return { kind: 'call', receiver, method, args, optional };
|
|
85
195
|
}
|
|
86
196
|
// The wrapper esprima puts around every optional chain. It is the boundary an
|
|
87
197
|
// optional hop short-circuits to: `a?.b.c` yields undefined for a missing
|
|
@@ -124,15 +234,19 @@ function parseLogical(node, parse) {
|
|
|
124
234
|
return null;
|
|
125
235
|
return { kind: 'logical', op: node.operator, left, right };
|
|
126
236
|
}
|
|
127
|
-
|
|
237
|
+
// `param` is the callback parameter in scope, if any: the one name a body
|
|
238
|
+
// adds to the grammar.
|
|
239
|
+
export function parseSimple(node, depth = 0, param = null) {
|
|
128
240
|
if (depth > MAX_DEPTH)
|
|
129
241
|
return null;
|
|
130
|
-
const parse = (child) => parseSimple(child, depth + 1);
|
|
242
|
+
const parse = (child, childParam = param) => parseSimple(child, depth + 1, childParam);
|
|
131
243
|
switch (node.type) {
|
|
132
244
|
case 'Literal':
|
|
133
245
|
return parseLiteral(node);
|
|
134
246
|
case 'Identifier':
|
|
135
|
-
return parseIdentifier(node);
|
|
247
|
+
return parseIdentifier(node, param);
|
|
248
|
+
case 'ArrayExpression':
|
|
249
|
+
return parseArray(node);
|
|
136
250
|
case 'MemberExpression':
|
|
137
251
|
return parseMember(node, parse);
|
|
138
252
|
case 'ChainExpression':
|
|
@@ -146,10 +260,10 @@ export function parseSimple(node, depth = 0) {
|
|
|
146
260
|
case 'ConditionalExpression':
|
|
147
261
|
return parseBranches(node, parse);
|
|
148
262
|
case 'CallExpression':
|
|
149
|
-
return parseCall(node, parse);
|
|
263
|
+
return parseCall(node, parse, param);
|
|
150
264
|
default:
|
|
151
|
-
// Everything else (functions, templates, object
|
|
152
|
-
//
|
|
265
|
+
// Everything else (functions, templates, object literals, regex,
|
|
266
|
+
// dynamic keys, spread, ...) is outside the subset.
|
|
153
267
|
return null;
|
|
154
268
|
}
|
|
155
269
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/parser.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/interfaces.d.ts
CHANGED
|
@@ -2987,6 +2987,18 @@ export interface IWorkflowExecutionDataProcess {
|
|
|
2987
2987
|
agentRequest?: AiAgentRequest;
|
|
2988
2988
|
httpResponse?: express.Response;
|
|
2989
2989
|
streamingEnabled?: boolean;
|
|
2990
|
+
/**
|
|
2991
|
+
* What, if anything, on the main that started this run awaits its outcome
|
|
2992
|
+
* and would act on a paused segment as if it were the result. A worker must
|
|
2993
|
+
* not park such a run at shutdown.
|
|
2994
|
+
* - `'response'`: a webhook caller is owed a response; satisfied once the run
|
|
2995
|
+
* relays one.
|
|
2996
|
+
* - `'completion'`: a trigger node's done promise (Kafka, RabbitMQ, MQTT), an
|
|
2997
|
+
* Instance AI run or a retry awaits the end of the run; never satisfied early.
|
|
2998
|
+
* - `'none'`: nothing waits, the run may be parked.
|
|
2999
|
+
* Absent (older main): treated as `'completion'`, the strictest reading.
|
|
3000
|
+
*/
|
|
3001
|
+
callerAwaitsOutcome?: 'none' | 'response' | 'completion';
|
|
2990
3002
|
/**
|
|
2991
3003
|
* Only engine v2 reads this. The data-plane execution id, set by a caller that
|
|
2992
3004
|
* minted it before the run starts: to subscribe to the run's answer, or because
|