@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 @@
|
|
|
1
|
+
{"version":3,"file":"flow-validator.js","names":[],"sources":["../../src/services/flow-validator.ts"],"sourcesContent":["import {\n FlowValidationResult,\n ValidationContext,\n GraphAnalysis,\n FlowValidationError,\n FlowValidationWarning,\n} from '../types/validation';\nimport { InvectDefinition, FlowNodeDefinitions, FlowEdge } from './flow-versions/schemas-fresh';\nimport { GraphService } from './graph.service';\n\n/**\n * Checks whether a node type is an entry point (receives external data, not flow data).\n * Entry points: trigger actions and legacy core.input / INPUT nodes.\n */\nfunction isEntryPointNode(nodeType: string): boolean {\n return nodeType === 'INPUT' || nodeType === 'core.input' || nodeType.startsWith('trigger.');\n}\n\n/**\n * Static flow validator.\n *\n * Designed to help an agent (or user) verify that a flow definition will\n * execute correctly. This does NOT prevent saving — it only reports issues.\n *\n * Errors = the flow WILL fail at execution time (topological sort throws, etc.)\n * Warnings = the flow will run but something looks unintentional.\n */\nexport class FlowValidator {\n static validateFlowDefinition(flowDefinition: InvectDefinition): FlowValidationResult {\n try {\n const context = new ValidationContext(\n flowDefinition,\n this.analyzeGraph(flowDefinition.nodes, flowDefinition.edges),\n );\n\n // Phase 1: Empty flow\n this.validateNotEmpty(context);\n\n // Phase 2: Edge integrity — edges must reference existing nodes\n this.validateEdgeReferences(context);\n\n // Phase 3: Self-referencing edges (source === target)\n this.validateNoSelfReferences(context);\n\n // Phase 4: Duplicate edges (same source→target on same handles)\n this.validateNoDuplicateEdges(context);\n\n // Phase 5: Cycle detection — cycles make topological sort throw\n this.validateNoCycles(context);\n\n // Phase 6: Entry-point nodes should not have incoming edges\n this.validateEntryPoints(context);\n\n // Phase 7: Completely disconnected nodes (zero edges)\n this.validateNoDisconnectedNodes(context);\n\n // Phase 8: Single manual trigger per flow\n this.validateSingleManualTrigger(context);\n\n return this.buildResult(context);\n } catch (error) {\n return {\n isValid: false,\n errors: [\n {\n severity: 'error' as const,\n type: 'VALIDATION_SYSTEM_ERROR',\n message: `Validation system error: ${error instanceof Error ? error.message : 'Unknown error'}`,\n },\n ],\n warnings: [],\n };\n }\n }\n\n // ─── Graph analysis ──────────────────────────────────────────────────────────\n\n private static analyzeGraph(\n nodes: readonly FlowNodeDefinitions[],\n edges: readonly FlowEdge[],\n ): GraphAnalysis {\n const nodeMap = new Map(nodes.map((n) => [n.id, n]));\n const edgeMap = new Map(edges.map((e) => [e.id, e]));\n const incomingEdges = new Map<string, FlowEdge[]>();\n const outgoingEdges = new Map<string, FlowEdge[]>();\n\n for (const node of nodes) {\n incomingEdges.set(node.id, GraphService.getIncomingEdges(node.id, edges));\n outgoingEdges.set(node.id, GraphService.getOutgoingEdges(node.id, edges));\n }\n\n return { nodeMap, edgeMap, incomingEdges, outgoingEdges };\n }\n\n // ─── Phase 1: Empty flow ────────────────────────────────────────────────────\n\n private static validateNotEmpty(context: ValidationContext): void {\n if (context.definition.nodes.length === 0) {\n context.addWarning('EMPTY_FLOW', 'Flow has no nodes');\n }\n }\n\n // ─── Phase 2: Edge references ───────────────────────────────────────────────\n\n private static validateEdgeReferences(context: ValidationContext): void {\n const { nodeMap } = context.analysis;\n\n for (const edge of context.definition.edges) {\n if (!nodeMap.has(edge.source)) {\n context.addError('INVALID_EDGE_REFERENCE', 'Edge references non-existent source node', {\n edgeId: edge.id,\n sourceNodeId: edge.source,\n targetNodeId: edge.target,\n });\n }\n if (!nodeMap.has(edge.target)) {\n context.addError('INVALID_EDGE_REFERENCE', 'Edge references non-existent target node', {\n edgeId: edge.id,\n sourceNodeId: edge.source,\n targetNodeId: edge.target,\n });\n }\n }\n }\n\n // ─── Phase 3: Self-referencing edges ────────────────────────────────────────\n\n private static validateNoSelfReferences(context: ValidationContext): void {\n for (const edge of context.definition.edges) {\n if (edge.source === edge.target) {\n context.addError('SELF_REFERENCING_EDGE', 'Edge connects a node to itself', {\n edgeId: edge.id,\n nodeId: edge.source,\n });\n }\n }\n }\n\n // ─── Phase 4: Duplicate edges ───────────────────────────────────────────────\n\n private static validateNoDuplicateEdges(context: ValidationContext): void {\n const seen = new Set<string>();\n\n for (const edge of context.definition.edges) {\n // Include handles so parallel edges on different output ports are allowed\n const key = `${edge.source}:${edge.sourceHandle ?? ''}→${edge.target}:${edge.targetHandle ?? ''}`;\n if (seen.has(key)) {\n context.addWarning('DUPLICATE_EDGE', 'Duplicate connection between the same nodes', {\n edgeId: edge.id,\n sourceNodeId: edge.source,\n targetNodeId: edge.target,\n });\n }\n seen.add(key);\n }\n }\n\n // ─── Phase 5: Cycle detection ───────────────────────────────────────────────\n\n private static validateNoCycles(context: ValidationContext): void {\n const { nodes, edges } = context.definition;\n const result = GraphService.hasCycleDetection(nodes, edges);\n\n if (result.hasCycle && result.cyclePath) {\n context.addError('CIRCULAR_DEPENDENCY', 'Flow contains a cycle and cannot be executed', {\n additionalContext: {\n cyclePath: result.cyclePath,\n involvedNodeIds: result.cyclePath.slice(0, -1),\n },\n });\n }\n }\n\n // ─── Phase 6: Entry-point nodes ─────────────────────────────────────────────\n\n private static validateEntryPoints(context: ValidationContext): void {\n const { incomingEdges } = context.analysis;\n\n for (const node of context.definition.nodes) {\n if (!isEntryPointNode(node.type)) {\n continue;\n }\n\n const incoming = incomingEdges.get(node.id) || [];\n if (incoming.length > 0) {\n context.addWarning(\n 'ENTRY_NODE_HAS_INCOMING_EDGES',\n `${node.label || node.type} is an entry-point node and should not have incoming connections`,\n {\n nodeId: node.id,\n sourceNodeType: node.type,\n additionalContext: {\n incomingEdgeCount: incoming.length,\n },\n },\n );\n }\n }\n }\n\n // ─── Phase 7: Disconnected nodes ────────────────────────────────────────────\n\n private static validateNoDisconnectedNodes(context: ValidationContext): void {\n const { incomingEdges, outgoingEdges } = context.analysis;\n\n // Only meaningful when there are at least 2 nodes\n if (context.definition.nodes.length < 2) {\n return;\n }\n\n for (const node of context.definition.nodes) {\n const incoming = incomingEdges.get(node.id) || [];\n const outgoing = outgoingEdges.get(node.id) || [];\n\n if (incoming.length === 0 && outgoing.length === 0) {\n context.addWarning('DISCONNECTED_NODE', 'Node has no connections to other nodes', {\n nodeId: node.id,\n sourceNodeType: node.type,\n });\n }\n }\n }\n\n // ─── Phase 8: Single manual trigger ─────────────────────────────────────────\n\n private static validateSingleManualTrigger(context: ValidationContext): void {\n const manualTriggers = context.definition.nodes.filter((n) => n.type === 'trigger.manual');\n\n if (manualTriggers.length > 1) {\n context.addError(\n 'MULTIPLE_MANUAL_TRIGGERS',\n `Only one Manual Trigger is allowed per flow, but ${manualTriggers.length} were found`,\n {\n additionalContext: {\n triggerNodeIds: manualTriggers.map((n) => n.id),\n },\n },\n );\n }\n }\n\n // ─── Result builder ─────────────────────────────────────────────────────────\n\n private static buildResult(context: ValidationContext): FlowValidationResult {\n const warnings = context.issues.filter(\n (i) => i.severity === 'warning',\n ) as FlowValidationWarning[];\n\n if (context.hasErrors()) {\n return {\n isValid: false,\n errors: context.issues.filter((i) => i.severity === 'error') as FlowValidationError[],\n warnings,\n };\n }\n\n return {\n isValid: true,\n warnings: warnings.length > 0 ? warnings : undefined,\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
const require_errors_types = require("../../types/common/errors.types.cjs");
|
|
2
|
+
//#region src/services/flow-versions/flow-versions.model.ts
|
|
3
|
+
const TABLE = "flow_versions";
|
|
4
|
+
/**
|
|
5
|
+
* Flow Versions CRUD operations class — uses InvectAdapter.
|
|
6
|
+
*/
|
|
7
|
+
var FlowVersionsModel = class {
|
|
8
|
+
constructor(adapter, logger) {
|
|
9
|
+
this.adapter = adapter;
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Create a new flow version
|
|
14
|
+
*/
|
|
15
|
+
async create(flowId, input) {
|
|
16
|
+
try {
|
|
17
|
+
const nextVersionNumber = await this.getNextVersionNumber(flowId);
|
|
18
|
+
const result = await this.adapter.create({
|
|
19
|
+
model: TABLE,
|
|
20
|
+
data: {
|
|
21
|
+
flow_id: flowId,
|
|
22
|
+
version: nextVersionNumber,
|
|
23
|
+
invect_definition: input.invectDefinition,
|
|
24
|
+
created_at: /* @__PURE__ */ new Date()
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return this.normalize(result);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
this.logger.error("Failed to create flow version", {
|
|
30
|
+
flowId,
|
|
31
|
+
error
|
|
32
|
+
});
|
|
33
|
+
throw new require_errors_types.DatabaseError("Failed to create flow version", { error });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a new flow version and optionally set it as live
|
|
38
|
+
*/
|
|
39
|
+
async createAndSetLive(flowId, input, setAsLive = false) {
|
|
40
|
+
const newVersion = await this.create(flowId, input);
|
|
41
|
+
if (setAsLive) {
|
|
42
|
+
const { FlowsModel } = await Promise.resolve().then(() => require("../flows/flows.model.cjs"));
|
|
43
|
+
await new FlowsModel(this.adapter, this.logger).setLiveVersion(flowId, newVersion.version);
|
|
44
|
+
}
|
|
45
|
+
return newVersion;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get all versions for a flow with optional filtering
|
|
49
|
+
*/
|
|
50
|
+
async listByFlowId(flowId, options) {
|
|
51
|
+
const pagination = options?.pagination || {
|
|
52
|
+
limit: 100,
|
|
53
|
+
page: 1
|
|
54
|
+
};
|
|
55
|
+
const sort = options?.sort;
|
|
56
|
+
const offset = (pagination.page - 1) * pagination.limit;
|
|
57
|
+
const where = [{
|
|
58
|
+
field: "flow_id",
|
|
59
|
+
value: flowId
|
|
60
|
+
}];
|
|
61
|
+
try {
|
|
62
|
+
const [data, totalCount] = await Promise.all([this.adapter.findMany({
|
|
63
|
+
model: TABLE,
|
|
64
|
+
where,
|
|
65
|
+
limit: pagination.limit,
|
|
66
|
+
offset,
|
|
67
|
+
sortBy: sort ? {
|
|
68
|
+
field: this.mapSortField(sort.sortBy),
|
|
69
|
+
direction: sort.sortOrder
|
|
70
|
+
} : {
|
|
71
|
+
field: "version",
|
|
72
|
+
direction: "desc"
|
|
73
|
+
}
|
|
74
|
+
}), this.adapter.count({
|
|
75
|
+
model: TABLE,
|
|
76
|
+
where
|
|
77
|
+
})]);
|
|
78
|
+
return this.processPaginatedResults(data, totalCount, pagination);
|
|
79
|
+
} catch (error) {
|
|
80
|
+
this.logger.error("Failed to retrieve flow versions", {
|
|
81
|
+
flowId,
|
|
82
|
+
options,
|
|
83
|
+
error
|
|
84
|
+
});
|
|
85
|
+
throw new require_errors_types.DatabaseError("Failed to retrieve flow versions", { error });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get specific flow version by composite key
|
|
90
|
+
*/
|
|
91
|
+
async findByKey(flowId, version) {
|
|
92
|
+
try {
|
|
93
|
+
if (version === "latest") {
|
|
94
|
+
const versions = await this.listByFlowId(flowId);
|
|
95
|
+
return versions.data.length > 0 ? versions.data[0] : null;
|
|
96
|
+
}
|
|
97
|
+
const result = await this.adapter.findOne({
|
|
98
|
+
model: TABLE,
|
|
99
|
+
where: [{
|
|
100
|
+
field: "flow_id",
|
|
101
|
+
value: flowId
|
|
102
|
+
}, {
|
|
103
|
+
field: "version",
|
|
104
|
+
value: version
|
|
105
|
+
}]
|
|
106
|
+
});
|
|
107
|
+
return result ? this.normalize(result) : null;
|
|
108
|
+
} catch (error) {
|
|
109
|
+
this.logger.error("Failed to get flow version", {
|
|
110
|
+
flowId,
|
|
111
|
+
version,
|
|
112
|
+
error
|
|
113
|
+
});
|
|
114
|
+
throw new require_errors_types.DatabaseError("Failed to get flow version", { error });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Update flow version
|
|
119
|
+
*/
|
|
120
|
+
async update(flowId, version, input) {
|
|
121
|
+
try {
|
|
122
|
+
const updateData = {};
|
|
123
|
+
if (input.invectDefinition !== void 0) updateData.invect_definition = input.invectDefinition;
|
|
124
|
+
const result = await this.adapter.update({
|
|
125
|
+
model: TABLE,
|
|
126
|
+
where: [{
|
|
127
|
+
field: "flow_id",
|
|
128
|
+
value: flowId
|
|
129
|
+
}, {
|
|
130
|
+
field: "version",
|
|
131
|
+
value: version
|
|
132
|
+
}],
|
|
133
|
+
update: updateData
|
|
134
|
+
});
|
|
135
|
+
if (!result) throw new require_errors_types.DatabaseError("Flow version not found");
|
|
136
|
+
return this.normalize(result);
|
|
137
|
+
} catch (error) {
|
|
138
|
+
this.logger.error("Failed to update flow version", {
|
|
139
|
+
flowId,
|
|
140
|
+
version,
|
|
141
|
+
error
|
|
142
|
+
});
|
|
143
|
+
throw new require_errors_types.DatabaseError("Failed to update flow version", { error });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Delete flow version
|
|
148
|
+
*/
|
|
149
|
+
async delete(flowId, version) {
|
|
150
|
+
try {
|
|
151
|
+
await this.adapter.delete({
|
|
152
|
+
model: TABLE,
|
|
153
|
+
where: [{
|
|
154
|
+
field: "flow_id",
|
|
155
|
+
value: flowId
|
|
156
|
+
}, {
|
|
157
|
+
field: "version",
|
|
158
|
+
value: version
|
|
159
|
+
}]
|
|
160
|
+
});
|
|
161
|
+
} catch (error) {
|
|
162
|
+
this.logger.error("Failed to delete flow version", {
|
|
163
|
+
flowId,
|
|
164
|
+
version,
|
|
165
|
+
error
|
|
166
|
+
});
|
|
167
|
+
throw new require_errors_types.DatabaseError("Failed to delete flow version", { error });
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get next version number for a flow
|
|
172
|
+
*/
|
|
173
|
+
async getNextVersionNumber(flowId) {
|
|
174
|
+
try {
|
|
175
|
+
const results = await this.adapter.findMany({
|
|
176
|
+
model: TABLE,
|
|
177
|
+
where: [{
|
|
178
|
+
field: "flow_id",
|
|
179
|
+
value: flowId
|
|
180
|
+
}],
|
|
181
|
+
sortBy: {
|
|
182
|
+
field: "version",
|
|
183
|
+
direction: "desc"
|
|
184
|
+
},
|
|
185
|
+
limit: 1,
|
|
186
|
+
select: ["version"]
|
|
187
|
+
});
|
|
188
|
+
return (results.length > 0 ? Number(results[0].version) : 0) + 1;
|
|
189
|
+
} catch (error) {
|
|
190
|
+
this.logger.error("Failed to get next version number", {
|
|
191
|
+
flowId,
|
|
192
|
+
error
|
|
193
|
+
});
|
|
194
|
+
return 1;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
calculatePaginationMetadata(totalCount, pagination) {
|
|
198
|
+
const totalPages = Math.ceil(totalCount / pagination.limit);
|
|
199
|
+
return {
|
|
200
|
+
page: pagination.page,
|
|
201
|
+
limit: pagination.limit,
|
|
202
|
+
totalPages
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
processPaginatedResults(result, totalCount, pagination) {
|
|
206
|
+
return {
|
|
207
|
+
data: result.map((v) => this.normalize(v)),
|
|
208
|
+
pagination: this.calculatePaginationMetadata(totalCount, pagination)
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
normalize(raw) {
|
|
212
|
+
return {
|
|
213
|
+
version: Number(raw.version),
|
|
214
|
+
flowId: String(raw.flow_id ?? raw.flowId),
|
|
215
|
+
invectDefinition: raw.invect_definition ?? raw.invectDefinition,
|
|
216
|
+
createdAt: new Date(String(raw.created_at ?? raw.createdAt)).toISOString(),
|
|
217
|
+
createdBy: raw.created_by ? String(raw.created_by) : null
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
mapSortField(field) {
|
|
221
|
+
return {
|
|
222
|
+
version: "version",
|
|
223
|
+
createdAt: "created_at",
|
|
224
|
+
flowId: "flow_id"
|
|
225
|
+
}[field] ?? field;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
//#endregion
|
|
229
|
+
exports.FlowVersionsModel = FlowVersionsModel;
|
|
230
|
+
|
|
231
|
+
//# sourceMappingURL=flow-versions.model.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-versions.model.cjs","names":["DatabaseError"],"sources":["../../../src/services/flow-versions/flow-versions.model.ts"],"sourcesContent":["// Flow Versions Model for Invect core — adapter-based implementation\nimport type { InvectAdapter, WhereClause } from '../../database/adapter';\nimport { DatabaseError } from 'src/types/common/errors.types';\nimport { Logger, PaginatedResponse, QueryOptions } from 'src/types/schemas';\nimport { CreateFlowVersionRequest, InvectDefinitionRuntime } from './schemas-fresh';\nimport { FlowVersion } from '../../database';\n\n/**\n * Input for updating a flow version (limited fields)\n */\nexport interface UpdateFlowVersionInput {\n invectDefinition?: InvectDefinitionRuntime;\n}\n\n/**\n * Flow version with optional composite key for database operations\n */\nexport interface FlowVersionKey {\n version: number;\n flowId: string;\n}\n\n/**\n * Flow version query parameters\n */\nexport interface FlowVersionQuery {\n flowId: string;\n version?: number | 'latest';\n limit?: number;\n offset?: number;\n}\n\nconst TABLE = 'flow_versions';\n\n/**\n * Flow Versions CRUD operations class — uses InvectAdapter.\n */\nexport class FlowVersionsModel {\n constructor(\n private readonly adapter: InvectAdapter,\n private readonly logger: Logger,\n ) {}\n\n /**\n * Create a new flow version\n */\n async create(flowId: string, input: CreateFlowVersionRequest): Promise<FlowVersion> {\n try {\n const nextVersionNumber = await this.getNextVersionNumber(flowId);\n\n const result = await this.adapter.create({\n model: TABLE,\n data: {\n flow_id: flowId,\n version: nextVersionNumber,\n invect_definition: input.invectDefinition,\n created_at: new Date(),\n },\n });\n return this.normalize(result);\n } catch (error) {\n this.logger.error('Failed to create flow version', { flowId, error });\n throw new DatabaseError('Failed to create flow version', { error });\n }\n }\n\n /**\n * Create a new flow version and optionally set it as live\n */\n async createAndSetLive(\n flowId: string,\n input: CreateFlowVersionRequest,\n setAsLive: boolean = false,\n ): Promise<FlowVersion> {\n const newVersion = await this.create(flowId, input);\n\n if (setAsLive) {\n const { FlowsModel } = await import('../flows/flows.model');\n const flowsModel = new FlowsModel(this.adapter, this.logger);\n await flowsModel.setLiveVersion(flowId, newVersion.version);\n }\n\n return newVersion;\n }\n\n /**\n * Get all versions for a flow with optional filtering\n */\n async listByFlowId(\n flowId: string,\n options?: QueryOptions<FlowVersion>,\n ): Promise<PaginatedResponse<FlowVersion>> {\n const pagination = options?.pagination || { limit: 100, page: 1 };\n const sort = options?.sort;\n const offset = (pagination.page - 1) * pagination.limit;\n\n const where: WhereClause[] = [{ field: 'flow_id', value: flowId }];\n\n try {\n const [data, totalCount] = await Promise.all([\n this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where,\n limit: pagination.limit,\n offset,\n sortBy: sort\n ? { field: this.mapSortField(sort.sortBy as string), direction: sort.sortOrder }\n : { field: 'version', direction: 'desc' },\n }),\n this.adapter.count({ model: TABLE, where }),\n ]);\n\n return this.processPaginatedResults(data, totalCount, pagination);\n } catch (error) {\n this.logger.error('Failed to retrieve flow versions', { flowId, options, error });\n throw new DatabaseError('Failed to retrieve flow versions', { error });\n }\n }\n\n /**\n * Get specific flow version by composite key\n */\n async findByKey(flowId: string, version: number | 'latest'): Promise<FlowVersion | null> {\n try {\n if (version === 'latest') {\n const versions = await this.listByFlowId(flowId);\n return versions.data.length > 0 ? versions.data[0] : null;\n }\n\n const result = await this.adapter.findOne<Record<string, unknown>>({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'version', value: version },\n ],\n });\n return result ? this.normalize(result) : null;\n } catch (error) {\n this.logger.error('Failed to get flow version', { flowId, version, error });\n throw new DatabaseError('Failed to get flow version', { error });\n }\n }\n\n /**\n * Update flow version\n */\n async update(\n flowId: string,\n version: number,\n input: UpdateFlowVersionInput,\n ): Promise<FlowVersion> {\n try {\n const updateData: Record<string, unknown> = {};\n if (input.invectDefinition !== undefined) {\n updateData.invect_definition = input.invectDefinition;\n }\n\n const result = await this.adapter.update<Record<string, unknown>>({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'version', value: version },\n ],\n update: updateData,\n });\n\n if (!result) {\n throw new DatabaseError('Flow version not found');\n }\n return this.normalize(result);\n } catch (error) {\n this.logger.error('Failed to update flow version', { flowId, version, error });\n throw new DatabaseError('Failed to update flow version', { error });\n }\n }\n\n /**\n * Delete flow version\n */\n async delete(flowId: string, version: number): Promise<void> {\n try {\n await this.adapter.delete({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'version', value: version },\n ],\n });\n } catch (error) {\n this.logger.error('Failed to delete flow version', { flowId, version, error });\n throw new DatabaseError('Failed to delete flow version', { error });\n }\n }\n\n /**\n * Get next version number for a flow\n */\n private async getNextVersionNumber(flowId: string): Promise<number> {\n try {\n // Get current max version by fetching the first record sorted by version desc\n const results = await this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where: [{ field: 'flow_id', value: flowId }],\n sortBy: { field: 'version', direction: 'desc' },\n limit: 1,\n select: ['version'],\n });\n\n const maxVersion = results.length > 0 ? Number(results[0].version) : 0;\n return maxVersion + 1;\n } catch (error) {\n this.logger.error('Failed to get next version number', { flowId, error });\n return 1;\n }\n }\n\n private calculatePaginationMetadata(\n totalCount: number,\n pagination: { page: number; limit: number },\n ) {\n const totalPages = Math.ceil(totalCount / pagination.limit);\n return { page: pagination.page, limit: pagination.limit, totalPages };\n }\n\n private processPaginatedResults(\n result: Record<string, unknown>[],\n totalCount: number,\n pagination: { page: number; limit: number },\n ): PaginatedResponse<FlowVersion> {\n const data = result.map((v) => this.normalize(v));\n return { data, pagination: this.calculatePaginationMetadata(totalCount, pagination) };\n }\n\n private normalize(raw: Record<string, unknown>): FlowVersion {\n return {\n version: Number(raw.version),\n flowId: String(raw.flow_id ?? raw.flowId),\n invectDefinition: (raw.invect_definition ?? raw.invectDefinition) as InvectDefinitionRuntime,\n createdAt: new Date(String(raw.created_at ?? raw.createdAt)).toISOString(),\n createdBy: raw.created_by ? String(raw.created_by) : null,\n };\n }\n\n private mapSortField(field: string): string {\n const map: Record<string, string> = {\n version: 'version',\n createdAt: 'created_at',\n flowId: 'flow_id',\n };\n return map[field] ?? field;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { PaginatedResponse, QueryOptions } from "../../types/schemas/pagination-sort-filter.cjs";
|
|
2
|
+
import { Logger } from "../../types/schemas-fresh/invect-config.cjs";
|
|
3
|
+
import { CreateFlowVersionRequest, InvectDefinitionRuntime } from "./schemas-fresh.cjs";
|
|
4
|
+
import { InvectAdapter } from "../../database/adapter.cjs";
|
|
5
|
+
import { FlowVersion } from "../../database/schema-sqlite.cjs";
|
|
6
|
+
//#region src/services/flow-versions/flow-versions.model.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Input for updating a flow version (limited fields)
|
|
9
|
+
*/
|
|
10
|
+
interface UpdateFlowVersionInput {
|
|
11
|
+
invectDefinition?: InvectDefinitionRuntime;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Flow Versions CRUD operations class — uses InvectAdapter.
|
|
15
|
+
*/
|
|
16
|
+
declare class FlowVersionsModel {
|
|
17
|
+
private readonly adapter;
|
|
18
|
+
private readonly logger;
|
|
19
|
+
constructor(adapter: InvectAdapter, logger: Logger);
|
|
20
|
+
/**
|
|
21
|
+
* Create a new flow version
|
|
22
|
+
*/
|
|
23
|
+
create(flowId: string, input: CreateFlowVersionRequest): Promise<FlowVersion>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a new flow version and optionally set it as live
|
|
26
|
+
*/
|
|
27
|
+
createAndSetLive(flowId: string, input: CreateFlowVersionRequest, setAsLive?: boolean): Promise<FlowVersion>;
|
|
28
|
+
/**
|
|
29
|
+
* Get all versions for a flow with optional filtering
|
|
30
|
+
*/
|
|
31
|
+
listByFlowId(flowId: string, options?: QueryOptions<FlowVersion>): Promise<PaginatedResponse<FlowVersion>>;
|
|
32
|
+
/**
|
|
33
|
+
* Get specific flow version by composite key
|
|
34
|
+
*/
|
|
35
|
+
findByKey(flowId: string, version: number | 'latest'): Promise<FlowVersion | null>;
|
|
36
|
+
/**
|
|
37
|
+
* Update flow version
|
|
38
|
+
*/
|
|
39
|
+
update(flowId: string, version: number, input: UpdateFlowVersionInput): Promise<FlowVersion>;
|
|
40
|
+
/**
|
|
41
|
+
* Delete flow version
|
|
42
|
+
*/
|
|
43
|
+
delete(flowId: string, version: number): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Get next version number for a flow
|
|
46
|
+
*/
|
|
47
|
+
private getNextVersionNumber;
|
|
48
|
+
private calculatePaginationMetadata;
|
|
49
|
+
private processPaginatedResults;
|
|
50
|
+
private normalize;
|
|
51
|
+
private mapSortField;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { FlowVersionsModel };
|
|
55
|
+
//# sourceMappingURL=flow-versions.model.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-versions.model.d.cts","names":[],"sources":["../../../src/services/flow-versions/flow-versions.model.ts"],"mappings":";;;;;;;;;UAUiB,sBAAA;EACf,gBAAA,GAAmB,uBAAA;AAAA;;;;cA0BR,iBAAA;EAAA,iBAEQ,OAAA;EAAA,iBACA,MAAA;cADA,OAAA,EAAS,aAAA,EACT,MAAA,EAAQ,MAAA;EA8GxB;;;EAxGG,MAAA,CAAO,MAAA,UAAgB,KAAA,EAAO,wBAAA,GAA2B,OAAA,CAAQ,WAAA;EAPpD;;;EA8Bb,gBAAA,CACJ,MAAA,UACA,KAAA,EAAO,wBAAA,EACP,SAAA,aACC,OAAA,CAAQ,WAAA;EAlCQ;;;EAiDb,YAAA,CACJ,MAAA,UACA,OAAA,GAAU,YAAA,CAAa,WAAA,IACtB,OAAA,CAAQ,iBAAA,CAAkB,WAAA;EA7ChB;;;EA4EP,SAAA,CAAU,MAAA,UAAgB,OAAA,sBAA6B,OAAA,CAAQ,WAAA;EA5EE;;;EAoGjE,MAAA,CACJ,MAAA,UACA,OAAA,UACA,KAAA,EAAO,sBAAA,GACN,OAAA,CAAQ,WAAA;EA/ET;;;EA4GI,MAAA,CAAO,MAAA,UAAgB,OAAA,WAAkB,OAAA;EA3FzC;;;EAAA,QA6GQ,oBAAA;EAAA,QAmBN,2BAAA;EAAA,QAQA,uBAAA;EAAA,QASA,SAAA;EAAA,QAUA,YAAA;AAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { PaginatedResponse, QueryOptions } from "../../types/schemas/pagination-sort-filter.js";
|
|
2
|
+
import { Logger } from "../../types/schemas-fresh/invect-config.js";
|
|
3
|
+
import { CreateFlowVersionRequest, InvectDefinitionRuntime } from "./schemas-fresh.js";
|
|
4
|
+
import { InvectAdapter } from "../../database/adapter.js";
|
|
5
|
+
import { FlowVersion } from "../../database/schema-sqlite.js";
|
|
6
|
+
//#region src/services/flow-versions/flow-versions.model.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Input for updating a flow version (limited fields)
|
|
9
|
+
*/
|
|
10
|
+
interface UpdateFlowVersionInput {
|
|
11
|
+
invectDefinition?: InvectDefinitionRuntime;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Flow Versions CRUD operations class — uses InvectAdapter.
|
|
15
|
+
*/
|
|
16
|
+
declare class FlowVersionsModel {
|
|
17
|
+
private readonly adapter;
|
|
18
|
+
private readonly logger;
|
|
19
|
+
constructor(adapter: InvectAdapter, logger: Logger);
|
|
20
|
+
/**
|
|
21
|
+
* Create a new flow version
|
|
22
|
+
*/
|
|
23
|
+
create(flowId: string, input: CreateFlowVersionRequest): Promise<FlowVersion>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a new flow version and optionally set it as live
|
|
26
|
+
*/
|
|
27
|
+
createAndSetLive(flowId: string, input: CreateFlowVersionRequest, setAsLive?: boolean): Promise<FlowVersion>;
|
|
28
|
+
/**
|
|
29
|
+
* Get all versions for a flow with optional filtering
|
|
30
|
+
*/
|
|
31
|
+
listByFlowId(flowId: string, options?: QueryOptions<FlowVersion>): Promise<PaginatedResponse<FlowVersion>>;
|
|
32
|
+
/**
|
|
33
|
+
* Get specific flow version by composite key
|
|
34
|
+
*/
|
|
35
|
+
findByKey(flowId: string, version: number | 'latest'): Promise<FlowVersion | null>;
|
|
36
|
+
/**
|
|
37
|
+
* Update flow version
|
|
38
|
+
*/
|
|
39
|
+
update(flowId: string, version: number, input: UpdateFlowVersionInput): Promise<FlowVersion>;
|
|
40
|
+
/**
|
|
41
|
+
* Delete flow version
|
|
42
|
+
*/
|
|
43
|
+
delete(flowId: string, version: number): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Get next version number for a flow
|
|
46
|
+
*/
|
|
47
|
+
private getNextVersionNumber;
|
|
48
|
+
private calculatePaginationMetadata;
|
|
49
|
+
private processPaginatedResults;
|
|
50
|
+
private normalize;
|
|
51
|
+
private mapSortField;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { FlowVersionsModel };
|
|
55
|
+
//# sourceMappingURL=flow-versions.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-versions.model.d.ts","names":[],"sources":["../../../src/services/flow-versions/flow-versions.model.ts"],"mappings":";;;;;;;;;UAUiB,sBAAA;EACf,gBAAA,GAAmB,uBAAA;AAAA;;;;cA0BR,iBAAA;EAAA,iBAEQ,OAAA;EAAA,iBACA,MAAA;cADA,OAAA,EAAS,aAAA,EACT,MAAA,EAAQ,MAAA;EA8GhB;;;EAxGL,MAAA,CAAO,MAAA,UAAgB,KAAA,EAAO,wBAAA,GAA2B,OAAA,CAAQ,WAAA;EAqIjB;;;EA9GhD,gBAAA,CACJ,MAAA,UACA,KAAA,EAAO,wBAAA,EACP,SAAA,aACC,OAAA,CAAQ,WAAA;EAlCiB;;;EAiDtB,YAAA,CACJ,MAAA,UACA,OAAA,GAAU,YAAA,CAAa,WAAA,IACtB,OAAA,CAAQ,iBAAA,CAAkB,WAAA;EA7CvB;;;EA4EA,SAAA,CAAU,MAAA,UAAgB,OAAA,sBAA6B,OAAA,CAAQ,WAAA;EA5EN;;;EAoGzD,MAAA,CACJ,MAAA,UACA,OAAA,UACA,KAAA,EAAO,sBAAA,GACN,OAAA,CAAQ,WAAA;EA/EF;;;EA4GH,MAAA,CAAO,MAAA,UAAgB,OAAA,WAAkB,OAAA;EA1GpC;;;EAAA,QA4HG,oBAAA;EAAA,QAmBN,2BAAA;EAAA,QAQA,uBAAA;EAAA,QASA,SAAA;EAAA,QAUA,YAAA;AAAA"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { DatabaseError } from "../../types/common/errors.types.js";
|
|
2
|
+
//#region src/services/flow-versions/flow-versions.model.ts
|
|
3
|
+
const TABLE = "flow_versions";
|
|
4
|
+
/**
|
|
5
|
+
* Flow Versions CRUD operations class — uses InvectAdapter.
|
|
6
|
+
*/
|
|
7
|
+
var FlowVersionsModel = class {
|
|
8
|
+
constructor(adapter, logger) {
|
|
9
|
+
this.adapter = adapter;
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Create a new flow version
|
|
14
|
+
*/
|
|
15
|
+
async create(flowId, input) {
|
|
16
|
+
try {
|
|
17
|
+
const nextVersionNumber = await this.getNextVersionNumber(flowId);
|
|
18
|
+
const result = await this.adapter.create({
|
|
19
|
+
model: TABLE,
|
|
20
|
+
data: {
|
|
21
|
+
flow_id: flowId,
|
|
22
|
+
version: nextVersionNumber,
|
|
23
|
+
invect_definition: input.invectDefinition,
|
|
24
|
+
created_at: /* @__PURE__ */ new Date()
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return this.normalize(result);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
this.logger.error("Failed to create flow version", {
|
|
30
|
+
flowId,
|
|
31
|
+
error
|
|
32
|
+
});
|
|
33
|
+
throw new DatabaseError("Failed to create flow version", { error });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a new flow version and optionally set it as live
|
|
38
|
+
*/
|
|
39
|
+
async createAndSetLive(flowId, input, setAsLive = false) {
|
|
40
|
+
const newVersion = await this.create(flowId, input);
|
|
41
|
+
if (setAsLive) {
|
|
42
|
+
const { FlowsModel } = await import("../flows/flows.model.js");
|
|
43
|
+
await new FlowsModel(this.adapter, this.logger).setLiveVersion(flowId, newVersion.version);
|
|
44
|
+
}
|
|
45
|
+
return newVersion;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get all versions for a flow with optional filtering
|
|
49
|
+
*/
|
|
50
|
+
async listByFlowId(flowId, options) {
|
|
51
|
+
const pagination = options?.pagination || {
|
|
52
|
+
limit: 100,
|
|
53
|
+
page: 1
|
|
54
|
+
};
|
|
55
|
+
const sort = options?.sort;
|
|
56
|
+
const offset = (pagination.page - 1) * pagination.limit;
|
|
57
|
+
const where = [{
|
|
58
|
+
field: "flow_id",
|
|
59
|
+
value: flowId
|
|
60
|
+
}];
|
|
61
|
+
try {
|
|
62
|
+
const [data, totalCount] = await Promise.all([this.adapter.findMany({
|
|
63
|
+
model: TABLE,
|
|
64
|
+
where,
|
|
65
|
+
limit: pagination.limit,
|
|
66
|
+
offset,
|
|
67
|
+
sortBy: sort ? {
|
|
68
|
+
field: this.mapSortField(sort.sortBy),
|
|
69
|
+
direction: sort.sortOrder
|
|
70
|
+
} : {
|
|
71
|
+
field: "version",
|
|
72
|
+
direction: "desc"
|
|
73
|
+
}
|
|
74
|
+
}), this.adapter.count({
|
|
75
|
+
model: TABLE,
|
|
76
|
+
where
|
|
77
|
+
})]);
|
|
78
|
+
return this.processPaginatedResults(data, totalCount, pagination);
|
|
79
|
+
} catch (error) {
|
|
80
|
+
this.logger.error("Failed to retrieve flow versions", {
|
|
81
|
+
flowId,
|
|
82
|
+
options,
|
|
83
|
+
error
|
|
84
|
+
});
|
|
85
|
+
throw new DatabaseError("Failed to retrieve flow versions", { error });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get specific flow version by composite key
|
|
90
|
+
*/
|
|
91
|
+
async findByKey(flowId, version) {
|
|
92
|
+
try {
|
|
93
|
+
if (version === "latest") {
|
|
94
|
+
const versions = await this.listByFlowId(flowId);
|
|
95
|
+
return versions.data.length > 0 ? versions.data[0] : null;
|
|
96
|
+
}
|
|
97
|
+
const result = await this.adapter.findOne({
|
|
98
|
+
model: TABLE,
|
|
99
|
+
where: [{
|
|
100
|
+
field: "flow_id",
|
|
101
|
+
value: flowId
|
|
102
|
+
}, {
|
|
103
|
+
field: "version",
|
|
104
|
+
value: version
|
|
105
|
+
}]
|
|
106
|
+
});
|
|
107
|
+
return result ? this.normalize(result) : null;
|
|
108
|
+
} catch (error) {
|
|
109
|
+
this.logger.error("Failed to get flow version", {
|
|
110
|
+
flowId,
|
|
111
|
+
version,
|
|
112
|
+
error
|
|
113
|
+
});
|
|
114
|
+
throw new DatabaseError("Failed to get flow version", { error });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Update flow version
|
|
119
|
+
*/
|
|
120
|
+
async update(flowId, version, input) {
|
|
121
|
+
try {
|
|
122
|
+
const updateData = {};
|
|
123
|
+
if (input.invectDefinition !== void 0) updateData.invect_definition = input.invectDefinition;
|
|
124
|
+
const result = await this.adapter.update({
|
|
125
|
+
model: TABLE,
|
|
126
|
+
where: [{
|
|
127
|
+
field: "flow_id",
|
|
128
|
+
value: flowId
|
|
129
|
+
}, {
|
|
130
|
+
field: "version",
|
|
131
|
+
value: version
|
|
132
|
+
}],
|
|
133
|
+
update: updateData
|
|
134
|
+
});
|
|
135
|
+
if (!result) throw new DatabaseError("Flow version not found");
|
|
136
|
+
return this.normalize(result);
|
|
137
|
+
} catch (error) {
|
|
138
|
+
this.logger.error("Failed to update flow version", {
|
|
139
|
+
flowId,
|
|
140
|
+
version,
|
|
141
|
+
error
|
|
142
|
+
});
|
|
143
|
+
throw new DatabaseError("Failed to update flow version", { error });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Delete flow version
|
|
148
|
+
*/
|
|
149
|
+
async delete(flowId, version) {
|
|
150
|
+
try {
|
|
151
|
+
await this.adapter.delete({
|
|
152
|
+
model: TABLE,
|
|
153
|
+
where: [{
|
|
154
|
+
field: "flow_id",
|
|
155
|
+
value: flowId
|
|
156
|
+
}, {
|
|
157
|
+
field: "version",
|
|
158
|
+
value: version
|
|
159
|
+
}]
|
|
160
|
+
});
|
|
161
|
+
} catch (error) {
|
|
162
|
+
this.logger.error("Failed to delete flow version", {
|
|
163
|
+
flowId,
|
|
164
|
+
version,
|
|
165
|
+
error
|
|
166
|
+
});
|
|
167
|
+
throw new DatabaseError("Failed to delete flow version", { error });
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get next version number for a flow
|
|
172
|
+
*/
|
|
173
|
+
async getNextVersionNumber(flowId) {
|
|
174
|
+
try {
|
|
175
|
+
const results = await this.adapter.findMany({
|
|
176
|
+
model: TABLE,
|
|
177
|
+
where: [{
|
|
178
|
+
field: "flow_id",
|
|
179
|
+
value: flowId
|
|
180
|
+
}],
|
|
181
|
+
sortBy: {
|
|
182
|
+
field: "version",
|
|
183
|
+
direction: "desc"
|
|
184
|
+
},
|
|
185
|
+
limit: 1,
|
|
186
|
+
select: ["version"]
|
|
187
|
+
});
|
|
188
|
+
return (results.length > 0 ? Number(results[0].version) : 0) + 1;
|
|
189
|
+
} catch (error) {
|
|
190
|
+
this.logger.error("Failed to get next version number", {
|
|
191
|
+
flowId,
|
|
192
|
+
error
|
|
193
|
+
});
|
|
194
|
+
return 1;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
calculatePaginationMetadata(totalCount, pagination) {
|
|
198
|
+
const totalPages = Math.ceil(totalCount / pagination.limit);
|
|
199
|
+
return {
|
|
200
|
+
page: pagination.page,
|
|
201
|
+
limit: pagination.limit,
|
|
202
|
+
totalPages
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
processPaginatedResults(result, totalCount, pagination) {
|
|
206
|
+
return {
|
|
207
|
+
data: result.map((v) => this.normalize(v)),
|
|
208
|
+
pagination: this.calculatePaginationMetadata(totalCount, pagination)
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
normalize(raw) {
|
|
212
|
+
return {
|
|
213
|
+
version: Number(raw.version),
|
|
214
|
+
flowId: String(raw.flow_id ?? raw.flowId),
|
|
215
|
+
invectDefinition: raw.invect_definition ?? raw.invectDefinition,
|
|
216
|
+
createdAt: new Date(String(raw.created_at ?? raw.createdAt)).toISOString(),
|
|
217
|
+
createdBy: raw.created_by ? String(raw.created_by) : null
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
mapSortField(field) {
|
|
221
|
+
return {
|
|
222
|
+
version: "version",
|
|
223
|
+
createdAt: "created_at",
|
|
224
|
+
flowId: "flow_id"
|
|
225
|
+
}[field] ?? field;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
//#endregion
|
|
229
|
+
export { FlowVersionsModel };
|
|
230
|
+
|
|
231
|
+
//# sourceMappingURL=flow-versions.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-versions.model.js","names":[],"sources":["../../../src/services/flow-versions/flow-versions.model.ts"],"sourcesContent":["// Flow Versions Model for Invect core — adapter-based implementation\nimport type { InvectAdapter, WhereClause } from '../../database/adapter';\nimport { DatabaseError } from 'src/types/common/errors.types';\nimport { Logger, PaginatedResponse, QueryOptions } from 'src/types/schemas';\nimport { CreateFlowVersionRequest, InvectDefinitionRuntime } from './schemas-fresh';\nimport { FlowVersion } from '../../database';\n\n/**\n * Input for updating a flow version (limited fields)\n */\nexport interface UpdateFlowVersionInput {\n invectDefinition?: InvectDefinitionRuntime;\n}\n\n/**\n * Flow version with optional composite key for database operations\n */\nexport interface FlowVersionKey {\n version: number;\n flowId: string;\n}\n\n/**\n * Flow version query parameters\n */\nexport interface FlowVersionQuery {\n flowId: string;\n version?: number | 'latest';\n limit?: number;\n offset?: number;\n}\n\nconst TABLE = 'flow_versions';\n\n/**\n * Flow Versions CRUD operations class — uses InvectAdapter.\n */\nexport class FlowVersionsModel {\n constructor(\n private readonly adapter: InvectAdapter,\n private readonly logger: Logger,\n ) {}\n\n /**\n * Create a new flow version\n */\n async create(flowId: string, input: CreateFlowVersionRequest): Promise<FlowVersion> {\n try {\n const nextVersionNumber = await this.getNextVersionNumber(flowId);\n\n const result = await this.adapter.create({\n model: TABLE,\n data: {\n flow_id: flowId,\n version: nextVersionNumber,\n invect_definition: input.invectDefinition,\n created_at: new Date(),\n },\n });\n return this.normalize(result);\n } catch (error) {\n this.logger.error('Failed to create flow version', { flowId, error });\n throw new DatabaseError('Failed to create flow version', { error });\n }\n }\n\n /**\n * Create a new flow version and optionally set it as live\n */\n async createAndSetLive(\n flowId: string,\n input: CreateFlowVersionRequest,\n setAsLive: boolean = false,\n ): Promise<FlowVersion> {\n const newVersion = await this.create(flowId, input);\n\n if (setAsLive) {\n const { FlowsModel } = await import('../flows/flows.model');\n const flowsModel = new FlowsModel(this.adapter, this.logger);\n await flowsModel.setLiveVersion(flowId, newVersion.version);\n }\n\n return newVersion;\n }\n\n /**\n * Get all versions for a flow with optional filtering\n */\n async listByFlowId(\n flowId: string,\n options?: QueryOptions<FlowVersion>,\n ): Promise<PaginatedResponse<FlowVersion>> {\n const pagination = options?.pagination || { limit: 100, page: 1 };\n const sort = options?.sort;\n const offset = (pagination.page - 1) * pagination.limit;\n\n const where: WhereClause[] = [{ field: 'flow_id', value: flowId }];\n\n try {\n const [data, totalCount] = await Promise.all([\n this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where,\n limit: pagination.limit,\n offset,\n sortBy: sort\n ? { field: this.mapSortField(sort.sortBy as string), direction: sort.sortOrder }\n : { field: 'version', direction: 'desc' },\n }),\n this.adapter.count({ model: TABLE, where }),\n ]);\n\n return this.processPaginatedResults(data, totalCount, pagination);\n } catch (error) {\n this.logger.error('Failed to retrieve flow versions', { flowId, options, error });\n throw new DatabaseError('Failed to retrieve flow versions', { error });\n }\n }\n\n /**\n * Get specific flow version by composite key\n */\n async findByKey(flowId: string, version: number | 'latest'): Promise<FlowVersion | null> {\n try {\n if (version === 'latest') {\n const versions = await this.listByFlowId(flowId);\n return versions.data.length > 0 ? versions.data[0] : null;\n }\n\n const result = await this.adapter.findOne<Record<string, unknown>>({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'version', value: version },\n ],\n });\n return result ? this.normalize(result) : null;\n } catch (error) {\n this.logger.error('Failed to get flow version', { flowId, version, error });\n throw new DatabaseError('Failed to get flow version', { error });\n }\n }\n\n /**\n * Update flow version\n */\n async update(\n flowId: string,\n version: number,\n input: UpdateFlowVersionInput,\n ): Promise<FlowVersion> {\n try {\n const updateData: Record<string, unknown> = {};\n if (input.invectDefinition !== undefined) {\n updateData.invect_definition = input.invectDefinition;\n }\n\n const result = await this.adapter.update<Record<string, unknown>>({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'version', value: version },\n ],\n update: updateData,\n });\n\n if (!result) {\n throw new DatabaseError('Flow version not found');\n }\n return this.normalize(result);\n } catch (error) {\n this.logger.error('Failed to update flow version', { flowId, version, error });\n throw new DatabaseError('Failed to update flow version', { error });\n }\n }\n\n /**\n * Delete flow version\n */\n async delete(flowId: string, version: number): Promise<void> {\n try {\n await this.adapter.delete({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'version', value: version },\n ],\n });\n } catch (error) {\n this.logger.error('Failed to delete flow version', { flowId, version, error });\n throw new DatabaseError('Failed to delete flow version', { error });\n }\n }\n\n /**\n * Get next version number for a flow\n */\n private async getNextVersionNumber(flowId: string): Promise<number> {\n try {\n // Get current max version by fetching the first record sorted by version desc\n const results = await this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where: [{ field: 'flow_id', value: flowId }],\n sortBy: { field: 'version', direction: 'desc' },\n limit: 1,\n select: ['version'],\n });\n\n const maxVersion = results.length > 0 ? Number(results[0].version) : 0;\n return maxVersion + 1;\n } catch (error) {\n this.logger.error('Failed to get next version number', { flowId, error });\n return 1;\n }\n }\n\n private calculatePaginationMetadata(\n totalCount: number,\n pagination: { page: number; limit: number },\n ) {\n const totalPages = Math.ceil(totalCount / pagination.limit);\n return { page: pagination.page, limit: pagination.limit, totalPages };\n }\n\n private processPaginatedResults(\n result: Record<string, unknown>[],\n totalCount: number,\n pagination: { page: number; limit: number },\n ): PaginatedResponse<FlowVersion> {\n const data = result.map((v) => this.normalize(v));\n return { data, pagination: this.calculatePaginationMetadata(totalCount, pagination) };\n }\n\n private normalize(raw: Record<string, unknown>): FlowVersion {\n return {\n version: Number(raw.version),\n flowId: String(raw.flow_id ?? raw.flowId),\n invectDefinition: (raw.invect_definition ?? raw.invectDefinition) as InvectDefinitionRuntime,\n createdAt: new Date(String(raw.created_at ?? raw.createdAt)).toISOString(),\n createdBy: raw.created_by ? String(raw.created_by) : null,\n };\n }\n\n private mapSortField(field: string): string {\n const map: Record<string, string> = {\n version: 'version',\n createdAt: 'created_at',\n flowId: 'flow_id',\n };\n return map[field] ?? field;\n }\n}\n"],"mappings":"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"}
|