@flowdot.ai/mcp-server 1.0.3 → 1.0.5
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 +45 -21
- package/README.md +439 -162
- package/bin/flowdot-mcp.js +15 -15
- package/dist/api-client.d.ts +0 -6
- package/dist/api-client.js +0 -6
- package/dist/index.d.ts +0 -23
- package/dist/index.js +0 -24
- package/dist/resources/index.d.ts +1 -11
- package/dist/resources/index.js +2882 -2127
- package/dist/server.d.ts +0 -12
- package/dist/server.js +23 -21
- package/dist/tools/add-connection.d.ts +2 -8
- package/dist/tools/add-connection.js +0 -6
- package/dist/tools/add-custom-node-comment.d.ts +2 -9
- package/dist/tools/add-custom-node-comment.js +0 -7
- package/dist/tools/add-node.d.ts +2 -8
- package/dist/tools/add-node.js +0 -6
- package/dist/tools/add-recipe-step.d.ts +3 -9
- package/dist/tools/add-recipe-step.js +95 -101
- package/dist/tools/add-recipe-store.d.ts +2 -8
- package/dist/tools/add-recipe-store.js +30 -36
- package/dist/tools/add-shared-result-comment.d.ts +2 -8
- package/dist/tools/add-shared-result-comment.js +0 -7
- package/dist/tools/add-workflow-comment.d.ts +2 -8
- package/dist/tools/add-workflow-comment.js +0 -7
- package/dist/tools/agent-chat.d.ts +2 -8
- package/dist/tools/agent-chat.js +0 -10
- package/dist/tools/agent-toolkits.d.ts +3 -10
- package/dist/tools/agent-toolkits.js +294 -336
- package/dist/tools/append-app-code.d.ts +2 -10
- package/dist/tools/append-app-code.js +27 -35
- package/dist/tools/browse-recipes.d.ts +2 -8
- package/dist/tools/browse-recipes.js +0 -7
- package/dist/tools/cancel-execution.d.ts +2 -8
- package/dist/tools/cancel-execution.js +0 -7
- package/dist/tools/clone-app.d.ts +2 -9
- package/dist/tools/clone-app.js +20 -27
- package/dist/tools/copy-custom-node.d.ts +2 -9
- package/dist/tools/copy-custom-node.js +0 -7
- package/dist/tools/create-app-file.d.ts +2 -9
- package/dist/tools/create-app-file.js +18 -25
- package/dist/tools/create-app.d.ts +2 -9
- package/dist/tools/create-app.js +123 -130
- package/dist/tools/create-custom-node.d.ts +3 -10
- package/dist/tools/create-custom-node.js +66 -75
- package/dist/tools/create-input-preset.d.ts +2 -8
- package/dist/tools/create-input-preset.js +0 -7
- package/dist/tools/create-knowledge-category.d.ts +2 -9
- package/dist/tools/create-knowledge-category.js +0 -7
- package/dist/tools/create-recipe.d.ts +2 -8
- package/dist/tools/create-recipe.js +21 -27
- package/dist/tools/create-shared-result.d.ts +2 -8
- package/dist/tools/create-shared-result.js +0 -6
- package/dist/tools/create-workflow.d.ts +2 -8
- package/dist/tools/create-workflow.js +0 -6
- package/dist/tools/delete-app-file.d.ts +2 -9
- package/dist/tools/delete-app-file.js +9 -16
- package/dist/tools/delete-app.d.ts +2 -9
- package/dist/tools/delete-app.js +3 -10
- package/dist/tools/delete-connection.d.ts +2 -8
- package/dist/tools/delete-connection.js +0 -7
- package/dist/tools/delete-custom-node.d.ts +2 -9
- package/dist/tools/delete-custom-node.js +0 -7
- package/dist/tools/delete-input-preset.d.ts +2 -8
- package/dist/tools/delete-input-preset.js +0 -6
- package/dist/tools/delete-knowledge-category.d.ts +2 -8
- package/dist/tools/delete-knowledge-category.js +0 -6
- package/dist/tools/delete-knowledge-document.d.ts +2 -8
- package/dist/tools/delete-knowledge-document.js +0 -6
- package/dist/tools/delete-node.d.ts +2 -8
- package/dist/tools/delete-node.js +0 -7
- package/dist/tools/delete-recipe-step.d.ts +2 -8
- package/dist/tools/delete-recipe-step.js +2 -8
- package/dist/tools/delete-recipe-store.d.ts +2 -8
- package/dist/tools/delete-recipe-store.js +2 -8
- package/dist/tools/delete-recipe.d.ts +2 -8
- package/dist/tools/delete-recipe.js +0 -6
- package/dist/tools/delete-workflow.d.ts +2 -8
- package/dist/tools/delete-workflow.js +0 -7
- package/dist/tools/duplicate-workflow.d.ts +2 -8
- package/dist/tools/duplicate-workflow.js +0 -6
- package/dist/tools/edit-app-code.d.ts +2 -10
- package/dist/tools/edit-app-code.js +34 -43
- package/dist/tools/execute-workflow.d.ts +2 -8
- package/dist/tools/execute-workflow.js +0 -11
- package/dist/tools/favorite-custom-node.d.ts +2 -9
- package/dist/tools/favorite-custom-node.js +0 -8
- package/dist/tools/favorite-recipe.d.ts +2 -8
- package/dist/tools/favorite-recipe.js +2 -8
- package/dist/tools/favorite-workflow.d.ts +2 -8
- package/dist/tools/favorite-workflow.js +0 -7
- package/dist/tools/fork-recipe.d.ts +2 -8
- package/dist/tools/fork-recipe.js +7 -13
- package/dist/tools/get-app-file.d.ts +2 -9
- package/dist/tools/get-app-file.js +20 -28
- package/dist/tools/get-app-template.d.ts +1 -8
- package/dist/tools/get-app-template.js +827 -834
- package/dist/tools/get-app.d.ts +2 -9
- package/dist/tools/get-app.js +54 -66
- package/dist/tools/get-custom-node-comments.d.ts +2 -9
- package/dist/tools/get-custom-node-comments.js +0 -7
- package/dist/tools/get-custom-node-template.d.ts +1 -8
- package/dist/tools/get-custom-node-template.js +60 -73
- package/dist/tools/get-custom-node.d.ts +2 -9
- package/dist/tools/get-custom-node.js +0 -12
- package/dist/tools/get-execution-history.d.ts +2 -8
- package/dist/tools/get-execution-history.js +0 -7
- package/dist/tools/get-execution.d.ts +2 -8
- package/dist/tools/get-execution.js +0 -7
- package/dist/tools/get-input-preset.d.ts +2 -8
- package/dist/tools/get-input-preset.js +0 -7
- package/dist/tools/get-knowledge-document-content.d.ts +6 -0
- package/dist/tools/get-knowledge-document-content.js +42 -0
- package/dist/tools/get-knowledge-document.d.ts +2 -8
- package/dist/tools/get-knowledge-document.js +0 -6
- package/dist/tools/get-knowledge-storage.d.ts +2 -8
- package/dist/tools/get-knowledge-storage.js +0 -7
- package/dist/tools/get-node-connections.d.ts +2 -8
- package/dist/tools/get-node-connections.js +0 -7
- package/dist/tools/get-node-schema.d.ts +2 -8
- package/dist/tools/get-node-schema.js +0 -13
- package/dist/tools/get-public-workflows.d.ts +2 -8
- package/dist/tools/get-public-workflows.js +0 -7
- package/dist/tools/get-recipe-definition.d.ts +2 -10
- package/dist/tools/get-recipe-definition.js +1 -10
- package/dist/tools/get-recipe.d.ts +2 -8
- package/dist/tools/get-recipe.js +10 -19
- package/dist/tools/get-shared-result-comments.d.ts +2 -8
- package/dist/tools/get-shared-result-comments.js +0 -6
- package/dist/tools/get-shared-result.d.ts +2 -8
- package/dist/tools/get-shared-result.js +0 -8
- package/dist/tools/get-workflow-comments.d.ts +2 -8
- package/dist/tools/get-workflow-comments.js +0 -7
- package/dist/tools/get-workflow-details.d.ts +2 -8
- package/dist/tools/get-workflow-details.js +0 -8
- package/dist/tools/get-workflow-graph.d.ts +2 -8
- package/dist/tools/get-workflow-graph.js +1 -10
- package/dist/tools/get-workflow-inputs-schema.d.ts +2 -8
- package/dist/tools/get-workflow-inputs-schema.js +0 -7
- package/dist/tools/get-workflow-metrics.d.ts +2 -8
- package/dist/tools/get-workflow-metrics.js +1 -9
- package/dist/tools/get-workflow-public-url.d.ts +2 -8
- package/dist/tools/get-workflow-public-url.js +0 -6
- package/dist/tools/get-workflow-tags.d.ts +2 -8
- package/dist/tools/get-workflow-tags.js +0 -7
- package/dist/tools/index.d.ts +2 -11
- package/dist/tools/index.js +12 -139
- package/dist/tools/insert-app-code.d.ts +2 -10
- package/dist/tools/insert-app-code.js +35 -43
- package/dist/tools/link-app-workflow.d.ts +2 -9
- package/dist/tools/link-app-workflow.js +21 -28
- package/dist/tools/link-recipe.d.ts +2 -8
- package/dist/tools/link-recipe.js +18 -24
- package/dist/tools/list-app-files.d.ts +2 -9
- package/dist/tools/list-app-files.js +10 -20
- package/dist/tools/list-apps.d.ts +2 -9
- package/dist/tools/list-apps.js +8 -15
- package/dist/tools/list-available-nodes.d.ts +2 -8
- package/dist/tools/list-available-nodes.js +0 -13
- package/dist/tools/list-custom-nodes.d.ts +2 -9
- package/dist/tools/list-custom-nodes.js +0 -7
- package/dist/tools/list-input-presets.d.ts +2 -8
- package/dist/tools/list-input-presets.js +0 -7
- package/dist/tools/list-knowledge-categories.d.ts +2 -9
- package/dist/tools/list-knowledge-categories.js +0 -11
- package/dist/tools/list-knowledge-documents.d.ts +2 -9
- package/dist/tools/list-knowledge-documents.js +0 -10
- package/dist/tools/list-recipe-steps.d.ts +2 -8
- package/dist/tools/list-recipe-steps.js +1 -8
- package/dist/tools/list-recipe-stores.d.ts +2 -8
- package/dist/tools/list-recipe-stores.js +0 -6
- package/dist/tools/list-recipes.d.ts +2 -8
- package/dist/tools/list-recipes.js +22 -31
- package/dist/tools/list-shared-results.d.ts +2 -8
- package/dist/tools/list-shared-results.js +0 -6
- package/dist/tools/list-user-teams.d.ts +2 -9
- package/dist/tools/list-user-teams.js +0 -7
- package/dist/tools/list-workflows.d.ts +2 -8
- package/dist/tools/list-workflows.js +0 -8
- package/dist/tools/move-document-to-category.d.ts +2 -8
- package/dist/tools/move-document-to-category.js +0 -6
- package/dist/tools/patch-knowledge-document-section.d.ts +8 -0
- package/dist/tools/patch-knowledge-document-section.js +47 -0
- package/dist/tools/prepend-app-code.d.ts +2 -10
- package/dist/tools/prepend-app-code.js +23 -31
- package/dist/tools/publish-app.d.ts +2 -9
- package/dist/tools/publish-app.js +7 -14
- package/dist/tools/query-knowledge-base.d.ts +2 -9
- package/dist/tools/query-knowledge-base.js +1 -15
- package/dist/tools/rename-app-file.d.ts +2 -9
- package/dist/tools/rename-app-file.js +16 -23
- package/dist/tools/reprocess-document.d.ts +2 -8
- package/dist/tools/reprocess-document.js +0 -6
- package/dist/tools/retry-execution.d.ts +2 -8
- package/dist/tools/retry-execution.js +0 -6
- package/dist/tools/search-apps.d.ts +2 -9
- package/dist/tools/search-apps.js +13 -20
- package/dist/tools/search-public-custom-nodes.d.ts +2 -9
- package/dist/tools/search-public-custom-nodes.js +0 -7
- package/dist/tools/search-workflows.d.ts +2 -8
- package/dist/tools/search-workflows.js +0 -8
- package/dist/tools/search.d.ts +2 -8
- package/dist/tools/search.js +1 -7
- package/dist/tools/set-app-entry-file.d.ts +2 -9
- package/dist/tools/set-app-entry-file.js +13 -20
- package/dist/tools/set-workflow-tags.d.ts +2 -8
- package/dist/tools/set-workflow-tags.js +0 -7
- package/dist/tools/stream-execution.d.ts +2 -9
- package/dist/tools/stream-execution.js +0 -8
- package/dist/tools/toggle-community-inputs.d.ts +2 -8
- package/dist/tools/toggle-community-inputs.js +0 -6
- package/dist/tools/toggle-custom-node-visibility.d.ts +2 -9
- package/dist/tools/toggle-custom-node-visibility.js +0 -8
- package/dist/tools/toggle-workflow-public.d.ts +2 -8
- package/dist/tools/toggle-workflow-public.js +0 -7
- package/dist/tools/transfer-document-ownership.d.ts +2 -9
- package/dist/tools/transfer-document-ownership.js +0 -7
- package/dist/tools/unlink-app-workflow.d.ts +2 -9
- package/dist/tools/unlink-app-workflow.js +2 -9
- package/dist/tools/unpublish-app.d.ts +2 -9
- package/dist/tools/unpublish-app.js +2 -9
- package/dist/tools/update-app-file.d.ts +2 -9
- package/dist/tools/update-app-file.js +15 -22
- package/dist/tools/update-app.d.ts +2 -9
- package/dist/tools/update-app.js +14 -21
- package/dist/tools/update-custom-node.d.ts +3 -10
- package/dist/tools/update-custom-node.js +11 -24
- package/dist/tools/update-input-preset.d.ts +2 -8
- package/dist/tools/update-input-preset.js +0 -7
- package/dist/tools/update-knowledge-category.d.ts +2 -8
- package/dist/tools/update-knowledge-category.js +0 -6
- package/dist/tools/update-knowledge-document-content.d.ts +7 -0
- package/dist/tools/update-knowledge-document-content.js +42 -0
- package/dist/tools/update-node.d.ts +2 -8
- package/dist/tools/update-node.js +0 -7
- package/dist/tools/update-recipe-step.d.ts +2 -8
- package/dist/tools/update-recipe-step.js +6 -12
- package/dist/tools/update-recipe-store.d.ts +2 -8
- package/dist/tools/update-recipe-store.js +5 -11
- package/dist/tools/update-recipe.d.ts +2 -8
- package/dist/tools/update-recipe.js +14 -20
- package/dist/tools/upload-document-from-url.d.ts +2 -9
- package/dist/tools/upload-document-from-url.js +0 -7
- package/dist/tools/upload-text-document.d.ts +2 -9
- package/dist/tools/upload-text-document.js +0 -7
- package/dist/tools/validate-workflow.d.ts +2 -8
- package/dist/tools/validate-workflow.js +0 -8
- package/dist/tools/vote-custom-node.d.ts +2 -9
- package/dist/tools/vote-custom-node.js +0 -7
- package/dist/tools/vote-input-preset.d.ts +2 -8
- package/dist/tools/vote-input-preset.js +0 -6
- package/dist/tools/vote-recipe.d.ts +2 -8
- package/dist/tools/vote-recipe.js +2 -8
- package/dist/tools/vote-shared-result.d.ts +2 -8
- package/dist/tools/vote-shared-result.js +0 -6
- package/dist/tools/vote-workflow.d.ts +2 -8
- package/dist/tools/vote-workflow.js +0 -6
- package/dist/types.d.ts +0 -6
- package/dist/types.js +0 -6
- package/dist/utils/script-validator.d.ts +1 -18
- package/dist/utils/script-validator.js +5 -44
- package/package.json +81 -62
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/resources/index.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/tools/add-connection.d.ts.map +0 -1
- package/dist/tools/add-connection.js.map +0 -1
- package/dist/tools/add-custom-node-comment.d.ts.map +0 -1
- package/dist/tools/add-custom-node-comment.js.map +0 -1
- package/dist/tools/add-node.d.ts.map +0 -1
- package/dist/tools/add-node.js.map +0 -1
- package/dist/tools/add-recipe-step.d.ts.map +0 -1
- package/dist/tools/add-recipe-step.js.map +0 -1
- package/dist/tools/add-recipe-store.d.ts.map +0 -1
- package/dist/tools/add-recipe-store.js.map +0 -1
- package/dist/tools/add-shared-result-comment.d.ts.map +0 -1
- package/dist/tools/add-shared-result-comment.js.map +0 -1
- package/dist/tools/add-workflow-comment.d.ts.map +0 -1
- package/dist/tools/add-workflow-comment.js.map +0 -1
- package/dist/tools/agent-chat.d.ts.map +0 -1
- package/dist/tools/agent-chat.js.map +0 -1
- package/dist/tools/agent-toolkits.d.ts.map +0 -1
- package/dist/tools/agent-toolkits.js.map +0 -1
- package/dist/tools/append-app-code.d.ts.map +0 -1
- package/dist/tools/append-app-code.js.map +0 -1
- package/dist/tools/browse-recipes.d.ts.map +0 -1
- package/dist/tools/browse-recipes.js.map +0 -1
- package/dist/tools/cancel-execution.d.ts.map +0 -1
- package/dist/tools/cancel-execution.js.map +0 -1
- package/dist/tools/clone-app.d.ts.map +0 -1
- package/dist/tools/clone-app.js.map +0 -1
- package/dist/tools/copy-custom-node.d.ts.map +0 -1
- package/dist/tools/copy-custom-node.js.map +0 -1
- package/dist/tools/create-app-file.d.ts.map +0 -1
- package/dist/tools/create-app-file.js.map +0 -1
- package/dist/tools/create-app.d.ts.map +0 -1
- package/dist/tools/create-app.js.map +0 -1
- package/dist/tools/create-custom-node.d.ts.map +0 -1
- package/dist/tools/create-custom-node.js.map +0 -1
- package/dist/tools/create-input-preset.d.ts.map +0 -1
- package/dist/tools/create-input-preset.js.map +0 -1
- package/dist/tools/create-knowledge-category.d.ts.map +0 -1
- package/dist/tools/create-knowledge-category.js.map +0 -1
- package/dist/tools/create-recipe.d.ts.map +0 -1
- package/dist/tools/create-recipe.js.map +0 -1
- package/dist/tools/create-shared-result.d.ts.map +0 -1
- package/dist/tools/create-shared-result.js.map +0 -1
- package/dist/tools/create-workflow.d.ts.map +0 -1
- package/dist/tools/create-workflow.js.map +0 -1
- package/dist/tools/delete-app-file.d.ts.map +0 -1
- package/dist/tools/delete-app-file.js.map +0 -1
- package/dist/tools/delete-app.d.ts.map +0 -1
- package/dist/tools/delete-app.js.map +0 -1
- package/dist/tools/delete-connection.d.ts.map +0 -1
- package/dist/tools/delete-connection.js.map +0 -1
- package/dist/tools/delete-custom-node.d.ts.map +0 -1
- package/dist/tools/delete-custom-node.js.map +0 -1
- package/dist/tools/delete-input-preset.d.ts.map +0 -1
- package/dist/tools/delete-input-preset.js.map +0 -1
- package/dist/tools/delete-knowledge-category.d.ts.map +0 -1
- package/dist/tools/delete-knowledge-category.js.map +0 -1
- package/dist/tools/delete-knowledge-document.d.ts.map +0 -1
- package/dist/tools/delete-knowledge-document.js.map +0 -1
- package/dist/tools/delete-node.d.ts.map +0 -1
- package/dist/tools/delete-node.js.map +0 -1
- package/dist/tools/delete-recipe-step.d.ts.map +0 -1
- package/dist/tools/delete-recipe-step.js.map +0 -1
- package/dist/tools/delete-recipe-store.d.ts.map +0 -1
- package/dist/tools/delete-recipe-store.js.map +0 -1
- package/dist/tools/delete-recipe.d.ts.map +0 -1
- package/dist/tools/delete-recipe.js.map +0 -1
- package/dist/tools/delete-workflow.d.ts.map +0 -1
- package/dist/tools/delete-workflow.js.map +0 -1
- package/dist/tools/duplicate-workflow.d.ts.map +0 -1
- package/dist/tools/duplicate-workflow.js.map +0 -1
- package/dist/tools/edit-app-code.d.ts.map +0 -1
- package/dist/tools/edit-app-code.js.map +0 -1
- package/dist/tools/execute-workflow.d.ts.map +0 -1
- package/dist/tools/execute-workflow.js.map +0 -1
- package/dist/tools/favorite-custom-node.d.ts.map +0 -1
- package/dist/tools/favorite-custom-node.js.map +0 -1
- package/dist/tools/favorite-recipe.d.ts.map +0 -1
- package/dist/tools/favorite-recipe.js.map +0 -1
- package/dist/tools/favorite-workflow.d.ts.map +0 -1
- package/dist/tools/favorite-workflow.js.map +0 -1
- package/dist/tools/fork-recipe.d.ts.map +0 -1
- package/dist/tools/fork-recipe.js.map +0 -1
- package/dist/tools/get-app-file.d.ts.map +0 -1
- package/dist/tools/get-app-file.js.map +0 -1
- package/dist/tools/get-app-template.d.ts.map +0 -1
- package/dist/tools/get-app-template.js.map +0 -1
- package/dist/tools/get-app.d.ts.map +0 -1
- package/dist/tools/get-app.js.map +0 -1
- package/dist/tools/get-custom-node-comments.d.ts.map +0 -1
- package/dist/tools/get-custom-node-comments.js.map +0 -1
- package/dist/tools/get-custom-node-template.d.ts.map +0 -1
- package/dist/tools/get-custom-node-template.js.map +0 -1
- package/dist/tools/get-custom-node.d.ts.map +0 -1
- package/dist/tools/get-custom-node.js.map +0 -1
- package/dist/tools/get-execution-history.d.ts.map +0 -1
- package/dist/tools/get-execution-history.js.map +0 -1
- package/dist/tools/get-execution.d.ts.map +0 -1
- package/dist/tools/get-execution.js.map +0 -1
- package/dist/tools/get-input-preset.d.ts.map +0 -1
- package/dist/tools/get-input-preset.js.map +0 -1
- package/dist/tools/get-knowledge-document.d.ts.map +0 -1
- package/dist/tools/get-knowledge-document.js.map +0 -1
- package/dist/tools/get-knowledge-storage.d.ts.map +0 -1
- package/dist/tools/get-knowledge-storage.js.map +0 -1
- package/dist/tools/get-node-connections.d.ts.map +0 -1
- package/dist/tools/get-node-connections.js.map +0 -1
- package/dist/tools/get-node-schema.d.ts.map +0 -1
- package/dist/tools/get-node-schema.js.map +0 -1
- package/dist/tools/get-public-workflows.d.ts.map +0 -1
- package/dist/tools/get-public-workflows.js.map +0 -1
- package/dist/tools/get-recipe-definition.d.ts.map +0 -1
- package/dist/tools/get-recipe-definition.js.map +0 -1
- package/dist/tools/get-recipe.d.ts.map +0 -1
- package/dist/tools/get-recipe.js.map +0 -1
- package/dist/tools/get-shared-result-comments.d.ts.map +0 -1
- package/dist/tools/get-shared-result-comments.js.map +0 -1
- package/dist/tools/get-shared-result.d.ts.map +0 -1
- package/dist/tools/get-shared-result.js.map +0 -1
- package/dist/tools/get-workflow-comments.d.ts.map +0 -1
- package/dist/tools/get-workflow-comments.js.map +0 -1
- package/dist/tools/get-workflow-details.d.ts.map +0 -1
- package/dist/tools/get-workflow-details.js.map +0 -1
- package/dist/tools/get-workflow-graph.d.ts.map +0 -1
- package/dist/tools/get-workflow-graph.js.map +0 -1
- package/dist/tools/get-workflow-inputs-schema.d.ts.map +0 -1
- package/dist/tools/get-workflow-inputs-schema.js.map +0 -1
- package/dist/tools/get-workflow-metrics.d.ts.map +0 -1
- package/dist/tools/get-workflow-metrics.js.map +0 -1
- package/dist/tools/get-workflow-public-url.d.ts.map +0 -1
- package/dist/tools/get-workflow-public-url.js.map +0 -1
- package/dist/tools/get-workflow-tags.d.ts.map +0 -1
- package/dist/tools/get-workflow-tags.js.map +0 -1
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/insert-app-code.d.ts.map +0 -1
- package/dist/tools/insert-app-code.js.map +0 -1
- package/dist/tools/link-app-workflow.d.ts.map +0 -1
- package/dist/tools/link-app-workflow.js.map +0 -1
- package/dist/tools/link-recipe.d.ts.map +0 -1
- package/dist/tools/link-recipe.js.map +0 -1
- package/dist/tools/list-app-files.d.ts.map +0 -1
- package/dist/tools/list-app-files.js.map +0 -1
- package/dist/tools/list-apps.d.ts.map +0 -1
- package/dist/tools/list-apps.js.map +0 -1
- package/dist/tools/list-available-nodes.d.ts.map +0 -1
- package/dist/tools/list-available-nodes.js.map +0 -1
- package/dist/tools/list-custom-nodes.d.ts.map +0 -1
- package/dist/tools/list-custom-nodes.js.map +0 -1
- package/dist/tools/list-input-presets.d.ts.map +0 -1
- package/dist/tools/list-input-presets.js.map +0 -1
- package/dist/tools/list-knowledge-categories.d.ts.map +0 -1
- package/dist/tools/list-knowledge-categories.js.map +0 -1
- package/dist/tools/list-knowledge-documents.d.ts.map +0 -1
- package/dist/tools/list-knowledge-documents.js.map +0 -1
- package/dist/tools/list-recipe-steps.d.ts.map +0 -1
- package/dist/tools/list-recipe-steps.js.map +0 -1
- package/dist/tools/list-recipe-stores.d.ts.map +0 -1
- package/dist/tools/list-recipe-stores.js.map +0 -1
- package/dist/tools/list-recipes.d.ts.map +0 -1
- package/dist/tools/list-recipes.js.map +0 -1
- package/dist/tools/list-shared-results.d.ts.map +0 -1
- package/dist/tools/list-shared-results.js.map +0 -1
- package/dist/tools/list-user-teams.d.ts.map +0 -1
- package/dist/tools/list-user-teams.js.map +0 -1
- package/dist/tools/list-workflows.d.ts.map +0 -1
- package/dist/tools/list-workflows.js.map +0 -1
- package/dist/tools/move-document-to-category.d.ts.map +0 -1
- package/dist/tools/move-document-to-category.js.map +0 -1
- package/dist/tools/prepend-app-code.d.ts.map +0 -1
- package/dist/tools/prepend-app-code.js.map +0 -1
- package/dist/tools/publish-app.d.ts.map +0 -1
- package/dist/tools/publish-app.js.map +0 -1
- package/dist/tools/query-knowledge-base.d.ts.map +0 -1
- package/dist/tools/query-knowledge-base.js.map +0 -1
- package/dist/tools/rename-app-file.d.ts.map +0 -1
- package/dist/tools/rename-app-file.js.map +0 -1
- package/dist/tools/reprocess-document.d.ts.map +0 -1
- package/dist/tools/reprocess-document.js.map +0 -1
- package/dist/tools/retry-execution.d.ts.map +0 -1
- package/dist/tools/retry-execution.js.map +0 -1
- package/dist/tools/search-apps.d.ts.map +0 -1
- package/dist/tools/search-apps.js.map +0 -1
- package/dist/tools/search-public-custom-nodes.d.ts.map +0 -1
- package/dist/tools/search-public-custom-nodes.js.map +0 -1
- package/dist/tools/search-workflows.d.ts.map +0 -1
- package/dist/tools/search-workflows.js.map +0 -1
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/set-app-entry-file.d.ts.map +0 -1
- package/dist/tools/set-app-entry-file.js.map +0 -1
- package/dist/tools/set-workflow-tags.d.ts.map +0 -1
- package/dist/tools/set-workflow-tags.js.map +0 -1
- package/dist/tools/stream-execution.d.ts.map +0 -1
- package/dist/tools/stream-execution.js.map +0 -1
- package/dist/tools/toggle-community-inputs.d.ts.map +0 -1
- package/dist/tools/toggle-community-inputs.js.map +0 -1
- package/dist/tools/toggle-custom-node-visibility.d.ts.map +0 -1
- package/dist/tools/toggle-custom-node-visibility.js.map +0 -1
- package/dist/tools/toggle-workflow-public.d.ts.map +0 -1
- package/dist/tools/toggle-workflow-public.js.map +0 -1
- package/dist/tools/transfer-document-ownership.d.ts.map +0 -1
- package/dist/tools/transfer-document-ownership.js.map +0 -1
- package/dist/tools/unlink-app-workflow.d.ts.map +0 -1
- package/dist/tools/unlink-app-workflow.js.map +0 -1
- package/dist/tools/unpublish-app.d.ts.map +0 -1
- package/dist/tools/unpublish-app.js.map +0 -1
- package/dist/tools/update-app-file.d.ts.map +0 -1
- package/dist/tools/update-app-file.js.map +0 -1
- package/dist/tools/update-app.d.ts.map +0 -1
- package/dist/tools/update-app.js.map +0 -1
- package/dist/tools/update-custom-node.d.ts.map +0 -1
- package/dist/tools/update-custom-node.js.map +0 -1
- package/dist/tools/update-input-preset.d.ts.map +0 -1
- package/dist/tools/update-input-preset.js.map +0 -1
- package/dist/tools/update-knowledge-category.d.ts.map +0 -1
- package/dist/tools/update-knowledge-category.js.map +0 -1
- package/dist/tools/update-node.d.ts.map +0 -1
- package/dist/tools/update-node.js.map +0 -1
- package/dist/tools/update-recipe-step.d.ts.map +0 -1
- package/dist/tools/update-recipe-step.js.map +0 -1
- package/dist/tools/update-recipe-store.d.ts.map +0 -1
- package/dist/tools/update-recipe-store.js.map +0 -1
- package/dist/tools/update-recipe.d.ts.map +0 -1
- package/dist/tools/update-recipe.js.map +0 -1
- package/dist/tools/upload-document-from-url.d.ts.map +0 -1
- package/dist/tools/upload-document-from-url.js.map +0 -1
- package/dist/tools/upload-text-document.d.ts.map +0 -1
- package/dist/tools/upload-text-document.js.map +0 -1
- package/dist/tools/validate-workflow.d.ts.map +0 -1
- package/dist/tools/validate-workflow.js.map +0 -1
- package/dist/tools/vote-custom-node.d.ts.map +0 -1
- package/dist/tools/vote-custom-node.js.map +0 -1
- package/dist/tools/vote-input-preset.d.ts.map +0 -1
- package/dist/tools/vote-input-preset.js.map +0 -1
- package/dist/tools/vote-recipe.d.ts.map +0 -1
- package/dist/tools/vote-recipe.js.map +0 -1
- package/dist/tools/vote-shared-result.d.ts.map +0 -1
- package/dist/tools/vote-shared-result.js.map +0 -1
- package/dist/tools/vote-workflow.d.ts.map +0 -1
- package/dist/tools/vote-workflow.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/script-validator.d.ts.map +0 -1
- package/dist/utils/script-validator.js.map +0 -1
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Appends content to the end of app code.
|
|
5
|
-
* Use this to add new functions, components, or closing code.
|
|
6
|
-
* Required scope: apps:manage
|
|
7
|
-
*/
|
|
8
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
10
3
|
export declare const appendAppCodeTool: Tool;
|
|
11
4
|
export declare function handleAppendAppCode(client: FlowDotApiClient, args: Record<string, unknown>): Promise<CallToolResult>;
|
|
12
|
-
//# sourceMappingURL=append-app-code.d.ts.map
|
|
@@ -1,33 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* append_app_code Tool
|
|
3
|
-
*
|
|
4
|
-
* Appends content to the end of app code.
|
|
5
|
-
* Use this to add new functions, components, or closing code.
|
|
6
|
-
* Required scope: apps:manage
|
|
7
|
-
*/
|
|
8
1
|
export const appendAppCodeTool = {
|
|
9
2
|
name: 'append_app_code',
|
|
10
|
-
description: `Appends content to the end of app code.
|
|
11
|
-
|
|
12
|
-
CRITICAL: Remember export rules:
|
|
13
|
-
- App entry file MUST end with: export default MyAppName;
|
|
14
|
-
- When appending, content goes AFTER the closing brace but BEFORE the export
|
|
15
|
-
- Use insert_app_code if you need to place code before the export statement
|
|
16
|
-
|
|
17
|
-
Use this tool when you need to:
|
|
18
|
-
- Add helper functions after the main component
|
|
19
|
-
- Add additional components at the end
|
|
20
|
-
- Build app code incrementally by adding sections
|
|
21
|
-
|
|
22
|
-
WORKFLOW FOR BUILDING LARGE APPS:
|
|
23
|
-
1. Create app: create_app(name: "MyApp")
|
|
24
|
-
2. Set main component skeleton: update_app(code: "function MyApp() { ... } export default MyApp;")
|
|
25
|
-
3. Use insert_app_code to add helper functions BEFORE the export
|
|
26
|
-
|
|
27
|
-
Example usage:
|
|
28
|
-
- If file ends with "export default MyApp;", use insert_app_code instead
|
|
29
|
-
- Or use edit_app_code to replace content before the export
|
|
30
|
-
|
|
3
|
+
description: `Appends content to the end of app code.
|
|
4
|
+
|
|
5
|
+
CRITICAL: Remember export rules:
|
|
6
|
+
- App entry file MUST end with: export default MyAppName;
|
|
7
|
+
- When appending, content goes AFTER the closing brace but BEFORE the export
|
|
8
|
+
- Use insert_app_code if you need to place code before the export statement
|
|
9
|
+
|
|
10
|
+
Use this tool when you need to:
|
|
11
|
+
- Add helper functions after the main component
|
|
12
|
+
- Add additional components at the end
|
|
13
|
+
- Build app code incrementally by adding sections
|
|
14
|
+
|
|
15
|
+
WORKFLOW FOR BUILDING LARGE APPS:
|
|
16
|
+
1. Create app: create_app(name: "MyApp")
|
|
17
|
+
2. Set main component skeleton: update_app(code: "function MyApp() { ... } export default MyApp;")
|
|
18
|
+
3. Use insert_app_code to add helper functions BEFORE the export
|
|
19
|
+
|
|
20
|
+
Example usage:
|
|
21
|
+
- If file ends with "export default MyApp;", use insert_app_code instead
|
|
22
|
+
- Or use edit_app_code to replace content before the export
|
|
23
|
+
|
|
31
24
|
Max code size: 102KB`,
|
|
32
25
|
inputSchema: {
|
|
33
26
|
type: 'object',
|
|
@@ -62,12 +55,12 @@ export async function handleAppendAppCode(client, args) {
|
|
|
62
55
|
return {
|
|
63
56
|
content: [{
|
|
64
57
|
type: 'text',
|
|
65
|
-
text: `Content appended to app code successfully!
|
|
66
|
-
|
|
67
|
-
App ID: ${result.id}
|
|
68
|
-
Field: ${result.field}
|
|
69
|
-
Previous size: ${result.previous_length} bytes
|
|
70
|
-
New size: ${result.new_length} bytes (+${sizeDiff} bytes)
|
|
58
|
+
text: `Content appended to app code successfully!
|
|
59
|
+
|
|
60
|
+
App ID: ${result.id}
|
|
61
|
+
Field: ${result.field}
|
|
62
|
+
Previous size: ${result.previous_length} bytes
|
|
63
|
+
New size: ${result.new_length} bytes (+${sizeDiff} bytes)
|
|
71
64
|
Updated at: ${result.updated_at}`,
|
|
72
65
|
}],
|
|
73
66
|
};
|
|
@@ -80,4 +73,3 @@ Updated at: ${result.updated_at}`,
|
|
|
80
73
|
};
|
|
81
74
|
}
|
|
82
75
|
}
|
|
83
|
-
//# sourceMappingURL=append-app-code.js.map
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Browse public agent recipes shared by other users.
|
|
5
|
-
*/
|
|
6
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
8
3
|
export declare const browseRecipesTool: Tool;
|
|
9
4
|
export declare function handleBrowseRecipes(api: FlowDotApiClient, args: {
|
|
10
5
|
search?: string;
|
|
@@ -13,4 +8,3 @@ export declare function handleBrowseRecipes(api: FlowDotApiClient, args: {
|
|
|
13
8
|
sort?: 'popular' | 'recent' | 'most_forked';
|
|
14
9
|
page?: number;
|
|
15
10
|
}): Promise<CallToolResult>;
|
|
16
|
-
//# sourceMappingURL=browse-recipes.d.ts.map
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* browse_recipes MCP Tool
|
|
3
|
-
*
|
|
4
|
-
* Browse public agent recipes shared by other users.
|
|
5
|
-
*/
|
|
6
1
|
export const browseRecipesTool = {
|
|
7
2
|
name: 'browse_recipes',
|
|
8
3
|
description: 'Browse public agent recipes shared by other users. Search by name, category, or tags.',
|
|
@@ -57,7 +52,6 @@ export async function handleBrowseRecipes(api, args) {
|
|
|
57
52
|
],
|
|
58
53
|
};
|
|
59
54
|
}
|
|
60
|
-
// Format as a readable list
|
|
61
55
|
const recipeList = recipes
|
|
62
56
|
.filter((r) => r && typeof r === 'object')
|
|
63
57
|
.map((r) => {
|
|
@@ -99,4 +93,3 @@ export async function handleBrowseRecipes(api, args) {
|
|
|
99
93
|
};
|
|
100
94
|
}
|
|
101
95
|
}
|
|
102
|
-
//# sourceMappingURL=browse-recipes.js.map
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Cancels a running workflow execution.
|
|
5
|
-
*/
|
|
6
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
7
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
8
3
|
export declare const cancelExecutionTool: Tool;
|
|
9
4
|
export declare function handleCancelExecution(api: FlowDotApiClient, args: {
|
|
10
5
|
execution_id: string;
|
|
11
6
|
}): Promise<CallToolResult>;
|
|
12
|
-
//# sourceMappingURL=cancel-execution.d.ts.map
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* cancel_execution MCP Tool
|
|
3
|
-
*
|
|
4
|
-
* Cancels a running workflow execution.
|
|
5
|
-
*/
|
|
6
1
|
export const cancelExecutionTool = {
|
|
7
2
|
name: 'cancel_execution',
|
|
8
3
|
description: 'Cancel a running workflow execution. Only works on executions with status "running" or "pending".',
|
|
@@ -19,7 +14,6 @@ export const cancelExecutionTool = {
|
|
|
19
14
|
};
|
|
20
15
|
export async function handleCancelExecution(api, args) {
|
|
21
16
|
try {
|
|
22
|
-
// API may return undefined (no data wrapper) or { message: "..." }
|
|
23
17
|
const result = await api.cancelExecution(args.execution_id);
|
|
24
18
|
const message = result?.message || `Execution ${args.execution_id} has been cancelled.`;
|
|
25
19
|
return {
|
|
@@ -34,4 +28,3 @@ export async function handleCancelExecution(api, args) {
|
|
|
34
28
|
};
|
|
35
29
|
}
|
|
36
30
|
}
|
|
37
|
-
//# sourceMappingURL=cancel-execution.js.map
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Clone a public app to your library.
|
|
5
|
-
* Required scope: apps:manage
|
|
6
|
-
*/
|
|
7
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
9
3
|
export declare const cloneAppTool: Tool;
|
|
10
4
|
export declare function handleCloneApp(client: FlowDotApiClient, args: Record<string, unknown>): Promise<CallToolResult>;
|
|
11
|
-
//# sourceMappingURL=clone-app.d.ts.map
|
package/dist/tools/clone-app.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* clone_app Tool
|
|
3
|
-
*
|
|
4
|
-
* Clone a public app to your library.
|
|
5
|
-
* Required scope: apps:manage
|
|
6
|
-
*/
|
|
7
1
|
export const cloneAppTool = {
|
|
8
2
|
name: 'clone_app',
|
|
9
|
-
description: `Clone a public app to your library. Creates a private copy that you can customize.
|
|
10
|
-
|
|
11
|
-
The cloned app will:
|
|
12
|
-
- Be owned by you
|
|
13
|
-
- Start as private (not published)
|
|
14
|
-
- Have all the original code and configuration
|
|
3
|
+
description: `Clone a public app to your library. Creates a private copy that you can customize.
|
|
4
|
+
|
|
5
|
+
The cloned app will:
|
|
6
|
+
- Be owned by you
|
|
7
|
+
- Start as private (not published)
|
|
8
|
+
- Have all the original code and configuration
|
|
15
9
|
- Not include linked workflows (you'll need to link your own)`,
|
|
16
10
|
inputSchema: {
|
|
17
11
|
type: 'object',
|
|
@@ -33,20 +27,20 @@ export async function handleCloneApp(client, args) {
|
|
|
33
27
|
const appId = String(args.app_id);
|
|
34
28
|
const name = args.name ? String(args.name) : undefined;
|
|
35
29
|
const result = await client.cloneApp(appId, name);
|
|
36
|
-
const text = `App cloned successfully!
|
|
37
|
-
|
|
38
|
-
**New App ID:** ${result.id}
|
|
39
|
-
**Name:** ${result.name}
|
|
40
|
-
**Original App:** ${result.original_app_id}
|
|
41
|
-
**Created:** ${result.created_at}
|
|
42
|
-
|
|
43
|
-
## Next Steps
|
|
44
|
-
|
|
45
|
-
1. **Link your workflows** - The cloned app doesn't include workflow links.
|
|
46
|
-
Use link_app_workflow to connect your own workflows.
|
|
47
|
-
|
|
48
|
-
2. **Customize the code** - Use update_app to modify the React code.
|
|
49
|
-
|
|
30
|
+
const text = `App cloned successfully!
|
|
31
|
+
|
|
32
|
+
**New App ID:** ${result.id}
|
|
33
|
+
**Name:** ${result.name}
|
|
34
|
+
**Original App:** ${result.original_app_id}
|
|
35
|
+
**Created:** ${result.created_at}
|
|
36
|
+
|
|
37
|
+
## Next Steps
|
|
38
|
+
|
|
39
|
+
1. **Link your workflows** - The cloned app doesn't include workflow links.
|
|
40
|
+
Use link_app_workflow to connect your own workflows.
|
|
41
|
+
|
|
42
|
+
2. **Customize the code** - Use update_app to modify the React code.
|
|
43
|
+
|
|
50
44
|
3. **Test and publish** - When ready, use publish_app to make it public.`;
|
|
51
45
|
return {
|
|
52
46
|
content: [{ type: 'text', text }],
|
|
@@ -60,4 +54,3 @@ export async function handleCloneApp(client, args) {
|
|
|
60
54
|
};
|
|
61
55
|
}
|
|
62
56
|
}
|
|
63
|
-
//# sourceMappingURL=clone-app.js.map
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Copy a public custom node to your library.
|
|
5
|
-
* Scope: custom_nodes:manage
|
|
6
|
-
*/
|
|
7
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
9
3
|
export declare const copyCustomNodeTool: Tool;
|
|
10
4
|
export declare function handleCopyCustomNode(api: FlowDotApiClient, args: {
|
|
11
5
|
node_id: string;
|
|
12
6
|
name?: string;
|
|
13
7
|
}): Promise<CallToolResult>;
|
|
14
|
-
//# sourceMappingURL=copy-custom-node.d.ts.map
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* copy_custom_node MCP Tool
|
|
3
|
-
*
|
|
4
|
-
* Copy a public custom node to your library.
|
|
5
|
-
* Scope: custom_nodes:manage
|
|
6
|
-
*/
|
|
7
1
|
export const copyCustomNodeTool = {
|
|
8
2
|
name: 'copy_custom_node',
|
|
9
3
|
description: 'Copy a public custom node to your library. The copy will be private by default.',
|
|
@@ -47,4 +41,3 @@ export async function handleCopyCustomNode(api, args) {
|
|
|
47
41
|
};
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
|
-
//# sourceMappingURL=copy-custom-node.js.map
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Create a new file in a multi-file FlowDot app.
|
|
5
|
-
* Required scope: apps:manage
|
|
6
|
-
*/
|
|
7
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
9
3
|
export declare const createAppFileTool: Tool;
|
|
10
4
|
export declare function handleCreateAppFile(client: FlowDotApiClient, args: Record<string, unknown>): Promise<CallToolResult>;
|
|
11
|
-
//# sourceMappingURL=create-app-file.d.ts.map
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* create_app_file Tool
|
|
3
|
-
*
|
|
4
|
-
* Create a new file in a multi-file FlowDot app.
|
|
5
|
-
* Required scope: apps:manage
|
|
6
|
-
*/
|
|
7
1
|
export const createAppFileTool = {
|
|
8
2
|
name: 'create_app_file',
|
|
9
|
-
description: `Create a new file in a multi-file FlowDot app.
|
|
10
|
-
|
|
11
|
-
Creates a new file with the specified path and content.
|
|
12
|
-
|
|
13
|
-
File constraints:
|
|
14
|
-
- Max file size: 100KB per file
|
|
15
|
-
- Max total app size: 512KB across all files
|
|
16
|
-
- Allowed extensions: jsx, js, tsx, ts, css, json, md
|
|
17
|
-
- No path traversal (../) allowed
|
|
3
|
+
description: `Create a new file in a multi-file FlowDot app.
|
|
4
|
+
|
|
5
|
+
Creates a new file with the specified path and content.
|
|
6
|
+
|
|
7
|
+
File constraints:
|
|
8
|
+
- Max file size: 100KB per file
|
|
9
|
+
- Max total app size: 512KB across all files
|
|
10
|
+
- Allowed extensions: jsx, js, tsx, ts, css, json, md
|
|
11
|
+
- No path traversal (../) allowed
|
|
18
12
|
- No hidden files (starting with .)`,
|
|
19
13
|
inputSchema: {
|
|
20
14
|
type: 'object',
|
|
@@ -58,15 +52,15 @@ export async function handleCreateAppFile(client, args) {
|
|
|
58
52
|
input.is_entry = args.is_entry;
|
|
59
53
|
}
|
|
60
54
|
const result = await client.createAppFile(appId, input);
|
|
61
|
-
const text = `# File Created Successfully
|
|
62
|
-
|
|
63
|
-
**Path:** ${result.path}
|
|
64
|
-
**Type:** ${result.type}
|
|
65
|
-
**Entry Point:** ${result.is_entry ? 'Yes' : 'No'}
|
|
66
|
-
**Created:** ${result.created_at}
|
|
67
|
-
|
|
68
|
-
The file has been added to app ${appId}.
|
|
69
|
-
|
|
55
|
+
const text = `# File Created Successfully
|
|
56
|
+
|
|
57
|
+
**Path:** ${result.path}
|
|
58
|
+
**Type:** ${result.type}
|
|
59
|
+
**Entry Point:** ${result.is_entry ? 'Yes' : 'No'}
|
|
60
|
+
**Created:** ${result.created_at}
|
|
61
|
+
|
|
62
|
+
The file has been added to app ${appId}.
|
|
63
|
+
|
|
70
64
|
${result.is_entry ? 'This file is now the entry point for the app.' : ''}`;
|
|
71
65
|
return {
|
|
72
66
|
content: [{ type: 'text', text }],
|
|
@@ -80,4 +74,3 @@ ${result.is_entry ? 'This file is now the entry point for the app.' : ''}`;
|
|
|
80
74
|
};
|
|
81
75
|
}
|
|
82
76
|
}
|
|
83
|
-
//# sourceMappingURL=create-app-file.js.map
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Create a new FlowDot app.
|
|
5
|
-
* Required scope: apps:manage
|
|
6
|
-
*/
|
|
7
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
9
3
|
export declare const createAppTool: Tool;
|
|
10
4
|
export declare function handleCreateApp(client: FlowDotApiClient, args: Record<string, unknown>): Promise<CallToolResult>;
|
|
11
|
-
//# sourceMappingURL=create-app.d.ts.map
|
package/dist/tools/create-app.js
CHANGED
|
@@ -1,77 +1,71 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* create_app Tool
|
|
3
|
-
*
|
|
4
|
-
* Create a new FlowDot app.
|
|
5
|
-
* Required scope: apps:manage
|
|
6
|
-
*/
|
|
7
1
|
export const createAppTool = {
|
|
8
2
|
name: 'create_app',
|
|
9
|
-
description: `Create a new FlowDot app. Apps are React frontend applications that can optionally use workflows as backends.
|
|
10
|
-
|
|
11
|
-
All apps are multi-file by default. When created, an initial App.jsx entry file is automatically generated.
|
|
12
|
-
Use create_app_file, update_app_file, and other file tools to manage additional files.
|
|
13
|
-
|
|
14
|
-
## EXECUTION ENVIRONMENT
|
|
15
|
-
Apps run in a sandboxed browser iframe with:
|
|
16
|
-
- React 18 (global - use React.useState, React.useEffect, etc.)
|
|
17
|
-
- Tailwind CSS (full utility classes available)
|
|
18
|
-
- FlowDot color tokens: primary-50 to primary-900 (sage green), secondary-50 to secondary-900 (warm orange)
|
|
19
|
-
|
|
20
|
-
## CRITICAL CODE RULES
|
|
21
|
-
1. NO IMPORTS - React is global, just use React.useState(), React.useEffect(), etc.
|
|
22
|
-
2. MUST include export default at the end: export default MyAppName;
|
|
23
|
-
3. Function must be named: function MyAppName() { ... }
|
|
24
|
-
4. Use Tailwind CSS for ALL styling (no inline style objects, no CSS-in-JS)
|
|
25
|
-
5. NO FORM ELEMENTS - Never use <form> tags (sandbox blocks form submissions)
|
|
26
|
-
6. ALL BUTTONS need type="button" to prevent unwanted form submission behavior
|
|
27
|
-
|
|
28
|
-
## IMPORTANT: NO FORM ELEMENTS
|
|
29
|
-
The sandbox does not allow form submissions. NEVER use <form> tags.
|
|
30
|
-
|
|
31
|
-
❌ WRONG:
|
|
32
|
-
<form onSubmit={handleSubmit}>
|
|
33
|
-
<button type="submit">Submit</button>
|
|
34
|
-
</form>
|
|
35
|
-
|
|
36
|
-
✅ CORRECT:
|
|
37
|
-
<div>
|
|
38
|
-
<input onKeyDown={(e) => e.key === 'Enter' && handleClick()} />
|
|
39
|
-
<button type="button" onClick={handleClick}>Submit</button>
|
|
40
|
-
</div>
|
|
41
|
-
|
|
42
|
-
## BUTTON BEST PRACTICES
|
|
43
|
-
Always add type="button" to prevent default form behavior:
|
|
44
|
-
<button type="button" onClick={handleClick}>Click Me</button>
|
|
45
|
-
|
|
46
|
-
## DISPLAY MODES
|
|
47
|
-
Apps can be configured to display in three modes via config.displayMode:
|
|
48
|
-
- "windowed": Standard view with FlowDot header (default)
|
|
49
|
-
- "fullscreen": Full viewport, minimal floating control bar
|
|
50
|
-
- "embedded": No FlowDot UI, for iframe embedding
|
|
51
|
-
|
|
52
|
-
## WORKFLOW INTEGRATION
|
|
53
|
-
Apps can invoke linked workflows using: await invokeWorkflow('workflow-hash', { inputName: value })
|
|
54
|
-
|
|
55
|
-
## WORKFLOW RESPONSE STRUCTURE
|
|
56
|
-
invokeWorkflow returns: { success: boolean, data: { [nodeId]: NodeOutput } }
|
|
57
|
-
|
|
58
|
-
Each NodeOutput has:
|
|
59
|
-
- nodeId, nodeTitle, nodeType
|
|
60
|
-
- outputs: { [socketName]: { value, metadata } }
|
|
61
|
-
|
|
62
|
-
IMPORTANT: Use this helper to extract outputs safely:
|
|
63
|
-
const getNodeOutput = (result, nodeTitle, socketName = 'Consolidated Text') => {
|
|
64
|
-
if (!result?.data) return null;
|
|
65
|
-
const node = Object.values(result.data).find(n => n.nodeTitle === nodeTitle);
|
|
66
|
-
return node?.outputs?.[socketName]?.value;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
Example:
|
|
70
|
-
const result = await invokeWorkflow('hash', { input });
|
|
71
|
-
const data = getNodeOutput(result, 'Output Node');
|
|
72
|
-
if (data) { /* use data */ }
|
|
73
|
-
|
|
74
|
-
After creating an app, use link_app_workflow to connect workflows that the app can invoke.
|
|
3
|
+
description: `Create a new FlowDot app. Apps are React frontend applications that can optionally use workflows as backends.
|
|
4
|
+
|
|
5
|
+
All apps are multi-file by default. When created, an initial App.jsx entry file is automatically generated.
|
|
6
|
+
Use create_app_file, update_app_file, and other file tools to manage additional files.
|
|
7
|
+
|
|
8
|
+
## EXECUTION ENVIRONMENT
|
|
9
|
+
Apps run in a sandboxed browser iframe with:
|
|
10
|
+
- React 18 (global - use React.useState, React.useEffect, etc.)
|
|
11
|
+
- Tailwind CSS (full utility classes available)
|
|
12
|
+
- FlowDot color tokens: primary-50 to primary-900 (sage green), secondary-50 to secondary-900 (warm orange)
|
|
13
|
+
|
|
14
|
+
## CRITICAL CODE RULES
|
|
15
|
+
1. NO IMPORTS - React is global, just use React.useState(), React.useEffect(), etc.
|
|
16
|
+
2. MUST include export default at the end: export default MyAppName;
|
|
17
|
+
3. Function must be named: function MyAppName() { ... }
|
|
18
|
+
4. Use Tailwind CSS for ALL styling (no inline style objects, no CSS-in-JS)
|
|
19
|
+
5. NO FORM ELEMENTS - Never use <form> tags (sandbox blocks form submissions)
|
|
20
|
+
6. ALL BUTTONS need type="button" to prevent unwanted form submission behavior
|
|
21
|
+
|
|
22
|
+
## IMPORTANT: NO FORM ELEMENTS
|
|
23
|
+
The sandbox does not allow form submissions. NEVER use <form> tags.
|
|
24
|
+
|
|
25
|
+
❌ WRONG:
|
|
26
|
+
<form onSubmit={handleSubmit}>
|
|
27
|
+
<button type="submit">Submit</button>
|
|
28
|
+
</form>
|
|
29
|
+
|
|
30
|
+
✅ CORRECT:
|
|
31
|
+
<div>
|
|
32
|
+
<input onKeyDown={(e) => e.key === 'Enter' && handleClick()} />
|
|
33
|
+
<button type="button" onClick={handleClick}>Submit</button>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
## BUTTON BEST PRACTICES
|
|
37
|
+
Always add type="button" to prevent default form behavior:
|
|
38
|
+
<button type="button" onClick={handleClick}>Click Me</button>
|
|
39
|
+
|
|
40
|
+
## DISPLAY MODES
|
|
41
|
+
Apps can be configured to display in three modes via config.displayMode:
|
|
42
|
+
- "windowed": Standard view with FlowDot header (default)
|
|
43
|
+
- "fullscreen": Full viewport, minimal floating control bar
|
|
44
|
+
- "embedded": No FlowDot UI, for iframe embedding
|
|
45
|
+
|
|
46
|
+
## WORKFLOW INTEGRATION
|
|
47
|
+
Apps can invoke linked workflows using: await invokeWorkflow('workflow-hash', { inputName: value })
|
|
48
|
+
|
|
49
|
+
## WORKFLOW RESPONSE STRUCTURE
|
|
50
|
+
invokeWorkflow returns: { success: boolean, data: { [nodeId]: NodeOutput } }
|
|
51
|
+
|
|
52
|
+
Each NodeOutput has:
|
|
53
|
+
- nodeId, nodeTitle, nodeType
|
|
54
|
+
- outputs: { [socketName]: { value, metadata } }
|
|
55
|
+
|
|
56
|
+
IMPORTANT: Use this helper to extract outputs safely:
|
|
57
|
+
const getNodeOutput = (result, nodeTitle, socketName = 'Consolidated Text') => {
|
|
58
|
+
if (!result?.data) return null;
|
|
59
|
+
const node = Object.values(result.data).find(n => n.nodeTitle === nodeTitle);
|
|
60
|
+
return node?.outputs?.[socketName]?.value;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
Example:
|
|
64
|
+
const result = await invokeWorkflow('hash', { input });
|
|
65
|
+
const data = getNodeOutput(result, 'Output Node');
|
|
66
|
+
if (data) { /* use data */ }
|
|
67
|
+
|
|
68
|
+
After creating an app, use link_app_workflow to connect workflows that the app can invoke.
|
|
75
69
|
Use get_app_template to see example code and patterns.`,
|
|
76
70
|
inputSchema: {
|
|
77
71
|
type: 'object',
|
|
@@ -127,63 +121,63 @@ export async function handleCreateApp(client, args) {
|
|
|
127
121
|
if (typeof args.mobile_compatible === 'boolean')
|
|
128
122
|
input.mobile_compatible = args.mobile_compatible;
|
|
129
123
|
const result = await client.createApp(input);
|
|
130
|
-
const text = `App created successfully!
|
|
131
|
-
|
|
132
|
-
**Name:** ${result.name}
|
|
133
|
-
**ID:** ${result.id}
|
|
134
|
-
**Created:** ${result.created_at}
|
|
135
|
-
**Entry File:** App.jsx (automatically created)
|
|
136
|
-
|
|
137
|
-
## Next Steps
|
|
138
|
-
|
|
139
|
-
1. **Edit entry file**:
|
|
140
|
-
Use update_app_file or update_app to modify the App.jsx code.
|
|
141
|
-
|
|
142
|
-
2. **Add more files**:
|
|
143
|
-
Use create_app_file to add components, utilities, or other files.
|
|
144
|
-
|
|
145
|
-
3. **Link workflows**:
|
|
146
|
-
Use link_app_workflow to connect workflows that the app can invoke:
|
|
147
|
-
\`link_app_workflow(app_id: "${result.id}", workflow_hash: "YOUR_WORKFLOW_HASH")\`
|
|
148
|
-
|
|
149
|
-
4. **Test locally**:
|
|
150
|
-
Preview your app in the FlowDot UI at https://flowdot.ai/apps/${result.id}
|
|
151
|
-
|
|
152
|
-
5. **Publish**:
|
|
153
|
-
When ready, use publish_app to make it public:
|
|
154
|
-
\`publish_app(app_id: "${result.id}")\`
|
|
155
|
-
|
|
156
|
-
## Example Code Structure
|
|
157
|
-
|
|
158
|
-
\`\`\`jsx
|
|
159
|
-
function MyApp() {
|
|
160
|
-
const [result, setResult] = React.useState(null);
|
|
161
|
-
const [loading, setLoading] = React.useState(false);
|
|
162
|
-
const [error, setError] = React.useState(null);
|
|
163
|
-
|
|
164
|
-
const handleSubmit = async (input) => {
|
|
165
|
-
setLoading(true);
|
|
166
|
-
setError(null);
|
|
167
|
-
try {
|
|
168
|
-
const output = await invokeWorkflow('YOUR_WORKFLOW_HASH', { input });
|
|
169
|
-
setResult(output);
|
|
170
|
-
} catch (err) {
|
|
171
|
-
setError(err.message || 'Something went wrong');
|
|
172
|
-
} finally {
|
|
173
|
-
setLoading(false);
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
return (
|
|
178
|
-
<div className="min-h-screen bg-gray-50 p-6">
|
|
179
|
-
<h1 className="text-2xl font-bold mb-4">${result.name}</h1>
|
|
180
|
-
{error && <div className="text-red-600 mb-4">{error}</div>}
|
|
181
|
-
{/* Your UI here using Tailwind classes */}
|
|
182
|
-
</div>
|
|
183
|
-
);
|
|
184
|
-
}
|
|
185
|
-
\`\`\`
|
|
186
|
-
|
|
124
|
+
const text = `App created successfully!
|
|
125
|
+
|
|
126
|
+
**Name:** ${result.name}
|
|
127
|
+
**ID:** ${result.id}
|
|
128
|
+
**Created:** ${result.created_at}
|
|
129
|
+
**Entry File:** App.jsx (automatically created)
|
|
130
|
+
|
|
131
|
+
## Next Steps
|
|
132
|
+
|
|
133
|
+
1. **Edit entry file**:
|
|
134
|
+
Use update_app_file or update_app to modify the App.jsx code.
|
|
135
|
+
|
|
136
|
+
2. **Add more files**:
|
|
137
|
+
Use create_app_file to add components, utilities, or other files.
|
|
138
|
+
|
|
139
|
+
3. **Link workflows**:
|
|
140
|
+
Use link_app_workflow to connect workflows that the app can invoke:
|
|
141
|
+
\`link_app_workflow(app_id: "${result.id}", workflow_hash: "YOUR_WORKFLOW_HASH")\`
|
|
142
|
+
|
|
143
|
+
4. **Test locally**:
|
|
144
|
+
Preview your app in the FlowDot UI at https://flowdot.ai/apps/${result.id}
|
|
145
|
+
|
|
146
|
+
5. **Publish**:
|
|
147
|
+
When ready, use publish_app to make it public:
|
|
148
|
+
\`publish_app(app_id: "${result.id}")\`
|
|
149
|
+
|
|
150
|
+
## Example Code Structure
|
|
151
|
+
|
|
152
|
+
\`\`\`jsx
|
|
153
|
+
function MyApp() {
|
|
154
|
+
const [result, setResult] = React.useState(null);
|
|
155
|
+
const [loading, setLoading] = React.useState(false);
|
|
156
|
+
const [error, setError] = React.useState(null);
|
|
157
|
+
|
|
158
|
+
const handleSubmit = async (input) => {
|
|
159
|
+
setLoading(true);
|
|
160
|
+
setError(null);
|
|
161
|
+
try {
|
|
162
|
+
const output = await invokeWorkflow('YOUR_WORKFLOW_HASH', { input });
|
|
163
|
+
setResult(output);
|
|
164
|
+
} catch (err) {
|
|
165
|
+
setError(err.message || 'Something went wrong');
|
|
166
|
+
} finally {
|
|
167
|
+
setLoading(false);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
return (
|
|
172
|
+
<div className="min-h-screen bg-gray-50 p-6">
|
|
173
|
+
<h1 className="text-2xl font-bold mb-4">${result.name}</h1>
|
|
174
|
+
{error && <div className="text-red-600 mb-4">{error}</div>}
|
|
175
|
+
{/* Your UI here using Tailwind classes */}
|
|
176
|
+
</div>
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
\`\`\`
|
|
180
|
+
|
|
187
181
|
Use get_app_template for more complete examples.`;
|
|
188
182
|
return {
|
|
189
183
|
content: [{ type: 'text', text }],
|
|
@@ -197,4 +191,3 @@ Use get_app_template for more complete examples.`;
|
|
|
197
191
|
};
|
|
198
192
|
}
|
|
199
193
|
}
|
|
200
|
-
//# sourceMappingURL=create-app.js.map
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Create a new custom node with script code.
|
|
5
|
-
* Scope: custom_nodes:manage
|
|
6
|
-
*/
|
|
7
|
-
import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import { FlowDotApiClient } from '../api-client.js';
|
|
9
|
-
import { CustomNodeSocket, CustomNodeProperty } from '../types.js';
|
|
1
|
+
import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { FlowDotApiClient } from '../api-client.js';
|
|
3
|
+
import type { CustomNodeSocket, CustomNodeProperty } from '../types.js';
|
|
10
4
|
export declare const createCustomNodeTool: Tool;
|
|
11
5
|
export declare function handleCreateCustomNode(api: FlowDotApiClient, args: {
|
|
12
6
|
name: string;
|
|
@@ -25,4 +19,3 @@ export declare function handleCreateCustomNode(api: FlowDotApiClient, args: {
|
|
|
25
19
|
tags?: string[];
|
|
26
20
|
llm_enabled?: boolean;
|
|
27
21
|
}): Promise<CallToolResult>;
|
|
28
|
-
//# sourceMappingURL=create-custom-node.d.ts.map
|