n8n-atom-mcp 0.0.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/.env.example +220 -0
- package/LICENSE +21 -0
- package/README.md +78 -0
- package/data/nodes.db +0 -0
- package/dist/community/community-node-fetcher.d.ts +118 -0
- package/dist/community/community-node-fetcher.d.ts.map +1 -0
- package/dist/community/community-node-fetcher.js +239 -0
- package/dist/community/community-node-fetcher.js.map +1 -0
- package/dist/community/community-node-service.d.ts +42 -0
- package/dist/community/community-node-service.d.ts.map +1 -0
- package/dist/community/community-node-service.js +210 -0
- package/dist/community/community-node-service.js.map +1 -0
- package/dist/community/documentation-batch-processor.d.ts +33 -0
- package/dist/community/documentation-batch-processor.d.ts.map +1 -0
- package/dist/community/documentation-batch-processor.js +156 -0
- package/dist/community/documentation-batch-processor.js.map +1 -0
- package/dist/community/documentation-generator.d.ts +65 -0
- package/dist/community/documentation-generator.d.ts.map +1 -0
- package/dist/community/documentation-generator.js +220 -0
- package/dist/community/documentation-generator.js.map +1 -0
- package/dist/community/index.d.ts +5 -0
- package/dist/community/index.d.ts.map +1 -0
- package/dist/community/index.js +14 -0
- package/dist/community/index.js.map +1 -0
- package/dist/config/n8n-api.d.ts +15 -0
- package/dist/config/n8n-api.d.ts.map +1 -0
- package/dist/config/n8n-api.js +53 -0
- package/dist/config/n8n-api.js.map +1 -0
- package/dist/constants/type-structures.d.ts +123 -0
- package/dist/constants/type-structures.d.ts.map +1 -0
- package/dist/constants/type-structures.js +654 -0
- package/dist/constants/type-structures.js.map +1 -0
- package/dist/database/database-adapter.d.ts +33 -0
- package/dist/database/database-adapter.d.ts.map +1 -0
- package/dist/database/database-adapter.js +420 -0
- package/dist/database/database-adapter.js.map +1 -0
- package/dist/database/node-repository.d.ts +152 -0
- package/dist/database/node-repository.d.ts.map +1 -0
- package/dist/database/node-repository.js +791 -0
- package/dist/database/node-repository.js.map +1 -0
- package/dist/errors/validation-service-error.d.ts +10 -0
- package/dist/errors/validation-service-error.d.ts.map +1 -0
- package/dist/errors/validation-service-error.js +26 -0
- package/dist/errors/validation-service-error.js.map +1 -0
- package/dist/http-server-single-session.d.ts +52 -0
- package/dist/http-server-single-session.d.ts.map +1 -0
- package/dist/http-server-single-session.js +1180 -0
- package/dist/http-server-single-session.js.map +1 -0
- package/dist/http-server.d.ts +9 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +481 -0
- package/dist/http-server.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/loaders/node-loader.d.ts +11 -0
- package/dist/loaders/node-loader.d.ts.map +1 -0
- package/dist/loaders/node-loader.js +79 -0
- package/dist/loaders/node-loader.js.map +1 -0
- package/dist/mappers/docs-mapper.d.ts +7 -0
- package/dist/mappers/docs-mapper.d.ts.map +1 -0
- package/dist/mappers/docs-mapper.js +106 -0
- package/dist/mappers/docs-mapper.js.map +1 -0
- package/dist/mcp/handlers-n8n-manager.d.ts +58 -0
- package/dist/mcp/handlers-n8n-manager.d.ts.map +1 -0
- package/dist/mcp/handlers-n8n-manager.js +3299 -0
- package/dist/mcp/handlers-n8n-manager.js.map +1 -0
- package/dist/mcp/handlers-workflow-diff.d.ts +5 -0
- package/dist/mcp/handlers-workflow-diff.d.ts.map +1 -0
- package/dist/mcp/handlers-workflow-diff.js +461 -0
- package/dist/mcp/handlers-workflow-diff.js.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +228 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +82 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +3006 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/stdio-wrapper.d.ts +3 -0
- package/dist/mcp/stdio-wrapper.d.ts.map +1 -0
- package/dist/mcp/stdio-wrapper.js +81 -0
- package/dist/mcp/stdio-wrapper.js.map +1 -0
- package/dist/mcp/tool-docs/configuration/get-node.d.ts +3 -0
- package/dist/mcp/tool-docs/configuration/get-node.d.ts.map +1 -0
- package/dist/mcp/tool-docs/configuration/get-node.js +90 -0
- package/dist/mcp/tool-docs/configuration/get-node.js.map +1 -0
- package/dist/mcp/tool-docs/configuration/index.d.ts +2 -0
- package/dist/mcp/tool-docs/configuration/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/configuration/index.js +6 -0
- package/dist/mcp/tool-docs/configuration/index.js.map +1 -0
- package/dist/mcp/tool-docs/discovery/index.d.ts +2 -0
- package/dist/mcp/tool-docs/discovery/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/discovery/index.js +6 -0
- package/dist/mcp/tool-docs/discovery/index.js.map +1 -0
- package/dist/mcp/tool-docs/discovery/search-nodes.d.ts +3 -0
- package/dist/mcp/tool-docs/discovery/search-nodes.d.ts.map +1 -0
- package/dist/mcp/tool-docs/discovery/search-nodes.js +70 -0
- package/dist/mcp/tool-docs/discovery/search-nodes.js.map +1 -0
- package/dist/mcp/tool-docs/guides/ai-agents-guide.d.ts +3 -0
- package/dist/mcp/tool-docs/guides/ai-agents-guide.d.ts.map +1 -0
- package/dist/mcp/tool-docs/guides/ai-agents-guide.js +739 -0
- package/dist/mcp/tool-docs/guides/ai-agents-guide.js.map +1 -0
- package/dist/mcp/tool-docs/guides/index.d.ts +2 -0
- package/dist/mcp/tool-docs/guides/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/guides/index.js +6 -0
- package/dist/mcp/tool-docs/guides/index.js.map +1 -0
- package/dist/mcp/tool-docs/index.d.ts +4 -0
- package/dist/mcp/tool-docs/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/index.js +34 -0
- package/dist/mcp/tool-docs/index.js.map +1 -0
- package/dist/mcp/tool-docs/system/index.d.ts +3 -0
- package/dist/mcp/tool-docs/system/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/system/index.js +8 -0
- package/dist/mcp/tool-docs/system/index.js.map +1 -0
- package/dist/mcp/tool-docs/system/n8n-diagnostic.d.ts +3 -0
- package/dist/mcp/tool-docs/system/n8n-diagnostic.d.ts.map +1 -0
- package/dist/mcp/tool-docs/system/n8n-diagnostic.js +99 -0
- package/dist/mcp/tool-docs/system/n8n-diagnostic.js.map +1 -0
- package/dist/mcp/tool-docs/system/n8n-health-check.d.ts +3 -0
- package/dist/mcp/tool-docs/system/n8n-health-check.d.ts.map +1 -0
- package/dist/mcp/tool-docs/system/n8n-health-check.js +102 -0
- package/dist/mcp/tool-docs/system/n8n-health-check.js.map +1 -0
- package/dist/mcp/tool-docs/system/n8n-list-available-tools.d.ts +3 -0
- package/dist/mcp/tool-docs/system/n8n-list-available-tools.d.ts.map +1 -0
- package/dist/mcp/tool-docs/system/n8n-list-available-tools.js +75 -0
- package/dist/mcp/tool-docs/system/n8n-list-available-tools.js.map +1 -0
- package/dist/mcp/tool-docs/system/tools-documentation.d.ts +3 -0
- package/dist/mcp/tool-docs/system/tools-documentation.d.ts.map +1 -0
- package/dist/mcp/tool-docs/system/tools-documentation.js +65 -0
- package/dist/mcp/tool-docs/system/tools-documentation.js.map +1 -0
- package/dist/mcp/tool-docs/templates/get-template.d.ts +3 -0
- package/dist/mcp/tool-docs/templates/get-template.d.ts.map +1 -0
- package/dist/mcp/tool-docs/templates/get-template.js +84 -0
- package/dist/mcp/tool-docs/templates/get-template.js.map +1 -0
- package/dist/mcp/tool-docs/templates/index.d.ts +3 -0
- package/dist/mcp/tool-docs/templates/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/templates/index.js +8 -0
- package/dist/mcp/tool-docs/templates/index.js.map +1 -0
- package/dist/mcp/tool-docs/templates/search-templates.d.ts +3 -0
- package/dist/mcp/tool-docs/templates/search-templates.d.ts.map +1 -0
- package/dist/mcp/tool-docs/templates/search-templates.js +143 -0
- package/dist/mcp/tool-docs/templates/search-templates.js.map +1 -0
- package/dist/mcp/tool-docs/types.d.ts +32 -0
- package/dist/mcp/tool-docs/types.d.ts.map +1 -0
- package/dist/mcp/tool-docs/types.js +3 -0
- package/dist/mcp/tool-docs/types.js.map +1 -0
- package/dist/mcp/tool-docs/validation/index.d.ts +3 -0
- package/dist/mcp/tool-docs/validation/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/validation/index.js +8 -0
- package/dist/mcp/tool-docs/validation/index.js.map +1 -0
- package/dist/mcp/tool-docs/validation/validate-node.d.ts +3 -0
- package/dist/mcp/tool-docs/validation/validate-node.d.ts.map +1 -0
- package/dist/mcp/tool-docs/validation/validate-node.js +82 -0
- package/dist/mcp/tool-docs/validation/validate-node.js.map +1 -0
- package/dist/mcp/tool-docs/validation/validate-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/validation/validate-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/validation/validate-workflow.js +86 -0
- package/dist/mcp/tool-docs/validation/validate-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/index.d.ts +13 -0
- package/dist/mcp/tool-docs/workflow_management/index.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/index.js +28 -0
- package/dist/mcp/tool-docs/workflow_management/index.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.js +162 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.js +102 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js +52 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-deploy-template.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-deploy-template.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-deploy-template.js +73 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-deploy-template.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-executions.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-executions.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-executions.js +109 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-executions.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js +68 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js +57 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-test-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-test-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-test-workflow.js +140 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-test-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.js +61 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js +420 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.js +73 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.js.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.d.ts +3 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.d.ts.map +1 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.js +170 -0
- package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.js.map +1 -0
- package/dist/mcp/tools-documentation.d.ts +6 -0
- package/dist/mcp/tools-documentation.d.ts.map +1 -0
- package/dist/mcp/tools-documentation.js +682 -0
- package/dist/mcp/tools-documentation.js.map +1 -0
- package/dist/mcp/tools-file-operations.d.ts +154 -0
- package/dist/mcp/tools-file-operations.d.ts.map +1 -0
- package/dist/mcp/tools-file-operations.js +213 -0
- package/dist/mcp/tools-file-operations.js.map +1 -0
- package/dist/mcp/tools-n8n-friendly.d.ts +6 -0
- package/dist/mcp/tools-n8n-friendly.d.ts.map +1 -0
- package/dist/mcp/tools-n8n-friendly.js +89 -0
- package/dist/mcp/tools-n8n-friendly.js.map +1 -0
- package/dist/mcp/tools-n8n-manager.d.ts +3 -0
- package/dist/mcp/tools-n8n-manager.d.ts.map +1 -0
- package/dist/mcp/tools-n8n-manager.js +1320 -0
- package/dist/mcp/tools-n8n-manager.js.map +1 -0
- package/dist/mcp/tools.d.ts +3 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +424 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/workflow-examples.d.ts +76 -0
- package/dist/mcp/workflow-examples.d.ts.map +1 -0
- package/dist/mcp/workflow-examples.js +111 -0
- package/dist/mcp/workflow-examples.js.map +1 -0
- package/dist/mcp-engine.d.ts +36 -0
- package/dist/mcp-engine.d.ts.map +1 -0
- package/dist/mcp-engine.js +77 -0
- package/dist/mcp-engine.js.map +1 -0
- package/dist/mcp-tools-engine.d.ts +47 -0
- package/dist/mcp-tools-engine.d.ts.map +1 -0
- package/dist/mcp-tools-engine.js +89 -0
- package/dist/mcp-tools-engine.js.map +1 -0
- package/dist/n8n/MCPApi.credentials.d.ts +8 -0
- package/dist/n8n/MCPApi.credentials.d.ts.map +1 -0
- package/dist/n8n/MCPApi.credentials.js +53 -0
- package/dist/n8n/MCPApi.credentials.js.map +1 -0
- package/dist/n8n/MCPNode.node.d.ts +13 -0
- package/dist/n8n/MCPNode.node.d.ts.map +1 -0
- package/dist/n8n/MCPNode.node.js +260 -0
- package/dist/n8n/MCPNode.node.js.map +1 -0
- package/dist/parsers/node-parser.d.ts +38 -0
- package/dist/parsers/node-parser.d.ts.map +1 -0
- package/dist/parsers/node-parser.js +250 -0
- package/dist/parsers/node-parser.js.map +1 -0
- package/dist/parsers/property-extractor.d.ts +11 -0
- package/dist/parsers/property-extractor.d.ts.map +1 -0
- package/dist/parsers/property-extractor.js +172 -0
- package/dist/parsers/property-extractor.js.map +1 -0
- package/dist/parsers/simple-parser.d.ts +25 -0
- package/dist/parsers/simple-parser.d.ts.map +1 -0
- package/dist/parsers/simple-parser.js +212 -0
- package/dist/parsers/simple-parser.js.map +1 -0
- package/dist/scripts/debug-http-search.d.ts +3 -0
- package/dist/scripts/debug-http-search.d.ts.map +1 -0
- package/dist/scripts/debug-http-search.js +57 -0
- package/dist/scripts/debug-http-search.js.map +1 -0
- package/dist/scripts/extract-from-docker.d.ts +3 -0
- package/dist/scripts/extract-from-docker.d.ts.map +1 -0
- package/dist/scripts/extract-from-docker.js +210 -0
- package/dist/scripts/extract-from-docker.js.map +1 -0
- package/dist/scripts/fetch-community-nodes.d.ts +3 -0
- package/dist/scripts/fetch-community-nodes.d.ts.map +1 -0
- package/dist/scripts/fetch-community-nodes.js +114 -0
- package/dist/scripts/fetch-community-nodes.js.map +1 -0
- package/dist/scripts/fetch-templates-robust.d.ts +4 -0
- package/dist/scripts/fetch-templates-robust.d.ts.map +1 -0
- package/dist/scripts/fetch-templates-robust.js +132 -0
- package/dist/scripts/fetch-templates-robust.js.map +1 -0
- package/dist/scripts/fetch-templates.d.ts +4 -0
- package/dist/scripts/fetch-templates.d.ts.map +1 -0
- package/dist/scripts/fetch-templates.js +411 -0
- package/dist/scripts/fetch-templates.js.map +1 -0
- package/dist/scripts/generate-community-docs.d.ts +3 -0
- package/dist/scripts/generate-community-docs.d.ts.map +1 -0
- package/dist/scripts/generate-community-docs.js +183 -0
- package/dist/scripts/generate-community-docs.js.map +1 -0
- package/dist/scripts/migrate-readme-columns.d.ts +2 -0
- package/dist/scripts/migrate-readme-columns.d.ts.map +1 -0
- package/dist/scripts/migrate-readme-columns.js +62 -0
- package/dist/scripts/migrate-readme-columns.js.map +1 -0
- package/dist/scripts/rebuild-database.d.ts +4 -0
- package/dist/scripts/rebuild-database.d.ts.map +1 -0
- package/dist/scripts/rebuild-database.js +95 -0
- package/dist/scripts/rebuild-database.js.map +1 -0
- package/dist/scripts/rebuild-optimized.d.ts +3 -0
- package/dist/scripts/rebuild-optimized.d.ts.map +1 -0
- package/dist/scripts/rebuild-optimized.js +198 -0
- package/dist/scripts/rebuild-optimized.js.map +1 -0
- package/dist/scripts/rebuild.d.ts +3 -0
- package/dist/scripts/rebuild.d.ts.map +1 -0
- package/dist/scripts/rebuild.js +258 -0
- package/dist/scripts/rebuild.js.map +1 -0
- package/dist/scripts/sanitize-templates.d.ts +3 -0
- package/dist/scripts/sanitize-templates.d.ts.map +1 -0
- package/dist/scripts/sanitize-templates.js +88 -0
- package/dist/scripts/sanitize-templates.js.map +1 -0
- package/dist/scripts/seed-canonical-ai-examples.d.ts +4 -0
- package/dist/scripts/seed-canonical-ai-examples.d.ts.map +1 -0
- package/dist/scripts/seed-canonical-ai-examples.js +121 -0
- package/dist/scripts/seed-canonical-ai-examples.js.map +1 -0
- package/dist/scripts/test-autofix-documentation.d.ts +3 -0
- package/dist/scripts/test-autofix-documentation.d.ts.map +1 -0
- package/dist/scripts/test-autofix-documentation.js +103 -0
- package/dist/scripts/test-autofix-documentation.js.map +1 -0
- package/dist/scripts/test-autofix-workflow.d.ts +2 -0
- package/dist/scripts/test-autofix-workflow.d.ts.map +1 -0
- package/dist/scripts/test-autofix-workflow.js +223 -0
- package/dist/scripts/test-autofix-workflow.js.map +1 -0
- package/dist/scripts/test-execution-filtering.d.ts +3 -0
- package/dist/scripts/test-execution-filtering.d.ts.map +1 -0
- package/dist/scripts/test-execution-filtering.js +206 -0
- package/dist/scripts/test-execution-filtering.js.map +1 -0
- package/dist/scripts/test-node-suggestions.d.ts +3 -0
- package/dist/scripts/test-node-suggestions.d.ts.map +1 -0
- package/dist/scripts/test-node-suggestions.js +165 -0
- package/dist/scripts/test-node-suggestions.js.map +1 -0
- package/dist/scripts/test-protocol-negotiation.d.ts +3 -0
- package/dist/scripts/test-protocol-negotiation.d.ts.map +1 -0
- package/dist/scripts/test-protocol-negotiation.js +154 -0
- package/dist/scripts/test-protocol-negotiation.js.map +1 -0
- package/dist/scripts/test-summary.d.ts +3 -0
- package/dist/scripts/test-summary.d.ts.map +1 -0
- package/dist/scripts/test-summary.js +77 -0
- package/dist/scripts/test-summary.js.map +1 -0
- package/dist/scripts/test-telemetry-mutations-verbose.d.ts +2 -0
- package/dist/scripts/test-telemetry-mutations-verbose.d.ts.map +1 -0
- package/dist/scripts/test-telemetry-mutations-verbose.js +133 -0
- package/dist/scripts/test-telemetry-mutations-verbose.js.map +1 -0
- package/dist/scripts/test-telemetry-mutations.d.ts +2 -0
- package/dist/scripts/test-telemetry-mutations.d.ts.map +1 -0
- package/dist/scripts/test-telemetry-mutations.js +129 -0
- package/dist/scripts/test-telemetry-mutations.js.map +1 -0
- package/dist/scripts/test-webhook-autofix.d.ts +3 -0
- package/dist/scripts/test-webhook-autofix.d.ts.map +1 -0
- package/dist/scripts/test-webhook-autofix.js +117 -0
- package/dist/scripts/test-webhook-autofix.js.map +1 -0
- package/dist/scripts/validate.d.ts +3 -0
- package/dist/scripts/validate.d.ts.map +1 -0
- package/dist/scripts/validate.js +121 -0
- package/dist/scripts/validate.js.map +1 -0
- package/dist/scripts/validation-summary.d.ts +3 -0
- package/dist/scripts/validation-summary.d.ts.map +1 -0
- package/dist/scripts/validation-summary.js +135 -0
- package/dist/scripts/validation-summary.js.map +1 -0
- package/dist/services/ai-node-validator.d.ts +12 -0
- package/dist/services/ai-node-validator.d.ts.map +1 -0
- package/dist/services/ai-node-validator.js +429 -0
- package/dist/services/ai-node-validator.js.map +1 -0
- package/dist/services/ai-tool-validators.d.ts +58 -0
- package/dist/services/ai-tool-validators.d.ts.map +1 -0
- package/dist/services/ai-tool-validators.js +438 -0
- package/dist/services/ai-tool-validators.js.map +1 -0
- package/dist/services/breaking-change-detector.d.ts +38 -0
- package/dist/services/breaking-change-detector.d.ts.map +1 -0
- package/dist/services/breaking-change-detector.js +184 -0
- package/dist/services/breaking-change-detector.js.map +1 -0
- package/dist/services/breaking-changes-registry.d.ts +28 -0
- package/dist/services/breaking-changes-registry.d.ts.map +1 -0
- package/dist/services/breaking-changes-registry.js +200 -0
- package/dist/services/breaking-changes-registry.js.map +1 -0
- package/dist/services/community-package-service.d.ts +69 -0
- package/dist/services/community-package-service.d.ts.map +1 -0
- package/dist/services/community-package-service.js +202 -0
- package/dist/services/community-package-service.js.map +1 -0
- package/dist/services/confidence-scorer.d.ts +24 -0
- package/dist/services/confidence-scorer.d.ts.map +1 -0
- package/dist/services/confidence-scorer.js +139 -0
- package/dist/services/confidence-scorer.js.map +1 -0
- package/dist/services/config-validator.d.ts +49 -0
- package/dist/services/config-validator.d.ts.map +1 -0
- package/dist/services/config-validator.js +724 -0
- package/dist/services/config-validator.js.map +1 -0
- package/dist/services/enhanced-config-validator.d.ts +54 -0
- package/dist/services/enhanced-config-validator.d.ts.map +1 -0
- package/dist/services/enhanced-config-validator.js +789 -0
- package/dist/services/enhanced-config-validator.js.map +1 -0
- package/dist/services/error-execution-processor.d.ts +9 -0
- package/dist/services/error-execution-processor.d.ts.map +1 -0
- package/dist/services/error-execution-processor.js +380 -0
- package/dist/services/error-execution-processor.js.map +1 -0
- package/dist/services/example-generator.d.ts +14 -0
- package/dist/services/example-generator.d.ts.map +1 -0
- package/dist/services/example-generator.js +970 -0
- package/dist/services/example-generator.js.map +1 -0
- package/dist/services/execution-processor.d.ts +8 -0
- package/dist/services/execution-processor.d.ts.map +1 -0
- package/dist/services/execution-processor.js +381 -0
- package/dist/services/execution-processor.js.map +1 -0
- package/dist/services/expression-format-validator.d.ts +33 -0
- package/dist/services/expression-format-validator.d.ts.map +1 -0
- package/dist/services/expression-format-validator.js +209 -0
- package/dist/services/expression-format-validator.js.map +1 -0
- package/dist/services/expression-validator.d.ts +27 -0
- package/dist/services/expression-validator.d.ts.map +1 -0
- package/dist/services/expression-validator.js +187 -0
- package/dist/services/expression-validator.js.map +1 -0
- package/dist/services/installed-node-sync-service.d.ts +32 -0
- package/dist/services/installed-node-sync-service.d.ts.map +1 -0
- package/dist/services/installed-node-sync-service.js +190 -0
- package/dist/services/installed-node-sync-service.js.map +1 -0
- package/dist/services/n8n-api-client.d.ts +48 -0
- package/dist/services/n8n-api-client.d.ts.map +1 -0
- package/dist/services/n8n-api-client.js +458 -0
- package/dist/services/n8n-api-client.js.map +1 -0
- package/dist/services/n8n-file-format.d.ts +58 -0
- package/dist/services/n8n-file-format.d.ts.map +1 -0
- package/dist/services/n8n-file-format.js +203 -0
- package/dist/services/n8n-file-format.js.map +1 -0
- package/dist/services/n8n-validation.d.ts +273 -0
- package/dist/services/n8n-validation.d.ts.map +1 -0
- package/dist/services/n8n-validation.js +491 -0
- package/dist/services/n8n-validation.js.map +1 -0
- package/dist/services/n8n-version.d.ts +23 -0
- package/dist/services/n8n-version.d.ts.map +1 -0
- package/dist/services/n8n-version.js +151 -0
- package/dist/services/n8n-version.js.map +1 -0
- package/dist/services/node-documentation-service.d.ts +70 -0
- package/dist/services/node-documentation-service.d.ts.map +1 -0
- package/dist/services/node-documentation-service.js +518 -0
- package/dist/services/node-documentation-service.js.map +1 -0
- package/dist/services/node-migration-service.d.ts +44 -0
- package/dist/services/node-migration-service.d.ts.map +1 -0
- package/dist/services/node-migration-service.js +231 -0
- package/dist/services/node-migration-service.js.map +1 -0
- package/dist/services/node-sanitizer.d.ts +5 -0
- package/dist/services/node-sanitizer.d.ts.map +1 -0
- package/dist/services/node-sanitizer.js +225 -0
- package/dist/services/node-sanitizer.js.map +1 -0
- package/dist/services/node-similarity-service.d.ts +51 -0
- package/dist/services/node-similarity-service.d.ts.map +1 -0
- package/dist/services/node-similarity-service.js +352 -0
- package/dist/services/node-similarity-service.js.map +1 -0
- package/dist/services/node-specific-validators.d.ts +37 -0
- package/dist/services/node-specific-validators.d.ts.map +1 -0
- package/dist/services/node-specific-validators.js +1331 -0
- package/dist/services/node-specific-validators.js.map +1 -0
- package/dist/services/node-version-service.d.ts +63 -0
- package/dist/services/node-version-service.d.ts.map +1 -0
- package/dist/services/node-version-service.js +215 -0
- package/dist/services/node-version-service.js.map +1 -0
- package/dist/services/operation-similarity-service.d.ts +32 -0
- package/dist/services/operation-similarity-service.d.ts.map +1 -0
- package/dist/services/operation-similarity-service.js +341 -0
- package/dist/services/operation-similarity-service.js.map +1 -0
- package/dist/services/post-update-validator.d.ts +59 -0
- package/dist/services/post-update-validator.d.ts.map +1 -0
- package/dist/services/post-update-validator.js +231 -0
- package/dist/services/post-update-validator.js.map +1 -0
- package/dist/services/property-dependencies.d.ts +36 -0
- package/dist/services/property-dependencies.d.ts.map +1 -0
- package/dist/services/property-dependencies.js +168 -0
- package/dist/services/property-dependencies.js.map +1 -0
- package/dist/services/property-filter.d.ts +44 -0
- package/dist/services/property-filter.d.ts.map +1 -0
- package/dist/services/property-filter.js +395 -0
- package/dist/services/property-filter.js.map +1 -0
- package/dist/services/resource-similarity-service.d.ts +33 -0
- package/dist/services/resource-similarity-service.d.ts.map +1 -0
- package/dist/services/resource-similarity-service.js +358 -0
- package/dist/services/resource-similarity-service.js.map +1 -0
- package/dist/services/sqlite-storage-service.d.ts +11 -0
- package/dist/services/sqlite-storage-service.d.ts.map +1 -0
- package/dist/services/sqlite-storage-service.js +74 -0
- package/dist/services/sqlite-storage-service.js.map +1 -0
- package/dist/services/task-templates.d.ts +27 -0
- package/dist/services/task-templates.d.ts.map +1 -0
- package/dist/services/task-templates.js +1397 -0
- package/dist/services/task-templates.js.map +1 -0
- package/dist/services/tool-variant-generator.d.ts +10 -0
- package/dist/services/tool-variant-generator.d.ts.map +1 -0
- package/dist/services/tool-variant-generator.js +93 -0
- package/dist/services/tool-variant-generator.js.map +1 -0
- package/dist/services/type-structure-service.d.ts +23 -0
- package/dist/services/type-structure-service.d.ts.map +1 -0
- package/dist/services/type-structure-service.js +109 -0
- package/dist/services/type-structure-service.js.map +1 -0
- package/dist/services/universal-expression-validator.d.ts +20 -0
- package/dist/services/universal-expression-validator.d.ts.map +1 -0
- package/dist/services/universal-expression-validator.js +192 -0
- package/dist/services/universal-expression-validator.js.map +1 -0
- package/dist/services/workflow-analytics-service.d.ts +34 -0
- package/dist/services/workflow-analytics-service.d.ts.map +1 -0
- package/dist/services/workflow-analytics-service.js +144 -0
- package/dist/services/workflow-analytics-service.js.map +1 -0
- package/dist/services/workflow-auto-fixer.d.ts +74 -0
- package/dist/services/workflow-auto-fixer.d.ts.map +1 -0
- package/dist/services/workflow-auto-fixer.js +557 -0
- package/dist/services/workflow-auto-fixer.js.map +1 -0
- package/dist/services/workflow-comparison.d.ts +13 -0
- package/dist/services/workflow-comparison.d.ts.map +1 -0
- package/dist/services/workflow-comparison.js +306 -0
- package/dist/services/workflow-comparison.js.map +1 -0
- package/dist/services/workflow-debugging-service.d.ts +62 -0
- package/dist/services/workflow-debugging-service.d.ts.map +1 -0
- package/dist/services/workflow-debugging-service.js +153 -0
- package/dist/services/workflow-debugging-service.js.map +1 -0
- package/dist/services/workflow-diff-engine.d.ts +45 -0
- package/dist/services/workflow-diff-engine.d.ts.map +1 -0
- package/dist/services/workflow-diff-engine.js +830 -0
- package/dist/services/workflow-diff-engine.js.map +1 -0
- package/dist/services/workflow-validator.d.ts +112 -0
- package/dist/services/workflow-validator.d.ts.map +1 -0
- package/dist/services/workflow-validator.js +1328 -0
- package/dist/services/workflow-validator.js.map +1 -0
- package/dist/services/workflow-versioning-service.d.ts +102 -0
- package/dist/services/workflow-versioning-service.d.ts.map +1 -0
- package/dist/services/workflow-versioning-service.js +264 -0
- package/dist/services/workflow-versioning-service.js.map +1 -0
- package/dist/telemetry/batch-processor.d.ts +34 -0
- package/dist/telemetry/batch-processor.d.ts.map +1 -0
- package/dist/telemetry/batch-processor.js +337 -0
- package/dist/telemetry/batch-processor.js.map +1 -0
- package/dist/telemetry/config-manager.d.ts +32 -0
- package/dist/telemetry/config-manager.d.ts.map +1 -0
- package/dist/telemetry/config-manager.js +289 -0
- package/dist/telemetry/config-manager.js.map +1 -0
- package/dist/telemetry/early-error-logger.d.ts +26 -0
- package/dist/telemetry/early-error-logger.d.ts.map +1 -0
- package/dist/telemetry/early-error-logger.js +187 -0
- package/dist/telemetry/early-error-logger.js.map +1 -0
- package/dist/telemetry/error-sanitization-utils.d.ts +2 -0
- package/dist/telemetry/error-sanitization-utils.d.ts.map +1 -0
- package/dist/telemetry/error-sanitization-utils.js +37 -0
- package/dist/telemetry/error-sanitization-utils.js.map +1 -0
- package/dist/telemetry/error-sanitizer.d.ts +4 -0
- package/dist/telemetry/error-sanitizer.d.ts.map +1 -0
- package/dist/telemetry/error-sanitizer.js +45 -0
- package/dist/telemetry/error-sanitizer.js.map +1 -0
- package/dist/telemetry/event-tracker.d.ts +71 -0
- package/dist/telemetry/event-tracker.d.ts.map +1 -0
- package/dist/telemetry/event-tracker.js +356 -0
- package/dist/telemetry/event-tracker.js.map +1 -0
- package/dist/telemetry/event-validator.d.ts +78 -0
- package/dist/telemetry/event-validator.d.ts.map +1 -0
- package/dist/telemetry/event-validator.js +227 -0
- package/dist/telemetry/event-validator.js.map +1 -0
- package/dist/telemetry/index.d.ts +5 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +11 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/intent-classifier.d.ts +11 -0
- package/dist/telemetry/intent-classifier.d.ts.map +1 -0
- package/dist/telemetry/intent-classifier.js +141 -0
- package/dist/telemetry/intent-classifier.js.map +1 -0
- package/dist/telemetry/intent-sanitizer.d.ts +9 -0
- package/dist/telemetry/intent-sanitizer.d.ts.map +1 -0
- package/dist/telemetry/intent-sanitizer.js +103 -0
- package/dist/telemetry/intent-sanitizer.js.map +1 -0
- package/dist/telemetry/mutation-tracker.d.ts +15 -0
- package/dist/telemetry/mutation-tracker.d.ts.map +1 -0
- package/dist/telemetry/mutation-tracker.js +177 -0
- package/dist/telemetry/mutation-tracker.js.map +1 -0
- package/dist/telemetry/mutation-types.d.ts +106 -0
- package/dist/telemetry/mutation-types.d.ts.map +1 -0
- package/dist/telemetry/mutation-types.js +18 -0
- package/dist/telemetry/mutation-types.js.map +1 -0
- package/dist/telemetry/mutation-validator.d.ts +20 -0
- package/dist/telemetry/mutation-validator.d.ts.map +1 -0
- package/dist/telemetry/mutation-validator.js +144 -0
- package/dist/telemetry/mutation-validator.js.map +1 -0
- package/dist/telemetry/performance-monitor.d.ts +113 -0
- package/dist/telemetry/performance-monitor.d.ts.map +1 -0
- package/dist/telemetry/performance-monitor.js +208 -0
- package/dist/telemetry/performance-monitor.js.map +1 -0
- package/dist/telemetry/rate-limiter.d.ts +30 -0
- package/dist/telemetry/rate-limiter.d.ts.map +1 -0
- package/dist/telemetry/rate-limiter.js +103 -0
- package/dist/telemetry/rate-limiter.js.map +1 -0
- package/dist/telemetry/startup-checkpoints.d.ts +26 -0
- package/dist/telemetry/startup-checkpoints.d.ts.map +1 -0
- package/dist/telemetry/startup-checkpoints.js +65 -0
- package/dist/telemetry/startup-checkpoints.js.map +1 -0
- package/dist/telemetry/telemetry-error.d.ts +44 -0
- package/dist/telemetry/telemetry-error.d.ts.map +1 -0
- package/dist/telemetry/telemetry-error.js +153 -0
- package/dist/telemetry/telemetry-error.js.map +1 -0
- package/dist/telemetry/telemetry-manager.d.ts +130 -0
- package/dist/telemetry/telemetry-manager.d.ts.map +1 -0
- package/dist/telemetry/telemetry-manager.js +257 -0
- package/dist/telemetry/telemetry-manager.js.map +1 -0
- package/dist/telemetry/telemetry-types.d.ts +103 -0
- package/dist/telemetry/telemetry-types.d.ts.map +1 -0
- package/dist/telemetry/telemetry-types.js +29 -0
- package/dist/telemetry/telemetry-types.js.map +1 -0
- package/dist/telemetry/workflow-sanitizer.d.ts +34 -0
- package/dist/telemetry/workflow-sanitizer.d.ts.map +1 -0
- package/dist/telemetry/workflow-sanitizer.js +242 -0
- package/dist/telemetry/workflow-sanitizer.js.map +1 -0
- package/dist/templates/batch-processor.d.ts +35 -0
- package/dist/templates/batch-processor.d.ts.map +1 -0
- package/dist/templates/batch-processor.js +320 -0
- package/dist/templates/batch-processor.js.map +1 -0
- package/dist/templates/metadata-generator.d.ts +52 -0
- package/dist/templates/metadata-generator.d.ts.map +1 -0
- package/dist/templates/metadata-generator.js +252 -0
- package/dist/templates/metadata-generator.js.map +1 -0
- package/dist/templates/template-fetcher.d.ts +45 -0
- package/dist/templates/template-fetcher.d.ts.map +1 -0
- package/dist/templates/template-fetcher.js +122 -0
- package/dist/templates/template-fetcher.js.map +1 -0
- package/dist/templates/template-repository.d.ts +93 -0
- package/dist/templates/template-repository.d.ts.map +1 -0
- package/dist/templates/template-repository.js +644 -0
- package/dist/templates/template-repository.js.map +1 -0
- package/dist/templates/template-service.d.ts +79 -0
- package/dist/templates/template-service.d.ts.map +1 -0
- package/dist/templates/template-service.js +300 -0
- package/dist/templates/template-service.js.map +1 -0
- package/dist/triggers/handlers/base-handler.d.ts +21 -0
- package/dist/triggers/handlers/base-handler.d.ts.map +1 -0
- package/dist/triggers/handlers/base-handler.js +60 -0
- package/dist/triggers/handlers/base-handler.js.map +1 -0
- package/dist/triggers/handlers/chat-handler.d.ts +38 -0
- package/dist/triggers/handlers/chat-handler.d.ts.map +1 -0
- package/dist/triggers/handlers/chat-handler.js +129 -0
- package/dist/triggers/handlers/chat-handler.js.map +1 -0
- package/dist/triggers/handlers/form-handler.d.ts +35 -0
- package/dist/triggers/handlers/form-handler.d.ts.map +1 -0
- package/dist/triggers/handlers/form-handler.js +362 -0
- package/dist/triggers/handlers/form-handler.js.map +1 -0
- package/dist/triggers/handlers/webhook-handler.d.ts +38 -0
- package/dist/triggers/handlers/webhook-handler.d.ts.map +1 -0
- package/dist/triggers/handlers/webhook-handler.js +115 -0
- package/dist/triggers/handlers/webhook-handler.js.map +1 -0
- package/dist/triggers/index.d.ts +5 -0
- package/dist/triggers/index.d.ts.map +1 -0
- package/dist/triggers/index.js +14 -0
- package/dist/triggers/index.js.map +1 -0
- package/dist/triggers/trigger-detector.d.ts +6 -0
- package/dist/triggers/trigger-detector.d.ts.map +1 -0
- package/dist/triggers/trigger-detector.js +201 -0
- package/dist/triggers/trigger-detector.js.map +1 -0
- package/dist/triggers/trigger-registry.d.ts +18 -0
- package/dist/triggers/trigger-registry.d.ts.map +1 -0
- package/dist/triggers/trigger-registry.js +87 -0
- package/dist/triggers/trigger-registry.js.map +1 -0
- package/dist/triggers/types.d.ts +76 -0
- package/dist/triggers/types.d.ts.map +1 -0
- package/dist/triggers/types.js +3 -0
- package/dist/triggers/types.js.map +1 -0
- package/dist/types/index.d.ts +49 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/instance-context.d.ts +20 -0
- package/dist/types/instance-context.d.ts.map +1 -0
- package/dist/types/instance-context.js +153 -0
- package/dist/types/instance-context.js.map +1 -0
- package/dist/types/n8n-api.d.ts +376 -0
- package/dist/types/n8n-api.d.ts.map +1 -0
- package/dist/types/n8n-api.js +10 -0
- package/dist/types/n8n-api.js.map +1 -0
- package/dist/types/node-types.d.ts +19 -0
- package/dist/types/node-types.d.ts.map +1 -0
- package/dist/types/node-types.js +62 -0
- package/dist/types/node-types.js.map +1 -0
- package/dist/types/session-state.d.ts +15 -0
- package/dist/types/session-state.d.ts.map +1 -0
- package/dist/types/session-state.js +3 -0
- package/dist/types/session-state.js.map +1 -0
- package/dist/types/type-structures.d.ts +42 -0
- package/dist/types/type-structures.d.ts.map +1 -0
- package/dist/types/type-structures.js +32 -0
- package/dist/types/type-structures.js.map +1 -0
- package/dist/types/workflow-comparison.d.ts +51 -0
- package/dist/types/workflow-comparison.d.ts.map +1 -0
- package/dist/types/workflow-comparison.js +3 -0
- package/dist/types/workflow-comparison.js.map +1 -0
- package/dist/types/workflow-diff.d.ts +148 -0
- package/dist/types/workflow-diff.d.ts.map +1 -0
- package/dist/types/workflow-diff.js +15 -0
- package/dist/types/workflow-diff.js.map +1 -0
- package/dist/utils/auth.d.ts +13 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +82 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/bridge.d.ts +12 -0
- package/dist/utils/bridge.d.ts.map +1 -0
- package/dist/utils/bridge.js +127 -0
- package/dist/utils/bridge.js.map +1 -0
- package/dist/utils/cache-utils.d.ts +58 -0
- package/dist/utils/cache-utils.d.ts.map +1 -0
- package/dist/utils/cache-utils.js +243 -0
- package/dist/utils/cache-utils.js.map +1 -0
- package/dist/utils/console-manager.d.ts +10 -0
- package/dist/utils/console-manager.d.ts.map +1 -0
- package/dist/utils/console-manager.js +63 -0
- package/dist/utils/console-manager.js.map +1 -0
- package/dist/utils/documentation-fetcher.d.ts +2 -0
- package/dist/utils/documentation-fetcher.d.ts.map +1 -0
- package/dist/utils/documentation-fetcher.js +18 -0
- package/dist/utils/documentation-fetcher.js.map +1 -0
- package/dist/utils/enhanced-documentation-fetcher.d.ts +74 -0
- package/dist/utils/enhanced-documentation-fetcher.d.ts.map +1 -0
- package/dist/utils/enhanced-documentation-fetcher.js +521 -0
- package/dist/utils/enhanced-documentation-fetcher.js.map +1 -0
- package/dist/utils/error-handler.d.ts +24 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +84 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/example-generator.d.ts +8 -0
- package/dist/utils/example-generator.d.ts.map +1 -0
- package/dist/utils/example-generator.js +106 -0
- package/dist/utils/example-generator.js.map +1 -0
- package/dist/utils/expression-utils.d.ts +6 -0
- package/dist/utils/expression-utils.d.ts.map +1 -0
- package/dist/utils/expression-utils.js +47 -0
- package/dist/utils/expression-utils.js.map +1 -0
- package/dist/utils/fixed-collection-validator.d.ts +35 -0
- package/dist/utils/fixed-collection-validator.d.ts.map +1 -0
- package/dist/utils/fixed-collection-validator.js +358 -0
- package/dist/utils/fixed-collection-validator.js.map +1 -0
- package/dist/utils/logger.d.ts +33 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +101 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/mcp-client.d.ts +21 -0
- package/dist/utils/mcp-client.d.ts.map +1 -0
- package/dist/utils/mcp-client.js +96 -0
- package/dist/utils/mcp-client.js.map +1 -0
- package/dist/utils/n8n-errors.d.ts +27 -0
- package/dist/utils/n8n-errors.d.ts.map +1 -0
- package/dist/utils/n8n-errors.js +138 -0
- package/dist/utils/n8n-errors.js.map +1 -0
- package/dist/utils/node-classification.d.ts +5 -0
- package/dist/utils/node-classification.d.ts.map +1 -0
- package/dist/utils/node-classification.js +31 -0
- package/dist/utils/node-classification.js.map +1 -0
- package/dist/utils/node-source-extractor.d.ts +21 -0
- package/dist/utils/node-source-extractor.d.ts.map +1 -0
- package/dist/utils/node-source-extractor.js +377 -0
- package/dist/utils/node-source-extractor.js.map +1 -0
- package/dist/utils/node-type-normalizer.d.ts +17 -0
- package/dist/utils/node-type-normalizer.d.ts.map +1 -0
- package/dist/utils/node-type-normalizer.js +87 -0
- package/dist/utils/node-type-normalizer.js.map +1 -0
- package/dist/utils/node-type-utils.d.ts +12 -0
- package/dist/utils/node-type-utils.d.ts.map +1 -0
- package/dist/utils/node-type-utils.js +126 -0
- package/dist/utils/node-type-utils.js.map +1 -0
- package/dist/utils/node-utils.d.ts +4 -0
- package/dist/utils/node-utils.d.ts.map +1 -0
- package/dist/utils/node-utils.js +81 -0
- package/dist/utils/node-utils.js.map +1 -0
- package/dist/utils/npm-version-checker.d.ts +14 -0
- package/dist/utils/npm-version-checker.d.ts.map +1 -0
- package/dist/utils/npm-version-checker.js +125 -0
- package/dist/utils/npm-version-checker.js.map +1 -0
- package/dist/utils/protocol-version.d.ts +19 -0
- package/dist/utils/protocol-version.d.ts.map +1 -0
- package/dist/utils/protocol-version.js +95 -0
- package/dist/utils/protocol-version.js.map +1 -0
- package/dist/utils/simple-cache.d.ts +10 -0
- package/dist/utils/simple-cache.d.ts.map +1 -0
- package/dist/utils/simple-cache.js +42 -0
- package/dist/utils/simple-cache.js.map +1 -0
- package/dist/utils/ssrf-protection.d.ts +7 -0
- package/dist/utils/ssrf-protection.d.ts.map +1 -0
- package/dist/utils/ssrf-protection.js +118 -0
- package/dist/utils/ssrf-protection.js.map +1 -0
- package/dist/utils/template-node-resolver.d.ts +2 -0
- package/dist/utils/template-node-resolver.d.ts.map +1 -0
- package/dist/utils/template-node-resolver.js +161 -0
- package/dist/utils/template-node-resolver.js.map +1 -0
- package/dist/utils/template-sanitizer.d.ts +21 -0
- package/dist/utils/template-sanitizer.d.ts.map +1 -0
- package/dist/utils/template-sanitizer.js +126 -0
- package/dist/utils/template-sanitizer.js.map +1 -0
- package/dist/utils/url-detector.d.ts +9 -0
- package/dist/utils/url-detector.d.ts.map +1 -0
- package/dist/utils/url-detector.js +79 -0
- package/dist/utils/url-detector.js.map +1 -0
- package/dist/utils/validation-schemas.d.ts +32 -0
- package/dist/utils/validation-schemas.d.ts.map +1 -0
- package/dist/utils/validation-schemas.js +219 -0
- package/dist/utils/validation-schemas.js.map +1 -0
- package/dist/utils/version.d.ts +2 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +18 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +178 -0
- package/package.runtime.json +24 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-type-utils.js","sourceRoot":"","sources":["../../src/utils/node-type-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function normalizeNodeType(nodeType: string): string;
|
|
2
|
+
export declare function getNodeTypeAlternatives(nodeType: string): string[];
|
|
3
|
+
export declare function getWorkflowNodeType(packageName: string, nodeType: string): string;
|
|
4
|
+
//# sourceMappingURL=node-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-utils.d.ts","sourceRoot":"","sources":["../../src/utils/node-utils.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkB1D;AAQD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAiDlE;AAwDD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAajF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeNodeType = normalizeNodeType;
|
|
4
|
+
exports.getNodeTypeAlternatives = getNodeTypeAlternatives;
|
|
5
|
+
exports.getWorkflowNodeType = getWorkflowNodeType;
|
|
6
|
+
function normalizeNodeType(nodeType) {
|
|
7
|
+
if (nodeType.startsWith('n8n-nodes-base.')) {
|
|
8
|
+
return nodeType.replace('n8n-nodes-base.', 'nodes-base.');
|
|
9
|
+
}
|
|
10
|
+
if (nodeType.startsWith('@n8n/n8n-nodes-langchain.')) {
|
|
11
|
+
return nodeType.replace('@n8n/n8n-nodes-langchain.', 'nodes-langchain.');
|
|
12
|
+
}
|
|
13
|
+
if (nodeType.startsWith('n8n-nodes-langchain.')) {
|
|
14
|
+
return nodeType.replace('n8n-nodes-langchain.', 'nodes-langchain.');
|
|
15
|
+
}
|
|
16
|
+
return nodeType;
|
|
17
|
+
}
|
|
18
|
+
function getNodeTypeAlternatives(nodeType) {
|
|
19
|
+
if (!nodeType || typeof nodeType !== 'string' || nodeType.trim() === '') {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
const alternatives = [];
|
|
23
|
+
alternatives.push(nodeType.toLowerCase());
|
|
24
|
+
if (nodeType.includes('.')) {
|
|
25
|
+
const [prefix, nodeName] = nodeType.split('.');
|
|
26
|
+
if (nodeName && nodeName.toLowerCase() !== nodeName) {
|
|
27
|
+
alternatives.push(`${prefix}.${nodeName.toLowerCase()}`);
|
|
28
|
+
}
|
|
29
|
+
if (nodeName && nodeName.toLowerCase() === nodeName && nodeName.length > 1) {
|
|
30
|
+
const camelCaseVariants = generateCamelCaseVariants(nodeName);
|
|
31
|
+
camelCaseVariants.forEach(variant => {
|
|
32
|
+
alternatives.push(`${prefix}.${variant}`);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (!nodeType.includes('.')) {
|
|
37
|
+
alternatives.push(`nodes-base.${nodeType}`);
|
|
38
|
+
alternatives.push(`nodes-langchain.${nodeType}`);
|
|
39
|
+
const camelCaseVariants = generateCamelCaseVariants(nodeType);
|
|
40
|
+
camelCaseVariants.forEach(variant => {
|
|
41
|
+
alternatives.push(`nodes-base.${variant}`);
|
|
42
|
+
alternatives.push(`nodes-langchain.${variant}`);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const normalizedAlternatives = alternatives.map(alt => normalizeNodeType(alt));
|
|
46
|
+
return [...new Set([...alternatives, ...normalizedAlternatives])];
|
|
47
|
+
}
|
|
48
|
+
function generateCamelCaseVariants(str) {
|
|
49
|
+
const variants = [];
|
|
50
|
+
const patterns = [
|
|
51
|
+
/^(.+)(trigger|node|request|response)$/i,
|
|
52
|
+
/^(http|mysql|postgres|mongo|redis|mqtt|smtp|imap|ftp|ssh|api)(.+)$/i,
|
|
53
|
+
/^(google|microsoft|amazon|slack|discord|telegram)(.+)$/i,
|
|
54
|
+
];
|
|
55
|
+
for (const pattern of patterns) {
|
|
56
|
+
const match = str.toLowerCase().match(pattern);
|
|
57
|
+
if (match) {
|
|
58
|
+
const [, first, second] = match;
|
|
59
|
+
variants.push(first.toLowerCase() + second.charAt(0).toUpperCase() + second.slice(1).toLowerCase());
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (variants.length === 0) {
|
|
63
|
+
const words = str.split(/[-_\s]+/);
|
|
64
|
+
if (words.length > 1) {
|
|
65
|
+
const camelCase = words[0].toLowerCase() + words.slice(1).map(w => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join('');
|
|
66
|
+
variants.push(camelCase);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return variants;
|
|
70
|
+
}
|
|
71
|
+
function getWorkflowNodeType(packageName, nodeType) {
|
|
72
|
+
const nodeName = nodeType.split('.').pop() || nodeType;
|
|
73
|
+
if (packageName === 'n8n-nodes-base') {
|
|
74
|
+
return `n8n-nodes-base.${nodeName}`;
|
|
75
|
+
}
|
|
76
|
+
else if (packageName === '@n8n/n8n-nodes-langchain') {
|
|
77
|
+
return `@n8n/n8n-nodes-langchain.${nodeName}`;
|
|
78
|
+
}
|
|
79
|
+
return nodeType;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=node-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-utils.js","sourceRoot":"","sources":["../../src/utils/node-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface VersionCheckResult {
|
|
2
|
+
currentVersion: string;
|
|
3
|
+
latestVersion: string | null;
|
|
4
|
+
isOutdated: boolean;
|
|
5
|
+
updateAvailable: boolean;
|
|
6
|
+
error: string | null;
|
|
7
|
+
checkedAt: Date;
|
|
8
|
+
updateCommand?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function checkNpmVersion(forceRefresh?: boolean): Promise<VersionCheckResult>;
|
|
11
|
+
export declare function compareVersions(v1: string, v2: string): number;
|
|
12
|
+
export declare function clearVersionCheckCache(): void;
|
|
13
|
+
export declare function formatVersionMessage(result: VersionCheckResult): string;
|
|
14
|
+
//# sourceMappingURL=npm-version-checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-version-checker.d.ts","sourceRoot":"","sources":["../../src/utils/npm-version-checker.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD,wBAAsB,eAAe,CAAC,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4GhG;AAUD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAmB9D;AAKD,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAcvE"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkNpmVersion = checkNpmVersion;
|
|
4
|
+
exports.compareVersions = compareVersions;
|
|
5
|
+
exports.clearVersionCheckCache = clearVersionCheckCache;
|
|
6
|
+
exports.formatVersionMessage = formatVersionMessage;
|
|
7
|
+
const logger_1 = require("./logger");
|
|
8
|
+
let versionCheckCache = null;
|
|
9
|
+
let lastCheckTime = 0;
|
|
10
|
+
const CACHE_TTL_MS = 1 * 60 * 60 * 1000;
|
|
11
|
+
async function checkNpmVersion(forceRefresh = false) {
|
|
12
|
+
const now = Date.now();
|
|
13
|
+
if (!forceRefresh && versionCheckCache && (now - lastCheckTime) < CACHE_TTL_MS) {
|
|
14
|
+
logger_1.logger.debug('Returning cached npm version check result');
|
|
15
|
+
return versionCheckCache;
|
|
16
|
+
}
|
|
17
|
+
const packageJson = require('../../package.json');
|
|
18
|
+
const currentVersion = packageJson.version;
|
|
19
|
+
try {
|
|
20
|
+
const response = await fetch('https://registry.npmjs.org/n8n-atom-mcp/latest', {
|
|
21
|
+
headers: {
|
|
22
|
+
'Accept': 'application/json',
|
|
23
|
+
},
|
|
24
|
+
signal: AbortSignal.timeout(5000)
|
|
25
|
+
});
|
|
26
|
+
if (!response.ok) {
|
|
27
|
+
logger_1.logger.warn('Failed to fetch npm version info', {
|
|
28
|
+
status: response.status,
|
|
29
|
+
statusText: response.statusText
|
|
30
|
+
});
|
|
31
|
+
const result = {
|
|
32
|
+
currentVersion,
|
|
33
|
+
latestVersion: null,
|
|
34
|
+
isOutdated: false,
|
|
35
|
+
updateAvailable: false,
|
|
36
|
+
error: `npm registry returned ${response.status}`,
|
|
37
|
+
checkedAt: new Date()
|
|
38
|
+
};
|
|
39
|
+
versionCheckCache = result;
|
|
40
|
+
lastCheckTime = now;
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
let data;
|
|
44
|
+
try {
|
|
45
|
+
data = await response.json();
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
throw new Error('Failed to parse npm registry response as JSON');
|
|
49
|
+
}
|
|
50
|
+
if (!data || typeof data !== 'object' || !('version' in data)) {
|
|
51
|
+
throw new Error('Invalid response format from npm registry');
|
|
52
|
+
}
|
|
53
|
+
const registryData = data;
|
|
54
|
+
const latestVersion = registryData.version;
|
|
55
|
+
if (!latestVersion || !/^\d+\.\d+\.\d+/.test(latestVersion)) {
|
|
56
|
+
throw new Error(`Invalid version format from npm registry: ${latestVersion}`);
|
|
57
|
+
}
|
|
58
|
+
const isOutdated = compareVersions(currentVersion, latestVersion) < 0;
|
|
59
|
+
const result = {
|
|
60
|
+
currentVersion,
|
|
61
|
+
latestVersion,
|
|
62
|
+
isOutdated,
|
|
63
|
+
updateAvailable: isOutdated,
|
|
64
|
+
error: null,
|
|
65
|
+
checkedAt: new Date(),
|
|
66
|
+
updateCommand: isOutdated ? `npm install -g n8n-atom-mcp@${latestVersion}` : undefined
|
|
67
|
+
};
|
|
68
|
+
versionCheckCache = result;
|
|
69
|
+
lastCheckTime = now;
|
|
70
|
+
logger_1.logger.debug('npm version check completed', {
|
|
71
|
+
current: currentVersion,
|
|
72
|
+
latest: latestVersion,
|
|
73
|
+
outdated: isOutdated
|
|
74
|
+
});
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
logger_1.logger.warn('Error checking npm version', {
|
|
79
|
+
error: error instanceof Error ? error.message : String(error)
|
|
80
|
+
});
|
|
81
|
+
const result = {
|
|
82
|
+
currentVersion,
|
|
83
|
+
latestVersion: null,
|
|
84
|
+
isOutdated: false,
|
|
85
|
+
updateAvailable: false,
|
|
86
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
87
|
+
checkedAt: new Date()
|
|
88
|
+
};
|
|
89
|
+
versionCheckCache = result;
|
|
90
|
+
lastCheckTime = now;
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function compareVersions(v1, v2) {
|
|
95
|
+
const clean1 = v1.replace(/^v/, '');
|
|
96
|
+
const clean2 = v2.replace(/^v/, '');
|
|
97
|
+
const parts1 = clean1.split('.').map(n => parseInt(n, 10) || 0);
|
|
98
|
+
const parts2 = clean2.split('.').map(n => parseInt(n, 10) || 0);
|
|
99
|
+
for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
|
|
100
|
+
const p1 = parts1[i] || 0;
|
|
101
|
+
const p2 = parts2[i] || 0;
|
|
102
|
+
if (p1 < p2)
|
|
103
|
+
return -1;
|
|
104
|
+
if (p1 > p2)
|
|
105
|
+
return 1;
|
|
106
|
+
}
|
|
107
|
+
return 0;
|
|
108
|
+
}
|
|
109
|
+
function clearVersionCheckCache() {
|
|
110
|
+
versionCheckCache = null;
|
|
111
|
+
lastCheckTime = 0;
|
|
112
|
+
}
|
|
113
|
+
function formatVersionMessage(result) {
|
|
114
|
+
if (result.error) {
|
|
115
|
+
return `Version check failed: ${result.error}. Current version: ${result.currentVersion}`;
|
|
116
|
+
}
|
|
117
|
+
if (!result.latestVersion) {
|
|
118
|
+
return `Current version: ${result.currentVersion} (latest version unknown)`;
|
|
119
|
+
}
|
|
120
|
+
if (result.isOutdated) {
|
|
121
|
+
return `⚠️ Update available! Current: ${result.currentVersion} → Latest: ${result.latestVersion}`;
|
|
122
|
+
}
|
|
123
|
+
return `✓ You're up to date! Current version: ${result.currentVersion}`;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=npm-version-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-version-checker.js","sourceRoot":"","sources":["../../src/utils/npm-version-checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ClientInfo {
|
|
2
|
+
name?: string;
|
|
3
|
+
version?: string;
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
export interface ProtocolNegotiationResult {
|
|
7
|
+
version: string;
|
|
8
|
+
isN8nClient: boolean;
|
|
9
|
+
reasoning: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const STANDARD_PROTOCOL_VERSION = "2025-03-26";
|
|
12
|
+
export declare const N8N_PROTOCOL_VERSION = "2024-11-05";
|
|
13
|
+
export declare const SUPPORTED_VERSIONS: string[];
|
|
14
|
+
export declare function isN8nClient(clientInfo?: ClientInfo, userAgent?: string, headers?: Record<string, string | string[] | undefined>): boolean;
|
|
15
|
+
export declare function negotiateProtocolVersion(clientRequestedVersion?: string, clientInfo?: ClientInfo, userAgent?: string, headers?: Record<string, string | string[] | undefined>): ProtocolNegotiationResult;
|
|
16
|
+
export declare function isVersionSupported(version: string): boolean;
|
|
17
|
+
export declare function getCompatibleVersion(targetVersion?: string): string;
|
|
18
|
+
export declare function logProtocolNegotiation(result: ProtocolNegotiationResult, logger: any, context?: string): void;
|
|
19
|
+
//# sourceMappingURL=protocol-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-version.d.ts","sourceRoot":"","sources":["../../src/utils/protocol-version.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAKtD,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAKjD,eAAO,MAAM,kBAAkB,UAI9B,CAAC;AAKF,wBAAgB,WAAW,CACzB,UAAU,CAAC,EAAE,UAAU,EACvB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACtD,OAAO,CAqCT;AAKD,wBAAgB,wBAAwB,CACtC,sBAAsB,CAAC,EAAE,MAAM,EAC/B,UAAU,CAAC,EAAE,UAAU,EACvB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACtD,yBAAyB,CAqC3B;AAKD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAMD,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAWnE;AAKD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE,GAAG,EACX,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAYN"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUPPORTED_VERSIONS = exports.N8N_PROTOCOL_VERSION = exports.STANDARD_PROTOCOL_VERSION = void 0;
|
|
4
|
+
exports.isN8nClient = isN8nClient;
|
|
5
|
+
exports.negotiateProtocolVersion = negotiateProtocolVersion;
|
|
6
|
+
exports.isVersionSupported = isVersionSupported;
|
|
7
|
+
exports.getCompatibleVersion = getCompatibleVersion;
|
|
8
|
+
exports.logProtocolNegotiation = logProtocolNegotiation;
|
|
9
|
+
exports.STANDARD_PROTOCOL_VERSION = '2025-03-26';
|
|
10
|
+
exports.N8N_PROTOCOL_VERSION = '2024-11-05';
|
|
11
|
+
exports.SUPPORTED_VERSIONS = [
|
|
12
|
+
exports.STANDARD_PROTOCOL_VERSION,
|
|
13
|
+
exports.N8N_PROTOCOL_VERSION,
|
|
14
|
+
'2024-06-25',
|
|
15
|
+
];
|
|
16
|
+
function isN8nClient(clientInfo, userAgent, headers) {
|
|
17
|
+
if (clientInfo?.name) {
|
|
18
|
+
const clientName = clientInfo.name.toLowerCase();
|
|
19
|
+
if (clientName.includes('n8n') || clientName.includes('langchain')) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (userAgent) {
|
|
24
|
+
const ua = userAgent.toLowerCase();
|
|
25
|
+
if (ua.includes('n8n') || ua.includes('langchain')) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (headers) {
|
|
30
|
+
const headerValues = Object.values(headers).join(' ').toLowerCase();
|
|
31
|
+
if (headerValues.includes('n8n') || headerValues.includes('langchain')) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
if (headers['x-n8n-version'] || headers['x-langchain-version']) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (process.env.N8N_MODE === 'true') {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
function negotiateProtocolVersion(clientRequestedVersion, clientInfo, userAgent, headers) {
|
|
44
|
+
const isN8n = isN8nClient(clientInfo, userAgent, headers);
|
|
45
|
+
if (isN8n) {
|
|
46
|
+
return {
|
|
47
|
+
version: exports.N8N_PROTOCOL_VERSION,
|
|
48
|
+
isN8nClient: true,
|
|
49
|
+
reasoning: 'n8n client detected, using n8n-compatible protocol version'
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (clientRequestedVersion && exports.SUPPORTED_VERSIONS.includes(clientRequestedVersion)) {
|
|
53
|
+
return {
|
|
54
|
+
version: clientRequestedVersion,
|
|
55
|
+
isN8nClient: false,
|
|
56
|
+
reasoning: `Using client-requested version: ${clientRequestedVersion}`
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
if (clientRequestedVersion) {
|
|
60
|
+
return {
|
|
61
|
+
version: exports.STANDARD_PROTOCOL_VERSION,
|
|
62
|
+
isN8nClient: false,
|
|
63
|
+
reasoning: `Client requested unsupported version ${clientRequestedVersion}, using standard version`
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
version: exports.STANDARD_PROTOCOL_VERSION,
|
|
68
|
+
isN8nClient: false,
|
|
69
|
+
reasoning: 'No specific client detected, using standard protocol version'
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function isVersionSupported(version) {
|
|
73
|
+
return exports.SUPPORTED_VERSIONS.includes(version);
|
|
74
|
+
}
|
|
75
|
+
function getCompatibleVersion(targetVersion) {
|
|
76
|
+
if (!targetVersion) {
|
|
77
|
+
return exports.STANDARD_PROTOCOL_VERSION;
|
|
78
|
+
}
|
|
79
|
+
if (exports.SUPPORTED_VERSIONS.includes(targetVersion)) {
|
|
80
|
+
return targetVersion;
|
|
81
|
+
}
|
|
82
|
+
return exports.STANDARD_PROTOCOL_VERSION;
|
|
83
|
+
}
|
|
84
|
+
function logProtocolNegotiation(result, logger, context) {
|
|
85
|
+
const logContext = context ? `[${context}] ` : '';
|
|
86
|
+
logger.info(`${logContext}Protocol version negotiated`, {
|
|
87
|
+
version: result.version,
|
|
88
|
+
isN8nClient: result.isN8nClient,
|
|
89
|
+
reasoning: result.reasoning
|
|
90
|
+
});
|
|
91
|
+
if (result.isN8nClient) {
|
|
92
|
+
logger.info(`${logContext}Using n8n-compatible protocol version for better integration`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=protocol-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-version.js","sourceRoot":"","sources":["../../src/utils/protocol-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class SimpleCache {
|
|
2
|
+
private cache;
|
|
3
|
+
private cleanupTimer;
|
|
4
|
+
constructor();
|
|
5
|
+
get(key: string): any;
|
|
6
|
+
set(key: string, data: any, ttlSeconds?: number): void;
|
|
7
|
+
clear(): void;
|
|
8
|
+
destroy(): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=simple-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-cache.d.ts","sourceRoot":"","sources":["../../src/utils/simple-cache.ts"],"names":[],"mappings":"AAIA,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAqD;IAClE,OAAO,CAAC,YAAY,CAA+B;;IAYnD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IASrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,GAAE,MAAY,GAAG,IAAI;IAO3D,KAAK,IAAI,IAAI;IAQb,OAAO,IAAI,IAAI;CAOhB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SimpleCache = void 0;
|
|
4
|
+
class SimpleCache {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.cache = new Map();
|
|
7
|
+
this.cleanupTimer = null;
|
|
8
|
+
this.cleanupTimer = setInterval(() => {
|
|
9
|
+
const now = Date.now();
|
|
10
|
+
for (const [key, item] of this.cache.entries()) {
|
|
11
|
+
if (item.expires < now)
|
|
12
|
+
this.cache.delete(key);
|
|
13
|
+
}
|
|
14
|
+
}, 60000);
|
|
15
|
+
}
|
|
16
|
+
get(key) {
|
|
17
|
+
const item = this.cache.get(key);
|
|
18
|
+
if (!item || item.expires < Date.now()) {
|
|
19
|
+
this.cache.delete(key);
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return item.data;
|
|
23
|
+
}
|
|
24
|
+
set(key, data, ttlSeconds = 300) {
|
|
25
|
+
this.cache.set(key, {
|
|
26
|
+
data,
|
|
27
|
+
expires: Date.now() + (ttlSeconds * 1000)
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
clear() {
|
|
31
|
+
this.cache.clear();
|
|
32
|
+
}
|
|
33
|
+
destroy() {
|
|
34
|
+
if (this.cleanupTimer) {
|
|
35
|
+
clearInterval(this.cleanupTimer);
|
|
36
|
+
this.cleanupTimer = null;
|
|
37
|
+
}
|
|
38
|
+
this.cache.clear();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.SimpleCache = SimpleCache;
|
|
42
|
+
//# sourceMappingURL=simple-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-cache.js","sourceRoot":"","sources":["../../src/utils/simple-cache.ts"],"names":[],"mappings":";;;AAIA,MAAa,WAAW;IAItB;QAHQ,UAAK,GAAG,IAAI,GAAG,EAA0C,CAAC;QAC1D,iBAAY,GAA0B,IAAI,CAAC;QAIjD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,OAAO,GAAG,GAAG;oBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,IAAS,EAAE,aAAqB,GAAG;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAMD,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AA7CD,kCA6CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf-protection.d.ts","sourceRoot":"","sources":["../../src/utils/ssrf-protection.ts"],"names":[],"mappings":"AAoDA,qBAAa,cAAc;WAoBZ,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1D,KAAK,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAC;CA+GH"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SSRFProtection = void 0;
|
|
4
|
+
const url_1 = require("url");
|
|
5
|
+
const promises_1 = require("dns/promises");
|
|
6
|
+
const logger_1 = require("./logger");
|
|
7
|
+
const CLOUD_METADATA = new Set([
|
|
8
|
+
'169.254.169.254',
|
|
9
|
+
'169.254.170.2',
|
|
10
|
+
'metadata.google.internal',
|
|
11
|
+
'metadata',
|
|
12
|
+
'100.100.100.200',
|
|
13
|
+
'192.0.0.192',
|
|
14
|
+
]);
|
|
15
|
+
const LOCALHOST_PATTERNS = new Set([
|
|
16
|
+
'localhost',
|
|
17
|
+
'127.0.0.1',
|
|
18
|
+
'::1',
|
|
19
|
+
'0.0.0.0',
|
|
20
|
+
'localhost.localdomain',
|
|
21
|
+
]);
|
|
22
|
+
const PRIVATE_IP_RANGES = [
|
|
23
|
+
/^10\./,
|
|
24
|
+
/^192\.168\./,
|
|
25
|
+
/^172\.(1[6-9]|2[0-9]|3[0-1])\./,
|
|
26
|
+
/^169\.254\./,
|
|
27
|
+
/^127\./,
|
|
28
|
+
/^0\./,
|
|
29
|
+
];
|
|
30
|
+
class SSRFProtection {
|
|
31
|
+
static async validateWebhookUrl(urlString) {
|
|
32
|
+
try {
|
|
33
|
+
const url = new url_1.URL(urlString);
|
|
34
|
+
const mode = (process.env.WEBHOOK_SECURITY_MODE || 'strict');
|
|
35
|
+
if (!['http:', 'https:'].includes(url.protocol)) {
|
|
36
|
+
return { valid: false, reason: 'Invalid protocol. Only HTTP/HTTPS allowed.' };
|
|
37
|
+
}
|
|
38
|
+
let hostname = url.hostname.toLowerCase();
|
|
39
|
+
if (hostname.startsWith('[') && hostname.endsWith(']')) {
|
|
40
|
+
hostname = hostname.slice(1, -1);
|
|
41
|
+
}
|
|
42
|
+
if (CLOUD_METADATA.has(hostname)) {
|
|
43
|
+
logger_1.logger.warn('SSRF blocked: Cloud metadata endpoint', { hostname, mode });
|
|
44
|
+
return { valid: false, reason: 'Cloud metadata endpoint blocked' };
|
|
45
|
+
}
|
|
46
|
+
let resolvedIP;
|
|
47
|
+
try {
|
|
48
|
+
const { address } = await (0, promises_1.lookup)(hostname);
|
|
49
|
+
resolvedIP = address;
|
|
50
|
+
logger_1.logger.debug('DNS resolved for SSRF check', { hostname, resolvedIP, mode });
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
logger_1.logger.warn('DNS resolution failed for webhook URL', {
|
|
54
|
+
hostname,
|
|
55
|
+
error: error instanceof Error ? error.message : String(error)
|
|
56
|
+
});
|
|
57
|
+
return { valid: false, reason: 'DNS resolution failed' };
|
|
58
|
+
}
|
|
59
|
+
if (CLOUD_METADATA.has(resolvedIP)) {
|
|
60
|
+
logger_1.logger.warn('SSRF blocked: Hostname resolves to cloud metadata IP', {
|
|
61
|
+
hostname,
|
|
62
|
+
resolvedIP,
|
|
63
|
+
mode
|
|
64
|
+
});
|
|
65
|
+
return { valid: false, reason: 'Hostname resolves to cloud metadata endpoint' };
|
|
66
|
+
}
|
|
67
|
+
if (mode === 'permissive') {
|
|
68
|
+
logger_1.logger.warn('SSRF protection in permissive mode (localhost and private IPs allowed)', {
|
|
69
|
+
hostname,
|
|
70
|
+
resolvedIP
|
|
71
|
+
});
|
|
72
|
+
return { valid: true };
|
|
73
|
+
}
|
|
74
|
+
const isLocalhost = LOCALHOST_PATTERNS.has(hostname) ||
|
|
75
|
+
resolvedIP === '::1' ||
|
|
76
|
+
resolvedIP.startsWith('127.');
|
|
77
|
+
if (mode === 'strict' && isLocalhost) {
|
|
78
|
+
logger_1.logger.warn('SSRF blocked: Localhost not allowed in strict mode', {
|
|
79
|
+
hostname,
|
|
80
|
+
resolvedIP
|
|
81
|
+
});
|
|
82
|
+
return { valid: false, reason: 'Localhost access is blocked in strict mode' };
|
|
83
|
+
}
|
|
84
|
+
if (mode === 'moderate' && isLocalhost) {
|
|
85
|
+
logger_1.logger.info('Localhost webhook allowed (moderate mode)', { hostname, resolvedIP });
|
|
86
|
+
return { valid: true };
|
|
87
|
+
}
|
|
88
|
+
if (PRIVATE_IP_RANGES.some(regex => regex.test(resolvedIP))) {
|
|
89
|
+
logger_1.logger.warn('SSRF blocked: Private IP address', { hostname, resolvedIP, mode });
|
|
90
|
+
return {
|
|
91
|
+
valid: false,
|
|
92
|
+
reason: mode === 'strict'
|
|
93
|
+
? 'Private IP addresses not allowed'
|
|
94
|
+
: 'Private IP addresses not allowed (use WEBHOOK_SECURITY_MODE=permissive if needed)'
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
if (resolvedIP === '::1' ||
|
|
98
|
+
resolvedIP === '::' ||
|
|
99
|
+
resolvedIP.startsWith('fe80:') ||
|
|
100
|
+
resolvedIP.startsWith('fc00:') ||
|
|
101
|
+
resolvedIP.startsWith('fd00:') ||
|
|
102
|
+
resolvedIP.startsWith('::ffff:')) {
|
|
103
|
+
logger_1.logger.warn('SSRF blocked: IPv6 private address', {
|
|
104
|
+
hostname,
|
|
105
|
+
resolvedIP,
|
|
106
|
+
mode
|
|
107
|
+
});
|
|
108
|
+
return { valid: false, reason: 'IPv6 private address not allowed' };
|
|
109
|
+
}
|
|
110
|
+
return { valid: true };
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
return { valid: false, reason: 'Invalid URL format' };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.SSRFProtection = SSRFProtection;
|
|
118
|
+
//# sourceMappingURL=ssrf-protection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssrf-protection.js","sourceRoot":"","sources":["../../src/utils/ssrf-protection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-node-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/template-node-resolver.ts"],"names":[],"mappings":"AAoBA,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAgBtE"}
|