@n8n/workflow-sdk 0.18.1 → 0.19.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 (31) hide show
  1. package/dist/ast-interpreter/errors.d.ts +1 -1
  2. package/dist/ast-interpreter/errors.js +2 -2
  3. package/dist/ast-interpreter/errors.js.map +1 -1
  4. package/dist/ast-interpreter/index.d.ts +2 -1
  5. package/dist/ast-interpreter/index.js +8 -1
  6. package/dist/ast-interpreter/index.js.map +1 -1
  7. package/dist/ast-interpreter/interpreter.js +7 -4
  8. package/dist/ast-interpreter/interpreter.js.map +1 -1
  9. package/dist/ast-interpreter/validators.d.ts +18 -0
  10. package/dist/ast-interpreter/validators.js +92 -75
  11. package/dist/ast-interpreter/validators.js.map +1 -1
  12. package/dist/build.tsbuildinfo +1 -1
  13. package/dist/generate-types/zod-helpers.d.ts +2 -2
  14. package/dist/prompts/sdk-reference/expressions.d.ts +1 -1
  15. package/dist/prompts/sdk-reference/expressions.js +12 -2
  16. package/dist/prompts/sdk-reference/expressions.js.map +1 -1
  17. package/dist/prompts/sdk-reference/index.d.ts +1 -0
  18. package/dist/prompts/sdk-reference/index.js +3 -1
  19. package/dist/prompts/sdk-reference/index.js.map +1 -1
  20. package/dist/prompts/sdk-reference/sdk-language.d.ts +1 -0
  21. package/dist/prompts/sdk-reference/sdk-language.js +72 -0
  22. package/dist/prompts/sdk-reference/sdk-language.js.map +1 -0
  23. package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -1
  24. package/dist/prompts/sdk-reference/workflow-rules.js +3 -0
  25. package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -1
  26. package/dist/validation/index.d.ts +1 -1
  27. package/dist/validation/index.js +18 -0
  28. package/dist/validation/index.js.map +1 -1
  29. package/dist/validation/test-schema-setup.js +1 -1
  30. package/dist/validation/test-schema-setup.js.map +1 -1
  31. package/package.json +12 -8
@@ -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":"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"}
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,2CAKsB;AAJrB,mHAAA,qBAAqB,OAAA;AACrB,6GAAA,eAAe,OAAA;AACf,kHAAA,oBAAoB,OAAA;AACpB,6GAAA,eAAe,OAAA"}
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.`, node.loc ?? undefined, this.sourceCode);
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)}'.`, declarator.loc ?? undefined, this.sourceCode);
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`, memberExpr.property.loc ?? undefined, this.sourceCode);
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.ALLOWED_METHODS = new Set([
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
- const DANGEROUS_GLOBALS = new Set([
72
- 'eval',
73
- 'Function',
74
- 'require',
75
- 'import',
76
- 'process',
77
- 'global',
78
- 'globalThis',
79
- 'window',
80
- 'document',
81
- 'setTimeout',
82
- 'setInterval',
83
- 'setImmediate',
84
- 'clearTimeout',
85
- 'clearInterval',
86
- 'clearImmediate',
87
- '__dirname',
88
- '__filename',
89
- 'module',
90
- 'exports',
91
- 'Buffer',
92
- 'Reflect',
93
- 'Proxy',
94
- 'Object',
95
- 'Array',
96
- 'String',
97
- 'Number',
98
- 'Boolean',
99
- 'Symbol',
100
- 'BigInt',
101
- 'JSON',
102
- 'Math',
103
- 'Date',
104
- 'RegExp',
105
- 'Promise',
106
- 'WeakRef',
107
- 'WeakMap',
108
- 'WeakSet',
109
- 'Map',
110
- 'Set',
111
- 'ArrayBuffer',
112
- 'SharedArrayBuffer',
113
- 'DataView',
114
- 'Atomics',
115
- 'WebAssembly',
116
- 'fetch',
117
- 'XMLHttpRequest',
118
- 'queueMicrotask',
119
- 'structuredClone',
120
- 'Error',
121
- 'TypeError',
122
- 'RangeError',
123
- 'console',
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
- const FORBIDDEN_NODE_TYPES = {
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.', node.loc ?? undefined, sourceCode);
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":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/ast-interpreter/validators.ts"],"names":[],"mappings":"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"}