@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,156 @@
|
|
|
1
|
+
import { Logger } from "../../types/schemas-fresh/invect-config.js";
|
|
2
|
+
import { EncryptionService } from "./encryption.service.js";
|
|
3
|
+
import { InvectAdapter } from "../../database/adapter.js";
|
|
4
|
+
import { Credential as Credential$1 } from "./credentials.model.js";
|
|
5
|
+
import { OAuth2Service } from "./oauth2.service.js";
|
|
6
|
+
import { CredentialAuthType, CredentialConfig, CredentialType } from "../../database/schema-sqlite.js";
|
|
7
|
+
|
|
8
|
+
//#region src/services/credentials/credentials.service.d.ts
|
|
9
|
+
type Credential = Credential$1;
|
|
10
|
+
interface CreateCredentialInput {
|
|
11
|
+
name: string;
|
|
12
|
+
type: CredentialType;
|
|
13
|
+
authType: CredentialAuthType;
|
|
14
|
+
config: CredentialConfig;
|
|
15
|
+
description?: string;
|
|
16
|
+
workspaceId?: string;
|
|
17
|
+
isShared?: boolean;
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
expiresAt?: string;
|
|
20
|
+
}
|
|
21
|
+
interface UpdateCredentialInput {
|
|
22
|
+
name?: string;
|
|
23
|
+
type?: CredentialType;
|
|
24
|
+
authType?: CredentialAuthType;
|
|
25
|
+
config?: CredentialConfig;
|
|
26
|
+
description?: string;
|
|
27
|
+
isActive?: boolean;
|
|
28
|
+
isShared?: boolean;
|
|
29
|
+
metadata?: Record<string, unknown>;
|
|
30
|
+
expiresAt?: string;
|
|
31
|
+
}
|
|
32
|
+
interface CredentialFilters {
|
|
33
|
+
type?: CredentialType;
|
|
34
|
+
authType?: CredentialAuthType;
|
|
35
|
+
isActive?: boolean;
|
|
36
|
+
workspaceId?: string;
|
|
37
|
+
includeShared?: boolean;
|
|
38
|
+
}
|
|
39
|
+
interface CredentialUsage {
|
|
40
|
+
flowsCount: number;
|
|
41
|
+
nodesCount: number;
|
|
42
|
+
lastUsedAt: string | null;
|
|
43
|
+
}
|
|
44
|
+
interface CredentialWebhookInfo {
|
|
45
|
+
webhookPath: string;
|
|
46
|
+
fullUrl: string;
|
|
47
|
+
}
|
|
48
|
+
declare class CredentialsService {
|
|
49
|
+
private adapter;
|
|
50
|
+
private encryption;
|
|
51
|
+
private logger;
|
|
52
|
+
private model;
|
|
53
|
+
private oauth2Service;
|
|
54
|
+
constructor(adapter: InvectAdapter, encryption: EncryptionService, logger: Logger);
|
|
55
|
+
/**
|
|
56
|
+
* Get the OAuth2 service instance
|
|
57
|
+
*/
|
|
58
|
+
getOAuth2Service(): OAuth2Service;
|
|
59
|
+
/**
|
|
60
|
+
* Create a new credential
|
|
61
|
+
* Automatically encrypts the config
|
|
62
|
+
*/
|
|
63
|
+
create(input: CreateCredentialInput): Promise<Credential>;
|
|
64
|
+
/**
|
|
65
|
+
* Get a credential by ID
|
|
66
|
+
* Decrypts the config before returning
|
|
67
|
+
*/
|
|
68
|
+
get(id: string): Promise<Credential>;
|
|
69
|
+
/**
|
|
70
|
+
* Alias for get() - Get a decrypted credential by ID
|
|
71
|
+
*/
|
|
72
|
+
getDecrypted(id: string): Promise<Credential>;
|
|
73
|
+
/**
|
|
74
|
+
* Get a decrypted credential and automatically refresh OAuth2 tokens if expired
|
|
75
|
+
*
|
|
76
|
+
* This method:
|
|
77
|
+
* 1. Gets the credential with decrypted config
|
|
78
|
+
* 2. Checks if it's an OAuth2 credential with expired token
|
|
79
|
+
* 3. If expired and has refresh token, refreshes the token
|
|
80
|
+
* 4. Updates the credential in database with new token
|
|
81
|
+
* 5. Returns the credential with fresh token
|
|
82
|
+
*
|
|
83
|
+
* @param id - Credential ID
|
|
84
|
+
* @returns Credential with valid (possibly refreshed) access token
|
|
85
|
+
*/
|
|
86
|
+
getDecryptedWithRefresh(id: string): Promise<Credential>;
|
|
87
|
+
/**
|
|
88
|
+
* List all credentials
|
|
89
|
+
* Does NOT decrypt configs (for security)
|
|
90
|
+
* Use get() to decrypt a specific credential
|
|
91
|
+
*/
|
|
92
|
+
list(filters?: CredentialFilters): Promise<Array<Omit<Credential, 'config'>>>;
|
|
93
|
+
/**
|
|
94
|
+
* Update a credential
|
|
95
|
+
* Re-encrypts config if provided
|
|
96
|
+
*/
|
|
97
|
+
update(id: string, input: UpdateCredentialInput): Promise<Credential>;
|
|
98
|
+
/**
|
|
99
|
+
* Delete a credential
|
|
100
|
+
*/
|
|
101
|
+
delete(id: string): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Update the lastUsedAt timestamp
|
|
104
|
+
* Called by execution engine when credential is used
|
|
105
|
+
*/
|
|
106
|
+
updateLastUsed(id: string): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Get credential usage information
|
|
109
|
+
* Returns how many flows/nodes use this credential
|
|
110
|
+
*/
|
|
111
|
+
getUsage(id: string): Promise<CredentialUsage>;
|
|
112
|
+
/**
|
|
113
|
+
* Test a credential by making a test API call
|
|
114
|
+
* Returns true if credential is valid
|
|
115
|
+
*/
|
|
116
|
+
test(id: string): Promise<{
|
|
117
|
+
success: boolean;
|
|
118
|
+
error?: string;
|
|
119
|
+
}>;
|
|
120
|
+
/**
|
|
121
|
+
* Check if a credential has expired
|
|
122
|
+
*/
|
|
123
|
+
isExpired(credential: Credential | null): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Get credentials that are about to expire
|
|
126
|
+
* Useful for sending notifications
|
|
127
|
+
*/
|
|
128
|
+
getExpiringCredentials(daysUntilExpiry?: number): Promise<Credential[]>;
|
|
129
|
+
getWebhookInfo(id: string): Promise<CredentialWebhookInfo | null>;
|
|
130
|
+
enableWebhook(id: string): Promise<CredentialWebhookInfo>;
|
|
131
|
+
findByWebhookPath(webhookPath: string): Promise<Credential | null>;
|
|
132
|
+
/**
|
|
133
|
+
* Check if a user can access a credential
|
|
134
|
+
* For now, all credentials are accessible since we removed userId
|
|
135
|
+
*/
|
|
136
|
+
private canAccess;
|
|
137
|
+
/**
|
|
138
|
+
* Test bearer token credential
|
|
139
|
+
*/
|
|
140
|
+
private testBearerToken;
|
|
141
|
+
/**
|
|
142
|
+
* Test API key credential
|
|
143
|
+
*/
|
|
144
|
+
private testApiKey;
|
|
145
|
+
/**
|
|
146
|
+
* Test basic auth credential
|
|
147
|
+
*/
|
|
148
|
+
private testBasicAuth;
|
|
149
|
+
/**
|
|
150
|
+
* Test database connection string credential
|
|
151
|
+
*/
|
|
152
|
+
private testConnectionString;
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
export { CreateCredentialInput, Credential, CredentialFilters, CredentialUsage, CredentialWebhookInfo, CredentialsService, UpdateCredentialInput };
|
|
156
|
+
//# sourceMappingURL=credentials.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.service.d.ts","names":[],"sources":["../../../src/services/credentials/credentials.service.ts"],"mappings":";;;;;;;;KAqBY,UAAA,GAAa,YAAA;AAAA,UAER,qBAAA;EACf,IAAA;EACA,IAAA,EAAM,cAAA;EACN,QAAA,EAAU,kBAAA;EACV,MAAA,EAAQ,gBAAA;EACR,WAAA;EACA,WAAA;EACA,QAAA;EACA,QAAA,GAAW,MAAA;EACX,SAAA;AAAA;AAAA,UAGe,qBAAA;EACf,IAAA;EACA,IAAA,GAAO,cAAA;EACP,QAAA,GAAW,kBAAA;EACX,MAAA,GAAS,gBAAA;EACT,WAAA;EACA,QAAA;EACA,QAAA;EACA,QAAA,GAAW,MAAA;EACX,SAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA,GAAO,cAAA;EACP,QAAA,GAAW,kBAAA;EACX,QAAA;EACA,WAAA;EACA,aAAA;AAAA;AAAA,UAGe,eAAA;EACf,UAAA;EACA,UAAA;EACA,UAAA;AAAA;AAAA,UAGe,qBAAA;EACf,WAAA;EACA,OAAA;AAAA;AAAA,cAMW,kBAAA;EAAA,QAKD,OAAA;EAAA,QACA,UAAA;EAAA,QACA,MAAA;EAAA,QANF,KAAA;EAAA,QACA,aAAA;cAGE,OAAA,EAAS,aAAA,EACT,UAAA,EAAY,iBAAA,EACZ,MAAA,EAAQ,MAAA;EAhClB;;;EAyCA,gBAAA,CAAA,GAAoB,aAAA;EAtCY;;;;EA8C1B,MAAA,CAAO,KAAA,EAAO,qBAAA,GAAwB,OAAA,CAAQ,UAAA;EA5CpD;;;;EAqEM,GAAA,CAAI,EAAA,WAAa,OAAA,CAAQ,UAAA;EAlElB;;AAGf;EAoFQ,YAAA,CAAa,EAAA,WAAa,OAAA,CAAQ,UAAA;;;;;;;;AA9E1C;;;;;AAQA;EAuFQ,uBAAA,CAAwB,EAAA,WAAa,OAAA,CAAQ,UAAA;;;;;;EAwE7C,IAAA,CAAK,OAAA,GAAU,iBAAA,GAAoB,OAAA,CAAQ,KAAA,CAAM,IAAA,CAAK,UAAA;EAvIR;;;;EAsK9C,MAAA,CAAO,EAAA,UAAY,KAAA,EAAO,qBAAA,GAAwB,OAAA,CAAQ,UAAA;EAxHhC;;;EA2J1B,MAAA,CAAO,EAAA,WAAa,OAAA;EAlEkC;;;;EAuFtD,cAAA,CAAe,EAAA,WAAa,OAAA;EAxD8B;;;;EAgE1D,QAAA,CAAS,EAAA,WAAa,OAAA,CAAQ,eAAA;EAAR;;;;EAkBtB,IAAA,CAAK,EAAA,WAAa,OAAA;IAAU,OAAA;IAAkB,KAAA;EAAA;EAiFnB;;;EAzCjC,SAAA,CAAU,UAAA,EAAY,UAAA;EA6D+B;;;;EAhD/C,sBAAA,CAAuB,eAAA,YAA8B,OAAA,CAAQ,UAAA;EAe7D,cAAA,CAAe,EAAA,WAAa,OAAA,CAAQ,qBAAA;EAapC,aAAA,CAAc,EAAA,WAAa,OAAA,CAAQ,qBAAA;EAoBnC,iBAAA,CAAkB,WAAA,WAAsB,OAAA,CAAQ,UAAA;EAhX5C;;;;EAAA,QA4XF,SAAA;EAjXR;;;EAAA,QA6Xc,eAAA;EArXD;;;EAAA,QAgdC,UAAA;EAvbJ;;;EAAA,QA6cI,aAAA;EAxbK;;;EAAA,QA8cL,oBAAA;AAAA"}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { CredentialsModel } from "./credentials.model.js";
|
|
2
|
+
import { createOAuth2Service } from "./oauth2.service.js";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
//#region src/services/credentials/credentials.service.ts
|
|
5
|
+
/**
|
|
6
|
+
* Credentials Service
|
|
7
|
+
*
|
|
8
|
+
* Business logic for managing API credentials
|
|
9
|
+
* Uses CredentialsModel for database operations
|
|
10
|
+
* Handles encryption/decryption transparently
|
|
11
|
+
*/
|
|
12
|
+
var CredentialsService = class {
|
|
13
|
+
model;
|
|
14
|
+
oauth2Service;
|
|
15
|
+
constructor(adapter, encryption, logger) {
|
|
16
|
+
this.adapter = adapter;
|
|
17
|
+
this.encryption = encryption;
|
|
18
|
+
this.logger = logger;
|
|
19
|
+
this.model = new CredentialsModel(adapter, logger);
|
|
20
|
+
this.oauth2Service = createOAuth2Service(logger);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get the OAuth2 service instance
|
|
24
|
+
*/
|
|
25
|
+
getOAuth2Service() {
|
|
26
|
+
return this.oauth2Service;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a new credential
|
|
30
|
+
* Automatically encrypts the config
|
|
31
|
+
*/
|
|
32
|
+
async create(input) {
|
|
33
|
+
const encryptedConfigString = this.encryption.encryptObject(input.config);
|
|
34
|
+
const credential = await this.model.create({
|
|
35
|
+
...input,
|
|
36
|
+
config: encryptedConfigString
|
|
37
|
+
});
|
|
38
|
+
const decryptedConfig = this.encryption.decryptObject(typeof credential.config === "string" ? credential.config : JSON.stringify(credential.config));
|
|
39
|
+
return {
|
|
40
|
+
...credential,
|
|
41
|
+
config: decryptedConfig
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get a credential by ID
|
|
46
|
+
* Decrypts the config before returning
|
|
47
|
+
*/
|
|
48
|
+
async get(id) {
|
|
49
|
+
const credential = await this.model.findById(id);
|
|
50
|
+
if (!credential) throw new Error("Credential not found");
|
|
51
|
+
const decryptedConfig = this.encryption.decryptObject(typeof credential.config === "string" ? credential.config : JSON.stringify(credential.config));
|
|
52
|
+
return {
|
|
53
|
+
...credential,
|
|
54
|
+
config: decryptedConfig
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Alias for get() - Get a decrypted credential by ID
|
|
59
|
+
*/
|
|
60
|
+
async getDecrypted(id) {
|
|
61
|
+
return this.get(id);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get a decrypted credential and automatically refresh OAuth2 tokens if expired
|
|
65
|
+
*
|
|
66
|
+
* This method:
|
|
67
|
+
* 1. Gets the credential with decrypted config
|
|
68
|
+
* 2. Checks if it's an OAuth2 credential with expired token
|
|
69
|
+
* 3. If expired and has refresh token, refreshes the token
|
|
70
|
+
* 4. Updates the credential in database with new token
|
|
71
|
+
* 5. Returns the credential with fresh token
|
|
72
|
+
*
|
|
73
|
+
* @param id - Credential ID
|
|
74
|
+
* @returns Credential with valid (possibly refreshed) access token
|
|
75
|
+
*/
|
|
76
|
+
async getDecryptedWithRefresh(id) {
|
|
77
|
+
const credential = await this.get(id);
|
|
78
|
+
if (credential.authType === "oauth2" && this.oauth2Service.isTokenExpired(credential.config) && this.oauth2Service.canRefresh(credential.config)) {
|
|
79
|
+
this.logger.info("Refreshing expired OAuth2 token", {
|
|
80
|
+
credentialId: id,
|
|
81
|
+
provider: credential.config.oauth2Provider
|
|
82
|
+
});
|
|
83
|
+
try {
|
|
84
|
+
const appConfig = {
|
|
85
|
+
clientId: credential.config.clientId,
|
|
86
|
+
clientSecret: credential.config.clientSecret,
|
|
87
|
+
redirectUri: ""
|
|
88
|
+
};
|
|
89
|
+
const newTokens = await this.oauth2Service.refreshAccessToken(credential.config.refreshToken, credential.config.oauth2Provider, appConfig);
|
|
90
|
+
const now = /* @__PURE__ */ new Date();
|
|
91
|
+
const expiresAt = newTokens.expiresIn ? new Date(now.getTime() + newTokens.expiresIn * 1e3).toISOString() : void 0;
|
|
92
|
+
const updatedConfig = {
|
|
93
|
+
...credential.config,
|
|
94
|
+
accessToken: newTokens.accessToken,
|
|
95
|
+
refreshToken: newTokens.refreshToken || credential.config.refreshToken,
|
|
96
|
+
expiresAt
|
|
97
|
+
};
|
|
98
|
+
await this.update(id, { config: updatedConfig });
|
|
99
|
+
this.logger.info("OAuth2 token refreshed successfully", { credentialId: id });
|
|
100
|
+
return {
|
|
101
|
+
...credential,
|
|
102
|
+
config: updatedConfig
|
|
103
|
+
};
|
|
104
|
+
} catch (error) {
|
|
105
|
+
this.logger.error("Failed to refresh OAuth2 token", {
|
|
106
|
+
credentialId: id,
|
|
107
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
108
|
+
});
|
|
109
|
+
return credential;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return credential;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* List all credentials
|
|
116
|
+
* Does NOT decrypt configs (for security)
|
|
117
|
+
* Use get() to decrypt a specific credential
|
|
118
|
+
*/
|
|
119
|
+
async list(filters) {
|
|
120
|
+
let filtered = (await this.model.findAll()).data;
|
|
121
|
+
if (filters?.type) filtered = filtered.filter((c) => c.type === filters.type);
|
|
122
|
+
if (filters?.authType) filtered = filtered.filter((c) => c.authType === filters.authType);
|
|
123
|
+
if (filters?.isActive !== void 0) filtered = filtered.filter((c) => c.isActive === filters.isActive);
|
|
124
|
+
return filtered.map((cred) => {
|
|
125
|
+
const { config: _config, ...rest } = cred;
|
|
126
|
+
return rest;
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Update a credential
|
|
131
|
+
* Re-encrypts config if provided
|
|
132
|
+
*/
|
|
133
|
+
async update(id, input) {
|
|
134
|
+
await this.get(id);
|
|
135
|
+
const updateData = { ...input };
|
|
136
|
+
if (input.config !== void 0) updateData.config = this.encryption.encryptObject(input.config);
|
|
137
|
+
const updated = await this.model.update(id, updateData);
|
|
138
|
+
if (updated.config) {
|
|
139
|
+
const decryptedConfig = this.encryption.decryptObject(JSON.stringify(updated.config));
|
|
140
|
+
return {
|
|
141
|
+
...updated,
|
|
142
|
+
config: decryptedConfig
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
return updated;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Delete a credential
|
|
149
|
+
*/
|
|
150
|
+
async delete(id) {
|
|
151
|
+
await this.get(id);
|
|
152
|
+
const usage = await this.getUsage(id);
|
|
153
|
+
if (usage.nodesCount > 0) throw new Error(`Cannot delete credential. It is currently used in ${usage.nodesCount} nodes. Please remove all references before deleting.`);
|
|
154
|
+
await this.model.delete(id);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Update the lastUsedAt timestamp
|
|
158
|
+
* Called by execution engine when credential is used
|
|
159
|
+
*/
|
|
160
|
+
async updateLastUsed(id) {
|
|
161
|
+
await this.model.updateLastUsed(id);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Get credential usage information
|
|
165
|
+
* Returns how many flows/nodes use this credential
|
|
166
|
+
*/
|
|
167
|
+
async getUsage(id) {
|
|
168
|
+
const credential = await this.model.findById(id);
|
|
169
|
+
if (!credential) throw new Error("Credential not found");
|
|
170
|
+
return {
|
|
171
|
+
flowsCount: 0,
|
|
172
|
+
nodesCount: 0,
|
|
173
|
+
lastUsedAt: credential.lastUsedAt || null
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Test a credential by making a test API call
|
|
178
|
+
* Returns true if credential is valid
|
|
179
|
+
*/
|
|
180
|
+
async test(id) {
|
|
181
|
+
try {
|
|
182
|
+
const credential = await this.get(id);
|
|
183
|
+
if (!credential) return {
|
|
184
|
+
success: false,
|
|
185
|
+
error: "Credential not found"
|
|
186
|
+
};
|
|
187
|
+
switch (credential.authType) {
|
|
188
|
+
case "bearer":
|
|
189
|
+
case "oauth2": return await this.testBearerToken(credential);
|
|
190
|
+
case "apiKey": return await this.testApiKey(credential);
|
|
191
|
+
case "basic": return await this.testBasicAuth(credential);
|
|
192
|
+
case "connectionString": return await this.testConnectionString(credential);
|
|
193
|
+
default: return {
|
|
194
|
+
success: false,
|
|
195
|
+
error: `Testing not implemented for auth type: ${credential.authType}`
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
} catch (error) {
|
|
199
|
+
return {
|
|
200
|
+
success: false,
|
|
201
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Check if a credential has expired
|
|
207
|
+
*/
|
|
208
|
+
isExpired(credential) {
|
|
209
|
+
if (!credential || !credential.expiresAt) return false;
|
|
210
|
+
return new Date(credential.expiresAt) < /* @__PURE__ */ new Date();
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Get credentials that are about to expire
|
|
214
|
+
* Useful for sending notifications
|
|
215
|
+
*/
|
|
216
|
+
async getExpiringCredentials(daysUntilExpiry = 7) {
|
|
217
|
+
return (await this.model.getExpiredCredentials(daysUntilExpiry)).map((cred) => {
|
|
218
|
+
const decryptedConfig = this.encryption.decryptObject(JSON.stringify(cred.config));
|
|
219
|
+
return {
|
|
220
|
+
...cred,
|
|
221
|
+
config: decryptedConfig
|
|
222
|
+
};
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
async getWebhookInfo(id) {
|
|
226
|
+
const credential = await this.get(id);
|
|
227
|
+
if (!credential.webhookPath) return null;
|
|
228
|
+
return {
|
|
229
|
+
webhookPath: credential.webhookPath,
|
|
230
|
+
fullUrl: `/webhooks/credentials/${credential.webhookPath}`
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
async enableWebhook(id) {
|
|
234
|
+
const existing = await this.getWebhookInfo(id);
|
|
235
|
+
if (existing) return existing;
|
|
236
|
+
const webhookPath = randomUUID().replace(/-/g, "").slice(0, 24);
|
|
237
|
+
const webhookSecret = randomUUID().replace(/-/g, "");
|
|
238
|
+
const updated = await this.model.enableWebhook(id, webhookPath, webhookSecret);
|
|
239
|
+
if (!updated.webhookPath) throw new Error("Failed to enable webhook for credential");
|
|
240
|
+
return {
|
|
241
|
+
webhookPath: updated.webhookPath,
|
|
242
|
+
fullUrl: `/webhooks/credentials/${updated.webhookPath}`
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
async findByWebhookPath(webhookPath) {
|
|
246
|
+
return this.model.findByWebhookPath(webhookPath);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Check if a user can access a credential
|
|
250
|
+
* For now, all credentials are accessible since we removed userId
|
|
251
|
+
*/
|
|
252
|
+
canAccess(credential, _userId) {
|
|
253
|
+
if (!credential) return false;
|
|
254
|
+
return true;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Test bearer token credential
|
|
258
|
+
*/
|
|
259
|
+
async testBearerToken(credential) {
|
|
260
|
+
if (!credential) return {
|
|
261
|
+
success: false,
|
|
262
|
+
error: "Credential not found"
|
|
263
|
+
};
|
|
264
|
+
const endpoints = { "http-api": {
|
|
265
|
+
anthropic: "https://api.anthropic.com/v1/models",
|
|
266
|
+
github: "https://api.github.com/user",
|
|
267
|
+
linear: "https://api.linear.app/graphql",
|
|
268
|
+
stripe: "https://api.stripe.com/v1/customers?limit=1",
|
|
269
|
+
openai: "https://api.openai.com/v1/models"
|
|
270
|
+
} }[credential.type];
|
|
271
|
+
if (!endpoints) return {
|
|
272
|
+
success: false,
|
|
273
|
+
error: `No test endpoints configured for credential type: ${credential.type}`
|
|
274
|
+
};
|
|
275
|
+
const token = credential.authType === "oauth2" ? credential.config?.accessToken : credential.config?.token;
|
|
276
|
+
if (!token) return {
|
|
277
|
+
success: false,
|
|
278
|
+
error: "Token not found in credential config"
|
|
279
|
+
};
|
|
280
|
+
const providerHint = credential.metadata?.provider;
|
|
281
|
+
const endpoint = providerHint ? endpoints[providerHint.toLowerCase()] : void 0;
|
|
282
|
+
if (!endpoint) return {
|
|
283
|
+
success: true,
|
|
284
|
+
error: "Token found but no test endpoint available. Add provider to metadata for testing."
|
|
285
|
+
};
|
|
286
|
+
try {
|
|
287
|
+
const providerHeaders = { "Content-Type": "application/json" };
|
|
288
|
+
if (providerHint?.toLowerCase() === "anthropic") {
|
|
289
|
+
providerHeaders["x-api-key"] = token;
|
|
290
|
+
providerHeaders["anthropic-version"] = "2023-06-01";
|
|
291
|
+
} else providerHeaders.Authorization = `Bearer ${token}`;
|
|
292
|
+
const requestInit = { headers: providerHeaders };
|
|
293
|
+
if (providerHint?.toLowerCase() === "linear") {
|
|
294
|
+
requestInit.method = "POST";
|
|
295
|
+
requestInit.body = JSON.stringify({ query: "query CredentialHealthcheck { viewer { id name } }" });
|
|
296
|
+
}
|
|
297
|
+
const response = await fetch(endpoint, requestInit);
|
|
298
|
+
if (response.ok) return { success: true };
|
|
299
|
+
const errorText = await response.text();
|
|
300
|
+
return {
|
|
301
|
+
success: false,
|
|
302
|
+
error: `HTTP ${response.status}: ${errorText}`
|
|
303
|
+
};
|
|
304
|
+
} catch (error) {
|
|
305
|
+
return {
|
|
306
|
+
success: false,
|
|
307
|
+
error: error instanceof Error ? error.message : "Network error"
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Test API key credential
|
|
313
|
+
*/
|
|
314
|
+
async testApiKey(credential) {
|
|
315
|
+
if (!credential) return {
|
|
316
|
+
success: false,
|
|
317
|
+
error: "Credential not found"
|
|
318
|
+
};
|
|
319
|
+
if (!credential.config?.apiKey) return {
|
|
320
|
+
success: false,
|
|
321
|
+
error: "API key is empty"
|
|
322
|
+
};
|
|
323
|
+
return { success: true };
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Test basic auth credential
|
|
327
|
+
*/
|
|
328
|
+
async testBasicAuth(credential) {
|
|
329
|
+
if (!credential) return {
|
|
330
|
+
success: false,
|
|
331
|
+
error: "Credential not found"
|
|
332
|
+
};
|
|
333
|
+
if (!credential.config?.username || !credential.config?.password) return {
|
|
334
|
+
success: false,
|
|
335
|
+
error: "Username or password is empty"
|
|
336
|
+
};
|
|
337
|
+
return { success: true };
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Test database connection string credential
|
|
341
|
+
*/
|
|
342
|
+
async testConnectionString(credential) {
|
|
343
|
+
if (!credential) return {
|
|
344
|
+
success: false,
|
|
345
|
+
error: "Credential not found"
|
|
346
|
+
};
|
|
347
|
+
if (!credential.config?.connectionString) return {
|
|
348
|
+
success: false,
|
|
349
|
+
error: "Connection string is empty"
|
|
350
|
+
};
|
|
351
|
+
return { success: true };
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
//#endregion
|
|
355
|
+
export { CredentialsService };
|
|
356
|
+
|
|
357
|
+
//# sourceMappingURL=credentials.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.service.js","names":[],"sources":["../../../src/services/credentials/credentials.service.ts"],"sourcesContent":["/**\n * Credentials Service\n *\n * Business logic for managing API credentials\n * Uses CredentialsModel for database operations\n * Handles encryption/decryption transparently\n */\n\nimport { randomUUID } from 'node:crypto';\nimport { CredentialsModel } from './credentials.model';\nimport { EncryptionService } from './encryption.service';\nimport type { InvectAdapter } from '../../database/adapter';\nimport type {\n CredentialConfig,\n CredentialAuthType,\n CredentialType,\n} from '../../database/schema-sqlite';\nimport type { Logger } from 'src/types/schemas';\n\nimport type { Credential as ModelCredential } from './credentials.model';\n\nexport type Credential = ModelCredential;\n\nexport interface CreateCredentialInput {\n name: string;\n type: CredentialType;\n authType: CredentialAuthType;\n config: CredentialConfig;\n description?: string;\n workspaceId?: string;\n isShared?: boolean;\n metadata?: Record<string, unknown>;\n expiresAt?: string;\n}\n\nexport interface UpdateCredentialInput {\n name?: string;\n type?: CredentialType;\n authType?: CredentialAuthType;\n config?: CredentialConfig;\n description?: string;\n isActive?: boolean;\n isShared?: boolean;\n metadata?: Record<string, unknown>;\n expiresAt?: string;\n}\n\nexport interface CredentialFilters {\n type?: CredentialType;\n authType?: CredentialAuthType;\n isActive?: boolean;\n workspaceId?: string;\n includeShared?: boolean;\n}\n\nexport interface CredentialUsage {\n flowsCount: number;\n nodesCount: number;\n lastUsedAt: string | null;\n}\n\nexport interface CredentialWebhookInfo {\n webhookPath: string;\n fullUrl: string;\n}\n\n// Import OAuth2 service for token refresh\nimport { OAuth2Service, createOAuth2Service, type OAuth2AppConfig } from './oauth2.service';\n\nexport class CredentialsService {\n private model: CredentialsModel;\n private oauth2Service: OAuth2Service;\n\n constructor(\n private adapter: InvectAdapter,\n private encryption: EncryptionService,\n private logger: Logger,\n ) {\n this.model = new CredentialsModel(adapter, logger);\n this.oauth2Service = createOAuth2Service(logger);\n }\n\n /**\n * Get the OAuth2 service instance\n */\n getOAuth2Service(): OAuth2Service {\n return this.oauth2Service;\n }\n\n /**\n * Create a new credential\n * Automatically encrypts the config\n */\n async create(input: CreateCredentialInput): Promise<Credential> {\n // Encrypt the config before storing\n const encryptedConfigString = this.encryption.encryptObject(input.config);\n\n // Create the credential via model\n const credential = await this.model.create({\n ...input,\n config: encryptedConfigString as unknown as CredentialConfig,\n });\n\n // Decrypt config for return (config is already a string from DB)\n const decryptedConfig = this.encryption.decryptObject<CredentialConfig>(\n typeof credential.config === 'string' ? credential.config : JSON.stringify(credential.config),\n );\n\n return {\n ...credential,\n config: decryptedConfig,\n };\n }\n\n /**\n * Get a credential by ID\n * Decrypts the config before returning\n */\n async get(id: string): Promise<Credential> {\n const credential = await this.model.findById(id);\n\n if (!credential) {\n throw new Error('Credential not found');\n }\n\n // Decrypt the config (config is already a string from DB)\n const decryptedConfig = this.encryption.decryptObject<CredentialConfig>(\n typeof credential.config === 'string' ? credential.config : JSON.stringify(credential.config),\n );\n\n return {\n ...credential,\n config: decryptedConfig,\n };\n }\n\n /**\n * Alias for get() - Get a decrypted credential by ID\n */\n async getDecrypted(id: string): Promise<Credential> {\n return this.get(id);\n }\n\n /**\n * Get a decrypted credential and automatically refresh OAuth2 tokens if expired\n *\n * This method:\n * 1. Gets the credential with decrypted config\n * 2. Checks if it's an OAuth2 credential with expired token\n * 3. If expired and has refresh token, refreshes the token\n * 4. Updates the credential in database with new token\n * 5. Returns the credential with fresh token\n *\n * @param id - Credential ID\n * @returns Credential with valid (possibly refreshed) access token\n */\n async getDecryptedWithRefresh(id: string): Promise<Credential> {\n const credential = await this.get(id);\n\n // Check if this is an OAuth2 credential that needs refresh\n if (\n credential.authType === 'oauth2' &&\n this.oauth2Service.isTokenExpired(credential.config) &&\n this.oauth2Service.canRefresh(credential.config)\n ) {\n this.logger.info('Refreshing expired OAuth2 token', {\n credentialId: id,\n provider: credential.config.oauth2Provider,\n });\n\n try {\n const appConfig: OAuth2AppConfig = {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- checked via canRefresh()\n clientId: credential.config.clientId!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- checked via canRefresh()\n clientSecret: credential.config.clientSecret!,\n redirectUri: '', // Not needed for refresh\n };\n\n const newTokens = await this.oauth2Service.refreshAccessToken(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- checked via canRefresh()\n credential.config.refreshToken!,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- checked via canRefresh()\n credential.config.oauth2Provider!,\n appConfig,\n );\n\n // Calculate new expiry time\n const now = new Date();\n const expiresAt = newTokens.expiresIn\n ? new Date(now.getTime() + newTokens.expiresIn * 1000).toISOString()\n : undefined;\n\n // Build updated config\n const updatedConfig: CredentialConfig = {\n ...credential.config,\n accessToken: newTokens.accessToken,\n refreshToken: newTokens.refreshToken || credential.config.refreshToken,\n expiresAt,\n };\n\n // Update in database\n await this.update(id, { config: updatedConfig });\n\n this.logger.info('OAuth2 token refreshed successfully', { credentialId: id });\n\n return {\n ...credential,\n config: updatedConfig,\n };\n } catch (error) {\n this.logger.error('Failed to refresh OAuth2 token', {\n credentialId: id,\n error: error instanceof Error ? error.message : 'Unknown error',\n });\n // Return original credential - let the caller handle the expired token\n return credential;\n }\n }\n\n return credential;\n }\n\n /**\n * List all credentials\n * Does NOT decrypt configs (for security)\n * Use get() to decrypt a specific credential\n */\n async list(filters?: CredentialFilters): Promise<Array<Omit<Credential, 'config'>>> {\n // Get all credentials\n const allCredentials = await this.model.findAll();\n const credentials = allCredentials.data;\n\n // Apply optional filters\n let filtered = credentials;\n\n if (filters?.type) {\n filtered = filtered.filter((c: Credential) => c.type === filters.type);\n }\n\n if (filters?.authType) {\n filtered = filtered.filter((c: Credential) => c.authType === filters.authType);\n }\n\n if (filters?.isActive !== undefined) {\n filtered = filtered.filter((c: Credential) => c.isActive === filters.isActive);\n }\n\n // Remove config from results for security\n return filtered.map((cred: Credential) => {\n const { config: _config, ...rest } = cred;\n return rest as Omit<Credential, 'config'>;\n });\n }\n\n /**\n * Update a credential\n * Re-encrypts config if provided\n */\n async update(id: string, input: UpdateCredentialInput): Promise<Credential> {\n // Get existing credential to verify it exists\n const _existing = await this.get(id);\n\n // Build update object\n const updateData: UpdateCredentialInput = {\n ...input,\n };\n\n // Encrypt config if provided\n if (input.config !== undefined) {\n const encryptedConfigStr = this.encryption.encryptObject(input.config);\n updateData.config = encryptedConfigStr as unknown as CredentialConfig;\n }\n\n // Update the credential\n const updated = await this.model.update(id, updateData);\n\n // Decrypt config for return\n if (updated.config) {\n const decryptedConfig = this.encryption.decryptObject<CredentialConfig>(\n JSON.stringify(updated.config),\n );\n return {\n ...updated,\n config: decryptedConfig,\n };\n }\n\n return updated;\n }\n\n /**\n * Delete a credential\n */\n async delete(id: string): Promise<void> {\n // Verify credential exists\n await this.get(id);\n\n // Check if credential is in use\n const usage = await this.getUsage(id);\n if (usage.nodesCount > 0) {\n throw new Error(\n `Cannot delete credential. It is currently used in ${usage.nodesCount} nodes. ` +\n `Please remove all references before deleting.`,\n );\n }\n\n // Delete the credential\n await this.model.delete(id);\n }\n\n /**\n * Update the lastUsedAt timestamp\n * Called by execution engine when credential is used\n */\n async updateLastUsed(id: string): Promise<void> {\n await this.model.updateLastUsed(id);\n }\n\n /**\n * Get credential usage information\n * Returns how many flows/nodes use this credential\n */\n async getUsage(id: string): Promise<CredentialUsage> {\n const credential = await this.model.findById(id);\n\n if (!credential) {\n throw new Error('Credential not found');\n }\n\n return {\n flowsCount: 0, // TODO: Count flows using this credential\n nodesCount: 0, // TODO: Count nodes using this credential\n lastUsedAt: credential.lastUsedAt || null,\n };\n }\n\n /**\n * Test a credential by making a test API call\n * Returns true if credential is valid\n */\n async test(id: string): Promise<{ success: boolean; error?: string }> {\n try {\n const credential = await this.get(id);\n\n if (!credential) {\n return { success: false, error: 'Credential not found' };\n }\n\n // Test based on auth type\n switch (credential.authType) {\n case 'bearer':\n case 'oauth2':\n return await this.testBearerToken(credential);\n\n case 'apiKey':\n return await this.testApiKey(credential);\n\n case 'basic':\n return await this.testBasicAuth(credential);\n\n case 'connectionString':\n return await this.testConnectionString(credential);\n\n default:\n return {\n success: false,\n error: `Testing not implemented for auth type: ${credential.authType}`,\n };\n }\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n }\n\n /**\n * Check if a credential has expired\n */\n isExpired(credential: Credential | null): boolean {\n if (!credential || !credential.expiresAt) {\n return false;\n }\n\n const expiresAt = new Date(credential.expiresAt);\n return expiresAt < new Date();\n }\n\n /**\n * Get credentials that are about to expire\n * Useful for sending notifications\n */\n async getExpiringCredentials(daysUntilExpiry: number = 7): Promise<Credential[]> {\n const expiredCredentials = await this.model.getExpiredCredentials(daysUntilExpiry);\n\n // Decrypt configs for return\n return expiredCredentials.map((cred) => {\n const decryptedConfig = this.encryption.decryptObject<CredentialConfig>(\n JSON.stringify(cred.config),\n );\n return {\n ...cred,\n config: decryptedConfig,\n };\n });\n }\n\n async getWebhookInfo(id: string): Promise<CredentialWebhookInfo | null> {\n const credential = await this.get(id);\n\n if (!credential.webhookPath) {\n return null;\n }\n\n return {\n webhookPath: credential.webhookPath,\n fullUrl: `/webhooks/credentials/${credential.webhookPath}`,\n };\n }\n\n async enableWebhook(id: string): Promise<CredentialWebhookInfo> {\n const existing = await this.getWebhookInfo(id);\n if (existing) {\n return existing;\n }\n\n const webhookPath = randomUUID().replace(/-/g, '').slice(0, 24);\n const webhookSecret = randomUUID().replace(/-/g, '');\n const updated = await this.model.enableWebhook(id, webhookPath, webhookSecret);\n\n if (!updated.webhookPath) {\n throw new Error('Failed to enable webhook for credential');\n }\n\n return {\n webhookPath: updated.webhookPath,\n fullUrl: `/webhooks/credentials/${updated.webhookPath}`,\n };\n }\n\n async findByWebhookPath(webhookPath: string): Promise<Credential | null> {\n return this.model.findByWebhookPath(webhookPath);\n }\n\n // ========================================================================\n // Private Helper Methods\n // ========================================================================\n\n /**\n * Check if a user can access a credential\n * For now, all credentials are accessible since we removed userId\n */\n private canAccess(credential: Credential | null, _userId: string): boolean {\n if (!credential) {\n return false;\n }\n\n // All credentials are accessible (no user-level permissions)\n return true;\n }\n\n /**\n * Test bearer token credential\n */\n private async testBearerToken(\n credential: Credential | null,\n ): Promise<{ success: boolean; error?: string }> {\n if (!credential) {\n return { success: false, error: 'Credential not found' };\n }\n\n // Type-specific validation endpoints\n const testEndpoints: Record<string, Record<string, string>> = {\n 'http-api': {\n anthropic: 'https://api.anthropic.com/v1/models',\n github: 'https://api.github.com/user',\n linear: 'https://api.linear.app/graphql',\n stripe: 'https://api.stripe.com/v1/customers?limit=1',\n openai: 'https://api.openai.com/v1/models',\n },\n };\n\n const endpoints = testEndpoints[credential.type];\n if (!endpoints) {\n return {\n success: false,\n error: `No test endpoints configured for credential type: ${credential.type}`,\n };\n }\n\n // For http-api, we could try to detect the provider from metadata or config\n // For now, just validate the token exists\n const token =\n credential.authType === 'oauth2' ? credential.config?.accessToken : credential.config?.token;\n\n if (!token) {\n return { success: false, error: 'Token not found in credential config' };\n }\n\n // If we have metadata with a provider hint, try to use it\n const providerHint = credential.metadata?.provider as string | undefined;\n const endpoint = providerHint ? endpoints[providerHint.toLowerCase()] : undefined;\n\n if (!endpoint) {\n return {\n success: true, // Token exists, but we can't test it without knowing the endpoint\n error: 'Token found but no test endpoint available. Add provider to metadata for testing.',\n };\n }\n\n try {\n const providerHeaders: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n\n if (providerHint?.toLowerCase() === 'anthropic') {\n providerHeaders['x-api-key'] = token;\n providerHeaders['anthropic-version'] = '2023-06-01';\n } else {\n providerHeaders.Authorization = `Bearer ${token}`;\n }\n\n const requestInit: RequestInit = {\n headers: providerHeaders,\n };\n\n if (providerHint?.toLowerCase() === 'linear') {\n requestInit.method = 'POST';\n requestInit.body = JSON.stringify({\n query: 'query CredentialHealthcheck { viewer { id name } }',\n });\n }\n\n const response = await fetch(endpoint, requestInit);\n\n if (response.ok) {\n return { success: true };\n }\n\n const errorText = await response.text();\n return {\n success: false,\n error: `HTTP ${response.status}: ${errorText}`,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Network error',\n };\n }\n }\n\n /**\n * Test API key credential\n */\n private async testApiKey(\n credential: Credential | null,\n ): Promise<{ success: boolean; error?: string }> {\n if (!credential) {\n return { success: false, error: 'Credential not found' };\n }\n\n // For now, just validate the key exists\n if (!credential.config?.apiKey) {\n return {\n success: false,\n error: 'API key is empty',\n };\n }\n\n // Could add provider-specific validation here\n return { success: true };\n }\n\n /**\n * Test basic auth credential\n */\n private async testBasicAuth(\n credential: Credential | null,\n ): Promise<{ success: boolean; error?: string }> {\n if (!credential) {\n return { success: false, error: 'Credential not found' };\n }\n\n // Validate username and password exist\n if (!credential.config?.username || !credential.config?.password) {\n return {\n success: false,\n error: 'Username or password is empty',\n };\n }\n\n // Could add provider-specific validation here\n return { success: true };\n }\n\n /**\n * Test database connection string credential\n */\n private async testConnectionString(\n credential: Credential | null,\n ): Promise<{ success: boolean; error?: string }> {\n if (!credential) {\n return { success: false, error: 'Credential not found' };\n }\n\n if (!credential.config?.connectionString) {\n return { success: false, error: 'Connection string is empty' };\n }\n\n // Future: Try lightweight parse/validation by driver\n return { success: true };\n }\n}\n"],"mappings":"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"}
|