n8n-workflow 2.45.0 → 2.45.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.
Files changed (83) hide show
  1. package/dist/cjs/build.tsbuildinfo +1 -1
  2. package/dist/cjs/errors/expression.error.d.ts.map +1 -1
  3. package/dist/cjs/errors/expression.error.js +6 -0
  4. package/dist/cjs/errors/expression.error.js.map +1 -1
  5. package/dist/cjs/expression.d.ts +20 -0
  6. package/dist/cjs/expression.d.ts.map +1 -1
  7. package/dist/cjs/expression.js +90 -5
  8. package/dist/cjs/expression.js.map +1 -1
  9. package/dist/cjs/expressions/native-evaluation/compiler.d.ts +14 -0
  10. package/dist/cjs/expressions/native-evaluation/compiler.d.ts.map +1 -0
  11. package/dist/cjs/expressions/native-evaluation/compiler.js +68 -0
  12. package/dist/cjs/expressions/native-evaluation/compiler.js.map +1 -0
  13. package/dist/cjs/expressions/native-evaluation/evaluator.d.ts +4 -0
  14. package/dist/cjs/expressions/native-evaluation/evaluator.d.ts.map +1 -1
  15. package/dist/cjs/expressions/native-evaluation/evaluator.js +30 -25
  16. package/dist/cjs/expressions/native-evaluation/evaluator.js.map +1 -1
  17. package/dist/cjs/expressions/native-evaluation/index.d.ts +5 -3
  18. package/dist/cjs/expressions/native-evaluation/index.d.ts.map +1 -1
  19. package/dist/cjs/expressions/native-evaluation/index.js +56 -81
  20. package/dist/cjs/expressions/native-evaluation/index.js.map +1 -1
  21. package/dist/cjs/expressions/native-evaluation/skeleton.d.ts +4 -0
  22. package/dist/cjs/expressions/native-evaluation/skeleton.d.ts.map +1 -0
  23. package/dist/cjs/expressions/native-evaluation/skeleton.js +89 -0
  24. package/dist/cjs/expressions/native-evaluation/skeleton.js.map +1 -0
  25. package/dist/cjs/expressions/native-evaluation/verify.d.ts +30 -0
  26. package/dist/cjs/expressions/native-evaluation/verify.d.ts.map +1 -0
  27. package/dist/cjs/expressions/native-evaluation/verify.js +193 -0
  28. package/dist/cjs/expressions/native-evaluation/verify.js.map +1 -0
  29. package/dist/cjs/generate-schema-from-example.d.ts +6 -0
  30. package/dist/cjs/generate-schema-from-example.d.ts.map +1 -0
  31. package/dist/cjs/generate-schema-from-example.js +16 -0
  32. package/dist/cjs/generate-schema-from-example.js.map +1 -0
  33. package/dist/cjs/index.d.ts +1 -0
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +1 -0
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/interfaces.d.ts +2 -2
  38. package/dist/cjs/utils.d.ts +7 -0
  39. package/dist/cjs/utils.d.ts.map +1 -1
  40. package/dist/cjs/utils.js +10 -4
  41. package/dist/cjs/utils.js.map +1 -1
  42. package/dist/esm/errors/expression.error.d.ts.map +1 -1
  43. package/dist/esm/errors/expression.error.js +6 -0
  44. package/dist/esm/errors/expression.error.js.map +1 -1
  45. package/dist/esm/expression.d.ts +20 -0
  46. package/dist/esm/expression.d.ts.map +1 -1
  47. package/dist/esm/expression.js +91 -6
  48. package/dist/esm/expression.js.map +1 -1
  49. package/dist/esm/expressions/native-evaluation/compiler.d.ts +14 -0
  50. package/dist/esm/expressions/native-evaluation/compiler.d.ts.map +1 -0
  51. package/dist/esm/expressions/native-evaluation/compiler.js +65 -0
  52. package/dist/esm/expressions/native-evaluation/compiler.js.map +1 -0
  53. package/dist/esm/expressions/native-evaluation/evaluator.d.ts +4 -0
  54. package/dist/esm/expressions/native-evaluation/evaluator.d.ts.map +1 -1
  55. package/dist/esm/expressions/native-evaluation/evaluator.js +30 -25
  56. package/dist/esm/expressions/native-evaluation/evaluator.js.map +1 -1
  57. package/dist/esm/expressions/native-evaluation/index.d.ts +5 -3
  58. package/dist/esm/expressions/native-evaluation/index.d.ts.map +1 -1
  59. package/dist/esm/expressions/native-evaluation/index.js +55 -80
  60. package/dist/esm/expressions/native-evaluation/index.js.map +1 -1
  61. package/dist/esm/expressions/native-evaluation/skeleton.d.ts +4 -0
  62. package/dist/esm/expressions/native-evaluation/skeleton.d.ts.map +1 -0
  63. package/dist/esm/expressions/native-evaluation/skeleton.js +85 -0
  64. package/dist/esm/expressions/native-evaluation/skeleton.js.map +1 -0
  65. package/dist/esm/expressions/native-evaluation/verify.d.ts +30 -0
  66. package/dist/esm/expressions/native-evaluation/verify.d.ts.map +1 -0
  67. package/dist/esm/expressions/native-evaluation/verify.js +151 -0
  68. package/dist/esm/expressions/native-evaluation/verify.js.map +1 -0
  69. package/dist/esm/generate-schema-from-example.d.ts +6 -0
  70. package/dist/esm/generate-schema-from-example.d.ts.map +1 -0
  71. package/dist/esm/generate-schema-from-example.js +13 -0
  72. package/dist/esm/generate-schema-from-example.js.map +1 -0
  73. package/dist/esm/index.d.ts +1 -0
  74. package/dist/esm/index.d.ts.map +1 -1
  75. package/dist/esm/index.js +1 -0
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/interfaces.d.ts +2 -2
  78. package/dist/esm/typecheck.tsbuildinfo +1 -1
  79. package/dist/esm/utils.d.ts +7 -0
  80. package/dist/esm/utils.d.ts.map +1 -1
  81. package/dist/esm/utils.js +7 -1
  82. package/dist/esm/utils.js.map +1 -1
  83. package/package.json +8 -7
