@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,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.N8nSandboxServiceSandbox = void 0;
|
|
7
|
+
const workspace_1 = require("@mastra/core/workspace");
|
|
8
|
+
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
9
|
+
const node_crypto_1 = require("node:crypto");
|
|
10
|
+
const n8n_sandbox_client_1 = require("./n8n-sandbox-client");
|
|
11
|
+
function shellEscape(value) {
|
|
12
|
+
return /^[A-Za-z0-9_./:=+-]+$/.test(value) ? value : `'${value.replace(/'/g, "'\\''")}'`;
|
|
13
|
+
}
|
|
14
|
+
function toShellCommand(command, args = []) {
|
|
15
|
+
if (args.length === 0)
|
|
16
|
+
return command;
|
|
17
|
+
return [command, ...args.map((arg) => shellEscape(arg))].join(' ');
|
|
18
|
+
}
|
|
19
|
+
class N8nSandboxServiceSandbox extends workspace_1.MastraSandbox {
|
|
20
|
+
options;
|
|
21
|
+
name = 'N8nSandboxServiceSandbox';
|
|
22
|
+
provider = 'n8n-sandbox';
|
|
23
|
+
status = 'pending';
|
|
24
|
+
instanceId = `n8n-sandbox-${(0, node_crypto_1.randomUUID)()}`;
|
|
25
|
+
client;
|
|
26
|
+
sandboxId;
|
|
27
|
+
constructor(options) {
|
|
28
|
+
super({ name: 'N8nSandboxServiceSandbox' });
|
|
29
|
+
this.options = options;
|
|
30
|
+
this.client = new n8n_sandbox_client_1.N8nSandboxClient({
|
|
31
|
+
apiKey: options.apiKey,
|
|
32
|
+
baseUrl: options.serviceUrl,
|
|
33
|
+
});
|
|
34
|
+
this.sandboxId = options.id;
|
|
35
|
+
}
|
|
36
|
+
get id() {
|
|
37
|
+
return this.sandboxId ?? this.instanceId;
|
|
38
|
+
}
|
|
39
|
+
async start() {
|
|
40
|
+
if (this.sandboxId) {
|
|
41
|
+
await this.client.getSandbox(this.sandboxId);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const sandbox = await this.client.createSandbox({
|
|
45
|
+
dockerfile: this.options.dockerfile,
|
|
46
|
+
});
|
|
47
|
+
this.sandboxId = sandbox.id;
|
|
48
|
+
}
|
|
49
|
+
async destroy() {
|
|
50
|
+
if (!this.sandboxId)
|
|
51
|
+
return;
|
|
52
|
+
await this.client.deleteSandbox(this.sandboxId);
|
|
53
|
+
}
|
|
54
|
+
async getInfo() {
|
|
55
|
+
await this.ensureRunning();
|
|
56
|
+
const sandbox = await this.client.getSandbox(this.requireSandboxId());
|
|
57
|
+
return {
|
|
58
|
+
id: sandbox.id,
|
|
59
|
+
name: this.name,
|
|
60
|
+
provider: this.provider,
|
|
61
|
+
status: this.status,
|
|
62
|
+
createdAt: new Date(sandbox.createdAt * 1000),
|
|
63
|
+
lastUsedAt: new Date(sandbox.lastActiveAt * 1000),
|
|
64
|
+
metadata: {
|
|
65
|
+
remoteStatus: sandbox.status,
|
|
66
|
+
imageId: sandbox.imageId,
|
|
67
|
+
remoteProvider: sandbox.provider,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
async executeCommand(command, args = [], options) {
|
|
72
|
+
await this.ensureRunning();
|
|
73
|
+
const result = await this.client.exec(this.requireSandboxId(), {
|
|
74
|
+
command: toShellCommand(command, args),
|
|
75
|
+
env: options?.env,
|
|
76
|
+
workdir: options?.cwd,
|
|
77
|
+
timeoutMs: options?.timeout ?? this.options.timeout,
|
|
78
|
+
abortSignal: options?.abortSignal,
|
|
79
|
+
onStdout: options?.onStdout,
|
|
80
|
+
onStderr: options?.onStderr,
|
|
81
|
+
});
|
|
82
|
+
return {
|
|
83
|
+
command,
|
|
84
|
+
args,
|
|
85
|
+
success: result.success,
|
|
86
|
+
exitCode: result.exitCode,
|
|
87
|
+
stdout: result.stdout,
|
|
88
|
+
stderr: result.stderr,
|
|
89
|
+
executionTimeMs: result.executionTimeMs,
|
|
90
|
+
timedOut: result.timedOut,
|
|
91
|
+
killed: result.killed,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
getClient() {
|
|
95
|
+
return this.client;
|
|
96
|
+
}
|
|
97
|
+
requireSandboxId() {
|
|
98
|
+
(0, strict_1.default)(this.sandboxId, 'Sandbox has not been created yet');
|
|
99
|
+
return this.sandboxId;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.N8nSandboxServiceSandbox = N8nSandboxServiceSandbox;
|
|
103
|
+
//# sourceMappingURL=n8n-sandbox-sandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n8n-sandbox-sandbox.js","sourceRoot":"","sources":["../../src/workspace/n8n-sandbox-sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Workspace } from '@mastra/core/workspace';
|
|
2
|
+
export declare function runInSandbox(workspace: Workspace, command: string, cwd?: string): Promise<{
|
|
3
|
+
exitCode: number;
|
|
4
|
+
stdout: string;
|
|
5
|
+
stderr: string;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function writeFileViaSandbox(workspace: Workspace, filePath: string, content: string): Promise<void>;
|
|
8
|
+
export declare function readFileViaSandbox(workspace: Workspace, filePath: string): Promise<string | null>;
|
|
9
|
+
export declare function escapeSingleQuotes(s: string): string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runInSandbox = runInSandbox;
|
|
4
|
+
exports.writeFileViaSandbox = writeFileViaSandbox;
|
|
5
|
+
exports.readFileViaSandbox = readFileViaSandbox;
|
|
6
|
+
exports.escapeSingleQuotes = escapeSingleQuotes;
|
|
7
|
+
async function runInSandbox(workspace, command, cwd) {
|
|
8
|
+
const sandbox = workspace.sandbox;
|
|
9
|
+
if (!sandbox)
|
|
10
|
+
throw new Error('Workspace has no sandbox');
|
|
11
|
+
if (sandbox.executeCommand) {
|
|
12
|
+
const result = await sandbox.executeCommand(command, [], { cwd });
|
|
13
|
+
return { exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
|
|
14
|
+
}
|
|
15
|
+
if (sandbox.processes) {
|
|
16
|
+
const handle = await sandbox.processes.spawn(command, { cwd });
|
|
17
|
+
const result = await handle.wait();
|
|
18
|
+
return { exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
|
|
19
|
+
}
|
|
20
|
+
throw new Error('Sandbox has neither executeCommand nor processes available');
|
|
21
|
+
}
|
|
22
|
+
async function writeFileViaSandbox(workspace, filePath, content) {
|
|
23
|
+
const dir = filePath.substring(0, filePath.lastIndexOf('/'));
|
|
24
|
+
if (dir) {
|
|
25
|
+
await runInSandbox(workspace, `mkdir -p '${escapeSingleQuotes(dir)}'`);
|
|
26
|
+
}
|
|
27
|
+
const b64 = Buffer.from(content, 'utf-8').toString('base64');
|
|
28
|
+
const cmd = `echo '${b64}' | base64 -d > '${escapeSingleQuotes(filePath)}'`;
|
|
29
|
+
const result = await runInSandbox(workspace, cmd);
|
|
30
|
+
if (result.exitCode !== 0) {
|
|
31
|
+
throw new Error(`Failed to write file ${filePath}: ${result.stderr}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function readFileViaSandbox(workspace, filePath) {
|
|
35
|
+
const result = await runInSandbox(workspace, `cat '${escapeSingleQuotes(filePath)}' 2>/dev/null`);
|
|
36
|
+
if (result.exitCode !== 0)
|
|
37
|
+
return null;
|
|
38
|
+
return result.stdout;
|
|
39
|
+
}
|
|
40
|
+
function escapeSingleQuotes(s) {
|
|
41
|
+
return s.replace(/'/g, "'\\''");
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=sandbox-fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-fs.js","sourceRoot":"","sources":["../../src/workspace/sandbox-fs.ts"],"names":[],"mappings":";;AAkBA,oCAoBC;AAQD,kDAkBC;AAMD,gDAOC;AAMD,gDAEC;AAnEM,KAAK,UAAU,YAAY,CACjC,SAAoB,EACpB,OAAe,EACf,GAAY;IAEZ,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAE1D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC/E,CAAC;AAQM,KAAK,UAAU,mBAAmB,CACxC,SAAoB,EACpB,QAAgB,EAChB,OAAe;IAGf,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,EAAE,CAAC;QACT,MAAM,YAAY,CAAC,SAAS,EAAE,aAAa,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IAGD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,SAAS,GAAG,oBAAoB,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;AACF,CAAC;AAMM,KAAK,UAAU,kBAAkB,CACvC,SAAoB,EACpB,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,QAAQ,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClG,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC;AACtB,CAAC;AAMD,SAAgB,kBAAkB,CAAC,CAAS;IAC3C,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Workspace } from '@mastra/core/workspace';
|
|
2
|
+
import type { InstanceAiContext, SearchableNodeDescription } from '../types';
|
|
3
|
+
export declare const WORKSPACE_DIR = "workspace";
|
|
4
|
+
export declare const N8N_SANDBOX_HOME = "/home/user";
|
|
5
|
+
export declare const N8N_SANDBOX_WORKSPACE_ROOT = "/home/user/workspace";
|
|
6
|
+
export declare const PACKAGE_JSON: string;
|
|
7
|
+
export declare const BUILD_MJS = "const filePath = process.argv[2] || './src/workflow.ts';\ntry {\n const mod = await import(filePath);\n const wf = mod.default;\n if (!wf || typeof wf.toJSON !== 'function') {\n console.log(JSON.stringify({ success: false, errors: ['Default export is not a workflow. Make sure your file has: export default workflow(...)'] }));\n process.exit(1);\n }\n const validation = wf.validate();\n const json = wf.toJSON();\n const warnings = [...(validation.errors || []), ...(validation.warnings || [])];\n // Use a replacer to preserve undefined values as null \u2014 newCredential() produces\n // NewCredentialImpl which serializes to undefined in toJSON(). Without this,\n // JSON.stringify drops the credential keys entirely and the server can't resolve them.\n const replacer = (k, v) => v === undefined ? null : v;\n console.log(JSON.stringify({ success: true, workflow: json, warnings }, replacer));\n} catch (e) {\n console.log(JSON.stringify({ success: false, errors: [e instanceof Error ? e.message : String(e)] }));\n process.exit(1);\n}\n";
|
|
8
|
+
export declare const TSCONFIG_JSON: string;
|
|
9
|
+
export declare function formatNodeCatalogLine(node: SearchableNodeDescription): string;
|
|
10
|
+
export declare function getWorkspaceRoot(workspace: Workspace): Promise<string>;
|
|
11
|
+
export declare function setupSandboxWorkspace(workspace: Workspace, context: InstanceAiContext): Promise<boolean>;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TSCONFIG_JSON = exports.BUILD_MJS = exports.PACKAGE_JSON = exports.N8N_SANDBOX_WORKSPACE_ROOT = exports.N8N_SANDBOX_HOME = exports.WORKSPACE_DIR = void 0;
|
|
4
|
+
exports.formatNodeCatalogLine = formatNodeCatalogLine;
|
|
5
|
+
exports.getWorkspaceRoot = getWorkspaceRoot;
|
|
6
|
+
exports.setupSandboxWorkspace = setupSandboxWorkspace;
|
|
7
|
+
const sandbox_fs_1 = require("./sandbox-fs");
|
|
8
|
+
exports.WORKSPACE_DIR = 'workspace';
|
|
9
|
+
exports.N8N_SANDBOX_HOME = '/home/user';
|
|
10
|
+
exports.N8N_SANDBOX_WORKSPACE_ROOT = `${exports.N8N_SANDBOX_HOME}/${exports.WORKSPACE_DIR}`;
|
|
11
|
+
exports.PACKAGE_JSON = JSON.stringify({
|
|
12
|
+
name: 'sandbox-workspace',
|
|
13
|
+
private: true,
|
|
14
|
+
dependencies: {
|
|
15
|
+
'@n8n/workflow-sdk': '*',
|
|
16
|
+
tsx: '*',
|
|
17
|
+
},
|
|
18
|
+
devDependencies: {
|
|
19
|
+
'@types/node': '*',
|
|
20
|
+
},
|
|
21
|
+
}, null, 2);
|
|
22
|
+
exports.BUILD_MJS = `const filePath = process.argv[2] || './src/workflow.ts';
|
|
23
|
+
try {
|
|
24
|
+
const mod = await import(filePath);
|
|
25
|
+
const wf = mod.default;
|
|
26
|
+
if (!wf || typeof wf.toJSON !== 'function') {
|
|
27
|
+
console.log(JSON.stringify({ success: false, errors: ['Default export is not a workflow. Make sure your file has: export default workflow(...)'] }));
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const validation = wf.validate();
|
|
31
|
+
const json = wf.toJSON();
|
|
32
|
+
const warnings = [...(validation.errors || []), ...(validation.warnings || [])];
|
|
33
|
+
// Use a replacer to preserve undefined values as null — newCredential() produces
|
|
34
|
+
// NewCredentialImpl which serializes to undefined in toJSON(). Without this,
|
|
35
|
+
// JSON.stringify drops the credential keys entirely and the server can't resolve them.
|
|
36
|
+
const replacer = (k, v) => v === undefined ? null : v;
|
|
37
|
+
console.log(JSON.stringify({ success: true, workflow: json, warnings }, replacer));
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.log(JSON.stringify({ success: false, errors: [e instanceof Error ? e.message : String(e)] }));
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
exports.TSCONFIG_JSON = JSON.stringify({
|
|
44
|
+
compilerOptions: {
|
|
45
|
+
strict: true,
|
|
46
|
+
strictNullChecks: false,
|
|
47
|
+
noEmit: true,
|
|
48
|
+
target: 'ES2022',
|
|
49
|
+
module: 'ES2022',
|
|
50
|
+
moduleResolution: 'bundler',
|
|
51
|
+
esModuleInterop: true,
|
|
52
|
+
skipLibCheck: true,
|
|
53
|
+
},
|
|
54
|
+
include: ['src/**/*.ts', 'chunks/**/*.ts'],
|
|
55
|
+
}, null, 2);
|
|
56
|
+
function formatNodeCatalogLine(node) {
|
|
57
|
+
const version = Array.isArray(node.version)
|
|
58
|
+
? `v${node.version[node.version.length - 1]}`
|
|
59
|
+
: `v${node.version}`;
|
|
60
|
+
const parts = [node.name, node.displayName, node.description, version];
|
|
61
|
+
if (node.codex?.alias && node.codex.alias.length > 0) {
|
|
62
|
+
parts.push(`aliases: ${node.codex.alias.join(', ')}`);
|
|
63
|
+
}
|
|
64
|
+
return parts.join(' | ');
|
|
65
|
+
}
|
|
66
|
+
function buildBatchWriteScript(root, files) {
|
|
67
|
+
const lines = ['#!/bin/bash', 'set -e'];
|
|
68
|
+
const dirs = new Set();
|
|
69
|
+
for (const path of files.keys()) {
|
|
70
|
+
const lastSlash = path.lastIndexOf('/');
|
|
71
|
+
if (lastSlash > 0) {
|
|
72
|
+
dirs.add(path.substring(0, lastSlash));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const dirList = [...dirs].map((d) => `'${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/${d}`)}'`).join(' ');
|
|
76
|
+
if (dirList) {
|
|
77
|
+
lines.push(`mkdir -p '${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/src`)}' '${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/chunks`)}' ${dirList}`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
lines.push(`mkdir -p '${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/src`)}' '${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/chunks`)}'`);
|
|
81
|
+
}
|
|
82
|
+
for (const [path, content] of files) {
|
|
83
|
+
const b64 = Buffer.from(content, 'utf-8').toString('base64');
|
|
84
|
+
lines.push(`echo '${b64}' | base64 -d > '${(0, sandbox_fs_1.escapeSingleQuotes)(`${root}/${path}`)}'`);
|
|
85
|
+
}
|
|
86
|
+
return lines.join('\n');
|
|
87
|
+
}
|
|
88
|
+
const workspaceRootCache = new WeakMap();
|
|
89
|
+
async function getWorkspaceRoot(workspace) {
|
|
90
|
+
const cached = workspaceRootCache.get(workspace);
|
|
91
|
+
if (cached)
|
|
92
|
+
return cached;
|
|
93
|
+
const result = await (0, sandbox_fs_1.runInSandbox)(workspace, 'echo $HOME');
|
|
94
|
+
const home = result.stdout.trim() || '/home/daytona';
|
|
95
|
+
const root = `${home}/${exports.WORKSPACE_DIR}`;
|
|
96
|
+
workspaceRootCache.set(workspace, root);
|
|
97
|
+
return root;
|
|
98
|
+
}
|
|
99
|
+
async function setupSandboxWorkspace(workspace, context) {
|
|
100
|
+
const root = await getWorkspaceRoot(workspace);
|
|
101
|
+
const markerFile = `${root}/.sandbox-initialized`;
|
|
102
|
+
const marker = await (0, sandbox_fs_1.readFileViaSandbox)(workspace, markerFile);
|
|
103
|
+
if (marker !== null)
|
|
104
|
+
return false;
|
|
105
|
+
const files = new Map();
|
|
106
|
+
files.set('package.json', exports.PACKAGE_JSON);
|
|
107
|
+
files.set('tsconfig.json', exports.TSCONFIG_JSON);
|
|
108
|
+
files.set('build.mjs', exports.BUILD_MJS);
|
|
109
|
+
const nodeTypes = await context.nodeService.listSearchable();
|
|
110
|
+
const catalogLines = nodeTypes.map(formatNodeCatalogLine);
|
|
111
|
+
files.set('node-types/index.txt', catalogLines.join('\n'));
|
|
112
|
+
try {
|
|
113
|
+
const workflows = await context.workflowService.list({ limit: 100 });
|
|
114
|
+
const results = await Promise.allSettled(workflows.map(async (summary) => {
|
|
115
|
+
const detail = await context.workflowService.get(summary.id);
|
|
116
|
+
return { id: summary.id, json: JSON.stringify(detail, null, 2) };
|
|
117
|
+
}));
|
|
118
|
+
for (const r of results) {
|
|
119
|
+
if (r.status === 'fulfilled') {
|
|
120
|
+
files.set(`workflows/${r.value.id}.json`, r.value.json);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
}
|
|
126
|
+
files.set('.sandbox-initialized', new Date().toISOString());
|
|
127
|
+
const script = buildBatchWriteScript(root, files);
|
|
128
|
+
const scriptB64 = Buffer.from(script, 'utf-8').toString('base64');
|
|
129
|
+
const result = await (0, sandbox_fs_1.runInSandbox)(workspace, `echo '${scriptB64}' | base64 -d | bash`);
|
|
130
|
+
if (result.exitCode !== 0) {
|
|
131
|
+
throw new Error(`Sandbox setup failed: ${result.stderr}`);
|
|
132
|
+
}
|
|
133
|
+
const npmResult = await (0, sandbox_fs_1.runInSandbox)(workspace, 'npm install --ignore-scripts', root);
|
|
134
|
+
if (npmResult.exitCode !== 0) {
|
|
135
|
+
throw new Error(`Sandbox npm install failed: ${npmResult.stderr}`);
|
|
136
|
+
}
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=sandbox-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-setup.js","sourceRoot":"","sources":["../../src/workspace/sandbox-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SnapshotManager = void 0;
|
|
4
|
+
const sdk_1 = require("@daytonaio/sdk");
|
|
5
|
+
const sandbox_setup_1 = require("./sandbox-setup");
|
|
6
|
+
function b64(s) {
|
|
7
|
+
return Buffer.from(s, 'utf-8').toString('base64');
|
|
8
|
+
}
|
|
9
|
+
class SnapshotManager {
|
|
10
|
+
baseImage;
|
|
11
|
+
cachedImage = null;
|
|
12
|
+
constructor(baseImage) {
|
|
13
|
+
this.baseImage = baseImage;
|
|
14
|
+
}
|
|
15
|
+
ensureImage() {
|
|
16
|
+
if (this.cachedImage)
|
|
17
|
+
return this.cachedImage;
|
|
18
|
+
const base = this.baseImage ?? 'daytonaio/sandbox:0.5.0';
|
|
19
|
+
this.cachedImage = sdk_1.Image.base(base)
|
|
20
|
+
.runCommands('mkdir -p /home/daytona/workspace/src /home/daytona/workspace/chunks /home/daytona/workspace/node-types')
|
|
21
|
+
.runCommands(`echo '${b64(sandbox_setup_1.PACKAGE_JSON)}' | base64 -d > /home/daytona/workspace/package.json`, `echo '${b64(sandbox_setup_1.TSCONFIG_JSON)}' | base64 -d > /home/daytona/workspace/tsconfig.json`, `echo '${b64(sandbox_setup_1.BUILD_MJS)}' | base64 -d > /home/daytona/workspace/build.mjs`)
|
|
22
|
+
.runCommands('cd /home/daytona/workspace && npm install --ignore-scripts');
|
|
23
|
+
console.log(`[BuilderImageManager] image built (base: ${base}, dockerfile: ${this.cachedImage.dockerfile.length} chars)`);
|
|
24
|
+
return this.cachedImage;
|
|
25
|
+
}
|
|
26
|
+
invalidate() {
|
|
27
|
+
this.cachedImage = null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.SnapshotManager = SnapshotManager;
|
|
31
|
+
//# sourceMappingURL=snapshot-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-manager.js","sourceRoot":"","sources":["../../src/workspace/snapshot-manager.ts"],"names":[],"mappings":";;;AAYA,wCAAuC;AAEvC,mDAAyE;AAGzE,SAAS,GAAG,CAAC,CAAS;IACrB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED,MAAa,eAAe;IAGE;IAFrB,WAAW,GAAiB,IAAI,CAAC;IAEzC,YAA6B,SAAkB;QAAlB,cAAS,GAAT,SAAS,CAAS;IAAG,CAAC;IAGnD,WAAW;QACV,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,yBAAyB,CAAC;QAEzD,IAAI,CAAC,WAAW,GAAG,WAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aACjC,WAAW,CACX,wGAAwG,CACxG;aACA,WAAW,CACX,SAAS,GAAG,CAAC,4BAAY,CAAC,sDAAsD,EAChF,SAAS,GAAG,CAAC,6BAAa,CAAC,uDAAuD,EAClF,SAAS,GAAG,CAAC,yBAAS,CAAC,mDAAmD,CAC1E;aACA,WAAW,CAAC,4DAA4D,CAAC,CAAC;QAE5E,OAAO,CAAC,GAAG,CACV,4CAA4C,IAAI,iBAAiB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,SAAS,CAC5G,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAGD,UAAU;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;CACD;AAjCD,0CAiCC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@n8n/instance-ai",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"module": "src/index.ts",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/**/*"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"require": "./dist/index.js",
|
|
13
|
+
"import": "./src/index.ts",
|
|
14
|
+
"types": "./dist/index.d.ts"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@daytonaio/sdk": "0.149.0",
|
|
19
|
+
"@joplin/turndown-plugin-gfm": "^1.0.12",
|
|
20
|
+
"@mastra/core": "1.9.0",
|
|
21
|
+
"@mastra/daytona": "0.1.0",
|
|
22
|
+
"@mastra/mcp": "1.0.3",
|
|
23
|
+
"@mastra/memory": "1.6.0",
|
|
24
|
+
"langsmith": "0.4.12",
|
|
25
|
+
"@mozilla/readability": "^0.6.0",
|
|
26
|
+
"linkedom": "^0.18.9",
|
|
27
|
+
"luxon": "3.7.2",
|
|
28
|
+
"nanoid": "3.3.8",
|
|
29
|
+
"pdf-parse": "^1.1.1",
|
|
30
|
+
"turndown": "^7.2.0",
|
|
31
|
+
"zod": "3.25.67",
|
|
32
|
+
"@ai-sdk/provider-v5": "npm:@ai-sdk/provider@2.0.0",
|
|
33
|
+
"zod-from-json-schema-v3": "npm:zod-from-json-schema@^0.0.5",
|
|
34
|
+
"@n8n/api-types": "1.15.0",
|
|
35
|
+
"@n8n/utils": "1.26.0",
|
|
36
|
+
"@n8n/workflow-sdk": "0.8.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@ai-sdk/anthropic": "2.0.61",
|
|
40
|
+
"@types/luxon": "3.2.0",
|
|
41
|
+
"@types/turndown": "^5.0.5",
|
|
42
|
+
"@n8n/typescript-config": "1.3.0"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"clean": "rimraf dist .turbo",
|
|
46
|
+
"typecheck": "tsc --noEmit",
|
|
47
|
+
"build": "tsc -p ./tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|
|
48
|
+
"format": "biome format --write src",
|
|
49
|
+
"format:check": "biome ci src",
|
|
50
|
+
"test": "jest",
|
|
51
|
+
"lint": "eslint . --quiet",
|
|
52
|
+
"lint:fix": "eslint . --fix"
|
|
53
|
+
}
|
|
54
|
+
}
|