@invect/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/_virtual/_rolldown/runtime.cjs +33 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/actions/action-executor.cjs +166 -0
- package/dist/actions/action-executor.cjs.map +1 -0
- package/dist/actions/action-executor.d.cts +33 -0
- package/dist/actions/action-executor.d.cts.map +1 -0
- package/dist/actions/action-executor.d.ts +33 -0
- package/dist/actions/action-executor.d.ts.map +1 -0
- package/dist/actions/action-executor.js +164 -0
- package/dist/actions/action-executor.js.map +1 -0
- package/dist/actions/action-registry.cjs +236 -0
- package/dist/actions/action-registry.cjs.map +1 -0
- package/dist/actions/action-registry.d.cts +58 -0
- package/dist/actions/action-registry.d.cts.map +1 -0
- package/dist/actions/action-registry.d.ts +58 -0
- package/dist/actions/action-registry.d.ts.map +1 -0
- package/dist/actions/action-registry.js +233 -0
- package/dist/actions/action-registry.js.map +1 -0
- package/dist/actions/core/if-else.cjs +111 -0
- package/dist/actions/core/if-else.cjs.map +1 -0
- package/dist/actions/core/if-else.d.cts +1 -0
- package/dist/actions/core/if-else.d.ts +1 -0
- package/dist/actions/core/if-else.js +98 -0
- package/dist/actions/core/if-else.js.map +1 -0
- package/dist/actions/core/index.cjs +20 -0
- package/dist/actions/core/index.cjs.map +1 -0
- package/dist/actions/core/index.d.cts +7 -0
- package/dist/actions/core/index.d.cts.map +1 -0
- package/dist/actions/core/index.d.ts +7 -0
- package/dist/actions/core/index.d.ts.map +1 -0
- package/dist/actions/core/index.js +20 -0
- package/dist/actions/core/index.js.map +1 -0
- package/dist/actions/core/input.cjs +73 -0
- package/dist/actions/core/input.cjs.map +1 -0
- package/dist/actions/core/input.d.cts +1 -0
- package/dist/actions/core/input.d.ts +1 -0
- package/dist/actions/core/input.js +72 -0
- package/dist/actions/core/input.js.map +1 -0
- package/dist/actions/core/javascript.cjs +77 -0
- package/dist/actions/core/javascript.cjs.map +1 -0
- package/dist/actions/core/javascript.d.cts +1 -0
- package/dist/actions/core/javascript.d.ts +1 -0
- package/dist/actions/core/javascript.js +62 -0
- package/dist/actions/core/javascript.js.map +1 -0
- package/dist/actions/core/model.cjs +285 -0
- package/dist/actions/core/model.cjs.map +1 -0
- package/dist/actions/core/model.d.cts +1 -0
- package/dist/actions/core/model.d.ts +1 -0
- package/dist/actions/core/model.js +276 -0
- package/dist/actions/core/model.js.map +1 -0
- package/dist/actions/core/output.cjs +66 -0
- package/dist/actions/core/output.cjs.map +1 -0
- package/dist/actions/core/output.d.cts +1 -0
- package/dist/actions/core/output.d.ts +1 -0
- package/dist/actions/core/output.js +57 -0
- package/dist/actions/core/output.js.map +1 -0
- package/dist/actions/core/template-string.cjs +85 -0
- package/dist/actions/core/template-string.cjs.map +1 -0
- package/dist/actions/core/template-string.d.cts +1 -0
- package/dist/actions/core/template-string.d.ts +1 -0
- package/dist/actions/core/template-string.js +76 -0
- package/dist/actions/core/template-string.js.map +1 -0
- package/dist/actions/define-action.cjs +14 -0
- package/dist/actions/define-action.cjs.map +1 -0
- package/dist/actions/define-action.d.cts +13 -0
- package/dist/actions/define-action.d.cts.map +1 -0
- package/dist/actions/define-action.d.ts +13 -0
- package/dist/actions/define-action.d.ts.map +1 -0
- package/dist/actions/define-action.js +14 -0
- package/dist/actions/define-action.js.map +1 -0
- package/dist/actions/github/add-issue-comment.cjs +152 -0
- package/dist/actions/github/add-issue-comment.cjs.map +1 -0
- package/dist/actions/github/add-issue-comment.d.cts +1 -0
- package/dist/actions/github/add-issue-comment.d.ts +1 -0
- package/dist/actions/github/add-issue-comment.js +150 -0
- package/dist/actions/github/add-issue-comment.js.map +1 -0
- package/dist/actions/github/create-branch.cjs +201 -0
- package/dist/actions/github/create-branch.cjs.map +1 -0
- package/dist/actions/github/create-branch.d.cts +1 -0
- package/dist/actions/github/create-branch.d.ts +1 -0
- package/dist/actions/github/create-branch.js +199 -0
- package/dist/actions/github/create-branch.js.map +1 -0
- package/dist/actions/github/create-issue.cjs +190 -0
- package/dist/actions/github/create-issue.cjs.map +1 -0
- package/dist/actions/github/create-issue.d.cts +1 -0
- package/dist/actions/github/create-issue.d.ts +1 -0
- package/dist/actions/github/create-issue.js +188 -0
- package/dist/actions/github/create-issue.js.map +1 -0
- package/dist/actions/github/create-or-update-file.cjs +216 -0
- package/dist/actions/github/create-or-update-file.cjs.map +1 -0
- package/dist/actions/github/create-or-update-file.d.cts +1 -0
- package/dist/actions/github/create-or-update-file.d.ts +1 -0
- package/dist/actions/github/create-or-update-file.js +214 -0
- package/dist/actions/github/create-or-update-file.js.map +1 -0
- package/dist/actions/github/create-pull-request.cjs +206 -0
- package/dist/actions/github/create-pull-request.cjs.map +1 -0
- package/dist/actions/github/create-pull-request.d.cts +1 -0
- package/dist/actions/github/create-pull-request.d.ts +1 -0
- package/dist/actions/github/create-pull-request.js +204 -0
- package/dist/actions/github/create-pull-request.js.map +1 -0
- package/dist/actions/github/create-release.cjs +218 -0
- package/dist/actions/github/create-release.cjs.map +1 -0
- package/dist/actions/github/create-release.d.cts +1 -0
- package/dist/actions/github/create-release.d.ts +1 -0
- package/dist/actions/github/create-release.js +216 -0
- package/dist/actions/github/create-release.js.map +1 -0
- package/dist/actions/github/get-file-content.cjs +164 -0
- package/dist/actions/github/get-file-content.cjs.map +1 -0
- package/dist/actions/github/get-file-content.d.cts +1 -0
- package/dist/actions/github/get-file-content.d.ts +1 -0
- package/dist/actions/github/get-file-content.js +162 -0
- package/dist/actions/github/get-file-content.js.map +1 -0
- package/dist/actions/github/get-issue.cjs +149 -0
- package/dist/actions/github/get-issue.cjs.map +1 -0
- package/dist/actions/github/get-issue.d.cts +1 -0
- package/dist/actions/github/get-issue.d.ts +1 -0
- package/dist/actions/github/get-issue.js +147 -0
- package/dist/actions/github/get-issue.js.map +1 -0
- package/dist/actions/github/get-pull-request.cjs +160 -0
- package/dist/actions/github/get-pull-request.cjs.map +1 -0
- package/dist/actions/github/get-pull-request.d.cts +1 -0
- package/dist/actions/github/get-pull-request.d.ts +1 -0
- package/dist/actions/github/get-pull-request.js +158 -0
- package/dist/actions/github/get-pull-request.js.map +1 -0
- package/dist/actions/github/get-repo.cjs +144 -0
- package/dist/actions/github/get-repo.cjs.map +1 -0
- package/dist/actions/github/get-repo.d.cts +1 -0
- package/dist/actions/github/get-repo.d.ts +1 -0
- package/dist/actions/github/get-repo.js +142 -0
- package/dist/actions/github/get-repo.js.map +1 -0
- package/dist/actions/github/index.cjs +48 -0
- package/dist/actions/github/index.cjs.map +1 -0
- package/dist/actions/github/index.d.cts +7 -0
- package/dist/actions/github/index.d.cts.map +1 -0
- package/dist/actions/github/index.d.ts +7 -0
- package/dist/actions/github/index.d.ts.map +1 -0
- package/dist/actions/github/index.js +48 -0
- package/dist/actions/github/index.js.map +1 -0
- package/dist/actions/github/list-branches.cjs +149 -0
- package/dist/actions/github/list-branches.cjs.map +1 -0
- package/dist/actions/github/list-branches.d.cts +1 -0
- package/dist/actions/github/list-branches.d.ts +1 -0
- package/dist/actions/github/list-branches.js +147 -0
- package/dist/actions/github/list-branches.js.map +1 -0
- package/dist/actions/github/list-commits.cjs +200 -0
- package/dist/actions/github/list-commits.cjs.map +1 -0
- package/dist/actions/github/list-commits.d.cts +1 -0
- package/dist/actions/github/list-commits.d.ts +1 -0
- package/dist/actions/github/list-commits.js +198 -0
- package/dist/actions/github/list-commits.js.map +1 -0
- package/dist/actions/github/list-issue-comments.cjs +153 -0
- package/dist/actions/github/list-issue-comments.cjs.map +1 -0
- package/dist/actions/github/list-issue-comments.d.cts +1 -0
- package/dist/actions/github/list-issue-comments.d.ts +1 -0
- package/dist/actions/github/list-issue-comments.js +151 -0
- package/dist/actions/github/list-issue-comments.js.map +1 -0
- package/dist/actions/github/list-issues.cjs +244 -0
- package/dist/actions/github/list-issues.cjs.map +1 -0
- package/dist/actions/github/list-issues.d.cts +1 -0
- package/dist/actions/github/list-issues.d.ts +1 -0
- package/dist/actions/github/list-issues.js +242 -0
- package/dist/actions/github/list-issues.js.map +1 -0
- package/dist/actions/github/list-pull-requests.cjs +252 -0
- package/dist/actions/github/list-pull-requests.cjs.map +1 -0
- package/dist/actions/github/list-pull-requests.d.cts +1 -0
- package/dist/actions/github/list-pull-requests.d.ts +1 -0
- package/dist/actions/github/list-pull-requests.js +250 -0
- package/dist/actions/github/list-pull-requests.js.map +1 -0
- package/dist/actions/github/list-releases.cjs +152 -0
- package/dist/actions/github/list-releases.cjs.map +1 -0
- package/dist/actions/github/list-releases.d.cts +1 -0
- package/dist/actions/github/list-releases.d.ts +1 -0
- package/dist/actions/github/list-releases.js +150 -0
- package/dist/actions/github/list-releases.js.map +1 -0
- package/dist/actions/github/list-repos.cjs +227 -0
- package/dist/actions/github/list-repos.cjs.map +1 -0
- package/dist/actions/github/list-repos.d.cts +1 -0
- package/dist/actions/github/list-repos.d.ts +1 -0
- package/dist/actions/github/list-repos.js +225 -0
- package/dist/actions/github/list-repos.js.map +1 -0
- package/dist/actions/github/merge-pull-request.cjs +204 -0
- package/dist/actions/github/merge-pull-request.cjs.map +1 -0
- package/dist/actions/github/merge-pull-request.d.cts +1 -0
- package/dist/actions/github/merge-pull-request.d.ts +1 -0
- package/dist/actions/github/merge-pull-request.js +202 -0
- package/dist/actions/github/merge-pull-request.js.map +1 -0
- package/dist/actions/github/search-issues.cjs +200 -0
- package/dist/actions/github/search-issues.cjs.map +1 -0
- package/dist/actions/github/search-issues.d.cts +1 -0
- package/dist/actions/github/search-issues.d.ts +1 -0
- package/dist/actions/github/search-issues.js +198 -0
- package/dist/actions/github/search-issues.js.map +1 -0
- package/dist/actions/github/update-issue.cjs +243 -0
- package/dist/actions/github/update-issue.cjs.map +1 -0
- package/dist/actions/github/update-issue.d.cts +1 -0
- package/dist/actions/github/update-issue.d.ts +1 -0
- package/dist/actions/github/update-issue.js +241 -0
- package/dist/actions/github/update-issue.js.map +1 -0
- package/dist/actions/gmail/create-draft.cjs +228 -0
- package/dist/actions/gmail/create-draft.cjs.map +1 -0
- package/dist/actions/gmail/create-draft.d.cts +1 -0
- package/dist/actions/gmail/create-draft.d.ts +1 -0
- package/dist/actions/gmail/create-draft.js +226 -0
- package/dist/actions/gmail/create-draft.js.map +1 -0
- package/dist/actions/gmail/get-message.cjs +205 -0
- package/dist/actions/gmail/get-message.cjs.map +1 -0
- package/dist/actions/gmail/get-message.d.cts +1 -0
- package/dist/actions/gmail/get-message.d.ts +1 -0
- package/dist/actions/gmail/get-message.js +203 -0
- package/dist/actions/gmail/get-message.js.map +1 -0
- package/dist/actions/gmail/index.cjs +18 -0
- package/dist/actions/gmail/index.cjs.map +1 -0
- package/dist/actions/gmail/index.d.cts +7 -0
- package/dist/actions/gmail/index.d.cts.map +1 -0
- package/dist/actions/gmail/index.d.ts +7 -0
- package/dist/actions/gmail/index.d.ts.map +1 -0
- package/dist/actions/gmail/index.js +18 -0
- package/dist/actions/gmail/index.js.map +1 -0
- package/dist/actions/gmail/list-messages.cjs +195 -0
- package/dist/actions/gmail/list-messages.cjs.map +1 -0
- package/dist/actions/gmail/list-messages.d.cts +1 -0
- package/dist/actions/gmail/list-messages.d.ts +1 -0
- package/dist/actions/gmail/list-messages.js +193 -0
- package/dist/actions/gmail/list-messages.js.map +1 -0
- package/dist/actions/gmail/modify-labels.cjs +163 -0
- package/dist/actions/gmail/modify-labels.cjs.map +1 -0
- package/dist/actions/gmail/modify-labels.d.cts +1 -0
- package/dist/actions/gmail/modify-labels.d.ts +1 -0
- package/dist/actions/gmail/modify-labels.js +161 -0
- package/dist/actions/gmail/modify-labels.js.map +1 -0
- package/dist/actions/gmail/send-message.cjs +233 -0
- package/dist/actions/gmail/send-message.cjs.map +1 -0
- package/dist/actions/gmail/send-message.d.cts +1 -0
- package/dist/actions/gmail/send-message.d.ts +1 -0
- package/dist/actions/gmail/send-message.js +231 -0
- package/dist/actions/gmail/send-message.js.map +1 -0
- package/dist/actions/google-calendar/create-event.cjs +274 -0
- package/dist/actions/google-calendar/create-event.cjs.map +1 -0
- package/dist/actions/google-calendar/create-event.d.cts +1 -0
- package/dist/actions/google-calendar/create-event.d.ts +1 -0
- package/dist/actions/google-calendar/create-event.js +272 -0
- package/dist/actions/google-calendar/create-event.js.map +1 -0
- package/dist/actions/google-calendar/delete-event.cjs +145 -0
- package/dist/actions/google-calendar/delete-event.cjs.map +1 -0
- package/dist/actions/google-calendar/delete-event.d.cts +1 -0
- package/dist/actions/google-calendar/delete-event.d.ts +1 -0
- package/dist/actions/google-calendar/delete-event.js +143 -0
- package/dist/actions/google-calendar/delete-event.js.map +1 -0
- package/dist/actions/google-calendar/get-event.cjs +128 -0
- package/dist/actions/google-calendar/get-event.cjs.map +1 -0
- package/dist/actions/google-calendar/get-event.d.cts +1 -0
- package/dist/actions/google-calendar/get-event.d.ts +1 -0
- package/dist/actions/google-calendar/get-event.js +126 -0
- package/dist/actions/google-calendar/get-event.js.map +1 -0
- package/dist/actions/google-calendar/index.cjs +20 -0
- package/dist/actions/google-calendar/index.cjs.map +1 -0
- package/dist/actions/google-calendar/index.d.cts +7 -0
- package/dist/actions/google-calendar/index.d.cts.map +1 -0
- package/dist/actions/google-calendar/index.d.ts +7 -0
- package/dist/actions/google-calendar/index.d.ts.map +1 -0
- package/dist/actions/google-calendar/index.js +20 -0
- package/dist/actions/google-calendar/index.js.map +1 -0
- package/dist/actions/google-calendar/list-events.cjs +193 -0
- package/dist/actions/google-calendar/list-events.cjs.map +1 -0
- package/dist/actions/google-calendar/list-events.d.cts +1 -0
- package/dist/actions/google-calendar/list-events.d.ts +1 -0
- package/dist/actions/google-calendar/list-events.js +191 -0
- package/dist/actions/google-calendar/list-events.js.map +1 -0
- package/dist/actions/google-calendar/query-freebusy.cjs +160 -0
- package/dist/actions/google-calendar/query-freebusy.cjs.map +1 -0
- package/dist/actions/google-calendar/query-freebusy.d.cts +1 -0
- package/dist/actions/google-calendar/query-freebusy.d.ts +1 -0
- package/dist/actions/google-calendar/query-freebusy.js +158 -0
- package/dist/actions/google-calendar/query-freebusy.js.map +1 -0
- package/dist/actions/google-calendar/update-event.cjs +221 -0
- package/dist/actions/google-calendar/update-event.cjs.map +1 -0
- package/dist/actions/google-calendar/update-event.d.cts +1 -0
- package/dist/actions/google-calendar/update-event.d.ts +1 -0
- package/dist/actions/google-calendar/update-event.js +219 -0
- package/dist/actions/google-calendar/update-event.js.map +1 -0
- package/dist/actions/google-docs/append-text.cjs +138 -0
- package/dist/actions/google-docs/append-text.cjs.map +1 -0
- package/dist/actions/google-docs/append-text.d.cts +1 -0
- package/dist/actions/google-docs/append-text.d.ts +1 -0
- package/dist/actions/google-docs/append-text.js +136 -0
- package/dist/actions/google-docs/append-text.js.map +1 -0
- package/dist/actions/google-docs/create-document.cjs +138 -0
- package/dist/actions/google-docs/create-document.cjs.map +1 -0
- package/dist/actions/google-docs/create-document.d.cts +1 -0
- package/dist/actions/google-docs/create-document.d.ts +1 -0
- package/dist/actions/google-docs/create-document.js +136 -0
- package/dist/actions/google-docs/create-document.js.map +1 -0
- package/dist/actions/google-docs/get-document.cjs +118 -0
- package/dist/actions/google-docs/get-document.cjs.map +1 -0
- package/dist/actions/google-docs/get-document.d.cts +1 -0
- package/dist/actions/google-docs/get-document.d.ts +1 -0
- package/dist/actions/google-docs/get-document.js +116 -0
- package/dist/actions/google-docs/get-document.js.map +1 -0
- package/dist/actions/google-docs/index.cjs +18 -0
- package/dist/actions/google-docs/index.cjs.map +1 -0
- package/dist/actions/google-docs/index.d.cts +7 -0
- package/dist/actions/google-docs/index.d.cts.map +1 -0
- package/dist/actions/google-docs/index.d.ts +7 -0
- package/dist/actions/google-docs/index.d.ts.map +1 -0
- package/dist/actions/google-docs/index.js +18 -0
- package/dist/actions/google-docs/index.js.map +1 -0
- package/dist/actions/google-docs/insert-text.cjs +136 -0
- package/dist/actions/google-docs/insert-text.cjs.map +1 -0
- package/dist/actions/google-docs/insert-text.d.cts +1 -0
- package/dist/actions/google-docs/insert-text.d.ts +1 -0
- package/dist/actions/google-docs/insert-text.js +134 -0
- package/dist/actions/google-docs/insert-text.js.map +1 -0
- package/dist/actions/google-docs/replace-text.cjs +152 -0
- package/dist/actions/google-docs/replace-text.cjs.map +1 -0
- package/dist/actions/google-docs/replace-text.d.cts +1 -0
- package/dist/actions/google-docs/replace-text.d.ts +1 -0
- package/dist/actions/google-docs/replace-text.js +150 -0
- package/dist/actions/google-docs/replace-text.js.map +1 -0
- package/dist/actions/google-drive/create-file.cjs +155 -0
- package/dist/actions/google-drive/create-file.cjs.map +1 -0
- package/dist/actions/google-drive/create-file.d.cts +1 -0
- package/dist/actions/google-drive/create-file.d.ts +1 -0
- package/dist/actions/google-drive/create-file.js +153 -0
- package/dist/actions/google-drive/create-file.js.map +1 -0
- package/dist/actions/google-drive/create-folder.cjs +130 -0
- package/dist/actions/google-drive/create-folder.cjs.map +1 -0
- package/dist/actions/google-drive/create-folder.d.cts +1 -0
- package/dist/actions/google-drive/create-folder.d.ts +1 -0
- package/dist/actions/google-drive/create-folder.js +128 -0
- package/dist/actions/google-drive/create-folder.js.map +1 -0
- package/dist/actions/google-drive/delete-file.cjs +98 -0
- package/dist/actions/google-drive/delete-file.cjs.map +1 -0
- package/dist/actions/google-drive/delete-file.d.cts +1 -0
- package/dist/actions/google-drive/delete-file.d.ts +1 -0
- package/dist/actions/google-drive/delete-file.js +96 -0
- package/dist/actions/google-drive/delete-file.js.map +1 -0
- package/dist/actions/google-drive/get-file.cjs +103 -0
- package/dist/actions/google-drive/get-file.cjs.map +1 -0
- package/dist/actions/google-drive/get-file.d.cts +1 -0
- package/dist/actions/google-drive/get-file.d.ts +1 -0
- package/dist/actions/google-drive/get-file.js +101 -0
- package/dist/actions/google-drive/get-file.js.map +1 -0
- package/dist/actions/google-drive/index.cjs +22 -0
- package/dist/actions/google-drive/index.cjs.map +1 -0
- package/dist/actions/google-drive/index.d.cts +7 -0
- package/dist/actions/google-drive/index.d.cts.map +1 -0
- package/dist/actions/google-drive/index.d.ts +7 -0
- package/dist/actions/google-drive/index.d.ts.map +1 -0
- package/dist/actions/google-drive/index.js +22 -0
- package/dist/actions/google-drive/index.js.map +1 -0
- package/dist/actions/google-drive/list-files.cjs +156 -0
- package/dist/actions/google-drive/list-files.cjs.map +1 -0
- package/dist/actions/google-drive/list-files.d.cts +1 -0
- package/dist/actions/google-drive/list-files.d.ts +1 -0
- package/dist/actions/google-drive/list-files.js +154 -0
- package/dist/actions/google-drive/list-files.js.map +1 -0
- package/dist/actions/google-drive/search-files.cjs +138 -0
- package/dist/actions/google-drive/search-files.cjs.map +1 -0
- package/dist/actions/google-drive/search-files.d.cts +1 -0
- package/dist/actions/google-drive/search-files.d.ts +1 -0
- package/dist/actions/google-drive/search-files.js +136 -0
- package/dist/actions/google-drive/search-files.js.map +1 -0
- package/dist/actions/google-drive/share-file.cjs +226 -0
- package/dist/actions/google-drive/share-file.cjs.map +1 -0
- package/dist/actions/google-drive/share-file.d.cts +1 -0
- package/dist/actions/google-drive/share-file.d.ts +1 -0
- package/dist/actions/google-drive/share-file.js +224 -0
- package/dist/actions/google-drive/share-file.js.map +1 -0
- package/dist/actions/google-sheets/append-values.cjs +175 -0
- package/dist/actions/google-sheets/append-values.cjs.map +1 -0
- package/dist/actions/google-sheets/append-values.d.cts +1 -0
- package/dist/actions/google-sheets/append-values.d.ts +1 -0
- package/dist/actions/google-sheets/append-values.js +173 -0
- package/dist/actions/google-sheets/append-values.js.map +1 -0
- package/dist/actions/google-sheets/clear-values.cjs +118 -0
- package/dist/actions/google-sheets/clear-values.cjs.map +1 -0
- package/dist/actions/google-sheets/clear-values.d.cts +1 -0
- package/dist/actions/google-sheets/clear-values.d.ts +1 -0
- package/dist/actions/google-sheets/clear-values.js +116 -0
- package/dist/actions/google-sheets/clear-values.js.map +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.cjs +128 -0
- package/dist/actions/google-sheets/create-spreadsheet.cjs.map +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.d.cts +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.d.ts +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.js +126 -0
- package/dist/actions/google-sheets/create-spreadsheet.js.map +1 -0
- package/dist/actions/google-sheets/get-values.cjs +168 -0
- package/dist/actions/google-sheets/get-values.cjs.map +1 -0
- package/dist/actions/google-sheets/get-values.d.cts +1 -0
- package/dist/actions/google-sheets/get-values.d.ts +1 -0
- package/dist/actions/google-sheets/get-values.js +166 -0
- package/dist/actions/google-sheets/get-values.js.map +1 -0
- package/dist/actions/google-sheets/index.cjs +18 -0
- package/dist/actions/google-sheets/index.cjs.map +1 -0
- package/dist/actions/google-sheets/index.d.cts +7 -0
- package/dist/actions/google-sheets/index.d.cts.map +1 -0
- package/dist/actions/google-sheets/index.d.ts +7 -0
- package/dist/actions/google-sheets/index.d.ts.map +1 -0
- package/dist/actions/google-sheets/index.js +18 -0
- package/dist/actions/google-sheets/index.js.map +1 -0
- package/dist/actions/google-sheets/update-values.cjs +158 -0
- package/dist/actions/google-sheets/update-values.cjs.map +1 -0
- package/dist/actions/google-sheets/update-values.d.cts +1 -0
- package/dist/actions/google-sheets/update-values.d.ts +1 -0
- package/dist/actions/google-sheets/update-values.js +156 -0
- package/dist/actions/google-sheets/update-values.js.map +1 -0
- package/dist/actions/http/index.cjs +7 -0
- package/dist/actions/http/index.cjs.map +1 -0
- package/dist/actions/http/index.d.cts +7 -0
- package/dist/actions/http/index.d.cts.map +1 -0
- package/dist/actions/http/index.d.ts +7 -0
- package/dist/actions/http/index.d.ts.map +1 -0
- package/dist/actions/http/index.js +8 -0
- package/dist/actions/http/index.js.map +1 -0
- package/dist/actions/http/request.cjs +223 -0
- package/dist/actions/http/request.cjs.map +1 -0
- package/dist/actions/http/request.d.cts +1 -0
- package/dist/actions/http/request.d.ts +1 -0
- package/dist/actions/http/request.js +222 -0
- package/dist/actions/http/request.js.map +1 -0
- package/dist/actions/index.cjs +46 -0
- package/dist/actions/index.cjs.map +1 -0
- package/dist/actions/index.d.cts +27 -0
- package/dist/actions/index.d.cts.map +1 -0
- package/dist/actions/index.d.ts +27 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +45 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/linear/create-issue.cjs +296 -0
- package/dist/actions/linear/create-issue.cjs.map +1 -0
- package/dist/actions/linear/create-issue.d.cts +1 -0
- package/dist/actions/linear/create-issue.d.ts +1 -0
- package/dist/actions/linear/create-issue.js +294 -0
- package/dist/actions/linear/create-issue.js.map +1 -0
- package/dist/actions/linear/index.cjs +16 -0
- package/dist/actions/linear/index.cjs.map +1 -0
- package/dist/actions/linear/index.d.cts +7 -0
- package/dist/actions/linear/index.d.cts.map +1 -0
- package/dist/actions/linear/index.d.ts +7 -0
- package/dist/actions/linear/index.d.ts.map +1 -0
- package/dist/actions/linear/index.js +16 -0
- package/dist/actions/linear/index.js.map +1 -0
- package/dist/actions/linear/list-issues.cjs +239 -0
- package/dist/actions/linear/list-issues.cjs.map +1 -0
- package/dist/actions/linear/list-issues.d.cts +1 -0
- package/dist/actions/linear/list-issues.d.ts +1 -0
- package/dist/actions/linear/list-issues.js +237 -0
- package/dist/actions/linear/list-issues.js.map +1 -0
- package/dist/actions/linear/list-teams.cjs +183 -0
- package/dist/actions/linear/list-teams.cjs.map +1 -0
- package/dist/actions/linear/list-teams.d.cts +1 -0
- package/dist/actions/linear/list-teams.d.ts +1 -0
- package/dist/actions/linear/list-teams.js +181 -0
- package/dist/actions/linear/list-teams.js.map +1 -0
- package/dist/actions/linear/update-issue.cjs +282 -0
- package/dist/actions/linear/update-issue.cjs.map +1 -0
- package/dist/actions/linear/update-issue.d.cts +1 -0
- package/dist/actions/linear/update-issue.d.ts +1 -0
- package/dist/actions/linear/update-issue.js +280 -0
- package/dist/actions/linear/update-issue.js.map +1 -0
- package/dist/actions/microsoft/get-calendar-event.cjs +139 -0
- package/dist/actions/microsoft/get-calendar-event.cjs.map +1 -0
- package/dist/actions/microsoft/get-calendar-event.d.cts +1 -0
- package/dist/actions/microsoft/get-calendar-event.d.ts +1 -0
- package/dist/actions/microsoft/get-calendar-event.js +137 -0
- package/dist/actions/microsoft/get-calendar-event.js.map +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.cjs +221 -0
- package/dist/actions/microsoft/get-meeting-transcript.cjs.map +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.d.cts +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.d.ts +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.js +219 -0
- package/dist/actions/microsoft/get-meeting-transcript.js.map +1 -0
- package/dist/actions/microsoft/get-message.cjs +173 -0
- package/dist/actions/microsoft/get-message.cjs.map +1 -0
- package/dist/actions/microsoft/get-message.d.cts +1 -0
- package/dist/actions/microsoft/get-message.d.ts +1 -0
- package/dist/actions/microsoft/get-message.js +171 -0
- package/dist/actions/microsoft/get-message.js.map +1 -0
- package/dist/actions/microsoft/index.cjs +22 -0
- package/dist/actions/microsoft/index.cjs.map +1 -0
- package/dist/actions/microsoft/index.d.cts +1 -0
- package/dist/actions/microsoft/index.d.ts +1 -0
- package/dist/actions/microsoft/index.js +22 -0
- package/dist/actions/microsoft/index.js.map +1 -0
- package/dist/actions/microsoft/list-calendar-events.cjs +202 -0
- package/dist/actions/microsoft/list-calendar-events.cjs.map +1 -0
- package/dist/actions/microsoft/list-calendar-events.d.cts +1 -0
- package/dist/actions/microsoft/list-calendar-events.d.ts +1 -0
- package/dist/actions/microsoft/list-calendar-events.js +200 -0
- package/dist/actions/microsoft/list-calendar-events.js.map +1 -0
- package/dist/actions/microsoft/list-calendars.cjs +99 -0
- package/dist/actions/microsoft/list-calendars.cjs.map +1 -0
- package/dist/actions/microsoft/list-calendars.d.cts +1 -0
- package/dist/actions/microsoft/list-calendars.d.ts +1 -0
- package/dist/actions/microsoft/list-calendars.js +97 -0
- package/dist/actions/microsoft/list-calendars.js.map +1 -0
- package/dist/actions/microsoft/list-messages.cjs +223 -0
- package/dist/actions/microsoft/list-messages.cjs.map +1 -0
- package/dist/actions/microsoft/list-messages.d.cts +1 -0
- package/dist/actions/microsoft/list-messages.d.ts +1 -0
- package/dist/actions/microsoft/list-messages.js +221 -0
- package/dist/actions/microsoft/list-messages.js.map +1 -0
- package/dist/actions/microsoft/list-online-meetings.cjs +132 -0
- package/dist/actions/microsoft/list-online-meetings.cjs.map +1 -0
- package/dist/actions/microsoft/list-online-meetings.d.cts +1 -0
- package/dist/actions/microsoft/list-online-meetings.d.ts +1 -0
- package/dist/actions/microsoft/list-online-meetings.js +130 -0
- package/dist/actions/microsoft/list-online-meetings.js.map +1 -0
- package/dist/actions/postgres/describe-table.cjs +175 -0
- package/dist/actions/postgres/describe-table.cjs.map +1 -0
- package/dist/actions/postgres/describe-table.d.cts +1 -0
- package/dist/actions/postgres/describe-table.d.ts +1 -0
- package/dist/actions/postgres/describe-table.js +165 -0
- package/dist/actions/postgres/describe-table.js.map +1 -0
- package/dist/actions/postgres/execute-query.cjs +120 -0
- package/dist/actions/postgres/execute-query.cjs.map +1 -0
- package/dist/actions/postgres/execute-query.d.cts +1 -0
- package/dist/actions/postgres/execute-query.d.ts +1 -0
- package/dist/actions/postgres/execute-query.js +110 -0
- package/dist/actions/postgres/execute-query.js.map +1 -0
- package/dist/actions/postgres/index.cjs +16 -0
- package/dist/actions/postgres/index.cjs.map +1 -0
- package/dist/actions/postgres/index.d.cts +7 -0
- package/dist/actions/postgres/index.d.cts.map +1 -0
- package/dist/actions/postgres/index.d.ts +7 -0
- package/dist/actions/postgres/index.d.ts.map +1 -0
- package/dist/actions/postgres/index.js +16 -0
- package/dist/actions/postgres/index.js.map +1 -0
- package/dist/actions/postgres/insert-rows.cjs +168 -0
- package/dist/actions/postgres/insert-rows.cjs.map +1 -0
- package/dist/actions/postgres/insert-rows.d.cts +1 -0
- package/dist/actions/postgres/insert-rows.d.ts +1 -0
- package/dist/actions/postgres/insert-rows.js +158 -0
- package/dist/actions/postgres/insert-rows.js.map +1 -0
- package/dist/actions/postgres/list-tables.cjs +133 -0
- package/dist/actions/postgres/list-tables.cjs.map +1 -0
- package/dist/actions/postgres/list-tables.d.cts +1 -0
- package/dist/actions/postgres/list-tables.d.ts +1 -0
- package/dist/actions/postgres/list-tables.js +123 -0
- package/dist/actions/postgres/list-tables.js.map +1 -0
- package/dist/actions/providers.cjs +128 -0
- package/dist/actions/providers.cjs.map +1 -0
- package/dist/actions/providers.d.cts +22 -0
- package/dist/actions/providers.d.cts.map +1 -0
- package/dist/actions/providers.d.ts +22 -0
- package/dist/actions/providers.d.ts.map +1 -0
- package/dist/actions/providers.js +116 -0
- package/dist/actions/providers.js.map +1 -0
- package/dist/actions/slack/index.cjs +9 -0
- package/dist/actions/slack/index.cjs.map +1 -0
- package/dist/actions/slack/index.d.cts +7 -0
- package/dist/actions/slack/index.d.cts.map +1 -0
- package/dist/actions/slack/index.d.ts +7 -0
- package/dist/actions/slack/index.d.ts.map +1 -0
- package/dist/actions/slack/index.js +9 -0
- package/dist/actions/slack/index.js.map +1 -0
- package/dist/actions/slack/list-channels.cjs +157 -0
- package/dist/actions/slack/list-channels.cjs.map +1 -0
- package/dist/actions/slack/list-channels.d.cts +1 -0
- package/dist/actions/slack/list-channels.d.ts +1 -0
- package/dist/actions/slack/list-channels.js +155 -0
- package/dist/actions/slack/list-channels.js.map +1 -0
- package/dist/actions/slack/send-message.cjs +157 -0
- package/dist/actions/slack/send-message.cjs.map +1 -0
- package/dist/actions/slack/send-message.d.cts +1 -0
- package/dist/actions/slack/send-message.d.ts +1 -0
- package/dist/actions/slack/send-message.js +155 -0
- package/dist/actions/slack/send-message.js.map +1 -0
- package/dist/actions/triggers/cron.cjs +95 -0
- package/dist/actions/triggers/cron.cjs.map +1 -0
- package/dist/actions/triggers/cron.d.cts +1 -0
- package/dist/actions/triggers/cron.d.ts +1 -0
- package/dist/actions/triggers/cron.js +83 -0
- package/dist/actions/triggers/cron.js.map +1 -0
- package/dist/actions/triggers/index.cjs +9 -0
- package/dist/actions/triggers/index.cjs.map +1 -0
- package/dist/actions/triggers/index.d.cts +1 -0
- package/dist/actions/triggers/index.d.ts +1 -0
- package/dist/actions/triggers/index.js +9 -0
- package/dist/actions/triggers/index.js.map +1 -0
- package/dist/actions/triggers/manual.cjs +105 -0
- package/dist/actions/triggers/manual.cjs.map +1 -0
- package/dist/actions/triggers/manual.d.cts +1 -0
- package/dist/actions/triggers/manual.d.ts +1 -0
- package/dist/actions/triggers/manual.js +103 -0
- package/dist/actions/triggers/manual.js.map +1 -0
- package/dist/actions/types.d.cts +373 -0
- package/dist/actions/types.d.cts.map +1 -0
- package/dist/actions/types.d.ts +373 -0
- package/dist/actions/types.d.ts.map +1 -0
- package/dist/database/adapter-factory.cjs +188 -0
- package/dist/database/adapter-factory.cjs.map +1 -0
- package/dist/database/adapter-factory.js +187 -0
- package/dist/database/adapter-factory.js.map +1 -0
- package/dist/database/adapter.cjs +33 -0
- package/dist/database/adapter.cjs.map +1 -0
- package/dist/database/adapter.d.cts +76 -0
- package/dist/database/adapter.d.cts.map +1 -0
- package/dist/database/adapter.d.ts +76 -0
- package/dist/database/adapter.d.ts.map +1 -0
- package/dist/database/adapter.js +33 -0
- package/dist/database/adapter.js.map +1 -0
- package/dist/database/adapters/connection-bridge.cjs +119 -0
- package/dist/database/adapters/connection-bridge.cjs.map +1 -0
- package/dist/database/adapters/connection-bridge.js +118 -0
- package/dist/database/adapters/connection-bridge.js.map +1 -0
- package/dist/database/adapters/kysely-adapter.cjs +138 -0
- package/dist/database/adapters/kysely-adapter.cjs.map +1 -0
- package/dist/database/adapters/kysely-adapter.js +137 -0
- package/dist/database/adapters/kysely-adapter.js.map +1 -0
- package/dist/database/connection.cjs +277 -0
- package/dist/database/connection.cjs.map +1 -0
- package/dist/database/connection.d.cts +115 -0
- package/dist/database/connection.d.cts.map +1 -0
- package/dist/database/connection.d.ts +115 -0
- package/dist/database/connection.d.ts.map +1 -0
- package/dist/database/connection.js +271 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/core-schema.cjs +644 -0
- package/dist/database/core-schema.cjs.map +1 -0
- package/dist/database/core-schema.d.cts +22 -0
- package/dist/database/core-schema.d.cts.map +1 -0
- package/dist/database/core-schema.d.ts +22 -0
- package/dist/database/core-schema.d.ts.map +1 -0
- package/dist/database/core-schema.js +642 -0
- package/dist/database/core-schema.js.map +1 -0
- package/dist/database/index.cjs +4 -0
- package/dist/database/index.d.cts +10 -0
- package/dist/database/index.d.cts.map +1 -0
- package/dist/database/index.d.ts +10 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +5 -0
- package/dist/database/prisma-schema-generator.cjs +219 -0
- package/dist/database/prisma-schema-generator.cjs.map +1 -0
- package/dist/database/prisma-schema-generator.d.cts +19 -0
- package/dist/database/prisma-schema-generator.d.cts.map +1 -0
- package/dist/database/prisma-schema-generator.d.ts +19 -0
- package/dist/database/prisma-schema-generator.d.ts.map +1 -0
- package/dist/database/prisma-schema-generator.js +218 -0
- package/dist/database/prisma-schema-generator.js.map +1 -0
- package/dist/database/schema-generator.cjs +576 -0
- package/dist/database/schema-generator.cjs.map +1 -0
- package/dist/database/schema-generator.d.cts +18 -0
- package/dist/database/schema-generator.d.cts.map +1 -0
- package/dist/database/schema-generator.d.ts +18 -0
- package/dist/database/schema-generator.d.ts.map +1 -0
- package/dist/database/schema-generator.js +571 -0
- package/dist/database/schema-generator.js.map +1 -0
- package/dist/database/schema-merger.cjs +153 -0
- package/dist/database/schema-merger.cjs.map +1 -0
- package/dist/database/schema-merger.d.cts +53 -0
- package/dist/database/schema-merger.d.cts.map +1 -0
- package/dist/database/schema-merger.d.ts +53 -0
- package/dist/database/schema-merger.d.ts.map +1 -0
- package/dist/database/schema-merger.js +152 -0
- package/dist/database/schema-merger.js.map +1 -0
- package/dist/database/schema-metadata.cjs +98 -0
- package/dist/database/schema-metadata.cjs.map +1 -0
- package/dist/database/schema-metadata.js +98 -0
- package/dist/database/schema-metadata.js.map +1 -0
- package/dist/database/schema-mysql.cjs +288 -0
- package/dist/database/schema-mysql.cjs.map +1 -0
- package/dist/database/schema-mysql.d.cts +2117 -0
- package/dist/database/schema-mysql.d.cts.map +1 -0
- package/dist/database/schema-mysql.d.ts +2117 -0
- package/dist/database/schema-mysql.d.ts.map +1 -0
- package/dist/database/schema-mysql.js +263 -0
- package/dist/database/schema-mysql.js.map +1 -0
- package/dist/database/schema-postgres.cjs +312 -0
- package/dist/database/schema-postgres.cjs.map +1 -0
- package/dist/database/schema-postgres.d.cts +2127 -0
- package/dist/database/schema-postgres.d.cts.map +1 -0
- package/dist/database/schema-postgres.d.ts +2127 -0
- package/dist/database/schema-postgres.d.ts.map +1 -0
- package/dist/database/schema-postgres.js +280 -0
- package/dist/database/schema-postgres.js.map +1 -0
- package/dist/database/schema-sqlite.cjs +247 -0
- package/dist/database/schema-sqlite.cjs.map +1 -0
- package/dist/database/schema-sqlite.d.cts +2294 -0
- package/dist/database/schema-sqlite.d.cts.map +1 -0
- package/dist/database/schema-sqlite.d.ts +2294 -0
- package/dist/database/schema-sqlite.d.ts.map +1 -0
- package/dist/database/schema-sqlite.js +222 -0
- package/dist/database/schema-sqlite.js.map +1 -0
- package/dist/database/schema-verification.cjs +123 -0
- package/dist/database/schema-verification.cjs.map +1 -0
- package/dist/database/schema-verification.d.cts +40 -0
- package/dist/database/schema-verification.d.cts.map +1 -0
- package/dist/database/schema-verification.d.ts +40 -0
- package/dist/database/schema-verification.d.ts.map +1 -0
- package/dist/database/schema-verification.js +123 -0
- package/dist/database/schema-verification.js.map +1 -0
- package/dist/database/schema.cjs +3 -0
- package/dist/database/schema.d.cts +3 -0
- package/dist/database/schema.d.ts +3 -0
- package/dist/database/schema.js +4 -0
- package/dist/index.cjs +199 -0
- package/dist/index.d.cts +70 -0
- package/dist/index.d.ts +70 -0
- package/dist/index.js +56 -0
- package/dist/invect-core.cjs +1688 -0
- package/dist/invect-core.cjs.map +1 -0
- package/dist/invect-core.d.cts +846 -0
- package/dist/invect-core.d.cts.map +1 -0
- package/dist/invect-core.d.ts +846 -0
- package/dist/invect-core.d.ts.map +1 -0
- package/dist/invect-core.js +1688 -0
- package/dist/invect-core.js.map +1 -0
- package/dist/nodes/agent-executor.cjs +881 -0
- package/dist/nodes/agent-executor.cjs.map +1 -0
- package/dist/nodes/agent-executor.d.cts +243 -0
- package/dist/nodes/agent-executor.d.cts.map +1 -0
- package/dist/nodes/agent-executor.d.ts +243 -0
- package/dist/nodes/agent-executor.d.ts.map +1 -0
- package/dist/nodes/agent-executor.js +877 -0
- package/dist/nodes/agent-executor.js.map +1 -0
- package/dist/nodes/base-node.cjs +174 -0
- package/dist/nodes/base-node.cjs.map +1 -0
- package/dist/nodes/base-node.d.cts +125 -0
- package/dist/nodes/base-node.d.cts.map +1 -0
- package/dist/nodes/base-node.d.ts +125 -0
- package/dist/nodes/base-node.d.ts.map +1 -0
- package/dist/nodes/base-node.js +170 -0
- package/dist/nodes/base-node.js.map +1 -0
- package/dist/nodes/executor-registry.cjs +46 -0
- package/dist/nodes/executor-registry.cjs.map +1 -0
- package/dist/nodes/executor-registry.d.cts +18 -0
- package/dist/nodes/executor-registry.d.cts.map +1 -0
- package/dist/nodes/executor-registry.d.ts +18 -0
- package/dist/nodes/executor-registry.d.ts.map +1 -0
- package/dist/nodes/executor-registry.js +46 -0
- package/dist/nodes/executor-registry.js.map +1 -0
- package/dist/nodes/index.cjs +2 -0
- package/dist/nodes/index.d.cts +3 -0
- package/dist/nodes/index.d.ts +3 -0
- package/dist/nodes/index.js +3 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.cjs +110 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.cjs.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.cts +42 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.cts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.ts +42 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.ts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.js +110 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.js.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.cjs +152 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.cjs.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.cts +71 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.cts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.ts +71 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.ts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.js +152 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.js.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.cjs +101 -0
- package/dist/services/agent-tools/agent-tool-registry.cjs.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.d.cts +51 -0
- package/dist/services/agent-tools/agent-tool-registry.d.cts.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.d.ts +51 -0
- package/dist/services/agent-tools/agent-tool-registry.d.ts.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.js +98 -0
- package/dist/services/agent-tools/agent-tool-registry.js.map +1 -0
- package/dist/services/agent-tools/builtin/index.cjs +17 -0
- package/dist/services/agent-tools/builtin/index.cjs.map +1 -0
- package/dist/services/agent-tools/builtin/index.js +17 -0
- package/dist/services/agent-tools/builtin/index.js.map +1 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.cjs +73 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.cjs.map +1 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.js +70 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.js.map +1 -0
- package/dist/services/agent-tools/builtin/math-tool.cjs +117 -0
- package/dist/services/agent-tools/builtin/math-tool.cjs.map +1 -0
- package/dist/services/agent-tools/builtin/math-tool.js +116 -0
- package/dist/services/agent-tools/builtin/math-tool.js.map +1 -0
- package/dist/services/agent-tools/index.cjs +2 -0
- package/dist/services/agent-tools/index.js +3 -0
- package/dist/services/ai/ai-types.cjs +37 -0
- package/dist/services/ai/ai-types.cjs.map +1 -0
- package/dist/services/ai/ai-types.d.cts +105 -0
- package/dist/services/ai/ai-types.d.cts.map +1 -0
- package/dist/services/ai/ai-types.d.ts +105 -0
- package/dist/services/ai/ai-types.d.ts.map +1 -0
- package/dist/services/ai/ai-types.js +35 -0
- package/dist/services/ai/ai-types.js.map +1 -0
- package/dist/services/ai/anthropic-adapter.cjs +411 -0
- package/dist/services/ai/anthropic-adapter.cjs.map +1 -0
- package/dist/services/ai/anthropic-adapter.d.cts +1 -0
- package/dist/services/ai/anthropic-adapter.d.ts +1 -0
- package/dist/services/ai/anthropic-adapter.js +409 -0
- package/dist/services/ai/anthropic-adapter.js.map +1 -0
- package/dist/services/ai/base-client.cjs +345 -0
- package/dist/services/ai/base-client.cjs.map +1 -0
- package/dist/services/ai/base-client.d.cts +138 -0
- package/dist/services/ai/base-client.d.cts.map +1 -0
- package/dist/services/ai/base-client.d.ts +138 -0
- package/dist/services/ai/base-client.d.ts.map +1 -0
- package/dist/services/ai/base-client.js +345 -0
- package/dist/services/ai/base-client.js.map +1 -0
- package/dist/services/ai/openai-adapter.cjs +460 -0
- package/dist/services/ai/openai-adapter.cjs.map +1 -0
- package/dist/services/ai/openai-adapter.d.cts +1 -0
- package/dist/services/ai/openai-adapter.d.ts +1 -0
- package/dist/services/ai/openai-adapter.js +458 -0
- package/dist/services/ai/openai-adapter.js.map +1 -0
- package/dist/services/ai/openrouter-adapter.cjs +124 -0
- package/dist/services/ai/openrouter-adapter.cjs.map +1 -0
- package/dist/services/ai/openrouter-adapter.d.cts +1 -0
- package/dist/services/ai/openrouter-adapter.d.ts +1 -0
- package/dist/services/ai/openrouter-adapter.js +122 -0
- package/dist/services/ai/openrouter-adapter.js.map +1 -0
- package/dist/services/ai/provider-adapter.cjs +72 -0
- package/dist/services/ai/provider-adapter.cjs.map +1 -0
- package/dist/services/ai/provider-adapter.d.cts +81 -0
- package/dist/services/ai/provider-adapter.d.cts.map +1 -0
- package/dist/services/ai/provider-adapter.d.ts +81 -0
- package/dist/services/ai/provider-adapter.d.ts.map +1 -0
- package/dist/services/ai/provider-adapter.js +72 -0
- package/dist/services/ai/provider-adapter.js.map +1 -0
- package/dist/services/auth/authorization.service.cjs +259 -0
- package/dist/services/auth/authorization.service.cjs.map +1 -0
- package/dist/services/auth/authorization.service.d.cts +102 -0
- package/dist/services/auth/authorization.service.d.cts.map +1 -0
- package/dist/services/auth/authorization.service.d.ts +102 -0
- package/dist/services/auth/authorization.service.d.ts.map +1 -0
- package/dist/services/auth/authorization.service.js +257 -0
- package/dist/services/auth/authorization.service.js.map +1 -0
- package/dist/services/auth/flow-access.service.cjs +259 -0
- package/dist/services/auth/flow-access.service.cjs.map +1 -0
- package/dist/services/auth/flow-access.service.d.cts +89 -0
- package/dist/services/auth/flow-access.service.d.cts.map +1 -0
- package/dist/services/auth/flow-access.service.d.ts +89 -0
- package/dist/services/auth/flow-access.service.d.ts.map +1 -0
- package/dist/services/auth/flow-access.service.js +259 -0
- package/dist/services/auth/flow-access.service.js.map +1 -0
- package/dist/services/auth/index.d.ts +2 -0
- package/dist/services/batch-jobs/batch-jobs.model.cjs +213 -0
- package/dist/services/batch-jobs/batch-jobs.model.cjs.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.cts +79 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.cts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.ts +79 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.ts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.model.js +213 -0
- package/dist/services/batch-jobs/batch-jobs.model.js.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.cjs +178 -0
- package/dist/services/batch-jobs/batch-jobs.service.cjs.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.cts +83 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.cts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.ts +83 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.ts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.js +178 -0
- package/dist/services/batch-jobs/batch-jobs.service.js.map +1 -0
- package/dist/services/chat/chat-messages.model.cjs +143 -0
- package/dist/services/chat/chat-messages.model.cjs.map +1 -0
- package/dist/services/chat/chat-messages.model.d.cts +43 -0
- package/dist/services/chat/chat-messages.model.d.cts.map +1 -0
- package/dist/services/chat/chat-messages.model.d.ts +43 -0
- package/dist/services/chat/chat-messages.model.d.ts.map +1 -0
- package/dist/services/chat/chat-messages.model.js +142 -0
- package/dist/services/chat/chat-messages.model.js.map +1 -0
- package/dist/services/chat/chat-stream-session.cjs +181 -0
- package/dist/services/chat/chat-stream-session.cjs.map +1 -0
- package/dist/services/chat/chat-stream-session.d.cts +1 -0
- package/dist/services/chat/chat-stream-session.d.ts +1 -0
- package/dist/services/chat/chat-stream-session.js +181 -0
- package/dist/services/chat/chat-stream-session.js.map +1 -0
- package/dist/services/chat/chat-stream.service.cjs +205 -0
- package/dist/services/chat/chat-stream.service.cjs.map +1 -0
- package/dist/services/chat/chat-stream.service.d.cts +84 -0
- package/dist/services/chat/chat-stream.service.d.cts.map +1 -0
- package/dist/services/chat/chat-stream.service.d.ts +84 -0
- package/dist/services/chat/chat-stream.service.d.ts.map +1 -0
- package/dist/services/chat/chat-stream.service.js +205 -0
- package/dist/services/chat/chat-stream.service.js.map +1 -0
- package/dist/services/chat/chat-toolkit.cjs +125 -0
- package/dist/services/chat/chat-toolkit.cjs.map +1 -0
- package/dist/services/chat/chat-toolkit.d.cts +58 -0
- package/dist/services/chat/chat-toolkit.d.cts.map +1 -0
- package/dist/services/chat/chat-toolkit.d.ts +58 -0
- package/dist/services/chat/chat-toolkit.d.ts.map +1 -0
- package/dist/services/chat/chat-toolkit.js +124 -0
- package/dist/services/chat/chat-toolkit.js.map +1 -0
- package/dist/services/chat/chat-types.cjs +24 -0
- package/dist/services/chat/chat-types.cjs.map +1 -0
- package/dist/services/chat/chat-types.d.cts +134 -0
- package/dist/services/chat/chat-types.d.cts.map +1 -0
- package/dist/services/chat/chat-types.d.ts +134 -0
- package/dist/services/chat/chat-types.d.ts.map +1 -0
- package/dist/services/chat/chat-types.js +23 -0
- package/dist/services/chat/chat-types.js.map +1 -0
- package/dist/services/chat/index.cjs +5 -0
- package/dist/services/chat/index.d.cts +3 -0
- package/dist/services/chat/index.d.ts +3 -0
- package/dist/services/chat/index.js +6 -0
- package/dist/services/chat/system-prompt.cjs +223 -0
- package/dist/services/chat/system-prompt.cjs.map +1 -0
- package/dist/services/chat/system-prompt.d.cts +1 -0
- package/dist/services/chat/system-prompt.d.ts +1 -0
- package/dist/services/chat/system-prompt.js +223 -0
- package/dist/services/chat/system-prompt.js.map +1 -0
- package/dist/services/chat/tools/agent-tools.cjs +472 -0
- package/dist/services/chat/tools/agent-tools.cjs.map +1 -0
- package/dist/services/chat/tools/agent-tools.js +471 -0
- package/dist/services/chat/tools/agent-tools.js.map +1 -0
- package/dist/services/chat/tools/context-tools.cjs +252 -0
- package/dist/services/chat/tools/context-tools.cjs.map +1 -0
- package/dist/services/chat/tools/context-tools.js +251 -0
- package/dist/services/chat/tools/context-tools.js.map +1 -0
- package/dist/services/chat/tools/flow-tools.cjs +244 -0
- package/dist/services/chat/tools/flow-tools.cjs.map +1 -0
- package/dist/services/chat/tools/flow-tools.js +243 -0
- package/dist/services/chat/tools/flow-tools.js.map +1 -0
- package/dist/services/chat/tools/index.cjs +22 -0
- package/dist/services/chat/tools/index.cjs.map +1 -0
- package/dist/services/chat/tools/index.js +22 -0
- package/dist/services/chat/tools/index.js.map +1 -0
- package/dist/services/chat/tools/node-tools.cjs +323 -0
- package/dist/services/chat/tools/node-tools.cjs.map +1 -0
- package/dist/services/chat/tools/node-tools.js +322 -0
- package/dist/services/chat/tools/node-tools.js.map +1 -0
- package/dist/services/chat/tools/plan-tools.cjs +94 -0
- package/dist/services/chat/tools/plan-tools.cjs.map +1 -0
- package/dist/services/chat/tools/plan-tools.js +93 -0
- package/dist/services/chat/tools/plan-tools.js.map +1 -0
- package/dist/services/chat/tools/run-tools.cjs +121 -0
- package/dist/services/chat/tools/run-tools.cjs.map +1 -0
- package/dist/services/chat/tools/run-tools.js +120 -0
- package/dist/services/chat/tools/run-tools.js.map +1 -0
- package/dist/services/credentials/credentials.model.cjs +313 -0
- package/dist/services/credentials/credentials.model.cjs.map +1 -0
- package/dist/services/credentials/credentials.model.d.cts +27 -0
- package/dist/services/credentials/credentials.model.d.cts.map +1 -0
- package/dist/services/credentials/credentials.model.d.ts +27 -0
- package/dist/services/credentials/credentials.model.d.ts.map +1 -0
- package/dist/services/credentials/credentials.model.js +312 -0
- package/dist/services/credentials/credentials.model.js.map +1 -0
- package/dist/services/credentials/credentials.service.cjs +358 -0
- package/dist/services/credentials/credentials.service.cjs.map +1 -0
- package/dist/services/credentials/credentials.service.d.cts +156 -0
- package/dist/services/credentials/credentials.service.d.cts.map +1 -0
- package/dist/services/credentials/credentials.service.d.ts +156 -0
- package/dist/services/credentials/credentials.service.d.ts.map +1 -0
- package/dist/services/credentials/credentials.service.js +357 -0
- package/dist/services/credentials/credentials.service.js.map +1 -0
- package/dist/services/credentials/encryption.service.cjs +121 -0
- package/dist/services/credentials/encryption.service.cjs.map +1 -0
- package/dist/services/credentials/encryption.service.d.cts +70 -0
- package/dist/services/credentials/encryption.service.d.cts.map +1 -0
- package/dist/services/credentials/encryption.service.d.ts +70 -0
- package/dist/services/credentials/encryption.service.d.ts.map +1 -0
- package/dist/services/credentials/encryption.service.js +119 -0
- package/dist/services/credentials/encryption.service.js.map +1 -0
- package/dist/services/credentials/index.d.cts +4 -0
- package/dist/services/credentials/index.d.ts +4 -0
- package/dist/services/credentials/oauth2-providers.cjs +668 -0
- package/dist/services/credentials/oauth2-providers.cjs.map +1 -0
- package/dist/services/credentials/oauth2-providers.d.cts +39 -0
- package/dist/services/credentials/oauth2-providers.d.cts.map +1 -0
- package/dist/services/credentials/oauth2-providers.d.ts +39 -0
- package/dist/services/credentials/oauth2-providers.d.ts.map +1 -0
- package/dist/services/credentials/oauth2-providers.js +667 -0
- package/dist/services/credentials/oauth2-providers.js.map +1 -0
- package/dist/services/credentials/oauth2.service.cjs +252 -0
- package/dist/services/credentials/oauth2.service.cjs.map +1 -0
- package/dist/services/credentials/oauth2.service.d.cts +132 -0
- package/dist/services/credentials/oauth2.service.d.cts.map +1 -0
- package/dist/services/credentials/oauth2.service.d.ts +132 -0
- package/dist/services/credentials/oauth2.service.d.ts.map +1 -0
- package/dist/services/credentials/oauth2.service.js +251 -0
- package/dist/services/credentials/oauth2.service.js.map +1 -0
- package/dist/services/database/database.service.cjs +469 -0
- package/dist/services/database/database.service.cjs.map +1 -0
- package/dist/services/database/database.service.d.cts +162 -0
- package/dist/services/database/database.service.d.cts.map +1 -0
- package/dist/services/database/database.service.d.ts +162 -0
- package/dist/services/database/database.service.d.ts.map +1 -0
- package/dist/services/database/database.service.js +469 -0
- package/dist/services/database/database.service.js.map +1 -0
- package/dist/services/execution-event-bus.cjs +80 -0
- package/dist/services/execution-event-bus.cjs.map +1 -0
- package/dist/services/execution-event-bus.d.cts +57 -0
- package/dist/services/execution-event-bus.d.cts.map +1 -0
- package/dist/services/execution-event-bus.d.ts +57 -0
- package/dist/services/execution-event-bus.d.ts.map +1 -0
- package/dist/services/execution-event-bus.js +77 -0
- package/dist/services/execution-event-bus.js.map +1 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.cjs +499 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.cjs.map +1 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.js +499 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.js.map +1 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.cjs +657 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.cjs.map +1 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.js +657 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.js.map +1 -0
- package/dist/services/flow-orchestration.service.cjs +493 -0
- package/dist/services/flow-orchestration.service.cjs.map +1 -0
- package/dist/services/flow-orchestration.service.d.cts +149 -0
- package/dist/services/flow-orchestration.service.d.cts.map +1 -0
- package/dist/services/flow-orchestration.service.d.ts +149 -0
- package/dist/services/flow-orchestration.service.d.ts.map +1 -0
- package/dist/services/flow-orchestration.service.js +493 -0
- package/dist/services/flow-orchestration.service.js.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.cjs +403 -0
- package/dist/services/flow-runs/flow-runs.model.cjs.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.d.cts +113 -0
- package/dist/services/flow-runs/flow-runs.model.d.cts.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.d.ts +113 -0
- package/dist/services/flow-runs/flow-runs.model.d.ts.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.js +403 -0
- package/dist/services/flow-runs/flow-runs.model.js.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.cjs +273 -0
- package/dist/services/flow-runs/flow-runs.service.cjs.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.d.cts +129 -0
- package/dist/services/flow-runs/flow-runs.service.d.cts.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.d.ts +129 -0
- package/dist/services/flow-runs/flow-runs.service.d.ts.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.js +273 -0
- package/dist/services/flow-runs/flow-runs.service.js.map +1 -0
- package/dist/services/flow-validator.cjs +149 -0
- package/dist/services/flow-validator.cjs.map +1 -0
- package/dist/services/flow-validator.js +149 -0
- package/dist/services/flow-validator.js.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.cjs +231 -0
- package/dist/services/flow-versions/flow-versions.model.cjs.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.d.cts +55 -0
- package/dist/services/flow-versions/flow-versions.model.d.cts.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.d.ts +55 -0
- package/dist/services/flow-versions/flow-versions.model.d.ts.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.js +231 -0
- package/dist/services/flow-versions/flow-versions.model.js.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.cjs +72 -0
- package/dist/services/flow-versions/flow-versions.service.cjs.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.d.cts +63 -0
- package/dist/services/flow-versions/flow-versions.service.d.cts.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.d.ts +63 -0
- package/dist/services/flow-versions/flow-versions.service.d.ts.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.js +72 -0
- package/dist/services/flow-versions/flow-versions.service.js.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.cjs +90 -0
- package/dist/services/flow-versions/schemas-fresh.cjs.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.d.cts +201 -0
- package/dist/services/flow-versions/schemas-fresh.d.cts.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.d.ts +201 -0
- package/dist/services/flow-versions/schemas-fresh.d.ts.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.js +85 -0
- package/dist/services/flow-versions/schemas-fresh.js.map +1 -0
- package/dist/services/flows/flows.model.cjs +273 -0
- package/dist/services/flows/flows.model.cjs.map +1 -0
- package/dist/services/flows/flows.model.d.cts +105 -0
- package/dist/services/flows/flows.model.d.cts.map +1 -0
- package/dist/services/flows/flows.model.d.ts +105 -0
- package/dist/services/flows/flows.model.d.ts.map +1 -0
- package/dist/services/flows/flows.model.js +273 -0
- package/dist/services/flows/flows.model.js.map +1 -0
- package/dist/services/flows/flows.service.cjs +134 -0
- package/dist/services/flows/flows.service.cjs.map +1 -0
- package/dist/services/flows/flows.service.d.cts +105 -0
- package/dist/services/flows/flows.service.d.cts.map +1 -0
- package/dist/services/flows/flows.service.d.ts +105 -0
- package/dist/services/flows/flows.service.d.ts.map +1 -0
- package/dist/services/flows/flows.service.js +134 -0
- package/dist/services/flows/flows.service.js.map +1 -0
- package/dist/services/graph.service.cjs +375 -0
- package/dist/services/graph.service.cjs.map +1 -0
- package/dist/services/graph.service.d.cts +90 -0
- package/dist/services/graph.service.d.cts.map +1 -0
- package/dist/services/graph.service.d.ts +90 -0
- package/dist/services/graph.service.d.ts.map +1 -0
- package/dist/services/graph.service.js +375 -0
- package/dist/services/graph.service.js.map +1 -0
- package/dist/services/node-data.service.cjs +232 -0
- package/dist/services/node-data.service.cjs.map +1 -0
- package/dist/services/node-data.service.d.cts +119 -0
- package/dist/services/node-data.service.d.cts.map +1 -0
- package/dist/services/node-data.service.d.ts +119 -0
- package/dist/services/node-data.service.d.ts.map +1 -0
- package/dist/services/node-data.service.js +230 -0
- package/dist/services/node-data.service.js.map +1 -0
- package/dist/services/node-executions/node-execution.service.cjs +236 -0
- package/dist/services/node-executions/node-execution.service.cjs.map +1 -0
- package/dist/services/node-executions/node-execution.service.d.cts +126 -0
- package/dist/services/node-executions/node-execution.service.d.cts.map +1 -0
- package/dist/services/node-executions/node-execution.service.d.ts +126 -0
- package/dist/services/node-executions/node-execution.service.d.ts.map +1 -0
- package/dist/services/node-executions/node-execution.service.js +236 -0
- package/dist/services/node-executions/node-execution.service.js.map +1 -0
- package/dist/services/node-executions/node-executions.model.cjs +300 -0
- package/dist/services/node-executions/node-executions.model.cjs.map +1 -0
- package/dist/services/node-executions/node-executions.model.d.cts +102 -0
- package/dist/services/node-executions/node-executions.model.d.cts.map +1 -0
- package/dist/services/node-executions/node-executions.model.d.ts +102 -0
- package/dist/services/node-executions/node-executions.model.d.ts.map +1 -0
- package/dist/services/node-executions/node-executions.model.js +300 -0
- package/dist/services/node-executions/node-executions.model.js.map +1 -0
- package/dist/services/plugin-manager.cjs +205 -0
- package/dist/services/plugin-manager.cjs.map +1 -0
- package/dist/services/plugin-manager.js +205 -0
- package/dist/services/plugin-manager.js.map +1 -0
- package/dist/services/react-flow-renderer.service.cjs +236 -0
- package/dist/services/react-flow-renderer.service.cjs.map +1 -0
- package/dist/services/react-flow-renderer.service.d.cts +149 -0
- package/dist/services/react-flow-renderer.service.d.cts.map +1 -0
- package/dist/services/react-flow-renderer.service.d.ts +149 -0
- package/dist/services/react-flow-renderer.service.d.ts.map +1 -0
- package/dist/services/react-flow-renderer.service.js +235 -0
- package/dist/services/react-flow-renderer.service.js.map +1 -0
- package/dist/services/service-factory.cjs +301 -0
- package/dist/services/service-factory.cjs.map +1 -0
- package/dist/services/service-factory.d.cts +172 -0
- package/dist/services/service-factory.d.cts.map +1 -0
- package/dist/services/service-factory.d.ts +172 -0
- package/dist/services/service-factory.d.ts.map +1 -0
- package/dist/services/service-factory.js +301 -0
- package/dist/services/service-factory.js.map +1 -0
- package/dist/services/templating/index.cjs +2 -0
- package/dist/services/templating/index.d.ts +2 -0
- package/dist/services/templating/index.js +3 -0
- package/dist/services/templating/js-expression.service.cjs +148 -0
- package/dist/services/templating/js-expression.service.cjs.map +1 -0
- package/dist/services/templating/js-expression.service.d.cts +61 -0
- package/dist/services/templating/js-expression.service.d.cts.map +1 -0
- package/dist/services/templating/js-expression.service.d.ts +60 -0
- package/dist/services/templating/js-expression.service.d.ts.map +1 -0
- package/dist/services/templating/js-expression.service.js +143 -0
- package/dist/services/templating/js-expression.service.js.map +1 -0
- package/dist/services/templating/template.service.cjs +182 -0
- package/dist/services/templating/template.service.cjs.map +1 -0
- package/dist/services/templating/template.service.d.cts +62 -0
- package/dist/services/templating/template.service.d.cts.map +1 -0
- package/dist/services/templating/template.service.d.ts +62 -0
- package/dist/services/templating/template.service.d.ts.map +1 -0
- package/dist/services/templating/template.service.js +180 -0
- package/dist/services/templating/template.service.js.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.cjs +141 -0
- package/dist/services/triggers/cron-scheduler.service.cjs.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.d.cts +36 -0
- package/dist/services/triggers/cron-scheduler.service.d.cts.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.d.ts +36 -0
- package/dist/services/triggers/cron-scheduler.service.d.ts.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.js +140 -0
- package/dist/services/triggers/cron-scheduler.service.js.map +1 -0
- package/dist/services/triggers/flow-triggers.model.cjs +241 -0
- package/dist/services/triggers/flow-triggers.model.cjs.map +1 -0
- package/dist/services/triggers/flow-triggers.model.d.cts +53 -0
- package/dist/services/triggers/flow-triggers.model.d.cts.map +1 -0
- package/dist/services/triggers/flow-triggers.model.d.ts +53 -0
- package/dist/services/triggers/flow-triggers.model.d.ts.map +1 -0
- package/dist/services/triggers/flow-triggers.model.js +241 -0
- package/dist/services/triggers/flow-triggers.model.js.map +1 -0
- package/dist/services/triggers/flow-triggers.service.cjs +218 -0
- package/dist/services/triggers/flow-triggers.service.cjs.map +1 -0
- package/dist/services/triggers/flow-triggers.service.d.cts +77 -0
- package/dist/services/triggers/flow-triggers.service.d.cts.map +1 -0
- package/dist/services/triggers/flow-triggers.service.d.ts +77 -0
- package/dist/services/triggers/flow-triggers.service.d.ts.map +1 -0
- package/dist/services/triggers/flow-triggers.service.js +217 -0
- package/dist/services/triggers/flow-triggers.service.js.map +1 -0
- package/dist/services/triggers/index.cjs +3 -0
- package/dist/services/triggers/index.d.cts +4 -0
- package/dist/services/triggers/index.d.ts +4 -0
- package/dist/services/triggers/index.js +4 -0
- package/dist/services/triggers/trigger.types.d.cts +63 -0
- package/dist/services/triggers/trigger.types.d.cts.map +1 -0
- package/dist/services/triggers/trigger.types.d.ts +63 -0
- package/dist/services/triggers/trigger.types.d.ts.map +1 -0
- package/dist/types/agent-tool.types.cjs +20 -0
- package/dist/types/agent-tool.types.cjs.map +1 -0
- package/dist/types/agent-tool.types.d.cts +211 -0
- package/dist/types/agent-tool.types.d.cts.map +1 -0
- package/dist/types/agent-tool.types.d.ts +211 -0
- package/dist/types/agent-tool.types.d.ts.map +1 -0
- package/dist/types/agent-tool.types.js +18 -0
- package/dist/types/agent-tool.types.js.map +1 -0
- package/dist/types/auth.types.cjs +76 -0
- package/dist/types/auth.types.cjs.map +1 -0
- package/dist/types/auth.types.d.cts +235 -0
- package/dist/types/auth.types.d.cts.map +1 -0
- package/dist/types/auth.types.d.ts +235 -0
- package/dist/types/auth.types.d.ts.map +1 -0
- package/dist/types/auth.types.js +75 -0
- package/dist/types/auth.types.js.map +1 -0
- package/dist/types/base.cjs +25 -0
- package/dist/types/base.cjs.map +1 -0
- package/dist/types/base.d.cts +21 -0
- package/dist/types/base.d.cts.map +1 -0
- package/dist/types/base.d.ts +21 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +24 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/common/errors.types.cjs +46 -0
- package/dist/types/common/errors.types.cjs.map +1 -0
- package/dist/types/common/errors.types.js +44 -0
- package/dist/types/common/errors.types.js.map +1 -0
- package/dist/types/graph-node-types.cjs +46 -0
- package/dist/types/graph-node-types.cjs.map +1 -0
- package/dist/types/graph-node-types.d.cts +32 -0
- package/dist/types/graph-node-types.d.cts.map +1 -0
- package/dist/types/graph-node-types.d.ts +32 -0
- package/dist/types/graph-node-types.d.ts.map +1 -0
- package/dist/types/graph-node-types.js +45 -0
- package/dist/types/graph-node-types.js.map +1 -0
- package/dist/types/node-config-update.types.d.cts +33 -0
- package/dist/types/node-config-update.types.d.cts.map +1 -0
- package/dist/types/node-config-update.types.d.ts +33 -0
- package/dist/types/node-config-update.types.d.ts.map +1 -0
- package/dist/types/node-definition.types.d.cts +88 -0
- package/dist/types/node-definition.types.d.cts.map +1 -0
- package/dist/types/node-definition.types.d.ts +88 -0
- package/dist/types/node-definition.types.d.ts.map +1 -0
- package/dist/types/node-execution.types.d.cts +39 -0
- package/dist/types/node-execution.types.d.cts.map +1 -0
- package/dist/types/node-execution.types.d.ts +39 -0
- package/dist/types/node-execution.types.d.ts.map +1 -0
- package/dist/types/node-io-types.cjs +19 -0
- package/dist/types/node-io-types.cjs.map +1 -0
- package/dist/types/node-io-types.d.cts +65 -0
- package/dist/types/node-io-types.d.cts.map +1 -0
- package/dist/types/node-io-types.d.ts +65 -0
- package/dist/types/node-io-types.d.ts.map +1 -0
- package/dist/types/node-io-types.js +18 -0
- package/dist/types/node-io-types.js.map +1 -0
- package/dist/types/node-output-schemas.cjs +51 -0
- package/dist/types/node-output-schemas.cjs.map +1 -0
- package/dist/types/node-output-schemas.js +50 -0
- package/dist/types/node-output-schemas.js.map +1 -0
- package/dist/types/plugin.types.d.cts +654 -0
- package/dist/types/plugin.types.d.cts.map +1 -0
- package/dist/types/plugin.types.d.ts +654 -0
- package/dist/types/plugin.types.d.ts.map +1 -0
- package/dist/types/schemas/flow/create-flow-version.schema.cjs +1 -0
- package/dist/types/schemas/flow/create-flow-version.schema.d.ts +1 -0
- package/dist/types/schemas/flow/create-flow-version.schema.js +2 -0
- package/dist/types/schemas/flow/create-flow.schema.cjs +9 -0
- package/dist/types/schemas/flow/create-flow.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/create-flow.schema.d.cts +14 -0
- package/dist/types/schemas/flow/create-flow.schema.d.cts.map +1 -0
- package/dist/types/schemas/flow/create-flow.schema.d.ts +14 -0
- package/dist/types/schemas/flow/create-flow.schema.d.ts.map +1 -0
- package/dist/types/schemas/flow/create-flow.schema.js +10 -0
- package/dist/types/schemas/flow/create-flow.schema.js.map +1 -0
- package/dist/types/schemas/flow/delete-flow.schema.cjs +11 -0
- package/dist/types/schemas/flow/delete-flow.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/delete-flow.schema.d.ts +1 -0
- package/dist/types/schemas/flow/delete-flow.schema.js +11 -0
- package/dist/types/schemas/flow/delete-flow.schema.js.map +1 -0
- package/dist/types/schemas/flow/flow-executions.schema.cjs +36 -0
- package/dist/types/schemas/flow/flow-executions.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/flow-executions.schema.d.ts +1 -0
- package/dist/types/schemas/flow/flow-executions.schema.js +35 -0
- package/dist/types/schemas/flow/flow-executions.schema.js.map +1 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.cjs +7 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.d.ts +1 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.js +7 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.js.map +1 -0
- package/dist/types/schemas/flow/get-flow-versions-response.schema.cjs +1 -0
- package/dist/types/schemas/flow/get-flow-versions-response.schema.d.ts +1 -0
- package/dist/types/schemas/flow/get-flow-versions-response.schema.js +2 -0
- package/dist/types/schemas/flow/get-flows-response.schema.cjs +6 -0
- package/dist/types/schemas/flow/get-flows-response.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/get-flows-response.schema.d.ts +1 -0
- package/dist/types/schemas/flow/get-flows-response.schema.js +7 -0
- package/dist/types/schemas/flow/get-flows-response.schema.js.map +1 -0
- package/dist/types/schemas/flow/index.cjs +9 -0
- package/dist/types/schemas/flow/index.d.ts +1 -0
- package/dist/types/schemas/flow/index.js +10 -0
- package/dist/types/schemas/flow/update-flow.schema.cjs +1 -0
- package/dist/types/schemas/flow/update-flow.schema.d.ts +1 -0
- package/dist/types/schemas/flow/update-flow.schema.js +2 -0
- package/dist/types/schemas/flow/validate-flow.schema.cjs +19 -0
- package/dist/types/schemas/flow/validate-flow.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/validate-flow.schema.d.ts +1 -0
- package/dist/types/schemas/flow/validate-flow.schema.js +19 -0
- package/dist/types/schemas/flow/validate-flow.schema.js.map +1 -0
- package/dist/types/schemas/index.cjs +3 -0
- package/dist/types/schemas/index.d.ts +2 -0
- package/dist/types/schemas/index.js +4 -0
- package/dist/types/schemas/pagination-sort-filter.cjs +56 -0
- package/dist/types/schemas/pagination-sort-filter.cjs.map +1 -0
- package/dist/types/schemas/pagination-sort-filter.d.cts +38 -0
- package/dist/types/schemas/pagination-sort-filter.d.cts.map +1 -0
- package/dist/types/schemas/pagination-sort-filter.d.ts +38 -0
- package/dist/types/schemas/pagination-sort-filter.d.ts.map +1 -0
- package/dist/types/schemas/pagination-sort-filter.js +50 -0
- package/dist/types/schemas/pagination-sort-filter.js.map +1 -0
- package/dist/types/schemas-fresh/invect-config.cjs +181 -0
- package/dist/types/schemas-fresh/invect-config.cjs.map +1 -0
- package/dist/types/schemas-fresh/invect-config.d.cts +207 -0
- package/dist/types/schemas-fresh/invect-config.d.cts.map +1 -0
- package/dist/types/schemas-fresh/invect-config.d.ts +207 -0
- package/dist/types/schemas-fresh/invect-config.d.ts.map +1 -0
- package/dist/types/schemas-fresh/invect-config.js +174 -0
- package/dist/types/schemas-fresh/invect-config.js.map +1 -0
- package/dist/types/validation/common.schemas.cjs +41 -0
- package/dist/types/validation/common.schemas.cjs.map +1 -0
- package/dist/types/validation/common.schemas.js +39 -0
- package/dist/types/validation/common.schemas.js.map +1 -0
- package/dist/types/validation/flow.schemas.cjs +49 -0
- package/dist/types/validation/flow.schemas.cjs.map +1 -0
- package/dist/types/validation/flow.schemas.js +46 -0
- package/dist/types/validation/flow.schemas.js.map +1 -0
- package/dist/types/validation.cjs +49 -0
- package/dist/types/validation.cjs.map +1 -0
- package/dist/types/validation.d.cts +49 -0
- package/dist/types/validation.d.cts.map +1 -0
- package/dist/types/validation.d.ts +49 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +48 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types-export.cjs +11 -0
- package/dist/types-export.d.cts +25 -0
- package/dist/types-export.d.ts +25 -0
- package/dist/types-export.js +5 -0
- package/dist/types-fresh.cjs +9 -0
- package/dist/types-fresh.cjs.map +1 -0
- package/dist/types-fresh.d.cts +129 -0
- package/dist/types-fresh.d.cts.map +1 -0
- package/dist/types-fresh.d.ts +129 -0
- package/dist/types-fresh.d.ts.map +1 -0
- package/dist/types-fresh.js +8 -0
- package/dist/types-fresh.js.map +1 -0
- package/dist/utils/id-generator.cjs +34 -0
- package/dist/utils/id-generator.cjs.map +1 -0
- package/dist/utils/id-generator.js +34 -0
- package/dist/utils/id-generator.js.map +1 -0
- package/dist/utils/logger.cjs +285 -0
- package/dist/utils/logger.cjs.map +1 -0
- package/dist/utils/logger.d.cts +161 -0
- package/dist/utils/logger.d.cts.map +1 -0
- package/dist/utils/logger.d.ts +160 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +282 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/node-slug.cjs +13 -0
- package/dist/utils/node-slug.cjs.map +1 -0
- package/dist/utils/node-slug.d.cts +8 -0
- package/dist/utils/node-slug.d.cts.map +1 -0
- package/dist/utils/node-slug.d.ts +8 -0
- package/dist/utils/node-slug.d.ts.map +1 -0
- package/dist/utils/node-slug.js +13 -0
- package/dist/utils/node-slug.js.map +1 -0
- package/dist/utils/provider-detection.cjs +72 -0
- package/dist/utils/provider-detection.cjs.map +1 -0
- package/dist/utils/provider-detection.js +72 -0
- package/dist/utils/provider-detection.js.map +1 -0
- package/dist/utils/url-safe-id.cjs +52 -0
- package/dist/utils/url-safe-id.cjs.map +1 -0
- package/dist/utils/url-safe-id.js +52 -0
- package/dist/utils/url-safe-id.js.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let zod_v4 = require("zod/v4");
|
|
3
|
+
//#region src/services/chat/tools/node-tools.ts
|
|
4
|
+
/**
|
|
5
|
+
* Chat Tools — Node Editing
|
|
6
|
+
*
|
|
7
|
+
* Granular tools for adding, removing, connecting, and configuring individual nodes.
|
|
8
|
+
* These operate on the latest flow version — they read, mutate, and save a new version.
|
|
9
|
+
*
|
|
10
|
+
* For bulk changes (new flows from scratch), use update_flow_definition instead.
|
|
11
|
+
* These are for surgical edits: "add a Slack node after the HTTP request",
|
|
12
|
+
* "change the JQ query", "remove the debug node".
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Helper: Load the latest flow version's nodes and edges.
|
|
16
|
+
*/
|
|
17
|
+
async function loadLatestDefinition(invect, flowId) {
|
|
18
|
+
const version = await invect.getFlowVersion(flowId, "latest");
|
|
19
|
+
if (!version) throw new Error("No flow version found — publish a version first");
|
|
20
|
+
const definition = version.invectDefinition;
|
|
21
|
+
return {
|
|
22
|
+
nodes: structuredClone(definition.nodes),
|
|
23
|
+
edges: structuredClone(definition.edges),
|
|
24
|
+
version
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Helper: Save a mutated definition as a new flow version.
|
|
29
|
+
*/
|
|
30
|
+
async function saveNewVersion(invect, flowId, nodes, edges) {
|
|
31
|
+
return invect.createFlowVersion(flowId, { invectDefinition: {
|
|
32
|
+
nodes,
|
|
33
|
+
edges
|
|
34
|
+
} });
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Helper: Convert a label to a snake_case reference ID.
|
|
38
|
+
*/
|
|
39
|
+
function labelToReferenceId(label) {
|
|
40
|
+
return label.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "");
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Helper: Generate a short unique ID for nodes/edges.
|
|
44
|
+
*/
|
|
45
|
+
function genId() {
|
|
46
|
+
return Math.random().toString(36).slice(2, 10);
|
|
47
|
+
}
|
|
48
|
+
const nodeTools = [
|
|
49
|
+
{
|
|
50
|
+
id: "add_node",
|
|
51
|
+
name: "Add Node",
|
|
52
|
+
description: "Add a new node to the current flow. Optionally connect it after an existing node. The node is positioned automatically. Use search_actions or get_action_details to find valid action IDs. For bulk flow creation, prefer update_flow_definition instead.",
|
|
53
|
+
parameters: zod_v4.z.object({
|
|
54
|
+
actionId: zod_v4.z.string().describe("Action type ID (e.g. \"core.model\", \"core.javascript\", \"gmail.send_message\", \"http.request\")"),
|
|
55
|
+
label: zod_v4.z.string().describe("Human-readable node label (e.g. \"Fetch User Emails\")"),
|
|
56
|
+
params: zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()).optional().default({}).describe("Node configuration parameters (key-value pairs)"),
|
|
57
|
+
connectAfter: zod_v4.z.string().optional().describe("Node ID to connect after — creates an edge from that node to this new one")
|
|
58
|
+
}),
|
|
59
|
+
async execute(params, ctx) {
|
|
60
|
+
const { actionId, label, params: nodeParams, connectAfter } = params;
|
|
61
|
+
const invect = ctx.invect;
|
|
62
|
+
const flowId = ctx.chatContext.flowId;
|
|
63
|
+
if (!flowId) return {
|
|
64
|
+
success: false,
|
|
65
|
+
error: "No flow is currently open"
|
|
66
|
+
};
|
|
67
|
+
try {
|
|
68
|
+
const availableNodes = invect.getAvailableNodes();
|
|
69
|
+
if (!availableNodes.find((n) => n.type === actionId)) {
|
|
70
|
+
const searchLower = actionId.toLowerCase();
|
|
71
|
+
const similar = availableNodes.filter((n) => n.type.toLowerCase().includes(searchLower.split(".").pop() ?? "")).slice(0, 5).map((n) => n.type);
|
|
72
|
+
return {
|
|
73
|
+
success: false,
|
|
74
|
+
error: `Action "${actionId}" not found in the action registry`,
|
|
75
|
+
suggestion: similar.length > 0 ? `Did you mean one of: ${similar.join(", ")}? Use search_actions to find valid action IDs.` : "Use search_actions to find valid action IDs."
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
79
|
+
const nodeId = `node_${genId()}`;
|
|
80
|
+
const referenceId = labelToReferenceId(label);
|
|
81
|
+
let position = {
|
|
82
|
+
x: 250,
|
|
83
|
+
y: 100
|
|
84
|
+
};
|
|
85
|
+
if (connectAfter) {
|
|
86
|
+
const upstream = nodes.find((n) => n.id === connectAfter);
|
|
87
|
+
if (upstream?.position) position = {
|
|
88
|
+
x: upstream.position.x,
|
|
89
|
+
y: upstream.position.y + 150
|
|
90
|
+
};
|
|
91
|
+
} else if (nodes.length > 0) {
|
|
92
|
+
const lastNode = nodes[nodes.length - 1];
|
|
93
|
+
if (lastNode?.position) position = {
|
|
94
|
+
x: lastNode.position.x,
|
|
95
|
+
y: lastNode.position.y + 150
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
nodes.push({
|
|
99
|
+
id: nodeId,
|
|
100
|
+
type: actionId,
|
|
101
|
+
label,
|
|
102
|
+
referenceId,
|
|
103
|
+
params: nodeParams ?? {},
|
|
104
|
+
position
|
|
105
|
+
});
|
|
106
|
+
if (connectAfter) {
|
|
107
|
+
if (!nodes.find((n) => n.id === connectAfter)) return {
|
|
108
|
+
success: false,
|
|
109
|
+
error: `Cannot connect after node "${connectAfter}" — node not found`,
|
|
110
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
111
|
+
};
|
|
112
|
+
edges.push({
|
|
113
|
+
id: `edge_${genId()}`,
|
|
114
|
+
source: connectAfter,
|
|
115
|
+
target: nodeId
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
success: true,
|
|
120
|
+
data: {
|
|
121
|
+
nodeId,
|
|
122
|
+
label,
|
|
123
|
+
actionId,
|
|
124
|
+
referenceId,
|
|
125
|
+
versionNumber: (await saveNewVersion(invect, flowId, nodes, edges)).version,
|
|
126
|
+
connected: connectAfter ? {
|
|
127
|
+
from: connectAfter,
|
|
128
|
+
to: nodeId
|
|
129
|
+
} : void 0
|
|
130
|
+
},
|
|
131
|
+
uiAction: {
|
|
132
|
+
action: "refresh_flow",
|
|
133
|
+
data: {
|
|
134
|
+
flowId,
|
|
135
|
+
selectNodeId: nodeId
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
} catch (error) {
|
|
140
|
+
return {
|
|
141
|
+
success: false,
|
|
142
|
+
error: `Failed to add node: ${error.message}`,
|
|
143
|
+
suggestion: "Use search_actions to verify the action ID is valid."
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
id: "remove_node",
|
|
150
|
+
name: "Remove Node",
|
|
151
|
+
description: "Remove a node from the current flow. Also removes all edges connected to it. Use get_current_flow_context to find node IDs.",
|
|
152
|
+
parameters: zod_v4.z.object({ nodeId: zod_v4.z.string().describe("ID of the node to remove") }),
|
|
153
|
+
async execute(params, ctx) {
|
|
154
|
+
const { nodeId } = params;
|
|
155
|
+
const invect = ctx.invect;
|
|
156
|
+
const flowId = ctx.chatContext.flowId;
|
|
157
|
+
if (!flowId) return {
|
|
158
|
+
success: false,
|
|
159
|
+
error: "No flow is currently open"
|
|
160
|
+
};
|
|
161
|
+
try {
|
|
162
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
163
|
+
const nodeIndex = nodes.findIndex((n) => n.id === nodeId);
|
|
164
|
+
if (nodeIndex === -1) return {
|
|
165
|
+
success: false,
|
|
166
|
+
error: `Node "${nodeId}" not found in flow`,
|
|
167
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
168
|
+
};
|
|
169
|
+
const removedNode = nodes[nodeIndex];
|
|
170
|
+
const removedLabel = removedNode.label || removedNode.id;
|
|
171
|
+
nodes.splice(nodeIndex, 1);
|
|
172
|
+
const removedEdgeCount = edges.length;
|
|
173
|
+
const filteredEdges = edges.filter((e) => e.source !== nodeId && e.target !== nodeId);
|
|
174
|
+
return {
|
|
175
|
+
success: true,
|
|
176
|
+
data: {
|
|
177
|
+
removedNodeId: nodeId,
|
|
178
|
+
removedLabel,
|
|
179
|
+
edgesRemoved: removedEdgeCount - filteredEdges.length,
|
|
180
|
+
versionNumber: (await saveNewVersion(invect, flowId, nodes, filteredEdges)).version,
|
|
181
|
+
remainingNodeCount: nodes.length
|
|
182
|
+
},
|
|
183
|
+
uiAction: {
|
|
184
|
+
action: "refresh_flow",
|
|
185
|
+
data: { flowId }
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
} catch (error) {
|
|
189
|
+
return {
|
|
190
|
+
success: false,
|
|
191
|
+
error: `Failed to remove node: ${error.message}`
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
id: "update_node_config",
|
|
198
|
+
name: "Update Node Config",
|
|
199
|
+
description: "Update the configuration parameters of an existing node. Merges the provided params into the existing config (does not replace unmentioned params). Use this for targeted changes like \"change the JQ query\" or \"update the prompt\".",
|
|
200
|
+
parameters: zod_v4.z.object({
|
|
201
|
+
nodeId: zod_v4.z.string().describe("ID of the node to update"),
|
|
202
|
+
params: zod_v4.z.record(zod_v4.z.string(), zod_v4.z.unknown()).describe("Parameters to set or update (merged with existing)"),
|
|
203
|
+
label: zod_v4.z.string().optional().describe("Optionally update the node label too")
|
|
204
|
+
}),
|
|
205
|
+
async execute(params, ctx) {
|
|
206
|
+
const { nodeId, params: newParams, label } = params;
|
|
207
|
+
const invect = ctx.invect;
|
|
208
|
+
const flowId = ctx.chatContext.flowId;
|
|
209
|
+
if (!flowId) return {
|
|
210
|
+
success: false,
|
|
211
|
+
error: "No flow is currently open"
|
|
212
|
+
};
|
|
213
|
+
try {
|
|
214
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
215
|
+
const node = nodes.find((n) => n.id === nodeId);
|
|
216
|
+
if (!node) return {
|
|
217
|
+
success: false,
|
|
218
|
+
error: `Node "${nodeId}" not found in flow`,
|
|
219
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
220
|
+
};
|
|
221
|
+
node.params = {
|
|
222
|
+
...node.params ?? {},
|
|
223
|
+
...newParams
|
|
224
|
+
};
|
|
225
|
+
if (label) {
|
|
226
|
+
node.label = label;
|
|
227
|
+
node.referenceId = labelToReferenceId(label);
|
|
228
|
+
}
|
|
229
|
+
const version = await saveNewVersion(invect, flowId, nodes, edges);
|
|
230
|
+
return {
|
|
231
|
+
success: true,
|
|
232
|
+
data: {
|
|
233
|
+
nodeId,
|
|
234
|
+
label: node.label,
|
|
235
|
+
updatedParams: Object.keys(newParams),
|
|
236
|
+
versionNumber: version.version
|
|
237
|
+
},
|
|
238
|
+
uiAction: {
|
|
239
|
+
action: "refresh_flow",
|
|
240
|
+
data: {
|
|
241
|
+
flowId,
|
|
242
|
+
selectNodeId: nodeId
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
} catch (error) {
|
|
247
|
+
return {
|
|
248
|
+
success: false,
|
|
249
|
+
error: `Failed to update node: ${error.message}`
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
id: "connect_nodes",
|
|
256
|
+
name: "Connect Nodes",
|
|
257
|
+
description: "Create an edge between two nodes. Data flows from source to target. Use sourceHandle/targetHandle for multi-output nodes like if-else (e.g. \"true_output\", \"false_output\").",
|
|
258
|
+
parameters: zod_v4.z.object({
|
|
259
|
+
sourceNodeId: zod_v4.z.string().describe("ID of the source node (data flows FROM here)"),
|
|
260
|
+
targetNodeId: zod_v4.z.string().describe("ID of the target node (data flows TO here)"),
|
|
261
|
+
sourceHandle: zod_v4.z.string().optional().describe("Source handle for multi-output nodes (e.g. \"true_output\", \"false_output\")"),
|
|
262
|
+
targetHandle: zod_v4.z.string().optional().describe("Target handle (rarely needed)")
|
|
263
|
+
}),
|
|
264
|
+
async execute(params, ctx) {
|
|
265
|
+
const { sourceNodeId, targetNodeId, sourceHandle, targetHandle } = params;
|
|
266
|
+
const invect = ctx.invect;
|
|
267
|
+
const flowId = ctx.chatContext.flowId;
|
|
268
|
+
if (!flowId) return {
|
|
269
|
+
success: false,
|
|
270
|
+
error: "No flow is currently open"
|
|
271
|
+
};
|
|
272
|
+
try {
|
|
273
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
274
|
+
const source = nodes.find((n) => n.id === sourceNodeId);
|
|
275
|
+
const target = nodes.find((n) => n.id === targetNodeId);
|
|
276
|
+
if (!source) return {
|
|
277
|
+
success: false,
|
|
278
|
+
error: `Source node "${sourceNodeId}" not found`,
|
|
279
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
280
|
+
};
|
|
281
|
+
if (!target) return {
|
|
282
|
+
success: false,
|
|
283
|
+
error: `Target node "${targetNodeId}" not found`,
|
|
284
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
285
|
+
};
|
|
286
|
+
if (edges.some((e) => e.source === sourceNodeId && e.target === targetNodeId && (e.sourceHandle ?? "") === (sourceHandle ?? "") && (e.targetHandle ?? "") === (targetHandle ?? ""))) return {
|
|
287
|
+
success: true,
|
|
288
|
+
data: { message: "Edge already exists — no change needed" }
|
|
289
|
+
};
|
|
290
|
+
edges.push({
|
|
291
|
+
id: `edge_${genId()}`,
|
|
292
|
+
source: sourceNodeId,
|
|
293
|
+
target: targetNodeId,
|
|
294
|
+
...sourceHandle && { sourceHandle },
|
|
295
|
+
...targetHandle && { targetHandle }
|
|
296
|
+
});
|
|
297
|
+
const version = await saveNewVersion(invect, flowId, nodes, edges);
|
|
298
|
+
return {
|
|
299
|
+
success: true,
|
|
300
|
+
data: {
|
|
301
|
+
edgeId: edges[edges.length - 1].id,
|
|
302
|
+
from: `${source.label ?? sourceNodeId}`,
|
|
303
|
+
to: `${target.label ?? targetNodeId}`,
|
|
304
|
+
versionNumber: version.version
|
|
305
|
+
},
|
|
306
|
+
uiAction: {
|
|
307
|
+
action: "refresh_flow",
|
|
308
|
+
data: { flowId }
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
} catch (error) {
|
|
312
|
+
return {
|
|
313
|
+
success: false,
|
|
314
|
+
error: `Failed to connect nodes: ${error.message}`
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
];
|
|
320
|
+
//#endregion
|
|
321
|
+
exports.nodeTools = nodeTools;
|
|
322
|
+
|
|
323
|
+
//# sourceMappingURL=node-tools.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-tools.cjs","names":["z"],"sources":["../../../../src/services/chat/tools/node-tools.ts"],"sourcesContent":["/**\n * Chat Tools — Node Editing\n *\n * Granular tools for adding, removing, connecting, and configuring individual nodes.\n * These operate on the latest flow version — they read, mutate, and save a new version.\n *\n * For bulk changes (new flows from scratch), use update_flow_definition instead.\n * These are for surgical edits: \"add a Slack node after the HTTP request\",\n * \"change the JQ query\", \"remove the debug node\".\n */\n\nimport { z } from 'zod/v4';\nimport type { ChatToolDefinition, ChatToolContext, ChatToolResult } from '../chat-types';\nimport type { Invect } from 'src/invect-core';\nimport type { FlowNodeDefinitions, FlowEdge } from 'src/services/flow-versions/schemas-fresh';\n\n/**\n * Helper: Load the latest flow version's nodes and edges.\n */\nasync function loadLatestDefinition(invect: Invect, flowId: string) {\n const version = await invect.getFlowVersion(flowId, 'latest');\n if (!version) {\n throw new Error('No flow version found — publish a version first');\n }\n\n const definition = version.invectDefinition;\n const nodes = structuredClone(definition.nodes) as FlowNodeDefinitions[];\n const edges = structuredClone(definition.edges) as FlowEdge[];\n\n return { nodes, edges, version };\n}\n\n/**\n * Helper: Save a mutated definition as a new flow version.\n */\nasync function saveNewVersion(\n invect: Invect,\n flowId: string,\n nodes: FlowNodeDefinitions[],\n edges: FlowEdge[],\n) {\n return invect.createFlowVersion(flowId, {\n invectDefinition: { nodes, edges },\n });\n}\n\n/**\n * Helper: Convert a label to a snake_case reference ID.\n */\nfunction labelToReferenceId(label: string): string {\n return label\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '_')\n .replace(/^_|_$/g, '');\n}\n\n/**\n * Helper: Generate a short unique ID for nodes/edges.\n */\nfunction genId(): string {\n return Math.random().toString(36).slice(2, 10);\n}\n\n// =====================================\n// add_node\n// =====================================\n\nexport const addNodeTool: ChatToolDefinition = {\n id: 'add_node',\n name: 'Add Node',\n description:\n 'Add a new node to the current flow. Optionally connect it after an existing node. ' +\n 'The node is positioned automatically. Use search_actions or get_action_details to find valid action IDs. ' +\n 'For bulk flow creation, prefer update_flow_definition instead.',\n parameters: z.object({\n actionId: z\n .string()\n .describe(\n 'Action type ID (e.g. \"core.model\", \"core.javascript\", \"gmail.send_message\", \"http.request\")',\n ),\n label: z.string().describe('Human-readable node label (e.g. \"Fetch User Emails\")'),\n params: z\n .record(z.string(), z.unknown())\n .optional()\n .default({})\n .describe('Node configuration parameters (key-value pairs)'),\n connectAfter: z\n .string()\n .optional()\n .describe('Node ID to connect after — creates an edge from that node to this new one'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const {\n actionId,\n label,\n params: nodeParams,\n connectAfter,\n } = params as {\n actionId: string;\n label: string;\n params: Record<string, unknown>;\n connectAfter?: string;\n };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n // Validate action ID exists in the registry\n const availableNodes = invect.getAvailableNodes();\n const validAction = availableNodes.find((n) => n.type === actionId);\n if (!validAction) {\n const searchLower = actionId.toLowerCase();\n const similar = availableNodes\n .filter((n) => n.type.toLowerCase().includes(searchLower.split('.').pop() ?? ''))\n .slice(0, 5)\n .map((n) => n.type);\n return {\n success: false,\n error: `Action \"${actionId}\" not found in the action registry`,\n suggestion:\n similar.length > 0\n ? `Did you mean one of: ${similar.join(', ')}? Use search_actions to find valid action IDs.`\n : 'Use search_actions to find valid action IDs.',\n };\n }\n\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n const nodeId = `node_${genId()}`;\n const referenceId = labelToReferenceId(label);\n\n // Compute position: below connectAfter node, or after the last node\n let position = { x: 250, y: 100 };\n if (connectAfter) {\n const upstream = nodes.find((n) => n.id === connectAfter);\n if (upstream?.position) {\n position = { x: upstream.position.x, y: upstream.position.y + 150 };\n }\n } else if (nodes.length > 0) {\n const lastNode = nodes[nodes.length - 1];\n if (lastNode?.position) {\n position = { x: lastNode.position.x, y: lastNode.position.y + 150 };\n }\n }\n\n // Add the new node\n nodes.push({\n id: nodeId,\n type: actionId,\n label,\n referenceId,\n params: nodeParams ?? {},\n position,\n });\n\n // Auto-connect if requested\n if (connectAfter) {\n const upstream = nodes.find((n) => n.id === connectAfter);\n if (!upstream) {\n return {\n success: false,\n error: `Cannot connect after node \"${connectAfter}\" — node not found`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n edges.push({\n id: `edge_${genId()}`,\n source: connectAfter,\n target: nodeId,\n });\n }\n\n const version = await saveNewVersion(invect, flowId, nodes, edges);\n\n return {\n success: true,\n data: {\n nodeId,\n label,\n actionId,\n referenceId,\n versionNumber: version.version,\n connected: connectAfter ? { from: connectAfter, to: nodeId } : undefined,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId, selectNodeId: nodeId },\n },\n };\n } catch (error: unknown) {\n return {\n success: false,\n error: `Failed to add node: ${(error as Error).message}`,\n suggestion: 'Use search_actions to verify the action ID is valid.',\n };\n }\n },\n};\n\n// =====================================\n// remove_node\n// =====================================\n\nexport const removeNodeTool: ChatToolDefinition = {\n id: 'remove_node',\n name: 'Remove Node',\n description:\n 'Remove a node from the current flow. Also removes all edges connected to it. ' +\n 'Use get_current_flow_context to find node IDs.',\n parameters: z.object({\n nodeId: z.string().describe('ID of the node to remove'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { nodeId } = params as { nodeId: string };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n const nodeIndex = nodes.findIndex((n) => n.id === nodeId);\n if (nodeIndex === -1) {\n return {\n success: false,\n error: `Node \"${nodeId}\" not found in flow`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n\n const removedNode = nodes[nodeIndex];\n const removedLabel = removedNode.label || removedNode.id;\n\n // Remove the node\n nodes.splice(nodeIndex, 1);\n\n // Remove all edges connected to this node\n const removedEdgeCount = edges.length;\n const filteredEdges = edges.filter((e) => e.source !== nodeId && e.target !== nodeId);\n const edgesRemoved = removedEdgeCount - filteredEdges.length;\n\n const version = await saveNewVersion(invect, flowId, nodes, filteredEdges);\n\n return {\n success: true,\n data: {\n removedNodeId: nodeId,\n removedLabel,\n edgesRemoved,\n versionNumber: version.version,\n remainingNodeCount: nodes.length,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId },\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to remove node: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// update_node_config\n// =====================================\n\nexport const updateNodeConfigTool: ChatToolDefinition = {\n id: 'update_node_config',\n name: 'Update Node Config',\n description:\n 'Update the configuration parameters of an existing node. ' +\n 'Merges the provided params into the existing config (does not replace unmentioned params). ' +\n 'Use this for targeted changes like \"change the JQ query\" or \"update the prompt\".',\n parameters: z.object({\n nodeId: z.string().describe('ID of the node to update'),\n params: z\n .record(z.string(), z.unknown())\n .describe('Parameters to set or update (merged with existing)'),\n label: z.string().optional().describe('Optionally update the node label too'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const {\n nodeId,\n params: newParams,\n label,\n } = params as {\n nodeId: string;\n params: Record<string, unknown>;\n label?: string;\n };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n const node = nodes.find((n) => n.id === nodeId);\n if (!node) {\n return {\n success: false,\n error: `Node \"${nodeId}\" not found in flow`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n\n // Merge params\n const existingParams = node.params ?? {};\n node.params = { ...existingParams, ...newParams };\n\n // Update label if provided\n if (label) {\n node.label = label;\n node.referenceId = labelToReferenceId(label);\n }\n\n const version = await saveNewVersion(invect, flowId, nodes, edges);\n\n return {\n success: true,\n data: {\n nodeId,\n label: node.label,\n updatedParams: Object.keys(newParams),\n versionNumber: version.version,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId, selectNodeId: nodeId },\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to update node: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// connect_nodes\n// =====================================\n\nexport const connectNodesTool: ChatToolDefinition = {\n id: 'connect_nodes',\n name: 'Connect Nodes',\n description:\n 'Create an edge between two nodes. Data flows from source to target. ' +\n 'Use sourceHandle/targetHandle for multi-output nodes like if-else (e.g. \"true_output\", \"false_output\").',\n parameters: z.object({\n sourceNodeId: z.string().describe('ID of the source node (data flows FROM here)'),\n targetNodeId: z.string().describe('ID of the target node (data flows TO here)'),\n sourceHandle: z\n .string()\n .optional()\n .describe('Source handle for multi-output nodes (e.g. \"true_output\", \"false_output\")'),\n targetHandle: z.string().optional().describe('Target handle (rarely needed)'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { sourceNodeId, targetNodeId, sourceHandle, targetHandle } = params as {\n sourceNodeId: string;\n targetNodeId: string;\n sourceHandle?: string;\n targetHandle?: string;\n };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n // Validate both nodes exist\n const source = nodes.find((n) => n.id === sourceNodeId);\n const target = nodes.find((n) => n.id === targetNodeId);\n\n if (!source) {\n return {\n success: false,\n error: `Source node \"${sourceNodeId}\" not found`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n if (!target) {\n return {\n success: false,\n error: `Target node \"${targetNodeId}\" not found`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n\n // Check for duplicate edge\n const exists = edges.some(\n (e) =>\n e.source === sourceNodeId &&\n e.target === targetNodeId &&\n (e.sourceHandle ?? '') === (sourceHandle ?? '') &&\n (e.targetHandle ?? '') === (targetHandle ?? ''),\n );\n if (exists) {\n return {\n success: true,\n data: { message: 'Edge already exists — no change needed' },\n };\n }\n\n edges.push({\n id: `edge_${genId()}`,\n source: sourceNodeId,\n target: targetNodeId,\n ...(sourceHandle && { sourceHandle }),\n ...(targetHandle && { targetHandle }),\n });\n\n const version = await saveNewVersion(invect, flowId, nodes, edges);\n\n return {\n success: true,\n data: {\n edgeId: edges[edges.length - 1].id,\n from: `${source.label ?? sourceNodeId}`,\n to: `${target.label ?? targetNodeId}`,\n versionNumber: version.version,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId },\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to connect nodes: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// Export all node tools\n// =====================================\n\nexport const nodeTools: ChatToolDefinition[] = [\n addNodeTool,\n removeNodeTool,\n updateNodeConfigTool,\n connectNodesTool,\n];\n"],"mappings":";;;;;;;;;;;;;;;;AAmBA,eAAe,qBAAqB,QAAgB,QAAgB;CAClE,MAAM,UAAU,MAAM,OAAO,eAAe,QAAQ,SAAS;AAC7D,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,kDAAkD;CAGpE,MAAM,aAAa,QAAQ;AAI3B,QAAO;EAAE,OAHK,gBAAgB,WAAW,MAAM;EAG/B,OAFF,gBAAgB,WAAW,MAAM;EAExB;EAAS;;;;;AAMlC,eAAe,eACb,QACA,QACA,OACA,OACA;AACA,QAAO,OAAO,kBAAkB,QAAQ,EACtC,kBAAkB;EAAE;EAAO;EAAO,EACnC,CAAC;;;;;AAMJ,SAAS,mBAAmB,OAAuB;AACjD,QAAO,MACJ,aAAa,CACb,QAAQ,eAAe,IAAI,CAC3B,QAAQ,UAAU,GAAG;;;;;AAM1B,SAAS,QAAgB;AACvB,QAAO,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG;;AAuYhD,MAAa,YAAkC;CAhYA;EAC7C,IAAI;EACJ,MAAM;EACN,aACE;EAGF,YAAYA,OAAAA,EAAE,OAAO;GACnB,UAAUA,OAAAA,EACP,QAAQ,CACR,SACC,sGACD;GACH,OAAOA,OAAAA,EAAE,QAAQ,CAAC,SAAS,yDAAuD;GAClF,QAAQA,OAAAA,EACL,OAAOA,OAAAA,EAAE,QAAQ,EAAEA,OAAAA,EAAE,SAAS,CAAC,CAC/B,UAAU,CACV,QAAQ,EAAE,CAAC,CACX,SAAS,kDAAkD;GAC9D,cAAcA,OAAAA,EACX,QAAQ,CACR,UAAU,CACV,SAAS,4EAA4E;GACzF,CAAC;EACF,MAAM,QAAQ,QAAiB,KAA+C;GAC5E,MAAM,EACJ,UACA,OACA,QAAQ,YACR,iBACE;GAMJ,MAAM,SAAS,IAAI;GACnB,MAAM,SAAS,IAAI,YAAY;AAE/B,OAAI,CAAC,OACH,QAAO;IAAE,SAAS;IAAO,OAAO;IAA6B;AAG/D,OAAI;IAEF,MAAM,iBAAiB,OAAO,mBAAmB;AAEjD,QAAI,CADgB,eAAe,MAAM,MAAM,EAAE,SAAS,SAAS,EACjD;KAChB,MAAM,cAAc,SAAS,aAAa;KAC1C,MAAM,UAAU,eACb,QAAQ,MAAM,EAAE,KAAK,aAAa,CAAC,SAAS,YAAY,MAAM,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAChF,MAAM,GAAG,EAAE,CACX,KAAK,MAAM,EAAE,KAAK;AACrB,YAAO;MACL,SAAS;MACT,OAAO,WAAW,SAAS;MAC3B,YACE,QAAQ,SAAS,IACb,wBAAwB,QAAQ,KAAK,KAAK,CAAC,kDAC3C;MACP;;IAGH,MAAM,EAAE,OAAO,UAAU,MAAM,qBAAqB,QAAQ,OAAO;IAEnE,MAAM,SAAS,QAAQ,OAAO;IAC9B,MAAM,cAAc,mBAAmB,MAAM;IAG7C,IAAI,WAAW;KAAE,GAAG;KAAK,GAAG;KAAK;AACjC,QAAI,cAAc;KAChB,MAAM,WAAW,MAAM,MAAM,MAAM,EAAE,OAAO,aAAa;AACzD,SAAI,UAAU,SACZ,YAAW;MAAE,GAAG,SAAS,SAAS;MAAG,GAAG,SAAS,SAAS,IAAI;MAAK;eAE5D,MAAM,SAAS,GAAG;KAC3B,MAAM,WAAW,MAAM,MAAM,SAAS;AACtC,SAAI,UAAU,SACZ,YAAW;MAAE,GAAG,SAAS,SAAS;MAAG,GAAG,SAAS,SAAS,IAAI;MAAK;;AAKvE,UAAM,KAAK;KACT,IAAI;KACJ,MAAM;KACN;KACA;KACA,QAAQ,cAAc,EAAE;KACxB;KACD,CAAC;AAGF,QAAI,cAAc;AAEhB,SAAI,CADa,MAAM,MAAM,MAAM,EAAE,OAAO,aAAa,CAEvD,QAAO;MACL,SAAS;MACT,OAAO,8BAA8B,aAAa;MAClD,YAAY;MACb;AAEH,WAAM,KAAK;MACT,IAAI,QAAQ,OAAO;MACnB,QAAQ;MACR,QAAQ;MACT,CAAC;;AAKJ,WAAO;KACL,SAAS;KACT,MAAM;MACJ;MACA;MACA;MACA;MACA,gBATY,MAAM,eAAe,QAAQ,QAAQ,OAAO,MAAM,EASvC;MACvB,WAAW,eAAe;OAAE,MAAM;OAAc,IAAI;OAAQ,GAAG,KAAA;MAChE;KACD,UAAU;MACR,QAAQ;MACR,MAAM;OAAE;OAAQ,cAAc;OAAQ;MACvC;KACF;YACM,OAAgB;AACvB,WAAO;KACL,SAAS;KACT,OAAO,uBAAwB,MAAgB;KAC/C,YAAY;KACb;;;EAGN;CAMiD;EAChD,IAAI;EACJ,MAAM;EACN,aACE;EAEF,YAAYA,OAAAA,EAAE,OAAO,EACnB,QAAQA,OAAAA,EAAE,QAAQ,CAAC,SAAS,2BAA2B,EACxD,CAAC;EACF,MAAM,QAAQ,QAAiB,KAA+C;GAC5E,MAAM,EAAE,WAAW;GACnB,MAAM,SAAS,IAAI;GACnB,MAAM,SAAS,IAAI,YAAY;AAE/B,OAAI,CAAC,OACH,QAAO;IAAE,SAAS;IAAO,OAAO;IAA6B;AAG/D,OAAI;IACF,MAAM,EAAE,OAAO,UAAU,MAAM,qBAAqB,QAAQ,OAAO;IAEnE,MAAM,YAAY,MAAM,WAAW,MAAM,EAAE,OAAO,OAAO;AACzD,QAAI,cAAc,GAChB,QAAO;KACL,SAAS;KACT,OAAO,SAAS,OAAO;KACvB,YAAY;KACb;IAGH,MAAM,cAAc,MAAM;IAC1B,MAAM,eAAe,YAAY,SAAS,YAAY;AAGtD,UAAM,OAAO,WAAW,EAAE;IAG1B,MAAM,mBAAmB,MAAM;IAC/B,MAAM,gBAAgB,MAAM,QAAQ,MAAM,EAAE,WAAW,UAAU,EAAE,WAAW,OAAO;AAKrF,WAAO;KACL,SAAS;KACT,MAAM;MACJ,eAAe;MACf;MACA,cATiB,mBAAmB,cAAc;MAUlD,gBARY,MAAM,eAAe,QAAQ,QAAQ,OAAO,cAAc,EAQ/C;MACvB,oBAAoB,MAAM;MAC3B;KACD,UAAU;MACR,QAAQ;MACR,MAAM,EAAE,QAAQ;MACjB;KACF;YACM,OAAgB;AACvB,WAAO;KAAE,SAAS;KAAO,OAAO,0BAA2B,MAAgB;KAAW;;;EAG3F;CAMuD;EACtD,IAAI;EACJ,MAAM;EACN,aACE;EAGF,YAAYA,OAAAA,EAAE,OAAO;GACnB,QAAQA,OAAAA,EAAE,QAAQ,CAAC,SAAS,2BAA2B;GACvD,QAAQA,OAAAA,EACL,OAAOA,OAAAA,EAAE,QAAQ,EAAEA,OAAAA,EAAE,SAAS,CAAC,CAC/B,SAAS,qDAAqD;GACjE,OAAOA,OAAAA,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,uCAAuC;GAC9E,CAAC;EACF,MAAM,QAAQ,QAAiB,KAA+C;GAC5E,MAAM,EACJ,QACA,QAAQ,WACR,UACE;GAKJ,MAAM,SAAS,IAAI;GACnB,MAAM,SAAS,IAAI,YAAY;AAE/B,OAAI,CAAC,OACH,QAAO;IAAE,SAAS;IAAO,OAAO;IAA6B;AAG/D,OAAI;IACF,MAAM,EAAE,OAAO,UAAU,MAAM,qBAAqB,QAAQ,OAAO;IAEnE,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,OAAO,OAAO;AAC/C,QAAI,CAAC,KACH,QAAO;KACL,SAAS;KACT,OAAO,SAAS,OAAO;KACvB,YAAY;KACb;AAKH,SAAK,SAAS;KAAE,GADO,KAAK,UAAU,EAAE;KACL,GAAG;KAAW;AAGjD,QAAI,OAAO;AACT,UAAK,QAAQ;AACb,UAAK,cAAc,mBAAmB,MAAM;;IAG9C,MAAM,UAAU,MAAM,eAAe,QAAQ,QAAQ,OAAO,MAAM;AAElE,WAAO;KACL,SAAS;KACT,MAAM;MACJ;MACA,OAAO,KAAK;MACZ,eAAe,OAAO,KAAK,UAAU;MACrC,eAAe,QAAQ;MACxB;KACD,UAAU;MACR,QAAQ;MACR,MAAM;OAAE;OAAQ,cAAc;OAAQ;MACvC;KACF;YACM,OAAgB;AACvB,WAAO;KAAE,SAAS;KAAO,OAAO,0BAA2B,MAAgB;KAAW;;;EAG3F;CAMmD;EAClD,IAAI;EACJ,MAAM;EACN,aACE;EAEF,YAAYA,OAAAA,EAAE,OAAO;GACnB,cAAcA,OAAAA,EAAE,QAAQ,CAAC,SAAS,+CAA+C;GACjF,cAAcA,OAAAA,EAAE,QAAQ,CAAC,SAAS,6CAA6C;GAC/E,cAAcA,OAAAA,EACX,QAAQ,CACR,UAAU,CACV,SAAS,gFAA4E;GACxF,cAAcA,OAAAA,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,gCAAgC;GAC9E,CAAC;EACF,MAAM,QAAQ,QAAiB,KAA+C;GAC5E,MAAM,EAAE,cAAc,cAAc,cAAc,iBAAiB;GAMnE,MAAM,SAAS,IAAI;GACnB,MAAM,SAAS,IAAI,YAAY;AAE/B,OAAI,CAAC,OACH,QAAO;IAAE,SAAS;IAAO,OAAO;IAA6B;AAG/D,OAAI;IACF,MAAM,EAAE,OAAO,UAAU,MAAM,qBAAqB,QAAQ,OAAO;IAGnE,MAAM,SAAS,MAAM,MAAM,MAAM,EAAE,OAAO,aAAa;IACvD,MAAM,SAAS,MAAM,MAAM,MAAM,EAAE,OAAO,aAAa;AAEvD,QAAI,CAAC,OACH,QAAO;KACL,SAAS;KACT,OAAO,gBAAgB,aAAa;KACpC,YAAY;KACb;AAEH,QAAI,CAAC,OACH,QAAO;KACL,SAAS;KACT,OAAO,gBAAgB,aAAa;KACpC,YAAY;KACb;AAWH,QAPe,MAAM,MAClB,MACC,EAAE,WAAW,gBACb,EAAE,WAAW,iBACZ,EAAE,gBAAgB,SAAS,gBAAgB,QAC3C,EAAE,gBAAgB,SAAS,gBAAgB,IAC/C,CAEC,QAAO;KACL,SAAS;KACT,MAAM,EAAE,SAAS,0CAA0C;KAC5D;AAGH,UAAM,KAAK;KACT,IAAI,QAAQ,OAAO;KACnB,QAAQ;KACR,QAAQ;KACR,GAAI,gBAAgB,EAAE,cAAc;KACpC,GAAI,gBAAgB,EAAE,cAAc;KACrC,CAAC;IAEF,MAAM,UAAU,MAAM,eAAe,QAAQ,QAAQ,OAAO,MAAM;AAElE,WAAO;KACL,SAAS;KACT,MAAM;MACJ,QAAQ,MAAM,MAAM,SAAS,GAAG;MAChC,MAAM,GAAG,OAAO,SAAS;MACzB,IAAI,GAAG,OAAO,SAAS;MACvB,eAAe,QAAQ;MACxB;KACD,UAAU;MACR,QAAQ;MACR,MAAM,EAAE,QAAQ;MACjB;KACF;YACM,OAAgB;AACvB,WAAO;KAAE,SAAS;KAAO,OAAO,4BAA6B,MAAgB;KAAW;;;EAG7F;CAWA"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
//#region src/services/chat/tools/node-tools.ts
|
|
3
|
+
/**
|
|
4
|
+
* Chat Tools — Node Editing
|
|
5
|
+
*
|
|
6
|
+
* Granular tools for adding, removing, connecting, and configuring individual nodes.
|
|
7
|
+
* These operate on the latest flow version — they read, mutate, and save a new version.
|
|
8
|
+
*
|
|
9
|
+
* For bulk changes (new flows from scratch), use update_flow_definition instead.
|
|
10
|
+
* These are for surgical edits: "add a Slack node after the HTTP request",
|
|
11
|
+
* "change the JQ query", "remove the debug node".
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Helper: Load the latest flow version's nodes and edges.
|
|
15
|
+
*/
|
|
16
|
+
async function loadLatestDefinition(invect, flowId) {
|
|
17
|
+
const version = await invect.getFlowVersion(flowId, "latest");
|
|
18
|
+
if (!version) throw new Error("No flow version found — publish a version first");
|
|
19
|
+
const definition = version.invectDefinition;
|
|
20
|
+
return {
|
|
21
|
+
nodes: structuredClone(definition.nodes),
|
|
22
|
+
edges: structuredClone(definition.edges),
|
|
23
|
+
version
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Helper: Save a mutated definition as a new flow version.
|
|
28
|
+
*/
|
|
29
|
+
async function saveNewVersion(invect, flowId, nodes, edges) {
|
|
30
|
+
return invect.createFlowVersion(flowId, { invectDefinition: {
|
|
31
|
+
nodes,
|
|
32
|
+
edges
|
|
33
|
+
} });
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Helper: Convert a label to a snake_case reference ID.
|
|
37
|
+
*/
|
|
38
|
+
function labelToReferenceId(label) {
|
|
39
|
+
return label.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_|_$/g, "");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Helper: Generate a short unique ID for nodes/edges.
|
|
43
|
+
*/
|
|
44
|
+
function genId() {
|
|
45
|
+
return Math.random().toString(36).slice(2, 10);
|
|
46
|
+
}
|
|
47
|
+
const nodeTools = [
|
|
48
|
+
{
|
|
49
|
+
id: "add_node",
|
|
50
|
+
name: "Add Node",
|
|
51
|
+
description: "Add a new node to the current flow. Optionally connect it after an existing node. The node is positioned automatically. Use search_actions or get_action_details to find valid action IDs. For bulk flow creation, prefer update_flow_definition instead.",
|
|
52
|
+
parameters: z.object({
|
|
53
|
+
actionId: z.string().describe("Action type ID (e.g. \"core.model\", \"core.javascript\", \"gmail.send_message\", \"http.request\")"),
|
|
54
|
+
label: z.string().describe("Human-readable node label (e.g. \"Fetch User Emails\")"),
|
|
55
|
+
params: z.record(z.string(), z.unknown()).optional().default({}).describe("Node configuration parameters (key-value pairs)"),
|
|
56
|
+
connectAfter: z.string().optional().describe("Node ID to connect after — creates an edge from that node to this new one")
|
|
57
|
+
}),
|
|
58
|
+
async execute(params, ctx) {
|
|
59
|
+
const { actionId, label, params: nodeParams, connectAfter } = params;
|
|
60
|
+
const invect = ctx.invect;
|
|
61
|
+
const flowId = ctx.chatContext.flowId;
|
|
62
|
+
if (!flowId) return {
|
|
63
|
+
success: false,
|
|
64
|
+
error: "No flow is currently open"
|
|
65
|
+
};
|
|
66
|
+
try {
|
|
67
|
+
const availableNodes = invect.getAvailableNodes();
|
|
68
|
+
if (!availableNodes.find((n) => n.type === actionId)) {
|
|
69
|
+
const searchLower = actionId.toLowerCase();
|
|
70
|
+
const similar = availableNodes.filter((n) => n.type.toLowerCase().includes(searchLower.split(".").pop() ?? "")).slice(0, 5).map((n) => n.type);
|
|
71
|
+
return {
|
|
72
|
+
success: false,
|
|
73
|
+
error: `Action "${actionId}" not found in the action registry`,
|
|
74
|
+
suggestion: similar.length > 0 ? `Did you mean one of: ${similar.join(", ")}? Use search_actions to find valid action IDs.` : "Use search_actions to find valid action IDs."
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
78
|
+
const nodeId = `node_${genId()}`;
|
|
79
|
+
const referenceId = labelToReferenceId(label);
|
|
80
|
+
let position = {
|
|
81
|
+
x: 250,
|
|
82
|
+
y: 100
|
|
83
|
+
};
|
|
84
|
+
if (connectAfter) {
|
|
85
|
+
const upstream = nodes.find((n) => n.id === connectAfter);
|
|
86
|
+
if (upstream?.position) position = {
|
|
87
|
+
x: upstream.position.x,
|
|
88
|
+
y: upstream.position.y + 150
|
|
89
|
+
};
|
|
90
|
+
} else if (nodes.length > 0) {
|
|
91
|
+
const lastNode = nodes[nodes.length - 1];
|
|
92
|
+
if (lastNode?.position) position = {
|
|
93
|
+
x: lastNode.position.x,
|
|
94
|
+
y: lastNode.position.y + 150
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
nodes.push({
|
|
98
|
+
id: nodeId,
|
|
99
|
+
type: actionId,
|
|
100
|
+
label,
|
|
101
|
+
referenceId,
|
|
102
|
+
params: nodeParams ?? {},
|
|
103
|
+
position
|
|
104
|
+
});
|
|
105
|
+
if (connectAfter) {
|
|
106
|
+
if (!nodes.find((n) => n.id === connectAfter)) return {
|
|
107
|
+
success: false,
|
|
108
|
+
error: `Cannot connect after node "${connectAfter}" — node not found`,
|
|
109
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
110
|
+
};
|
|
111
|
+
edges.push({
|
|
112
|
+
id: `edge_${genId()}`,
|
|
113
|
+
source: connectAfter,
|
|
114
|
+
target: nodeId
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
success: true,
|
|
119
|
+
data: {
|
|
120
|
+
nodeId,
|
|
121
|
+
label,
|
|
122
|
+
actionId,
|
|
123
|
+
referenceId,
|
|
124
|
+
versionNumber: (await saveNewVersion(invect, flowId, nodes, edges)).version,
|
|
125
|
+
connected: connectAfter ? {
|
|
126
|
+
from: connectAfter,
|
|
127
|
+
to: nodeId
|
|
128
|
+
} : void 0
|
|
129
|
+
},
|
|
130
|
+
uiAction: {
|
|
131
|
+
action: "refresh_flow",
|
|
132
|
+
data: {
|
|
133
|
+
flowId,
|
|
134
|
+
selectNodeId: nodeId
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
} catch (error) {
|
|
139
|
+
return {
|
|
140
|
+
success: false,
|
|
141
|
+
error: `Failed to add node: ${error.message}`,
|
|
142
|
+
suggestion: "Use search_actions to verify the action ID is valid."
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
id: "remove_node",
|
|
149
|
+
name: "Remove Node",
|
|
150
|
+
description: "Remove a node from the current flow. Also removes all edges connected to it. Use get_current_flow_context to find node IDs.",
|
|
151
|
+
parameters: z.object({ nodeId: z.string().describe("ID of the node to remove") }),
|
|
152
|
+
async execute(params, ctx) {
|
|
153
|
+
const { nodeId } = params;
|
|
154
|
+
const invect = ctx.invect;
|
|
155
|
+
const flowId = ctx.chatContext.flowId;
|
|
156
|
+
if (!flowId) return {
|
|
157
|
+
success: false,
|
|
158
|
+
error: "No flow is currently open"
|
|
159
|
+
};
|
|
160
|
+
try {
|
|
161
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
162
|
+
const nodeIndex = nodes.findIndex((n) => n.id === nodeId);
|
|
163
|
+
if (nodeIndex === -1) return {
|
|
164
|
+
success: false,
|
|
165
|
+
error: `Node "${nodeId}" not found in flow`,
|
|
166
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
167
|
+
};
|
|
168
|
+
const removedNode = nodes[nodeIndex];
|
|
169
|
+
const removedLabel = removedNode.label || removedNode.id;
|
|
170
|
+
nodes.splice(nodeIndex, 1);
|
|
171
|
+
const removedEdgeCount = edges.length;
|
|
172
|
+
const filteredEdges = edges.filter((e) => e.source !== nodeId && e.target !== nodeId);
|
|
173
|
+
return {
|
|
174
|
+
success: true,
|
|
175
|
+
data: {
|
|
176
|
+
removedNodeId: nodeId,
|
|
177
|
+
removedLabel,
|
|
178
|
+
edgesRemoved: removedEdgeCount - filteredEdges.length,
|
|
179
|
+
versionNumber: (await saveNewVersion(invect, flowId, nodes, filteredEdges)).version,
|
|
180
|
+
remainingNodeCount: nodes.length
|
|
181
|
+
},
|
|
182
|
+
uiAction: {
|
|
183
|
+
action: "refresh_flow",
|
|
184
|
+
data: { flowId }
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
} catch (error) {
|
|
188
|
+
return {
|
|
189
|
+
success: false,
|
|
190
|
+
error: `Failed to remove node: ${error.message}`
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
id: "update_node_config",
|
|
197
|
+
name: "Update Node Config",
|
|
198
|
+
description: "Update the configuration parameters of an existing node. Merges the provided params into the existing config (does not replace unmentioned params). Use this for targeted changes like \"change the JQ query\" or \"update the prompt\".",
|
|
199
|
+
parameters: z.object({
|
|
200
|
+
nodeId: z.string().describe("ID of the node to update"),
|
|
201
|
+
params: z.record(z.string(), z.unknown()).describe("Parameters to set or update (merged with existing)"),
|
|
202
|
+
label: z.string().optional().describe("Optionally update the node label too")
|
|
203
|
+
}),
|
|
204
|
+
async execute(params, ctx) {
|
|
205
|
+
const { nodeId, params: newParams, label } = params;
|
|
206
|
+
const invect = ctx.invect;
|
|
207
|
+
const flowId = ctx.chatContext.flowId;
|
|
208
|
+
if (!flowId) return {
|
|
209
|
+
success: false,
|
|
210
|
+
error: "No flow is currently open"
|
|
211
|
+
};
|
|
212
|
+
try {
|
|
213
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
214
|
+
const node = nodes.find((n) => n.id === nodeId);
|
|
215
|
+
if (!node) return {
|
|
216
|
+
success: false,
|
|
217
|
+
error: `Node "${nodeId}" not found in flow`,
|
|
218
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
219
|
+
};
|
|
220
|
+
node.params = {
|
|
221
|
+
...node.params ?? {},
|
|
222
|
+
...newParams
|
|
223
|
+
};
|
|
224
|
+
if (label) {
|
|
225
|
+
node.label = label;
|
|
226
|
+
node.referenceId = labelToReferenceId(label);
|
|
227
|
+
}
|
|
228
|
+
const version = await saveNewVersion(invect, flowId, nodes, edges);
|
|
229
|
+
return {
|
|
230
|
+
success: true,
|
|
231
|
+
data: {
|
|
232
|
+
nodeId,
|
|
233
|
+
label: node.label,
|
|
234
|
+
updatedParams: Object.keys(newParams),
|
|
235
|
+
versionNumber: version.version
|
|
236
|
+
},
|
|
237
|
+
uiAction: {
|
|
238
|
+
action: "refresh_flow",
|
|
239
|
+
data: {
|
|
240
|
+
flowId,
|
|
241
|
+
selectNodeId: nodeId
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
} catch (error) {
|
|
246
|
+
return {
|
|
247
|
+
success: false,
|
|
248
|
+
error: `Failed to update node: ${error.message}`
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
id: "connect_nodes",
|
|
255
|
+
name: "Connect Nodes",
|
|
256
|
+
description: "Create an edge between two nodes. Data flows from source to target. Use sourceHandle/targetHandle for multi-output nodes like if-else (e.g. \"true_output\", \"false_output\").",
|
|
257
|
+
parameters: z.object({
|
|
258
|
+
sourceNodeId: z.string().describe("ID of the source node (data flows FROM here)"),
|
|
259
|
+
targetNodeId: z.string().describe("ID of the target node (data flows TO here)"),
|
|
260
|
+
sourceHandle: z.string().optional().describe("Source handle for multi-output nodes (e.g. \"true_output\", \"false_output\")"),
|
|
261
|
+
targetHandle: z.string().optional().describe("Target handle (rarely needed)")
|
|
262
|
+
}),
|
|
263
|
+
async execute(params, ctx) {
|
|
264
|
+
const { sourceNodeId, targetNodeId, sourceHandle, targetHandle } = params;
|
|
265
|
+
const invect = ctx.invect;
|
|
266
|
+
const flowId = ctx.chatContext.flowId;
|
|
267
|
+
if (!flowId) return {
|
|
268
|
+
success: false,
|
|
269
|
+
error: "No flow is currently open"
|
|
270
|
+
};
|
|
271
|
+
try {
|
|
272
|
+
const { nodes, edges } = await loadLatestDefinition(invect, flowId);
|
|
273
|
+
const source = nodes.find((n) => n.id === sourceNodeId);
|
|
274
|
+
const target = nodes.find((n) => n.id === targetNodeId);
|
|
275
|
+
if (!source) return {
|
|
276
|
+
success: false,
|
|
277
|
+
error: `Source node "${sourceNodeId}" not found`,
|
|
278
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
279
|
+
};
|
|
280
|
+
if (!target) return {
|
|
281
|
+
success: false,
|
|
282
|
+
error: `Target node "${targetNodeId}" not found`,
|
|
283
|
+
suggestion: "Use get_current_flow_context to see available node IDs."
|
|
284
|
+
};
|
|
285
|
+
if (edges.some((e) => e.source === sourceNodeId && e.target === targetNodeId && (e.sourceHandle ?? "") === (sourceHandle ?? "") && (e.targetHandle ?? "") === (targetHandle ?? ""))) return {
|
|
286
|
+
success: true,
|
|
287
|
+
data: { message: "Edge already exists — no change needed" }
|
|
288
|
+
};
|
|
289
|
+
edges.push({
|
|
290
|
+
id: `edge_${genId()}`,
|
|
291
|
+
source: sourceNodeId,
|
|
292
|
+
target: targetNodeId,
|
|
293
|
+
...sourceHandle && { sourceHandle },
|
|
294
|
+
...targetHandle && { targetHandle }
|
|
295
|
+
});
|
|
296
|
+
const version = await saveNewVersion(invect, flowId, nodes, edges);
|
|
297
|
+
return {
|
|
298
|
+
success: true,
|
|
299
|
+
data: {
|
|
300
|
+
edgeId: edges[edges.length - 1].id,
|
|
301
|
+
from: `${source.label ?? sourceNodeId}`,
|
|
302
|
+
to: `${target.label ?? targetNodeId}`,
|
|
303
|
+
versionNumber: version.version
|
|
304
|
+
},
|
|
305
|
+
uiAction: {
|
|
306
|
+
action: "refresh_flow",
|
|
307
|
+
data: { flowId }
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
} catch (error) {
|
|
311
|
+
return {
|
|
312
|
+
success: false,
|
|
313
|
+
error: `Failed to connect nodes: ${error.message}`
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
];
|
|
319
|
+
//#endregion
|
|
320
|
+
export { nodeTools };
|
|
321
|
+
|
|
322
|
+
//# sourceMappingURL=node-tools.js.map
|