@n8n/workflow-sdk 0.2.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.
- package/LICENSE.md +88 -0
- package/README.md +30 -0
- package/dist/ast-interpreter/errors.d.ts +19 -0
- package/dist/ast-interpreter/errors.js +64 -0
- package/dist/ast-interpreter/errors.js.map +1 -0
- package/dist/ast-interpreter/index.d.ts +5 -0
- package/dist/ast-interpreter/index.js +18 -0
- package/dist/ast-interpreter/index.js.map +1 -0
- package/dist/ast-interpreter/interpreter.d.ts +2 -0
- package/dist/ast-interpreter/interpreter.js +471 -0
- package/dist/ast-interpreter/interpreter.js.map +1 -0
- package/dist/ast-interpreter/parser.d.ts +2 -0
- package/dist/ast-interpreter/parser.js +61 -0
- package/dist/ast-interpreter/parser.js.map +1 -0
- package/dist/ast-interpreter/validators.d.ts +13 -0
- package/dist/ast-interpreter/validators.js +243 -0
- package/dist/ast-interpreter/validators.js.map +1 -0
- package/dist/build.tsbuildinfo +1 -0
- package/dist/cli/code-to-json.d.ts +1 -0
- package/dist/cli/code-to-json.js +51 -0
- package/dist/cli/code-to-json.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +25 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/json-to-code.d.ts +1 -0
- package/dist/cli/json-to-code.js +60 -0
- package/dist/cli/json-to-code.js.map +1 -0
- package/dist/cli/utils.d.ts +1 -0
- package/dist/cli/utils.js +16 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/codegen/code-generator.d.ts +14 -0
- package/dist/codegen/code-generator.js +807 -0
- package/dist/codegen/code-generator.js.map +1 -0
- package/dist/codegen/composite-builder.d.ts +3 -0
- package/dist/codegen/composite-builder.js +718 -0
- package/dist/codegen/composite-builder.js.map +1 -0
- package/dist/codegen/composite-handlers/build-utils.d.ts +24 -0
- package/dist/codegen/composite-handlers/build-utils.js +79 -0
- package/dist/codegen/composite-handlers/build-utils.js.map +1 -0
- package/dist/codegen/composite-handlers/error-handler.d.ts +6 -0
- package/dist/codegen/composite-handlers/error-handler.js +51 -0
- package/dist/codegen/composite-handlers/error-handler.js.map +1 -0
- package/dist/codegen/composite-handlers/if-else-handler.d.ts +5 -0
- package/dist/codegen/composite-handlers/if-else-handler.js +57 -0
- package/dist/codegen/composite-handlers/if-else-handler.js.map +1 -0
- package/dist/codegen/composite-handlers/index.d.ts +1 -0
- package/dist/codegen/composite-handlers/index.js +17 -0
- package/dist/codegen/composite-handlers/index.js.map +1 -0
- package/dist/codegen/composite-handlers/merge-handler.d.ts +5 -0
- package/dist/codegen/composite-handlers/merge-handler.js +25 -0
- package/dist/codegen/composite-handlers/merge-handler.js.map +1 -0
- package/dist/codegen/composite-handlers/sib-handler.d.ts +5 -0
- package/dist/codegen/composite-handlers/sib-handler.js +57 -0
- package/dist/codegen/composite-handlers/sib-handler.js.map +1 -0
- package/dist/codegen/composite-handlers/switch-case-handler.d.ts +5 -0
- package/dist/codegen/composite-handlers/switch-case-handler.js +80 -0
- package/dist/codegen/composite-handlers/switch-case-handler.js.map +1 -0
- package/dist/codegen/composite-tree.d.ts +81 -0
- package/dist/codegen/composite-tree.js +3 -0
- package/dist/codegen/composite-tree.js.map +1 -0
- package/dist/codegen/config-builder.d.ts +7 -0
- package/dist/codegen/config-builder.js +22 -0
- package/dist/codegen/config-builder.js.map +1 -0
- package/dist/codegen/constants.d.ts +5 -0
- package/dist/codegen/constants.js +30 -0
- package/dist/codegen/constants.js.map +1 -0
- package/dist/codegen/deferred-connections.d.ts +20 -0
- package/dist/codegen/deferred-connections.js +46 -0
- package/dist/codegen/deferred-connections.js.map +1 -0
- package/dist/codegen/execution-schema-jsdoc.d.ts +3 -0
- package/dist/codegen/execution-schema-jsdoc.js +109 -0
- package/dist/codegen/execution-schema-jsdoc.js.map +1 -0
- package/dist/codegen/execution-status.d.ts +9 -0
- package/dist/codegen/execution-status.js +42 -0
- package/dist/codegen/execution-status.js.map +1 -0
- package/dist/codegen/expression-annotator.d.ts +2 -0
- package/dist/codegen/expression-annotator.js +38 -0
- package/dist/codegen/expression-annotator.js.map +1 -0
- package/dist/codegen/graph-annotator.d.ts +2 -0
- package/dist/codegen/graph-annotator.js +107 -0
- package/dist/codegen/graph-annotator.js.map +1 -0
- package/dist/codegen/index.d.ts +20 -0
- package/dist/codegen/index.js +60 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/codegen/merge-pattern.d.ts +12 -0
- package/dist/codegen/merge-pattern.js +119 -0
- package/dist/codegen/merge-pattern.js.map +1 -0
- package/dist/codegen/node-type-utils.d.ts +4 -0
- package/dist/codegen/node-type-utils.js +38 -0
- package/dist/codegen/node-type-utils.js.map +1 -0
- package/dist/codegen/output-utils.d.ts +9 -0
- package/dist/codegen/output-utils.js +68 -0
- package/dist/codegen/output-utils.js.map +1 -0
- package/dist/codegen/parse-workflow-code.d.ts +3 -0
- package/dist/codegen/parse-workflow-code.js +438 -0
- package/dist/codegen/parse-workflow-code.js.map +1 -0
- package/dist/codegen/semantic-graph.d.ts +3 -0
- package/dist/codegen/semantic-graph.js +216 -0
- package/dist/codegen/semantic-graph.js.map +1 -0
- package/dist/codegen/semantic-registry.d.ts +18 -0
- package/dist/codegen/semantic-registry.js +102 -0
- package/dist/codegen/semantic-registry.js.map +1 -0
- package/dist/codegen/sib-merge-handler.d.ts +20 -0
- package/dist/codegen/sib-merge-handler.js +92 -0
- package/dist/codegen/sib-merge-handler.js.map +1 -0
- package/dist/codegen/string-utils.d.ts +6 -0
- package/dist/codegen/string-utils.js +38 -0
- package/dist/codegen/string-utils.js.map +1 -0
- package/dist/codegen/subnode-generator.d.ts +17 -0
- package/dist/codegen/subnode-generator.js +219 -0
- package/dist/codegen/subnode-generator.js.map +1 -0
- package/dist/codegen/types.d.ts +40 -0
- package/dist/codegen/types.js +16 -0
- package/dist/codegen/types.js.map +1 -0
- package/dist/codegen/variable-names.d.ts +8 -0
- package/dist/codegen/variable-names.js +121 -0
- package/dist/codegen/variable-names.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +14 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/node-types.d.ts +19 -0
- package/dist/constants/node-types.js +46 -0
- package/dist/constants/node-types.js.map +1 -0
- package/dist/expression/index.d.ts +6 -0
- package/dist/expression/index.js +181 -0
- package/dist/expression/index.js.map +1 -0
- package/dist/expression.d.ts +1 -0
- package/dist/expression.js +10 -0
- package/dist/expression.js.map +1 -0
- package/dist/generate-types/generate-node-defs-cli.d.ts +7 -0
- package/dist/generate-types/generate-node-defs-cli.js +99 -0
- package/dist/generate-types/generate-node-defs-cli.js.map +1 -0
- package/dist/generate-types/generate-types.d.ts +163 -0
- package/dist/generate-types/generate-types.js +2569 -0
- package/dist/generate-types/generate-types.js.map +1 -0
- package/dist/generate-types/generate-zod-schemas.d.ts +41 -0
- package/dist/generate-types/generate-zod-schemas.js +1129 -0
- package/dist/generate-types/generate-zod-schemas.js.map +1 -0
- package/dist/generate-types/index.d.ts +3 -0
- package/dist/generate-types/index.js +62 -0
- package/dist/generate-types/index.js.map +1 -0
- package/dist/generate-types/zod-helpers.d.ts +189 -0
- package/dist/generate-types/zod-helpers.js +76 -0
- package/dist/generate-types/zod-helpers.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +87 -0
- package/dist/index.js.map +1 -0
- package/dist/types/aliases.d.ts +5 -0
- package/dist/types/aliases.js +3 -0
- package/dist/types/aliases.js.map +1 -0
- package/dist/types/base.d.ts +395 -0
- package/dist/types/base.js +22 -0
- package/dist/types/base.js.map +1 -0
- package/dist/utils/code-helpers.d.ts +7 -0
- package/dist/utils/code-helpers.js +47 -0
- package/dist/utils/code-helpers.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/safe-access.d.ts +3 -0
- package/dist/utils/safe-access.js +21 -0
- package/dist/utils/safe-access.js.map +1 -0
- package/dist/utils/trigger-detection.d.ts +1 -0
- package/dist/utils/trigger-detection.js +17 -0
- package/dist/utils/trigger-detection.js.map +1 -0
- package/dist/validation/display-options.d.ts +18 -0
- package/dist/validation/display-options.js +194 -0
- package/dist/validation/display-options.js.map +1 -0
- package/dist/validation/index.d.ts +34 -0
- package/dist/validation/index.js +428 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/input-resolver.d.ts +2 -0
- package/dist/validation/input-resolver.js +23 -0
- package/dist/validation/input-resolver.js.map +1 -0
- package/dist/validation/resolve-schema.d.ts +14 -0
- package/dist/validation/resolve-schema.js +105 -0
- package/dist/validation/resolve-schema.js.map +1 -0
- package/dist/validation/schema-helpers.d.ts +164 -0
- package/dist/validation/schema-helpers.js +51 -0
- package/dist/validation/schema-helpers.js.map +1 -0
- package/dist/validation/schema-validator.d.ts +22 -0
- package/dist/validation/schema-validator.js +402 -0
- package/dist/validation/schema-validator.js.map +1 -0
- package/dist/validation/test-schema-setup.d.ts +2 -0
- package/dist/validation/test-schema-setup.js +108 -0
- package/dist/validation/test-schema-setup.js.map +1 -0
- package/dist/validation.d.ts +1 -0
- package/dist/validation.js +9 -0
- package/dist/validation.js.map +1 -0
- package/dist/workflow-builder/connection-utils.d.ts +4 -0
- package/dist/workflow-builder/connection-utils.js +42 -0
- package/dist/workflow-builder/connection-utils.js.map +1 -0
- package/dist/workflow-builder/constants.d.ts +3 -0
- package/dist/workflow-builder/constants.js +7 -0
- package/dist/workflow-builder/constants.js.map +1 -0
- package/dist/workflow-builder/control-flow-builders/if-else.d.ts +2 -0
- package/dist/workflow-builder/control-flow-builders/if-else.js +3 -0
- package/dist/workflow-builder/control-flow-builders/if-else.js.map +1 -0
- package/dist/workflow-builder/control-flow-builders/next-batch.d.ts +2 -0
- package/dist/workflow-builder/control-flow-builders/next-batch.js +7 -0
- package/dist/workflow-builder/control-flow-builders/next-batch.js.map +1 -0
- package/dist/workflow-builder/control-flow-builders/split-in-batches.d.ts +27 -0
- package/dist/workflow-builder/control-flow-builders/split-in-batches.js +268 -0
- package/dist/workflow-builder/control-flow-builders/split-in-batches.js.map +1 -0
- package/dist/workflow-builder/control-flow-builders/switch-case.d.ts +2 -0
- package/dist/workflow-builder/control-flow-builders/switch-case.js +3 -0
- package/dist/workflow-builder/control-flow-builders/switch-case.js.map +1 -0
- package/dist/workflow-builder/layout-utils.d.ts +2 -0
- package/dist/workflow-builder/layout-utils.js +54 -0
- package/dist/workflow-builder/layout-utils.js.map +1 -0
- package/dist/workflow-builder/node-builders/index.d.ts +2 -0
- package/dist/workflow-builder/node-builders/index.js +29 -0
- package/dist/workflow-builder/node-builders/index.js.map +1 -0
- package/dist/workflow-builder/node-builders/node-builder.d.ts +26 -0
- package/dist/workflow-builder/node-builders/node-builder.js +596 -0
- package/dist/workflow-builder/node-builders/node-builder.js.map +1 -0
- package/dist/workflow-builder/node-builders/subnode-builders.d.ts +25 -0
- package/dist/workflow-builder/node-builders/subnode-builders.js +110 -0
- package/dist/workflow-builder/node-builders/subnode-builders.js.map +1 -0
- package/dist/workflow-builder/pin-data-utils.d.ts +5 -0
- package/dist/workflow-builder/pin-data-utils.js +54 -0
- package/dist/workflow-builder/pin-data-utils.js.map +1 -0
- package/dist/workflow-builder/plugins/composite-handlers/branch-handler-utils.d.ts +9 -0
- package/dist/workflow-builder/plugins/composite-handlers/branch-handler-utils.js +162 -0
- package/dist/workflow-builder/plugins/composite-handlers/branch-handler-utils.js.map +1 -0
- package/dist/workflow-builder/plugins/composite-handlers/if-else-handler.d.ts +5 -0
- package/dist/workflow-builder/plugins/composite-handlers/if-else-handler.js +83 -0
- package/dist/workflow-builder/plugins/composite-handlers/if-else-handler.js.map +1 -0
- package/dist/workflow-builder/plugins/composite-handlers/index.d.ts +3 -0
- package/dist/workflow-builder/plugins/composite-handlers/index.js +10 -0
- package/dist/workflow-builder/plugins/composite-handlers/index.js.map +1 -0
- package/dist/workflow-builder/plugins/composite-handlers/split-in-batches-handler.d.ts +15 -0
- package/dist/workflow-builder/plugins/composite-handlers/split-in-batches-handler.js +216 -0
- package/dist/workflow-builder/plugins/composite-handlers/split-in-batches-handler.js.map +1 -0
- package/dist/workflow-builder/plugins/composite-handlers/switch-case-handler.d.ts +5 -0
- package/dist/workflow-builder/plugins/composite-handlers/switch-case-handler.js +91 -0
- package/dist/workflow-builder/plugins/composite-handlers/switch-case-handler.js.map +1 -0
- package/dist/workflow-builder/plugins/defaults.d.ts +2 -0
- package/dist/workflow-builder/plugins/defaults.js +53 -0
- package/dist/workflow-builder/plugins/defaults.js.map +1 -0
- package/dist/workflow-builder/plugins/index.d.ts +3 -0
- package/dist/workflow-builder/plugins/index.js +9 -0
- package/dist/workflow-builder/plugins/index.js.map +1 -0
- package/dist/workflow-builder/plugins/registry.d.ts +22 -0
- package/dist/workflow-builder/plugins/registry.js +98 -0
- package/dist/workflow-builder/plugins/registry.js.map +1 -0
- package/dist/workflow-builder/plugins/serializers/index.d.ts +1 -0
- package/dist/workflow-builder/plugins/serializers/index.js +6 -0
- package/dist/workflow-builder/plugins/serializers/index.js.map +1 -0
- package/dist/workflow-builder/plugins/serializers/json-serializer.d.ts +3 -0
- package/dist/workflow-builder/plugins/serializers/json-serializer.js +140 -0
- package/dist/workflow-builder/plugins/serializers/json-serializer.js.map +1 -0
- package/dist/workflow-builder/plugins/types.d.ts +76 -0
- package/dist/workflow-builder/plugins/types.js +29 -0
- package/dist/workflow-builder/plugins/types.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/agent-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/agent-validator.js +45 -0
- package/dist/workflow-builder/plugins/validators/agent-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/chain-llm-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/chain-llm-validator.js +39 -0
- package/dist/workflow-builder/plugins/validators/chain-llm-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/date-method-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/date-method-validator.js +28 -0
- package/dist/workflow-builder/plugins/validators/date-method-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/disconnected-node-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/disconnected-node-validator.js +142 -0
- package/dist/workflow-builder/plugins/validators/disconnected-node-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/expression-path-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/expression-path-validator.js +155 -0
- package/dist/workflow-builder/plugins/validators/expression-path-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/expression-prefix-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/expression-prefix-validator.js +32 -0
- package/dist/workflow-builder/plugins/validators/expression-prefix-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/from-ai-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/from-ai-validator.js +30 -0
- package/dist/workflow-builder/plugins/validators/from-ai-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/http-request-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/http-request-validator.js +55 -0
- package/dist/workflow-builder/plugins/validators/http-request-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/index.d.ts +15 -0
- package/dist/workflow-builder/plugins/validators/index.js +34 -0
- package/dist/workflow-builder/plugins/validators/index.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/max-nodes-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/max-nodes-validator.js +40 -0
- package/dist/workflow-builder/plugins/validators/max-nodes-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/merge-node-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/merge-node-validator.js +54 -0
- package/dist/workflow-builder/plugins/validators/merge-node-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/missing-trigger-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/missing-trigger-validator.js +27 -0
- package/dist/workflow-builder/plugins/validators/missing-trigger-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/no-nodes-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/no-nodes-validator.js +23 -0
- package/dist/workflow-builder/plugins/validators/no-nodes-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/set-node-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/set-node-validator.js +41 -0
- package/dist/workflow-builder/plugins/validators/set-node-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/subnode-connection-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/subnode-connection-validator.js +64 -0
- package/dist/workflow-builder/plugins/validators/subnode-connection-validator.js.map +1 -0
- package/dist/workflow-builder/plugins/validators/tool-node-validator.d.ts +2 -0
- package/dist/workflow-builder/plugins/validators/tool-node-validator.js +37 -0
- package/dist/workflow-builder/plugins/validators/tool-node-validator.js.map +1 -0
- package/dist/workflow-builder/string-utils.d.ts +9 -0
- package/dist/workflow-builder/string-utils.js +237 -0
- package/dist/workflow-builder/string-utils.js.map +1 -0
- package/dist/workflow-builder/subnode-utils.d.ts +2 -0
- package/dist/workflow-builder/subnode-utils.js +180 -0
- package/dist/workflow-builder/subnode-utils.js.map +1 -0
- package/dist/workflow-builder/type-guards.d.ts +15 -0
- package/dist/workflow-builder/type-guards.js +48 -0
- package/dist/workflow-builder/type-guards.js.map +1 -0
- package/dist/workflow-builder/validation-helpers.d.ts +27 -0
- package/dist/workflow-builder/validation-helpers.js +195 -0
- package/dist/workflow-builder/validation-helpers.js.map +1 -0
- package/dist/workflow-builder/workflow-import.d.ts +15 -0
- package/dist/workflow-builder/workflow-import.js +102 -0
- package/dist/workflow-builder/workflow-import.js.map +1 -0
- package/dist/workflow-builder.d.ts +2 -0
- package/dist/workflow-builder.js +636 -0
- package/dist/workflow-builder.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALLOWED_METHODS = exports.AUTO_RENAMEABLE_SDK_FUNCTIONS = exports.ALLOWED_SDK_FUNCTIONS = void 0;
|
|
4
|
+
exports.isAutoRenameableSDKFunction = isAutoRenameableSDKFunction;
|
|
5
|
+
exports.validateNodeType = validateNodeType;
|
|
6
|
+
exports.validateIdentifier = validateIdentifier;
|
|
7
|
+
exports.validateCallExpression = validateCallExpression;
|
|
8
|
+
exports.validateMemberExpression = validateMemberExpression;
|
|
9
|
+
exports.isAllowedSDKFunction = isAllowedSDKFunction;
|
|
10
|
+
exports.isAllowedMethod = isAllowedMethod;
|
|
11
|
+
exports.getSafeJSONMethod = getSafeJSONMethod;
|
|
12
|
+
exports.getSafeStringMethod = getSafeStringMethod;
|
|
13
|
+
const errors_1 = require("./errors");
|
|
14
|
+
exports.ALLOWED_SDK_FUNCTIONS = new Set([
|
|
15
|
+
'workflow',
|
|
16
|
+
'node',
|
|
17
|
+
'trigger',
|
|
18
|
+
'sticky',
|
|
19
|
+
'placeholder',
|
|
20
|
+
'newCredential',
|
|
21
|
+
'ifElse',
|
|
22
|
+
'switchCase',
|
|
23
|
+
'merge',
|
|
24
|
+
'splitInBatches',
|
|
25
|
+
'nextBatch',
|
|
26
|
+
'languageModel',
|
|
27
|
+
'memory',
|
|
28
|
+
'tool',
|
|
29
|
+
'outputParser',
|
|
30
|
+
'embedding',
|
|
31
|
+
'embeddings',
|
|
32
|
+
'vectorStore',
|
|
33
|
+
'retriever',
|
|
34
|
+
'documentLoader',
|
|
35
|
+
'textSplitter',
|
|
36
|
+
'reranker',
|
|
37
|
+
'fromAi',
|
|
38
|
+
]);
|
|
39
|
+
exports.AUTO_RENAMEABLE_SDK_FUNCTIONS = new Set([
|
|
40
|
+
'languageModel',
|
|
41
|
+
'memory',
|
|
42
|
+
'tool',
|
|
43
|
+
'outputParser',
|
|
44
|
+
'embedding',
|
|
45
|
+
'embeddings',
|
|
46
|
+
'vectorStore',
|
|
47
|
+
'retriever',
|
|
48
|
+
'documentLoader',
|
|
49
|
+
'textSplitter',
|
|
50
|
+
'reranker',
|
|
51
|
+
]);
|
|
52
|
+
function isAutoRenameableSDKFunction(name) {
|
|
53
|
+
return exports.AUTO_RENAMEABLE_SDK_FUNCTIONS.has(name);
|
|
54
|
+
}
|
|
55
|
+
exports.ALLOWED_METHODS = new Set([
|
|
56
|
+
'add',
|
|
57
|
+
'to',
|
|
58
|
+
'input',
|
|
59
|
+
'output',
|
|
60
|
+
'onError',
|
|
61
|
+
'onTrue',
|
|
62
|
+
'onFalse',
|
|
63
|
+
'onCase',
|
|
64
|
+
'onEachBatch',
|
|
65
|
+
'onDone',
|
|
66
|
+
'connect',
|
|
67
|
+
'toJSON',
|
|
68
|
+
'validate',
|
|
69
|
+
]);
|
|
70
|
+
const DANGEROUS_GLOBALS = new Set([
|
|
71
|
+
'eval',
|
|
72
|
+
'Function',
|
|
73
|
+
'require',
|
|
74
|
+
'import',
|
|
75
|
+
'process',
|
|
76
|
+
'global',
|
|
77
|
+
'globalThis',
|
|
78
|
+
'window',
|
|
79
|
+
'document',
|
|
80
|
+
'setTimeout',
|
|
81
|
+
'setInterval',
|
|
82
|
+
'setImmediate',
|
|
83
|
+
'clearTimeout',
|
|
84
|
+
'clearInterval',
|
|
85
|
+
'clearImmediate',
|
|
86
|
+
'__dirname',
|
|
87
|
+
'__filename',
|
|
88
|
+
'module',
|
|
89
|
+
'exports',
|
|
90
|
+
'Buffer',
|
|
91
|
+
'Reflect',
|
|
92
|
+
'Proxy',
|
|
93
|
+
'Object',
|
|
94
|
+
'Array',
|
|
95
|
+
'String',
|
|
96
|
+
'Number',
|
|
97
|
+
'Boolean',
|
|
98
|
+
'Symbol',
|
|
99
|
+
'BigInt',
|
|
100
|
+
'JSON',
|
|
101
|
+
'Math',
|
|
102
|
+
'Date',
|
|
103
|
+
'RegExp',
|
|
104
|
+
'Promise',
|
|
105
|
+
'WeakRef',
|
|
106
|
+
'WeakMap',
|
|
107
|
+
'WeakSet',
|
|
108
|
+
'Map',
|
|
109
|
+
'Set',
|
|
110
|
+
'ArrayBuffer',
|
|
111
|
+
'SharedArrayBuffer',
|
|
112
|
+
'DataView',
|
|
113
|
+
'Atomics',
|
|
114
|
+
'WebAssembly',
|
|
115
|
+
'fetch',
|
|
116
|
+
'XMLHttpRequest',
|
|
117
|
+
'queueMicrotask',
|
|
118
|
+
'structuredClone',
|
|
119
|
+
'Error',
|
|
120
|
+
'TypeError',
|
|
121
|
+
'RangeError',
|
|
122
|
+
'console',
|
|
123
|
+
]);
|
|
124
|
+
const ALLOWED_NODE_TYPES = new Set([
|
|
125
|
+
'Program',
|
|
126
|
+
'VariableDeclaration',
|
|
127
|
+
'VariableDeclarator',
|
|
128
|
+
'ExpressionStatement',
|
|
129
|
+
'ExportDefaultDeclaration',
|
|
130
|
+
'CallExpression',
|
|
131
|
+
'MemberExpression',
|
|
132
|
+
'ObjectExpression',
|
|
133
|
+
'ArrayExpression',
|
|
134
|
+
'Identifier',
|
|
135
|
+
'Literal',
|
|
136
|
+
'TemplateLiteral',
|
|
137
|
+
'TemplateElement',
|
|
138
|
+
'SpreadElement',
|
|
139
|
+
'Property',
|
|
140
|
+
'AssignmentExpression',
|
|
141
|
+
'UnaryExpression',
|
|
142
|
+
'BinaryExpression',
|
|
143
|
+
'LogicalExpression',
|
|
144
|
+
'ConditionalExpression',
|
|
145
|
+
]);
|
|
146
|
+
const FORBIDDEN_NODE_TYPES = {
|
|
147
|
+
ArrowFunctionExpression: 'Arrow functions are not allowed. Use fromAi() directly instead of ($) => $.fromAi()',
|
|
148
|
+
FunctionExpression: 'Function expressions are not allowed in SDK code',
|
|
149
|
+
FunctionDeclaration: 'Function declarations are not allowed in SDK code',
|
|
150
|
+
ClassDeclaration: 'Class declarations are not allowed in SDK code',
|
|
151
|
+
ClassExpression: 'Class expressions are not allowed in SDK code',
|
|
152
|
+
ForStatement: 'For loops are not allowed in SDK code',
|
|
153
|
+
ForInStatement: 'For-in loops are not allowed in SDK code',
|
|
154
|
+
ForOfStatement: 'For-of loops are not allowed in SDK code',
|
|
155
|
+
WhileStatement: 'While loops are not allowed in SDK code',
|
|
156
|
+
DoWhileStatement: 'Do-while loops are not allowed in SDK code',
|
|
157
|
+
TryStatement: 'Try-catch is not allowed in SDK code',
|
|
158
|
+
ThrowStatement: 'Throw statements are not allowed in SDK code',
|
|
159
|
+
WithStatement: 'With statements are not allowed in SDK code',
|
|
160
|
+
UpdateExpression: 'Update expressions (++, --) are not allowed in SDK code',
|
|
161
|
+
NewExpression: 'new expressions are not allowed. Use SDK factory functions instead.',
|
|
162
|
+
ImportDeclaration: 'Import declarations are not allowed in SDK code',
|
|
163
|
+
ImportExpression: 'Dynamic imports are not allowed in SDK code',
|
|
164
|
+
ExportNamedDeclaration: 'Named exports are not allowed. Use export default only.',
|
|
165
|
+
ExportAllDeclaration: 'Re-exports are not allowed in SDK code',
|
|
166
|
+
AwaitExpression: 'Await expressions are not allowed in SDK code',
|
|
167
|
+
YieldExpression: 'Yield expressions are not allowed in SDK code',
|
|
168
|
+
};
|
|
169
|
+
function validateNodeType(node, sourceCode) {
|
|
170
|
+
if (FORBIDDEN_NODE_TYPES[node.type]) {
|
|
171
|
+
throw new errors_1.UnsupportedNodeError(`${node.type}: ${FORBIDDEN_NODE_TYPES[node.type]}`, node.loc ?? undefined, sourceCode);
|
|
172
|
+
}
|
|
173
|
+
if (!ALLOWED_NODE_TYPES.has(node.type)) {
|
|
174
|
+
throw new errors_1.UnsupportedNodeError(node.type, node.loc ?? undefined, sourceCode);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function validateIdentifier(name, _allowedVariables, node, sourceCode) {
|
|
178
|
+
if (DANGEROUS_GLOBALS.has(name)) {
|
|
179
|
+
throw new errors_1.SecurityError(`Access to '${name}' is not allowed`, node.loc ?? undefined, sourceCode);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
function validateCallExpression(node, sourceCode) {
|
|
183
|
+
if (node.callee.type === 'Identifier') {
|
|
184
|
+
const name = node.callee.name;
|
|
185
|
+
if (name === 'eval') {
|
|
186
|
+
throw new errors_1.SecurityError('eval()', node.loc ?? undefined, sourceCode);
|
|
187
|
+
}
|
|
188
|
+
if (name === 'Function') {
|
|
189
|
+
throw new errors_1.SecurityError('Function()', node.loc ?? undefined, sourceCode);
|
|
190
|
+
}
|
|
191
|
+
if (name === 'require') {
|
|
192
|
+
throw new errors_1.SecurityError('require()', node.loc ?? undefined, sourceCode);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (node.callee.type === 'MemberExpression') {
|
|
196
|
+
const memberExpr = node.callee;
|
|
197
|
+
if (memberExpr.property.type === 'Identifier' && memberExpr.property.name === 'constructor') {
|
|
198
|
+
throw new errors_1.SecurityError('constructor access', node.loc ?? undefined, sourceCode);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function validateMemberExpression(node, sourceCode) {
|
|
203
|
+
if (node.computed) {
|
|
204
|
+
if (node.property.type !== 'Literal') {
|
|
205
|
+
throw new errors_1.SecurityError('Dynamic property access is not allowed. Use static property names.', node.loc ?? undefined, sourceCode);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
const propName = node.property.type === 'Identifier'
|
|
209
|
+
? node.property.name
|
|
210
|
+
: node.property.type === 'Literal' && typeof node.property.value === 'string'
|
|
211
|
+
? node.property.value
|
|
212
|
+
: undefined;
|
|
213
|
+
if (propName !== undefined &&
|
|
214
|
+
(propName === '__proto__' || propName === 'prototype' || propName === 'constructor')) {
|
|
215
|
+
throw new errors_1.SecurityError(`Access to '${propName}' is not allowed`, node.loc ?? undefined, sourceCode);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
function isAllowedSDKFunction(name) {
|
|
219
|
+
return exports.ALLOWED_SDK_FUNCTIONS.has(name);
|
|
220
|
+
}
|
|
221
|
+
function isAllowedMethod(name) {
|
|
222
|
+
return exports.ALLOWED_METHODS.has(name);
|
|
223
|
+
}
|
|
224
|
+
const SAFE_JSON_METHODS = {
|
|
225
|
+
stringify: (...args) => JSON.stringify(args[0], args[1], args[2]),
|
|
226
|
+
};
|
|
227
|
+
function getSafeJSONMethod(objectName, methodName) {
|
|
228
|
+
if (objectName !== 'JSON')
|
|
229
|
+
return undefined;
|
|
230
|
+
return SAFE_JSON_METHODS[methodName];
|
|
231
|
+
}
|
|
232
|
+
const SAFE_STRING_METHODS = {
|
|
233
|
+
repeat: (str, count) => str.repeat(count),
|
|
234
|
+
};
|
|
235
|
+
function getSafeStringMethod(value, methodName) {
|
|
236
|
+
if (typeof value !== 'string')
|
|
237
|
+
return undefined;
|
|
238
|
+
const factory = SAFE_STRING_METHODS[methodName];
|
|
239
|
+
if (!factory)
|
|
240
|
+
return undefined;
|
|
241
|
+
return (...args) => factory(value, ...args);
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/ast-interpreter/validators.ts"],"names":[],"mappings":"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"}
|