@n8n/workflow-sdk 0.18.2 → 0.19.1
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/ast-interpreter/errors.d.ts +1 -1
- package/dist/ast-interpreter/errors.js +2 -2
- package/dist/ast-interpreter/errors.js.map +1 -1
- package/dist/ast-interpreter/index.d.ts +2 -1
- package/dist/ast-interpreter/index.js +8 -1
- package/dist/ast-interpreter/index.js.map +1 -1
- package/dist/ast-interpreter/interpreter.js +7 -4
- package/dist/ast-interpreter/interpreter.js.map +1 -1
- package/dist/ast-interpreter/validators.d.ts +18 -0
- package/dist/ast-interpreter/validators.js +92 -75
- package/dist/ast-interpreter/validators.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/generate-types/zod-helpers.d.ts +2 -2
- package/dist/prompts/sdk-reference/expressions.d.ts +1 -1
- package/dist/prompts/sdk-reference/expressions.js +12 -2
- package/dist/prompts/sdk-reference/expressions.js.map +1 -1
- package/dist/prompts/sdk-reference/index.d.ts +1 -0
- package/dist/prompts/sdk-reference/index.js +3 -1
- package/dist/prompts/sdk-reference/index.js.map +1 -1
- package/dist/prompts/sdk-reference/sdk-language.d.ts +1 -0
- package/dist/prompts/sdk-reference/sdk-language.js +72 -0
- package/dist/prompts/sdk-reference/sdk-language.js.map +1 -0
- package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -1
- package/dist/prompts/sdk-reference/workflow-rules.js +3 -0
- package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.js +18 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/test-schema-setup.js +1 -1
- package/dist/validation/test-schema-setup.js.map +1 -1
- package/package.json +14 -10
|
@@ -11,7 +11,7 @@ export declare class UnsupportedNodeError extends InterpreterError {
|
|
|
11
11
|
}
|
|
12
12
|
export declare class SecurityError extends InterpreterError {
|
|
13
13
|
readonly pattern: string;
|
|
14
|
-
constructor(pattern: string, location?: SourceLocation, sourceCode?: string);
|
|
14
|
+
constructor(pattern: string, location?: SourceLocation, sourceCode?: string, detail?: string);
|
|
15
15
|
}
|
|
16
16
|
export declare class UnknownIdentifierError extends InterpreterError {
|
|
17
17
|
readonly identifier: string;
|
|
@@ -46,8 +46,8 @@ class UnsupportedNodeError extends InterpreterError {
|
|
|
46
46
|
}
|
|
47
47
|
exports.UnsupportedNodeError = UnsupportedNodeError;
|
|
48
48
|
class SecurityError extends InterpreterError {
|
|
49
|
-
constructor(pattern, location, sourceCode) {
|
|
50
|
-
super(`Security violation: '${pattern}' is not allowed`, location, sourceCode);
|
|
49
|
+
constructor(pattern, location, sourceCode, detail) {
|
|
50
|
+
super(detail ?? `Security violation: '${pattern}' is not allowed`, location, sourceCode);
|
|
51
51
|
this.name = 'SecurityError';
|
|
52
52
|
this.pattern = pattern;
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ast-interpreter/errors.ts"],"names":[],"mappings":";;;AAUA,MAAa,gBAAiB,SAAQ,KAAK;IAI1C,YAAY,OAAe,EAAE,QAAyB,EAAE,UAAmB;QAC1E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAG7B,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,GAAG,OAAO,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC5D,CAAC;IACF,CAAC;IAKO,iBAAiB;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAElD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QAE3B,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAE1D,MAAM,YAAY,GAAG,CAAC,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;QAErE,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAGrD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;gBAC3C,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;YAChE,CAAC;QACF,CAAC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;CACD;AAjDD,4CAiDC;AAMD,MAAa,oBAAqB,SAAQ,gBAAgB;IAGzD,YAAY,QAAgB,EAAE,QAAyB,EAAE,UAAmB;QAC3E,KAAK,CAAC,wBAAwB,QAAQ,8BAA8B,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5F,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;CACD;AARD,oDAQC;AAMD,MAAa,aAAc,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ast-interpreter/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,5 @@ export { interpretSDKCode } from './interpreter';
|
|
|
2
2
|
export type { SDKFunctions } from './interpreter';
|
|
3
3
|
export { InterpreterError, UnsupportedNodeError, SecurityError, UnknownIdentifierError, } from './errors';
|
|
4
4
|
export { parseSDKCode } from './parser';
|
|
5
|
-
export { ALLOWED_SDK_FUNCTIONS, ALLOWED_METHODS, isAllowedSDKFunction, isAllowedMethod, } from './validators';
|
|
5
|
+
export { ALLOWED_SDK_FUNCTIONS, ALLOWED_METHODS, SDK_METHODS, FORBIDDEN_NODE_TYPES, SAFE_JSON_METHOD_NAMES, SAFE_STRING_METHOD_NAMES, BUILDER_BLOCKED_GLOBALS, SDK_INLINE_CONSTRAINTS, DANGEROUS_GLOBALS, isAllowedSDKFunction, isAllowedMethod, } from './validators';
|
|
6
|
+
export type { BuilderBlockedGlobal, SdkMethodSpec, SdkMethodGroup } from './validators';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isAllowedMethod = exports.isAllowedSDKFunction = exports.ALLOWED_METHODS = exports.ALLOWED_SDK_FUNCTIONS = exports.parseSDKCode = exports.UnknownIdentifierError = exports.SecurityError = exports.UnsupportedNodeError = exports.InterpreterError = exports.interpretSDKCode = void 0;
|
|
3
|
+
exports.isAllowedMethod = exports.isAllowedSDKFunction = exports.DANGEROUS_GLOBALS = exports.SDK_INLINE_CONSTRAINTS = exports.BUILDER_BLOCKED_GLOBALS = exports.SAFE_STRING_METHOD_NAMES = exports.SAFE_JSON_METHOD_NAMES = exports.FORBIDDEN_NODE_TYPES = exports.SDK_METHODS = exports.ALLOWED_METHODS = exports.ALLOWED_SDK_FUNCTIONS = exports.parseSDKCode = exports.UnknownIdentifierError = exports.SecurityError = exports.UnsupportedNodeError = exports.InterpreterError = exports.interpretSDKCode = void 0;
|
|
4
4
|
var interpreter_1 = require("./interpreter");
|
|
5
5
|
Object.defineProperty(exports, "interpretSDKCode", { enumerable: true, get: function () { return interpreter_1.interpretSDKCode; } });
|
|
6
6
|
var errors_1 = require("./errors");
|
|
@@ -13,6 +13,13 @@ Object.defineProperty(exports, "parseSDKCode", { enumerable: true, get: function
|
|
|
13
13
|
var validators_1 = require("./validators");
|
|
14
14
|
Object.defineProperty(exports, "ALLOWED_SDK_FUNCTIONS", { enumerable: true, get: function () { return validators_1.ALLOWED_SDK_FUNCTIONS; } });
|
|
15
15
|
Object.defineProperty(exports, "ALLOWED_METHODS", { enumerable: true, get: function () { return validators_1.ALLOWED_METHODS; } });
|
|
16
|
+
Object.defineProperty(exports, "SDK_METHODS", { enumerable: true, get: function () { return validators_1.SDK_METHODS; } });
|
|
17
|
+
Object.defineProperty(exports, "FORBIDDEN_NODE_TYPES", { enumerable: true, get: function () { return validators_1.FORBIDDEN_NODE_TYPES; } });
|
|
18
|
+
Object.defineProperty(exports, "SAFE_JSON_METHOD_NAMES", { enumerable: true, get: function () { return validators_1.SAFE_JSON_METHOD_NAMES; } });
|
|
19
|
+
Object.defineProperty(exports, "SAFE_STRING_METHOD_NAMES", { enumerable: true, get: function () { return validators_1.SAFE_STRING_METHOD_NAMES; } });
|
|
20
|
+
Object.defineProperty(exports, "BUILDER_BLOCKED_GLOBALS", { enumerable: true, get: function () { return validators_1.BUILDER_BLOCKED_GLOBALS; } });
|
|
21
|
+
Object.defineProperty(exports, "SDK_INLINE_CONSTRAINTS", { enumerable: true, get: function () { return validators_1.SDK_INLINE_CONSTRAINTS; } });
|
|
22
|
+
Object.defineProperty(exports, "DANGEROUS_GLOBALS", { enumerable: true, get: function () { return validators_1.DANGEROUS_GLOBALS; } });
|
|
16
23
|
Object.defineProperty(exports, "isAllowedSDKFunction", { enumerable: true, get: function () { return validators_1.isAllowedSDKFunction; } });
|
|
17
24
|
Object.defineProperty(exports, "isAllowedMethod", { enumerable: true, get: function () { return validators_1.isAllowedMethod; } });
|
|
18
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast-interpreter/index.ts"],"names":[],"mappings":";;;AAuBA,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AAEzB,mCAKkB;AAJjB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,uGAAA,aAAa,OAAA;AACb,gHAAA,sBAAsB,OAAA;AAEvB,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast-interpreter/index.ts"],"names":[],"mappings":";;;AAuBA,6CAAiD;AAAxC,+GAAA,gBAAgB,OAAA;AAEzB,mCAKkB;AAJjB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,uGAAA,aAAa,OAAA;AACb,gHAAA,sBAAsB,OAAA;AAEvB,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AACrB,2CAYsB;AAXrB,mHAAA,qBAAqB,OAAA;AACrB,6GAAA,eAAe,OAAA;AACf,yGAAA,WAAW,OAAA;AACX,kHAAA,oBAAoB,OAAA;AACpB,oHAAA,sBAAsB,OAAA;AACtB,sHAAA,wBAAwB,OAAA;AACxB,qHAAA,uBAAuB,OAAA;AACvB,oHAAA,sBAAsB,OAAA;AACtB,+GAAA,iBAAiB,OAAA;AACjB,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA"}
|
|
@@ -43,7 +43,7 @@ class SDKInterpreter {
|
|
|
43
43
|
}
|
|
44
44
|
visitVariableDeclaration(node) {
|
|
45
45
|
if (node.kind !== 'const') {
|
|
46
|
-
throw new errors_1.SecurityError(`'${node.kind}' declarations are not allowed. Use 'const' only
|
|
46
|
+
throw new errors_1.SecurityError(node.kind, node.loc ?? undefined, this.sourceCode, `'${node.kind}' declarations are not allowed. Use 'const' only.`);
|
|
47
47
|
}
|
|
48
48
|
for (const declarator of node.declarations) {
|
|
49
49
|
if (declarator.id.type !== 'Identifier') {
|
|
@@ -58,8 +58,8 @@ class SDKInterpreter {
|
|
|
58
58
|
this.variables.set(safeName, value);
|
|
59
59
|
continue;
|
|
60
60
|
}
|
|
61
|
-
throw new errors_1.SecurityError(`'${name}' is a reserved SDK function name and cannot be used as a variable name. ` +
|
|
62
|
-
`Use a different name like 'my${name.charAt(0).toUpperCase() + name.slice(1)}'
|
|
61
|
+
throw new errors_1.SecurityError(name, declarator.loc ?? undefined, this.sourceCode, `'${name}' is a reserved SDK function name and cannot be used as a variable name. ` +
|
|
62
|
+
`Use a different name like 'my${name.charAt(0).toUpperCase() + name.slice(1)}'.`);
|
|
63
63
|
}
|
|
64
64
|
const value = declarator.init ? this.evaluate(declarator.init) : undefined;
|
|
65
65
|
this.variables.set(name, value);
|
|
@@ -162,7 +162,10 @@ class SDKInterpreter {
|
|
|
162
162
|
return safeStringMethod(...args);
|
|
163
163
|
}
|
|
164
164
|
if (!(0, validators_1.isAllowedMethod)(methodName)) {
|
|
165
|
-
throw new errors_1.SecurityError(`Method '${methodName}' is not an allowed SDK method
|
|
165
|
+
throw new errors_1.SecurityError(methodName, memberExpr.property.loc ?? undefined, this.sourceCode, `Method '${methodName}' is not an allowed SDK method. ` +
|
|
166
|
+
`Allowed methods: ${(0, validators_1.allowedMethodNames)().join(', ')}. ` +
|
|
167
|
+
'Native array/string methods are not available in SDK code; ' +
|
|
168
|
+
'use a Code node or an n8n expression for runtime logic.');
|
|
166
169
|
}
|
|
167
170
|
if (thisArg && typeof thisArg === 'object') {
|
|
168
171
|
func = thisArg[methodName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/ast-interpreter/interpreter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpreter.js","sourceRoot":"","sources":["../../src/ast-interpreter/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,30 @@ import type { Node, CallExpression, MemberExpression } from 'estree';
|
|
|
2
2
|
export declare const ALLOWED_SDK_FUNCTIONS: Set<string>;
|
|
3
3
|
export declare const AUTO_RENAMEABLE_SDK_FUNCTIONS: Set<string>;
|
|
4
4
|
export declare function isAutoRenameableSDKFunction(name: string): boolean;
|
|
5
|
+
export type SdkMethodGroup = 'workflow' | 'node' | 'control-flow' | 'connection' | 'internal';
|
|
6
|
+
export interface SdkMethodSpec {
|
|
7
|
+
name: string;
|
|
8
|
+
group: SdkMethodGroup;
|
|
9
|
+
public: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const SDK_METHODS: readonly SdkMethodSpec[];
|
|
5
12
|
export declare const ALLOWED_METHODS: Set<string>;
|
|
13
|
+
export interface BuilderBlockedGlobal {
|
|
14
|
+
name: string;
|
|
15
|
+
alternative?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const BUILDER_BLOCKED_GLOBALS: readonly BuilderBlockedGlobal[];
|
|
18
|
+
export declare const DANGEROUS_GLOBALS: Set<string>;
|
|
19
|
+
export declare const FORBIDDEN_NODE_TYPES: Record<string, string>;
|
|
6
20
|
export declare function validateNodeType(node: Node, sourceCode: string): void;
|
|
7
21
|
export declare function validateIdentifier(name: string, _allowedVariables: Set<string>, node: Node, sourceCode: string): void;
|
|
8
22
|
export declare function validateCallExpression(node: CallExpression, sourceCode: string): void;
|
|
9
23
|
export declare function validateMemberExpression(node: MemberExpression, sourceCode: string): void;
|
|
10
24
|
export declare function isAllowedSDKFunction(name: string): boolean;
|
|
11
25
|
export declare function isAllowedMethod(name: string): boolean;
|
|
26
|
+
export declare function allowedMethodNames(): string[];
|
|
12
27
|
export declare function getSafeJSONMethod(objectName: string, methodName: string): ((...args: unknown[]) => unknown) | undefined;
|
|
13
28
|
export declare function getSafeStringMethod(value: unknown, methodName: string): ((...args: unknown[]) => unknown) | undefined;
|
|
29
|
+
export declare const SAFE_JSON_METHOD_NAMES: string[];
|
|
30
|
+
export declare const SAFE_STRING_METHOD_NAMES: string[];
|
|
31
|
+
export declare const SDK_INLINE_CONSTRAINTS: readonly string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ALLOWED_METHODS = exports.AUTO_RENAMEABLE_SDK_FUNCTIONS = exports.ALLOWED_SDK_FUNCTIONS = void 0;
|
|
3
|
+
exports.SDK_INLINE_CONSTRAINTS = exports.SAFE_STRING_METHOD_NAMES = exports.SAFE_JSON_METHOD_NAMES = exports.FORBIDDEN_NODE_TYPES = exports.DANGEROUS_GLOBALS = exports.BUILDER_BLOCKED_GLOBALS = exports.ALLOWED_METHODS = exports.SDK_METHODS = exports.AUTO_RENAMEABLE_SDK_FUNCTIONS = exports.ALLOWED_SDK_FUNCTIONS = void 0;
|
|
4
4
|
exports.isAutoRenameableSDKFunction = isAutoRenameableSDKFunction;
|
|
5
5
|
exports.validateNodeType = validateNodeType;
|
|
6
6
|
exports.validateIdentifier = validateIdentifier;
|
|
@@ -8,6 +8,7 @@ exports.validateCallExpression = validateCallExpression;
|
|
|
8
8
|
exports.validateMemberExpression = validateMemberExpression;
|
|
9
9
|
exports.isAllowedSDKFunction = isAllowedSDKFunction;
|
|
10
10
|
exports.isAllowedMethod = isAllowedMethod;
|
|
11
|
+
exports.allowedMethodNames = allowedMethodNames;
|
|
11
12
|
exports.getSafeJSONMethod = getSafeJSONMethod;
|
|
12
13
|
exports.getSafeStringMethod = getSafeStringMethod;
|
|
13
14
|
const errors_1 = require("./errors");
|
|
@@ -53,75 +54,80 @@ exports.AUTO_RENAMEABLE_SDK_FUNCTIONS = new Set([
|
|
|
53
54
|
function isAutoRenameableSDKFunction(name) {
|
|
54
55
|
return exports.AUTO_RENAMEABLE_SDK_FUNCTIONS.has(name);
|
|
55
56
|
}
|
|
56
|
-
exports.
|
|
57
|
-
'add',
|
|
58
|
-
'to',
|
|
59
|
-
'input',
|
|
60
|
-
'output',
|
|
61
|
-
'onError',
|
|
62
|
-
'onTrue',
|
|
63
|
-
'onFalse',
|
|
64
|
-
'onCase',
|
|
65
|
-
'onEachBatch',
|
|
66
|
-
'onDone',
|
|
67
|
-
'connect',
|
|
68
|
-
'toJSON',
|
|
69
|
-
'validate',
|
|
70
|
-
]
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
'
|
|
74
|
-
'
|
|
75
|
-
'
|
|
76
|
-
'
|
|
77
|
-
'
|
|
78
|
-
'
|
|
79
|
-
'
|
|
80
|
-
'
|
|
81
|
-
'
|
|
82
|
-
'
|
|
83
|
-
'
|
|
84
|
-
'
|
|
85
|
-
'
|
|
86
|
-
'
|
|
87
|
-
'
|
|
88
|
-
'
|
|
89
|
-
'
|
|
90
|
-
'
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
'
|
|
94
|
-
'
|
|
95
|
-
'
|
|
96
|
-
'
|
|
97
|
-
'
|
|
98
|
-
'
|
|
99
|
-
'
|
|
100
|
-
'
|
|
101
|
-
'
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
'
|
|
107
|
-
'
|
|
108
|
-
'
|
|
109
|
-
'
|
|
110
|
-
'
|
|
111
|
-
'
|
|
112
|
-
'
|
|
113
|
-
'
|
|
114
|
-
'
|
|
115
|
-
'
|
|
116
|
-
'
|
|
117
|
-
'
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'
|
|
122
|
-
'
|
|
123
|
-
'
|
|
124
|
-
|
|
57
|
+
exports.SDK_METHODS = [
|
|
58
|
+
{ name: 'add', group: 'workflow', public: true },
|
|
59
|
+
{ name: 'to', group: 'workflow', public: true },
|
|
60
|
+
{ name: 'input', group: 'node', public: true },
|
|
61
|
+
{ name: 'output', group: 'node', public: true },
|
|
62
|
+
{ name: 'onError', group: 'node', public: true },
|
|
63
|
+
{ name: 'onTrue', group: 'control-flow', public: true },
|
|
64
|
+
{ name: 'onFalse', group: 'control-flow', public: true },
|
|
65
|
+
{ name: 'onCase', group: 'control-flow', public: true },
|
|
66
|
+
{ name: 'onEachBatch', group: 'control-flow', public: true },
|
|
67
|
+
{ name: 'onDone', group: 'control-flow', public: true },
|
|
68
|
+
{ name: 'connect', group: 'connection', public: true },
|
|
69
|
+
{ name: 'toJSON', group: 'internal', public: false },
|
|
70
|
+
{ name: 'validate', group: 'internal', public: false },
|
|
71
|
+
];
|
|
72
|
+
exports.ALLOWED_METHODS = new Set(exports.SDK_METHODS.map((m) => m.name));
|
|
73
|
+
exports.BUILDER_BLOCKED_GLOBALS = [
|
|
74
|
+
{ name: 'eval' },
|
|
75
|
+
{ name: 'Function' },
|
|
76
|
+
{ name: 'require' },
|
|
77
|
+
{ name: 'import' },
|
|
78
|
+
{ name: 'process' },
|
|
79
|
+
{ name: 'global' },
|
|
80
|
+
{ name: 'globalThis' },
|
|
81
|
+
{ name: 'window' },
|
|
82
|
+
{ name: 'document' },
|
|
83
|
+
{ name: 'setTimeout' },
|
|
84
|
+
{ name: 'setInterval' },
|
|
85
|
+
{ name: 'setImmediate' },
|
|
86
|
+
{ name: 'clearTimeout' },
|
|
87
|
+
{ name: 'clearInterval' },
|
|
88
|
+
{ name: 'clearImmediate' },
|
|
89
|
+
{ name: '__dirname' },
|
|
90
|
+
{ name: '__filename' },
|
|
91
|
+
{ name: 'module' },
|
|
92
|
+
{ name: 'exports' },
|
|
93
|
+
{ name: 'Buffer' },
|
|
94
|
+
{ name: 'Reflect' },
|
|
95
|
+
{ name: 'Proxy' },
|
|
96
|
+
{ name: 'Object', alternative: 'build object literals directly, or transform in a Code node' },
|
|
97
|
+
{ name: 'Array', alternative: 'build array literals directly, or transform in a Code node' },
|
|
98
|
+
{ name: 'String' },
|
|
99
|
+
{ name: 'Number', alternative: 'use numeric literals, or convert in a Code node / expression' },
|
|
100
|
+
{ name: 'Boolean' },
|
|
101
|
+
{ name: 'Symbol' },
|
|
102
|
+
{ name: 'BigInt' },
|
|
103
|
+
{
|
|
104
|
+
name: 'JSON',
|
|
105
|
+
alternative: 'only JSON.stringify is available; parse at runtime in a Code node',
|
|
106
|
+
},
|
|
107
|
+
{ name: 'Math', alternative: 'compute at runtime in a Code node or an n8n expression' },
|
|
108
|
+
{ name: 'Date', alternative: 'use the $now / $today helpers inside expr()' },
|
|
109
|
+
{ name: 'RegExp', alternative: 'match at runtime in a Code node or an n8n expression' },
|
|
110
|
+
{ name: 'Promise', alternative: 'builder code is synchronous; no async/await or promises' },
|
|
111
|
+
{ name: 'WeakRef' },
|
|
112
|
+
{ name: 'WeakMap' },
|
|
113
|
+
{ name: 'WeakSet' },
|
|
114
|
+
{ name: 'Map', alternative: 'use object literals, or build collections in a Code node' },
|
|
115
|
+
{ name: 'Set', alternative: 'use array literals, or build collections in a Code node' },
|
|
116
|
+
{ name: 'ArrayBuffer' },
|
|
117
|
+
{ name: 'SharedArrayBuffer' },
|
|
118
|
+
{ name: 'DataView' },
|
|
119
|
+
{ name: 'Atomics' },
|
|
120
|
+
{ name: 'WebAssembly' },
|
|
121
|
+
{ name: 'fetch' },
|
|
122
|
+
{ name: 'XMLHttpRequest' },
|
|
123
|
+
{ name: 'queueMicrotask' },
|
|
124
|
+
{ name: 'structuredClone' },
|
|
125
|
+
{ name: 'Error' },
|
|
126
|
+
{ name: 'TypeError' },
|
|
127
|
+
{ name: 'RangeError' },
|
|
128
|
+
{ name: 'console' },
|
|
129
|
+
];
|
|
130
|
+
exports.DANGEROUS_GLOBALS = new Set(exports.BUILDER_BLOCKED_GLOBALS.map((g) => g.name));
|
|
125
131
|
const ALLOWED_NODE_TYPES = new Set([
|
|
126
132
|
'Program',
|
|
127
133
|
'VariableDeclaration',
|
|
@@ -144,7 +150,7 @@ const ALLOWED_NODE_TYPES = new Set([
|
|
|
144
150
|
'LogicalExpression',
|
|
145
151
|
'ConditionalExpression',
|
|
146
152
|
]);
|
|
147
|
-
|
|
153
|
+
exports.FORBIDDEN_NODE_TYPES = {
|
|
148
154
|
ArrowFunctionExpression: 'Arrow functions are not allowed. Use fromAi() directly instead of ($) => $.fromAi()',
|
|
149
155
|
FunctionExpression: 'Function expressions are not allowed in SDK code',
|
|
150
156
|
FunctionDeclaration: 'Function declarations are not allowed in SDK code',
|
|
@@ -168,15 +174,15 @@ const FORBIDDEN_NODE_TYPES = {
|
|
|
168
174
|
YieldExpression: 'Yield expressions are not allowed in SDK code',
|
|
169
175
|
};
|
|
170
176
|
function validateNodeType(node, sourceCode) {
|
|
171
|
-
if (FORBIDDEN_NODE_TYPES[node.type]) {
|
|
172
|
-
throw new errors_1.UnsupportedNodeError(`${node.type}: ${FORBIDDEN_NODE_TYPES[node.type]}`, node.loc ?? undefined, sourceCode);
|
|
177
|
+
if (exports.FORBIDDEN_NODE_TYPES[node.type]) {
|
|
178
|
+
throw new errors_1.UnsupportedNodeError(`${node.type}: ${exports.FORBIDDEN_NODE_TYPES[node.type]}`, node.loc ?? undefined, sourceCode);
|
|
173
179
|
}
|
|
174
180
|
if (!ALLOWED_NODE_TYPES.has(node.type)) {
|
|
175
181
|
throw new errors_1.UnsupportedNodeError(node.type, node.loc ?? undefined, sourceCode);
|
|
176
182
|
}
|
|
177
183
|
}
|
|
178
184
|
function validateIdentifier(name, _allowedVariables, node, sourceCode) {
|
|
179
|
-
if (DANGEROUS_GLOBALS.has(name)) {
|
|
185
|
+
if (exports.DANGEROUS_GLOBALS.has(name)) {
|
|
180
186
|
throw new errors_1.SecurityError(name, node.loc ?? undefined, sourceCode);
|
|
181
187
|
}
|
|
182
188
|
}
|
|
@@ -203,7 +209,7 @@ function validateCallExpression(node, sourceCode) {
|
|
|
203
209
|
function validateMemberExpression(node, sourceCode) {
|
|
204
210
|
if (node.computed) {
|
|
205
211
|
if (node.property.type !== 'Literal') {
|
|
206
|
-
throw new errors_1.SecurityError('Dynamic property access is not allowed. Use static property names.'
|
|
212
|
+
throw new errors_1.SecurityError('computed-member-access', node.loc ?? undefined, sourceCode, 'Dynamic property access is not allowed. Use static property names.');
|
|
207
213
|
}
|
|
208
214
|
}
|
|
209
215
|
const propName = node.property.type === 'Identifier'
|
|
@@ -222,6 +228,9 @@ function isAllowedSDKFunction(name) {
|
|
|
222
228
|
function isAllowedMethod(name) {
|
|
223
229
|
return exports.ALLOWED_METHODS.has(name);
|
|
224
230
|
}
|
|
231
|
+
function allowedMethodNames() {
|
|
232
|
+
return exports.SDK_METHODS.filter((m) => m.public).map((m) => m.name);
|
|
233
|
+
}
|
|
225
234
|
const SAFE_JSON_METHODS = {
|
|
226
235
|
stringify: (...args) => JSON.stringify(args[0], args[1], args[2]),
|
|
227
236
|
};
|
|
@@ -242,4 +251,12 @@ function getSafeStringMethod(value, methodName) {
|
|
|
242
251
|
return undefined;
|
|
243
252
|
return (...args) => factory(value, ...args);
|
|
244
253
|
}
|
|
254
|
+
exports.SAFE_JSON_METHOD_NAMES = Object.keys(SAFE_JSON_METHODS);
|
|
255
|
+
exports.SAFE_STRING_METHOD_NAMES = Object.keys(SAFE_STRING_METHODS);
|
|
256
|
+
exports.SDK_INLINE_CONSTRAINTS = [
|
|
257
|
+
'Use `const` only — `let` and `var` are not allowed.',
|
|
258
|
+
'No destructuring in declarations — declare each value with its own `const`.',
|
|
259
|
+
'No variable reassignment — only property assignment (`obj.prop = value`) is allowed.',
|
|
260
|
+
"No computed/dynamic member access (`obj[expr]`); use static names. Literal keys like `obj['a']` or `arr[0]` are fine.",
|
|
261
|
+
];
|
|
245
262
|
//# sourceMappingURL=validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/ast-interpreter/validators.ts"],"names":[],"mappings":";;;AAkEA,kEAEC;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/ast-interpreter/validators.ts"],"names":[],"mappings":"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"}
|