@@ -32,7 +32,7 @@ class Env {
32
32
  charge(units) {
33
33
  this.work += units;
34
34
  if (this.work > grammar_1.MAX_WORK)
35
- throw new EngineFallbackError();
35
+ throw new EngineFallbackError('too_much_work');
36
36
  }
37
37
  }
38
38
  exports.Env = Env;
@@ -46,6 +46,11 @@ exports.Env = Env;
46
46
  * are pure and workflow data is JSON, so the only cost is the repeated work.
47
47
  */
48
48
  class EngineFallbackError extends Error {
49
+ reason;
50
+ constructor(reason) {
51
+ super();
52
+ this.reason = reason;
53
+ }
49
54
  }
50
55
  exports.EngineFallbackError = EngineFallbackError;
51
56
  /**
@@ -71,7 +76,7 @@ const isPrimitive = (value) => value === null || (typeof value !== 'object' && t
71
76
  function bounded(value) {
72
77
  const isSizeable = typeof value === 'string' || (0, grammar_1.isArray)(value);
73
78
  if (isSizeable && value.length > grammar_1.MAX_RESULT_LENGTH) {
74
- throw new EngineFallbackError();
79
+ throw new EngineFallbackError('too_large');
75
80
  }
76
81
  return value;
77
82
  }
@@ -116,7 +121,7 @@ function evalMember(node, env) {
116
121
  node.key in object &&
117
122
  !(0, grammar_1.hasOwn)(object, node.key);
118
123
  if (inherited) {
119
- throw new EngineFallbackError();
124
+ throw new EngineFallbackError('unsupported_type');
120
125
  }
121
126
  // A node reference member (`.item`, `.json`) resolves through the proxy.
122
127
  if (node.object.kind === 'nodeRef')
@@ -126,7 +131,7 @@ function evalMember(node, env) {
126
131
  // drops a nested function but fails on an inherited one; legacy throws),
127
132
  // so the configured engine decides rather than this module guessing.
128
133
  if (typeof value === 'function' || typeof value === 'symbol') {
129
- throw new EngineFallbackError();
134
+ throw new EngineFallbackError('unsupported_type');
130
135
  }
131
136
  return value;
132
137
  }
@@ -160,7 +165,7 @@ function methodFor(receiver, name) {
160
165
  method = grammar_1.ARRAY_METHODS.get(name);
161
166
  }
162
167
  if (method === undefined)
163
- throw new EngineFallbackError();
168
+ throw new EngineFallbackError('unsupported_method');
164
169
  return method;
165
170
  }
166
171
  /**
@@ -201,7 +206,7 @@ function preflightSize(receiver, method, args) {
201
206
  // (a literal "$&") stays native while `$$$&` (a literal "$" then `$&`)
202
207
  // bails. With a string pattern every other `$` is literal.
203
208
  if (/\$[&`']/.test(replacement.replaceAll('$$', '')))
204
- throw new EngineFallbackError();
209
+ throw new EngineFallbackError('replace_pattern');
205
210
  upperBound =
206
211
  method === 'replace'
207
212
  ? receiver.length + replacement.length
@@ -216,7 +221,7 @@ function preflightSize(receiver, method, args) {
216
221
  }
217
222
  }
218
223
  if (upperBound > grammar_1.MAX_RESULT_LENGTH) {
219
- throw new EngineFallbackError();
224
+ throw new EngineFallbackError('too_large');
220
225
  }
221
226
  return upperBound;
222
227
  }
@@ -250,10 +255,10 @@ function assertPrimitiveElements(receiver) {
250
255
  // The receiver cap applies before the scan, so the scan never walks more
251
256
  // than the cap either.
252
257
  if (receiver.length > grammar_1.MAX_RESULT_LENGTH)
253
- throw new EngineFallbackError();
258
+ throw new EngineFallbackError('too_large');
254
259
  for (const element of receiver) {
255
260
  if (!isPrimitive(element))
256
- throw new EngineFallbackError();
261
+ throw new EngineFallbackError('unsupported_type');
257
262
  }
258
263
  }
259
264
  /**
@@ -285,7 +290,7 @@ function elementContentWork(receiver, method) {
285
290
  */
