@invect/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/_virtual/_rolldown/runtime.cjs +33 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/actions/action-executor.cjs +166 -0
- package/dist/actions/action-executor.cjs.map +1 -0
- package/dist/actions/action-executor.d.cts +33 -0
- package/dist/actions/action-executor.d.cts.map +1 -0
- package/dist/actions/action-executor.d.ts +33 -0
- package/dist/actions/action-executor.d.ts.map +1 -0
- package/dist/actions/action-executor.js +164 -0
- package/dist/actions/action-executor.js.map +1 -0
- package/dist/actions/action-registry.cjs +236 -0
- package/dist/actions/action-registry.cjs.map +1 -0
- package/dist/actions/action-registry.d.cts +58 -0
- package/dist/actions/action-registry.d.cts.map +1 -0
- package/dist/actions/action-registry.d.ts +58 -0
- package/dist/actions/action-registry.d.ts.map +1 -0
- package/dist/actions/action-registry.js +233 -0
- package/dist/actions/action-registry.js.map +1 -0
- package/dist/actions/core/if-else.cjs +111 -0
- package/dist/actions/core/if-else.cjs.map +1 -0
- package/dist/actions/core/if-else.d.cts +1 -0
- package/dist/actions/core/if-else.d.ts +1 -0
- package/dist/actions/core/if-else.js +98 -0
- package/dist/actions/core/if-else.js.map +1 -0
- package/dist/actions/core/index.cjs +20 -0
- package/dist/actions/core/index.cjs.map +1 -0
- package/dist/actions/core/index.d.cts +7 -0
- package/dist/actions/core/index.d.cts.map +1 -0
- package/dist/actions/core/index.d.ts +7 -0
- package/dist/actions/core/index.d.ts.map +1 -0
- package/dist/actions/core/index.js +20 -0
- package/dist/actions/core/index.js.map +1 -0
- package/dist/actions/core/input.cjs +73 -0
- package/dist/actions/core/input.cjs.map +1 -0
- package/dist/actions/core/input.d.cts +1 -0
- package/dist/actions/core/input.d.ts +1 -0
- package/dist/actions/core/input.js +72 -0
- package/dist/actions/core/input.js.map +1 -0
- package/dist/actions/core/javascript.cjs +77 -0
- package/dist/actions/core/javascript.cjs.map +1 -0
- package/dist/actions/core/javascript.d.cts +1 -0
- package/dist/actions/core/javascript.d.ts +1 -0
- package/dist/actions/core/javascript.js +62 -0
- package/dist/actions/core/javascript.js.map +1 -0
- package/dist/actions/core/model.cjs +285 -0
- package/dist/actions/core/model.cjs.map +1 -0
- package/dist/actions/core/model.d.cts +1 -0
- package/dist/actions/core/model.d.ts +1 -0
- package/dist/actions/core/model.js +276 -0
- package/dist/actions/core/model.js.map +1 -0
- package/dist/actions/core/output.cjs +66 -0
- package/dist/actions/core/output.cjs.map +1 -0
- package/dist/actions/core/output.d.cts +1 -0
- package/dist/actions/core/output.d.ts +1 -0
- package/dist/actions/core/output.js +57 -0
- package/dist/actions/core/output.js.map +1 -0
- package/dist/actions/core/template-string.cjs +85 -0
- package/dist/actions/core/template-string.cjs.map +1 -0
- package/dist/actions/core/template-string.d.cts +1 -0
- package/dist/actions/core/template-string.d.ts +1 -0
- package/dist/actions/core/template-string.js +76 -0
- package/dist/actions/core/template-string.js.map +1 -0
- package/dist/actions/define-action.cjs +14 -0
- package/dist/actions/define-action.cjs.map +1 -0
- package/dist/actions/define-action.d.cts +13 -0
- package/dist/actions/define-action.d.cts.map +1 -0
- package/dist/actions/define-action.d.ts +13 -0
- package/dist/actions/define-action.d.ts.map +1 -0
- package/dist/actions/define-action.js +14 -0
- package/dist/actions/define-action.js.map +1 -0
- package/dist/actions/github/add-issue-comment.cjs +152 -0
- package/dist/actions/github/add-issue-comment.cjs.map +1 -0
- package/dist/actions/github/add-issue-comment.d.cts +1 -0
- package/dist/actions/github/add-issue-comment.d.ts +1 -0
- package/dist/actions/github/add-issue-comment.js +150 -0
- package/dist/actions/github/add-issue-comment.js.map +1 -0
- package/dist/actions/github/create-branch.cjs +201 -0
- package/dist/actions/github/create-branch.cjs.map +1 -0
- package/dist/actions/github/create-branch.d.cts +1 -0
- package/dist/actions/github/create-branch.d.ts +1 -0
- package/dist/actions/github/create-branch.js +199 -0
- package/dist/actions/github/create-branch.js.map +1 -0
- package/dist/actions/github/create-issue.cjs +190 -0
- package/dist/actions/github/create-issue.cjs.map +1 -0
- package/dist/actions/github/create-issue.d.cts +1 -0
- package/dist/actions/github/create-issue.d.ts +1 -0
- package/dist/actions/github/create-issue.js +188 -0
- package/dist/actions/github/create-issue.js.map +1 -0
- package/dist/actions/github/create-or-update-file.cjs +216 -0
- package/dist/actions/github/create-or-update-file.cjs.map +1 -0
- package/dist/actions/github/create-or-update-file.d.cts +1 -0
- package/dist/actions/github/create-or-update-file.d.ts +1 -0
- package/dist/actions/github/create-or-update-file.js +214 -0
- package/dist/actions/github/create-or-update-file.js.map +1 -0
- package/dist/actions/github/create-pull-request.cjs +206 -0
- package/dist/actions/github/create-pull-request.cjs.map +1 -0
- package/dist/actions/github/create-pull-request.d.cts +1 -0
- package/dist/actions/github/create-pull-request.d.ts +1 -0
- package/dist/actions/github/create-pull-request.js +204 -0
- package/dist/actions/github/create-pull-request.js.map +1 -0
- package/dist/actions/github/create-release.cjs +218 -0
- package/dist/actions/github/create-release.cjs.map +1 -0
- package/dist/actions/github/create-release.d.cts +1 -0
- package/dist/actions/github/create-release.d.ts +1 -0
- package/dist/actions/github/create-release.js +216 -0
- package/dist/actions/github/create-release.js.map +1 -0
- package/dist/actions/github/get-file-content.cjs +164 -0
- package/dist/actions/github/get-file-content.cjs.map +1 -0
- package/dist/actions/github/get-file-content.d.cts +1 -0
- package/dist/actions/github/get-file-content.d.ts +1 -0
- package/dist/actions/github/get-file-content.js +162 -0
- package/dist/actions/github/get-file-content.js.map +1 -0
- package/dist/actions/github/get-issue.cjs +149 -0
- package/dist/actions/github/get-issue.cjs.map +1 -0
- package/dist/actions/github/get-issue.d.cts +1 -0
- package/dist/actions/github/get-issue.d.ts +1 -0
- package/dist/actions/github/get-issue.js +147 -0
- package/dist/actions/github/get-issue.js.map +1 -0
- package/dist/actions/github/get-pull-request.cjs +160 -0
- package/dist/actions/github/get-pull-request.cjs.map +1 -0
- package/dist/actions/github/get-pull-request.d.cts +1 -0
- package/dist/actions/github/get-pull-request.d.ts +1 -0
- package/dist/actions/github/get-pull-request.js +158 -0
- package/dist/actions/github/get-pull-request.js.map +1 -0
- package/dist/actions/github/get-repo.cjs +144 -0
- package/dist/actions/github/get-repo.cjs.map +1 -0
- package/dist/actions/github/get-repo.d.cts +1 -0
- package/dist/actions/github/get-repo.d.ts +1 -0
- package/dist/actions/github/get-repo.js +142 -0
- package/dist/actions/github/get-repo.js.map +1 -0
- package/dist/actions/github/index.cjs +48 -0
- package/dist/actions/github/index.cjs.map +1 -0
- package/dist/actions/github/index.d.cts +7 -0
- package/dist/actions/github/index.d.cts.map +1 -0
- package/dist/actions/github/index.d.ts +7 -0
- package/dist/actions/github/index.d.ts.map +1 -0
- package/dist/actions/github/index.js +48 -0
- package/dist/actions/github/index.js.map +1 -0
- package/dist/actions/github/list-branches.cjs +149 -0
- package/dist/actions/github/list-branches.cjs.map +1 -0
- package/dist/actions/github/list-branches.d.cts +1 -0
- package/dist/actions/github/list-branches.d.ts +1 -0
- package/dist/actions/github/list-branches.js +147 -0
- package/dist/actions/github/list-branches.js.map +1 -0
- package/dist/actions/github/list-commits.cjs +200 -0
- package/dist/actions/github/list-commits.cjs.map +1 -0
- package/dist/actions/github/list-commits.d.cts +1 -0
- package/dist/actions/github/list-commits.d.ts +1 -0
- package/dist/actions/github/list-commits.js +198 -0
- package/dist/actions/github/list-commits.js.map +1 -0
- package/dist/actions/github/list-issue-comments.cjs +153 -0
- package/dist/actions/github/list-issue-comments.cjs.map +1 -0
- package/dist/actions/github/list-issue-comments.d.cts +1 -0
- package/dist/actions/github/list-issue-comments.d.ts +1 -0
- package/dist/actions/github/list-issue-comments.js +151 -0
- package/dist/actions/github/list-issue-comments.js.map +1 -0
- package/dist/actions/github/list-issues.cjs +244 -0
- package/dist/actions/github/list-issues.cjs.map +1 -0
- package/dist/actions/github/list-issues.d.cts +1 -0
- package/dist/actions/github/list-issues.d.ts +1 -0
- package/dist/actions/github/list-issues.js +242 -0
- package/dist/actions/github/list-issues.js.map +1 -0
- package/dist/actions/github/list-pull-requests.cjs +252 -0
- package/dist/actions/github/list-pull-requests.cjs.map +1 -0
- package/dist/actions/github/list-pull-requests.d.cts +1 -0
- package/dist/actions/github/list-pull-requests.d.ts +1 -0
- package/dist/actions/github/list-pull-requests.js +250 -0
- package/dist/actions/github/list-pull-requests.js.map +1 -0
- package/dist/actions/github/list-releases.cjs +152 -0
- package/dist/actions/github/list-releases.cjs.map +1 -0
- package/dist/actions/github/list-releases.d.cts +1 -0
- package/dist/actions/github/list-releases.d.ts +1 -0
- package/dist/actions/github/list-releases.js +150 -0
- package/dist/actions/github/list-releases.js.map +1 -0
- package/dist/actions/github/list-repos.cjs +227 -0
- package/dist/actions/github/list-repos.cjs.map +1 -0
- package/dist/actions/github/list-repos.d.cts +1 -0
- package/dist/actions/github/list-repos.d.ts +1 -0
- package/dist/actions/github/list-repos.js +225 -0
- package/dist/actions/github/list-repos.js.map +1 -0
- package/dist/actions/github/merge-pull-request.cjs +204 -0
- package/dist/actions/github/merge-pull-request.cjs.map +1 -0
- package/dist/actions/github/merge-pull-request.d.cts +1 -0
- package/dist/actions/github/merge-pull-request.d.ts +1 -0
- package/dist/actions/github/merge-pull-request.js +202 -0
- package/dist/actions/github/merge-pull-request.js.map +1 -0
- package/dist/actions/github/search-issues.cjs +200 -0
- package/dist/actions/github/search-issues.cjs.map +1 -0
- package/dist/actions/github/search-issues.d.cts +1 -0
- package/dist/actions/github/search-issues.d.ts +1 -0
- package/dist/actions/github/search-issues.js +198 -0
- package/dist/actions/github/search-issues.js.map +1 -0
- package/dist/actions/github/update-issue.cjs +243 -0
- package/dist/actions/github/update-issue.cjs.map +1 -0
- package/dist/actions/github/update-issue.d.cts +1 -0
- package/dist/actions/github/update-issue.d.ts +1 -0
- package/dist/actions/github/update-issue.js +241 -0
- package/dist/actions/github/update-issue.js.map +1 -0
- package/dist/actions/gmail/create-draft.cjs +228 -0
- package/dist/actions/gmail/create-draft.cjs.map +1 -0
- package/dist/actions/gmail/create-draft.d.cts +1 -0
- package/dist/actions/gmail/create-draft.d.ts +1 -0
- package/dist/actions/gmail/create-draft.js +226 -0
- package/dist/actions/gmail/create-draft.js.map +1 -0
- package/dist/actions/gmail/get-message.cjs +205 -0
- package/dist/actions/gmail/get-message.cjs.map +1 -0
- package/dist/actions/gmail/get-message.d.cts +1 -0
- package/dist/actions/gmail/get-message.d.ts +1 -0
- package/dist/actions/gmail/get-message.js +203 -0
- package/dist/actions/gmail/get-message.js.map +1 -0
- package/dist/actions/gmail/index.cjs +18 -0
- package/dist/actions/gmail/index.cjs.map +1 -0
- package/dist/actions/gmail/index.d.cts +7 -0
- package/dist/actions/gmail/index.d.cts.map +1 -0
- package/dist/actions/gmail/index.d.ts +7 -0
- package/dist/actions/gmail/index.d.ts.map +1 -0
- package/dist/actions/gmail/index.js +18 -0
- package/dist/actions/gmail/index.js.map +1 -0
- package/dist/actions/gmail/list-messages.cjs +195 -0
- package/dist/actions/gmail/list-messages.cjs.map +1 -0
- package/dist/actions/gmail/list-messages.d.cts +1 -0
- package/dist/actions/gmail/list-messages.d.ts +1 -0
- package/dist/actions/gmail/list-messages.js +193 -0
- package/dist/actions/gmail/list-messages.js.map +1 -0
- package/dist/actions/gmail/modify-labels.cjs +163 -0
- package/dist/actions/gmail/modify-labels.cjs.map +1 -0
- package/dist/actions/gmail/modify-labels.d.cts +1 -0
- package/dist/actions/gmail/modify-labels.d.ts +1 -0
- package/dist/actions/gmail/modify-labels.js +161 -0
- package/dist/actions/gmail/modify-labels.js.map +1 -0
- package/dist/actions/gmail/send-message.cjs +233 -0
- package/dist/actions/gmail/send-message.cjs.map +1 -0
- package/dist/actions/gmail/send-message.d.cts +1 -0
- package/dist/actions/gmail/send-message.d.ts +1 -0
- package/dist/actions/gmail/send-message.js +231 -0
- package/dist/actions/gmail/send-message.js.map +1 -0
- package/dist/actions/google-calendar/create-event.cjs +274 -0
- package/dist/actions/google-calendar/create-event.cjs.map +1 -0
- package/dist/actions/google-calendar/create-event.d.cts +1 -0
- package/dist/actions/google-calendar/create-event.d.ts +1 -0
- package/dist/actions/google-calendar/create-event.js +272 -0
- package/dist/actions/google-calendar/create-event.js.map +1 -0
- package/dist/actions/google-calendar/delete-event.cjs +145 -0
- package/dist/actions/google-calendar/delete-event.cjs.map +1 -0
- package/dist/actions/google-calendar/delete-event.d.cts +1 -0
- package/dist/actions/google-calendar/delete-event.d.ts +1 -0
- package/dist/actions/google-calendar/delete-event.js +143 -0
- package/dist/actions/google-calendar/delete-event.js.map +1 -0
- package/dist/actions/google-calendar/get-event.cjs +128 -0
- package/dist/actions/google-calendar/get-event.cjs.map +1 -0
- package/dist/actions/google-calendar/get-event.d.cts +1 -0
- package/dist/actions/google-calendar/get-event.d.ts +1 -0
- package/dist/actions/google-calendar/get-event.js +126 -0
- package/dist/actions/google-calendar/get-event.js.map +1 -0
- package/dist/actions/google-calendar/index.cjs +20 -0
- package/dist/actions/google-calendar/index.cjs.map +1 -0
- package/dist/actions/google-calendar/index.d.cts +7 -0
- package/dist/actions/google-calendar/index.d.cts.map +1 -0
- package/dist/actions/google-calendar/index.d.ts +7 -0
- package/dist/actions/google-calendar/index.d.ts.map +1 -0
- package/dist/actions/google-calendar/index.js +20 -0
- package/dist/actions/google-calendar/index.js.map +1 -0
- package/dist/actions/google-calendar/list-events.cjs +193 -0
- package/dist/actions/google-calendar/list-events.cjs.map +1 -0
- package/dist/actions/google-calendar/list-events.d.cts +1 -0
- package/dist/actions/google-calendar/list-events.d.ts +1 -0
- package/dist/actions/google-calendar/list-events.js +191 -0
- package/dist/actions/google-calendar/list-events.js.map +1 -0
- package/dist/actions/google-calendar/query-freebusy.cjs +160 -0
- package/dist/actions/google-calendar/query-freebusy.cjs.map +1 -0
- package/dist/actions/google-calendar/query-freebusy.d.cts +1 -0
- package/dist/actions/google-calendar/query-freebusy.d.ts +1 -0
- package/dist/actions/google-calendar/query-freebusy.js +158 -0
- package/dist/actions/google-calendar/query-freebusy.js.map +1 -0
- package/dist/actions/google-calendar/update-event.cjs +221 -0
- package/dist/actions/google-calendar/update-event.cjs.map +1 -0
- package/dist/actions/google-calendar/update-event.d.cts +1 -0
- package/dist/actions/google-calendar/update-event.d.ts +1 -0
- package/dist/actions/google-calendar/update-event.js +219 -0
- package/dist/actions/google-calendar/update-event.js.map +1 -0
- package/dist/actions/google-docs/append-text.cjs +138 -0
- package/dist/actions/google-docs/append-text.cjs.map +1 -0
- package/dist/actions/google-docs/append-text.d.cts +1 -0
- package/dist/actions/google-docs/append-text.d.ts +1 -0
- package/dist/actions/google-docs/append-text.js +136 -0
- package/dist/actions/google-docs/append-text.js.map +1 -0
- package/dist/actions/google-docs/create-document.cjs +138 -0
- package/dist/actions/google-docs/create-document.cjs.map +1 -0
- package/dist/actions/google-docs/create-document.d.cts +1 -0
- package/dist/actions/google-docs/create-document.d.ts +1 -0
- package/dist/actions/google-docs/create-document.js +136 -0
- package/dist/actions/google-docs/create-document.js.map +1 -0
- package/dist/actions/google-docs/get-document.cjs +118 -0
- package/dist/actions/google-docs/get-document.cjs.map +1 -0
- package/dist/actions/google-docs/get-document.d.cts +1 -0
- package/dist/actions/google-docs/get-document.d.ts +1 -0
- package/dist/actions/google-docs/get-document.js +116 -0
- package/dist/actions/google-docs/get-document.js.map +1 -0
- package/dist/actions/google-docs/index.cjs +18 -0
- package/dist/actions/google-docs/index.cjs.map +1 -0
- package/dist/actions/google-docs/index.d.cts +7 -0
- package/dist/actions/google-docs/index.d.cts.map +1 -0
- package/dist/actions/google-docs/index.d.ts +7 -0
- package/dist/actions/google-docs/index.d.ts.map +1 -0
- package/dist/actions/google-docs/index.js +18 -0
- package/dist/actions/google-docs/index.js.map +1 -0
- package/dist/actions/google-docs/insert-text.cjs +136 -0
- package/dist/actions/google-docs/insert-text.cjs.map +1 -0
- package/dist/actions/google-docs/insert-text.d.cts +1 -0
- package/dist/actions/google-docs/insert-text.d.ts +1 -0
- package/dist/actions/google-docs/insert-text.js +134 -0
- package/dist/actions/google-docs/insert-text.js.map +1 -0
- package/dist/actions/google-docs/replace-text.cjs +152 -0
- package/dist/actions/google-docs/replace-text.cjs.map +1 -0
- package/dist/actions/google-docs/replace-text.d.cts +1 -0
- package/dist/actions/google-docs/replace-text.d.ts +1 -0
- package/dist/actions/google-docs/replace-text.js +150 -0
- package/dist/actions/google-docs/replace-text.js.map +1 -0
- package/dist/actions/google-drive/create-file.cjs +155 -0
- package/dist/actions/google-drive/create-file.cjs.map +1 -0
- package/dist/actions/google-drive/create-file.d.cts +1 -0
- package/dist/actions/google-drive/create-file.d.ts +1 -0
- package/dist/actions/google-drive/create-file.js +153 -0
- package/dist/actions/google-drive/create-file.js.map +1 -0
- package/dist/actions/google-drive/create-folder.cjs +130 -0
- package/dist/actions/google-drive/create-folder.cjs.map +1 -0
- package/dist/actions/google-drive/create-folder.d.cts +1 -0
- package/dist/actions/google-drive/create-folder.d.ts +1 -0
- package/dist/actions/google-drive/create-folder.js +128 -0
- package/dist/actions/google-drive/create-folder.js.map +1 -0
- package/dist/actions/google-drive/delete-file.cjs +98 -0
- package/dist/actions/google-drive/delete-file.cjs.map +1 -0
- package/dist/actions/google-drive/delete-file.d.cts +1 -0
- package/dist/actions/google-drive/delete-file.d.ts +1 -0
- package/dist/actions/google-drive/delete-file.js +96 -0
- package/dist/actions/google-drive/delete-file.js.map +1 -0
- package/dist/actions/google-drive/get-file.cjs +103 -0
- package/dist/actions/google-drive/get-file.cjs.map +1 -0
- package/dist/actions/google-drive/get-file.d.cts +1 -0
- package/dist/actions/google-drive/get-file.d.ts +1 -0
- package/dist/actions/google-drive/get-file.js +101 -0
- package/dist/actions/google-drive/get-file.js.map +1 -0
- package/dist/actions/google-drive/index.cjs +22 -0
- package/dist/actions/google-drive/index.cjs.map +1 -0
- package/dist/actions/google-drive/index.d.cts +7 -0
- package/dist/actions/google-drive/index.d.cts.map +1 -0
- package/dist/actions/google-drive/index.d.ts +7 -0
- package/dist/actions/google-drive/index.d.ts.map +1 -0
- package/dist/actions/google-drive/index.js +22 -0
- package/dist/actions/google-drive/index.js.map +1 -0
- package/dist/actions/google-drive/list-files.cjs +156 -0
- package/dist/actions/google-drive/list-files.cjs.map +1 -0
- package/dist/actions/google-drive/list-files.d.cts +1 -0
- package/dist/actions/google-drive/list-files.d.ts +1 -0
- package/dist/actions/google-drive/list-files.js +154 -0
- package/dist/actions/google-drive/list-files.js.map +1 -0
- package/dist/actions/google-drive/search-files.cjs +138 -0
- package/dist/actions/google-drive/search-files.cjs.map +1 -0
- package/dist/actions/google-drive/search-files.d.cts +1 -0
- package/dist/actions/google-drive/search-files.d.ts +1 -0
- package/dist/actions/google-drive/search-files.js +136 -0
- package/dist/actions/google-drive/search-files.js.map +1 -0
- package/dist/actions/google-drive/share-file.cjs +226 -0
- package/dist/actions/google-drive/share-file.cjs.map +1 -0
- package/dist/actions/google-drive/share-file.d.cts +1 -0
- package/dist/actions/google-drive/share-file.d.ts +1 -0
- package/dist/actions/google-drive/share-file.js +224 -0
- package/dist/actions/google-drive/share-file.js.map +1 -0
- package/dist/actions/google-sheets/append-values.cjs +175 -0
- package/dist/actions/google-sheets/append-values.cjs.map +1 -0
- package/dist/actions/google-sheets/append-values.d.cts +1 -0
- package/dist/actions/google-sheets/append-values.d.ts +1 -0
- package/dist/actions/google-sheets/append-values.js +173 -0
- package/dist/actions/google-sheets/append-values.js.map +1 -0
- package/dist/actions/google-sheets/clear-values.cjs +118 -0
- package/dist/actions/google-sheets/clear-values.cjs.map +1 -0
- package/dist/actions/google-sheets/clear-values.d.cts +1 -0
- package/dist/actions/google-sheets/clear-values.d.ts +1 -0
- package/dist/actions/google-sheets/clear-values.js +116 -0
- package/dist/actions/google-sheets/clear-values.js.map +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.cjs +128 -0
- package/dist/actions/google-sheets/create-spreadsheet.cjs.map +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.d.cts +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.d.ts +1 -0
- package/dist/actions/google-sheets/create-spreadsheet.js +126 -0
- package/dist/actions/google-sheets/create-spreadsheet.js.map +1 -0
- package/dist/actions/google-sheets/get-values.cjs +168 -0
- package/dist/actions/google-sheets/get-values.cjs.map +1 -0
- package/dist/actions/google-sheets/get-values.d.cts +1 -0
- package/dist/actions/google-sheets/get-values.d.ts +1 -0
- package/dist/actions/google-sheets/get-values.js +166 -0
- package/dist/actions/google-sheets/get-values.js.map +1 -0
- package/dist/actions/google-sheets/index.cjs +18 -0
- package/dist/actions/google-sheets/index.cjs.map +1 -0
- package/dist/actions/google-sheets/index.d.cts +7 -0
- package/dist/actions/google-sheets/index.d.cts.map +1 -0
- package/dist/actions/google-sheets/index.d.ts +7 -0
- package/dist/actions/google-sheets/index.d.ts.map +1 -0
- package/dist/actions/google-sheets/index.js +18 -0
- package/dist/actions/google-sheets/index.js.map +1 -0
- package/dist/actions/google-sheets/update-values.cjs +158 -0
- package/dist/actions/google-sheets/update-values.cjs.map +1 -0
- package/dist/actions/google-sheets/update-values.d.cts +1 -0
- package/dist/actions/google-sheets/update-values.d.ts +1 -0
- package/dist/actions/google-sheets/update-values.js +156 -0
- package/dist/actions/google-sheets/update-values.js.map +1 -0
- package/dist/actions/http/index.cjs +7 -0
- package/dist/actions/http/index.cjs.map +1 -0
- package/dist/actions/http/index.d.cts +7 -0
- package/dist/actions/http/index.d.cts.map +1 -0
- package/dist/actions/http/index.d.ts +7 -0
- package/dist/actions/http/index.d.ts.map +1 -0
- package/dist/actions/http/index.js +8 -0
- package/dist/actions/http/index.js.map +1 -0
- package/dist/actions/http/request.cjs +223 -0
- package/dist/actions/http/request.cjs.map +1 -0
- package/dist/actions/http/request.d.cts +1 -0
- package/dist/actions/http/request.d.ts +1 -0
- package/dist/actions/http/request.js +222 -0
- package/dist/actions/http/request.js.map +1 -0
- package/dist/actions/index.cjs +46 -0
- package/dist/actions/index.cjs.map +1 -0
- package/dist/actions/index.d.cts +27 -0
- package/dist/actions/index.d.cts.map +1 -0
- package/dist/actions/index.d.ts +27 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +45 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/linear/create-issue.cjs +296 -0
- package/dist/actions/linear/create-issue.cjs.map +1 -0
- package/dist/actions/linear/create-issue.d.cts +1 -0
- package/dist/actions/linear/create-issue.d.ts +1 -0
- package/dist/actions/linear/create-issue.js +294 -0
- package/dist/actions/linear/create-issue.js.map +1 -0
- package/dist/actions/linear/index.cjs +16 -0
- package/dist/actions/linear/index.cjs.map +1 -0
- package/dist/actions/linear/index.d.cts +7 -0
- package/dist/actions/linear/index.d.cts.map +1 -0
- package/dist/actions/linear/index.d.ts +7 -0
- package/dist/actions/linear/index.d.ts.map +1 -0
- package/dist/actions/linear/index.js +16 -0
- package/dist/actions/linear/index.js.map +1 -0
- package/dist/actions/linear/list-issues.cjs +239 -0
- package/dist/actions/linear/list-issues.cjs.map +1 -0
- package/dist/actions/linear/list-issues.d.cts +1 -0
- package/dist/actions/linear/list-issues.d.ts +1 -0
- package/dist/actions/linear/list-issues.js +237 -0
- package/dist/actions/linear/list-issues.js.map +1 -0
- package/dist/actions/linear/list-teams.cjs +183 -0
- package/dist/actions/linear/list-teams.cjs.map +1 -0
- package/dist/actions/linear/list-teams.d.cts +1 -0
- package/dist/actions/linear/list-teams.d.ts +1 -0
- package/dist/actions/linear/list-teams.js +181 -0
- package/dist/actions/linear/list-teams.js.map +1 -0
- package/dist/actions/linear/update-issue.cjs +282 -0
- package/dist/actions/linear/update-issue.cjs.map +1 -0
- package/dist/actions/linear/update-issue.d.cts +1 -0
- package/dist/actions/linear/update-issue.d.ts +1 -0
- package/dist/actions/linear/update-issue.js +280 -0
- package/dist/actions/linear/update-issue.js.map +1 -0
- package/dist/actions/microsoft/get-calendar-event.cjs +139 -0
- package/dist/actions/microsoft/get-calendar-event.cjs.map +1 -0
- package/dist/actions/microsoft/get-calendar-event.d.cts +1 -0
- package/dist/actions/microsoft/get-calendar-event.d.ts +1 -0
- package/dist/actions/microsoft/get-calendar-event.js +137 -0
- package/dist/actions/microsoft/get-calendar-event.js.map +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.cjs +221 -0
- package/dist/actions/microsoft/get-meeting-transcript.cjs.map +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.d.cts +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.d.ts +1 -0
- package/dist/actions/microsoft/get-meeting-transcript.js +219 -0
- package/dist/actions/microsoft/get-meeting-transcript.js.map +1 -0
- package/dist/actions/microsoft/get-message.cjs +173 -0
- package/dist/actions/microsoft/get-message.cjs.map +1 -0
- package/dist/actions/microsoft/get-message.d.cts +1 -0
- package/dist/actions/microsoft/get-message.d.ts +1 -0
- package/dist/actions/microsoft/get-message.js +171 -0
- package/dist/actions/microsoft/get-message.js.map +1 -0
- package/dist/actions/microsoft/index.cjs +22 -0
- package/dist/actions/microsoft/index.cjs.map +1 -0
- package/dist/actions/microsoft/index.d.cts +1 -0
- package/dist/actions/microsoft/index.d.ts +1 -0
- package/dist/actions/microsoft/index.js +22 -0
- package/dist/actions/microsoft/index.js.map +1 -0
- package/dist/actions/microsoft/list-calendar-events.cjs +202 -0
- package/dist/actions/microsoft/list-calendar-events.cjs.map +1 -0
- package/dist/actions/microsoft/list-calendar-events.d.cts +1 -0
- package/dist/actions/microsoft/list-calendar-events.d.ts +1 -0
- package/dist/actions/microsoft/list-calendar-events.js +200 -0
- package/dist/actions/microsoft/list-calendar-events.js.map +1 -0
- package/dist/actions/microsoft/list-calendars.cjs +99 -0
- package/dist/actions/microsoft/list-calendars.cjs.map +1 -0
- package/dist/actions/microsoft/list-calendars.d.cts +1 -0
- package/dist/actions/microsoft/list-calendars.d.ts +1 -0
- package/dist/actions/microsoft/list-calendars.js +97 -0
- package/dist/actions/microsoft/list-calendars.js.map +1 -0
- package/dist/actions/microsoft/list-messages.cjs +223 -0
- package/dist/actions/microsoft/list-messages.cjs.map +1 -0
- package/dist/actions/microsoft/list-messages.d.cts +1 -0
- package/dist/actions/microsoft/list-messages.d.ts +1 -0
- package/dist/actions/microsoft/list-messages.js +221 -0
- package/dist/actions/microsoft/list-messages.js.map +1 -0
- package/dist/actions/microsoft/list-online-meetings.cjs +132 -0
- package/dist/actions/microsoft/list-online-meetings.cjs.map +1 -0
- package/dist/actions/microsoft/list-online-meetings.d.cts +1 -0
- package/dist/actions/microsoft/list-online-meetings.d.ts +1 -0
- package/dist/actions/microsoft/list-online-meetings.js +130 -0
- package/dist/actions/microsoft/list-online-meetings.js.map +1 -0
- package/dist/actions/postgres/describe-table.cjs +175 -0
- package/dist/actions/postgres/describe-table.cjs.map +1 -0
- package/dist/actions/postgres/describe-table.d.cts +1 -0
- package/dist/actions/postgres/describe-table.d.ts +1 -0
- package/dist/actions/postgres/describe-table.js +165 -0
- package/dist/actions/postgres/describe-table.js.map +1 -0
- package/dist/actions/postgres/execute-query.cjs +120 -0
- package/dist/actions/postgres/execute-query.cjs.map +1 -0
- package/dist/actions/postgres/execute-query.d.cts +1 -0
- package/dist/actions/postgres/execute-query.d.ts +1 -0
- package/dist/actions/postgres/execute-query.js +110 -0
- package/dist/actions/postgres/execute-query.js.map +1 -0
- package/dist/actions/postgres/index.cjs +16 -0
- package/dist/actions/postgres/index.cjs.map +1 -0
- package/dist/actions/postgres/index.d.cts +7 -0
- package/dist/actions/postgres/index.d.cts.map +1 -0
- package/dist/actions/postgres/index.d.ts +7 -0
- package/dist/actions/postgres/index.d.ts.map +1 -0
- package/dist/actions/postgres/index.js +16 -0
- package/dist/actions/postgres/index.js.map +1 -0
- package/dist/actions/postgres/insert-rows.cjs +168 -0
- package/dist/actions/postgres/insert-rows.cjs.map +1 -0
- package/dist/actions/postgres/insert-rows.d.cts +1 -0
- package/dist/actions/postgres/insert-rows.d.ts +1 -0
- package/dist/actions/postgres/insert-rows.js +158 -0
- package/dist/actions/postgres/insert-rows.js.map +1 -0
- package/dist/actions/postgres/list-tables.cjs +133 -0
- package/dist/actions/postgres/list-tables.cjs.map +1 -0
- package/dist/actions/postgres/list-tables.d.cts +1 -0
- package/dist/actions/postgres/list-tables.d.ts +1 -0
- package/dist/actions/postgres/list-tables.js +123 -0
- package/dist/actions/postgres/list-tables.js.map +1 -0
- package/dist/actions/providers.cjs +128 -0
- package/dist/actions/providers.cjs.map +1 -0
- package/dist/actions/providers.d.cts +22 -0
- package/dist/actions/providers.d.cts.map +1 -0
- package/dist/actions/providers.d.ts +22 -0
- package/dist/actions/providers.d.ts.map +1 -0
- package/dist/actions/providers.js +116 -0
- package/dist/actions/providers.js.map +1 -0
- package/dist/actions/slack/index.cjs +9 -0
- package/dist/actions/slack/index.cjs.map +1 -0
- package/dist/actions/slack/index.d.cts +7 -0
- package/dist/actions/slack/index.d.cts.map +1 -0
- package/dist/actions/slack/index.d.ts +7 -0
- package/dist/actions/slack/index.d.ts.map +1 -0
- package/dist/actions/slack/index.js +9 -0
- package/dist/actions/slack/index.js.map +1 -0
- package/dist/actions/slack/list-channels.cjs +157 -0
- package/dist/actions/slack/list-channels.cjs.map +1 -0
- package/dist/actions/slack/list-channels.d.cts +1 -0
- package/dist/actions/slack/list-channels.d.ts +1 -0
- package/dist/actions/slack/list-channels.js +155 -0
- package/dist/actions/slack/list-channels.js.map +1 -0
- package/dist/actions/slack/send-message.cjs +157 -0
- package/dist/actions/slack/send-message.cjs.map +1 -0
- package/dist/actions/slack/send-message.d.cts +1 -0
- package/dist/actions/slack/send-message.d.ts +1 -0
- package/dist/actions/slack/send-message.js +155 -0
- package/dist/actions/slack/send-message.js.map +1 -0
- package/dist/actions/triggers/cron.cjs +95 -0
- package/dist/actions/triggers/cron.cjs.map +1 -0
- package/dist/actions/triggers/cron.d.cts +1 -0
- package/dist/actions/triggers/cron.d.ts +1 -0
- package/dist/actions/triggers/cron.js +83 -0
- package/dist/actions/triggers/cron.js.map +1 -0
- package/dist/actions/triggers/index.cjs +9 -0
- package/dist/actions/triggers/index.cjs.map +1 -0
- package/dist/actions/triggers/index.d.cts +1 -0
- package/dist/actions/triggers/index.d.ts +1 -0
- package/dist/actions/triggers/index.js +9 -0
- package/dist/actions/triggers/index.js.map +1 -0
- package/dist/actions/triggers/manual.cjs +105 -0
- package/dist/actions/triggers/manual.cjs.map +1 -0
- package/dist/actions/triggers/manual.d.cts +1 -0
- package/dist/actions/triggers/manual.d.ts +1 -0
- package/dist/actions/triggers/manual.js +103 -0
- package/dist/actions/triggers/manual.js.map +1 -0
- package/dist/actions/types.d.cts +373 -0
- package/dist/actions/types.d.cts.map +1 -0
- package/dist/actions/types.d.ts +373 -0
- package/dist/actions/types.d.ts.map +1 -0
- package/dist/database/adapter-factory.cjs +188 -0
- package/dist/database/adapter-factory.cjs.map +1 -0
- package/dist/database/adapter-factory.js +187 -0
- package/dist/database/adapter-factory.js.map +1 -0
- package/dist/database/adapter.cjs +33 -0
- package/dist/database/adapter.cjs.map +1 -0
- package/dist/database/adapter.d.cts +76 -0
- package/dist/database/adapter.d.cts.map +1 -0
- package/dist/database/adapter.d.ts +76 -0
- package/dist/database/adapter.d.ts.map +1 -0
- package/dist/database/adapter.js +33 -0
- package/dist/database/adapter.js.map +1 -0
- package/dist/database/adapters/connection-bridge.cjs +119 -0
- package/dist/database/adapters/connection-bridge.cjs.map +1 -0
- package/dist/database/adapters/connection-bridge.js +118 -0
- package/dist/database/adapters/connection-bridge.js.map +1 -0
- package/dist/database/adapters/kysely-adapter.cjs +138 -0
- package/dist/database/adapters/kysely-adapter.cjs.map +1 -0
- package/dist/database/adapters/kysely-adapter.js +137 -0
- package/dist/database/adapters/kysely-adapter.js.map +1 -0
- package/dist/database/connection.cjs +277 -0
- package/dist/database/connection.cjs.map +1 -0
- package/dist/database/connection.d.cts +115 -0
- package/dist/database/connection.d.cts.map +1 -0
- package/dist/database/connection.d.ts +115 -0
- package/dist/database/connection.d.ts.map +1 -0
- package/dist/database/connection.js +271 -0
- package/dist/database/connection.js.map +1 -0
- package/dist/database/core-schema.cjs +644 -0
- package/dist/database/core-schema.cjs.map +1 -0
- package/dist/database/core-schema.d.cts +22 -0
- package/dist/database/core-schema.d.cts.map +1 -0
- package/dist/database/core-schema.d.ts +22 -0
- package/dist/database/core-schema.d.ts.map +1 -0
- package/dist/database/core-schema.js +642 -0
- package/dist/database/core-schema.js.map +1 -0
- package/dist/database/index.cjs +4 -0
- package/dist/database/index.d.cts +10 -0
- package/dist/database/index.d.cts.map +1 -0
- package/dist/database/index.d.ts +10 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +5 -0
- package/dist/database/prisma-schema-generator.cjs +219 -0
- package/dist/database/prisma-schema-generator.cjs.map +1 -0
- package/dist/database/prisma-schema-generator.d.cts +19 -0
- package/dist/database/prisma-schema-generator.d.cts.map +1 -0
- package/dist/database/prisma-schema-generator.d.ts +19 -0
- package/dist/database/prisma-schema-generator.d.ts.map +1 -0
- package/dist/database/prisma-schema-generator.js +218 -0
- package/dist/database/prisma-schema-generator.js.map +1 -0
- package/dist/database/schema-generator.cjs +576 -0
- package/dist/database/schema-generator.cjs.map +1 -0
- package/dist/database/schema-generator.d.cts +18 -0
- package/dist/database/schema-generator.d.cts.map +1 -0
- package/dist/database/schema-generator.d.ts +18 -0
- package/dist/database/schema-generator.d.ts.map +1 -0
- package/dist/database/schema-generator.js +571 -0
- package/dist/database/schema-generator.js.map +1 -0
- package/dist/database/schema-merger.cjs +153 -0
- package/dist/database/schema-merger.cjs.map +1 -0
- package/dist/database/schema-merger.d.cts +53 -0
- package/dist/database/schema-merger.d.cts.map +1 -0
- package/dist/database/schema-merger.d.ts +53 -0
- package/dist/database/schema-merger.d.ts.map +1 -0
- package/dist/database/schema-merger.js +152 -0
- package/dist/database/schema-merger.js.map +1 -0
- package/dist/database/schema-metadata.cjs +98 -0
- package/dist/database/schema-metadata.cjs.map +1 -0
- package/dist/database/schema-metadata.js +98 -0
- package/dist/database/schema-metadata.js.map +1 -0
- package/dist/database/schema-mysql.cjs +288 -0
- package/dist/database/schema-mysql.cjs.map +1 -0
- package/dist/database/schema-mysql.d.cts +2117 -0
- package/dist/database/schema-mysql.d.cts.map +1 -0
- package/dist/database/schema-mysql.d.ts +2117 -0
- package/dist/database/schema-mysql.d.ts.map +1 -0
- package/dist/database/schema-mysql.js +263 -0
- package/dist/database/schema-mysql.js.map +1 -0
- package/dist/database/schema-postgres.cjs +312 -0
- package/dist/database/schema-postgres.cjs.map +1 -0
- package/dist/database/schema-postgres.d.cts +2127 -0
- package/dist/database/schema-postgres.d.cts.map +1 -0
- package/dist/database/schema-postgres.d.ts +2127 -0
- package/dist/database/schema-postgres.d.ts.map +1 -0
- package/dist/database/schema-postgres.js +280 -0
- package/dist/database/schema-postgres.js.map +1 -0
- package/dist/database/schema-sqlite.cjs +247 -0
- package/dist/database/schema-sqlite.cjs.map +1 -0
- package/dist/database/schema-sqlite.d.cts +2294 -0
- package/dist/database/schema-sqlite.d.cts.map +1 -0
- package/dist/database/schema-sqlite.d.ts +2294 -0
- package/dist/database/schema-sqlite.d.ts.map +1 -0
- package/dist/database/schema-sqlite.js +222 -0
- package/dist/database/schema-sqlite.js.map +1 -0
- package/dist/database/schema-verification.cjs +123 -0
- package/dist/database/schema-verification.cjs.map +1 -0
- package/dist/database/schema-verification.d.cts +40 -0
- package/dist/database/schema-verification.d.cts.map +1 -0
- package/dist/database/schema-verification.d.ts +40 -0
- package/dist/database/schema-verification.d.ts.map +1 -0
- package/dist/database/schema-verification.js +123 -0
- package/dist/database/schema-verification.js.map +1 -0
- package/dist/database/schema.cjs +3 -0
- package/dist/database/schema.d.cts +3 -0
- package/dist/database/schema.d.ts +3 -0
- package/dist/database/schema.js +4 -0
- package/dist/index.cjs +199 -0
- package/dist/index.d.cts +70 -0
- package/dist/index.d.ts +70 -0
- package/dist/index.js +56 -0
- package/dist/invect-core.cjs +1688 -0
- package/dist/invect-core.cjs.map +1 -0
- package/dist/invect-core.d.cts +846 -0
- package/dist/invect-core.d.cts.map +1 -0
- package/dist/invect-core.d.ts +846 -0
- package/dist/invect-core.d.ts.map +1 -0
- package/dist/invect-core.js +1688 -0
- package/dist/invect-core.js.map +1 -0
- package/dist/nodes/agent-executor.cjs +881 -0
- package/dist/nodes/agent-executor.cjs.map +1 -0
- package/dist/nodes/agent-executor.d.cts +243 -0
- package/dist/nodes/agent-executor.d.cts.map +1 -0
- package/dist/nodes/agent-executor.d.ts +243 -0
- package/dist/nodes/agent-executor.d.ts.map +1 -0
- package/dist/nodes/agent-executor.js +877 -0
- package/dist/nodes/agent-executor.js.map +1 -0
- package/dist/nodes/base-node.cjs +174 -0
- package/dist/nodes/base-node.cjs.map +1 -0
- package/dist/nodes/base-node.d.cts +125 -0
- package/dist/nodes/base-node.d.cts.map +1 -0
- package/dist/nodes/base-node.d.ts +125 -0
- package/dist/nodes/base-node.d.ts.map +1 -0
- package/dist/nodes/base-node.js +170 -0
- package/dist/nodes/base-node.js.map +1 -0
- package/dist/nodes/executor-registry.cjs +46 -0
- package/dist/nodes/executor-registry.cjs.map +1 -0
- package/dist/nodes/executor-registry.d.cts +18 -0
- package/dist/nodes/executor-registry.d.cts.map +1 -0
- package/dist/nodes/executor-registry.d.ts +18 -0
- package/dist/nodes/executor-registry.d.ts.map +1 -0
- package/dist/nodes/executor-registry.js +46 -0
- package/dist/nodes/executor-registry.js.map +1 -0
- package/dist/nodes/index.cjs +2 -0
- package/dist/nodes/index.d.cts +3 -0
- package/dist/nodes/index.d.ts +3 -0
- package/dist/nodes/index.js +3 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.cjs +110 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.cjs.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.cts +42 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.cts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.ts +42 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.d.ts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.js +110 -0
- package/dist/services/agent-tool-executions/agent-tool-execution.service.js.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.cjs +152 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.cjs.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.cts +71 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.cts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.ts +71 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.d.ts.map +1 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.js +152 -0
- package/dist/services/agent-tool-executions/agent-tool-executions.model.js.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.cjs +101 -0
- package/dist/services/agent-tools/agent-tool-registry.cjs.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.d.cts +51 -0
- package/dist/services/agent-tools/agent-tool-registry.d.cts.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.d.ts +51 -0
- package/dist/services/agent-tools/agent-tool-registry.d.ts.map +1 -0
- package/dist/services/agent-tools/agent-tool-registry.js +98 -0
- package/dist/services/agent-tools/agent-tool-registry.js.map +1 -0
- package/dist/services/agent-tools/builtin/index.cjs +17 -0
- package/dist/services/agent-tools/builtin/index.cjs.map +1 -0
- package/dist/services/agent-tools/builtin/index.js +17 -0
- package/dist/services/agent-tools/builtin/index.js.map +1 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.cjs +73 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.cjs.map +1 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.js +70 -0
- package/dist/services/agent-tools/builtin/json-logic-tool.js.map +1 -0
- package/dist/services/agent-tools/builtin/math-tool.cjs +117 -0
- package/dist/services/agent-tools/builtin/math-tool.cjs.map +1 -0
- package/dist/services/agent-tools/builtin/math-tool.js +116 -0
- package/dist/services/agent-tools/builtin/math-tool.js.map +1 -0
- package/dist/services/agent-tools/index.cjs +2 -0
- package/dist/services/agent-tools/index.js +3 -0
- package/dist/services/ai/ai-types.cjs +37 -0
- package/dist/services/ai/ai-types.cjs.map +1 -0
- package/dist/services/ai/ai-types.d.cts +105 -0
- package/dist/services/ai/ai-types.d.cts.map +1 -0
- package/dist/services/ai/ai-types.d.ts +105 -0
- package/dist/services/ai/ai-types.d.ts.map +1 -0
- package/dist/services/ai/ai-types.js +35 -0
- package/dist/services/ai/ai-types.js.map +1 -0
- package/dist/services/ai/anthropic-adapter.cjs +411 -0
- package/dist/services/ai/anthropic-adapter.cjs.map +1 -0
- package/dist/services/ai/anthropic-adapter.d.cts +1 -0
- package/dist/services/ai/anthropic-adapter.d.ts +1 -0
- package/dist/services/ai/anthropic-adapter.js +409 -0
- package/dist/services/ai/anthropic-adapter.js.map +1 -0
- package/dist/services/ai/base-client.cjs +345 -0
- package/dist/services/ai/base-client.cjs.map +1 -0
- package/dist/services/ai/base-client.d.cts +138 -0
- package/dist/services/ai/base-client.d.cts.map +1 -0
- package/dist/services/ai/base-client.d.ts +138 -0
- package/dist/services/ai/base-client.d.ts.map +1 -0
- package/dist/services/ai/base-client.js +345 -0
- package/dist/services/ai/base-client.js.map +1 -0
- package/dist/services/ai/openai-adapter.cjs +460 -0
- package/dist/services/ai/openai-adapter.cjs.map +1 -0
- package/dist/services/ai/openai-adapter.d.cts +1 -0
- package/dist/services/ai/openai-adapter.d.ts +1 -0
- package/dist/services/ai/openai-adapter.js +458 -0
- package/dist/services/ai/openai-adapter.js.map +1 -0
- package/dist/services/ai/openrouter-adapter.cjs +124 -0
- package/dist/services/ai/openrouter-adapter.cjs.map +1 -0
- package/dist/services/ai/openrouter-adapter.d.cts +1 -0
- package/dist/services/ai/openrouter-adapter.d.ts +1 -0
- package/dist/services/ai/openrouter-adapter.js +122 -0
- package/dist/services/ai/openrouter-adapter.js.map +1 -0
- package/dist/services/ai/provider-adapter.cjs +72 -0
- package/dist/services/ai/provider-adapter.cjs.map +1 -0
- package/dist/services/ai/provider-adapter.d.cts +81 -0
- package/dist/services/ai/provider-adapter.d.cts.map +1 -0
- package/dist/services/ai/provider-adapter.d.ts +81 -0
- package/dist/services/ai/provider-adapter.d.ts.map +1 -0
- package/dist/services/ai/provider-adapter.js +72 -0
- package/dist/services/ai/provider-adapter.js.map +1 -0
- package/dist/services/auth/authorization.service.cjs +259 -0
- package/dist/services/auth/authorization.service.cjs.map +1 -0
- package/dist/services/auth/authorization.service.d.cts +102 -0
- package/dist/services/auth/authorization.service.d.cts.map +1 -0
- package/dist/services/auth/authorization.service.d.ts +102 -0
- package/dist/services/auth/authorization.service.d.ts.map +1 -0
- package/dist/services/auth/authorization.service.js +257 -0
- package/dist/services/auth/authorization.service.js.map +1 -0
- package/dist/services/auth/flow-access.service.cjs +259 -0
- package/dist/services/auth/flow-access.service.cjs.map +1 -0
- package/dist/services/auth/flow-access.service.d.cts +89 -0
- package/dist/services/auth/flow-access.service.d.cts.map +1 -0
- package/dist/services/auth/flow-access.service.d.ts +89 -0
- package/dist/services/auth/flow-access.service.d.ts.map +1 -0
- package/dist/services/auth/flow-access.service.js +259 -0
- package/dist/services/auth/flow-access.service.js.map +1 -0
- package/dist/services/auth/index.d.ts +2 -0
- package/dist/services/batch-jobs/batch-jobs.model.cjs +213 -0
- package/dist/services/batch-jobs/batch-jobs.model.cjs.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.cts +79 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.cts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.ts +79 -0
- package/dist/services/batch-jobs/batch-jobs.model.d.ts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.model.js +213 -0
- package/dist/services/batch-jobs/batch-jobs.model.js.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.cjs +178 -0
- package/dist/services/batch-jobs/batch-jobs.service.cjs.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.cts +83 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.cts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.ts +83 -0
- package/dist/services/batch-jobs/batch-jobs.service.d.ts.map +1 -0
- package/dist/services/batch-jobs/batch-jobs.service.js +178 -0
- package/dist/services/batch-jobs/batch-jobs.service.js.map +1 -0
- package/dist/services/chat/chat-messages.model.cjs +143 -0
- package/dist/services/chat/chat-messages.model.cjs.map +1 -0
- package/dist/services/chat/chat-messages.model.d.cts +43 -0
- package/dist/services/chat/chat-messages.model.d.cts.map +1 -0
- package/dist/services/chat/chat-messages.model.d.ts +43 -0
- package/dist/services/chat/chat-messages.model.d.ts.map +1 -0
- package/dist/services/chat/chat-messages.model.js +142 -0
- package/dist/services/chat/chat-messages.model.js.map +1 -0
- package/dist/services/chat/chat-stream-session.cjs +181 -0
- package/dist/services/chat/chat-stream-session.cjs.map +1 -0
- package/dist/services/chat/chat-stream-session.d.cts +1 -0
- package/dist/services/chat/chat-stream-session.d.ts +1 -0
- package/dist/services/chat/chat-stream-session.js +181 -0
- package/dist/services/chat/chat-stream-session.js.map +1 -0
- package/dist/services/chat/chat-stream.service.cjs +205 -0
- package/dist/services/chat/chat-stream.service.cjs.map +1 -0
- package/dist/services/chat/chat-stream.service.d.cts +84 -0
- package/dist/services/chat/chat-stream.service.d.cts.map +1 -0
- package/dist/services/chat/chat-stream.service.d.ts +84 -0
- package/dist/services/chat/chat-stream.service.d.ts.map +1 -0
- package/dist/services/chat/chat-stream.service.js +205 -0
- package/dist/services/chat/chat-stream.service.js.map +1 -0
- package/dist/services/chat/chat-toolkit.cjs +125 -0
- package/dist/services/chat/chat-toolkit.cjs.map +1 -0
- package/dist/services/chat/chat-toolkit.d.cts +58 -0
- package/dist/services/chat/chat-toolkit.d.cts.map +1 -0
- package/dist/services/chat/chat-toolkit.d.ts +58 -0
- package/dist/services/chat/chat-toolkit.d.ts.map +1 -0
- package/dist/services/chat/chat-toolkit.js +124 -0
- package/dist/services/chat/chat-toolkit.js.map +1 -0
- package/dist/services/chat/chat-types.cjs +24 -0
- package/dist/services/chat/chat-types.cjs.map +1 -0
- package/dist/services/chat/chat-types.d.cts +134 -0
- package/dist/services/chat/chat-types.d.cts.map +1 -0
- package/dist/services/chat/chat-types.d.ts +134 -0
- package/dist/services/chat/chat-types.d.ts.map +1 -0
- package/dist/services/chat/chat-types.js +23 -0
- package/dist/services/chat/chat-types.js.map +1 -0
- package/dist/services/chat/index.cjs +5 -0
- package/dist/services/chat/index.d.cts +3 -0
- package/dist/services/chat/index.d.ts +3 -0
- package/dist/services/chat/index.js +6 -0
- package/dist/services/chat/system-prompt.cjs +223 -0
- package/dist/services/chat/system-prompt.cjs.map +1 -0
- package/dist/services/chat/system-prompt.d.cts +1 -0
- package/dist/services/chat/system-prompt.d.ts +1 -0
- package/dist/services/chat/system-prompt.js +223 -0
- package/dist/services/chat/system-prompt.js.map +1 -0
- package/dist/services/chat/tools/agent-tools.cjs +472 -0
- package/dist/services/chat/tools/agent-tools.cjs.map +1 -0
- package/dist/services/chat/tools/agent-tools.js +471 -0
- package/dist/services/chat/tools/agent-tools.js.map +1 -0
- package/dist/services/chat/tools/context-tools.cjs +252 -0
- package/dist/services/chat/tools/context-tools.cjs.map +1 -0
- package/dist/services/chat/tools/context-tools.js +251 -0
- package/dist/services/chat/tools/context-tools.js.map +1 -0
- package/dist/services/chat/tools/flow-tools.cjs +244 -0
- package/dist/services/chat/tools/flow-tools.cjs.map +1 -0
- package/dist/services/chat/tools/flow-tools.js +243 -0
- package/dist/services/chat/tools/flow-tools.js.map +1 -0
- package/dist/services/chat/tools/index.cjs +22 -0
- package/dist/services/chat/tools/index.cjs.map +1 -0
- package/dist/services/chat/tools/index.js +22 -0
- package/dist/services/chat/tools/index.js.map +1 -0
- package/dist/services/chat/tools/node-tools.cjs +323 -0
- package/dist/services/chat/tools/node-tools.cjs.map +1 -0
- package/dist/services/chat/tools/node-tools.js +322 -0
- package/dist/services/chat/tools/node-tools.js.map +1 -0
- package/dist/services/chat/tools/plan-tools.cjs +94 -0
- package/dist/services/chat/tools/plan-tools.cjs.map +1 -0
- package/dist/services/chat/tools/plan-tools.js +93 -0
- package/dist/services/chat/tools/plan-tools.js.map +1 -0
- package/dist/services/chat/tools/run-tools.cjs +121 -0
- package/dist/services/chat/tools/run-tools.cjs.map +1 -0
- package/dist/services/chat/tools/run-tools.js +120 -0
- package/dist/services/chat/tools/run-tools.js.map +1 -0
- package/dist/services/credentials/credentials.model.cjs +313 -0
- package/dist/services/credentials/credentials.model.cjs.map +1 -0
- package/dist/services/credentials/credentials.model.d.cts +27 -0
- package/dist/services/credentials/credentials.model.d.cts.map +1 -0
- package/dist/services/credentials/credentials.model.d.ts +27 -0
- package/dist/services/credentials/credentials.model.d.ts.map +1 -0
- package/dist/services/credentials/credentials.model.js +312 -0
- package/dist/services/credentials/credentials.model.js.map +1 -0
- package/dist/services/credentials/credentials.service.cjs +358 -0
- package/dist/services/credentials/credentials.service.cjs.map +1 -0
- package/dist/services/credentials/credentials.service.d.cts +156 -0
- package/dist/services/credentials/credentials.service.d.cts.map +1 -0
- package/dist/services/credentials/credentials.service.d.ts +156 -0
- package/dist/services/credentials/credentials.service.d.ts.map +1 -0
- package/dist/services/credentials/credentials.service.js +357 -0
- package/dist/services/credentials/credentials.service.js.map +1 -0
- package/dist/services/credentials/encryption.service.cjs +121 -0
- package/dist/services/credentials/encryption.service.cjs.map +1 -0
- package/dist/services/credentials/encryption.service.d.cts +70 -0
- package/dist/services/credentials/encryption.service.d.cts.map +1 -0
- package/dist/services/credentials/encryption.service.d.ts +70 -0
- package/dist/services/credentials/encryption.service.d.ts.map +1 -0
- package/dist/services/credentials/encryption.service.js +119 -0
- package/dist/services/credentials/encryption.service.js.map +1 -0
- package/dist/services/credentials/index.d.cts +4 -0
- package/dist/services/credentials/index.d.ts +4 -0
- package/dist/services/credentials/oauth2-providers.cjs +668 -0
- package/dist/services/credentials/oauth2-providers.cjs.map +1 -0
- package/dist/services/credentials/oauth2-providers.d.cts +39 -0
- package/dist/services/credentials/oauth2-providers.d.cts.map +1 -0
- package/dist/services/credentials/oauth2-providers.d.ts +39 -0
- package/dist/services/credentials/oauth2-providers.d.ts.map +1 -0
- package/dist/services/credentials/oauth2-providers.js +667 -0
- package/dist/services/credentials/oauth2-providers.js.map +1 -0
- package/dist/services/credentials/oauth2.service.cjs +252 -0
- package/dist/services/credentials/oauth2.service.cjs.map +1 -0
- package/dist/services/credentials/oauth2.service.d.cts +132 -0
- package/dist/services/credentials/oauth2.service.d.cts.map +1 -0
- package/dist/services/credentials/oauth2.service.d.ts +132 -0
- package/dist/services/credentials/oauth2.service.d.ts.map +1 -0
- package/dist/services/credentials/oauth2.service.js +251 -0
- package/dist/services/credentials/oauth2.service.js.map +1 -0
- package/dist/services/database/database.service.cjs +469 -0
- package/dist/services/database/database.service.cjs.map +1 -0
- package/dist/services/database/database.service.d.cts +162 -0
- package/dist/services/database/database.service.d.cts.map +1 -0
- package/dist/services/database/database.service.d.ts +162 -0
- package/dist/services/database/database.service.d.ts.map +1 -0
- package/dist/services/database/database.service.js +469 -0
- package/dist/services/database/database.service.js.map +1 -0
- package/dist/services/execution-event-bus.cjs +80 -0
- package/dist/services/execution-event-bus.cjs.map +1 -0
- package/dist/services/execution-event-bus.d.cts +57 -0
- package/dist/services/execution-event-bus.d.cts.map +1 -0
- package/dist/services/execution-event-bus.d.ts +57 -0
- package/dist/services/execution-event-bus.d.ts.map +1 -0
- package/dist/services/execution-event-bus.js +77 -0
- package/dist/services/execution-event-bus.js.map +1 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.cjs +499 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.cjs.map +1 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.js +499 -0
- package/dist/services/flow-orchestration/flow-run-coordinator.js.map +1 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.cjs +657 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.cjs.map +1 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.js +657 -0
- package/dist/services/flow-orchestration/node-execution-coordinator.js.map +1 -0
- package/dist/services/flow-orchestration.service.cjs +493 -0
- package/dist/services/flow-orchestration.service.cjs.map +1 -0
- package/dist/services/flow-orchestration.service.d.cts +149 -0
- package/dist/services/flow-orchestration.service.d.cts.map +1 -0
- package/dist/services/flow-orchestration.service.d.ts +149 -0
- package/dist/services/flow-orchestration.service.d.ts.map +1 -0
- package/dist/services/flow-orchestration.service.js +493 -0
- package/dist/services/flow-orchestration.service.js.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.cjs +403 -0
- package/dist/services/flow-runs/flow-runs.model.cjs.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.d.cts +113 -0
- package/dist/services/flow-runs/flow-runs.model.d.cts.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.d.ts +113 -0
- package/dist/services/flow-runs/flow-runs.model.d.ts.map +1 -0
- package/dist/services/flow-runs/flow-runs.model.js +403 -0
- package/dist/services/flow-runs/flow-runs.model.js.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.cjs +273 -0
- package/dist/services/flow-runs/flow-runs.service.cjs.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.d.cts +129 -0
- package/dist/services/flow-runs/flow-runs.service.d.cts.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.d.ts +129 -0
- package/dist/services/flow-runs/flow-runs.service.d.ts.map +1 -0
- package/dist/services/flow-runs/flow-runs.service.js +273 -0
- package/dist/services/flow-runs/flow-runs.service.js.map +1 -0
- package/dist/services/flow-validator.cjs +149 -0
- package/dist/services/flow-validator.cjs.map +1 -0
- package/dist/services/flow-validator.js +149 -0
- package/dist/services/flow-validator.js.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.cjs +231 -0
- package/dist/services/flow-versions/flow-versions.model.cjs.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.d.cts +55 -0
- package/dist/services/flow-versions/flow-versions.model.d.cts.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.d.ts +55 -0
- package/dist/services/flow-versions/flow-versions.model.d.ts.map +1 -0
- package/dist/services/flow-versions/flow-versions.model.js +231 -0
- package/dist/services/flow-versions/flow-versions.model.js.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.cjs +72 -0
- package/dist/services/flow-versions/flow-versions.service.cjs.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.d.cts +63 -0
- package/dist/services/flow-versions/flow-versions.service.d.cts.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.d.ts +63 -0
- package/dist/services/flow-versions/flow-versions.service.d.ts.map +1 -0
- package/dist/services/flow-versions/flow-versions.service.js +72 -0
- package/dist/services/flow-versions/flow-versions.service.js.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.cjs +90 -0
- package/dist/services/flow-versions/schemas-fresh.cjs.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.d.cts +201 -0
- package/dist/services/flow-versions/schemas-fresh.d.cts.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.d.ts +201 -0
- package/dist/services/flow-versions/schemas-fresh.d.ts.map +1 -0
- package/dist/services/flow-versions/schemas-fresh.js +85 -0
- package/dist/services/flow-versions/schemas-fresh.js.map +1 -0
- package/dist/services/flows/flows.model.cjs +273 -0
- package/dist/services/flows/flows.model.cjs.map +1 -0
- package/dist/services/flows/flows.model.d.cts +105 -0
- package/dist/services/flows/flows.model.d.cts.map +1 -0
- package/dist/services/flows/flows.model.d.ts +105 -0
- package/dist/services/flows/flows.model.d.ts.map +1 -0
- package/dist/services/flows/flows.model.js +273 -0
- package/dist/services/flows/flows.model.js.map +1 -0
- package/dist/services/flows/flows.service.cjs +134 -0
- package/dist/services/flows/flows.service.cjs.map +1 -0
- package/dist/services/flows/flows.service.d.cts +105 -0
- package/dist/services/flows/flows.service.d.cts.map +1 -0
- package/dist/services/flows/flows.service.d.ts +105 -0
- package/dist/services/flows/flows.service.d.ts.map +1 -0
- package/dist/services/flows/flows.service.js +134 -0
- package/dist/services/flows/flows.service.js.map +1 -0
- package/dist/services/graph.service.cjs +375 -0
- package/dist/services/graph.service.cjs.map +1 -0
- package/dist/services/graph.service.d.cts +90 -0
- package/dist/services/graph.service.d.cts.map +1 -0
- package/dist/services/graph.service.d.ts +90 -0
- package/dist/services/graph.service.d.ts.map +1 -0
- package/dist/services/graph.service.js +375 -0
- package/dist/services/graph.service.js.map +1 -0
- package/dist/services/node-data.service.cjs +232 -0
- package/dist/services/node-data.service.cjs.map +1 -0
- package/dist/services/node-data.service.d.cts +119 -0
- package/dist/services/node-data.service.d.cts.map +1 -0
- package/dist/services/node-data.service.d.ts +119 -0
- package/dist/services/node-data.service.d.ts.map +1 -0
- package/dist/services/node-data.service.js +230 -0
- package/dist/services/node-data.service.js.map +1 -0
- package/dist/services/node-executions/node-execution.service.cjs +236 -0
- package/dist/services/node-executions/node-execution.service.cjs.map +1 -0
- package/dist/services/node-executions/node-execution.service.d.cts +126 -0
- package/dist/services/node-executions/node-execution.service.d.cts.map +1 -0
- package/dist/services/node-executions/node-execution.service.d.ts +126 -0
- package/dist/services/node-executions/node-execution.service.d.ts.map +1 -0
- package/dist/services/node-executions/node-execution.service.js +236 -0
- package/dist/services/node-executions/node-execution.service.js.map +1 -0
- package/dist/services/node-executions/node-executions.model.cjs +300 -0
- package/dist/services/node-executions/node-executions.model.cjs.map +1 -0
- package/dist/services/node-executions/node-executions.model.d.cts +102 -0
- package/dist/services/node-executions/node-executions.model.d.cts.map +1 -0
- package/dist/services/node-executions/node-executions.model.d.ts +102 -0
- package/dist/services/node-executions/node-executions.model.d.ts.map +1 -0
- package/dist/services/node-executions/node-executions.model.js +300 -0
- package/dist/services/node-executions/node-executions.model.js.map +1 -0
- package/dist/services/plugin-manager.cjs +205 -0
- package/dist/services/plugin-manager.cjs.map +1 -0
- package/dist/services/plugin-manager.js +205 -0
- package/dist/services/plugin-manager.js.map +1 -0
- package/dist/services/react-flow-renderer.service.cjs +236 -0
- package/dist/services/react-flow-renderer.service.cjs.map +1 -0
- package/dist/services/react-flow-renderer.service.d.cts +149 -0
- package/dist/services/react-flow-renderer.service.d.cts.map +1 -0
- package/dist/services/react-flow-renderer.service.d.ts +149 -0
- package/dist/services/react-flow-renderer.service.d.ts.map +1 -0
- package/dist/services/react-flow-renderer.service.js +235 -0
- package/dist/services/react-flow-renderer.service.js.map +1 -0
- package/dist/services/service-factory.cjs +301 -0
- package/dist/services/service-factory.cjs.map +1 -0
- package/dist/services/service-factory.d.cts +172 -0
- package/dist/services/service-factory.d.cts.map +1 -0
- package/dist/services/service-factory.d.ts +172 -0
- package/dist/services/service-factory.d.ts.map +1 -0
- package/dist/services/service-factory.js +301 -0
- package/dist/services/service-factory.js.map +1 -0
- package/dist/services/templating/index.cjs +2 -0
- package/dist/services/templating/index.d.ts +2 -0
- package/dist/services/templating/index.js +3 -0
- package/dist/services/templating/js-expression.service.cjs +148 -0
- package/dist/services/templating/js-expression.service.cjs.map +1 -0
- package/dist/services/templating/js-expression.service.d.cts +61 -0
- package/dist/services/templating/js-expression.service.d.cts.map +1 -0
- package/dist/services/templating/js-expression.service.d.ts +60 -0
- package/dist/services/templating/js-expression.service.d.ts.map +1 -0
- package/dist/services/templating/js-expression.service.js +143 -0
- package/dist/services/templating/js-expression.service.js.map +1 -0
- package/dist/services/templating/template.service.cjs +182 -0
- package/dist/services/templating/template.service.cjs.map +1 -0
- package/dist/services/templating/template.service.d.cts +62 -0
- package/dist/services/templating/template.service.d.cts.map +1 -0
- package/dist/services/templating/template.service.d.ts +62 -0
- package/dist/services/templating/template.service.d.ts.map +1 -0
- package/dist/services/templating/template.service.js +180 -0
- package/dist/services/templating/template.service.js.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.cjs +141 -0
- package/dist/services/triggers/cron-scheduler.service.cjs.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.d.cts +36 -0
- package/dist/services/triggers/cron-scheduler.service.d.cts.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.d.ts +36 -0
- package/dist/services/triggers/cron-scheduler.service.d.ts.map +1 -0
- package/dist/services/triggers/cron-scheduler.service.js +140 -0
- package/dist/services/triggers/cron-scheduler.service.js.map +1 -0
- package/dist/services/triggers/flow-triggers.model.cjs +241 -0
- package/dist/services/triggers/flow-triggers.model.cjs.map +1 -0
- package/dist/services/triggers/flow-triggers.model.d.cts +53 -0
- package/dist/services/triggers/flow-triggers.model.d.cts.map +1 -0
- package/dist/services/triggers/flow-triggers.model.d.ts +53 -0
- package/dist/services/triggers/flow-triggers.model.d.ts.map +1 -0
- package/dist/services/triggers/flow-triggers.model.js +241 -0
- package/dist/services/triggers/flow-triggers.model.js.map +1 -0
- package/dist/services/triggers/flow-triggers.service.cjs +218 -0
- package/dist/services/triggers/flow-triggers.service.cjs.map +1 -0
- package/dist/services/triggers/flow-triggers.service.d.cts +77 -0
- package/dist/services/triggers/flow-triggers.service.d.cts.map +1 -0
- package/dist/services/triggers/flow-triggers.service.d.ts +77 -0
- package/dist/services/triggers/flow-triggers.service.d.ts.map +1 -0
- package/dist/services/triggers/flow-triggers.service.js +217 -0
- package/dist/services/triggers/flow-triggers.service.js.map +1 -0
- package/dist/services/triggers/index.cjs +3 -0
- package/dist/services/triggers/index.d.cts +4 -0
- package/dist/services/triggers/index.d.ts +4 -0
- package/dist/services/triggers/index.js +4 -0
- package/dist/services/triggers/trigger.types.d.cts +63 -0
- package/dist/services/triggers/trigger.types.d.cts.map +1 -0
- package/dist/services/triggers/trigger.types.d.ts +63 -0
- package/dist/services/triggers/trigger.types.d.ts.map +1 -0
- package/dist/types/agent-tool.types.cjs +20 -0
- package/dist/types/agent-tool.types.cjs.map +1 -0
- package/dist/types/agent-tool.types.d.cts +211 -0
- package/dist/types/agent-tool.types.d.cts.map +1 -0
- package/dist/types/agent-tool.types.d.ts +211 -0
- package/dist/types/agent-tool.types.d.ts.map +1 -0
- package/dist/types/agent-tool.types.js +18 -0
- package/dist/types/agent-tool.types.js.map +1 -0
- package/dist/types/auth.types.cjs +76 -0
- package/dist/types/auth.types.cjs.map +1 -0
- package/dist/types/auth.types.d.cts +235 -0
- package/dist/types/auth.types.d.cts.map +1 -0
- package/dist/types/auth.types.d.ts +235 -0
- package/dist/types/auth.types.d.ts.map +1 -0
- package/dist/types/auth.types.js +75 -0
- package/dist/types/auth.types.js.map +1 -0
- package/dist/types/base.cjs +25 -0
- package/dist/types/base.cjs.map +1 -0
- package/dist/types/base.d.cts +21 -0
- package/dist/types/base.d.cts.map +1 -0
- package/dist/types/base.d.ts +21 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +24 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/common/errors.types.cjs +46 -0
- package/dist/types/common/errors.types.cjs.map +1 -0
- package/dist/types/common/errors.types.js +44 -0
- package/dist/types/common/errors.types.js.map +1 -0
- package/dist/types/graph-node-types.cjs +46 -0
- package/dist/types/graph-node-types.cjs.map +1 -0
- package/dist/types/graph-node-types.d.cts +32 -0
- package/dist/types/graph-node-types.d.cts.map +1 -0
- package/dist/types/graph-node-types.d.ts +32 -0
- package/dist/types/graph-node-types.d.ts.map +1 -0
- package/dist/types/graph-node-types.js +45 -0
- package/dist/types/graph-node-types.js.map +1 -0
- package/dist/types/node-config-update.types.d.cts +33 -0
- package/dist/types/node-config-update.types.d.cts.map +1 -0
- package/dist/types/node-config-update.types.d.ts +33 -0
- package/dist/types/node-config-update.types.d.ts.map +1 -0
- package/dist/types/node-definition.types.d.cts +88 -0
- package/dist/types/node-definition.types.d.cts.map +1 -0
- package/dist/types/node-definition.types.d.ts +88 -0
- package/dist/types/node-definition.types.d.ts.map +1 -0
- package/dist/types/node-execution.types.d.cts +39 -0
- package/dist/types/node-execution.types.d.cts.map +1 -0
- package/dist/types/node-execution.types.d.ts +39 -0
- package/dist/types/node-execution.types.d.ts.map +1 -0
- package/dist/types/node-io-types.cjs +19 -0
- package/dist/types/node-io-types.cjs.map +1 -0
- package/dist/types/node-io-types.d.cts +65 -0
- package/dist/types/node-io-types.d.cts.map +1 -0
- package/dist/types/node-io-types.d.ts +65 -0
- package/dist/types/node-io-types.d.ts.map +1 -0
- package/dist/types/node-io-types.js +18 -0
- package/dist/types/node-io-types.js.map +1 -0
- package/dist/types/node-output-schemas.cjs +51 -0
- package/dist/types/node-output-schemas.cjs.map +1 -0
- package/dist/types/node-output-schemas.js +50 -0
- package/dist/types/node-output-schemas.js.map +1 -0
- package/dist/types/plugin.types.d.cts +654 -0
- package/dist/types/plugin.types.d.cts.map +1 -0
- package/dist/types/plugin.types.d.ts +654 -0
- package/dist/types/plugin.types.d.ts.map +1 -0
- package/dist/types/schemas/flow/create-flow-version.schema.cjs +1 -0
- package/dist/types/schemas/flow/create-flow-version.schema.d.ts +1 -0
- package/dist/types/schemas/flow/create-flow-version.schema.js +2 -0
- package/dist/types/schemas/flow/create-flow.schema.cjs +9 -0
- package/dist/types/schemas/flow/create-flow.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/create-flow.schema.d.cts +14 -0
- package/dist/types/schemas/flow/create-flow.schema.d.cts.map +1 -0
- package/dist/types/schemas/flow/create-flow.schema.d.ts +14 -0
- package/dist/types/schemas/flow/create-flow.schema.d.ts.map +1 -0
- package/dist/types/schemas/flow/create-flow.schema.js +10 -0
- package/dist/types/schemas/flow/create-flow.schema.js.map +1 -0
- package/dist/types/schemas/flow/delete-flow.schema.cjs +11 -0
- package/dist/types/schemas/flow/delete-flow.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/delete-flow.schema.d.ts +1 -0
- package/dist/types/schemas/flow/delete-flow.schema.js +11 -0
- package/dist/types/schemas/flow/delete-flow.schema.js.map +1 -0
- package/dist/types/schemas/flow/flow-executions.schema.cjs +36 -0
- package/dist/types/schemas/flow/flow-executions.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/flow-executions.schema.d.ts +1 -0
- package/dist/types/schemas/flow/flow-executions.schema.js +35 -0
- package/dist/types/schemas/flow/flow-executions.schema.js.map +1 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.cjs +7 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.d.ts +1 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.js +7 -0
- package/dist/types/schemas/flow/get-flow-by-id-response.schema.js.map +1 -0
- package/dist/types/schemas/flow/get-flow-versions-response.schema.cjs +1 -0
- package/dist/types/schemas/flow/get-flow-versions-response.schema.d.ts +1 -0
- package/dist/types/schemas/flow/get-flow-versions-response.schema.js +2 -0
- package/dist/types/schemas/flow/get-flows-response.schema.cjs +6 -0
- package/dist/types/schemas/flow/get-flows-response.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/get-flows-response.schema.d.ts +1 -0
- package/dist/types/schemas/flow/get-flows-response.schema.js +7 -0
- package/dist/types/schemas/flow/get-flows-response.schema.js.map +1 -0
- package/dist/types/schemas/flow/index.cjs +9 -0
- package/dist/types/schemas/flow/index.d.ts +1 -0
- package/dist/types/schemas/flow/index.js +10 -0
- package/dist/types/schemas/flow/update-flow.schema.cjs +1 -0
- package/dist/types/schemas/flow/update-flow.schema.d.ts +1 -0
- package/dist/types/schemas/flow/update-flow.schema.js +2 -0
- package/dist/types/schemas/flow/validate-flow.schema.cjs +19 -0
- package/dist/types/schemas/flow/validate-flow.schema.cjs.map +1 -0
- package/dist/types/schemas/flow/validate-flow.schema.d.ts +1 -0
- package/dist/types/schemas/flow/validate-flow.schema.js +19 -0
- package/dist/types/schemas/flow/validate-flow.schema.js.map +1 -0
- package/dist/types/schemas/index.cjs +3 -0
- package/dist/types/schemas/index.d.ts +2 -0
- package/dist/types/schemas/index.js +4 -0
- package/dist/types/schemas/pagination-sort-filter.cjs +56 -0
- package/dist/types/schemas/pagination-sort-filter.cjs.map +1 -0
- package/dist/types/schemas/pagination-sort-filter.d.cts +38 -0
- package/dist/types/schemas/pagination-sort-filter.d.cts.map +1 -0
- package/dist/types/schemas/pagination-sort-filter.d.ts +38 -0
- package/dist/types/schemas/pagination-sort-filter.d.ts.map +1 -0
- package/dist/types/schemas/pagination-sort-filter.js +50 -0
- package/dist/types/schemas/pagination-sort-filter.js.map +1 -0
- package/dist/types/schemas-fresh/invect-config.cjs +181 -0
- package/dist/types/schemas-fresh/invect-config.cjs.map +1 -0
- package/dist/types/schemas-fresh/invect-config.d.cts +207 -0
- package/dist/types/schemas-fresh/invect-config.d.cts.map +1 -0
- package/dist/types/schemas-fresh/invect-config.d.ts +207 -0
- package/dist/types/schemas-fresh/invect-config.d.ts.map +1 -0
- package/dist/types/schemas-fresh/invect-config.js +174 -0
- package/dist/types/schemas-fresh/invect-config.js.map +1 -0
- package/dist/types/validation/common.schemas.cjs +41 -0
- package/dist/types/validation/common.schemas.cjs.map +1 -0
- package/dist/types/validation/common.schemas.js +39 -0
- package/dist/types/validation/common.schemas.js.map +1 -0
- package/dist/types/validation/flow.schemas.cjs +49 -0
- package/dist/types/validation/flow.schemas.cjs.map +1 -0
- package/dist/types/validation/flow.schemas.js +46 -0
- package/dist/types/validation/flow.schemas.js.map +1 -0
- package/dist/types/validation.cjs +49 -0
- package/dist/types/validation.cjs.map +1 -0
- package/dist/types/validation.d.cts +49 -0
- package/dist/types/validation.d.cts.map +1 -0
- package/dist/types/validation.d.ts +49 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +48 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types-export.cjs +11 -0
- package/dist/types-export.d.cts +25 -0
- package/dist/types-export.d.ts +25 -0
- package/dist/types-export.js +5 -0
- package/dist/types-fresh.cjs +9 -0
- package/dist/types-fresh.cjs.map +1 -0
- package/dist/types-fresh.d.cts +129 -0
- package/dist/types-fresh.d.cts.map +1 -0
- package/dist/types-fresh.d.ts +129 -0
- package/dist/types-fresh.d.ts.map +1 -0
- package/dist/types-fresh.js +8 -0
- package/dist/types-fresh.js.map +1 -0
- package/dist/utils/id-generator.cjs +34 -0
- package/dist/utils/id-generator.cjs.map +1 -0
- package/dist/utils/id-generator.js +34 -0
- package/dist/utils/id-generator.js.map +1 -0
- package/dist/utils/logger.cjs +285 -0
- package/dist/utils/logger.cjs.map +1 -0
- package/dist/utils/logger.d.cts +161 -0
- package/dist/utils/logger.d.cts.map +1 -0
- package/dist/utils/logger.d.ts +160 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +282 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/node-slug.cjs +13 -0
- package/dist/utils/node-slug.cjs.map +1 -0
- package/dist/utils/node-slug.d.cts +8 -0
- package/dist/utils/node-slug.d.cts.map +1 -0
- package/dist/utils/node-slug.d.ts +8 -0
- package/dist/utils/node-slug.d.ts.map +1 -0
- package/dist/utils/node-slug.js +13 -0
- package/dist/utils/node-slug.js.map +1 -0
- package/dist/utils/provider-detection.cjs +72 -0
- package/dist/utils/provider-detection.cjs.map +1 -0
- package/dist/utils/provider-detection.js +72 -0
- package/dist/utils/provider-detection.js.map +1 -0
- package/dist/utils/url-safe-id.cjs +52 -0
- package/dist/utils/url-safe-id.cjs.map +1 -0
- package/dist/utils/url-safe-id.js +52 -0
- package/dist/utils/url-safe-id.js.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-tools.js","names":[],"sources":["../../../../src/services/chat/tools/node-tools.ts"],"sourcesContent":["/**\n * Chat Tools — Node Editing\n *\n * Granular tools for adding, removing, connecting, and configuring individual nodes.\n * These operate on the latest flow version — they read, mutate, and save a new version.\n *\n * For bulk changes (new flows from scratch), use update_flow_definition instead.\n * These are for surgical edits: \"add a Slack node after the HTTP request\",\n * \"change the JQ query\", \"remove the debug node\".\n */\n\nimport { z } from 'zod/v4';\nimport type { ChatToolDefinition, ChatToolContext, ChatToolResult } from '../chat-types';\nimport type { Invect } from 'src/invect-core';\nimport type { FlowNodeDefinitions, FlowEdge } from 'src/services/flow-versions/schemas-fresh';\n\n/**\n * Helper: Load the latest flow version's nodes and edges.\n */\nasync function loadLatestDefinition(invect: Invect, flowId: string) {\n const version = await invect.getFlowVersion(flowId, 'latest');\n if (!version) {\n throw new Error('No flow version found — publish a version first');\n }\n\n const definition = version.invectDefinition;\n const nodes = structuredClone(definition.nodes) as FlowNodeDefinitions[];\n const edges = structuredClone(definition.edges) as FlowEdge[];\n\n return { nodes, edges, version };\n}\n\n/**\n * Helper: Save a mutated definition as a new flow version.\n */\nasync function saveNewVersion(\n invect: Invect,\n flowId: string,\n nodes: FlowNodeDefinitions[],\n edges: FlowEdge[],\n) {\n return invect.createFlowVersion(flowId, {\n invectDefinition: { nodes, edges },\n });\n}\n\n/**\n * Helper: Convert a label to a snake_case reference ID.\n */\nfunction labelToReferenceId(label: string): string {\n return label\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '_')\n .replace(/^_|_$/g, '');\n}\n\n/**\n * Helper: Generate a short unique ID for nodes/edges.\n */\nfunction genId(): string {\n return Math.random().toString(36).slice(2, 10);\n}\n\n// =====================================\n// add_node\n// =====================================\n\nexport const addNodeTool: ChatToolDefinition = {\n id: 'add_node',\n name: 'Add Node',\n description:\n 'Add a new node to the current flow. Optionally connect it after an existing node. ' +\n 'The node is positioned automatically. Use search_actions or get_action_details to find valid action IDs. ' +\n 'For bulk flow creation, prefer update_flow_definition instead.',\n parameters: z.object({\n actionId: z\n .string()\n .describe(\n 'Action type ID (e.g. \"core.model\", \"core.javascript\", \"gmail.send_message\", \"http.request\")',\n ),\n label: z.string().describe('Human-readable node label (e.g. \"Fetch User Emails\")'),\n params: z\n .record(z.string(), z.unknown())\n .optional()\n .default({})\n .describe('Node configuration parameters (key-value pairs)'),\n connectAfter: z\n .string()\n .optional()\n .describe('Node ID to connect after — creates an edge from that node to this new one'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const {\n actionId,\n label,\n params: nodeParams,\n connectAfter,\n } = params as {\n actionId: string;\n label: string;\n params: Record<string, unknown>;\n connectAfter?: string;\n };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n // Validate action ID exists in the registry\n const availableNodes = invect.getAvailableNodes();\n const validAction = availableNodes.find((n) => n.type === actionId);\n if (!validAction) {\n const searchLower = actionId.toLowerCase();\n const similar = availableNodes\n .filter((n) => n.type.toLowerCase().includes(searchLower.split('.').pop() ?? ''))\n .slice(0, 5)\n .map((n) => n.type);\n return {\n success: false,\n error: `Action \"${actionId}\" not found in the action registry`,\n suggestion:\n similar.length > 0\n ? `Did you mean one of: ${similar.join(', ')}? Use search_actions to find valid action IDs.`\n : 'Use search_actions to find valid action IDs.',\n };\n }\n\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n const nodeId = `node_${genId()}`;\n const referenceId = labelToReferenceId(label);\n\n // Compute position: below connectAfter node, or after the last node\n let position = { x: 250, y: 100 };\n if (connectAfter) {\n const upstream = nodes.find((n) => n.id === connectAfter);\n if (upstream?.position) {\n position = { x: upstream.position.x, y: upstream.position.y + 150 };\n }\n } else if (nodes.length > 0) {\n const lastNode = nodes[nodes.length - 1];\n if (lastNode?.position) {\n position = { x: lastNode.position.x, y: lastNode.position.y + 150 };\n }\n }\n\n // Add the new node\n nodes.push({\n id: nodeId,\n type: actionId,\n label,\n referenceId,\n params: nodeParams ?? {},\n position,\n });\n\n // Auto-connect if requested\n if (connectAfter) {\n const upstream = nodes.find((n) => n.id === connectAfter);\n if (!upstream) {\n return {\n success: false,\n error: `Cannot connect after node \"${connectAfter}\" — node not found`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n edges.push({\n id: `edge_${genId()}`,\n source: connectAfter,\n target: nodeId,\n });\n }\n\n const version = await saveNewVersion(invect, flowId, nodes, edges);\n\n return {\n success: true,\n data: {\n nodeId,\n label,\n actionId,\n referenceId,\n versionNumber: version.version,\n connected: connectAfter ? { from: connectAfter, to: nodeId } : undefined,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId, selectNodeId: nodeId },\n },\n };\n } catch (error: unknown) {\n return {\n success: false,\n error: `Failed to add node: ${(error as Error).message}`,\n suggestion: 'Use search_actions to verify the action ID is valid.',\n };\n }\n },\n};\n\n// =====================================\n// remove_node\n// =====================================\n\nexport const removeNodeTool: ChatToolDefinition = {\n id: 'remove_node',\n name: 'Remove Node',\n description:\n 'Remove a node from the current flow. Also removes all edges connected to it. ' +\n 'Use get_current_flow_context to find node IDs.',\n parameters: z.object({\n nodeId: z.string().describe('ID of the node to remove'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { nodeId } = params as { nodeId: string };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n const nodeIndex = nodes.findIndex((n) => n.id === nodeId);\n if (nodeIndex === -1) {\n return {\n success: false,\n error: `Node \"${nodeId}\" not found in flow`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n\n const removedNode = nodes[nodeIndex];\n const removedLabel = removedNode.label || removedNode.id;\n\n // Remove the node\n nodes.splice(nodeIndex, 1);\n\n // Remove all edges connected to this node\n const removedEdgeCount = edges.length;\n const filteredEdges = edges.filter((e) => e.source !== nodeId && e.target !== nodeId);\n const edgesRemoved = removedEdgeCount - filteredEdges.length;\n\n const version = await saveNewVersion(invect, flowId, nodes, filteredEdges);\n\n return {\n success: true,\n data: {\n removedNodeId: nodeId,\n removedLabel,\n edgesRemoved,\n versionNumber: version.version,\n remainingNodeCount: nodes.length,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId },\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to remove node: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// update_node_config\n// =====================================\n\nexport const updateNodeConfigTool: ChatToolDefinition = {\n id: 'update_node_config',\n name: 'Update Node Config',\n description:\n 'Update the configuration parameters of an existing node. ' +\n 'Merges the provided params into the existing config (does not replace unmentioned params). ' +\n 'Use this for targeted changes like \"change the JQ query\" or \"update the prompt\".',\n parameters: z.object({\n nodeId: z.string().describe('ID of the node to update'),\n params: z\n .record(z.string(), z.unknown())\n .describe('Parameters to set or update (merged with existing)'),\n label: z.string().optional().describe('Optionally update the node label too'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const {\n nodeId,\n params: newParams,\n label,\n } = params as {\n nodeId: string;\n params: Record<string, unknown>;\n label?: string;\n };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n const node = nodes.find((n) => n.id === nodeId);\n if (!node) {\n return {\n success: false,\n error: `Node \"${nodeId}\" not found in flow`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n\n // Merge params\n const existingParams = node.params ?? {};\n node.params = { ...existingParams, ...newParams };\n\n // Update label if provided\n if (label) {\n node.label = label;\n node.referenceId = labelToReferenceId(label);\n }\n\n const version = await saveNewVersion(invect, flowId, nodes, edges);\n\n return {\n success: true,\n data: {\n nodeId,\n label: node.label,\n updatedParams: Object.keys(newParams),\n versionNumber: version.version,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId, selectNodeId: nodeId },\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to update node: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// connect_nodes\n// =====================================\n\nexport const connectNodesTool: ChatToolDefinition = {\n id: 'connect_nodes',\n name: 'Connect Nodes',\n description:\n 'Create an edge between two nodes. Data flows from source to target. ' +\n 'Use sourceHandle/targetHandle for multi-output nodes like if-else (e.g. \"true_output\", \"false_output\").',\n parameters: z.object({\n sourceNodeId: z.string().describe('ID of the source node (data flows FROM here)'),\n targetNodeId: z.string().describe('ID of the target node (data flows TO here)'),\n sourceHandle: z\n .string()\n .optional()\n .describe('Source handle for multi-output nodes (e.g. \"true_output\", \"false_output\")'),\n targetHandle: z.string().optional().describe('Target handle (rarely needed)'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { sourceNodeId, targetNodeId, sourceHandle, targetHandle } = params as {\n sourceNodeId: string;\n targetNodeId: string;\n sourceHandle?: string;\n targetHandle?: string;\n };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const { nodes, edges } = await loadLatestDefinition(invect, flowId);\n\n // Validate both nodes exist\n const source = nodes.find((n) => n.id === sourceNodeId);\n const target = nodes.find((n) => n.id === targetNodeId);\n\n if (!source) {\n return {\n success: false,\n error: `Source node \"${sourceNodeId}\" not found`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n if (!target) {\n return {\n success: false,\n error: `Target node \"${targetNodeId}\" not found`,\n suggestion: 'Use get_current_flow_context to see available node IDs.',\n };\n }\n\n // Check for duplicate edge\n const exists = edges.some(\n (e) =>\n e.source === sourceNodeId &&\n e.target === targetNodeId &&\n (e.sourceHandle ?? '') === (sourceHandle ?? '') &&\n (e.targetHandle ?? '') === (targetHandle ?? ''),\n );\n if (exists) {\n return {\n success: true,\n data: { message: 'Edge already exists — no change needed' },\n };\n }\n\n edges.push({\n id: `edge_${genId()}`,\n source: sourceNodeId,\n target: targetNodeId,\n ...(sourceHandle && { sourceHandle }),\n ...(targetHandle && { targetHandle }),\n });\n\n const version = await saveNewVersion(invect, flowId, nodes, edges);\n\n return {\n success: true,\n data: {\n edgeId: edges[edges.length - 1].id,\n from: `${source.label ?? sourceNodeId}`,\n to: `${target.label ?? targetNodeId}`,\n versionNumber: version.version,\n },\n uiAction: {\n action: 'refresh_flow',\n data: { flowId },\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to connect nodes: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// Export all node tools\n// =====================================\n\nexport const nodeTools: ChatToolDefinition[] = [\n addNodeTool,\n removeNodeTool,\n updateNodeConfigTool,\n connectNodesTool,\n];\n"],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let zod_v4 = require("zod/v4");
|
|
3
|
+
const planTools = [{
|
|
4
|
+
id: "set_plan",
|
|
5
|
+
name: "Set Plan",
|
|
6
|
+
description: "Create a step-by-step plan for building or modifying a flow. Use this BEFORE starting any complex work (3+ steps). Present the plan to the user and wait for their confirmation before executing. Each step should be a concise, actionable description.",
|
|
7
|
+
parameters: zod_v4.z.object({
|
|
8
|
+
steps: zod_v4.z.array(zod_v4.z.object({
|
|
9
|
+
title: zod_v4.z.string().describe("Short description of the step (e.g. \"Add HTTP request to AiPrise API\")"),
|
|
10
|
+
status: zod_v4.z.enum([
|
|
11
|
+
"pending",
|
|
12
|
+
"in_progress",
|
|
13
|
+
"done",
|
|
14
|
+
"skipped"
|
|
15
|
+
]).default("pending").describe("Step status — should be \"pending\" when first creating the plan")
|
|
16
|
+
})).min(1).max(20).describe("Ordered list of steps to complete"),
|
|
17
|
+
summary: zod_v4.z.string().optional().describe("Brief one-line summary of the overall goal (e.g. \"Build a KYC verification flow\")")
|
|
18
|
+
}),
|
|
19
|
+
async execute(params, _ctx) {
|
|
20
|
+
const { steps, summary } = params;
|
|
21
|
+
return {
|
|
22
|
+
success: true,
|
|
23
|
+
data: {
|
|
24
|
+
summary: summary ?? "Plan created",
|
|
25
|
+
totalSteps: steps.length,
|
|
26
|
+
steps: steps.map((s, i) => ({
|
|
27
|
+
index: i + 1,
|
|
28
|
+
title: s.title,
|
|
29
|
+
status: s.status ?? "pending"
|
|
30
|
+
}))
|
|
31
|
+
},
|
|
32
|
+
uiAction: {
|
|
33
|
+
action: "show_plan",
|
|
34
|
+
data: {
|
|
35
|
+
summary: summary ?? "Plan created",
|
|
36
|
+
steps: steps.map((s, i) => ({
|
|
37
|
+
index: i + 1,
|
|
38
|
+
title: s.title,
|
|
39
|
+
status: s.status ?? "pending"
|
|
40
|
+
}))
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
id: "update_plan",
|
|
47
|
+
name: "Update Plan",
|
|
48
|
+
description: "Update the status of steps in the current plan. Use this after completing each step to keep the user informed of progress. You can also add new steps or mark steps as skipped if the plan needs to change.",
|
|
49
|
+
parameters: zod_v4.z.object({
|
|
50
|
+
steps: zod_v4.z.array(zod_v4.z.object({
|
|
51
|
+
title: zod_v4.z.string().describe("Step description (can be updated)"),
|
|
52
|
+
status: zod_v4.z.enum([
|
|
53
|
+
"pending",
|
|
54
|
+
"in_progress",
|
|
55
|
+
"done",
|
|
56
|
+
"skipped"
|
|
57
|
+
]).describe("Updated step status")
|
|
58
|
+
})).min(1).max(20).describe("Complete updated step list (include ALL steps, not just changed ones)"),
|
|
59
|
+
note: zod_v4.z.string().optional().describe("Optional note about what changed or why (e.g. \"AiPrise not available, using HTTP instead\")")
|
|
60
|
+
}),
|
|
61
|
+
async execute(params, _ctx) {
|
|
62
|
+
const { steps, note } = params;
|
|
63
|
+
const doneCount = steps.filter((s) => s.status === "done").length;
|
|
64
|
+
const totalSteps = steps.filter((s) => s.status !== "skipped").length;
|
|
65
|
+
return {
|
|
66
|
+
success: true,
|
|
67
|
+
data: {
|
|
68
|
+
progress: `${doneCount}/${totalSteps} steps completed`,
|
|
69
|
+
steps: steps.map((s, i) => ({
|
|
70
|
+
index: i + 1,
|
|
71
|
+
title: s.title,
|
|
72
|
+
status: s.status
|
|
73
|
+
})),
|
|
74
|
+
...note && { note }
|
|
75
|
+
},
|
|
76
|
+
uiAction: {
|
|
77
|
+
action: "update_plan",
|
|
78
|
+
data: {
|
|
79
|
+
steps: steps.map((s, i) => ({
|
|
80
|
+
index: i + 1,
|
|
81
|
+
title: s.title,
|
|
82
|
+
status: s.status
|
|
83
|
+
})),
|
|
84
|
+
progress: `${doneCount}/${totalSteps}`,
|
|
85
|
+
...note && { note }
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}];
|
|
91
|
+
//#endregion
|
|
92
|
+
exports.planTools = planTools;
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=plan-tools.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-tools.cjs","names":["z"],"sources":["../../../../src/services/chat/tools/plan-tools.ts"],"sourcesContent":["/**\n * Chat Tools — Plan Tracking\n *\n * Tools that let the AI assistant create and track a step-by-step plan.\n * Plans are visible to the user through tool call events in the chat stream.\n *\n * The LLM uses set_plan to present a plan before building, and update_plan\n * to mark steps as completed (or adjust the plan) as it works.\n *\n * Plans are ephemeral (per-conversation) — they live in the LLM's context\n * window via tool call/result history. No persistence needed.\n */\n\nimport { z } from 'zod/v4';\nimport type { ChatToolDefinition, ChatToolContext, ChatToolResult } from '../chat-types';\n\n// =====================================\n// set_plan\n// =====================================\n\nexport const setPlanTool: ChatToolDefinition = {\n id: 'set_plan',\n name: 'Set Plan',\n description:\n 'Create a step-by-step plan for building or modifying a flow. ' +\n 'Use this BEFORE starting any complex work (3+ steps). ' +\n 'Present the plan to the user and wait for their confirmation before executing. ' +\n 'Each step should be a concise, actionable description.',\n parameters: z.object({\n steps: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Short description of the step (e.g. \"Add HTTP request to AiPrise API\")'),\n status: z\n .enum(['pending', 'in_progress', 'done', 'skipped'])\n .default('pending')\n .describe('Step status — should be \"pending\" when first creating the plan'),\n }),\n )\n .min(1)\n .max(20)\n .describe('Ordered list of steps to complete'),\n summary: z\n .string()\n .optional()\n .describe(\n 'Brief one-line summary of the overall goal (e.g. \"Build a KYC verification flow\")',\n ),\n }),\n async execute(params: unknown, _ctx: ChatToolContext): Promise<ChatToolResult> {\n const { steps, summary } = params as {\n steps: Array<{ title: string; status: string }>;\n summary?: string;\n };\n\n return {\n success: true,\n data: {\n summary: summary ?? 'Plan created',\n totalSteps: steps.length,\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status ?? 'pending',\n })),\n },\n uiAction: {\n action: 'show_plan',\n data: {\n summary: summary ?? 'Plan created',\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status ?? 'pending',\n })),\n },\n },\n };\n },\n};\n\n// =====================================\n// update_plan\n// =====================================\n\nexport const updatePlanTool: ChatToolDefinition = {\n id: 'update_plan',\n name: 'Update Plan',\n description:\n 'Update the status of steps in the current plan. Use this after completing each step ' +\n 'to keep the user informed of progress. You can also add new steps or mark steps as skipped ' +\n 'if the plan needs to change.',\n parameters: z.object({\n steps: z\n .array(\n z.object({\n title: z.string().describe('Step description (can be updated)'),\n status: z\n .enum(['pending', 'in_progress', 'done', 'skipped'])\n .describe('Updated step status'),\n }),\n )\n .min(1)\n .max(20)\n .describe('Complete updated step list (include ALL steps, not just changed ones)'),\n note: z\n .string()\n .optional()\n .describe(\n 'Optional note about what changed or why (e.g. \"AiPrise not available, using HTTP instead\")',\n ),\n }),\n async execute(params: unknown, _ctx: ChatToolContext): Promise<ChatToolResult> {\n const { steps, note } = params as {\n steps: Array<{ title: string; status: string }>;\n note?: string;\n };\n\n const doneCount = steps.filter((s) => s.status === 'done').length;\n const totalSteps = steps.filter((s) => s.status !== 'skipped').length;\n\n return {\n success: true,\n data: {\n progress: `${doneCount}/${totalSteps} steps completed`,\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status,\n })),\n ...(note && { note }),\n },\n uiAction: {\n action: 'update_plan',\n data: {\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status,\n })),\n progress: `${doneCount}/${totalSteps}`,\n ...(note && { note }),\n },\n },\n };\n },\n};\n\n// =====================================\n// Export all plan tools\n// =====================================\n\nexport const planTools: ChatToolDefinition[] = [setPlanTool, updatePlanTool];\n"],"mappings":";;AA0JA,MAAa,YAAkC,CAtIA;CAC7C,IAAI;CACJ,MAAM;CACN,aACE;CAIF,YAAYA,OAAAA,EAAE,OAAO;EACnB,OAAOA,OAAAA,EACJ,MACCA,OAAAA,EAAE,OAAO;GACP,OAAOA,OAAAA,EACJ,QAAQ,CACR,SAAS,2EAAyE;GACrF,QAAQA,OAAAA,EACL,KAAK;IAAC;IAAW;IAAe;IAAQ;IAAU,CAAC,CACnD,QAAQ,UAAU,CAClB,SAAS,mEAAiE;GAC9E,CAAC,CACH,CACA,IAAI,EAAE,CACN,IAAI,GAAG,CACP,SAAS,oCAAoC;EAChD,SAASA,OAAAA,EACN,QAAQ,CACR,UAAU,CACV,SACC,sFACD;EACJ,CAAC;CACF,MAAM,QAAQ,QAAiB,MAAgD;EAC7E,MAAM,EAAE,OAAO,YAAY;AAK3B,SAAO;GACL,SAAS;GACT,MAAM;IACJ,SAAS,WAAW;IACpB,YAAY,MAAM;IAClB,OAAO,MAAM,KAAK,GAAG,OAAO;KAC1B,OAAO,IAAI;KACX,OAAO,EAAE;KACT,QAAQ,EAAE,UAAU;KACrB,EAAE;IACJ;GACD,UAAU;IACR,QAAQ;IACR,MAAM;KACJ,SAAS,WAAW;KACpB,OAAO,MAAM,KAAK,GAAG,OAAO;MAC1B,OAAO,IAAI;MACX,OAAO,EAAE;MACT,QAAQ,EAAE,UAAU;MACrB,EAAE;KACJ;IACF;GACF;;CAEJ,EAMiD;CAChD,IAAI;CACJ,MAAM;CACN,aACE;CAGF,YAAYA,OAAAA,EAAE,OAAO;EACnB,OAAOA,OAAAA,EACJ,MACCA,OAAAA,EAAE,OAAO;GACP,OAAOA,OAAAA,EAAE,QAAQ,CAAC,SAAS,oCAAoC;GAC/D,QAAQA,OAAAA,EACL,KAAK;IAAC;IAAW;IAAe;IAAQ;IAAU,CAAC,CACnD,SAAS,sBAAsB;GACnC,CAAC,CACH,CACA,IAAI,EAAE,CACN,IAAI,GAAG,CACP,SAAS,wEAAwE;EACpF,MAAMA,OAAAA,EACH,QAAQ,CACR,UAAU,CACV,SACC,+FACD;EACJ,CAAC;CACF,MAAM,QAAQ,QAAiB,MAAgD;EAC7E,MAAM,EAAE,OAAO,SAAS;EAKxB,MAAM,YAAY,MAAM,QAAQ,MAAM,EAAE,WAAW,OAAO,CAAC;EAC3D,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,WAAW,UAAU,CAAC;AAE/D,SAAO;GACL,SAAS;GACT,MAAM;IACJ,UAAU,GAAG,UAAU,GAAG,WAAW;IACrC,OAAO,MAAM,KAAK,GAAG,OAAO;KAC1B,OAAO,IAAI;KACX,OAAO,EAAE;KACT,QAAQ,EAAE;KACX,EAAE;IACH,GAAI,QAAQ,EAAE,MAAM;IACrB;GACD,UAAU;IACR,QAAQ;IACR,MAAM;KACJ,OAAO,MAAM,KAAK,GAAG,OAAO;MAC1B,OAAO,IAAI;MACX,OAAO,EAAE;MACT,QAAQ,EAAE;MACX,EAAE;KACH,UAAU,GAAG,UAAU,GAAG;KAC1B,GAAI,QAAQ,EAAE,MAAM;KACrB;IACF;GACF;;CAEJ,CAM2E"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
const planTools = [{
|
|
3
|
+
id: "set_plan",
|
|
4
|
+
name: "Set Plan",
|
|
5
|
+
description: "Create a step-by-step plan for building or modifying a flow. Use this BEFORE starting any complex work (3+ steps). Present the plan to the user and wait for their confirmation before executing. Each step should be a concise, actionable description.",
|
|
6
|
+
parameters: z.object({
|
|
7
|
+
steps: z.array(z.object({
|
|
8
|
+
title: z.string().describe("Short description of the step (e.g. \"Add HTTP request to AiPrise API\")"),
|
|
9
|
+
status: z.enum([
|
|
10
|
+
"pending",
|
|
11
|
+
"in_progress",
|
|
12
|
+
"done",
|
|
13
|
+
"skipped"
|
|
14
|
+
]).default("pending").describe("Step status — should be \"pending\" when first creating the plan")
|
|
15
|
+
})).min(1).max(20).describe("Ordered list of steps to complete"),
|
|
16
|
+
summary: z.string().optional().describe("Brief one-line summary of the overall goal (e.g. \"Build a KYC verification flow\")")
|
|
17
|
+
}),
|
|
18
|
+
async execute(params, _ctx) {
|
|
19
|
+
const { steps, summary } = params;
|
|
20
|
+
return {
|
|
21
|
+
success: true,
|
|
22
|
+
data: {
|
|
23
|
+
summary: summary ?? "Plan created",
|
|
24
|
+
totalSteps: steps.length,
|
|
25
|
+
steps: steps.map((s, i) => ({
|
|
26
|
+
index: i + 1,
|
|
27
|
+
title: s.title,
|
|
28
|
+
status: s.status ?? "pending"
|
|
29
|
+
}))
|
|
30
|
+
},
|
|
31
|
+
uiAction: {
|
|
32
|
+
action: "show_plan",
|
|
33
|
+
data: {
|
|
34
|
+
summary: summary ?? "Plan created",
|
|
35
|
+
steps: steps.map((s, i) => ({
|
|
36
|
+
index: i + 1,
|
|
37
|
+
title: s.title,
|
|
38
|
+
status: s.status ?? "pending"
|
|
39
|
+
}))
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}, {
|
|
45
|
+
id: "update_plan",
|
|
46
|
+
name: "Update Plan",
|
|
47
|
+
description: "Update the status of steps in the current plan. Use this after completing each step to keep the user informed of progress. You can also add new steps or mark steps as skipped if the plan needs to change.",
|
|
48
|
+
parameters: z.object({
|
|
49
|
+
steps: z.array(z.object({
|
|
50
|
+
title: z.string().describe("Step description (can be updated)"),
|
|
51
|
+
status: z.enum([
|
|
52
|
+
"pending",
|
|
53
|
+
"in_progress",
|
|
54
|
+
"done",
|
|
55
|
+
"skipped"
|
|
56
|
+
]).describe("Updated step status")
|
|
57
|
+
})).min(1).max(20).describe("Complete updated step list (include ALL steps, not just changed ones)"),
|
|
58
|
+
note: z.string().optional().describe("Optional note about what changed or why (e.g. \"AiPrise not available, using HTTP instead\")")
|
|
59
|
+
}),
|
|
60
|
+
async execute(params, _ctx) {
|
|
61
|
+
const { steps, note } = params;
|
|
62
|
+
const doneCount = steps.filter((s) => s.status === "done").length;
|
|
63
|
+
const totalSteps = steps.filter((s) => s.status !== "skipped").length;
|
|
64
|
+
return {
|
|
65
|
+
success: true,
|
|
66
|
+
data: {
|
|
67
|
+
progress: `${doneCount}/${totalSteps} steps completed`,
|
|
68
|
+
steps: steps.map((s, i) => ({
|
|
69
|
+
index: i + 1,
|
|
70
|
+
title: s.title,
|
|
71
|
+
status: s.status
|
|
72
|
+
})),
|
|
73
|
+
...note && { note }
|
|
74
|
+
},
|
|
75
|
+
uiAction: {
|
|
76
|
+
action: "update_plan",
|
|
77
|
+
data: {
|
|
78
|
+
steps: steps.map((s, i) => ({
|
|
79
|
+
index: i + 1,
|
|
80
|
+
title: s.title,
|
|
81
|
+
status: s.status
|
|
82
|
+
})),
|
|
83
|
+
progress: `${doneCount}/${totalSteps}`,
|
|
84
|
+
...note && { note }
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}];
|
|
90
|
+
//#endregion
|
|
91
|
+
export { planTools };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=plan-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-tools.js","names":[],"sources":["../../../../src/services/chat/tools/plan-tools.ts"],"sourcesContent":["/**\n * Chat Tools — Plan Tracking\n *\n * Tools that let the AI assistant create and track a step-by-step plan.\n * Plans are visible to the user through tool call events in the chat stream.\n *\n * The LLM uses set_plan to present a plan before building, and update_plan\n * to mark steps as completed (or adjust the plan) as it works.\n *\n * Plans are ephemeral (per-conversation) — they live in the LLM's context\n * window via tool call/result history. No persistence needed.\n */\n\nimport { z } from 'zod/v4';\nimport type { ChatToolDefinition, ChatToolContext, ChatToolResult } from '../chat-types';\n\n// =====================================\n// set_plan\n// =====================================\n\nexport const setPlanTool: ChatToolDefinition = {\n id: 'set_plan',\n name: 'Set Plan',\n description:\n 'Create a step-by-step plan for building or modifying a flow. ' +\n 'Use this BEFORE starting any complex work (3+ steps). ' +\n 'Present the plan to the user and wait for their confirmation before executing. ' +\n 'Each step should be a concise, actionable description.',\n parameters: z.object({\n steps: z\n .array(\n z.object({\n title: z\n .string()\n .describe('Short description of the step (e.g. \"Add HTTP request to AiPrise API\")'),\n status: z\n .enum(['pending', 'in_progress', 'done', 'skipped'])\n .default('pending')\n .describe('Step status — should be \"pending\" when first creating the plan'),\n }),\n )\n .min(1)\n .max(20)\n .describe('Ordered list of steps to complete'),\n summary: z\n .string()\n .optional()\n .describe(\n 'Brief one-line summary of the overall goal (e.g. \"Build a KYC verification flow\")',\n ),\n }),\n async execute(params: unknown, _ctx: ChatToolContext): Promise<ChatToolResult> {\n const { steps, summary } = params as {\n steps: Array<{ title: string; status: string }>;\n summary?: string;\n };\n\n return {\n success: true,\n data: {\n summary: summary ?? 'Plan created',\n totalSteps: steps.length,\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status ?? 'pending',\n })),\n },\n uiAction: {\n action: 'show_plan',\n data: {\n summary: summary ?? 'Plan created',\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status ?? 'pending',\n })),\n },\n },\n };\n },\n};\n\n// =====================================\n// update_plan\n// =====================================\n\nexport const updatePlanTool: ChatToolDefinition = {\n id: 'update_plan',\n name: 'Update Plan',\n description:\n 'Update the status of steps in the current plan. Use this after completing each step ' +\n 'to keep the user informed of progress. You can also add new steps or mark steps as skipped ' +\n 'if the plan needs to change.',\n parameters: z.object({\n steps: z\n .array(\n z.object({\n title: z.string().describe('Step description (can be updated)'),\n status: z\n .enum(['pending', 'in_progress', 'done', 'skipped'])\n .describe('Updated step status'),\n }),\n )\n .min(1)\n .max(20)\n .describe('Complete updated step list (include ALL steps, not just changed ones)'),\n note: z\n .string()\n .optional()\n .describe(\n 'Optional note about what changed or why (e.g. \"AiPrise not available, using HTTP instead\")',\n ),\n }),\n async execute(params: unknown, _ctx: ChatToolContext): Promise<ChatToolResult> {\n const { steps, note } = params as {\n steps: Array<{ title: string; status: string }>;\n note?: string;\n };\n\n const doneCount = steps.filter((s) => s.status === 'done').length;\n const totalSteps = steps.filter((s) => s.status !== 'skipped').length;\n\n return {\n success: true,\n data: {\n progress: `${doneCount}/${totalSteps} steps completed`,\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status,\n })),\n ...(note && { note }),\n },\n uiAction: {\n action: 'update_plan',\n data: {\n steps: steps.map((s, i) => ({\n index: i + 1,\n title: s.title,\n status: s.status,\n })),\n progress: `${doneCount}/${totalSteps}`,\n ...(note && { note }),\n },\n },\n };\n },\n};\n\n// =====================================\n// Export all plan tools\n// =====================================\n\nexport const planTools: ChatToolDefinition[] = [setPlanTool, updatePlanTool];\n"],"mappings":";AA0JA,MAAa,YAAkC,CAtIA;CAC7C,IAAI;CACJ,MAAM;CACN,aACE;CAIF,YAAY,EAAE,OAAO;EACnB,OAAO,EACJ,MACC,EAAE,OAAO;GACP,OAAO,EACJ,QAAQ,CACR,SAAS,2EAAyE;GACrF,QAAQ,EACL,KAAK;IAAC;IAAW;IAAe;IAAQ;IAAU,CAAC,CACnD,QAAQ,UAAU,CAClB,SAAS,mEAAiE;GAC9E,CAAC,CACH,CACA,IAAI,EAAE,CACN,IAAI,GAAG,CACP,SAAS,oCAAoC;EAChD,SAAS,EACN,QAAQ,CACR,UAAU,CACV,SACC,sFACD;EACJ,CAAC;CACF,MAAM,QAAQ,QAAiB,MAAgD;EAC7E,MAAM,EAAE,OAAO,YAAY;AAK3B,SAAO;GACL,SAAS;GACT,MAAM;IACJ,SAAS,WAAW;IACpB,YAAY,MAAM;IAClB,OAAO,MAAM,KAAK,GAAG,OAAO;KAC1B,OAAO,IAAI;KACX,OAAO,EAAE;KACT,QAAQ,EAAE,UAAU;KACrB,EAAE;IACJ;GACD,UAAU;IACR,QAAQ;IACR,MAAM;KACJ,SAAS,WAAW;KACpB,OAAO,MAAM,KAAK,GAAG,OAAO;MAC1B,OAAO,IAAI;MACX,OAAO,EAAE;MACT,QAAQ,EAAE,UAAU;MACrB,EAAE;KACJ;IACF;GACF;;CAEJ,EAMiD;CAChD,IAAI;CACJ,MAAM;CACN,aACE;CAGF,YAAY,EAAE,OAAO;EACnB,OAAO,EACJ,MACC,EAAE,OAAO;GACP,OAAO,EAAE,QAAQ,CAAC,SAAS,oCAAoC;GAC/D,QAAQ,EACL,KAAK;IAAC;IAAW;IAAe;IAAQ;IAAU,CAAC,CACnD,SAAS,sBAAsB;GACnC,CAAC,CACH,CACA,IAAI,EAAE,CACN,IAAI,GAAG,CACP,SAAS,wEAAwE;EACpF,MAAM,EACH,QAAQ,CACR,UAAU,CACV,SACC,+FACD;EACJ,CAAC;CACF,MAAM,QAAQ,QAAiB,MAAgD;EAC7E,MAAM,EAAE,OAAO,SAAS;EAKxB,MAAM,YAAY,MAAM,QAAQ,MAAM,EAAE,WAAW,OAAO,CAAC;EAC3D,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,WAAW,UAAU,CAAC;AAE/D,SAAO;GACL,SAAS;GACT,MAAM;IACJ,UAAU,GAAG,UAAU,GAAG,WAAW;IACrC,OAAO,MAAM,KAAK,GAAG,OAAO;KAC1B,OAAO,IAAI;KACX,OAAO,EAAE;KACT,QAAQ,EAAE;KACX,EAAE;IACH,GAAI,QAAQ,EAAE,MAAM;IACrB;GACD,UAAU;IACR,QAAQ;IACR,MAAM;KACJ,OAAO,MAAM,KAAK,GAAG,OAAO;MAC1B,OAAO,IAAI;MACX,OAAO,EAAE;MACT,QAAQ,EAAE;MACX,EAAE;KACH,UAAU,GAAG,UAAU,GAAG;KAC1B,GAAI,QAAQ,EAAE,MAAM;KACrB;IACF;GACF;;CAEJ,CAM2E"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let zod_v4 = require("zod/v4");
|
|
3
|
+
const runTools = [
|
|
4
|
+
{
|
|
5
|
+
id: "get_flow_run",
|
|
6
|
+
name: "Get Flow Run",
|
|
7
|
+
description: "Get the details of a specific flow run by its ID. Returns status, duration, inputs, outputs, and error information. Use this after run_flow to inspect results, or to investigate a past run.",
|
|
8
|
+
parameters: zod_v4.z.object({ flowRunId: zod_v4.z.string().describe("The flow run ID to inspect") }),
|
|
9
|
+
async execute(params, ctx) {
|
|
10
|
+
const { flowRunId } = params;
|
|
11
|
+
const invect = ctx.invect;
|
|
12
|
+
try {
|
|
13
|
+
const run = await invect.getFlowRunById(flowRunId);
|
|
14
|
+
if (!run) return {
|
|
15
|
+
success: false,
|
|
16
|
+
error: `Flow run "${flowRunId}" not found`
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
success: true,
|
|
20
|
+
data: {
|
|
21
|
+
id: run.id,
|
|
22
|
+
flowId: run.flowId,
|
|
23
|
+
status: run.status,
|
|
24
|
+
flowVersion: run.flowVersion,
|
|
25
|
+
duration: run.duration,
|
|
26
|
+
inputs: run.inputs,
|
|
27
|
+
outputs: run.outputs,
|
|
28
|
+
error: run.error,
|
|
29
|
+
startedAt: run.startedAt,
|
|
30
|
+
completedAt: run.completedAt,
|
|
31
|
+
triggerType: run.triggerType
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
} catch (error) {
|
|
35
|
+
return {
|
|
36
|
+
success: false,
|
|
37
|
+
error: `Failed to get flow run: ${error.message}`
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: "get_node_execution_results",
|
|
44
|
+
name: "Get Node Execution Results",
|
|
45
|
+
description: "Get the execution trace for every node in a flow run. Shows per-node status, inputs, outputs, duration, and errors. Essential for debugging — tells you exactly which node failed and why.",
|
|
46
|
+
parameters: zod_v4.z.object({ flowRunId: zod_v4.z.string().describe("The flow run ID to get node executions for") }),
|
|
47
|
+
async execute(params, ctx) {
|
|
48
|
+
const { flowRunId } = params;
|
|
49
|
+
const invect = ctx.invect;
|
|
50
|
+
try {
|
|
51
|
+
const traces = (await invect.getNodeExecutionsByRunId(flowRunId)).map((ex) => ({
|
|
52
|
+
nodeId: ex.nodeId,
|
|
53
|
+
nodeType: ex.nodeType,
|
|
54
|
+
status: ex.status,
|
|
55
|
+
duration: ex.duration,
|
|
56
|
+
error: ex.error,
|
|
57
|
+
output: ex.outputs ? JSON.stringify(ex.outputs).length > 2e3 ? JSON.stringify(ex.outputs).slice(0, 2e3) + "…(truncated)" : ex.outputs : void 0,
|
|
58
|
+
input: ex.inputs ? JSON.stringify(ex.inputs).length > 1e3 ? JSON.stringify(ex.inputs).slice(0, 1e3) + "…(truncated)" : ex.inputs : void 0
|
|
59
|
+
}));
|
|
60
|
+
const failedNodes = traces.filter((t) => t.status === "FAILED" || t.error);
|
|
61
|
+
return {
|
|
62
|
+
success: true,
|
|
63
|
+
data: {
|
|
64
|
+
totalNodes: traces.length,
|
|
65
|
+
failedCount: failedNodes.length,
|
|
66
|
+
traces,
|
|
67
|
+
...failedNodes.length > 0 && { failureSummary: failedNodes.map((n) => `${n.nodeId} (${n.nodeType}): ${n.error}`) }
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
} catch (error) {
|
|
71
|
+
return {
|
|
72
|
+
success: false,
|
|
73
|
+
error: `Failed to get node executions: ${error.message}`
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: "list_flow_runs",
|
|
80
|
+
name: "List Flow Runs",
|
|
81
|
+
description: "List recent flow runs for the currently open flow. Shows run status, duration, and when each ran. Use this to answer questions like \"has this flow been working?\" or \"show recent runs\".",
|
|
82
|
+
parameters: zod_v4.z.object({ limit: zod_v4.z.number().optional().default(10).describe("Max runs to return (default 10)") }),
|
|
83
|
+
async execute(params, ctx) {
|
|
84
|
+
const { limit } = params;
|
|
85
|
+
const invect = ctx.invect;
|
|
86
|
+
const flowId = ctx.chatContext.flowId;
|
|
87
|
+
if (!flowId) return {
|
|
88
|
+
success: false,
|
|
89
|
+
error: "No flow is currently open"
|
|
90
|
+
};
|
|
91
|
+
try {
|
|
92
|
+
const runs = (await invect.listFlowRunsByFlowId(flowId)).data;
|
|
93
|
+
const limited = runs.slice(0, limit ?? 10);
|
|
94
|
+
return {
|
|
95
|
+
success: true,
|
|
96
|
+
data: {
|
|
97
|
+
total: runs.length,
|
|
98
|
+
runs: limited.map((r) => ({
|
|
99
|
+
id: r.id,
|
|
100
|
+
status: r.status,
|
|
101
|
+
duration: r.duration,
|
|
102
|
+
startedAt: r.startedAt,
|
|
103
|
+
completedAt: r.completedAt,
|
|
104
|
+
error: r.error ? String(r.error).slice(0, 200) : void 0,
|
|
105
|
+
triggerType: r.triggerType
|
|
106
|
+
}))
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
} catch (error) {
|
|
110
|
+
return {
|
|
111
|
+
success: false,
|
|
112
|
+
error: `Failed to list flow runs: ${error.message}`
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
];
|
|
118
|
+
//#endregion
|
|
119
|
+
exports.runTools = runTools;
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=run-tools.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-tools.cjs","names":["z"],"sources":["../../../../src/services/chat/tools/run-tools.ts"],"sourcesContent":["/**\n * Chat Tools — Run & Debug\n *\n * Tools for inspecting flow runs, node executions, and testing nodes.\n * These are essential for the assistant to reason about \"why did this fail?\"\n */\n\nimport { z } from 'zod/v4';\nimport type { ChatToolDefinition, ChatToolContext, ChatToolResult } from '../chat-types';\nimport type { Invect } from 'src/invect-core';\n\n// =====================================\n// get_flow_run\n// =====================================\n\nexport const getFlowRunTool: ChatToolDefinition = {\n id: 'get_flow_run',\n name: 'Get Flow Run',\n description:\n 'Get the details of a specific flow run by its ID. ' +\n 'Returns status, duration, inputs, outputs, and error information. ' +\n 'Use this after run_flow to inspect results, or to investigate a past run.',\n parameters: z.object({\n flowRunId: z.string().describe('The flow run ID to inspect'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { flowRunId } = params as { flowRunId: string };\n const invect = ctx.invect as Invect;\n\n try {\n const run = await invect.getFlowRunById(flowRunId);\n if (!run) {\n return { success: false, error: `Flow run \"${flowRunId}\" not found` };\n }\n\n return {\n success: true,\n data: {\n id: run.id,\n flowId: run.flowId,\n status: run.status,\n flowVersion: run.flowVersion,\n duration: run.duration,\n inputs: run.inputs,\n outputs: run.outputs,\n error: run.error,\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n triggerType: run.triggerType,\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to get flow run: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// get_node_execution_results\n// =====================================\n\nexport const getNodeExecutionResultsTool: ChatToolDefinition = {\n id: 'get_node_execution_results',\n name: 'Get Node Execution Results',\n description:\n 'Get the execution trace for every node in a flow run. ' +\n 'Shows per-node status, inputs, outputs, duration, and errors. ' +\n 'Essential for debugging — tells you exactly which node failed and why.',\n parameters: z.object({\n flowRunId: z.string().describe('The flow run ID to get node executions for'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { flowRunId } = params as { flowRunId: string };\n const invect = ctx.invect as Invect;\n\n try {\n const executions = await invect.getNodeExecutionsByRunId(flowRunId);\n\n // Return a compact view — full outputs can be huge\n const traces = executions.map((ex) => ({\n nodeId: ex.nodeId,\n nodeType: ex.nodeType,\n status: ex.status,\n duration: ex.duration,\n error: ex.error,\n // Truncate large outputs to keep context manageable\n output: ex.outputs\n ? JSON.stringify(ex.outputs).length > 2000\n ? JSON.stringify(ex.outputs).slice(0, 2000) + '…(truncated)'\n : ex.outputs\n : undefined,\n input: ex.inputs\n ? JSON.stringify(ex.inputs).length > 1000\n ? JSON.stringify(ex.inputs).slice(0, 1000) + '…(truncated)'\n : ex.inputs\n : undefined,\n }));\n\n const failedNodes = traces.filter((t) => t.status === 'FAILED' || t.error);\n\n return {\n success: true,\n data: {\n totalNodes: traces.length,\n failedCount: failedNodes.length,\n traces,\n ...(failedNodes.length > 0 && {\n failureSummary: failedNodes.map((n) => `${n.nodeId} (${n.nodeType}): ${n.error}`),\n }),\n },\n };\n } catch (error: unknown) {\n return {\n success: false,\n error: `Failed to get node executions: ${(error as Error).message}`,\n };\n }\n },\n};\n\n// =====================================\n// list_flow_runs\n// =====================================\n\nexport const listFlowRunsTool: ChatToolDefinition = {\n id: 'list_flow_runs',\n name: 'List Flow Runs',\n description:\n 'List recent flow runs for the currently open flow. ' +\n 'Shows run status, duration, and when each ran. ' +\n 'Use this to answer questions like \"has this flow been working?\" or \"show recent runs\".',\n parameters: z.object({\n limit: z.number().optional().default(10).describe('Max runs to return (default 10)'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { limit } = params as { limit?: number };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const result = await invect.listFlowRunsByFlowId(flowId);\n const runs = result.data;\n const limited = runs.slice(0, limit ?? 10);\n\n return {\n success: true,\n data: {\n total: runs.length,\n runs: limited.map((r) => ({\n id: r.id,\n status: r.status,\n duration: r.duration,\n startedAt: r.startedAt,\n completedAt: r.completedAt,\n error: r.error ? String(r.error).slice(0, 200) : undefined,\n triggerType: r.triggerType,\n })),\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to list flow runs: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// Export all run tools\n// =====================================\n\nexport const runTools: ChatToolDefinition[] = [\n getFlowRunTool,\n getNodeExecutionResultsTool,\n listFlowRunsTool,\n];\n"],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
const runTools = [
|
|
3
|
+
{
|
|
4
|
+
id: "get_flow_run",
|
|
5
|
+
name: "Get Flow Run",
|
|
6
|
+
description: "Get the details of a specific flow run by its ID. Returns status, duration, inputs, outputs, and error information. Use this after run_flow to inspect results, or to investigate a past run.",
|
|
7
|
+
parameters: z.object({ flowRunId: z.string().describe("The flow run ID to inspect") }),
|
|
8
|
+
async execute(params, ctx) {
|
|
9
|
+
const { flowRunId } = params;
|
|
10
|
+
const invect = ctx.invect;
|
|
11
|
+
try {
|
|
12
|
+
const run = await invect.getFlowRunById(flowRunId);
|
|
13
|
+
if (!run) return {
|
|
14
|
+
success: false,
|
|
15
|
+
error: `Flow run "${flowRunId}" not found`
|
|
16
|
+
};
|
|
17
|
+
return {
|
|
18
|
+
success: true,
|
|
19
|
+
data: {
|
|
20
|
+
id: run.id,
|
|
21
|
+
flowId: run.flowId,
|
|
22
|
+
status: run.status,
|
|
23
|
+
flowVersion: run.flowVersion,
|
|
24
|
+
duration: run.duration,
|
|
25
|
+
inputs: run.inputs,
|
|
26
|
+
outputs: run.outputs,
|
|
27
|
+
error: run.error,
|
|
28
|
+
startedAt: run.startedAt,
|
|
29
|
+
completedAt: run.completedAt,
|
|
30
|
+
triggerType: run.triggerType
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
} catch (error) {
|
|
34
|
+
return {
|
|
35
|
+
success: false,
|
|
36
|
+
error: `Failed to get flow run: ${error.message}`
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: "get_node_execution_results",
|
|
43
|
+
name: "Get Node Execution Results",
|
|
44
|
+
description: "Get the execution trace for every node in a flow run. Shows per-node status, inputs, outputs, duration, and errors. Essential for debugging — tells you exactly which node failed and why.",
|
|
45
|
+
parameters: z.object({ flowRunId: z.string().describe("The flow run ID to get node executions for") }),
|
|
46
|
+
async execute(params, ctx) {
|
|
47
|
+
const { flowRunId } = params;
|
|
48
|
+
const invect = ctx.invect;
|
|
49
|
+
try {
|
|
50
|
+
const traces = (await invect.getNodeExecutionsByRunId(flowRunId)).map((ex) => ({
|
|
51
|
+
nodeId: ex.nodeId,
|
|
52
|
+
nodeType: ex.nodeType,
|
|
53
|
+
status: ex.status,
|
|
54
|
+
duration: ex.duration,
|
|
55
|
+
error: ex.error,
|
|
56
|
+
output: ex.outputs ? JSON.stringify(ex.outputs).length > 2e3 ? JSON.stringify(ex.outputs).slice(0, 2e3) + "…(truncated)" : ex.outputs : void 0,
|
|
57
|
+
input: ex.inputs ? JSON.stringify(ex.inputs).length > 1e3 ? JSON.stringify(ex.inputs).slice(0, 1e3) + "…(truncated)" : ex.inputs : void 0
|
|
58
|
+
}));
|
|
59
|
+
const failedNodes = traces.filter((t) => t.status === "FAILED" || t.error);
|
|
60
|
+
return {
|
|
61
|
+
success: true,
|
|
62
|
+
data: {
|
|
63
|
+
totalNodes: traces.length,
|
|
64
|
+
failedCount: failedNodes.length,
|
|
65
|
+
traces,
|
|
66
|
+
...failedNodes.length > 0 && { failureSummary: failedNodes.map((n) => `${n.nodeId} (${n.nodeType}): ${n.error}`) }
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
} catch (error) {
|
|
70
|
+
return {
|
|
71
|
+
success: false,
|
|
72
|
+
error: `Failed to get node executions: ${error.message}`
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: "list_flow_runs",
|
|
79
|
+
name: "List Flow Runs",
|
|
80
|
+
description: "List recent flow runs for the currently open flow. Shows run status, duration, and when each ran. Use this to answer questions like \"has this flow been working?\" or \"show recent runs\".",
|
|
81
|
+
parameters: z.object({ limit: z.number().optional().default(10).describe("Max runs to return (default 10)") }),
|
|
82
|
+
async execute(params, ctx) {
|
|
83
|
+
const { limit } = params;
|
|
84
|
+
const invect = ctx.invect;
|
|
85
|
+
const flowId = ctx.chatContext.flowId;
|
|
86
|
+
if (!flowId) return {
|
|
87
|
+
success: false,
|
|
88
|
+
error: "No flow is currently open"
|
|
89
|
+
};
|
|
90
|
+
try {
|
|
91
|
+
const runs = (await invect.listFlowRunsByFlowId(flowId)).data;
|
|
92
|
+
const limited = runs.slice(0, limit ?? 10);
|
|
93
|
+
return {
|
|
94
|
+
success: true,
|
|
95
|
+
data: {
|
|
96
|
+
total: runs.length,
|
|
97
|
+
runs: limited.map((r) => ({
|
|
98
|
+
id: r.id,
|
|
99
|
+
status: r.status,
|
|
100
|
+
duration: r.duration,
|
|
101
|
+
startedAt: r.startedAt,
|
|
102
|
+
completedAt: r.completedAt,
|
|
103
|
+
error: r.error ? String(r.error).slice(0, 200) : void 0,
|
|
104
|
+
triggerType: r.triggerType
|
|
105
|
+
}))
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
} catch (error) {
|
|
109
|
+
return {
|
|
110
|
+
success: false,
|
|
111
|
+
error: `Failed to list flow runs: ${error.message}`
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
];
|
|
117
|
+
//#endregion
|
|
118
|
+
export { runTools };
|
|
119
|
+
|
|
120
|
+
//# sourceMappingURL=run-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-tools.js","names":[],"sources":["../../../../src/services/chat/tools/run-tools.ts"],"sourcesContent":["/**\n * Chat Tools — Run & Debug\n *\n * Tools for inspecting flow runs, node executions, and testing nodes.\n * These are essential for the assistant to reason about \"why did this fail?\"\n */\n\nimport { z } from 'zod/v4';\nimport type { ChatToolDefinition, ChatToolContext, ChatToolResult } from '../chat-types';\nimport type { Invect } from 'src/invect-core';\n\n// =====================================\n// get_flow_run\n// =====================================\n\nexport const getFlowRunTool: ChatToolDefinition = {\n id: 'get_flow_run',\n name: 'Get Flow Run',\n description:\n 'Get the details of a specific flow run by its ID. ' +\n 'Returns status, duration, inputs, outputs, and error information. ' +\n 'Use this after run_flow to inspect results, or to investigate a past run.',\n parameters: z.object({\n flowRunId: z.string().describe('The flow run ID to inspect'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { flowRunId } = params as { flowRunId: string };\n const invect = ctx.invect as Invect;\n\n try {\n const run = await invect.getFlowRunById(flowRunId);\n if (!run) {\n return { success: false, error: `Flow run \"${flowRunId}\" not found` };\n }\n\n return {\n success: true,\n data: {\n id: run.id,\n flowId: run.flowId,\n status: run.status,\n flowVersion: run.flowVersion,\n duration: run.duration,\n inputs: run.inputs,\n outputs: run.outputs,\n error: run.error,\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n triggerType: run.triggerType,\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to get flow run: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// get_node_execution_results\n// =====================================\n\nexport const getNodeExecutionResultsTool: ChatToolDefinition = {\n id: 'get_node_execution_results',\n name: 'Get Node Execution Results',\n description:\n 'Get the execution trace for every node in a flow run. ' +\n 'Shows per-node status, inputs, outputs, duration, and errors. ' +\n 'Essential for debugging — tells you exactly which node failed and why.',\n parameters: z.object({\n flowRunId: z.string().describe('The flow run ID to get node executions for'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { flowRunId } = params as { flowRunId: string };\n const invect = ctx.invect as Invect;\n\n try {\n const executions = await invect.getNodeExecutionsByRunId(flowRunId);\n\n // Return a compact view — full outputs can be huge\n const traces = executions.map((ex) => ({\n nodeId: ex.nodeId,\n nodeType: ex.nodeType,\n status: ex.status,\n duration: ex.duration,\n error: ex.error,\n // Truncate large outputs to keep context manageable\n output: ex.outputs\n ? JSON.stringify(ex.outputs).length > 2000\n ? JSON.stringify(ex.outputs).slice(0, 2000) + '…(truncated)'\n : ex.outputs\n : undefined,\n input: ex.inputs\n ? JSON.stringify(ex.inputs).length > 1000\n ? JSON.stringify(ex.inputs).slice(0, 1000) + '…(truncated)'\n : ex.inputs\n : undefined,\n }));\n\n const failedNodes = traces.filter((t) => t.status === 'FAILED' || t.error);\n\n return {\n success: true,\n data: {\n totalNodes: traces.length,\n failedCount: failedNodes.length,\n traces,\n ...(failedNodes.length > 0 && {\n failureSummary: failedNodes.map((n) => `${n.nodeId} (${n.nodeType}): ${n.error}`),\n }),\n },\n };\n } catch (error: unknown) {\n return {\n success: false,\n error: `Failed to get node executions: ${(error as Error).message}`,\n };\n }\n },\n};\n\n// =====================================\n// list_flow_runs\n// =====================================\n\nexport const listFlowRunsTool: ChatToolDefinition = {\n id: 'list_flow_runs',\n name: 'List Flow Runs',\n description:\n 'List recent flow runs for the currently open flow. ' +\n 'Shows run status, duration, and when each ran. ' +\n 'Use this to answer questions like \"has this flow been working?\" or \"show recent runs\".',\n parameters: z.object({\n limit: z.number().optional().default(10).describe('Max runs to return (default 10)'),\n }),\n async execute(params: unknown, ctx: ChatToolContext): Promise<ChatToolResult> {\n const { limit } = params as { limit?: number };\n const invect = ctx.invect as Invect;\n const flowId = ctx.chatContext.flowId;\n\n if (!flowId) {\n return { success: false, error: 'No flow is currently open' };\n }\n\n try {\n const result = await invect.listFlowRunsByFlowId(flowId);\n const runs = result.data;\n const limited = runs.slice(0, limit ?? 10);\n\n return {\n success: true,\n data: {\n total: runs.length,\n runs: limited.map((r) => ({\n id: r.id,\n status: r.status,\n duration: r.duration,\n startedAt: r.startedAt,\n completedAt: r.completedAt,\n error: r.error ? String(r.error).slice(0, 200) : undefined,\n triggerType: r.triggerType,\n })),\n },\n };\n } catch (error: unknown) {\n return { success: false, error: `Failed to list flow runs: ${(error as Error).message}` };\n }\n },\n};\n\n// =====================================\n// Export all run tools\n// =====================================\n\nexport const runTools: ChatToolDefinition[] = [\n getFlowRunTool,\n getNodeExecutionResultsTool,\n listFlowRunsTool,\n];\n"],"mappings":"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"}
|