@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,10 @@
|
|
|
1
|
+
import { BatchJob, ChatMessageRecord, Flow, FlowRun, FlowTrigger, FlowVersion, NewBatchJob, NewChatMessageRecord, NewFlow, NewFlowRun, NewFlowTrigger, NewFlowVersion, NewNodeExecution, NodeExecution, TriggerType, schema_sqlite_d_exports } from "./schema-sqlite.cjs";
|
|
2
|
+
import { schema_postgres_d_exports } from "./schema-postgres.cjs";
|
|
3
|
+
import { DatabaseConnection, DatabaseConnectionFactory, QueryDatabaseConnection } from "./connection.cjs";
|
|
4
|
+
import { schema_mysql_d_exports } from "./schema-mysql.cjs";
|
|
5
|
+
|
|
6
|
+
//#region src/database/index.d.ts
|
|
7
|
+
type JSONValue = Record<string, unknown>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { JSONValue };
|
|
10
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/database/index.ts"],"mappings":";;;;;;KAsBY,SAAA,GAAY,MAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BatchJob, ChatMessageRecord, Flow, FlowRun, FlowTrigger, FlowVersion, NewBatchJob, NewChatMessageRecord, NewFlow, NewFlowRun, NewFlowTrigger, NewFlowVersion, NewNodeExecution, NodeExecution, TriggerType, schema_sqlite_d_exports } from "./schema-sqlite.js";
|
|
2
|
+
import { schema_postgres_d_exports } from "./schema-postgres.js";
|
|
3
|
+
import { DatabaseConnection, DatabaseConnectionFactory, QueryDatabaseConnection } from "./connection.js";
|
|
4
|
+
import { schema_mysql_d_exports } from "./schema-mysql.js";
|
|
5
|
+
|
|
6
|
+
//#region src/database/index.d.ts
|
|
7
|
+
type JSONValue = Record<string, unknown>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { JSONValue };
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/database/index.ts"],"mappings":";;;;;;KAsBY,SAAA,GAAY,MAAA"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
//#region src/database/prisma-schema-generator.ts
|
|
2
|
+
/**
|
|
3
|
+
* Generate a complete Prisma schema file from the merged abstract schema.
|
|
4
|
+
*
|
|
5
|
+
* Includes generator, datasource, enums, and all models.
|
|
6
|
+
*/
|
|
7
|
+
function generateFullPrismaSchema(schema, provider) {
|
|
8
|
+
const lines = [];
|
|
9
|
+
lines.push(`// Prisma schema for Invect — AUTO-GENERATED by @invect/cli`);
|
|
10
|
+
lines.push(`// Do not edit the Invect models manually. Run \`npx invect generate\` to regenerate.`);
|
|
11
|
+
lines.push(``);
|
|
12
|
+
lines.push(`generator client {`);
|
|
13
|
+
lines.push(` provider = "prisma-client-js"`);
|
|
14
|
+
lines.push(`}`);
|
|
15
|
+
lines.push(``);
|
|
16
|
+
lines.push(`datasource db {`);
|
|
17
|
+
lines.push(` provider = "${provider}"`);
|
|
18
|
+
if (provider === "sqlite") lines.push(` url = "file:./dev.db"`);
|
|
19
|
+
else lines.push(` url = env("DATABASE_URL")`);
|
|
20
|
+
lines.push(`}`);
|
|
21
|
+
lines.push(``);
|
|
22
|
+
if (provider !== "sqlite") {
|
|
23
|
+
const enums = collectPrismaEnums(schema);
|
|
24
|
+
if (enums.length > 0) {
|
|
25
|
+
lines.push(`// =============================================================================`);
|
|
26
|
+
lines.push(`// Enums`);
|
|
27
|
+
lines.push(`// =============================================================================`);
|
|
28
|
+
lines.push(``);
|
|
29
|
+
for (const e of enums) {
|
|
30
|
+
lines.push(`enum ${e.name} {`);
|
|
31
|
+
for (const v of e.values) lines.push(` ${v}`);
|
|
32
|
+
lines.push(`}`);
|
|
33
|
+
lines.push(``);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
lines.push(`// =============================================================================`);
|
|
38
|
+
lines.push(`// Models`);
|
|
39
|
+
lines.push(`// =============================================================================`);
|
|
40
|
+
lines.push(``);
|
|
41
|
+
for (const table of schema.tables) {
|
|
42
|
+
lines.push(generatePrismaModel(table, schema, provider));
|
|
43
|
+
lines.push(``);
|
|
44
|
+
}
|
|
45
|
+
return lines.join("\n");
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generate only the Prisma model blocks (no generator/datasource).
|
|
49
|
+
*
|
|
50
|
+
* Useful when adding Invect models to an existing Prisma schema.
|
|
51
|
+
*/
|
|
52
|
+
function generatePrismaModels(schema, provider) {
|
|
53
|
+
const lines = [];
|
|
54
|
+
lines.push(``);
|
|
55
|
+
lines.push(`// =============================================================================`);
|
|
56
|
+
lines.push(`// Invect Models — AUTO-GENERATED by @invect/cli`);
|
|
57
|
+
lines.push(`// Do not edit these models manually. Run \`npx invect generate\` to regenerate.`);
|
|
58
|
+
lines.push(`// =============================================================================`);
|
|
59
|
+
lines.push(``);
|
|
60
|
+
if (provider !== "sqlite") {
|
|
61
|
+
const enums = collectPrismaEnums(schema);
|
|
62
|
+
for (const e of enums) {
|
|
63
|
+
lines.push(`enum ${e.name} {`);
|
|
64
|
+
for (const v of e.values) lines.push(` ${v}`);
|
|
65
|
+
lines.push(`}`);
|
|
66
|
+
lines.push(``);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
for (const table of schema.tables) {
|
|
70
|
+
lines.push(generatePrismaModel(table, schema, provider));
|
|
71
|
+
lines.push(``);
|
|
72
|
+
}
|
|
73
|
+
return lines.join("\n");
|
|
74
|
+
}
|
|
75
|
+
function generatePrismaModel(table, schema, provider) {
|
|
76
|
+
const lines = [];
|
|
77
|
+
const { name, definition } = table;
|
|
78
|
+
const dbTableName = definition.tableName || toSnakeCase(name);
|
|
79
|
+
const modelName = capitalize(name);
|
|
80
|
+
lines.push(`model ${modelName} {`);
|
|
81
|
+
for (const [fieldName, field] of Object.entries(definition.fields)) {
|
|
82
|
+
const dbColName = toSnakeCase(fieldName);
|
|
83
|
+
const prismaType = getPrismaType(field, provider, name, fieldName);
|
|
84
|
+
const attrs = getPrismaAttributes(fieldName, dbColName, field, provider);
|
|
85
|
+
lines.push(` ${fieldName} ${prismaType}${attrs}`);
|
|
86
|
+
}
|
|
87
|
+
const relationLines = generateRelationFields(table, schema, provider);
|
|
88
|
+
for (const line of relationLines) lines.push(` ${line}`);
|
|
89
|
+
if (definition.compositePrimaryKey?.length) {
|
|
90
|
+
lines.push(``);
|
|
91
|
+
lines.push(` @@id([${definition.compositePrimaryKey.join(", ")}])`);
|
|
92
|
+
}
|
|
93
|
+
for (const [fieldName, field] of Object.entries(definition.fields)) if (field.index && !field.unique && !field.primaryKey) lines.push(` @@index([${fieldName}])`);
|
|
94
|
+
if (dbTableName !== name) lines.push(` @@map("${dbTableName}")`);
|
|
95
|
+
lines.push(`}`);
|
|
96
|
+
return lines.join("\n");
|
|
97
|
+
}
|
|
98
|
+
function getPrismaType(field, provider, tableName, fieldName) {
|
|
99
|
+
const optional = field.required === false ? "?" : "";
|
|
100
|
+
if (isEnumType(field.type)) {
|
|
101
|
+
if (provider === "sqlite") return `String${optional}`;
|
|
102
|
+
return `${prismaEnumName(tableName, fieldName)}${optional}`;
|
|
103
|
+
}
|
|
104
|
+
switch (field.type) {
|
|
105
|
+
case "string":
|
|
106
|
+
case "text":
|
|
107
|
+
case "uuid": return `String${optional}`;
|
|
108
|
+
case "number": return `Int${optional}`;
|
|
109
|
+
case "bigint": return `BigInt${optional}`;
|
|
110
|
+
case "boolean": return `Boolean${optional}`;
|
|
111
|
+
case "date": return `DateTime${optional}`;
|
|
112
|
+
case "json":
|
|
113
|
+
if (provider === "sqlite") return `String${optional}`;
|
|
114
|
+
return `Json${optional}`;
|
|
115
|
+
default: return `String${optional}`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function getPrismaAttributes(fieldName, dbColName, field, provider) {
|
|
119
|
+
const attrs = [];
|
|
120
|
+
if (field.primaryKey) attrs.push("@id");
|
|
121
|
+
if (field.unique) attrs.push("@unique");
|
|
122
|
+
if (field.defaultValue !== void 0) {
|
|
123
|
+
const defaultAttr = getPrismaDefault(field.defaultValue, field.type, provider);
|
|
124
|
+
if (defaultAttr) attrs.push(defaultAttr);
|
|
125
|
+
}
|
|
126
|
+
if (fieldName === "updatedAt" && field.type === "date") attrs.push("@updatedAt");
|
|
127
|
+
if (dbColName !== fieldName) attrs.push(`@map("${dbColName}")`);
|
|
128
|
+
if (provider === "mysql" && field.type === "text") attrs.push("@db.Text");
|
|
129
|
+
if (provider === "postgresql" && field.type === "date") attrs.push("@db.Timestamptz(3)");
|
|
130
|
+
if (attrs.length === 0) return "";
|
|
131
|
+
return " " + attrs.join(" ");
|
|
132
|
+
}
|
|
133
|
+
function getPrismaDefault(value, _type, _provider) {
|
|
134
|
+
if (value === "uuid()") return "@default(uuid())";
|
|
135
|
+
if (value === "now()") return "@default(now())";
|
|
136
|
+
if (typeof value === "boolean") return `@default(${value})`;
|
|
137
|
+
if (typeof value === "number") return `@default(${value})`;
|
|
138
|
+
if (typeof value === "string") return `@default("${value}")`;
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Generate Prisma relation fields for a model.
|
|
143
|
+
*
|
|
144
|
+
* In Prisma, if model A has a FK `bId → B.id`, we need:
|
|
145
|
+
* - On A: `b B @relation(fields: [bId], references: [id])`
|
|
146
|
+
* - On B: `as A[]` (reverse side)
|
|
147
|
+
*
|
|
148
|
+
* We generate the "one" side (FK holder) here; the "many" side
|
|
149
|
+
* (reverse) is added to the referenced model.
|
|
150
|
+
*/
|
|
151
|
+
function generateRelationFields(table, schema, _provider) {
|
|
152
|
+
const lines = [];
|
|
153
|
+
const { definition } = table;
|
|
154
|
+
for (const [fieldName, field] of Object.entries(definition.fields)) {
|
|
155
|
+
if (!field.references) continue;
|
|
156
|
+
const refModelName = capitalize(findLogicalName(schema, field.references.table));
|
|
157
|
+
const relName = fieldName.replace(/Id$/, "").replace(/_id$/, "");
|
|
158
|
+
const onDelete = mapOnDelete(field.references.onDelete);
|
|
159
|
+
lines.push(`${relName} ${refModelName} @relation(fields: [${fieldName}], references: [${field.references.field}], onDelete: ${onDelete})`);
|
|
160
|
+
}
|
|
161
|
+
for (const otherTable of schema.tables) {
|
|
162
|
+
if (otherTable.name === table.name) continue;
|
|
163
|
+
for (const [_fieldName, field] of Object.entries(otherTable.definition.fields)) {
|
|
164
|
+
if (!field.references) continue;
|
|
165
|
+
if (field.references.table === table.name || field.references.table === (table.definition.tableName || toSnakeCase(table.name))) {
|
|
166
|
+
const otherModelName = capitalize(otherTable.name);
|
|
167
|
+
const isUnique = field.unique === true;
|
|
168
|
+
const relName = otherTable.name;
|
|
169
|
+
lines.push(`${relName} ${otherModelName}${isUnique ? "?" : "[]"}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return lines;
|
|
174
|
+
}
|
|
175
|
+
function mapOnDelete(onDelete) {
|
|
176
|
+
switch (onDelete) {
|
|
177
|
+
case "cascade": return "Cascade";
|
|
178
|
+
case "set null": return "SetNull";
|
|
179
|
+
case "restrict": return "Restrict";
|
|
180
|
+
case "no action": return "NoAction";
|
|
181
|
+
default: return "NoAction";
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
function collectPrismaEnums(schema) {
|
|
185
|
+
const enums = [];
|
|
186
|
+
for (const table of schema.tables) for (const [fieldName, field] of Object.entries(table.definition.fields)) if (isEnumType(field.type)) enums.push({
|
|
187
|
+
name: prismaEnumName(table.name, fieldName),
|
|
188
|
+
values: field.type
|
|
189
|
+
});
|
|
190
|
+
return enums;
|
|
191
|
+
}
|
|
192
|
+
function prismaEnumName(tableName, fieldName) {
|
|
193
|
+
return `${capitalize(tableName)}${capitalize(fieldName)}`;
|
|
194
|
+
}
|
|
195
|
+
function isEnumType(type) {
|
|
196
|
+
return Array.isArray(type);
|
|
197
|
+
}
|
|
198
|
+
function toSnakeCase(str) {
|
|
199
|
+
return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
200
|
+
}
|
|
201
|
+
function capitalize(str) {
|
|
202
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Find the logical (camelCase) table name from a DB table name.
|
|
206
|
+
*/
|
|
207
|
+
function findLogicalName(schema, tableRef) {
|
|
208
|
+
const exact = schema.tables.find((t) => t.name === tableRef);
|
|
209
|
+
if (exact) return exact.name;
|
|
210
|
+
const byDbName = schema.tables.find((t) => t.definition.tableName === tableRef || toSnakeCase(t.name) === tableRef);
|
|
211
|
+
if (byDbName) return byDbName.name;
|
|
212
|
+
if (tableRef.includes("_")) return tableRef.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
|
|
213
|
+
return tableRef;
|
|
214
|
+
}
|
|
215
|
+
//#endregion
|
|
216
|
+
exports.generateFullPrismaSchema = generateFullPrismaSchema;
|
|
217
|
+
exports.generatePrismaModels = generatePrismaModels;
|
|
218
|
+
|
|
219
|
+
//# sourceMappingURL=prisma-schema-generator.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-schema-generator.cjs","names":[],"sources":["../../src/database/prisma-schema-generator.ts"],"sourcesContent":["/**\n * Prisma Schema Generator\n *\n * Converts the merged abstract schema (core + plugins) into Prisma schema\n * model blocks. Unlike the Drizzle generators which produce complete\n * TypeScript files, this generates Prisma DSL.\n *\n * Two modes:\n * 1. `generatePrismaModels(schema, provider)` — returns only the model blocks\n * (for appending to an existing schema.prisma)\n * 2. `generateFullPrismaSchema(schema, provider)` — returns a complete\n * schema.prisma including generator + datasource blocks\n *\n * Uses the abstract schema types directly, converting to Prisma's type system:\n *\n * | Abstract | Prisma (PG/MySQL) | Prisma (SQLite) |\n * |-------------|-------------------|------------------|\n * | \"string\" | String | String |\n * | \"text\" | String | String |\n * | \"number\" | Int | Int |\n * | \"boolean\" | Boolean | Boolean |\n * | \"date\" | DateTime | DateTime |\n * | \"json\" | Json | String |\n * | \"uuid\" | String | String |\n * | \"bigint\" | BigInt | BigInt |\n * | string[] | enum | String (fallback)|\n */\n\nimport type { PluginFieldAttribute, PluginFieldType } from 'src/types/plugin.types';\nimport type { MergedSchema, MergedTable } from './schema-merger';\n\nexport type PrismaProvider = 'postgresql' | 'mysql' | 'sqlite';\n\n// =============================================================================\n// Full Schema Generator\n// =============================================================================\n\n/**\n * Generate a complete Prisma schema file from the merged abstract schema.\n *\n * Includes generator, datasource, enums, and all models.\n */\nexport function generateFullPrismaSchema(schema: MergedSchema, provider: PrismaProvider): string {\n const lines: string[] = [];\n\n // Header\n lines.push(`// Prisma schema for Invect — AUTO-GENERATED by @invect/cli`);\n lines.push(\n `// Do not edit the Invect models manually. Run \\`npx invect generate\\` to regenerate.`,\n );\n lines.push(``);\n\n // Generator block\n lines.push(`generator client {`);\n lines.push(` provider = \"prisma-client-js\"`);\n lines.push(`}`);\n lines.push(``);\n\n // Datasource block\n lines.push(`datasource db {`);\n lines.push(` provider = \"${provider}\"`);\n if (provider === 'sqlite') {\n lines.push(` url = \"file:./dev.db\"`);\n } else {\n lines.push(` url = env(\"DATABASE_URL\")`);\n }\n lines.push(`}`);\n lines.push(``);\n\n // Enums (PostgreSQL and MySQL support enums; SQLite doesn't)\n if (provider !== 'sqlite') {\n const enums = collectPrismaEnums(schema);\n if (enums.length > 0) {\n lines.push(\n `// =============================================================================`,\n );\n lines.push(`// Enums`);\n lines.push(\n `// =============================================================================`,\n );\n lines.push(``);\n for (const e of enums) {\n lines.push(`enum ${e.name} {`);\n for (const v of e.values) {\n lines.push(` ${v}`);\n }\n lines.push(`}`);\n lines.push(``);\n }\n }\n }\n\n // Models\n lines.push(`// =============================================================================`);\n lines.push(`// Models`);\n lines.push(`// =============================================================================`);\n lines.push(``);\n\n for (const table of schema.tables) {\n lines.push(generatePrismaModel(table, schema, provider));\n lines.push(``);\n }\n\n return lines.join('\\n');\n}\n\n// =============================================================================\n// Model-Only Generator (for appending to existing schemas)\n// =============================================================================\n\n/**\n * Generate only the Prisma model blocks (no generator/datasource).\n *\n * Useful when adding Invect models to an existing Prisma schema.\n */\nexport function generatePrismaModels(schema: MergedSchema, provider: PrismaProvider): string {\n const lines: string[] = [];\n\n lines.push(``);\n lines.push(`// =============================================================================`);\n lines.push(`// Invect Models — AUTO-GENERATED by @invect/cli`);\n lines.push(`// Do not edit these models manually. Run \\`npx invect generate\\` to regenerate.`);\n lines.push(`// =============================================================================`);\n lines.push(``);\n\n // Enums\n if (provider !== 'sqlite') {\n const enums = collectPrismaEnums(schema);\n for (const e of enums) {\n lines.push(`enum ${e.name} {`);\n for (const v of e.values) {\n lines.push(` ${v}`);\n }\n lines.push(`}`);\n lines.push(``);\n }\n }\n\n // Models\n for (const table of schema.tables) {\n lines.push(generatePrismaModel(table, schema, provider));\n lines.push(``);\n }\n\n return lines.join('\\n');\n}\n\n// =============================================================================\n// Single Model Generator\n// =============================================================================\n\nfunction generatePrismaModel(\n table: MergedTable,\n schema: MergedSchema,\n provider: PrismaProvider,\n): string {\n const lines: string[] = [];\n const { name, definition } = table;\n const dbTableName = definition.tableName || toSnakeCase(name);\n const modelName = capitalize(name);\n\n lines.push(`model ${modelName} {`);\n\n // Fields\n for (const [fieldName, field] of Object.entries(definition.fields)) {\n const dbColName = toSnakeCase(fieldName);\n const prismaType = getPrismaType(field, provider, name, fieldName);\n const attrs = getPrismaAttributes(fieldName, dbColName, field, provider);\n\n lines.push(` ${fieldName} ${prismaType}${attrs}`);\n }\n\n // Relation fields (Prisma requires explicit relation fields)\n const relationLines = generateRelationFields(table, schema, provider);\n for (const line of relationLines) {\n lines.push(` ${line}`);\n }\n\n // Composite primary key\n if (definition.compositePrimaryKey?.length) {\n lines.push(``);\n lines.push(` @@id([${definition.compositePrimaryKey.join(', ')}])`);\n }\n\n // @@index for indexed fields\n for (const [fieldName, field] of Object.entries(definition.fields)) {\n if (field.index && !field.unique && !field.primaryKey) {\n lines.push(` @@index([${fieldName}])`);\n }\n }\n\n // @@map for table name mapping\n if (dbTableName !== name) {\n lines.push(` @@map(\"${dbTableName}\")`);\n }\n\n lines.push(`}`);\n\n return lines.join('\\n');\n}\n\n// =============================================================================\n// Type Mapping\n// =============================================================================\n\nfunction getPrismaType(\n field: PluginFieldAttribute,\n provider: PrismaProvider,\n tableName: string,\n fieldName: string,\n): string {\n const optional = field.required === false ? '?' : '';\n\n if (isEnumType(field.type)) {\n if (provider === 'sqlite') {\n // SQLite doesn't support enums in Prisma, use String\n return `String${optional}`;\n }\n const enumName = prismaEnumName(tableName, fieldName);\n return `${enumName}${optional}`;\n }\n\n switch (field.type) {\n case 'string':\n case 'text':\n case 'uuid':\n return `String${optional}`;\n case 'number':\n return `Int${optional}`;\n case 'bigint':\n return `BigInt${optional}`;\n case 'boolean':\n return `Boolean${optional}`;\n case 'date':\n return `DateTime${optional}`;\n case 'json':\n // SQLite doesn't have native JSON in Prisma — use String\n if (provider === 'sqlite') {\n return `String${optional}`;\n }\n return `Json${optional}`;\n default:\n return `String${optional}`;\n }\n}\n\n// =============================================================================\n// Attribute Generation\n// =============================================================================\n\nfunction getPrismaAttributes(\n fieldName: string,\n dbColName: string,\n field: PluginFieldAttribute,\n provider: PrismaProvider,\n): string {\n const attrs: string[] = [];\n\n // @id (single-column PK)\n if (field.primaryKey) {\n attrs.push('@id');\n }\n\n // @unique\n if (field.unique) {\n attrs.push('@unique');\n }\n\n // @default\n if (field.defaultValue !== undefined) {\n const defaultAttr = getPrismaDefault(field.defaultValue, field.type, provider);\n if (defaultAttr) {\n attrs.push(defaultAttr);\n }\n }\n\n // @updatedAt (for date fields with \"now()\" default and name \"updatedAt\")\n // In Prisma, @updatedAt automatically updates the timestamp\n // We only add it if the field is named updatedAt\n if (fieldName === 'updatedAt' && field.type === 'date') {\n attrs.push('@updatedAt');\n }\n\n // @map (column name differs from field name)\n if (dbColName !== fieldName) {\n attrs.push(`@map(\"${dbColName}\")`);\n }\n\n // @db.Text for MySQL long strings\n if (provider === 'mysql' && field.type === 'text') {\n attrs.push('@db.Text');\n }\n\n // @db.Timestamptz for PostgreSQL dates\n if (provider === 'postgresql' && field.type === 'date') {\n attrs.push('@db.Timestamptz(3)');\n }\n\n if (attrs.length === 0) {\n return '';\n }\n return ' ' + attrs.join(' ');\n}\n\nfunction getPrismaDefault(\n value: string | number | boolean | 'uuid()' | 'now()',\n _type: PluginFieldType,\n _provider: PrismaProvider,\n): string | null {\n if (value === 'uuid()') {\n return '@default(uuid())';\n }\n if (value === 'now()') {\n return '@default(now())';\n }\n if (typeof value === 'boolean') {\n return `@default(${value})`;\n }\n if (typeof value === 'number') {\n return `@default(${value})`;\n }\n if (typeof value === 'string') {\n return `@default(\"${value}\")`;\n }\n return null;\n}\n\n// =============================================================================\n// Relation Fields\n// =============================================================================\n\n/**\n * Generate Prisma relation fields for a model.\n *\n * In Prisma, if model A has a FK `bId → B.id`, we need:\n * - On A: `b B @relation(fields: [bId], references: [id])`\n * - On B: `as A[]` (reverse side)\n *\n * We generate the \"one\" side (FK holder) here; the \"many\" side\n * (reverse) is added to the referenced model.\n */\nfunction generateRelationFields(\n table: MergedTable,\n schema: MergedSchema,\n _provider: PrismaProvider,\n): string[] {\n const lines: string[] = [];\n const { definition } = table;\n\n // One-side: this table has FKs\n for (const [fieldName, field] of Object.entries(definition.fields)) {\n if (!field.references) {\n continue;\n }\n\n const refTableLogical = findLogicalName(schema, field.references.table);\n const refModelName = capitalize(refTableLogical);\n const relName = fieldName.replace(/Id$/, '').replace(/_id$/, '');\n const onDelete = mapOnDelete(field.references.onDelete);\n\n lines.push(\n `${relName} ${refModelName} @relation(fields: [${fieldName}], references: [${field.references.field}], onDelete: ${onDelete})`,\n );\n }\n\n // Many-side: other tables have FKs pointing to this table\n for (const otherTable of schema.tables) {\n if (otherTable.name === table.name) {\n continue;\n }\n\n for (const [_fieldName, field] of Object.entries(otherTable.definition.fields)) {\n if (!field.references) {\n continue;\n }\n\n // Check if this FK references our table\n const refsOurTable =\n field.references.table === table.name ||\n field.references.table === (table.definition.tableName || toSnakeCase(table.name));\n\n if (refsOurTable) {\n const otherModelName = capitalize(otherTable.name);\n // If the FK is unique, this is a one-to-one relation (singular, optional)\n // Otherwise it's one-to-many (array)\n const isUnique = field.unique === true;\n const relName = otherTable.name;\n lines.push(`${relName} ${otherModelName}${isUnique ? '?' : '[]'}`);\n }\n }\n }\n\n return lines;\n}\n\nfunction mapOnDelete(onDelete?: string): string {\n switch (onDelete) {\n case 'cascade':\n return 'Cascade';\n case 'set null':\n return 'SetNull';\n case 'restrict':\n return 'Restrict';\n case 'no action':\n return 'NoAction';\n default:\n return 'NoAction';\n }\n}\n\n// =============================================================================\n// Enum Helpers\n// =============================================================================\n\ninterface PrismaEnumDef {\n name: string;\n values: string[];\n}\n\nfunction collectPrismaEnums(schema: MergedSchema): PrismaEnumDef[] {\n const enums: PrismaEnumDef[] = [];\n\n for (const table of schema.tables) {\n for (const [fieldName, field] of Object.entries(table.definition.fields)) {\n if (isEnumType(field.type)) {\n enums.push({\n name: prismaEnumName(table.name, fieldName),\n values: field.type,\n });\n }\n }\n }\n\n return enums;\n}\n\nfunction prismaEnumName(tableName: string, fieldName: string): string {\n return `${capitalize(tableName)}${capitalize(fieldName)}`;\n}\n\n// =============================================================================\n// Shared Utilities\n// =============================================================================\n\nfunction isEnumType(type: PluginFieldType): type is string[] {\n return Array.isArray(type);\n}\n\nfunction toSnakeCase(str: string): string {\n return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);\n}\n\nfunction capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n/**\n * Find the logical (camelCase) table name from a DB table name.\n */\nfunction findLogicalName(schema: MergedSchema, tableRef: string): string {\n // First try exact match on logical name\n const exact = schema.tables.find((t) => t.name === tableRef);\n if (exact) {\n return exact.name;\n }\n\n // Try by tableName property\n const byDbName = schema.tables.find(\n (t) => t.definition.tableName === tableRef || toSnakeCase(t.name) === tableRef,\n );\n if (byDbName) {\n return byDbName.name;\n }\n\n // Fallback: convert to camelCase\n if (tableRef.includes('_')) {\n return tableRef.replace(/_([a-z])/g, (_, c) => c.toUpperCase());\n }\n return tableRef;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MergedSchema } from "./schema-merger.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/database/prisma-schema-generator.d.ts
|
|
4
|
+
type PrismaProvider = 'postgresql' | 'mysql' | 'sqlite';
|
|
5
|
+
/**
|
|
6
|
+
* Generate a complete Prisma schema file from the merged abstract schema.
|
|
7
|
+
*
|
|
8
|
+
* Includes generator, datasource, enums, and all models.
|
|
9
|
+
*/
|
|
10
|
+
declare function generateFullPrismaSchema(schema: MergedSchema, provider: PrismaProvider): string;
|
|
11
|
+
/**
|
|
12
|
+
* Generate only the Prisma model blocks (no generator/datasource).
|
|
13
|
+
*
|
|
14
|
+
* Useful when adding Invect models to an existing Prisma schema.
|
|
15
|
+
*/
|
|
16
|
+
declare function generatePrismaModels(schema: MergedSchema, provider: PrismaProvider): string;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { PrismaProvider, generateFullPrismaSchema, generatePrismaModels };
|
|
19
|
+
//# sourceMappingURL=prisma-schema-generator.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-schema-generator.d.cts","names":[],"sources":["../../src/database/prisma-schema-generator.ts"],"mappings":";;;KA+BY,cAAA;;;;;;iBAWI,wBAAA,CAAyB,MAAA,EAAQ,YAAA,EAAc,QAAA,EAAU,cAAA;;;;;;iBAyEzD,oBAAA,CAAqB,MAAA,EAAQ,YAAA,EAAc,QAAA,EAAU,cAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MergedSchema } from "./schema-merger.js";
|
|
2
|
+
|
|
3
|
+
//#region src/database/prisma-schema-generator.d.ts
|
|
4
|
+
type PrismaProvider = 'postgresql' | 'mysql' | 'sqlite';
|
|
5
|
+
/**
|
|
6
|
+
* Generate a complete Prisma schema file from the merged abstract schema.
|
|
7
|
+
*
|
|
8
|
+
* Includes generator, datasource, enums, and all models.
|
|
9
|
+
*/
|
|
10
|
+
declare function generateFullPrismaSchema(schema: MergedSchema, provider: PrismaProvider): string;
|
|
11
|
+
/**
|
|
12
|
+
* Generate only the Prisma model blocks (no generator/datasource).
|
|
13
|
+
*
|
|
14
|
+
* Useful when adding Invect models to an existing Prisma schema.
|
|
15
|
+
*/
|
|
16
|
+
declare function generatePrismaModels(schema: MergedSchema, provider: PrismaProvider): string;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { PrismaProvider, generateFullPrismaSchema, generatePrismaModels };
|
|
19
|
+
//# sourceMappingURL=prisma-schema-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-schema-generator.d.ts","names":[],"sources":["../../src/database/prisma-schema-generator.ts"],"mappings":";;;KA+BY,cAAA;;;;;;iBAWI,wBAAA,CAAyB,MAAA,EAAQ,YAAA,EAAc,QAAA,EAAU,cAAA;;;;;;iBAyEzD,oBAAA,CAAqB,MAAA,EAAQ,YAAA,EAAc,QAAA,EAAU,cAAA"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
//#region src/database/prisma-schema-generator.ts
|
|
2
|
+
/**
|
|
3
|
+
* Generate a complete Prisma schema file from the merged abstract schema.
|
|
4
|
+
*
|
|
5
|
+
* Includes generator, datasource, enums, and all models.
|
|
6
|
+
*/
|
|
7
|
+
function generateFullPrismaSchema(schema, provider) {
|
|
8
|
+
const lines = [];
|
|
9
|
+
lines.push(`// Prisma schema for Invect — AUTO-GENERATED by @invect/cli`);
|
|
10
|
+
lines.push(`// Do not edit the Invect models manually. Run \`npx invect generate\` to regenerate.`);
|
|
11
|
+
lines.push(``);
|
|
12
|
+
lines.push(`generator client {`);
|
|
13
|
+
lines.push(` provider = "prisma-client-js"`);
|
|
14
|
+
lines.push(`}`);
|
|
15
|
+
lines.push(``);
|
|
16
|
+
lines.push(`datasource db {`);
|
|
17
|
+
lines.push(` provider = "${provider}"`);
|
|
18
|
+
if (provider === "sqlite") lines.push(` url = "file:./dev.db"`);
|
|
19
|
+
else lines.push(` url = env("DATABASE_URL")`);
|
|
20
|
+
lines.push(`}`);
|
|
21
|
+
lines.push(``);
|
|
22
|
+
if (provider !== "sqlite") {
|
|
23
|
+
const enums = collectPrismaEnums(schema);
|
|
24
|
+
if (enums.length > 0) {
|
|
25
|
+
lines.push(`// =============================================================================`);
|
|
26
|
+
lines.push(`// Enums`);
|
|
27
|
+
lines.push(`// =============================================================================`);
|
|
28
|
+
lines.push(``);
|
|
29
|
+
for (const e of enums) {
|
|
30
|
+
lines.push(`enum ${e.name} {`);
|
|
31
|
+
for (const v of e.values) lines.push(` ${v}`);
|
|
32
|
+
lines.push(`}`);
|
|
33
|
+
lines.push(``);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
lines.push(`// =============================================================================`);
|
|
38
|
+
lines.push(`// Models`);
|
|
39
|
+
lines.push(`// =============================================================================`);
|
|
40
|
+
lines.push(``);
|
|
41
|
+
for (const table of schema.tables) {
|
|
42
|
+
lines.push(generatePrismaModel(table, schema, provider));
|
|
43
|
+
lines.push(``);
|
|
44
|
+
}
|
|
45
|
+
return lines.join("\n");
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generate only the Prisma model blocks (no generator/datasource).
|
|
49
|
+
*
|
|
50
|
+
* Useful when adding Invect models to an existing Prisma schema.
|
|
51
|
+
*/
|
|
52
|
+
function generatePrismaModels(schema, provider) {
|
|
53
|
+
const lines = [];
|
|
54
|
+
lines.push(``);
|
|
55
|
+
lines.push(`// =============================================================================`);
|
|
56
|
+
lines.push(`// Invect Models — AUTO-GENERATED by @invect/cli`);
|
|
57
|
+
lines.push(`// Do not edit these models manually. Run \`npx invect generate\` to regenerate.`);
|
|
58
|
+
lines.push(`// =============================================================================`);
|
|
59
|
+
lines.push(``);
|
|
60
|
+
if (provider !== "sqlite") {
|
|
61
|
+
const enums = collectPrismaEnums(schema);
|
|
62
|
+
for (const e of enums) {
|
|
63
|
+
lines.push(`enum ${e.name} {`);
|
|
64
|
+
for (const v of e.values) lines.push(` ${v}`);
|
|
65
|
+
lines.push(`}`);
|
|
66
|
+
lines.push(``);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
for (const table of schema.tables) {
|
|
70
|
+
lines.push(generatePrismaModel(table, schema, provider));
|
|
71
|
+
lines.push(``);
|
|
72
|
+
}
|
|
73
|
+
return lines.join("\n");
|
|
74
|
+
}
|
|
75
|
+
function generatePrismaModel(table, schema, provider) {
|
|
76
|
+
const lines = [];
|
|
77
|
+
const { name, definition } = table;
|
|
78
|
+
const dbTableName = definition.tableName || toSnakeCase(name);
|
|
79
|
+
const modelName = capitalize(name);
|
|
80
|
+
lines.push(`model ${modelName} {`);
|
|
81
|
+
for (const [fieldName, field] of Object.entries(definition.fields)) {
|
|
82
|
+
const dbColName = toSnakeCase(fieldName);
|
|
83
|
+
const prismaType = getPrismaType(field, provider, name, fieldName);
|
|
84
|
+
const attrs = getPrismaAttributes(fieldName, dbColName, field, provider);
|
|
85
|
+
lines.push(` ${fieldName} ${prismaType}${attrs}`);
|
|
86
|
+
}
|
|
87
|
+
const relationLines = generateRelationFields(table, schema, provider);
|
|
88
|
+
for (const line of relationLines) lines.push(` ${line}`);
|
|
89
|
+
if (definition.compositePrimaryKey?.length) {
|
|
90
|
+
lines.push(``);
|
|
91
|
+
lines.push(` @@id([${definition.compositePrimaryKey.join(", ")}])`);
|
|
92
|
+
}
|
|
93
|
+
for (const [fieldName, field] of Object.entries(definition.fields)) if (field.index && !field.unique && !field.primaryKey) lines.push(` @@index([${fieldName}])`);
|
|
94
|
+
if (dbTableName !== name) lines.push(` @@map("${dbTableName}")`);
|
|
95
|
+
lines.push(`}`);
|
|
96
|
+
return lines.join("\n");
|
|
97
|
+
}
|
|
98
|
+
function getPrismaType(field, provider, tableName, fieldName) {
|
|
99
|
+
const optional = field.required === false ? "?" : "";
|
|
100
|
+
if (isEnumType(field.type)) {
|
|
101
|
+
if (provider === "sqlite") return `String${optional}`;
|
|
102
|
+
return `${prismaEnumName(tableName, fieldName)}${optional}`;
|
|
103
|
+
}
|
|
104
|
+
switch (field.type) {
|
|
105
|
+
case "string":
|
|
106
|
+
case "text":
|
|
107
|
+
case "uuid": return `String${optional}`;
|
|
108
|
+
case "number": return `Int${optional}`;
|
|
109
|
+
case "bigint": return `BigInt${optional}`;
|
|
110
|
+
case "boolean": return `Boolean${optional}`;
|
|
111
|
+
case "date": return `DateTime${optional}`;
|
|
112
|
+
case "json":
|
|
113
|
+
if (provider === "sqlite") return `String${optional}`;
|
|
114
|
+
return `Json${optional}`;
|
|
115
|
+
default: return `String${optional}`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function getPrismaAttributes(fieldName, dbColName, field, provider) {
|
|
119
|
+
const attrs = [];
|
|
120
|
+
if (field.primaryKey) attrs.push("@id");
|
|
121
|
+
if (field.unique) attrs.push("@unique");
|
|
122
|
+
if (field.defaultValue !== void 0) {
|
|
123
|
+
const defaultAttr = getPrismaDefault(field.defaultValue, field.type, provider);
|
|
124
|
+
if (defaultAttr) attrs.push(defaultAttr);
|
|
125
|
+
}
|
|
126
|
+
if (fieldName === "updatedAt" && field.type === "date") attrs.push("@updatedAt");
|
|
127
|
+
if (dbColName !== fieldName) attrs.push(`@map("${dbColName}")`);
|
|
128
|
+
if (provider === "mysql" && field.type === "text") attrs.push("@db.Text");
|
|
129
|
+
if (provider === "postgresql" && field.type === "date") attrs.push("@db.Timestamptz(3)");
|
|
130
|
+
if (attrs.length === 0) return "";
|
|
131
|
+
return " " + attrs.join(" ");
|
|
132
|
+
}
|
|
133
|
+
function getPrismaDefault(value, _type, _provider) {
|
|
134
|
+
if (value === "uuid()") return "@default(uuid())";
|
|
135
|
+
if (value === "now()") return "@default(now())";
|
|
136
|
+
if (typeof value === "boolean") return `@default(${value})`;
|
|
137
|
+
if (typeof value === "number") return `@default(${value})`;
|
|
138
|
+
if (typeof value === "string") return `@default("${value}")`;
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Generate Prisma relation fields for a model.
|
|
143
|
+
*
|
|
144
|
+
* In Prisma, if model A has a FK `bId → B.id`, we need:
|
|
145
|
+
* - On A: `b B @relation(fields: [bId], references: [id])`
|
|
146
|
+
* - On B: `as A[]` (reverse side)
|
|
147
|
+
*
|
|
148
|
+
* We generate the "one" side (FK holder) here; the "many" side
|
|
149
|
+
* (reverse) is added to the referenced model.
|
|
150
|
+
*/
|
|
151
|
+
function generateRelationFields(table, schema, _provider) {
|
|
152
|
+
const lines = [];
|
|
153
|
+
const { definition } = table;
|
|
154
|
+
for (const [fieldName, field] of Object.entries(definition.fields)) {
|
|
155
|
+
if (!field.references) continue;
|
|
156
|
+
const refModelName = capitalize(findLogicalName(schema, field.references.table));
|
|
157
|
+
const relName = fieldName.replace(/Id$/, "").replace(/_id$/, "");
|
|
158
|
+
const onDelete = mapOnDelete(field.references.onDelete);
|
|
159
|
+
lines.push(`${relName} ${refModelName} @relation(fields: [${fieldName}], references: [${field.references.field}], onDelete: ${onDelete})`);
|
|
160
|
+
}
|
|
161
|
+
for (const otherTable of schema.tables) {
|
|
162
|
+
if (otherTable.name === table.name) continue;
|
|
163
|
+
for (const [_fieldName, field] of Object.entries(otherTable.definition.fields)) {
|
|
164
|
+
if (!field.references) continue;
|
|
165
|
+
if (field.references.table === table.name || field.references.table === (table.definition.tableName || toSnakeCase(table.name))) {
|
|
166
|
+
const otherModelName = capitalize(otherTable.name);
|
|
167
|
+
const isUnique = field.unique === true;
|
|
168
|
+
const relName = otherTable.name;
|
|
169
|
+
lines.push(`${relName} ${otherModelName}${isUnique ? "?" : "[]"}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return lines;
|
|
174
|
+
}
|
|
175
|
+
function mapOnDelete(onDelete) {
|
|
176
|
+
switch (onDelete) {
|
|
177
|
+
case "cascade": return "Cascade";
|
|
178
|
+
case "set null": return "SetNull";
|
|
179
|
+
case "restrict": return "Restrict";
|
|
180
|
+
case "no action": return "NoAction";
|
|
181
|
+
default: return "NoAction";
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
function collectPrismaEnums(schema) {
|
|
185
|
+
const enums = [];
|
|
186
|
+
for (const table of schema.tables) for (const [fieldName, field] of Object.entries(table.definition.fields)) if (isEnumType(field.type)) enums.push({
|
|
187
|
+
name: prismaEnumName(table.name, fieldName),
|
|
188
|
+
values: field.type
|
|
189
|
+
});
|
|
190
|
+
return enums;
|
|
191
|
+
}
|
|
192
|
+
function prismaEnumName(tableName, fieldName) {
|
|
193
|
+
return `${capitalize(tableName)}${capitalize(fieldName)}`;
|
|
194
|
+
}
|
|
195
|
+
function isEnumType(type) {
|
|
196
|
+
return Array.isArray(type);
|
|
197
|
+
}
|
|
198
|
+
function toSnakeCase(str) {
|
|
199
|
+
return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
200
|
+
}
|
|
201
|
+
function capitalize(str) {
|
|
202
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Find the logical (camelCase) table name from a DB table name.
|
|
206
|
+
*/
|
|
207
|
+
function findLogicalName(schema, tableRef) {
|
|
208
|
+
const exact = schema.tables.find((t) => t.name === tableRef);
|
|
209
|
+
if (exact) return exact.name;
|
|
210
|
+
const byDbName = schema.tables.find((t) => t.definition.tableName === tableRef || toSnakeCase(t.name) === tableRef);
|
|
211
|
+
if (byDbName) return byDbName.name;
|
|
212
|
+
if (tableRef.includes("_")) return tableRef.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
|
|
213
|
+
return tableRef;
|
|
214
|
+
}
|
|
215
|
+
//#endregion
|
|
216
|
+
export { generateFullPrismaSchema, generatePrismaModels };
|
|
217
|
+
|
|
218
|
+
//# sourceMappingURL=prisma-schema-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-schema-generator.js","names":[],"sources":["../../src/database/prisma-schema-generator.ts"],"sourcesContent":["/**\n * Prisma Schema Generator\n *\n * Converts the merged abstract schema (core + plugins) into Prisma schema\n * model blocks. Unlike the Drizzle generators which produce complete\n * TypeScript files, this generates Prisma DSL.\n *\n * Two modes:\n * 1. `generatePrismaModels(schema, provider)` — returns only the model blocks\n * (for appending to an existing schema.prisma)\n * 2. `generateFullPrismaSchema(schema, provider)` — returns a complete\n * schema.prisma including generator + datasource blocks\n *\n * Uses the abstract schema types directly, converting to Prisma's type system:\n *\n * | Abstract | Prisma (PG/MySQL) | Prisma (SQLite) |\n * |-------------|-------------------|------------------|\n * | \"string\" | String | String |\n * | \"text\" | String | String |\n * | \"number\" | Int | Int |\n * | \"boolean\" | Boolean | Boolean |\n * | \"date\" | DateTime | DateTime |\n * | \"json\" | Json | String |\n * | \"uuid\" | String | String |\n * | \"bigint\" | BigInt | BigInt |\n * | string[] | enum | String (fallback)|\n */\n\nimport type { PluginFieldAttribute, PluginFieldType } from 'src/types/plugin.types';\nimport type { MergedSchema, MergedTable } from './schema-merger';\n\nexport type PrismaProvider = 'postgresql' | 'mysql' | 'sqlite';\n\n// =============================================================================\n// Full Schema Generator\n// =============================================================================\n\n/**\n * Generate a complete Prisma schema file from the merged abstract schema.\n *\n * Includes generator, datasource, enums, and all models.\n */\nexport function generateFullPrismaSchema(schema: MergedSchema, provider: PrismaProvider): string {\n const lines: string[] = [];\n\n // Header\n lines.push(`// Prisma schema for Invect — AUTO-GENERATED by @invect/cli`);\n lines.push(\n `// Do not edit the Invect models manually. Run \\`npx invect generate\\` to regenerate.`,\n );\n lines.push(``);\n\n // Generator block\n lines.push(`generator client {`);\n lines.push(` provider = \"prisma-client-js\"`);\n lines.push(`}`);\n lines.push(``);\n\n // Datasource block\n lines.push(`datasource db {`);\n lines.push(` provider = \"${provider}\"`);\n if (provider === 'sqlite') {\n lines.push(` url = \"file:./dev.db\"`);\n } else {\n lines.push(` url = env(\"DATABASE_URL\")`);\n }\n lines.push(`}`);\n lines.push(``);\n\n // Enums (PostgreSQL and MySQL support enums; SQLite doesn't)\n if (provider !== 'sqlite') {\n const enums = collectPrismaEnums(schema);\n if (enums.length > 0) {\n lines.push(\n `// =============================================================================`,\n );\n lines.push(`// Enums`);\n lines.push(\n `// =============================================================================`,\n );\n lines.push(``);\n for (const e of enums) {\n lines.push(`enum ${e.name} {`);\n for (const v of e.values) {\n lines.push(` ${v}`);\n }\n lines.push(`}`);\n lines.push(``);\n }\n }\n }\n\n // Models\n lines.push(`// =============================================================================`);\n lines.push(`// Models`);\n lines.push(`// =============================================================================`);\n lines.push(``);\n\n for (const table of schema.tables) {\n lines.push(generatePrismaModel(table, schema, provider));\n lines.push(``);\n }\n\n return lines.join('\\n');\n}\n\n// =============================================================================\n// Model-Only Generator (for appending to existing schemas)\n// =============================================================================\n\n/**\n * Generate only the Prisma model blocks (no generator/datasource).\n *\n * Useful when adding Invect models to an existing Prisma schema.\n */\nexport function generatePrismaModels(schema: MergedSchema, provider: PrismaProvider): string {\n const lines: string[] = [];\n\n lines.push(``);\n lines.push(`// =============================================================================`);\n lines.push(`// Invect Models — AUTO-GENERATED by @invect/cli`);\n lines.push(`// Do not edit these models manually. Run \\`npx invect generate\\` to regenerate.`);\n lines.push(`// =============================================================================`);\n lines.push(``);\n\n // Enums\n if (provider !== 'sqlite') {\n const enums = collectPrismaEnums(schema);\n for (const e of enums) {\n lines.push(`enum ${e.name} {`);\n for (const v of e.values) {\n lines.push(` ${v}`);\n }\n lines.push(`}`);\n lines.push(``);\n }\n }\n\n // Models\n for (const table of schema.tables) {\n lines.push(generatePrismaModel(table, schema, provider));\n lines.push(``);\n }\n\n return lines.join('\\n');\n}\n\n// =============================================================================\n// Single Model Generator\n// =============================================================================\n\nfunction generatePrismaModel(\n table: MergedTable,\n schema: MergedSchema,\n provider: PrismaProvider,\n): string {\n const lines: string[] = [];\n const { name, definition } = table;\n const dbTableName = definition.tableName || toSnakeCase(name);\n const modelName = capitalize(name);\n\n lines.push(`model ${modelName} {`);\n\n // Fields\n for (const [fieldName, field] of Object.entries(definition.fields)) {\n const dbColName = toSnakeCase(fieldName);\n const prismaType = getPrismaType(field, provider, name, fieldName);\n const attrs = getPrismaAttributes(fieldName, dbColName, field, provider);\n\n lines.push(` ${fieldName} ${prismaType}${attrs}`);\n }\n\n // Relation fields (Prisma requires explicit relation fields)\n const relationLines = generateRelationFields(table, schema, provider);\n for (const line of relationLines) {\n lines.push(` ${line}`);\n }\n\n // Composite primary key\n if (definition.compositePrimaryKey?.length) {\n lines.push(``);\n lines.push(` @@id([${definition.compositePrimaryKey.join(', ')}])`);\n }\n\n // @@index for indexed fields\n for (const [fieldName, field] of Object.entries(definition.fields)) {\n if (field.index && !field.unique && !field.primaryKey) {\n lines.push(` @@index([${fieldName}])`);\n }\n }\n\n // @@map for table name mapping\n if (dbTableName !== name) {\n lines.push(` @@map(\"${dbTableName}\")`);\n }\n\n lines.push(`}`);\n\n return lines.join('\\n');\n}\n\n// =============================================================================\n// Type Mapping\n// =============================================================================\n\nfunction getPrismaType(\n field: PluginFieldAttribute,\n provider: PrismaProvider,\n tableName: string,\n fieldName: string,\n): string {\n const optional = field.required === false ? '?' : '';\n\n if (isEnumType(field.type)) {\n if (provider === 'sqlite') {\n // SQLite doesn't support enums in Prisma, use String\n return `String${optional}`;\n }\n const enumName = prismaEnumName(tableName, fieldName);\n return `${enumName}${optional}`;\n }\n\n switch (field.type) {\n case 'string':\n case 'text':\n case 'uuid':\n return `String${optional}`;\n case 'number':\n return `Int${optional}`;\n case 'bigint':\n return `BigInt${optional}`;\n case 'boolean':\n return `Boolean${optional}`;\n case 'date':\n return `DateTime${optional}`;\n case 'json':\n // SQLite doesn't have native JSON in Prisma — use String\n if (provider === 'sqlite') {\n return `String${optional}`;\n }\n return `Json${optional}`;\n default:\n return `String${optional}`;\n }\n}\n\n// =============================================================================\n// Attribute Generation\n// =============================================================================\n\nfunction getPrismaAttributes(\n fieldName: string,\n dbColName: string,\n field: PluginFieldAttribute,\n provider: PrismaProvider,\n): string {\n const attrs: string[] = [];\n\n // @id (single-column PK)\n if (field.primaryKey) {\n attrs.push('@id');\n }\n\n // @unique\n if (field.unique) {\n attrs.push('@unique');\n }\n\n // @default\n if (field.defaultValue !== undefined) {\n const defaultAttr = getPrismaDefault(field.defaultValue, field.type, provider);\n if (defaultAttr) {\n attrs.push(defaultAttr);\n }\n }\n\n // @updatedAt (for date fields with \"now()\" default and name \"updatedAt\")\n // In Prisma, @updatedAt automatically updates the timestamp\n // We only add it if the field is named updatedAt\n if (fieldName === 'updatedAt' && field.type === 'date') {\n attrs.push('@updatedAt');\n }\n\n // @map (column name differs from field name)\n if (dbColName !== fieldName) {\n attrs.push(`@map(\"${dbColName}\")`);\n }\n\n // @db.Text for MySQL long strings\n if (provider === 'mysql' && field.type === 'text') {\n attrs.push('@db.Text');\n }\n\n // @db.Timestamptz for PostgreSQL dates\n if (provider === 'postgresql' && field.type === 'date') {\n attrs.push('@db.Timestamptz(3)');\n }\n\n if (attrs.length === 0) {\n return '';\n }\n return ' ' + attrs.join(' ');\n}\n\nfunction getPrismaDefault(\n value: string | number | boolean | 'uuid()' | 'now()',\n _type: PluginFieldType,\n _provider: PrismaProvider,\n): string | null {\n if (value === 'uuid()') {\n return '@default(uuid())';\n }\n if (value === 'now()') {\n return '@default(now())';\n }\n if (typeof value === 'boolean') {\n return `@default(${value})`;\n }\n if (typeof value === 'number') {\n return `@default(${value})`;\n }\n if (typeof value === 'string') {\n return `@default(\"${value}\")`;\n }\n return null;\n}\n\n// =============================================================================\n// Relation Fields\n// =============================================================================\n\n/**\n * Generate Prisma relation fields for a model.\n *\n * In Prisma, if model A has a FK `bId → B.id`, we need:\n * - On A: `b B @relation(fields: [bId], references: [id])`\n * - On B: `as A[]` (reverse side)\n *\n * We generate the \"one\" side (FK holder) here; the \"many\" side\n * (reverse) is added to the referenced model.\n */\nfunction generateRelationFields(\n table: MergedTable,\n schema: MergedSchema,\n _provider: PrismaProvider,\n): string[] {\n const lines: string[] = [];\n const { definition } = table;\n\n // One-side: this table has FKs\n for (const [fieldName, field] of Object.entries(definition.fields)) {\n if (!field.references) {\n continue;\n }\n\n const refTableLogical = findLogicalName(schema, field.references.table);\n const refModelName = capitalize(refTableLogical);\n const relName = fieldName.replace(/Id$/, '').replace(/_id$/, '');\n const onDelete = mapOnDelete(field.references.onDelete);\n\n lines.push(\n `${relName} ${refModelName} @relation(fields: [${fieldName}], references: [${field.references.field}], onDelete: ${onDelete})`,\n );\n }\n\n // Many-side: other tables have FKs pointing to this table\n for (const otherTable of schema.tables) {\n if (otherTable.name === table.name) {\n continue;\n }\n\n for (const [_fieldName, field] of Object.entries(otherTable.definition.fields)) {\n if (!field.references) {\n continue;\n }\n\n // Check if this FK references our table\n const refsOurTable =\n field.references.table === table.name ||\n field.references.table === (table.definition.tableName || toSnakeCase(table.name));\n\n if (refsOurTable) {\n const otherModelName = capitalize(otherTable.name);\n // If the FK is unique, this is a one-to-one relation (singular, optional)\n // Otherwise it's one-to-many (array)\n const isUnique = field.unique === true;\n const relName = otherTable.name;\n lines.push(`${relName} ${otherModelName}${isUnique ? '?' : '[]'}`);\n }\n }\n }\n\n return lines;\n}\n\nfunction mapOnDelete(onDelete?: string): string {\n switch (onDelete) {\n case 'cascade':\n return 'Cascade';\n case 'set null':\n return 'SetNull';\n case 'restrict':\n return 'Restrict';\n case 'no action':\n return 'NoAction';\n default:\n return 'NoAction';\n }\n}\n\n// =============================================================================\n// Enum Helpers\n// =============================================================================\n\ninterface PrismaEnumDef {\n name: string;\n values: string[];\n}\n\nfunction collectPrismaEnums(schema: MergedSchema): PrismaEnumDef[] {\n const enums: PrismaEnumDef[] = [];\n\n for (const table of schema.tables) {\n for (const [fieldName, field] of Object.entries(table.definition.fields)) {\n if (isEnumType(field.type)) {\n enums.push({\n name: prismaEnumName(table.name, fieldName),\n values: field.type,\n });\n }\n }\n }\n\n return enums;\n}\n\nfunction prismaEnumName(tableName: string, fieldName: string): string {\n return `${capitalize(tableName)}${capitalize(fieldName)}`;\n}\n\n// =============================================================================\n// Shared Utilities\n// =============================================================================\n\nfunction isEnumType(type: PluginFieldType): type is string[] {\n return Array.isArray(type);\n}\n\nfunction toSnakeCase(str: string): string {\n return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);\n}\n\nfunction capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n/**\n * Find the logical (camelCase) table name from a DB table name.\n */\nfunction findLogicalName(schema: MergedSchema, tableRef: string): string {\n // First try exact match on logical name\n const exact = schema.tables.find((t) => t.name === tableRef);\n if (exact) {\n return exact.name;\n }\n\n // Try by tableName property\n const byDbName = schema.tables.find(\n (t) => t.definition.tableName === tableRef || toSnakeCase(t.name) === tableRef,\n );\n if (byDbName) {\n return byDbName.name;\n }\n\n // Fallback: convert to camelCase\n if (tableRef.includes('_')) {\n return tableRef.replace(/_([a-z])/g, (_, c) => c.toUpperCase());\n }\n return tableRef;\n}\n"],"mappings":"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"}
|