286
291
  function contentWeight(value, budget, depth = 0) {
287
292
  if (depth > grammar_1.MAX_DEPTH)
288
- throw new EngineFallbackError();
293
+ throw new EngineFallbackError('too_deep');
289
294
  if (typeof value === 'string')
290
295
  return value.length;
291
296
  if (!(0, grammar_1.isObj)(value))
@@ -325,7 +330,7 @@ function assertConcatWeight(receiver, args) {
325
330
  weight += contentWeight(arg, grammar_1.MAX_RESULT_LENGTH - weight);
326
331
  }
327
332
  if (weight > grammar_1.MAX_RESULT_LENGTH)
328
- throw new EngineFallbackError();
333
+ throw new EngineFallbackError('too_large');
329
334
  }
330
335
  function evalReceiver(node, env) {
331
336
  const receiver = evalNode(node.receiver, env);
@@ -351,7 +356,7 @@ function evalCall(node, env) {
351
356
  // An own property shadowing the method (an engine-resolved $parameter value
352
357
  // can carry one) would take precedence in the engines.
353
358
  if ((0, grammar_1.hasOwn)(receiver, node.method)) {
354
- throw new EngineFallbackError();
359
+ throw new EngineFallbackError('unsupported_method');
355
360
  }
356
361
  const method = methodFor(receiver, node.method);
357
362
  const args = evalArgs(node, env);
@@ -369,7 +374,7 @@ function evalCall(node, env) {
369
374
  function evalArgs(node, env) {
370
375
  const args = node.args.map((argument) => evalNode(argument, env));
371
376
  if (!args.every((arg) => isAllowedArgument(node.method, arg))) {
372
- throw new EngineFallbackError();
377
+ throw new EngineFallbackError('unsupported_type');
373
378
  }
374
379
  return args;
375
380
  }
@@ -391,11 +396,11 @@ function evalExtension(node, env) {
391
396
  const args = evalArgs(node, env);
392
397
  const weight = contentWeight(receiver, grammar_1.MAX_RESULT_LENGTH);
393
398
  if (weight > grammar_1.MAX_RESULT_LENGTH)
394
- throw new EngineFallbackError();
399
+ throw new EngineFallbackError('too_large');
395
400
  env.charge(weight);
396
401
  const result = (0, extensions_1.extend)(receiver, node.method, args);
397
402
  if ((0, grammar_1.isObj)(result) && !(0, grammar_1.isArray)(result) && Object.getPrototypeOf(result) !== Object.prototype) {
398
- throw new EngineFallbackError();
403
+ throw new EngineFallbackError('unsupported_type');
399
404
  }
400
405
  return bounded(result);
401
406
  }
@@ -409,22 +414,22 @@ function evalExtension(node, env) {
409
414
  function evalIterate(node, env) {
410
415
  const receiver = evalReceiver(node, env);
411
416
  if (!(0, grammar_1.isArray)(receiver) || (0, grammar_1.hasOwn)(receiver, node.method)) {
412
- throw new EngineFallbackError();
417
+ throw new EngineFallbackError('unsupported_method');
413
418
  }
414
419
  const method = grammar_1.ITERATOR_NATIVES.get(node.method);
415
420
  if (method === undefined)
416
- throw new EngineFallbackError();
421
+ throw new EngineFallbackError('unsupported_method');
417
422
  env.charge(preflightSize(receiver, node.method, []));
418
423
  let weight = 0;
419
424
  const visit = (element) => {
420
425
  if (++env.steps > grammar_1.MAX_STEPS)
421
- throw new EngineFallbackError();
426
+ throw new EngineFallbackError('too_much_work');
422
427
  env.param = element;
423
428
  const result = evalNode(node.body, env);
424
429
  if (node.method === 'map') {
425
430
  weight += contentWeight(result, grammar_1.MAX_RESULT_LENGTH - weight);
426
431
  if (weight > grammar_1.MAX_RESULT_LENGTH)
427
- throw new EngineFallbackError();
432
+ throw new EngineFallbackError('too_large');
428
433
  }
429
434
  return result;
430
435
  };
@@ -440,13 +445,13 @@ function evalIterate(node, env) {
440
445
  function evalNodeRefCall(proxy, method, env) {
441
446
  const fn = Reflect.get(proxy, method);
442
447
  if (typeof fn !== 'function')
443
- throw new EngineFallbackError();
448
+ throw new EngineFallbackError('unsupported_method');
444
449
  const result = bounded(fn.call(proxy));
445
450
  // A node name that is an Object.prototype key resolves through a plain
446
451
  // object lookup on the host. Only the item shapes stay native.
447
452
  const expected = method === 'all' ? (0, grammar_1.isArray)(result) : result === undefined || isItem(result);
448
453
  if (!expected)
449
- throw new EngineFallbackError();
454
+ throw new EngineFallbackError('unsupported_type');
450
455
  env.charge((0, grammar_1.isArray)(result) ? result.length : 1);
451
456
  return result;
452
457
  }
@@ -459,10 +464,10 @@ const isItem = (value) => (0, grammar_1.isObj)(value) && !(0, grammar_1.isArray)
459
464
  */
460
465
  function evalTimeRead(root, fn) {
461
466
  if (fn === undefined || !luxon_1.DateTime.isDateTime(root))
462
- throw new EngineFallbackError();
467
+ throw new EngineFallbackError('unsupported_method');
463
468
  const result = fn.call(root);
464
469
  if (!isPrimitive(result))
465
- throw new EngineFallbackError();
470
+ throw new EngineFallbackError('unsupported_type');
466
471
  return result;
467
472
  }
468
473
  function evalNodeRef(node, env) {
@@ -488,7 +493,7 @@ function evalUnary(node, env) {
488
493
  return !argument;
489
494
  }
490
495
  if (!isPrimitive(argument)) {
491
- throw new EngineFallbackError();
496
+ throw new EngineFallbackError('unsupported_type');
492
497
  }
493
498
  return node.op === '-' ? -(0, grammar_1.toNum)(argument) : (0, grammar_1.toNum)(argument);
494
499
  }
@@ -496,7 +501,7 @@ function evalBinary(node, env) {
496
501
  const left = evalNode(node.left, env);
497
502
  const right = evalNode(node.right, env);
498
503
  if (!isPrimitive(left) || !isPrimitive(right)) {
499
- throw new EngineFallbackError();
504
+ throw new EngineFallbackError('unsupported_type');
500
505
  }
501
506
  const result = binaryOps[node.op](left, right);
502
507
  // `+` is the one operator that allocates; a body concatenating a payload
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/evaluator.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
+ import { type NativeFallbackReason } from './evaluator';
1
2
  import type { IWorkflowDataProxyData } from '../../interfaces';
2
3
  export { CALLABLE_METHODS, ITERATOR_METHODS, MAX_RESULT_LENGTH, MAX_STEPS, MAX_WORK, TIME_METHODS, } from './grammar';
3
4
  /** Does the expression (leading `=` stripped) fit the native subset? */
4
5
  export declare function isNativelyEvaluable(expression: string): boolean;
5
6
  /**
6
7
  * Evaluate an expression (with the leading `=` already stripped) in-process.
7
- * Returns `{ handled: false }` when the expression is outside the subset or a
8
- * runtime value fell outside what parsing proved; the caller must then run
9
- * the regular pipeline.
8
+ * Returns `{ handled: false }` when the expression is outside the subset, and
9
+ * `{ handled: false, fallbackReason }` when a runtime value fell outside what
10
+ * parsing proved; the caller must then run the regular pipeline.
10
11
  */
11
12
  export declare function evaluateNatively(expression: string, data: IWorkflowDataProxyData): {
12
13
  handled: true;
13
14
  value: unknown;
14
15
  } | {
15
16
  handled: false;
17
+ fallbackReason?: NativeFallbackReason;
16
18
  };
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,YAAY,GACZ,MAAM,WAAW,CAAC;AAmHnB,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,sBAAsB,GAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAYxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAKN,KAAK,oBAAoB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,YAAY,GACZ,MAAM,WAAW,CAAC;AAsCnB,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,sBAAsB,GAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,cAAc,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAc/F"}
@@ -3,11 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TIME_METHODS = exports.MAX_WORK = exports.MAX_STEPS = exports.MAX_RESULT_LENGTH = exports.ITERATOR_METHODS = exports.CALLABLE_METHODS = void 0;
4
4
  exports.isNativelyEvaluable = isNativelyEvaluable;
5
5
  exports.evaluateNatively = evaluateNatively;
6
- const tournament_1 = require("@n8n/tournament");
7
- const lru_cache_1 = require("@n8n/utils/lru-cache");
6
+ const compiler_1 = require("./compiler");
8
7
  const evaluator_1 = require("./evaluator");
9
8
  const grammar_1 = require("./grammar");
10
- const parser_1 = require("./parser");
11
9
  const { getPrototypeOf, keys } = Object;
12
10
  var grammar_2 = require("./grammar");
13
11
  Object.defineProperty(exports, "CALLABLE_METHODS", { enumerable: true, get: function () { return grammar_2.CALLABLE_METHODS; } });
@@ -16,79 +14,53 @@ Object.defineProperty(exports, "MAX_RESULT_LENGTH", { enumerable: true, get: fun
16
14
  Object.defineProperty(exports, "MAX_STEPS", { enumerable: true, get: function () { return grammar_2.MAX_STEPS; } });
17
15
  Object.defineProperty(exports, "MAX_WORK", { enumerable: true, get: function () { return grammar_2.MAX_WORK; } });
18
16
  Object.defineProperty(exports, "TIME_METHODS", { enumerable: true, get: function () { return grammar_2.TIME_METHODS; } });
19
- // null = outside the subset. Declined expressions are cached too, so an
20
- // expression the engine owns costs one parse here, not one per evaluation.
21
- // Entries are keyed by expression text, so the key length is capped to keep
22
- // the cache's memory bounded; longer expressions are compiled per evaluation.
23
- const cache = new lru_cache_1.LruCache(1024);
24
- const MAX_CACHED_EXPRESSION_LENGTH = 10_000;
25
- // One code chunk of the split expression, or null when it is outside the
26
- // subset. A throw during the re-parse must always mean "declined", never
27
- // escape.
28
- function compileChunk(chunk) {
29
- const body = chunk.parsed.program.body;
30
- if (body.length !== 1)
31
- return null;
32
- const statement = body[0];
33
- if (statement.type !== 'ExpressionStatement')
34
- return null;
35
- try {
36
- return (0, parser_1.parseSimple)(statement.expression);
37
- }
38
- catch {
39
- return null;
40
- }
41
- }
42
- function compile(expression) {
43
- let parsed;
44
- try {
45
- parsed = (0, tournament_1.getParsedExpression)(expression);
46
- }
47
- catch {
48
- // Syntax errors fall through to the engine for its error reporting.
49
- return null;
50
- }
51
- const chunks = [];
52
- const nodes = [];
53
- for (const chunk of parsed) {
54
- if (chunk.type === 'text') {
55
- chunks.push(chunk);
56
- continue;
57
- }
58
- const node = compileChunk(chunk);
59
- if (node === null)
60
- return null;
61
- chunks.push({ type: 'code', node });
62
- nodes.push(node);
63
- }
64
- if ((0, parser_1.usesPolyfilledChain)(nodes))
65
- return null;
66
- // Mirrors the branch condition in ExpressionBuilder.getExpressionCode.
67
- const isWholeValue = chunks.length === 2 && chunks[0].type === 'text' && chunks[0].text === '';
68
- return { chunks, isWholeValue };
69
- }
70
- function getCompiled(expression) {
71
- if (expression.length > MAX_CACHED_EXPRESSION_LENGTH)
72
- return compile(expression);
73
- let compiled = cache.get(expression);
74
- if (compiled === undefined) {
75
- compiled = compile(expression);
76
- cache.set(expression, compiled);
77
- }
78
- return compiled;
79
- }
17
+ // Fast native evaluation: an in-process interpreter for a closed subset of
18
+ // the expression grammar.
19
+ //
20
+ // The subset is data path access on the data roots (`$json`, `$parameter`,
21
+ // `$vars`, `$binary`, `$itemIndex`, `$runIndex`) and on node references
22
+ // (`$('Name').item`, `$('Name').first()`, `$input.item`, `$node['Name'].json`),
23
+ // primitive reads off the time roots (`$now.toMillis()`, `$today.year`),
24
+ // literals (array literals of literals included), a fixed set of operators,
25
+ // calls to a closed allowlist of native string/number/array methods, and the
26
+ // five array iterators (some/every/find/filter/map) with a one-parameter
27
+ // arrow callback whose body is in the same subset. Such expressions cannot
28
+ // reach prototypes or touch anything outside the data proxy, and the only
29
+ // loop is a native iterator over a size-capped array under a step budget, so
30
+ // they are interpreted here without the sandbox AST hooks, the
31
+ // global-context setup, or an engine (isolate) evaluation. Anything that
32
+ // does not fit the subset is declined and takes the regular pipeline.
33
+ //
34
+ // Structure follows "parse, don't validate": the esprima AST is not checked
35
+ // in place, it is re-parsed into the closed {@link SimpleNode} grammar below.
36
+ // Construction either yields a node of that grammar or null; the interpreter
37
+ // only ever sees objects this module built, so it cannot read a field the
38
+ // parser did not put there, and unsupported constructs are unrepresentable
39
+ // rather than rejected. Expression text is never executed as code.
40
+ //
41
+ // Data is the other input. Node output is normalised to JSON at the node
42
+ // boundary (verified for Set and Code output on a running instance), so
43
+ // `$json` holds plain objects, arrays and primitives. The runtime guards
44
+ // below therefore target what JSON content can do (sizes) and where the host
45
+ // would diverge from the isolates (live references, coercion, aliasing), not
46
+ // hooks that cannot arrive. Non-JSON values in workflow data are engine bugs.
47
+ //
48
+ // Layout: grammar.ts holds the closed grammar and the allowlists, parser.ts
49
+ // turns esprima output into it, compiler.ts splits, compiles and caches whole
50
+ // expressions, evaluator.ts interprets them, and this file runs them.
51
+ // skeleton.ts and verify.ts serve verify mode only.
80
52
  /** Does the expression (leading `=` stripped) fit the native subset? */
81
53
  function isNativelyEvaluable(expression) {
82
- return getCompiled(expression) !== null;
54
+ return (0, compiler_1.getCompiled)(expression) !== null;
83
55
  }
84
56
  /**
85
57
  * Evaluate an expression (with the leading `=` already stripped) in-process.
86
- * Returns `{ handled: false }` when the expression is outside the subset or a
87
- * runtime value fell outside what parsing proved; the caller must then run
88
- * the regular pipeline.
58
+ * Returns `{ handled: false }` when the expression is outside the subset, and
59
+ * `{ handled: false, fallbackReason }` when a runtime value fell outside what
60
+ * parsing proved; the caller must then run the regular pipeline.
89
61
  */
90
62
  function evaluateNatively(expression, data) {
91
- const compiled = getCompiled(expression);
63
+ const compiled = (0, compiler_1.getCompiled)(expression);
92
64
  if (compiled === null)
93
65
  return { handled: false };
94
66
  try {
@@ -96,8 +68,9 @@ function evaluateNatively(expression, data) {
96
68
  return { handled: true, value };
97
69
  }
98
70
  catch (error) {
99
- if (error instanceof evaluator_1.EngineFallbackError)
100
- return { handled: false };
71
+ if (error instanceof evaluator_1.EngineFallbackError) {
72
+ return { handled: false, fallbackReason: error.reason };
73
+ }
101
74
  throw error;
102
75
  }
103
76
  }
@@ -116,17 +89,19 @@ function copyResult(value) {
116
89
  const copy = (value, depth) => {
117
90
  const nonJsonLeaf = typeof value === 'function' || typeof value === 'symbol' || typeof value === 'bigint';
118
91
  if (nonJsonLeaf)
119
- throw new evaluator_1.EngineFallbackError();
92
+ throw new evaluator_1.EngineFallbackError('unsupported_type');
120
93
  if (!(0, grammar_1.isObj)(value))
121
94
  return value;
122
- if (depth > grammar_1.MAX_DEPTH || value.isProxy === true)
123
- throw new evaluator_1.EngineFallbackError();
95
+ if (depth > grammar_1.MAX_DEPTH)
96
+ throw new evaluator_1.EngineFallbackError('too_deep');
97
+ if (value.isProxy === true)
98
+ throw new evaluator_1.EngineFallbackError('unsupported_type');
124
99
  if ((0, grammar_1.isArray)(value)) {
125
100
  if (getPrototypeOf(value) !== Array.prototype)
126
- throw new evaluator_1.EngineFallbackError();
101
+ throw new evaluator_1.EngineFallbackError('unsupported_type');
127
102
  visits += value.length;
128
103
  if (visits > grammar_1.MAX_RESULT_LENGTH)
129
- throw new evaluator_1.EngineFallbackError();
104
+ throw new evaluator_1.EngineFallbackError('too_large');
130
105
  // Holes stay holes: the corpus pins an engine divergence on sparse arrays.
131
106
  const result = new Array(value.length);
132
107
  for (let i = 0; i < value.length; i++) {
@@ -137,15 +112,15 @@ function copyResult(value) {
137
112
  }
138
113
  const proto = getPrototypeOf(value);
139
114
  if (proto !== Object.prototype && proto !== null)
140
- throw new evaluator_1.EngineFallbackError();
115
+ throw new evaluator_1.EngineFallbackError('unsupported_type');
141
116
  const ownKeys = keys(value);
142
117
  visits += ownKeys.length;
143
118
  if (visits > grammar_1.MAX_RESULT_LENGTH)
144
- throw new evaluator_1.EngineFallbackError();
119
+ throw new evaluator_1.EngineFallbackError('too_large');
145
120
  const result = {};
146
121
  for (const key of ownKeys) {
147
122
  if (key === '__proto__')
148
- throw new evaluator_1.EngineFallbackError();
123
+ throw new evaluator_1.EngineFallbackError('unsupported_type');
149
124
  result[key] = copy(value[key], depth + 1);
150
125
  }
151
126
  return result;
@@ -173,14 +148,14 @@ function evalCompiled(compiled, data) {
173
148
  const value = (0, evaluator_1.evalChunk)(chunk.node, env);
174
149
  // An object here would coerce through its toString on the host.
175
150
  if ((0, grammar_1.isObj)(value)) {
176
- throw new evaluator_1.EngineFallbackError();
151
+ throw new evaluator_1.EngineFallbackError('unsupported_type');
177
152
  }
178
153
  const part = value || value === 0 || value === false ? value : '';
179
154
  parts.push(part);
180
155
  length += typeof part === 'string' ? part.length : 1;
181
156
  // Bound before the join allocates the combined string.
182
157
  if (length > grammar_1.MAX_RESULT_LENGTH)
183
- throw new evaluator_1.EngineFallbackError();
158
+ throw new evaluator_1.EngineFallbackError('too_large');
184
159
  }
185
160
  // Single-chunk expressions (plain text, or a lone blank `{{}}`) return the
186
161
  // part as-is; everything else joins to a string.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SimpleNode } from './grammar';
2
+ export declare function skeletonOf(node: SimpleNode): string;
3
+ export declare function readsClockOrParameter(node: SimpleNode): boolean;
4
+ //# sourceMappingURL=skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../src/expressions/native-evaluation/skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAO5C,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkCnD;AAkBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAM/D"}