@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,375 @@
|
|
|
1
|
+
import { ValidationError } from "../types/common/errors.types.js";
|
|
2
|
+
import { NodeExecutionStatus } from "../types/base.js";
|
|
3
|
+
import { BaseLogger } from "../utils/logger.js";
|
|
4
|
+
//#region src/services/graph.service.ts
|
|
5
|
+
/**
|
|
6
|
+
* Graph Service for flow topology analysis and dependency management
|
|
7
|
+
* Provides utilities for topological sorting, cycle detection, and dependency resolution
|
|
8
|
+
*/
|
|
9
|
+
var GraphService = class GraphService {
|
|
10
|
+
static logger = new BaseLogger({ level: "debug" });
|
|
11
|
+
constructor(logger, nodeExecutionService) {
|
|
12
|
+
this.logger = logger;
|
|
13
|
+
this.nodeExecutionService = nodeExecutionService;
|
|
14
|
+
GraphService.logger = logger || new BaseLogger({ level: "debug" });
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Perform topological sort on flow nodes to determine execution order
|
|
18
|
+
*/
|
|
19
|
+
static topologicalSort(nodes, edges) {
|
|
20
|
+
const nodeIds = nodes.map((n) => n.id);
|
|
21
|
+
const adjList = /* @__PURE__ */ new Map();
|
|
22
|
+
const inDegree = /* @__PURE__ */ new Map();
|
|
23
|
+
for (const nodeId of nodeIds) {
|
|
24
|
+
adjList.set(nodeId, []);
|
|
25
|
+
inDegree.set(nodeId, 0);
|
|
26
|
+
}
|
|
27
|
+
for (const edge of edges) {
|
|
28
|
+
const from = edge.source;
|
|
29
|
+
const to = edge.target;
|
|
30
|
+
if (adjList.has(from) && adjList.has(to)) {
|
|
31
|
+
const fromList = adjList.get(from);
|
|
32
|
+
if (fromList) fromList.push(to);
|
|
33
|
+
const currentInDegree = inDegree.get(to);
|
|
34
|
+
if (currentInDegree !== void 0) inDegree.set(to, currentInDegree + 1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const queue = [];
|
|
38
|
+
const result = [];
|
|
39
|
+
for (const [nodeId, degree] of inDegree) if (degree === 0) queue.push(nodeId);
|
|
40
|
+
while (queue.length > 0) {
|
|
41
|
+
const current = queue.shift();
|
|
42
|
+
if (!current) break;
|
|
43
|
+
result.push(current);
|
|
44
|
+
const neighbors = adjList.get(current) || [];
|
|
45
|
+
for (const neighbor of neighbors) {
|
|
46
|
+
const currentInDegree = inDegree.get(neighbor);
|
|
47
|
+
if (currentInDegree !== void 0) {
|
|
48
|
+
const newInDegree = currentInDegree - 1;
|
|
49
|
+
inDegree.set(neighbor, newInDegree);
|
|
50
|
+
if (newInDegree === 0) queue.push(neighbor);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (result.length !== nodeIds.length) throw new Error("Flow contains cycles and cannot be executed");
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Mark downstream nodes as skipped (smart skipping)
|
|
59
|
+
* Used primarily for conditional flows (if-else nodes) to skip non-executed branches
|
|
60
|
+
* Only skips nodes if ALL their incoming edges come from skipped nodes
|
|
61
|
+
*/
|
|
62
|
+
markDownstreamNodesAsSkipped(nodeId, edges, skippedNodes, isFromIfElse = false) {
|
|
63
|
+
this.logger.debug("Marking downstream nodes as skipped", {
|
|
64
|
+
startNodeId: nodeId,
|
|
65
|
+
edgeCount: edges.length,
|
|
66
|
+
currentSkippedCount: skippedNodes.size,
|
|
67
|
+
isFromIfElse
|
|
68
|
+
});
|
|
69
|
+
const queue = [];
|
|
70
|
+
if (isFromIfElse) {
|
|
71
|
+
if (!skippedNodes.has(nodeId)) {
|
|
72
|
+
skippedNodes.add(nodeId);
|
|
73
|
+
this.logger.debug(`Marking node ${nodeId} as SKIPPED (from if-else branch)`);
|
|
74
|
+
GraphService.getOutgoingEdges(nodeId, edges).forEach((edge) => {
|
|
75
|
+
if (!skippedNodes.has(edge.target)) queue.push(edge.target);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
} else GraphService.getOutgoingEdges(nodeId, edges).forEach((edge) => {
|
|
79
|
+
if (!skippedNodes.has(edge.target)) queue.push(edge.target);
|
|
80
|
+
});
|
|
81
|
+
while (queue.length > 0) {
|
|
82
|
+
const currentNodeId = queue.shift();
|
|
83
|
+
if (!currentNodeId) break;
|
|
84
|
+
if (this.shouldNodeBeSkipped(currentNodeId, edges, skippedNodes)) {
|
|
85
|
+
if (!skippedNodes.has(currentNodeId)) {
|
|
86
|
+
skippedNodes.add(currentNodeId);
|
|
87
|
+
this.logger.debug(`Marking node ${currentNodeId} as SKIPPED (all dependencies skipped)`);
|
|
88
|
+
GraphService.getOutgoingEdges(currentNodeId, edges).forEach((edge) => {
|
|
89
|
+
if (!skippedNodes.has(edge.target)) queue.push(edge.target);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
} else this.logger.debug(`Node ${currentNodeId} NOT skipped (has non-skipped dependencies)`);
|
|
93
|
+
}
|
|
94
|
+
this.logger.debug("Completed marking downstream nodes as skipped", {
|
|
95
|
+
startNodeId: nodeId,
|
|
96
|
+
totalSkippedCount: skippedNodes.size,
|
|
97
|
+
isFromIfElse
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Check if a node should be skipped based on its dependencies
|
|
102
|
+
* A node should only be skipped if ALL its incoming edges come from skipped nodes
|
|
103
|
+
*/
|
|
104
|
+
shouldNodeBeSkipped(nodeId, edges, skippedNodes) {
|
|
105
|
+
const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);
|
|
106
|
+
if (incomingEdges.length === 0) return false;
|
|
107
|
+
const allDependenciesSkipped = incomingEdges.every((edge) => skippedNodes.has(edge.source));
|
|
108
|
+
this.logger.debug(`Checking skip condition for node ${nodeId}`, {
|
|
109
|
+
nodeId,
|
|
110
|
+
incomingEdgeCount: incomingEdges.length,
|
|
111
|
+
skippedSources: incomingEdges.filter((edge) => skippedNodes.has(edge.source)).map((edge) => edge.source),
|
|
112
|
+
nonSkippedSources: incomingEdges.filter((edge) => !skippedNodes.has(edge.source)).map((edge) => edge.source),
|
|
113
|
+
allDependenciesSkipped
|
|
114
|
+
});
|
|
115
|
+
return allDependenciesSkipped;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Checks if a node is ready to execute based on dependency completion
|
|
119
|
+
*/
|
|
120
|
+
async isNodeReadyToExecute(nodeId, flowContext, executionId) {
|
|
121
|
+
this.logger.debug("Checking if node is ready to execute", {
|
|
122
|
+
nodeId,
|
|
123
|
+
executionId
|
|
124
|
+
});
|
|
125
|
+
if (!nodeId) throw new ValidationError("Node ID is required", "nodeId");
|
|
126
|
+
const { edges, nodeExecutionResults, skippedNodeIds, allNodeOutputs } = flowContext;
|
|
127
|
+
const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);
|
|
128
|
+
if (incomingEdges.length === 0) {
|
|
129
|
+
this.logger.debug("Node has no dependencies, ready to execute", { nodeId });
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
for (const edge of incomingEdges) {
|
|
133
|
+
const sourceNodeId = edge.source;
|
|
134
|
+
if (skippedNodeIds.has(sourceNodeId)) {
|
|
135
|
+
this.logger.debug("Dependency node is skipped, continuing", {
|
|
136
|
+
nodeId,
|
|
137
|
+
dependencyNodeId: sourceNodeId
|
|
138
|
+
});
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
if (nodeExecutionResults.has(sourceNodeId)) {
|
|
142
|
+
if (nodeExecutionResults.get(sourceNodeId)?.state === NodeExecutionStatus.PENDING) {
|
|
143
|
+
if (executionId) try {
|
|
144
|
+
const dependencyTrace = await this.nodeExecutionService.getNodeExecutionById(executionId);
|
|
145
|
+
if (dependencyTrace && dependencyTrace.status === NodeExecutionStatus.RUNNING) {
|
|
146
|
+
this.logger.debug("Dependency batch job still running", {
|
|
147
|
+
nodeId,
|
|
148
|
+
dependencyNodeId: sourceNodeId
|
|
149
|
+
});
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
} catch (error) {
|
|
153
|
+
this.logger.warn("Failed to check dependency trace status", {
|
|
154
|
+
nodeId,
|
|
155
|
+
dependencyNodeId: sourceNodeId,
|
|
156
|
+
error
|
|
157
|
+
});
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
if (executionId) try {
|
|
164
|
+
const dependencyTrace = await this.nodeExecutionService.getNodeExecutionById(executionId);
|
|
165
|
+
if (dependencyTrace) switch (dependencyTrace.status) {
|
|
166
|
+
case NodeExecutionStatus.RUNNING:
|
|
167
|
+
this.logger.debug("Dependency still running", {
|
|
168
|
+
nodeId,
|
|
169
|
+
dependencyNodeId: sourceNodeId
|
|
170
|
+
});
|
|
171
|
+
return false;
|
|
172
|
+
case NodeExecutionStatus.SUCCESS:
|
|
173
|
+
if (dependencyTrace.outputs) allNodeOutputs.set(sourceNodeId, dependencyTrace.outputs);
|
|
174
|
+
continue;
|
|
175
|
+
case NodeExecutionStatus.FAILED:
|
|
176
|
+
this.logger.debug("Dependency failed, node not ready", {
|
|
177
|
+
nodeId,
|
|
178
|
+
dependencyNodeId: sourceNodeId
|
|
179
|
+
});
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
} catch (error) {
|
|
183
|
+
this.logger.warn("Failed to check dependency status", {
|
|
184
|
+
nodeId,
|
|
185
|
+
dependencyNodeId: sourceNodeId,
|
|
186
|
+
error
|
|
187
|
+
});
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
this.logger.debug("Dependency not ready", {
|
|
191
|
+
nodeId,
|
|
192
|
+
dependencyNodeId: sourceNodeId
|
|
193
|
+
});
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
this.logger.debug("Node is ready to execute", { nodeId });
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Checks if there are circular dependencies in the flow
|
|
201
|
+
*/
|
|
202
|
+
static hasCycleDetection(nodes, edges) {
|
|
203
|
+
if (!nodes || nodes.length === 0) return { hasCycle: false };
|
|
204
|
+
const adjList = {};
|
|
205
|
+
for (const node of nodes) adjList[node.id] = [];
|
|
206
|
+
for (const edge of edges) if (adjList[edge.source]) adjList[edge.source].push(edge.target);
|
|
207
|
+
const visited = /* @__PURE__ */ new Set();
|
|
208
|
+
const recursionStack = /* @__PURE__ */ new Set();
|
|
209
|
+
const dfs = (nodeId, path) => {
|
|
210
|
+
visited.add(nodeId);
|
|
211
|
+
recursionStack.add(nodeId);
|
|
212
|
+
path.push(nodeId);
|
|
213
|
+
const neighbors = adjList[nodeId] || [];
|
|
214
|
+
for (const neighbor of neighbors) if (!visited.has(neighbor)) {
|
|
215
|
+
const result = dfs(neighbor, [...path]);
|
|
216
|
+
if (result.hasCycle) return result;
|
|
217
|
+
} else if (recursionStack.has(neighbor)) {
|
|
218
|
+
const cycleStart = path.indexOf(neighbor);
|
|
219
|
+
return {
|
|
220
|
+
hasCycle: true,
|
|
221
|
+
cyclePath: [...path.slice(cycleStart), neighbor]
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
recursionStack.delete(nodeId);
|
|
225
|
+
return { hasCycle: false };
|
|
226
|
+
};
|
|
227
|
+
for (const node of nodes) if (!visited.has(node.id)) {
|
|
228
|
+
const result = dfs(node.id, []);
|
|
229
|
+
if (result.hasCycle) return result;
|
|
230
|
+
}
|
|
231
|
+
return { hasCycle: false };
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Finds all nodes that are not connected to any output node
|
|
235
|
+
*/
|
|
236
|
+
static findDisconnectedNodes(nodes, edges, outputNodeType) {
|
|
237
|
+
GraphService.logger.debug("Finding disconnected nodes", {
|
|
238
|
+
nodeCount: nodes.length,
|
|
239
|
+
edgeCount: edges.length,
|
|
240
|
+
outputNodeType
|
|
241
|
+
});
|
|
242
|
+
if (!nodes || nodes.length === 0) return [];
|
|
243
|
+
const outputNodes = nodes.filter((node) => node.type === outputNodeType);
|
|
244
|
+
if (outputNodes.length === 0) {
|
|
245
|
+
const allNodeIds = nodes.map((n) => n.id);
|
|
246
|
+
GraphService.logger.warn("No output nodes found, all nodes are disconnected", { disconnectedNodes: allNodeIds });
|
|
247
|
+
return allNodeIds;
|
|
248
|
+
}
|
|
249
|
+
const connectedNodes = /* @__PURE__ */ new Set();
|
|
250
|
+
const visited = /* @__PURE__ */ new Set();
|
|
251
|
+
const queue = [...outputNodes.map((n) => n.id)];
|
|
252
|
+
while (queue.length > 0) {
|
|
253
|
+
const nodeId = queue.shift();
|
|
254
|
+
if (!nodeId) break;
|
|
255
|
+
if (visited.has(nodeId)) continue;
|
|
256
|
+
visited.add(nodeId);
|
|
257
|
+
connectedNodes.add(nodeId);
|
|
258
|
+
const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);
|
|
259
|
+
for (const edge of incomingEdges) if (!visited.has(edge.source)) queue.push(edge.source);
|
|
260
|
+
}
|
|
261
|
+
const disconnectedNodes = nodes.filter((node) => node.type !== outputNodeType && !connectedNodes.has(node.id)).map((node) => node.id);
|
|
262
|
+
GraphService.logger.debug("Disconnected nodes found", {
|
|
263
|
+
disconnectedNodes,
|
|
264
|
+
connectedNodeCount: connectedNodes.size
|
|
265
|
+
});
|
|
266
|
+
return disconnectedNodes;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Gets incoming edges for a specific node
|
|
270
|
+
*/
|
|
271
|
+
static getIncomingEdges(nodeId, edges) {
|
|
272
|
+
return edges.filter((edge) => edge.target === nodeId);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Gets outgoing edges for a specific node
|
|
276
|
+
*/
|
|
277
|
+
static getOutgoingEdges(nodeId, edges) {
|
|
278
|
+
return edges.filter((edge) => edge.source === nodeId);
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Checks if a node type requires structured input (for validation)
|
|
282
|
+
*/
|
|
283
|
+
nodeRequiresStructuredInput(nodeType) {
|
|
284
|
+
return ["ifElseNode", "jqNode"].includes(nodeType);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Checks if any remaining nodes have running dependencies
|
|
288
|
+
*/
|
|
289
|
+
async checkForRunningDependencies(remainingNodeIds, edges, runningDependencyCheckFn) {
|
|
290
|
+
this.logger.debug("Checking for running dependencies", { remainingNodeCount: remainingNodeIds.length });
|
|
291
|
+
for (const nodeId of remainingNodeIds) {
|
|
292
|
+
const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);
|
|
293
|
+
for (const edge of incomingEdges) try {
|
|
294
|
+
if (await runningDependencyCheckFn(edge.source)) {
|
|
295
|
+
this.logger.debug("Found running dependency", {
|
|
296
|
+
nodeId,
|
|
297
|
+
dependencyNodeId: edge.source
|
|
298
|
+
});
|
|
299
|
+
return true;
|
|
300
|
+
}
|
|
301
|
+
} catch (error) {
|
|
302
|
+
this.logger.warn("Failed to check running dependency", {
|
|
303
|
+
nodeId,
|
|
304
|
+
dependencyNodeId: edge.source,
|
|
305
|
+
error
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
this.logger.debug("No running dependencies found");
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Gets all terminal nodes (nodes with no outgoing edges)
|
|
314
|
+
*/
|
|
315
|
+
getTerminalNodes(nodes, edges) {
|
|
316
|
+
return nodes.filter((n) => !edges.some((e) => e.source === n.id));
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Gets immediate dependents of a node
|
|
320
|
+
*/
|
|
321
|
+
getNodeDependents(nodeId, edges) {
|
|
322
|
+
return GraphService.getOutgoingEdges(nodeId, edges).map((edge) => edge.target);
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Gets all downstream nodes (all nodes reachable from this node)
|
|
326
|
+
*/
|
|
327
|
+
getDownstreamNodes(nodeId, edges) {
|
|
328
|
+
const visited = /* @__PURE__ */ new Set();
|
|
329
|
+
const downstream = [];
|
|
330
|
+
const dfs = (currentNodeId) => {
|
|
331
|
+
const dependents = this.getNodeDependents(currentNodeId, edges);
|
|
332
|
+
for (const dependent of dependents) if (!visited.has(dependent)) {
|
|
333
|
+
visited.add(dependent);
|
|
334
|
+
downstream.push(dependent);
|
|
335
|
+
dfs(dependent);
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
dfs(nodeId);
|
|
339
|
+
return downstream;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Gets immediate dependencies of a node (nodes that feed into this node)
|
|
343
|
+
*/
|
|
344
|
+
getNodeDependencies(nodeId, edges) {
|
|
345
|
+
return GraphService.getIncomingEdges(nodeId, edges).map((edge) => edge.source);
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Gets all upstream nodes (all nodes that this node depends on, directly or indirectly)
|
|
349
|
+
* Returns nodes in topological order (dependencies first)
|
|
350
|
+
*/
|
|
351
|
+
getUpstreamNodes(nodeId, nodes, edges) {
|
|
352
|
+
const visited = /* @__PURE__ */ new Set();
|
|
353
|
+
const upstream = [];
|
|
354
|
+
const dfs = (currentNodeId) => {
|
|
355
|
+
const dependencies = this.getNodeDependencies(currentNodeId, edges);
|
|
356
|
+
for (const dependency of dependencies) if (!visited.has(dependency)) {
|
|
357
|
+
visited.add(dependency);
|
|
358
|
+
dfs(dependency);
|
|
359
|
+
upstream.push(dependency);
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
dfs(nodeId);
|
|
363
|
+
return upstream;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Gets all upstream nodes plus the target node, in topological execution order
|
|
367
|
+
*/
|
|
368
|
+
getExecutionPathToNode(targetNodeId, nodes, edges) {
|
|
369
|
+
return [...this.getUpstreamNodes(targetNodeId, nodes, edges), targetNodeId];
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
//#endregion
|
|
373
|
+
export { GraphService };
|
|
374
|
+
|
|
375
|
+
//# sourceMappingURL=graph.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.service.js","names":[],"sources":["../../src/services/graph.service.ts"],"sourcesContent":["import { FlowRunContext } from 'src/types-fresh';\nimport { NodeExecutionStatus } from 'src/types/base';\nimport { ValidationError } from 'src/types/common/errors.types';\nimport { Logger } from 'src/types/schemas';\nimport { NodeExecutionService } from './node-executions/node-execution.service';\nimport { BaseLogger } from 'src/utils/logger';\nimport { FlowEdge, FlowNodeDefinitions } from './flow-versions/schemas-fresh';\n\n/**\n * Graph Service for flow topology analysis and dependency management\n * Provides utilities for topological sorting, cycle detection, and dependency resolution\n */\nexport class GraphService {\n static logger: Logger = new BaseLogger({ level: 'debug' });\n\n constructor(\n private readonly logger: Logger,\n private readonly nodeExecutionService: NodeExecutionService,\n ) {\n GraphService.logger = logger || new BaseLogger({ level: 'debug' });\n }\n\n /**\n * Perform topological sort on flow nodes to determine execution order\n */\n static topologicalSort(\n nodes: readonly FlowNodeDefinitions[],\n edges: readonly FlowEdge[],\n ): string[] {\n const nodeIds = nodes.map((n) => n.id);\n const adjList = new Map<string, string[]>();\n const inDegree = new Map<string, number>();\n\n // Initialize adjacency list and in-degree count\n for (const nodeId of nodeIds) {\n adjList.set(nodeId, []);\n inDegree.set(nodeId, 0);\n }\n\n // Build adjacency list and calculate in-degrees\n for (const edge of edges) {\n const from = edge.source;\n const to = edge.target;\n\n if (adjList.has(from) && adjList.has(to)) {\n const fromList = adjList.get(from);\n if (fromList) {\n fromList.push(to);\n }\n const currentInDegree = inDegree.get(to);\n if (currentInDegree !== undefined) {\n inDegree.set(to, currentInDegree + 1);\n }\n }\n }\n\n // Kahn's algorithm for topological sorting\n const queue: string[] = [];\n const result: string[] = [];\n\n // Find all nodes with no incoming edges\n for (const [nodeId, degree] of inDegree) {\n if (degree === 0) {\n queue.push(nodeId);\n }\n }\n\n while (queue.length > 0) {\n const current = queue.shift();\n if (!current) {\n break;\n }\n\n result.push(current);\n\n // Remove this node from the graph\n const neighbors = adjList.get(current) || [];\n for (const neighbor of neighbors) {\n const currentInDegree = inDegree.get(neighbor);\n if (currentInDegree !== undefined) {\n const newInDegree = currentInDegree - 1;\n inDegree.set(neighbor, newInDegree);\n if (newInDegree === 0) {\n queue.push(neighbor);\n }\n }\n }\n }\n\n // Check for cycles\n if (result.length !== nodeIds.length) {\n throw new Error('Flow contains cycles and cannot be executed');\n }\n\n return result;\n }\n\n /**\n * Mark downstream nodes as skipped (smart skipping)\n * Used primarily for conditional flows (if-else nodes) to skip non-executed branches\n * Only skips nodes if ALL their incoming edges come from skipped nodes\n */\n markDownstreamNodesAsSkipped(\n nodeId: string,\n edges: readonly FlowEdge[],\n skippedNodes: Set<string>,\n isFromIfElse: boolean | undefined = false,\n ): void {\n this.logger.debug('Marking downstream nodes as skipped', {\n startNodeId: nodeId,\n edgeCount: edges.length,\n currentSkippedCount: skippedNodes.size,\n isFromIfElse,\n });\n\n const queue: string[] = [];\n\n if (isFromIfElse) {\n // When called from if-else node, mark the starting node itself as skipped\n // (the starting node is the first node on the non-executed branch)\n if (!skippedNodes.has(nodeId)) {\n skippedNodes.add(nodeId);\n this.logger.debug(`Marking node ${nodeId} as SKIPPED (from if-else branch)`);\n\n // Add its downstream nodes to queue for further processing\n const outgoingEdges = GraphService.getOutgoingEdges(nodeId, edges);\n outgoingEdges.forEach((edge) => {\n if (!skippedNodes.has(edge.target)) {\n queue.push(edge.target);\n }\n });\n }\n } else {\n // Otherwise, start with the immediate downstream nodes\n const outgoingEdges = GraphService.getOutgoingEdges(nodeId, edges);\n outgoingEdges.forEach((edge) => {\n if (!skippedNodes.has(edge.target)) {\n queue.push(edge.target);\n }\n });\n }\n\n // Smart breadth-first traversal with dependency checking\n while (queue.length > 0) {\n const currentNodeId = queue.shift();\n if (!currentNodeId) {\n break;\n }\n\n // Only skip if ALL incoming edges come from skipped nodes\n if (this.shouldNodeBeSkipped(currentNodeId, edges, skippedNodes)) {\n if (!skippedNodes.has(currentNodeId)) {\n skippedNodes.add(currentNodeId);\n this.logger.debug(`Marking node ${currentNodeId} as SKIPPED (all dependencies skipped)`);\n\n // Add downstream nodes to queue only if this node was actually skipped\n const outgoingEdges = GraphService.getOutgoingEdges(currentNodeId, edges);\n outgoingEdges.forEach((edge) => {\n if (!skippedNodes.has(edge.target)) {\n queue.push(edge.target);\n }\n });\n }\n } else {\n this.logger.debug(`Node ${currentNodeId} NOT skipped (has non-skipped dependencies)`);\n }\n }\n\n this.logger.debug('Completed marking downstream nodes as skipped', {\n startNodeId: nodeId,\n totalSkippedCount: skippedNodes.size,\n isFromIfElse,\n });\n }\n\n /**\n * Check if a node should be skipped based on its dependencies\n * A node should only be skipped if ALL its incoming edges come from skipped nodes\n */\n private shouldNodeBeSkipped(\n nodeId: string,\n edges: readonly FlowEdge[],\n skippedNodes: Set<string>,\n ): boolean {\n const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);\n\n // If node has no incoming edges, it should not be skipped (it's a root node)\n if (incomingEdges.length === 0) {\n return false;\n }\n\n // Check if ALL incoming edges come from skipped nodes\n const allDependenciesSkipped = incomingEdges.every((edge) => skippedNodes.has(edge.source));\n\n this.logger.debug(`Checking skip condition for node ${nodeId}`, {\n nodeId,\n incomingEdgeCount: incomingEdges.length,\n skippedSources: incomingEdges\n .filter((edge) => skippedNodes.has(edge.source))\n .map((edge) => edge.source),\n nonSkippedSources: incomingEdges\n .filter((edge) => !skippedNodes.has(edge.source))\n .map((edge) => edge.source),\n allDependenciesSkipped,\n });\n\n return allDependenciesSkipped;\n }\n\n /**\n * Checks if a node is ready to execute based on dependency completion\n */\n async isNodeReadyToExecute(\n nodeId: string,\n flowContext: FlowRunContext,\n executionId?: string,\n ): Promise<boolean> {\n this.logger.debug('Checking if node is ready to execute', { nodeId, executionId });\n\n if (!nodeId) {\n throw new ValidationError('Node ID is required', 'nodeId');\n }\n\n const { edges, nodeExecutionResults, skippedNodeIds, allNodeOutputs } = flowContext;\n\n // Get incoming edges for this node\n const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);\n\n if (incomingEdges.length === 0) {\n // TODO: maybe should skip if this is not an input node?\n this.logger.debug('Node has no dependencies, ready to execute', { nodeId });\n return true; // No dependencies\n }\n\n // Check if all dependency nodes have completed\n for (const edge of incomingEdges) {\n const sourceNodeId = edge.source;\n\n // If the source node is skipped, that's okay\n if (skippedNodeIds.has(sourceNodeId)) {\n this.logger.debug('Dependency node is skipped, continuing', {\n nodeId,\n dependencyNodeId: sourceNodeId,\n });\n continue;\n }\n\n // If we have the output, check if it's a batch output or actual output\n if (nodeExecutionResults.has(sourceNodeId)) {\n const executionResult = nodeExecutionResults.get(sourceNodeId);\n\n // Check if this is a batch submission\n if (executionResult?.state === NodeExecutionStatus.PENDING) {\n // This is a batch job that hasn't completed yet\n // Check the database for the actual status\n if (executionId) {\n try {\n const dependencyTrace =\n await this.nodeExecutionService.getNodeExecutionById(executionId);\n\n if (dependencyTrace && dependencyTrace.status === NodeExecutionStatus.RUNNING) {\n this.logger.debug('Dependency batch job still running', {\n nodeId,\n dependencyNodeId: sourceNodeId,\n });\n return false;\n }\n } catch (error) {\n this.logger.warn('Failed to check dependency trace status', {\n nodeId,\n dependencyNodeId: sourceNodeId,\n error,\n });\n return false;\n }\n }\n // If no trace or trace shows completion, fall through to continue\n }\n\n // Normal output - dependency is ready\n continue;\n }\n\n // If we have executionId and database service, check database for dependency status\n if (executionId) {\n try {\n const dependencyTrace = await this.nodeExecutionService.getNodeExecutionById(executionId);\n\n if (dependencyTrace) {\n switch (dependencyTrace.status) {\n case NodeExecutionStatus.RUNNING:\n this.logger.debug('Dependency still running', {\n nodeId,\n dependencyNodeId: sourceNodeId,\n });\n return false;\n case NodeExecutionStatus.SUCCESS:\n // Add output to nodeOutputs if we have it\n if (dependencyTrace.outputs) {\n allNodeOutputs.set(sourceNodeId, dependencyTrace.outputs);\n }\n continue;\n case NodeExecutionStatus.FAILED:\n this.logger.debug('Dependency failed, node not ready', {\n nodeId,\n dependencyNodeId: sourceNodeId,\n });\n return false;\n }\n }\n } catch (error) {\n this.logger.warn('Failed to check dependency status', {\n nodeId,\n dependencyNodeId: sourceNodeId,\n error,\n });\n return false;\n }\n }\n\n // Dependency not ready\n this.logger.debug('Dependency not ready', {\n nodeId,\n dependencyNodeId: sourceNodeId,\n });\n return false;\n }\n\n this.logger.debug('Node is ready to execute', { nodeId });\n return true;\n }\n\n /**\n * Checks if there are circular dependencies in the flow\n */\n static hasCycleDetection(\n nodes: readonly FlowNodeDefinitions[],\n edges: readonly FlowEdge[],\n ): { hasCycle: boolean; cyclePath?: string[] } {\n if (!nodes || nodes.length === 0) {\n return { hasCycle: false };\n }\n\n const adjList: Record<string, string[]> = {};\n\n // Initialize adjacency list\n for (const node of nodes) {\n adjList[node.id] = [];\n }\n\n // Build adjacency list\n for (const edge of edges) {\n if (adjList[edge.source]) {\n adjList[edge.source].push(edge.target);\n }\n }\n\n const visited = new Set<string>();\n const recursionStack = new Set<string>();\n\n const dfs = (nodeId: string, path: string[]): { hasCycle: boolean; cyclePath?: string[] } => {\n visited.add(nodeId);\n recursionStack.add(nodeId);\n path.push(nodeId);\n\n const neighbors = adjList[nodeId] || [];\n for (const neighbor of neighbors) {\n if (!visited.has(neighbor)) {\n const result = dfs(neighbor, [...path]);\n if (result.hasCycle) {\n return result;\n }\n } else if (recursionStack.has(neighbor)) {\n // Found a cycle\n const cycleStart = path.indexOf(neighbor);\n const cyclePath = [...path.slice(cycleStart), neighbor];\n\n return {\n hasCycle: true,\n cyclePath,\n };\n }\n }\n\n recursionStack.delete(nodeId);\n return { hasCycle: false };\n };\n\n // Check each unvisited node\n for (const node of nodes) {\n if (!visited.has(node.id)) {\n const result = dfs(node.id, []);\n if (result.hasCycle) {\n return result;\n }\n }\n }\n\n return { hasCycle: false };\n }\n\n /**\n * Finds all nodes that are not connected to any output node\n */\n static findDisconnectedNodes(\n nodes: readonly FlowNodeDefinitions[],\n edges: readonly FlowEdge[],\n outputNodeType: string,\n ): string[] {\n GraphService.logger.debug('Finding disconnected nodes', {\n nodeCount: nodes.length,\n edgeCount: edges.length,\n outputNodeType,\n });\n\n if (!nodes || nodes.length === 0) {\n return [];\n }\n\n // Find all output nodes\n const outputNodes = nodes.filter((node) => node.type === outputNodeType);\n\n if (outputNodes.length === 0) {\n const allNodeIds = nodes.map((n) => n.id);\n GraphService.logger.warn('No output nodes found, all nodes are disconnected', {\n disconnectedNodes: allNodeIds,\n });\n return allNodeIds; // All nodes are disconnected if no output nodes\n }\n\n // Find all nodes that can reach an output node\n const connectedNodes = new Set<string>();\n\n // Start from output nodes and work backwards\n const visited = new Set<string>();\n const queue = [...outputNodes.map((n) => n.id)];\n\n while (queue.length > 0) {\n const nodeId = queue.shift();\n if (!nodeId) {\n break;\n }\n\n if (visited.has(nodeId)) {\n continue;\n }\n\n visited.add(nodeId);\n connectedNodes.add(nodeId);\n\n // Find all edges that lead to this node\n const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);\n for (const edge of incomingEdges) {\n if (!visited.has(edge.source)) {\n queue.push(edge.source);\n }\n }\n }\n\n // Return nodes that are not connected to any output\n const disconnectedNodes = nodes\n .filter((node) => node.type !== outputNodeType && !connectedNodes.has(node.id))\n .map((node) => node.id);\n\n GraphService.logger.debug('Disconnected nodes found', {\n disconnectedNodes,\n connectedNodeCount: connectedNodes.size,\n });\n\n return disconnectedNodes;\n }\n\n /**\n * Gets incoming edges for a specific node\n */\n static getIncomingEdges(nodeId: string, edges: readonly FlowEdge[]): FlowEdge[] {\n return edges.filter((edge) => edge.target === nodeId);\n }\n\n /**\n * Gets outgoing edges for a specific node\n */\n static getOutgoingEdges(nodeId: string, edges: readonly FlowEdge[]): FlowEdge[] {\n return edges.filter((edge) => edge.source === nodeId);\n }\n\n /**\n * Checks if a node type requires structured input (for validation)\n */\n nodeRequiresStructuredInput(nodeType: string): boolean {\n // Node types that require structured JSON input\n const structuredInputTypes = ['ifElseNode', 'jqNode'];\n return structuredInputTypes.includes(nodeType);\n }\n\n /**\n * Checks if any remaining nodes have running dependencies\n */\n async checkForRunningDependencies(\n remainingNodeIds: string[],\n edges: FlowEdge[],\n runningDependencyCheckFn: (nodeId: string) => Promise<boolean>,\n ): Promise<boolean> {\n this.logger.debug('Checking for running dependencies', {\n remainingNodeCount: remainingNodeIds.length,\n });\n\n // Check if any of the remaining nodes have dependencies that are still running\n for (const nodeId of remainingNodeIds) {\n const incomingEdges = GraphService.getIncomingEdges(nodeId, edges);\n\n for (const edge of incomingEdges) {\n try {\n const isRunning = await runningDependencyCheckFn(edge.source);\n if (isRunning) {\n this.logger.debug('Found running dependency', {\n nodeId,\n dependencyNodeId: edge.source,\n });\n return true; // Found a running dependency\n }\n } catch (error) {\n this.logger.warn('Failed to check running dependency', {\n nodeId,\n dependencyNodeId: edge.source,\n error,\n });\n }\n }\n }\n\n this.logger.debug('No running dependencies found');\n return false;\n }\n\n /**\n * Gets all terminal nodes (nodes with no outgoing edges)\n */\n getTerminalNodes(\n nodes: readonly FlowNodeDefinitions[],\n edges: readonly FlowEdge[],\n ): FlowNodeDefinitions[] {\n return nodes.filter((n) => !edges.some((e) => e.source === n.id));\n }\n\n /**\n * Gets immediate dependents of a node\n */\n getNodeDependents(nodeId: string, edges: readonly FlowEdge[]): string[] {\n return GraphService.getOutgoingEdges(nodeId, edges).map((edge) => edge.target);\n }\n\n /**\n * Gets all downstream nodes (all nodes reachable from this node)\n */\n getDownstreamNodes(nodeId: string, edges: readonly FlowEdge[]): string[] {\n const visited = new Set<string>();\n const downstream: string[] = [];\n\n const dfs = (currentNodeId: string) => {\n const dependents = this.getNodeDependents(currentNodeId, edges);\n\n for (const dependent of dependents) {\n if (!visited.has(dependent)) {\n visited.add(dependent);\n downstream.push(dependent);\n dfs(dependent); // Recursively find downstream nodes\n }\n }\n };\n\n dfs(nodeId);\n return downstream;\n }\n\n /**\n * Gets immediate dependencies of a node (nodes that feed into this node)\n */\n getNodeDependencies(nodeId: string, edges: readonly FlowEdge[]): string[] {\n return GraphService.getIncomingEdges(nodeId, edges).map((edge) => edge.source);\n }\n\n /**\n * Gets all upstream nodes (all nodes that this node depends on, directly or indirectly)\n * Returns nodes in topological order (dependencies first)\n */\n getUpstreamNodes(\n nodeId: string,\n nodes: readonly FlowNodeDefinitions[],\n edges: readonly FlowEdge[],\n ): string[] {\n const visited = new Set<string>();\n const upstream: string[] = [];\n\n const dfs = (currentNodeId: string) => {\n const dependencies = this.getNodeDependencies(currentNodeId, edges);\n\n for (const dependency of dependencies) {\n if (!visited.has(dependency)) {\n visited.add(dependency);\n dfs(dependency); // Recursively find upstream nodes first\n upstream.push(dependency); // Add after dependencies (topological order)\n }\n }\n };\n\n dfs(nodeId);\n return upstream;\n }\n\n /**\n * Gets all upstream nodes plus the target node, in topological execution order\n */\n getExecutionPathToNode(\n targetNodeId: string,\n nodes: readonly FlowNodeDefinitions[],\n edges: readonly FlowEdge[],\n ): string[] {\n const upstreamNodes = this.getUpstreamNodes(targetNodeId, nodes, edges);\n return [...upstreamNodes, targetNodeId];\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_errors_types = require("../types/common/errors.types.cjs");
|
|
3
|
+
const require_ai_types = require("./ai/ai-types.cjs");
|
|
4
|
+
require("./ai/base-client.cjs");
|
|
5
|
+
let json_logic_js = require("json-logic-js");
|
|
6
|
+
json_logic_js = require_runtime.__toESM(json_logic_js);
|
|
7
|
+
//#region src/services/node-data.service.ts
|
|
8
|
+
/**
|
|
9
|
+
* Node Data Service implementation
|
|
10
|
+
* Provides testing and validation utilities for different node types
|
|
11
|
+
*/
|
|
12
|
+
var NodeDataService = class {
|
|
13
|
+
initialized = false;
|
|
14
|
+
cachedListModels = null;
|
|
15
|
+
cachedProviderModels = /* @__PURE__ */ new Map();
|
|
16
|
+
lastFetchTime = 0;
|
|
17
|
+
CACHE_DURATION = 3600 * 1e3;
|
|
18
|
+
constructor(config, logger, databaseService, aiClient, templateService) {
|
|
19
|
+
this.config = config;
|
|
20
|
+
this.logger = logger;
|
|
21
|
+
this.databaseService = databaseService;
|
|
22
|
+
this.aiClient = aiClient;
|
|
23
|
+
this.templateService = templateService;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Initialize the service
|
|
27
|
+
*/
|
|
28
|
+
async initialize() {
|
|
29
|
+
if (this.initialized) {
|
|
30
|
+
this.logger.debug("NodeDataService already initialized");
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.logger.info("Initializing NodeDataService");
|
|
34
|
+
try {
|
|
35
|
+
if (!this.databaseService) throw new require_errors_types.DatabaseError("Database service is required for NodeDataService");
|
|
36
|
+
this.initialized = true;
|
|
37
|
+
this.logger.info("NodeDataService initialized successfully");
|
|
38
|
+
} catch (error) {
|
|
39
|
+
this.logger.error("Failed to initialize NodeDataService", error);
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Close the service
|
|
45
|
+
*/
|
|
46
|
+
async close() {
|
|
47
|
+
if (!this.initialized) {
|
|
48
|
+
this.logger.debug("NodeDataService not initialized, nothing to close");
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.logger.info("Closing NodeDataService");
|
|
52
|
+
this.initialized = false;
|
|
53
|
+
this.cachedListModels = null;
|
|
54
|
+
this.logger.info("NodeDataService closed successfully");
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Execute a database query using credential-based connection config
|
|
58
|
+
*/
|
|
59
|
+
async runSqlQuery({ query, connectionConfig }) {
|
|
60
|
+
this.ensureInitialized();
|
|
61
|
+
try {
|
|
62
|
+
const dbType = connectionConfig.type === "postgres" ? "postgresql" : connectionConfig.type;
|
|
63
|
+
const dbConfig = {
|
|
64
|
+
id: `credential-${connectionConfig.type}`,
|
|
65
|
+
type: dbType,
|
|
66
|
+
connectionString: connectionConfig.connectionString
|
|
67
|
+
};
|
|
68
|
+
const result = await this.databaseService.executeQuery(query, dbConfig);
|
|
69
|
+
const columns = result.length > 0 ? Object.keys(result[0]) : [];
|
|
70
|
+
const rowCount = result.length;
|
|
71
|
+
this.logger.debug("Query executed successfully", {
|
|
72
|
+
rowCount,
|
|
73
|
+
columnCount: columns.length,
|
|
74
|
+
databaseType: connectionConfig.type
|
|
75
|
+
});
|
|
76
|
+
return {
|
|
77
|
+
success: true,
|
|
78
|
+
data: result,
|
|
79
|
+
columns,
|
|
80
|
+
rowCount,
|
|
81
|
+
query
|
|
82
|
+
};
|
|
83
|
+
} catch (error) {
|
|
84
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
85
|
+
this.logger.error("Database query failed", {
|
|
86
|
+
error: errorMessage,
|
|
87
|
+
query
|
|
88
|
+
});
|
|
89
|
+
return {
|
|
90
|
+
success: false,
|
|
91
|
+
error: errorMessage,
|
|
92
|
+
query
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get available databases
|
|
98
|
+
*/
|
|
99
|
+
getAvailableDatabases() {
|
|
100
|
+
this.ensureInitialized();
|
|
101
|
+
if (!this.config.queryDatabases || this.config.queryDatabases.length === 0) return [this.config.baseDatabaseConfig];
|
|
102
|
+
return this.config.queryDatabases;
|
|
103
|
+
}
|
|
104
|
+
async runTemplateReplacement(template, variables) {
|
|
105
|
+
this.ensureInitialized();
|
|
106
|
+
try {
|
|
107
|
+
if (this.templateService) {
|
|
108
|
+
const result = this.templateService.render(template, variables);
|
|
109
|
+
this.logger.debug("Template processed successfully", { templateLength: template.length });
|
|
110
|
+
if (result === null || result === void 0) return "";
|
|
111
|
+
if (typeof result === "object") return JSON.stringify(result);
|
|
112
|
+
return String(result);
|
|
113
|
+
}
|
|
114
|
+
this.logger.warn("TemplateService not available, returning template unprocessed");
|
|
115
|
+
return template;
|
|
116
|
+
} catch (error) {
|
|
117
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
118
|
+
this.logger.error("Template processing failed", {
|
|
119
|
+
error: errorMessage,
|
|
120
|
+
template
|
|
121
|
+
});
|
|
122
|
+
throw new Error(`Template processing failed: ${errorMessage}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Helper method to safely parse JSON
|
|
127
|
+
*/
|
|
128
|
+
tryParseJSON(text) {
|
|
129
|
+
try {
|
|
130
|
+
return JSON.parse(text);
|
|
131
|
+
} catch {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
testJsonLogic(conditionLogic, evaluationData) {
|
|
136
|
+
this.ensureInitialized();
|
|
137
|
+
try {
|
|
138
|
+
const result = json_logic_js.default.apply(conditionLogic, evaluationData);
|
|
139
|
+
return Boolean(result);
|
|
140
|
+
} catch (error) {
|
|
141
|
+
this.logger.error("JSON Logic evaluation failed", {
|
|
142
|
+
error: error instanceof Error ? error.message : String(error),
|
|
143
|
+
conditionLogic,
|
|
144
|
+
evaluationData
|
|
145
|
+
});
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get available models
|
|
151
|
+
*/
|
|
152
|
+
async getAvailableModels() {
|
|
153
|
+
this.ensureInitialized();
|
|
154
|
+
const now = Date.now();
|
|
155
|
+
if (this.cachedListModels && now - this.lastFetchTime < this.CACHE_DURATION) return this.cachedListModels;
|
|
156
|
+
try {
|
|
157
|
+
const configuredProviders = this.getConfiguredProviders();
|
|
158
|
+
const aggregatedModels = [];
|
|
159
|
+
let defaultModel;
|
|
160
|
+
if (configuredProviders.length === 0) this.logger.warn("No AI providers configured. Returning empty model list");
|
|
161
|
+
for (const provider of configuredProviders) try {
|
|
162
|
+
const providerResult = await this.getModelsForProvider(provider);
|
|
163
|
+
aggregatedModels.push(...providerResult.models);
|
|
164
|
+
if (!defaultModel) defaultModel = providerResult.defaultModel;
|
|
165
|
+
} catch (error) {
|
|
166
|
+
this.logger.warn(`Failed to fetch models for provider ${provider}`, error);
|
|
167
|
+
}
|
|
168
|
+
if (!defaultModel) defaultModel = aggregatedModels[0]?.id || "No model available";
|
|
169
|
+
const result = {
|
|
170
|
+
models: aggregatedModels,
|
|
171
|
+
defaultModel
|
|
172
|
+
};
|
|
173
|
+
this.cachedListModels = result;
|
|
174
|
+
this.lastFetchTime = now;
|
|
175
|
+
this.logger.debug("Retrieved available models", { count: result.models.length });
|
|
176
|
+
return result;
|
|
177
|
+
} catch (error) {
|
|
178
|
+
this.logger.error("Failed to get available models", error);
|
|
179
|
+
return this.cachedListModels || {
|
|
180
|
+
models: [],
|
|
181
|
+
defaultModel: "No model available"
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
async getModelsForProvider(provider) {
|
|
186
|
+
this.ensureInitialized();
|
|
187
|
+
const cached = this.cachedProviderModels.get(provider);
|
|
188
|
+
const now = Date.now();
|
|
189
|
+
if (cached && now - cached.fetchedAt < this.CACHE_DURATION) return {
|
|
190
|
+
models: cached.models,
|
|
191
|
+
defaultModel: cached.defaultModel
|
|
192
|
+
};
|
|
193
|
+
const providerResult = await this.aiClient.listModelsForProvider(provider);
|
|
194
|
+
const filteredModels = this.filterChatCompletionModels(provider, providerResult.models);
|
|
195
|
+
this.cachedProviderModels.set(provider, {
|
|
196
|
+
models: filteredModels,
|
|
197
|
+
defaultModel: providerResult.defaultModel,
|
|
198
|
+
fetchedAt: now
|
|
199
|
+
});
|
|
200
|
+
return {
|
|
201
|
+
models: filteredModels,
|
|
202
|
+
defaultModel: providerResult.defaultModel
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
filterChatCompletionModels(provider, models) {
|
|
206
|
+
if (models.length === 0) return models;
|
|
207
|
+
if (provider === require_ai_types.BatchProvider.OPENAI) return models.filter((model) => {
|
|
208
|
+
const id = model.id.toLowerCase();
|
|
209
|
+
if (!id.startsWith("gpt")) return false;
|
|
210
|
+
return !/(audio|embedding|search|tts|vision)/.test(id);
|
|
211
|
+
});
|
|
212
|
+
if (provider === require_ai_types.BatchProvider.ANTHROPIC) return models.filter((model) => model.id.toLowerCase().startsWith("claude"));
|
|
213
|
+
return models;
|
|
214
|
+
}
|
|
215
|
+
getConfiguredProviders() {
|
|
216
|
+
return [
|
|
217
|
+
require_ai_types.BatchProvider.OPENAI,
|
|
218
|
+
require_ai_types.BatchProvider.ANTHROPIC,
|
|
219
|
+
require_ai_types.BatchProvider.OPENROUTER
|
|
220
|
+
];
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Ensure the service is initialized
|
|
224
|
+
*/
|
|
225
|
+
ensureInitialized() {
|
|
226
|
+
if (!this.initialized) throw new require_errors_types.ValidationError("NodeDataService not initialized. Call initialize() first.");
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
//#endregion
|
|
230
|
+
exports.NodeDataService = NodeDataService;
|
|
231
|
+
|
|
232
|
+
//# sourceMappingURL=node-data.service.cjs.map
|