@n8n/instance-ai 1.0.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/dist/agent/instance-agent.d.ts +3 -0
- package/dist/agent/instance-agent.js +215 -0
- package/dist/agent/instance-agent.js.map +1 -0
- package/dist/agent/register-with-mastra.d.ts +3 -0
- package/dist/agent/register-with-mastra.js +19 -0
- package/dist/agent/register-with-mastra.js.map +1 -0
- package/dist/agent/sanitize-mcp-schemas.d.ts +2 -0
- package/dist/agent/sanitize-mcp-schemas.js +91 -0
- package/dist/agent/sanitize-mcp-schemas.js.map +1 -0
- package/dist/agent/sub-agent-factory.d.ts +14 -0
- package/dist/agent/sub-agent-factory.js +48 -0
- package/dist/agent/sub-agent-factory.js.map +1 -0
- package/dist/agent/system-prompt.d.ts +13 -0
- package/dist/agent/system-prompt.js +226 -0
- package/dist/agent/system-prompt.js.map +1 -0
- package/dist/build.tsbuildinfo +1 -0
- package/dist/compaction/compaction-helper.d.ts +9 -0
- package/dist/compaction/compaction-helper.js +58 -0
- package/dist/compaction/compaction-helper.js.map +1 -0
- package/dist/compaction/index.d.ts +2 -0
- package/dist/compaction/index.js +6 -0
- package/dist/compaction/index.js.map +1 -0
- package/dist/domain-access/domain-access-tracker.d.ts +9 -0
- package/dist/domain-access/domain-access-tracker.js +46 -0
- package/dist/domain-access/domain-access-tracker.js.map +1 -0
- package/dist/domain-access/domain-gating.d.ts +65 -0
- package/dist/domain-access/domain-gating.js +68 -0
- package/dist/domain-access/domain-gating.js.map +1 -0
- package/dist/domain-access/index.d.ts +4 -0
- package/dist/domain-access/index.js +11 -0
- package/dist/domain-access/index.js.map +1 -0
- package/dist/event-bus/event-bus.interface.d.ts +15 -0
- package/dist/event-bus/event-bus.interface.js +3 -0
- package/dist/event-bus/event-bus.interface.js.map +1 -0
- package/dist/event-bus/index.d.ts +1 -0
- package/dist/event-bus/index.js +3 -0
- package/dist/event-bus/index.js.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/mcp-client-manager.d.ts +6 -0
- package/dist/mcp/mcp-client-manager.js +34 -0
- package/dist/mcp/mcp-client-manager.js.map +1 -0
- package/dist/memory/memory-config.d.ts +3 -0
- package/dist/memory/memory-config.js +29 -0
- package/dist/memory/memory-config.js.map +1 -0
- package/dist/memory/title-utils.d.ts +3 -0
- package/dist/memory/title-utils.js +42 -0
- package/dist/memory/title-utils.js.map +1 -0
- package/dist/memory/working-memory-template.d.ts +1 -0
- package/dist/memory/working-memory-template.js +25 -0
- package/dist/memory/working-memory-template.js.map +1 -0
- package/dist/planned-tasks/planned-task-service.d.ts +33 -0
- package/dist/planned-tasks/planned-task-service.js +151 -0
- package/dist/planned-tasks/planned-task-service.js.map +1 -0
- package/dist/runtime/background-task-manager.d.ts +53 -0
- package/dist/runtime/background-task-manager.js +127 -0
- package/dist/runtime/background-task-manager.js.map +1 -0
- package/dist/runtime/resumable-stream-executor.d.ts +75 -0
- package/dist/runtime/resumable-stream-executor.js +1552 -0
- package/dist/runtime/resumable-stream-executor.js.map +1 -0
- package/dist/runtime/run-state-registry.d.ts +109 -0
- package/dist/runtime/run-state-registry.js +210 -0
- package/dist/runtime/run-state-registry.js.map +1 -0
- package/dist/runtime/stream-runner.d.ts +27 -0
- package/dist/runtime/stream-runner.js +87 -0
- package/dist/runtime/stream-runner.js.map +1 -0
- package/dist/runtime/working-memory-tracing.d.ts +19 -0
- package/dist/runtime/working-memory-tracing.js +111 -0
- package/dist/runtime/working-memory-tracing.js.map +1 -0
- package/dist/storage/agent-tree-snapshot.d.ts +7 -0
- package/dist/storage/agent-tree-snapshot.js +3 -0
- package/dist/storage/agent-tree-snapshot.js.map +1 -0
- package/dist/storage/index.d.ts +10 -0
- package/dist/storage/index.js +17 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/iteration-log.d.ts +30 -0
- package/dist/storage/iteration-log.js +31 -0
- package/dist/storage/iteration-log.js.map +1 -0
- package/dist/storage/mastra-iteration-log-storage.d.ts +10 -0
- package/dist/storage/mastra-iteration-log-storage.js +57 -0
- package/dist/storage/mastra-iteration-log-storage.js.map +1 -0
- package/dist/storage/mastra-task-storage.d.ts +9 -0
- package/dist/storage/mastra-task-storage.js +35 -0
- package/dist/storage/mastra-task-storage.js.map +1 -0
- package/dist/storage/planned-task-storage.d.ts +10 -0
- package/dist/storage/planned-task-storage.js +97 -0
- package/dist/storage/planned-task-storage.js.map +1 -0
- package/dist/storage/thread-patch.d.ts +16 -0
- package/dist/storage/thread-patch.js +50 -0
- package/dist/storage/thread-patch.js.map +1 -0
- package/dist/storage/workflow-loop-storage.d.ts +217 -0
- package/dist/storage/workflow-loop-storage.js +59 -0
- package/dist/storage/workflow-loop-storage.js.map +1 -0
- package/dist/stream/consume-with-hitl.d.ts +22 -0
- package/dist/stream/consume-with-hitl.js +29 -0
- package/dist/stream/consume-with-hitl.js.map +1 -0
- package/dist/stream/map-chunk.d.ts +2 -0
- package/dist/stream/map-chunk.js +224 -0
- package/dist/stream/map-chunk.js.map +1 -0
- package/dist/tools/best-practices/get-best-practices.tool.d.ts +12 -0
- package/dist/tools/best-practices/get-best-practices.tool.js +64 -0
- package/dist/tools/best-practices/get-best-practices.tool.js.map +1 -0
- package/dist/tools/best-practices/guides/chatbot.d.ts +1 -0
- package/dist/tools/best-practices/guides/chatbot.js +111 -0
- package/dist/tools/best-practices/guides/chatbot.js.map +1 -0
- package/dist/tools/best-practices/guides/content-generation.d.ts +1 -0
- package/dist/tools/best-practices/guides/content-generation.js +108 -0
- package/dist/tools/best-practices/guides/content-generation.js.map +1 -0
- package/dist/tools/best-practices/guides/data-extraction.d.ts +1 -0
- package/dist/tools/best-practices/guides/data-extraction.js +115 -0
- package/dist/tools/best-practices/guides/data-extraction.js.map +1 -0
- package/dist/tools/best-practices/guides/data-persistence.d.ts +1 -0
- package/dist/tools/best-practices/guides/data-persistence.js +198 -0
- package/dist/tools/best-practices/guides/data-persistence.js.map +1 -0
- package/dist/tools/best-practices/guides/data-transformation.d.ts +1 -0
- package/dist/tools/best-practices/guides/data-transformation.js +139 -0
- package/dist/tools/best-practices/guides/data-transformation.js.map +1 -0
- package/dist/tools/best-practices/guides/document-processing.d.ts +1 -0
- package/dist/tools/best-practices/guides/document-processing.js +326 -0
- package/dist/tools/best-practices/guides/document-processing.js.map +1 -0
- package/dist/tools/best-practices/guides/form-input.d.ts +1 -0
- package/dist/tools/best-practices/guides/form-input.js +166 -0
- package/dist/tools/best-practices/guides/form-input.js.map +1 -0
- package/dist/tools/best-practices/guides/notification.d.ts +1 -0
- package/dist/tools/best-practices/guides/notification.js +128 -0
- package/dist/tools/best-practices/guides/notification.js.map +1 -0
- package/dist/tools/best-practices/guides/scheduling.d.ts +1 -0
- package/dist/tools/best-practices/guides/scheduling.js +145 -0
- package/dist/tools/best-practices/guides/scheduling.js.map +1 -0
- package/dist/tools/best-practices/guides/scraping-and-research.d.ts +1 -0
- package/dist/tools/best-practices/guides/scraping-and-research.js +151 -0
- package/dist/tools/best-practices/guides/scraping-and-research.js.map +1 -0
- package/dist/tools/best-practices/guides/triage.d.ts +1 -0
- package/dist/tools/best-practices/guides/triage.js +142 -0
- package/dist/tools/best-practices/guides/triage.js.map +1 -0
- package/dist/tools/best-practices/index.d.ts +2 -0
- package/dist/tools/best-practices/index.js +34 -0
- package/dist/tools/best-practices/index.js.map +1 -0
- package/dist/tools/best-practices/techniques.d.ts +20 -0
- package/dist/tools/best-practices/techniques.js +40 -0
- package/dist/tools/best-practices/techniques.js.map +1 -0
- package/dist/tools/credentials/delete-credential.tool.d.ts +21 -0
- package/dist/tools/credentials/delete-credential.tool.js +51 -0
- package/dist/tools/credentials/delete-credential.tool.js.map +1 -0
- package/dist/tools/credentials/get-credential.tool.d.ts +4 -0
- package/dist/tools/credentials/get-credential.tool.js +26 -0
- package/dist/tools/credentials/get-credential.tool.js.map +1 -0
- package/dist/tools/credentials/list-credentials.tool.d.ts +6 -0
- package/dist/tools/credentials/list-credentials.tool.js +30 -0
- package/dist/tools/credentials/list-credentials.tool.js.map +1 -0
- package/dist/tools/credentials/search-credential-types.tool.d.ts +6 -0
- package/dist/tools/credentials/search-credential-types.tool.js +44 -0
- package/dist/tools/credentials/search-credential-types.tool.js.map +1 -0
- package/dist/tools/credentials/setup-credentials.tool.d.ts +73 -0
- package/dist/tools/credentials/setup-credentials.tool.js +134 -0
- package/dist/tools/credentials/setup-credentials.tool.js.map +1 -0
- package/dist/tools/credentials/test-credential.tool.d.ts +7 -0
- package/dist/tools/credentials/test-credential.tool.js +30 -0
- package/dist/tools/credentials/test-credential.tool.js.map +1 -0
- package/dist/tools/data-tables/add-data-table-column.tool.d.ts +27 -0
- package/dist/tools/data-tables/add-data-table-column.tool.js +60 -0
- package/dist/tools/data-tables/add-data-table-column.tool.js.map +1 -0
- package/dist/tools/data-tables/create-data-table.tool.d.ts +36 -0
- package/dist/tools/data-tables/create-data-table.tool.js +79 -0
- package/dist/tools/data-tables/create-data-table.tool.js.map +1 -0
- package/dist/tools/data-tables/delete-data-table-column.tool.d.ts +21 -0
- package/dist/tools/data-tables/delete-data-table-column.tool.js +48 -0
- package/dist/tools/data-tables/delete-data-table-column.tool.js.map +1 -0
- package/dist/tools/data-tables/delete-data-table-rows.tool.d.ts +29 -0
- package/dist/tools/data-tables/delete-data-table-rows.tool.js +63 -0
- package/dist/tools/data-tables/delete-data-table-rows.tool.js.map +1 -0
- package/dist/tools/data-tables/delete-data-table.tool.d.ts +20 -0
- package/dist/tools/data-tables/delete-data-table.tool.js +46 -0
- package/dist/tools/data-tables/delete-data-table.tool.js.map +1 -0
- package/dist/tools/data-tables/get-data-table-schema.tool.d.ts +11 -0
- package/dist/tools/data-tables/get-data-table-schema.tool.js +27 -0
- package/dist/tools/data-tables/get-data-table-schema.tool.js.map +1 -0
- package/dist/tools/data-tables/insert-data-table-rows.tool.d.ts +21 -0
- package/dist/tools/data-tables/insert-data-table-rows.tool.js +52 -0
- package/dist/tools/data-tables/insert-data-table-rows.tool.js.map +1 -0
- package/dist/tools/data-tables/list-data-tables.tool.d.ts +6 -0
- package/dist/tools/data-tables/list-data-tables.tool.js +32 -0
- package/dist/tools/data-tables/list-data-tables.tool.js.map +1 -0
- package/dist/tools/data-tables/query-data-table-rows.tool.d.ts +21 -0
- package/dist/tools/data-tables/query-data-table-rows.tool.js +54 -0
- package/dist/tools/data-tables/query-data-table-rows.tool.js.map +1 -0
- package/dist/tools/data-tables/rename-data-table-column.tool.d.ts +22 -0
- package/dist/tools/data-tables/rename-data-table-column.tool.js +49 -0
- package/dist/tools/data-tables/rename-data-table-column.tool.js.map +1 -0
- package/dist/tools/data-tables/update-data-table-rows.tool.d.ts +29 -0
- package/dist/tools/data-tables/update-data-table-rows.tool.js +57 -0
- package/dist/tools/data-tables/update-data-table-rows.tool.js.map +1 -0
- package/dist/tools/executions/debug-execution.tool.d.ts +4 -0
- package/dist/tools/executions/debug-execution.tool.js +41 -0
- package/dist/tools/executions/debug-execution.tool.js.map +1 -0
- package/dist/tools/executions/get-execution.tool.d.ts +4 -0
- package/dist/tools/executions/get-execution.tool.js +26 -0
- package/dist/tools/executions/get-execution.tool.js.map +1 -0
- package/dist/tools/executions/get-node-output.tool.d.ts +7 -0
- package/dist/tools/executions/get-node-output.tool.js +44 -0
- package/dist/tools/executions/get-node-output.tool.js.map +1 -0
- package/dist/tools/executions/list-executions.tool.d.ts +8 -0
- package/dist/tools/executions/list-executions.tool.js +45 -0
- package/dist/tools/executions/list-executions.tool.js.map +1 -0
- package/dist/tools/executions/run-workflow.tool.d.ts +24 -0
- package/dist/tools/executions/run-workflow.tool.js +82 -0
- package/dist/tools/executions/run-workflow.tool.js.map +1 -0
- package/dist/tools/executions/stop-execution.tool.d.ts +7 -0
- package/dist/tools/executions/stop-execution.tool.js +22 -0
- package/dist/tools/executions/stop-execution.tool.js.map +1 -0
- package/dist/tools/filesystem/create-tools-from-mcp-server.d.ts +3 -0
- package/dist/tools/filesystem/create-tools-from-mcp-server.js +61 -0
- package/dist/tools/filesystem/create-tools-from-mcp-server.js.map +1 -0
- package/dist/tools/filesystem/get-file-tree.tool.d.ts +22 -0
- package/dist/tools/filesystem/get-file-tree.tool.js +64 -0
- package/dist/tools/filesystem/get-file-tree.tool.js.map +1 -0
- package/dist/tools/filesystem/list-files.tool.d.ts +30 -0
- package/dist/tools/filesystem/list-files.tool.js +100 -0
- package/dist/tools/filesystem/list-files.tool.js.map +1 -0
- package/dist/tools/filesystem/read-file.tool.d.ts +25 -0
- package/dist/tools/filesystem/read-file.tool.js +83 -0
- package/dist/tools/filesystem/read-file.tool.js.map +1 -0
- package/dist/tools/filesystem/search-files.tool.d.ts +31 -0
- package/dist/tools/filesystem/search-files.tool.js +96 -0
- package/dist/tools/filesystem/search-files.tool.js.map +1 -0
- package/dist/tools/index.d.ts +2385 -0
- package/dist/tools/index.js +195 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/nodes/explore-node-resources.tool.d.ts +21 -0
- package/dist/tools/nodes/explore-node-resources.tool.js +71 -0
- package/dist/tools/nodes/explore-node-resources.tool.js.map +1 -0
- package/dist/tools/nodes/get-node-description.tool.d.ts +23 -0
- package/dist/tools/nodes/get-node-description.tool.js +52 -0
- package/dist/tools/nodes/get-node-description.tool.js.map +1 -0
- package/dist/tools/nodes/get-node-type-definition.tool.d.ts +17 -0
- package/dist/tools/nodes/get-node-type-definition.tool.js +73 -0
- package/dist/tools/nodes/get-node-type-definition.tool.js.map +1 -0
- package/dist/tools/nodes/get-suggested-nodes.tool.d.ts +14 -0
- package/dist/tools/nodes/get-suggested-nodes.tool.js +54 -0
- package/dist/tools/nodes/get-suggested-nodes.tool.js.map +1 -0
- package/dist/tools/nodes/list-nodes.tool.d.ts +6 -0
- package/dist/tools/nodes/list-nodes.tool.js +33 -0
- package/dist/tools/nodes/list-nodes.tool.js.map +1 -0
- package/dist/tools/nodes/node-search-engine.d.ts +18 -0
- package/dist/tools/nodes/node-search-engine.js +266 -0
- package/dist/tools/nodes/node-search-engine.js.map +1 -0
- package/dist/tools/nodes/node-search-engine.types.d.ts +38 -0
- package/dist/tools/nodes/node-search-engine.types.js +18 -0
- package/dist/tools/nodes/node-search-engine.types.js.map +1 -0
- package/dist/tools/nodes/search-nodes.tool.d.ts +28 -0
- package/dist/tools/nodes/search-nodes.tool.js +87 -0
- package/dist/tools/nodes/search-nodes.tool.js.map +1 -0
- package/dist/tools/nodes/suggested-nodes-data.d.ts +11 -0
- package/dist/tools/nodes/suggested-nodes-data.js +326 -0
- package/dist/tools/nodes/suggested-nodes-data.js.map +1 -0
- package/dist/tools/orchestration/browser-credential-setup.tool.d.ts +14 -0
- package/dist/tools/orchestration/browser-credential-setup.tool.js +429 -0
- package/dist/tools/orchestration/browser-credential-setup.tool.js.map +1 -0
- package/dist/tools/orchestration/build-workflow-agent.prompt.d.ts +2 -0
- package/dist/tools/orchestration/build-workflow-agent.prompt.js +836 -0
- package/dist/tools/orchestration/build-workflow-agent.prompt.js.map +1 -0
- package/dist/tools/orchestration/build-workflow-agent.tool.d.ts +23 -0
- package/dist/tools/orchestration/build-workflow-agent.tool.js +503 -0
- package/dist/tools/orchestration/build-workflow-agent.tool.js.map +1 -0
- package/dist/tools/orchestration/cancel-background-task.tool.d.ts +6 -0
- package/dist/tools/orchestration/cancel-background-task.tool.js +24 -0
- package/dist/tools/orchestration/cancel-background-task.tool.js.map +1 -0
- package/dist/tools/orchestration/correct-background-task.tool.d.ts +7 -0
- package/dist/tools/orchestration/correct-background-task.tool.js +41 -0
- package/dist/tools/orchestration/correct-background-task.tool.js.map +1 -0
- package/dist/tools/orchestration/data-table-agent.prompt.d.ts +1 -0
- package/dist/tools/orchestration/data-table-agent.prompt.js +29 -0
- package/dist/tools/orchestration/data-table-agent.prompt.js.map +1 -0
- package/dist/tools/orchestration/data-table-agent.tool.d.ts +21 -0
- package/dist/tools/orchestration/data-table-agent.tool.js +171 -0
- package/dist/tools/orchestration/data-table-agent.tool.js.map +1 -0
- package/dist/tools/orchestration/delegate.schemas.d.ts +32 -0
- package/dist/tools/orchestration/delegate.schemas.js +29 -0
- package/dist/tools/orchestration/delegate.schemas.js.map +1 -0
- package/dist/tools/orchestration/delegate.tool.d.ts +27 -0
- package/dist/tools/orchestration/delegate.tool.js +307 -0
- package/dist/tools/orchestration/delegate.tool.js.map +1 -0
- package/dist/tools/orchestration/display-utils.d.ts +1 -0
- package/dist/tools/orchestration/display-utils.js +8 -0
- package/dist/tools/orchestration/display-utils.js.map +1 -0
- package/dist/tools/orchestration/plan.tool.d.ts +45 -0
- package/dist/tools/orchestration/plan.tool.js +99 -0
- package/dist/tools/orchestration/plan.tool.js.map +1 -0
- package/dist/tools/orchestration/report-verification-verdict.tool.d.ts +14 -0
- package/dist/tools/orchestration/report-verification-verdict.tool.js +66 -0
- package/dist/tools/orchestration/report-verification-verdict.tool.js.map +1 -0
- package/dist/tools/orchestration/research-agent-prompt.d.ts +1 -0
- package/dist/tools/orchestration/research-agent-prompt.js +28 -0
- package/dist/tools/orchestration/research-agent-prompt.js.map +1 -0
- package/dist/tools/orchestration/research-with-agent.tool.d.ts +23 -0
- package/dist/tools/orchestration/research-with-agent.tool.js +160 -0
- package/dist/tools/orchestration/research-with-agent.tool.js.map +1 -0
- package/dist/tools/orchestration/tracing-utils.d.ts +20 -0
- package/dist/tools/orchestration/tracing-utils.js +102 -0
- package/dist/tools/orchestration/tracing-utils.js.map +1 -0
- package/dist/tools/orchestration/update-tasks.tool.d.ts +10 -0
- package/dist/tools/orchestration/update-tasks.tool.js +26 -0
- package/dist/tools/orchestration/update-tasks.tool.js.map +1 -0
- package/dist/tools/orchestration/verify-built-workflow.tool.d.ts +13 -0
- package/dist/tools/orchestration/verify-built-workflow.tool.js +58 -0
- package/dist/tools/orchestration/verify-built-workflow.tool.js.map +1 -0
- package/dist/tools/shared/ask-user.tool.d.ts +61 -0
- package/dist/tools/shared/ask-user.tool.js +98 -0
- package/dist/tools/shared/ask-user.tool.js.map +1 -0
- package/dist/tools/templates/search-template-parameters.tool.d.ts +11 -0
- package/dist/tools/templates/search-template-parameters.tool.js +55 -0
- package/dist/tools/templates/search-template-parameters.tool.js.map +1 -0
- package/dist/tools/templates/search-template-structures.tool.d.ts +12 -0
- package/dist/tools/templates/search-template-structures.tool.js +45 -0
- package/dist/tools/templates/search-template-structures.tool.js.map +1 -0
- package/dist/tools/templates/template-api.d.ts +21 -0
- package/dist/tools/templates/template-api.js +104 -0
- package/dist/tools/templates/template-api.js.map +1 -0
- package/dist/tools/templates/types.d.ts +52 -0
- package/dist/tools/templates/types.js +37 -0
- package/dist/tools/templates/types.js.map +1 -0
- package/dist/tools/utils/mermaid.utils.d.ts +15 -0
- package/dist/tools/utils/mermaid.utils.js +622 -0
- package/dist/tools/utils/mermaid.utils.js.map +1 -0
- package/dist/tools/utils/node-configuration.utils.d.ts +6 -0
- package/dist/tools/utils/node-configuration.utils.js +77 -0
- package/dist/tools/utils/node-configuration.utils.js.map +1 -0
- package/dist/tools/web-research/fetch-url.tool.d.ts +27 -0
- package/dist/tools/web-research/fetch-url.tool.js +116 -0
- package/dist/tools/web-research/fetch-url.tool.js.map +1 -0
- package/dist/tools/web-research/index.d.ts +1 -0
- package/dist/tools/web-research/index.js +6 -0
- package/dist/tools/web-research/index.js.map +1 -0
- package/dist/tools/web-research/sanitize-web-content.d.ts +3 -0
- package/dist/tools/web-research/sanitize-web-content.js +36 -0
- package/dist/tools/web-research/sanitize-web-content.js.map +1 -0
- package/dist/tools/web-research/web-search.tool.d.ts +6 -0
- package/dist/tools/web-research/web-search.tool.js +57 -0
- package/dist/tools/web-research/web-search.tool.js.map +1 -0
- package/dist/tools/workflows/apply-workflow-credentials.tool.d.ts +10 -0
- package/dist/tools/workflows/apply-workflow-credentials.tool.js +87 -0
- package/dist/tools/workflows/apply-workflow-credentials.tool.js.map +1 -0
- package/dist/tools/workflows/build-workflow.tool.d.ts +16 -0
- package/dist/tools/workflows/build-workflow.tool.js +163 -0
- package/dist/tools/workflows/build-workflow.tool.js.map +1 -0
- package/dist/tools/workflows/delete-workflow.tool.d.ts +21 -0
- package/dist/tools/workflows/delete-workflow.tool.js +51 -0
- package/dist/tools/workflows/delete-workflow.tool.js.map +1 -0
- package/dist/tools/workflows/get-workflow-as-code.tool.d.ts +14 -0
- package/dist/tools/workflows/get-workflow-as-code.tool.js +37 -0
- package/dist/tools/workflows/get-workflow-as-code.tool.js.map +1 -0
- package/dist/tools/workflows/get-workflow-version.tool.d.ts +21 -0
- package/dist/tools/workflows/get-workflow-version.tool.js +38 -0
- package/dist/tools/workflows/get-workflow-version.tool.js.map +1 -0
- package/dist/tools/workflows/get-workflow.tool.d.ts +18 -0
- package/dist/tools/workflows/get-workflow.tool.js +36 -0
- package/dist/tools/workflows/get-workflow.tool.js.map +1 -0
- package/dist/tools/workflows/list-workflow-versions.tool.d.ts +8 -0
- package/dist/tools/workflows/list-workflow-versions.tool.js +47 -0
- package/dist/tools/workflows/list-workflow-versions.tool.js.map +1 -0
- package/dist/tools/workflows/list-workflows.tool.d.ts +14 -0
- package/dist/tools/workflows/list-workflows.tool.js +42 -0
- package/dist/tools/workflows/list-workflows.tool.js.map +1 -0
- package/dist/tools/workflows/materialize-node-type.tool.d.ts +23 -0
- package/dist/tools/workflows/materialize-node-type.tool.js +105 -0
- package/dist/tools/workflows/materialize-node-type.tool.js.map +1 -0
- package/dist/tools/workflows/publish-workflow.tool.d.ts +24 -0
- package/dist/tools/workflows/publish-workflow.tool.js +92 -0
- package/dist/tools/workflows/publish-workflow.tool.js.map +1 -0
- package/dist/tools/workflows/resolve-credentials.d.ts +14 -0
- package/dist/tools/workflows/resolve-credentials.js +89 -0
- package/dist/tools/workflows/resolve-credentials.js.map +1 -0
- package/dist/tools/workflows/restore-workflow-version.tool.d.ts +22 -0
- package/dist/tools/workflows/restore-workflow-version.tool.js +65 -0
- package/dist/tools/workflows/restore-workflow-version.tool.js.map +1 -0
- package/dist/tools/workflows/setup-workflow.schema.d.ts +331 -0
- package/dist/tools/workflows/setup-workflow.schema.js +21 -0
- package/dist/tools/workflows/setup-workflow.schema.js.map +1 -0
- package/dist/tools/workflows/setup-workflow.service.d.ts +40 -0
- package/dist/tools/workflows/setup-workflow.service.js +470 -0
- package/dist/tools/workflows/setup-workflow.service.js.map +1 -0
- package/dist/tools/workflows/setup-workflow.tool.d.ts +150 -0
- package/dist/tools/workflows/setup-workflow.tool.js +219 -0
- package/dist/tools/workflows/setup-workflow.tool.js.map +1 -0
- package/dist/tools/workflows/submit-workflow.tool.d.ts +33 -0
- package/dist/tools/workflows/submit-workflow.tool.js +258 -0
- package/dist/tools/workflows/submit-workflow.tool.js.map +1 -0
- package/dist/tools/workflows/unpublish-workflow.tool.d.ts +22 -0
- package/dist/tools/workflows/unpublish-workflow.tool.js +61 -0
- package/dist/tools/workflows/unpublish-workflow.tool.js.map +1 -0
- package/dist/tools/workflows/update-workflow-version.tool.d.ts +9 -0
- package/dist/tools/workflows/update-workflow-version.tool.js +35 -0
- package/dist/tools/workflows/update-workflow-version.tool.js.map +1 -0
- package/dist/tools/workflows/write-sandbox-file.tool.d.ts +13 -0
- package/dist/tools/workflows/write-sandbox-file.tool.js +53 -0
- package/dist/tools/workflows/write-sandbox-file.tool.js.map +1 -0
- package/dist/tools/workspace/cleanup-test-executions.tool.d.ts +22 -0
- package/dist/tools/workspace/cleanup-test-executions.tool.js +58 -0
- package/dist/tools/workspace/cleanup-test-executions.tool.js.map +1 -0
- package/dist/tools/workspace/create-folder.tool.d.ts +24 -0
- package/dist/tools/workspace/create-folder.tool.js +59 -0
- package/dist/tools/workspace/create-folder.tool.js.map +1 -0
- package/dist/tools/workspace/delete-folder.tool.d.ts +24 -0
- package/dist/tools/workspace/delete-folder.tool.js +60 -0
- package/dist/tools/workspace/delete-folder.tool.js.map +1 -0
- package/dist/tools/workspace/list-folders.tool.d.ts +6 -0
- package/dist/tools/workspace/list-folders.tool.js +26 -0
- package/dist/tools/workspace/list-folders.tool.js.map +1 -0
- package/dist/tools/workspace/list-projects.tool.d.ts +4 -0
- package/dist/tools/workspace/list-projects.tool.js +24 -0
- package/dist/tools/workspace/list-projects.tool.js.map +1 -0
- package/dist/tools/workspace/list-tags.tool.d.ts +7 -0
- package/dist/tools/workspace/list-tags.tool.js +23 -0
- package/dist/tools/workspace/list-tags.tool.js.map +1 -0
- package/dist/tools/workspace/move-workflow-to-folder.tool.d.ts +23 -0
- package/dist/tools/workspace/move-workflow-to-folder.tool.js +56 -0
- package/dist/tools/workspace/move-workflow-to-folder.tool.js.map +1 -0
- package/dist/tools/workspace/tag-workflow.tool.d.ts +22 -0
- package/dist/tools/workspace/tag-workflow.tool.js +52 -0
- package/dist/tools/workspace/tag-workflow.tool.js.map +1 -0
- package/dist/tracing/langsmith-tracing.d.ts +56 -0
- package/dist/tracing/langsmith-tracing.js +810 -0
- package/dist/tracing/langsmith-tracing.js.map +1 -0
- package/dist/types.d.ts +709 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/agent-tree.d.ts +3 -0
- package/dist/utils/agent-tree.js +23 -0
- package/dist/utils/agent-tree.js.map +1 -0
- package/dist/utils/format-timestamp.d.ts +1 -0
- package/dist/utils/format-timestamp.js +19 -0
- package/dist/utils/format-timestamp.js.map +1 -0
- package/dist/utils/stream-helpers.d.ts +15 -0
- package/dist/utils/stream-helpers.js +26 -0
- package/dist/utils/stream-helpers.js.map +1 -0
- package/dist/workflow-builder/extract-code.d.ts +5 -0
- package/dist/workflow-builder/extract-code.js +105 -0
- package/dist/workflow-builder/extract-code.js.map +1 -0
- package/dist/workflow-builder/index.d.ts +5 -0
- package/dist/workflow-builder/index.js +19 -0
- package/dist/workflow-builder/index.js.map +1 -0
- package/dist/workflow-builder/parse-validate.d.ts +6 -0
- package/dist/workflow-builder/parse-validate.js +49 -0
- package/dist/workflow-builder/parse-validate.js.map +1 -0
- package/dist/workflow-builder/patch-code.d.ts +14 -0
- package/dist/workflow-builder/patch-code.js +117 -0
- package/dist/workflow-builder/patch-code.js.map +1 -0
- package/dist/workflow-builder/sdk-prompt-sections.d.ts +4 -0
- package/dist/workflow-builder/sdk-prompt-sections.js +517 -0
- package/dist/workflow-builder/sdk-prompt-sections.js.map +1 -0
- package/dist/workflow-builder/types.d.ts +11 -0
- package/dist/workflow-builder/types.js +3 -0
- package/dist/workflow-builder/types.js.map +1 -0
- package/dist/workflow-loop/guidance.d.ts +5 -0
- package/dist/workflow-loop/guidance.js +37 -0
- package/dist/workflow-loop/guidance.js.map +1 -0
- package/dist/workflow-loop/index.d.ts +5 -0
- package/dist/workflow-loop/index.js +25 -0
- package/dist/workflow-loop/index.js.map +1 -0
- package/dist/workflow-loop/runtime.d.ts +8 -0
- package/dist/workflow-loop/runtime.js +40 -0
- package/dist/workflow-loop/runtime.js.map +1 -0
- package/dist/workflow-loop/workflow-loop-controller.d.ts +11 -0
- package/dist/workflow-loop/workflow-loop-controller.js +212 -0
- package/dist/workflow-loop/workflow-loop-controller.js.map +1 -0
- package/dist/workflow-loop/workflow-loop-state.d.ts +189 -0
- package/dist/workflow-loop/workflow-loop-state.js +77 -0
- package/dist/workflow-loop/workflow-loop-state.js.map +1 -0
- package/dist/workflow-loop/workflow-task-service.d.ts +13 -0
- package/dist/workflow-loop/workflow-task-service.js +35 -0
- package/dist/workflow-loop/workflow-task-service.js.map +1 -0
- package/dist/workspace/builder-sandbox-factory.d.ts +25 -0
- package/dist/workspace/builder-sandbox-factory.js +199 -0
- package/dist/workspace/builder-sandbox-factory.js.map +1 -0
- package/dist/workspace/create-workspace.d.ts +33 -0
- package/dist/workspace/create-workspace.js +56 -0
- package/dist/workspace/create-workspace.js.map +1 -0
- package/dist/workspace/daytona-filesystem.d.ts +25 -0
- package/dist/workspace/daytona-filesystem.js +109 -0
- package/dist/workspace/daytona-filesystem.js.map +1 -0
- package/dist/workspace/n8n-sandbox-client.d.ts +105 -0
- package/dist/workspace/n8n-sandbox-client.js +335 -0
- package/dist/workspace/n8n-sandbox-client.js.map +1 -0
- package/dist/workspace/n8n-sandbox-filesystem.d.ts +25 -0
- package/dist/workspace/n8n-sandbox-filesystem.js +128 -0
- package/dist/workspace/n8n-sandbox-filesystem.js.map +1 -0
- package/dist/workspace/n8n-sandbox-image-manager.d.ts +5 -0
- package/dist/workspace/n8n-sandbox-image-manager.js +25 -0
- package/dist/workspace/n8n-sandbox-image-manager.js.map +1 -0
- package/dist/workspace/n8n-sandbox-sandbox.d.ts +27 -0
- package/dist/workspace/n8n-sandbox-sandbox.js +103 -0
- package/dist/workspace/n8n-sandbox-sandbox.js.map +1 -0
- package/dist/workspace/sandbox-fs.d.ts +9 -0
- package/dist/workspace/sandbox-fs.js +43 -0
- package/dist/workspace/sandbox-fs.js.map +1 -0
- package/dist/workspace/sandbox-setup.d.ts +11 -0
- package/dist/workspace/sandbox-setup.js +139 -0
- package/dist/workspace/sandbox-setup.js.map +1 -0
- package/dist/workspace/snapshot-manager.d.ts +8 -0
- package/dist/workspace/snapshot-manager.js +31 -0
- package/dist/workspace/snapshot-manager.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDocumentation = getDocumentation;
|
|
4
|
+
function getDocumentation() {
|
|
5
|
+
return `# Best Practices: Notification Workflows
|
|
6
|
+
|
|
7
|
+
## Workflow Design
|
|
8
|
+
|
|
9
|
+
Structure notification workflows in a clear sequence. Keep each part modular with nodes dedicated to specific purposes.
|
|
10
|
+
|
|
11
|
+
\`\`\`mermaid
|
|
12
|
+
graph LR
|
|
13
|
+
A[Trigger] --> B[Data Retrieval/Processing]
|
|
14
|
+
B --> C[Condition Check]
|
|
15
|
+
C --> D[Notification Action]
|
|
16
|
+
D --> E[Post-Notification: logging/tracking]
|
|
17
|
+
\`\`\`
|
|
18
|
+
|
|
19
|
+
Choose between event-based triggers (webhooks, form submissions, CRM events) for immediate notifications or scheduled triggers (Cron) for periodic condition monitoring.
|
|
20
|
+
|
|
21
|
+
CRITICAL: Multi-channel notifications should branch from a single condition check to multiple notification nodes in parallel, not duplicate the entire workflow. This enables easy extension and maintenance.
|
|
22
|
+
|
|
23
|
+
Example pattern:
|
|
24
|
+
\`\`\`mermaid
|
|
25
|
+
graph LR
|
|
26
|
+
A[Webhook/Schedule Trigger] --> B[Fetch Data]
|
|
27
|
+
B --> C[If: threshold exceeded]
|
|
28
|
+
C -->|true| D[Email]
|
|
29
|
+
C -->|true| E[Slack]
|
|
30
|
+
C -->|true| F[SMS]
|
|
31
|
+
C -->|false| G[End/Log]
|
|
32
|
+
\`\`\`
|
|
33
|
+
Result: Single workflow handles all channels efficiently with consistent logic
|
|
34
|
+
|
|
35
|
+
## Condition Logic & Filtering
|
|
36
|
+
|
|
37
|
+
Use IF nodes for simple checks without code. For complex conditions (multiple fields, array filtering), use Code nodes to script the logic and filter items that need alerts.
|
|
38
|
+
|
|
39
|
+
Always include empty notification prevention - check that alert-worthy items exist (items.length > 0) before proceeding to notification nodes. Route the false branch to end the workflow or log "no alert needed".
|
|
40
|
+
|
|
41
|
+
## Message Construction
|
|
42
|
+
|
|
43
|
+
Use expressions to inject dynamic data into messages. The expression \`{{ $json.fieldName }}\` pulls data from input items.
|
|
44
|
+
|
|
45
|
+
Format messages appropriately for each channel:
|
|
46
|
+
- Email: Support HTML or plain text, use clear subject lines
|
|
47
|
+
- Slack: Use markdown-like formatting, \\n for newlines
|
|
48
|
+
- SMS: Keep concise due to character limits, plain text only
|
|
49
|
+
|
|
50
|
+
## Alert Management
|
|
51
|
+
|
|
52
|
+
Consider alert aggregation - send one message listing multiple items rather than individual alerts.
|
|
53
|
+
|
|
54
|
+
Add logging nodes to track sent notifications for audit trails and duplicate prevention. Consider using error handling paths with Continue on Fail settings for redundancy.
|
|
55
|
+
|
|
56
|
+
## Recommended Nodes
|
|
57
|
+
|
|
58
|
+
### Trigger Nodes
|
|
59
|
+
|
|
60
|
+
**Service-specific triggers** (e.g., n8n-nodes-base.googleSheetsTrigger, n8n-nodes-base.crmTrigger):
|
|
61
|
+
- Purpose: Direct integration with specific services for event-based notifications
|
|
62
|
+
- Use cases: New row in Google Sheets, CRM record updates
|
|
63
|
+
- When to use: When specific trigger node is available
|
|
64
|
+
|
|
65
|
+
**Webhook** (n8n-nodes-base.webhook):
|
|
66
|
+
- Purpose: Event-based notifications triggered by external systems
|
|
67
|
+
- Use cases: Form submissions, CRM events, API webhooks
|
|
68
|
+
- When to use: When there is no dedicated trigger node and external service supports webhooks
|
|
69
|
+
|
|
70
|
+
**Schedule Trigger** (n8n-nodes-base.scheduleTrigger):
|
|
71
|
+
- Purpose: Periodic monitoring and batch notifications
|
|
72
|
+
- Use cases: Daily reports, threshold monitoring, scheduled alerts
|
|
73
|
+
- When to use: For regular checks rather than immediate alerts, or as a polling mechanism when webhooks are not available
|
|
74
|
+
|
|
75
|
+
**Form Trigger** (n8n-nodes-base.formTrigger):
|
|
76
|
+
- Purpose: User-submitted data triggering notifications
|
|
77
|
+
- Use cases: Contact forms, feedback submissions
|
|
78
|
+
- When to use: For workflows initiated by user input via forms
|
|
79
|
+
|
|
80
|
+
### Notification Nodes
|
|
81
|
+
|
|
82
|
+
**Send Email** (n8n-nodes-base.emailSend):
|
|
83
|
+
- Purpose: Detailed alerts with attachments and HTML formatting
|
|
84
|
+
- Use cases: Reports, detailed notifications, formal communications
|
|
85
|
+
- Configuration: SMTP settings, use App Passwords for Gmail
|
|
86
|
+
- Best practice: Use clear subject lines with key information
|
|
87
|
+
|
|
88
|
+
**Slack** (n8n-nodes-base.slack):
|
|
89
|
+
- Purpose: Team notifications in channels or direct messages
|
|
90
|
+
- Use cases: Team alerts, status updates, incident notifications
|
|
91
|
+
- Configuration: Bot token with chat:write scope, bot must be invited to channel
|
|
92
|
+
- Best practice: Use markdown formatting, channel IDs (starting with C) not names
|
|
93
|
+
|
|
94
|
+
**Telegram** (n8n-nodes-base.telegram):
|
|
95
|
+
- Purpose: Instant messaging alerts to individuals or groups
|
|
96
|
+
- Use cases: Personal notifications, bot interactions
|
|
97
|
+
- Configuration: Bot token from BotFather
|
|
98
|
+
- Best practice: Use chat ID for direct messages
|
|
99
|
+
|
|
100
|
+
**Twilio** (n8n-nodes-base.twilio):
|
|
101
|
+
- Purpose: SMS/WhatsApp critical alerts
|
|
102
|
+
- Use cases: High-priority alerts, two-factor authentication, critical incidents
|
|
103
|
+
- Configuration: Account SID, Auth Token, verified phone numbers
|
|
104
|
+
- Best practice: Keep messages concise, use international format (+1234567890)
|
|
105
|
+
|
|
106
|
+
**HTTP Request** (n8n-nodes-base.httpRequest):
|
|
107
|
+
- Purpose: Custom webhooks (Microsoft Teams, Discord, custom APIs)
|
|
108
|
+
- Use cases: Integration with services without dedicated nodes
|
|
109
|
+
|
|
110
|
+
### Logic & Processing
|
|
111
|
+
|
|
112
|
+
**IF** (n8n-nodes-base.if):
|
|
113
|
+
- Purpose: Simple threshold checks and condition routing
|
|
114
|
+
- Use cases: Check if notification criteria met
|
|
115
|
+
- Best practice: Include empty notification prevention (items.length > 0)
|
|
116
|
+
|
|
117
|
+
**Switch** (n8n-nodes-base.switch):
|
|
118
|
+
- Purpose: Route notifications based on severity/type
|
|
119
|
+
- Use cases: Different channels for different alert levels
|
|
120
|
+
- Best practice: Always define Default case for unexpected values
|
|
121
|
+
|
|
122
|
+
**Set** (n8n-nodes-base.set):
|
|
123
|
+
- Purpose: Prepare alert messages and structure data
|
|
124
|
+
- Use cases: Format notification content, add metadata
|
|
125
|
+
- Best practice: Use to centralize message construction logic
|
|
126
|
+
`;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../../src/tools/best-practices/guides/notification.ts"],"names":[],"mappings":";;AAAA,4CA2HC;AA3HD,SAAgB,gBAAgB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHP,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getDocumentation(): string;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDocumentation = getDocumentation;
|
|
4
|
+
function getDocumentation() {
|
|
5
|
+
return `# Best Practices: Scheduling Workflows
|
|
6
|
+
|
|
7
|
+
## Workflow Design
|
|
8
|
+
|
|
9
|
+
Structure scheduled workflows to perform focused, well-defined tasks.
|
|
10
|
+
|
|
11
|
+
For recurring tasks, use Schedule Trigger node with clear naming (e.g., "Daily 08:00 Trigger", "Every 6h Cron").
|
|
12
|
+
|
|
13
|
+
Prevent overlapping executions by ensuring worst-case execution time < schedule interval. For frequent schedules, implement mutex/lock mechanisms using external systems if needed.
|
|
14
|
+
|
|
15
|
+
## Scheduling Patterns
|
|
16
|
+
|
|
17
|
+
### Recurring Schedules
|
|
18
|
+
|
|
19
|
+
Use Schedule Trigger in two modes:
|
|
20
|
+
- **Interval Mode**: User-friendly dropdowns for common schedules (every X minutes, daily at 09:00, weekly on Mondays)
|
|
21
|
+
- **Cron Expression Mode**: Complex patterns using 5-field syntax (m h dom mon dow) with optional seconds field. Example: \`0 9 * * 1\` triggers every Monday at 09:00
|
|
22
|
+
|
|
23
|
+
Multiple schedules can be combined in single Schedule Trigger node using multiple Trigger Rules. Useful when same logic applies to different timings.
|
|
24
|
+
|
|
25
|
+
### One-Time Events
|
|
26
|
+
|
|
27
|
+
For event-relative scheduling, use Wait node to pause workflow until specified time/date.
|
|
28
|
+
|
|
29
|
+
Note: Cron expressions with specific dates (e.g., \`0 12 22 10 *\` for Oct 22 at 12:00) will repeat annually on that date.
|
|
30
|
+
|
|
31
|
+
### Conditional Scheduling
|
|
32
|
+
|
|
33
|
+
PREFER conditional logic over complex cron expressions. Use IF/Switch nodes after Schedule Trigger for runtime conditions:
|
|
34
|
+
- Check if today is last day of month before running monthly reports
|
|
35
|
+
- Skip execution on holidays by checking against a holiday list in a data table
|
|
36
|
+
- Route to "weekday" vs "weekend" processing based on current day
|
|
37
|
+
|
|
38
|
+
This approach is more readable and maintainable than complex cron patterns.
|
|
39
|
+
|
|
40
|
+
## Time Zone Handling
|
|
41
|
+
|
|
42
|
+
When building scheduled workflows:
|
|
43
|
+
- If user specifies a timezone, set it in the Schedule Trigger node's timezone parameter
|
|
44
|
+
- If user mentions times without timezone, use the schedule as specified (instance default will apply)
|
|
45
|
+
- For Wait nodes, be aware they use server system time, not workflow timezone
|
|
46
|
+
|
|
47
|
+
## Recommended Nodes
|
|
48
|
+
|
|
49
|
+
### Schedule Trigger (n8n-nodes-base.scheduleTrigger)
|
|
50
|
+
|
|
51
|
+
Primary node for running workflows on schedule. Supports interval mode for simple schedules and cron mode for complex patterns.
|
|
52
|
+
|
|
53
|
+
### Wait (n8n-nodes-base.wait)
|
|
54
|
+
|
|
55
|
+
Pause workflow execution until specified time or duration.
|
|
56
|
+
|
|
57
|
+
Use Cases:
|
|
58
|
+
- Delay actions relative to events
|
|
59
|
+
- One-off timers per data item
|
|
60
|
+
- Follow-up actions after specific duration
|
|
61
|
+
|
|
62
|
+
Best Practices:
|
|
63
|
+
- Use n8n Data Tables for waits longer than 24 hours (store scheduled time, check periodically)
|
|
64
|
+
- Avoid wait times longer than 7 days - use a polling pattern instead
|
|
65
|
+
|
|
66
|
+
### IF (n8n-nodes-base.if)
|
|
67
|
+
|
|
68
|
+
Add conditional logic to scheduled workflows.
|
|
69
|
+
|
|
70
|
+
Use Cases:
|
|
71
|
+
- Check date conditions (last day of month using expression: \`{{ $now.day === $now.endOf('month').day }}\`)
|
|
72
|
+
- Skip execution based on external data (e.g., holiday check)
|
|
73
|
+
- Route to different actions conditionally
|
|
74
|
+
|
|
75
|
+
Best Practices:
|
|
76
|
+
- Enable "Convert types where required" for comparisons
|
|
77
|
+
- Prefer IF nodes over complex cron expressions for readability
|
|
78
|
+
|
|
79
|
+
### Switch (n8n-nodes-base.switch)
|
|
80
|
+
|
|
81
|
+
Multiple conditional branches for complex routing.
|
|
82
|
+
|
|
83
|
+
Use Cases:
|
|
84
|
+
- Different actions based on day of week (e.g., \`{{ $now.weekday }}\` returns 1-7)
|
|
85
|
+
- Time-based routing (morning vs afternoon processing)
|
|
86
|
+
- Multi-path conditional execution
|
|
87
|
+
|
|
88
|
+
### n8n Data Tables (n8n-nodes-base.n8nTables)
|
|
89
|
+
|
|
90
|
+
Purpose: Store scheduling state and pending tasks
|
|
91
|
+
|
|
92
|
+
Use Cases:
|
|
93
|
+
- Track last execution time for catch-up logic
|
|
94
|
+
- Store list of pending one-time tasks with scheduled times
|
|
95
|
+
- Implement custom scheduling queue with polling
|
|
96
|
+
|
|
97
|
+
Best Practices:
|
|
98
|
+
- Query efficiently with proper filters
|
|
99
|
+
- Clean up completed tasks periodically
|
|
100
|
+
|
|
101
|
+
## Common Pitfalls to Avoid
|
|
102
|
+
|
|
103
|
+
### Missed Schedules During Downtime
|
|
104
|
+
|
|
105
|
+
**Problem**: Scheduled runs missed when n8n instance is down. No automatic catch-up for missed triggers.
|
|
106
|
+
|
|
107
|
+
**Solution**: Design idempotent workflows with catch-up logic:
|
|
108
|
+
- Store last successful run timestamp in n8n Data Tables
|
|
109
|
+
- On each run, check if enough time has passed since last run
|
|
110
|
+
- Example: For a task that should run once per 24 hours, schedule it every 4 hours but only execute if last run was >20 hours ago
|
|
111
|
+
|
|
112
|
+
### Overlapping Executions
|
|
113
|
+
|
|
114
|
+
**Problem**: Next scheduled run starts before previous completes, causing race conditions or resource conflicts.
|
|
115
|
+
|
|
116
|
+
**Solution**:
|
|
117
|
+
- Increase interval to exceed worst-case execution time
|
|
118
|
+
- Implement mutex/lock using n8n Data Tables (check/set "running" flag at start, clear at end)
|
|
119
|
+
- Add execution check at workflow start
|
|
120
|
+
|
|
121
|
+
### Wait Node Timezone Confusion
|
|
122
|
+
|
|
123
|
+
**Problem**: Wait node uses server system time, ignoring workflow timezone setting. Wait until "10:00" may not match expected timezone.
|
|
124
|
+
|
|
125
|
+
**Solution**:
|
|
126
|
+
- Account for server timezone when setting Wait times
|
|
127
|
+
- Use relative durations (e.g., "wait 2 hours") instead of absolute times when possible
|
|
128
|
+
- Prefer Schedule Trigger for timezone-aware scheduling
|
|
129
|
+
|
|
130
|
+
### First Execution Timing
|
|
131
|
+
|
|
132
|
+
**Problem**: First execution after activation doesn't match expected schedule. Activation time affects next run calculation.
|
|
133
|
+
|
|
134
|
+
**Solution**:
|
|
135
|
+
- Use manual execution for immediate first run if needed
|
|
136
|
+
- Understand that schedule recalculates from activation moment
|
|
137
|
+
|
|
138
|
+
### Cron Syntax
|
|
139
|
+
|
|
140
|
+
n8n supports both 5-field and 6-field (with seconds) cron syntax. Use 6 fields if you want to specify seconds (e.g., prefix with 0 for seconds: \`0 0 9 * * *\` for 9 AM daily).
|
|
141
|
+
|
|
142
|
+
For simple schedules, prefer Interval mode over cron for better readability.
|
|
143
|
+
`;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=scheduling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../../../src/tools/best-practices/guides/scheduling.ts"],"names":[],"mappings":";;AAAA,4CA4IC;AA5ID,SAAgB,gBAAgB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0IP,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getDocumentation(): string;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDocumentation = getDocumentation;
|
|
4
|
+
function getDocumentation() {
|
|
5
|
+
return `# Best Practices: Scraping & Research Workflows
|
|
6
|
+
|
|
7
|
+
## Performance & Resource Management
|
|
8
|
+
|
|
9
|
+
Batch requests and introduce delays to avoid hitting API rate limits or overloading target servers. Use Wait nodes and
|
|
10
|
+
batching options in HTTP Request nodes. When 429 rate limiting errors occur due to receiving too many requests,
|
|
11
|
+
implement batching to reduce request frequency or use the "Retry on Fail" feature to automatically handle throttled
|
|
12
|
+
responses.
|
|
13
|
+
|
|
14
|
+
Workflows processing large datasets can crash due to memory constraints. Use the Split In Batches node to process 200
|
|
15
|
+
rows at a time to reduce memory usage, leverage built-in nodes instead of custom code, and increase execution timeouts
|
|
16
|
+
via environment variables for better resource management.
|
|
17
|
+
|
|
18
|
+
## Looping & Pagination
|
|
19
|
+
|
|
20
|
+
Implement robust looping for paginated data. Use Set, IF, and Code nodes to manage page numbers and loop conditions,
|
|
21
|
+
ensuring you don't miss data or create infinite loops. Leverage n8n's built-in mechanisms rather than manual approaches:
|
|
22
|
+
use the $runIndex variable to track iterations without additional code nodes, and employ workflow static data or node
|
|
23
|
+
run indexes to maintain state across loop cycles.
|
|
24
|
+
|
|
25
|
+
## Recommended Nodes
|
|
26
|
+
|
|
27
|
+
### HTTP Request (n8n-nodes-base.httpRequest)
|
|
28
|
+
|
|
29
|
+
Purpose: Fetches web pages or API data for scraping and research workflows
|
|
30
|
+
|
|
31
|
+
Pitfalls:
|
|
32
|
+
|
|
33
|
+
- Depending on the data which the user wishes to scrape/research, it maybe against the terms of service to attempt to
|
|
34
|
+
fetch it from the site directly. Using scraping nodes is the best way to get around this
|
|
35
|
+
- Double-check URL formatting, query parameters, and ensure all required fields are present to avoid bad request errors
|
|
36
|
+
- Be aware of 429 rate limiting errors when the service receives too many requests - implement batching or use "Retry on
|
|
37
|
+
Fail" feature
|
|
38
|
+
- Refresh expired tokens, verify API keys, and ensure correct permissions to avoid authentication failures
|
|
39
|
+
|
|
40
|
+
### SerpAPI (@n8n/n8n-nodes-langchain.toolSerpApi)
|
|
41
|
+
|
|
42
|
+
Purpose: Give an agent the ability to search for research materials and fact-checking results that have been retrieved
|
|
43
|
+
from other sources.
|
|
44
|
+
|
|
45
|
+
### Perplexity (n8n-nodes-base.perplexityTool)
|
|
46
|
+
|
|
47
|
+
Purpose: Give an agent the ability to search utilising Perplexity, a powerful tool for finding sources/material for
|
|
48
|
+
generating reports and information.
|
|
49
|
+
|
|
50
|
+
### HTML Extract (n8n-nodes-base.htmlExtract)
|
|
51
|
+
|
|
52
|
+
Purpose: Parses HTML and extracts data using CSS selectors for web scraping
|
|
53
|
+
|
|
54
|
+
Pitfalls:
|
|
55
|
+
|
|
56
|
+
- Some sites use JavaScript to render content, which may not be accessible via simple HTTP requests. Consider using
|
|
57
|
+
browser automation tools or APIs if the HTML appears empty
|
|
58
|
+
- Validate that the CSS selectors match the actual page structure to avoid extraction failures
|
|
59
|
+
|
|
60
|
+
### Split Out (n8n-nodes-base.splitOut)
|
|
61
|
+
|
|
62
|
+
Purpose: Processes lists of items one by one for sequential operations
|
|
63
|
+
|
|
64
|
+
Pitfalls:
|
|
65
|
+
- Can cause performance issues with very large datasets - consider using Split In Batches instead
|
|
66
|
+
|
|
67
|
+
### Loop Over Items (Split in Batches) (n8n-nodes-base.splitInBatches)
|
|
68
|
+
|
|
69
|
+
Purpose: Processes lists of items in batches to manage memory and performance
|
|
70
|
+
|
|
71
|
+
Pitfalls:
|
|
72
|
+
- Ensure proper loop configuration to avoid infinite loops or skipped data. The index 0
|
|
73
|
+
(first connection) of the loop is treated as the done state, while the index 1 (second connection)
|
|
74
|
+
is the connection that loops.
|
|
75
|
+
- Use appropriate batch sizes (e.g., 200 rows) to balance memory usage and performance
|
|
76
|
+
|
|
77
|
+
### Edit Fields (Set) (n8n-nodes-base.set)
|
|
78
|
+
|
|
79
|
+
Purpose: Manipulates data, sets variables for loop control and state management
|
|
80
|
+
|
|
81
|
+
### Code (n8n-nodes-base.code)
|
|
82
|
+
|
|
83
|
+
Purpose: Implements custom logic for complex data transformations or pagination
|
|
84
|
+
|
|
85
|
+
Pitfalls:
|
|
86
|
+
|
|
87
|
+
- Prefer built-in nodes over custom code to reduce memory usage and improve maintainability
|
|
88
|
+
- Avoid processing very large datasets in a single code execution - use batching
|
|
89
|
+
|
|
90
|
+
### If (n8n-nodes-base.if)
|
|
91
|
+
|
|
92
|
+
Purpose: Adds conditional logic for error handling, loop control, or data filtering
|
|
93
|
+
|
|
94
|
+
Pitfalls:
|
|
95
|
+
- Validate expressions carefully to avoid unexpected branching behavior
|
|
96
|
+
|
|
97
|
+
### Wait (n8n-nodes-base.wait)
|
|
98
|
+
|
|
99
|
+
Purpose: Introduces delays to respect rate limits and avoid overloading servers
|
|
100
|
+
|
|
101
|
+
### Data Tables (n8n-nodes-base.dataTable)
|
|
102
|
+
|
|
103
|
+
Purpose: Stores scraped data in n8n's built-in persistent data storage
|
|
104
|
+
|
|
105
|
+
### Google Sheets (n8n-nodes-base.googleSheets)
|
|
106
|
+
|
|
107
|
+
Purpose: Stores scraped data in spreadsheets for easy access and sharing
|
|
108
|
+
|
|
109
|
+
### Microsoft Excel 365 (n8n-nodes-base.microsoftExcel)
|
|
110
|
+
|
|
111
|
+
Purpose: Stores scraped data in Excel files for offline analysis
|
|
112
|
+
|
|
113
|
+
### Airtable (n8n-nodes-base.airtable)
|
|
114
|
+
|
|
115
|
+
Purpose: Saves structured data to a database with rich data types and relationships
|
|
116
|
+
|
|
117
|
+
### AI Agent (@n8n/n8n-nodes-langchain.agent)
|
|
118
|
+
|
|
119
|
+
Purpose: For research, summarization, and advanced data extraction. AI agents can autonomously gather information
|
|
120
|
+
from websites, analyze content, and organize findings into structured formats, integrating tools for web scraping,
|
|
121
|
+
content analysis, and database storage
|
|
122
|
+
|
|
123
|
+
### Scraping Nodes
|
|
124
|
+
|
|
125
|
+
- Phantombuster (n8n-nodes-base.phantombuster)
|
|
126
|
+
- Apify (use HTTP Request or community node)
|
|
127
|
+
- BrightData (use HTTP Request or community node)
|
|
128
|
+
|
|
129
|
+
Purpose: If the user wishes to scrap data from sites like LinkedIn, Facebook, Instagram, Twitter/X, Indeed, Glassdoor
|
|
130
|
+
or any other service similar to these large providers it is better to use a node designed for this. The scraping
|
|
131
|
+
nodes provide access to these datasets while avoiding issues like rate limiting or breaking terms of service for
|
|
132
|
+
sites like these.
|
|
133
|
+
|
|
134
|
+
## Common Pitfalls to Avoid
|
|
135
|
+
|
|
136
|
+
Bad Request Errors: Double-check URL formatting, query parameters, and ensure all required fields are present to
|
|
137
|
+
avoid 400 errors when making HTTP requests.
|
|
138
|
+
|
|
139
|
+
Rate Limits: Use batching and Wait nodes to avoid 429 errors. When the service receives too many requests, implement
|
|
140
|
+
batching to reduce request frequency or use the "Retry on Fail" feature.
|
|
141
|
+
|
|
142
|
+
Memory Issues: Avoid processing very large datasets in a single run; use batching and increase server resources if
|
|
143
|
+
needed. Use Split In Batches node to process 200 rows at a time, leverage built-in nodes instead of custom code, and
|
|
144
|
+
increase execution timeouts via environment variables.
|
|
145
|
+
|
|
146
|
+
Empty or Unexpected Data: Some sites use JavaScript to render content, which may not be accessible via simple HTTP
|
|
147
|
+
requests. Standard HTTP and HTML parsing nodes fail because sites load data asynchronously via JavaScript, leaving the
|
|
148
|
+
initial HTML empty of actual content. Web scraping nodes can be used to avoid this.
|
|
149
|
+
`;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=scraping-and-research.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scraping-and-research.js","sourceRoot":"","sources":["../../../../src/tools/best-practices/guides/scraping-and-research.ts"],"names":[],"mappings":";;AAAA,4CAkJC;AAlJD,SAAgB,gBAAgB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJP,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getDocumentation(): string;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDocumentation = getDocumentation;
|
|
4
|
+
function getDocumentation() {
|
|
5
|
+
return `# Best Practices: Triage Workflows
|
|
6
|
+
|
|
7
|
+
## Workflow Design
|
|
8
|
+
|
|
9
|
+
Triage workflows automatically classify incoming data and route it based on priority or category. Common use cases include sorting support tickets by urgency, categorizing emails for follow-up, or scoring leads for sales routing.
|
|
10
|
+
|
|
11
|
+
Define clear categories and outcomes before building. Design in logical stages:
|
|
12
|
+
|
|
13
|
+
1. **Trigger & Input**: Capture incoming items (webhook, email trigger, form submission, schedule)
|
|
14
|
+
2. **Preprocessing**: Fetch additional data if needed (CRM lookup, field normalization)
|
|
15
|
+
3. **Classification**: Assign categories via rules or AI
|
|
16
|
+
4. **Routing**: Direct items to appropriate branches using Switch node or Text Classifier Node
|
|
17
|
+
5. **Actions**: Execute category-specific tasks (create tasks, send alerts, update records)
|
|
18
|
+
6. **Logging**: Track outcomes for monitoring and analysis
|
|
19
|
+
|
|
20
|
+
Include a default/fallback path to catch unclassified items so data is tracked rather than dropped silently.
|
|
21
|
+
|
|
22
|
+
## Classification Strategies
|
|
23
|
+
|
|
24
|
+
### Rule-Based Classification
|
|
25
|
+
Use IF/Switch nodes for keyword detection, sender addresses, or numeric thresholds. Chain multiple conditions or use Switch for multi-way branching.
|
|
26
|
+
|
|
27
|
+
Example: IF email contains "urgent" -> High Priority branch
|
|
28
|
+
|
|
29
|
+
### AI-Powered Classification
|
|
30
|
+
For unstructured text or nuanced decisions, use AI nodes with clear prompts and defined output labels.
|
|
31
|
+
|
|
32
|
+
Example prompt: "Classify this email as INTERESTED, NOT_INTERESTED, or QUESTION"
|
|
33
|
+
|
|
34
|
+
Best practices:
|
|
35
|
+
- Use structured output format (JSON with specific fields)
|
|
36
|
+
- Set low temperature parameter of the model (0-0.2) for consistency
|
|
37
|
+
- Include few-shot examples of input + classification
|
|
38
|
+
- Implement error handling for unexpected outputs
|
|
39
|
+
|
|
40
|
+
#### Text Classifier Node
|
|
41
|
+
Use the Text Classifier node (@n8n/n8n-nodes-langchain.textClassifier) for straightforward text classification tasks. Configure with predefined category labels and descriptions for accurate results.
|
|
42
|
+
|
|
43
|
+
Example workflow pattern:
|
|
44
|
+
\`\`\`mermaid
|
|
45
|
+
flowchart LR
|
|
46
|
+
A[Webhook Trigger] --> B[Set: Normalize Data]
|
|
47
|
+
B --> C[Text Classifier]
|
|
48
|
+
C --> D{Switch: Route by Category}
|
|
49
|
+
D -->|High Priority| E[Slack: Alert Team]
|
|
50
|
+
D -->|Medium Priority| F[Create Task]
|
|
51
|
+
D -->|Low Priority| G[Log to Sheet]
|
|
52
|
+
D -->|Default| H[Manual Review]
|
|
53
|
+
\`\`\`
|
|
54
|
+
|
|
55
|
+
### Combined Approach
|
|
56
|
+
For robust triage, combine rule-based and AI classification. Use AI Agent node with structured output to assign categories, scores, or tags, then route with Switch nodes.
|
|
57
|
+
When using AI with structured output, always add reasoning field alongside category or score to aid debugging.
|
|
58
|
+
|
|
59
|
+
Example workflow pattern:
|
|
60
|
+
\`\`\`mermaid
|
|
61
|
+
flowchart LR
|
|
62
|
+
A[Email Trigger] --> B[Set: Extract Fields]
|
|
63
|
+
B --> C{IF: Contains Keywords}
|
|
64
|
+
C -->|Yes| D[Set: Rule-based Category]
|
|
65
|
+
C -->|No| E[AI Agent: Classify with Structured Output]
|
|
66
|
+
D --> F[Merge]
|
|
67
|
+
E --> F
|
|
68
|
+
F --> G{Switch: Route by Category}
|
|
69
|
+
G -->|Category A| H[Action A]
|
|
70
|
+
G -->|Category B| I[Action B]
|
|
71
|
+
G -->|Default| J[Manual Review]
|
|
72
|
+
\`\`\`
|
|
73
|
+
|
|
74
|
+
**Structured Output Schema Example:**
|
|
75
|
+
\`\`\`json
|
|
76
|
+
{
|
|
77
|
+
"category": "INTERESTED | NOT_INTERESTED | QUESTION",
|
|
78
|
+
"confidence": 0.95,
|
|
79
|
+
"reasoning": "Customer asked about pricing and availability"
|
|
80
|
+
}
|
|
81
|
+
\`\`\`
|
|
82
|
+
|
|
83
|
+
## Routing & Branching
|
|
84
|
+
|
|
85
|
+
Use Switch node as primary traffic controller:
|
|
86
|
+
- Configure cases for each classification value
|
|
87
|
+
- Always define Default case for unexpected values
|
|
88
|
+
- Each item follows exactly one branch
|
|
89
|
+
|
|
90
|
+
Avoid parallel IF nodes that could match multiple conditions - use Switch node.
|
|
91
|
+
|
|
92
|
+
## Recommended Nodes
|
|
93
|
+
|
|
94
|
+
**IF** (n8n-nodes-base.if):
|
|
95
|
+
- Purpose: Simple binary decisions
|
|
96
|
+
- Use when: Two-way branching based on conditions
|
|
97
|
+
- Example: Check if priority field equals "high"
|
|
98
|
+
|
|
99
|
+
**Switch** (n8n-nodes-base.switch):
|
|
100
|
+
- Purpose: Multi-way branching based on field values
|
|
101
|
+
- Use when: Multiple categories (3+ outcomes)
|
|
102
|
+
- Configure Default output for unmatched items
|
|
103
|
+
|
|
104
|
+
**Merge** (n8n-nodes-base.merge):
|
|
105
|
+
- Purpose: Consolidate branches for unified logging
|
|
106
|
+
- Use after: Category-specific actions before final logging step
|
|
107
|
+
|
|
108
|
+
**Text Classifier** (@n8n/n8n-nodes-langchain.textClassifier):
|
|
109
|
+
- Purpose: AI-powered text classification with predefined labels
|
|
110
|
+
- Use when: Need to assign categories to unstructured text
|
|
111
|
+
- Configure "When No Clear Match" option to output items to "Other" branch
|
|
112
|
+
|
|
113
|
+
**AI Agent** (@n8n/n8n-nodes-langchain.agent):
|
|
114
|
+
- Purpose: Complex classification or scoring requiring multiple steps or tool use
|
|
115
|
+
- Use when: Classification needs context lookup, multi-step reasoning with tools, numerical scoring or other complex outputs
|
|
116
|
+
- Use structured output format (JSON schema)
|
|
117
|
+
|
|
118
|
+
For all AI nodes (Text Classifier, AI Agent):
|
|
119
|
+
- Set low temperature of the model (0-0.2) for consistency
|
|
120
|
+
- Include few-shot examples in prompts
|
|
121
|
+
|
|
122
|
+
## Common Pitfalls to Avoid
|
|
123
|
+
|
|
124
|
+
### No Default Path
|
|
125
|
+
**Problem**: Every Switch must have a Default output. Unmatched items should go to manual review or logging, never drop silently.
|
|
126
|
+
|
|
127
|
+
**Solution**: Always configure Default case to route unclassified items to a fallback action (e.g., manual review queue, admin notification)
|
|
128
|
+
|
|
129
|
+
### No "Other" Branch in Text Classifier
|
|
130
|
+
**Problem**: Items that don't match any category get dropped if "When No Clear Match" isn't set.
|
|
131
|
+
|
|
132
|
+
**Solution**: In Text Classifier node, set "When No Clear Match" to "Output on Extra, 'Other' Branch" to capture unmatched items.
|
|
133
|
+
|
|
134
|
+
### Overlapping Conditions
|
|
135
|
+
**Problem**: Categories must be mutually exclusive. Items matching multiple conditions cause unpredictable routing.
|
|
136
|
+
|
|
137
|
+
**Solution**:
|
|
138
|
+
- Order checks from most specific to general
|
|
139
|
+
- Use Switch with distinct values instead of multiple IF nodes
|
|
140
|
+
`;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=triage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage.js","sourceRoot":"","sources":["../../../../src/tools/best-practices/guides/triage.ts"],"names":[],"mappings":";;AAAA,4CAyIC;AAzID,SAAgB,gBAAgB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuIP,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.documentation = void 0;
|
|
4
|
+
const chatbot_1 = require("./guides/chatbot");
|
|
5
|
+
const content_generation_1 = require("./guides/content-generation");
|
|
6
|
+
const data_extraction_1 = require("./guides/data-extraction");
|
|
7
|
+
const data_persistence_1 = require("./guides/data-persistence");
|
|
8
|
+
const data_transformation_1 = require("./guides/data-transformation");
|
|
9
|
+
const document_processing_1 = require("./guides/document-processing");
|
|
10
|
+
const form_input_1 = require("./guides/form-input");
|
|
11
|
+
const notification_1 = require("./guides/notification");
|
|
12
|
+
const scheduling_1 = require("./guides/scheduling");
|
|
13
|
+
const scraping_and_research_1 = require("./guides/scraping-and-research");
|
|
14
|
+
const triage_1 = require("./guides/triage");
|
|
15
|
+
const techniques_1 = require("./techniques");
|
|
16
|
+
exports.documentation = {
|
|
17
|
+
[techniques_1.WorkflowTechnique.SCRAPING_AND_RESEARCH]: scraping_and_research_1.getDocumentation,
|
|
18
|
+
[techniques_1.WorkflowTechnique.CHATBOT]: chatbot_1.getDocumentation,
|
|
19
|
+
[techniques_1.WorkflowTechnique.CONTENT_GENERATION]: content_generation_1.getDocumentation,
|
|
20
|
+
[techniques_1.WorkflowTechnique.DATA_ANALYSIS]: undefined,
|
|
21
|
+
[techniques_1.WorkflowTechnique.DATA_EXTRACTION]: data_extraction_1.getDocumentation,
|
|
22
|
+
[techniques_1.WorkflowTechnique.DATA_PERSISTENCE]: data_persistence_1.getDocumentation,
|
|
23
|
+
[techniques_1.WorkflowTechnique.DATA_TRANSFORMATION]: data_transformation_1.getDocumentation,
|
|
24
|
+
[techniques_1.WorkflowTechnique.DOCUMENT_PROCESSING]: document_processing_1.getDocumentation,
|
|
25
|
+
[techniques_1.WorkflowTechnique.ENRICHMENT]: undefined,
|
|
26
|
+
[techniques_1.WorkflowTechnique.FORM_INPUT]: form_input_1.getDocumentation,
|
|
27
|
+
[techniques_1.WorkflowTechnique.KNOWLEDGE_BASE]: undefined,
|
|
28
|
+
[techniques_1.WorkflowTechnique.NOTIFICATION]: notification_1.getDocumentation,
|
|
29
|
+
[techniques_1.WorkflowTechnique.TRIAGE]: triage_1.getDocumentation,
|
|
30
|
+
[techniques_1.WorkflowTechnique.HUMAN_IN_THE_LOOP]: undefined,
|
|
31
|
+
[techniques_1.WorkflowTechnique.MONITORING]: undefined,
|
|
32
|
+
[techniques_1.WorkflowTechnique.SCHEDULING]: scheduling_1.getDocumentation,
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/best-practices/index.ts"],"names":[],"mappings":";;;AAAA,8CAAsE;AACtE,oEAA2F;AAC3F,8DAAqF;AACrF,gEAAuF;AACvF,sEAA6F;AAC7F,sEAA6F;AAC7F,oDAA2E;AAC3E,wDAAgF;AAChF,oDAA4E;AAC5E,0EAAgG;AAChG,4CAAoE;AACpE,6CAA6E;AAMhE,QAAA,aAAa,GAA8D;IACvF,CAAC,8BAAiB,CAAC,qBAAqB,CAAC,EAAE,wCAA0B;IACrE,CAAC,8BAAiB,CAAC,OAAO,CAAC,EAAE,0BAAc;IAC3C,CAAC,8BAAiB,CAAC,kBAAkB,CAAC,EAAE,qCAAwB;IAChE,CAAC,8BAAiB,CAAC,aAAa,CAAC,EAAE,SAAS;IAC5C,CAAC,8BAAiB,CAAC,eAAe,CAAC,EAAE,kCAAqB;IAC1D,CAAC,8BAAiB,CAAC,gBAAgB,CAAC,EAAE,mCAAsB;IAC5D,CAAC,8BAAiB,CAAC,mBAAmB,CAAC,EAAE,sCAAyB;IAClE,CAAC,8BAAiB,CAAC,mBAAmB,CAAC,EAAE,sCAAyB;IAClE,CAAC,8BAAiB,CAAC,UAAU,CAAC,EAAE,SAAS;IACzC,CAAC,8BAAiB,CAAC,UAAU,CAAC,EAAE,6BAAgB;IAChD,CAAC,8BAAiB,CAAC,cAAc,CAAC,EAAE,SAAS;IAC7C,CAAC,8BAAiB,CAAC,YAAY,CAAC,EAAE,+BAAmB;IACrD,CAAC,8BAAiB,CAAC,MAAM,CAAC,EAAE,yBAAa;IACzC,CAAC,8BAAiB,CAAC,iBAAiB,CAAC,EAAE,SAAS;IAChD,CAAC,8BAAiB,CAAC,UAAU,CAAC,EAAE,SAAS;IACzC,CAAC,8BAAiB,CAAC,UAAU,CAAC,EAAE,6BAAiB;CACjD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const WorkflowTechnique: {
|
|
2
|
+
readonly SCHEDULING: "scheduling";
|
|
3
|
+
readonly CHATBOT: "chatbot";
|
|
4
|
+
readonly FORM_INPUT: "form_input";
|
|
5
|
+
readonly SCRAPING_AND_RESEARCH: "scraping_and_research";
|
|
6
|
+
readonly MONITORING: "monitoring";
|
|
7
|
+
readonly ENRICHMENT: "enrichment";
|
|
8
|
+
readonly TRIAGE: "triage";
|
|
9
|
+
readonly CONTENT_GENERATION: "content_generation";
|
|
10
|
+
readonly DOCUMENT_PROCESSING: "document_processing";
|
|
11
|
+
readonly DATA_EXTRACTION: "data_extraction";
|
|
12
|
+
readonly DATA_ANALYSIS: "data_analysis";
|
|
13
|
+
readonly DATA_TRANSFORMATION: "data_transformation";
|
|
14
|
+
readonly DATA_PERSISTENCE: "data_persistence";
|
|
15
|
+
readonly NOTIFICATION: "notification";
|
|
16
|
+
readonly KNOWLEDGE_BASE: "knowledge_base";
|
|
17
|
+
readonly HUMAN_IN_THE_LOOP: "human_in_the_loop";
|
|
18
|
+
};
|
|
19
|
+
export type WorkflowTechniqueType = (typeof WorkflowTechnique)[keyof typeof WorkflowTechnique];
|
|
20
|
+
export declare const TechniqueDescription: Record<WorkflowTechniqueType, string>;
|