abstra 3.24.1__py3-none-any.whl → 3.24.3__py3-none-any.whl

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.
Files changed (323) hide show
  1. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/METADATA +1 -1
  2. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/RECORD +202 -206
  3. abstra_internals/contracts_generated.py +1016 -758
  4. abstra_internals/controllers/git.py +4 -2
  5. abstra_internals/controllers/main.py +63 -1
  6. abstra_internals/repositories/git/git_test.py +5 -2
  7. abstra_internals/repositories/git/native.py +13 -7
  8. abstra_internals/repositories/git/types.py +1 -1
  9. abstra_internals/repositories/project/project.py +1 -1
  10. abstra_internals/server/routes/git.py +11 -2
  11. abstra_internals/server/routes/mcp.py +1 -0
  12. abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.13670ae7.js +2 -0
  13. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.1035457c.js +2 -0
  14. abstra_statics/dist/assets/ApiKeys.9b0b18b5.js +2 -0
  15. abstra_statics/dist/assets/App.9ab9cabb.js +2 -0
  16. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.6713c9c9.js +2 -0
  17. abstra_statics/dist/assets/BaseLayout.28c01b5b.js +2 -0
  18. abstra_statics/dist/assets/Billing.f9062d88.js +2 -0
  19. abstra_statics/dist/assets/{Breadcrumb.5c786c09.js → Breadcrumb.e54636d6.js} +3 -3
  20. abstra_statics/dist/assets/Builds.38c0f966.css +1 -0
  21. abstra_statics/dist/assets/Builds.c7363e1b.js +2 -0
  22. abstra_statics/dist/assets/{Card.fc77085c.js → Card.4a8a30bb.js} +5 -5
  23. abstra_statics/dist/assets/{CircularLoading.998b223a.js → CircularLoading.d81a4cac.js} +2 -2
  24. abstra_statics/dist/assets/CloseCircleOutlined.39b5ab06.js +2 -0
  25. abstra_statics/dist/assets/ConnectorsView.b594798e.css +1 -0
  26. abstra_statics/dist/assets/ConnectorsView.d4b67e2e.js +2 -0
  27. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.5360224e.js +2 -0
  28. abstra_statics/dist/assets/ContentLayout.10f24838.js +2 -0
  29. abstra_statics/dist/assets/CrudView.57e8b29a.js +2 -0
  30. abstra_statics/dist/assets/CrudView.8abe5bc2.css +1 -0
  31. abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.108b18e1.js +2 -0
  32. abstra_statics/dist/assets/EditorLogin.2f00deb7.js +2 -0
  33. abstra_statics/dist/assets/EditorsView.eb87a2d8.js +2 -0
  34. abstra_statics/dist/assets/EnvVars.883a4a57.js +2 -0
  35. abstra_statics/dist/assets/Error.98b8036c.js +2 -0
  36. abstra_statics/dist/assets/{ExclamationCircleOutlined.d0aa47da.js → ExclamationCircleOutlined.2441b96e.js} +2 -2
  37. abstra_statics/dist/assets/Files.39b07d88.css +1 -0
  38. abstra_statics/dist/assets/Files.9fc8199a.js +2 -0
  39. abstra_statics/dist/assets/Form.5d562f15.js +2 -0
  40. abstra_statics/dist/assets/{FormRunner.46f6426d.css → FormRunner.1e6e7d2a.css} +1 -1
  41. abstra_statics/dist/assets/FormRunner.2b1b3c45.js +2 -0
  42. abstra_statics/dist/assets/Home.191a6dce.js +2 -0
  43. abstra_statics/dist/assets/Home.8502aa41.js +2 -0
  44. abstra_statics/dist/assets/Home.e8bf9440.css +1 -0
  45. abstra_statics/dist/assets/LoadingContainer.ac03ea28.js +2 -0
  46. abstra_statics/dist/assets/LoadingOutlined.4c40acc4.js +2 -0
  47. abstra_statics/dist/assets/Login.8bd6a07a.js +2 -0
  48. abstra_statics/dist/assets/{Login.75d13f6c.css → Login.ac75228f.css} +1 -1
  49. abstra_statics/dist/assets/Login.edfbdaea.js +2 -0
  50. abstra_statics/dist/assets/Login.vue_vue_type_script_setup_true_lang.02acef81.js +2 -0
  51. abstra_statics/dist/assets/Logo.fc8ace6c.js +2 -0
  52. abstra_statics/dist/assets/Logs.4c6c0b3a.js +2 -0
  53. abstra_statics/dist/assets/LogsController.61f8e22d.css +1 -0
  54. abstra_statics/dist/assets/LogsController.a58ca42a.js +2 -0
  55. abstra_statics/dist/assets/Main.e6b2d2d5.js +2 -0
  56. abstra_statics/dist/assets/{MockForm.0b819a52.js → MockForm.091aa4ce.js} +2 -2
  57. abstra_statics/dist/assets/Navbar.24019fd6.js +2 -0
  58. abstra_statics/dist/assets/Navbar.61d3e0a6.css +1 -0
  59. abstra_statics/dist/assets/NewEditor.2b6f4ed3.js +8 -0
  60. abstra_statics/dist/assets/NewEditor.f2d1c0c3.css +1 -0
  61. abstra_statics/dist/assets/OidcLoginCallback.987cebba.js +2 -0
  62. abstra_statics/dist/assets/OidcLogoutCallback.6c00d878.js +2 -0
  63. abstra_statics/dist/assets/OmniChat.60ee26c8.css +1 -0
  64. abstra_statics/dist/assets/OmniChat.c78c1e51.js +6 -0
  65. abstra_statics/dist/assets/OnboardingView.687780ed.js +2 -0
  66. abstra_statics/dist/assets/OnboardingView.e871e6d8.css +1 -0
  67. abstra_statics/dist/assets/Organization.0ac1bf79.js +2 -0
  68. abstra_statics/dist/assets/Organizations.fc123489.js +2 -0
  69. abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.78877a50.js → PhArrowCounterClockwise.vue.6ab1b899.js} +2 -2
  70. abstra_statics/dist/assets/{PhArrowSquareOut.vue.2ddfc219.js → PhArrowSquareOut.vue.1cebb708.js} +2 -2
  71. abstra_statics/dist/assets/{PhClockCounterClockwise.vue.854c3cb5.js → PhClockCounterClockwise.vue.dae2e135.js} +2 -2
  72. abstra_statics/dist/assets/{PhCopy.vue.d116ddfb.js → PhCopy.vue.71703533.js} +2 -2
  73. abstra_statics/dist/assets/PhCopySimple.vue.369eb629.js +2 -0
  74. abstra_statics/dist/assets/{PhCube.vue.abf4a034.js → PhCube.vue.f8549a9b.js} +2 -2
  75. abstra_statics/dist/assets/{PhDatabase.vue.a94d95f6.js → PhDatabase.vue.0d3246d7.js} +2 -2
  76. abstra_statics/dist/assets/{PhDotsThreeVertical.vue.5e8ae2a9.js → PhDotsThreeVertical.vue.9d76c4de.js} +2 -2
  77. abstra_statics/dist/assets/{PhDownloadSimple.vue.e88f64f1.js → PhDownloadSimple.vue.21156b6d.js} +2 -2
  78. abstra_statics/dist/assets/PhFileArrowUp.vue.406b22e3.js +2 -0
  79. abstra_statics/dist/assets/PhFilePlus.vue.b180df90.js +2 -0
  80. abstra_statics/dist/assets/{PhFolderPlus.vue.21d377a3.js → PhFolderPlus.vue.b18fd061.js} +2 -2
  81. abstra_statics/dist/assets/{PhGear.vue.363dd83c.js → PhGear.vue.bed38929.js} +2 -2
  82. abstra_statics/dist/assets/{PhKey.vue.23f3a465.js → PhKey.vue.6ef5fdd3.js} +2 -2
  83. abstra_statics/dist/assets/{PhPencil.vue.feb383e2.js → PhPencil.vue.0fc0fcc0.js} +2 -2
  84. abstra_statics/dist/assets/PhPencilSimple.vue.0707effd.js +2 -0
  85. abstra_statics/dist/assets/PhRocket.vue.761192f5.js +2 -0
  86. abstra_statics/dist/assets/{PhSignOut.vue.d1d6498f.js → PhSignOut.vue.8d8dfd96.js} +2 -2
  87. abstra_statics/dist/assets/{PhSparkle.vue.b6712d34.js → PhSparkle.vue.18ed0427.js} +2 -2
  88. abstra_statics/dist/assets/PhTranslate.vue.00a17a08.js +2 -0
  89. abstra_statics/dist/assets/{PhUsersThree.vue.8889f957.js → PhUsersThree.vue.d69f0723.js} +2 -2
  90. abstra_statics/dist/assets/{PhWarningCircle.vue.2087be7d.js → PhWarningCircle.vue.20bfeba7.js} +2 -2
  91. abstra_statics/dist/assets/PhWebhooksLogo.vue.58a98824.js +2 -0
  92. abstra_statics/dist/assets/PlayerConfigProvider.ad360920.js +2 -0
  93. abstra_statics/dist/assets/{PlayerNavbar.77209eae.css → PlayerNavbar.4dc29a45.css} +1 -1
  94. abstra_statics/dist/assets/PlayerNavbar.97e8dee9.js +2 -0
  95. abstra_statics/dist/assets/Project.6c4642b5.js +2 -0
  96. abstra_statics/dist/assets/Project.9c418d2e.css +1 -0
  97. abstra_statics/dist/assets/ProjectLogin.f92a038d.js +2 -0
  98. abstra_statics/dist/assets/ProjectSettings.582746dc.js +2 -0
  99. abstra_statics/dist/assets/ProjectsView.a6b3674b.js +2 -0
  100. abstra_statics/dist/assets/ProjectsView.e26ddfd5.css +1 -0
  101. abstra_statics/dist/assets/SaveButton.363ea20f.css +1 -0
  102. abstra_statics/dist/assets/SaveButton.c3ad6e9b.js +2 -0
  103. abstra_statics/dist/assets/{ScrollArea.vue_vue_type_script_setup_true_lang.6d724b05.js → ScrollArea.vue_vue_type_script_setup_true_lang.62178939.js} +2 -2
  104. abstra_statics/dist/assets/{Sidebar.29baeab0.css → Sidebar.161522da.css} +1 -1
  105. abstra_statics/dist/assets/Sidebar.69f9369e.js +2 -0
  106. abstra_statics/dist/assets/Sql.6d9a778c.css +1 -0
  107. abstra_statics/dist/assets/Sql.cdefe5b9.js +5 -0
  108. abstra_statics/dist/assets/{Steps.dd51a108.js → Steps.82252fc0.js} +2 -2
  109. abstra_statics/dist/assets/TableCard.5462c89d.js +2 -0
  110. abstra_statics/dist/assets/{TableEditor.5853a363.css → TableEditor.20fecc75.css} +1 -1
  111. abstra_statics/dist/assets/TableEditor.fcfa13de.js +2 -0
  112. abstra_statics/dist/assets/Tables.4ee84a7c.js +39 -0
  113. abstra_statics/dist/assets/TablesDiagram.b1d1579e.js +15 -0
  114. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.3e5206e0.js +2 -0
  115. abstra_statics/dist/assets/Tasks.fd2605bd.js +2 -0
  116. abstra_statics/dist/assets/{UploadOutlined.9aa845de.js → UploadOutlined.64837788.js} +2 -2
  117. abstra_statics/dist/assets/View.b144c5e3.js +2 -0
  118. abstra_statics/dist/assets/View.vue_vue_type_script_setup_true_lang.c79117ce.js +2 -0
  119. abstra_statics/dist/assets/Watermark.c0756030.js +2 -0
  120. abstra_statics/dist/assets/WebEditor.774989ad.js +2 -0
  121. abstra_statics/dist/assets/WebEditor.b886e4d1.css +1 -0
  122. abstra_statics/dist/assets/WidgetPreview.4fd6afc0.js +2 -0
  123. abstra_statics/dist/assets/WorkflowViewer.2666936e.js +2 -0
  124. abstra_statics/dist/assets/WorkflowViewer.3b6aee8e.css +1 -0
  125. abstra_statics/dist/assets/ant-design.b3eefa58.js +2 -0
  126. abstra_statics/dist/assets/apiKey.ee792d72.js +2 -0
  127. abstra_statics/dist/assets/asyncComputed.c73d027a.js +2 -0
  128. abstra_statics/dist/assets/{build.45b511b6.js → build.6e7d77b3.js} +2 -2
  129. abstra_statics/dist/assets/colorHelpers.5ee17d14.js +2 -0
  130. abstra_statics/dist/assets/{console.f0f09e6f.js → console.38bda98e.js} +4 -4
  131. abstra_statics/dist/assets/constants.be8ad36c.js +2 -0
  132. abstra_statics/dist/assets/contracts.generated.f01de5a3.js +2 -0
  133. abstra_statics/dist/assets/{cssMode.23271d4a.js → cssMode.408206bf.js} +2 -2
  134. abstra_statics/dist/assets/{datetime.82608dfb.js → datetime.a6d58ce1.js} +2 -2
  135. abstra_statics/dist/assets/dayjs.703ebc20.js +2 -0
  136. abstra_statics/dist/assets/editor.a77b56bd.js +2 -0
  137. abstra_statics/dist/assets/editor.main.a1ebf0ab.js +2 -0
  138. abstra_statics/dist/assets/fetch.cd29ef4c.js +2 -0
  139. abstra_statics/dist/assets/{files.8b58ee7e.js → files.1c1692f5.js} +2 -2
  140. abstra_statics/dist/assets/{folder.13d3acac.js → folder.1b74b12c.js} +2 -2
  141. abstra_statics/dist/assets/{freemarker2.f79b510b.js → freemarker2.e62e067c.js} +2 -2
  142. abstra_statics/dist/assets/{handlebars.07d5febe.js → handlebars.604fc901.js} +2 -2
  143. abstra_statics/dist/assets/{html.7d6a59b4.js → html.c02f177e.js} +2 -2
  144. abstra_statics/dist/assets/{htmlMode.7779ff94.js → htmlMode.64078e03.js} +2 -2
  145. abstra_statics/dist/assets/index.015caad7.js +2 -0
  146. abstra_statics/dist/assets/index.2ec95eae.js +2 -0
  147. abstra_statics/dist/assets/index.5197afb2.js +2 -0
  148. abstra_statics/dist/assets/{index.482df04a.js → index.82590a75.js} +2 -2
  149. abstra_statics/dist/assets/{index.d31da2c3.js → index.82842143.js} +2 -2
  150. abstra_statics/dist/assets/{index.e71a5f84.js → index.a12eba98.js} +3 -3
  151. abstra_statics/dist/assets/index.b72cb2b3.js +2 -0
  152. abstra_statics/dist/assets/{index.c8a56795.js → index.b91afb03.js} +2 -2
  153. abstra_statics/dist/assets/index.bec0ecd0.js +4 -0
  154. abstra_statics/dist/assets/{index.57042181.css → index.da037bc0.css} +1 -1
  155. abstra_statics/dist/assets/{javascript.4c528c2c.js → javascript.57026f87.js} +2 -2
  156. abstra_statics/dist/assets/{jsonMode.d6441e9d.js → jsonMode.9b45b375.js} +2 -2
  157. abstra_statics/dist/assets/{jwt-decode.9f7a5511.css → jwt-decode.c5760184.css} +2 -2
  158. abstra_statics/dist/assets/{jwt-decode.esm.54a1ea22.js → jwt-decode.esm.3348bca5.js} +197 -197
  159. abstra_statics/dist/assets/{linters.a0f2aa84.js → linters.903f3240.js} +2 -2
  160. abstra_statics/dist/assets/{liquid.0c441ad2.js → liquid.233d5164.js} +2 -2
  161. abstra_statics/dist/assets/member.d878cf3f.js +2 -0
  162. abstra_statics/dist/assets/metadata.9f7495db.js +2 -0
  163. abstra_statics/dist/assets/omniChatStore.40ad0b1b.js +9 -0
  164. abstra_statics/dist/assets/omniChatStore.b58e3bed.css +1 -0
  165. abstra_statics/dist/assets/{organization.668d1b58.js → organization.8f08e075.js} +2 -2
  166. abstra_statics/dist/assets/os.8ffdbf05.js +2 -0
  167. abstra_statics/dist/assets/player.7112583e.js +2 -0
  168. abstra_statics/dist/assets/{plotly.min.2a87d7e2.js → plotly.min.da87d61b.js} +2 -2
  169. abstra_statics/dist/assets/polling.f547718c.js +2 -0
  170. abstra_statics/dist/assets/{project.1b8374f4.js → project.2483de10.js} +2 -2
  171. abstra_statics/dist/assets/{python.7ac27a56.js → python.1bdbd404.js} +3 -3
  172. abstra_statics/dist/assets/{razor.860a0279.js → razor.be821b87.js} +3 -3
  173. abstra_statics/dist/assets/{record.e83a2eb2.js → record.a108da5a.js} +2 -2
  174. abstra_statics/dist/assets/redirect.eedb2bf6.js +2 -0
  175. abstra_statics/dist/assets/{repository.3a331f0f.js → repository.353e892d.js} +2 -2
  176. abstra_statics/dist/assets/repository.48119e01.js +2 -0
  177. abstra_statics/dist/assets/repository.677ca13c.js +2 -0
  178. abstra_statics/dist/assets/{router.4dfadf5d.js → router.c6e27700.js} +4 -4
  179. abstra_statics/dist/assets/router.c7abfb0c.js +2 -0
  180. abstra_statics/dist/assets/string.998fa621.js +2 -0
  181. abstra_statics/dist/assets/{tables.1bcb1140.js → tables.9701f90c.js} +2 -2
  182. abstra_statics/dist/assets/tasksController.5db769f7.js +4 -0
  183. abstra_statics/dist/assets/{toggleHighContrast.9535bf54.js → toggleHighContrast.23d5a1ab.js} +7 -7
  184. abstra_statics/dist/assets/{tsMode.c0f9fe1a.js → tsMode.4558d65a.js} +2 -2
  185. abstra_statics/dist/assets/{typescript.310eae6d.js → typescript.4445d2fa.js} +3 -3
  186. abstra_statics/dist/assets/url.5d02a63f.js +2 -0
  187. abstra_statics/dist/assets/{useCodebaseEvents.276cc8f0.js → useCodebaseEvents.6ebbc5a2.js} +2 -2
  188. abstra_statics/dist/assets/useTables.4d5edd80.js +2 -0
  189. abstra_statics/dist/assets/userStore.34b8f1eb.js +2 -0
  190. abstra_statics/dist/assets/uuid.6980e2bb.js +2 -0
  191. abstra_statics/dist/assets/vue-flow-background.f1022925.js +2 -0
  192. abstra_statics/dist/assets/{vue-flow-core.6cb99d32.js → vue-flow-core.0de753a6.js} +2 -2
  193. abstra_statics/dist/assets/{vue-quill.esm-bundler.e3d34d0e.js → vue-quill.esm-bundler.8f4ad2b3.js} +2 -2
  194. abstra_statics/dist/assets/{workspaceStore.fac1e9a9.js → workspaceStore.5d3f2aec.js} +2 -2
  195. abstra_statics/dist/assets/{xml.04864db4.js → xml.8a25758b.js} +3 -3
  196. abstra_statics/dist/assets/{yaml.f30375fe.js → yaml.e466330b.js} +3 -3
  197. abstra_statics/dist/console.html +15 -15
  198. abstra_statics/dist/editor.html +15 -15
  199. abstra_statics/dist/player.html +10 -10
  200. abstra/connectors/banking/__init__.py +0 -0
  201. abstra/connectors/banking/brazil.py +0 -5
  202. abstra_internals/services/banking/__init__.py +0 -3
  203. abstra_internals/services/banking/banking_service.py +0 -104
  204. abstra_internals/services/banking/client_factory.py +0 -70
  205. abstra_internals/services/banking/sdk/__init__.py +0 -0
  206. abstra_internals/services/banking/sdk/generate_totalbank_api.py +0 -383
  207. abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.aefce2d3.js +0 -2
  208. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.28bc9fc9.js +0 -2
  209. abstra_statics/dist/assets/ApiKeys.3c1e70dc.js +0 -2
  210. abstra_statics/dist/assets/App.9d8bd2aa.js +0 -2
  211. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.a64c7cee.js +0 -2
  212. abstra_statics/dist/assets/BaseLayout.72a6c8f2.js +0 -2
  213. abstra_statics/dist/assets/Billing.6b07f282.js +0 -2
  214. abstra_statics/dist/assets/Builds.ace9e3da.css +0 -1
  215. abstra_statics/dist/assets/Builds.d8c5c61b.js +0 -2
  216. abstra_statics/dist/assets/CloseCircleOutlined.9ff269cc.js +0 -2
  217. abstra_statics/dist/assets/ConnectorsView.33c5380f.css +0 -1
  218. abstra_statics/dist/assets/ConnectorsView.e670738b.js +0 -2
  219. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.3ca66327.js +0 -2
  220. abstra_statics/dist/assets/ContentLayout.0db8d7fb.js +0 -2
  221. abstra_statics/dist/assets/CrudView.cc6aeaf0.js +0 -2
  222. abstra_statics/dist/assets/CrudView.e24590ae.css +0 -1
  223. abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.689d8ce7.js +0 -2
  224. abstra_statics/dist/assets/EditorLogin.691452b4.js +0 -2
  225. abstra_statics/dist/assets/EditorsView.fcdf0186.js +0 -2
  226. abstra_statics/dist/assets/EnvVars.5519b4ce.js +0 -2
  227. abstra_statics/dist/assets/Error.11fd1f21.js +0 -2
  228. abstra_statics/dist/assets/Files.6ea18d46.js +0 -2
  229. abstra_statics/dist/assets/Files.d0e8d2ff.css +0 -1
  230. abstra_statics/dist/assets/Form.09de384c.js +0 -2
  231. abstra_statics/dist/assets/FormRunner.15be6fa0.js +0 -2
  232. abstra_statics/dist/assets/Home.3794e8b4.css +0 -1
  233. abstra_statics/dist/assets/Home.782c5702.js +0 -2
  234. abstra_statics/dist/assets/Home.7c495aa9.js +0 -2
  235. abstra_statics/dist/assets/Live.37415b2d.css +0 -1
  236. abstra_statics/dist/assets/Live.48c10605.js +0 -2
  237. abstra_statics/dist/assets/LoadingContainer.82ac3d44.js +0 -2
  238. abstra_statics/dist/assets/LoadingOutlined.66639b08.js +0 -2
  239. abstra_statics/dist/assets/Login.4a05f5c5.js +0 -2
  240. abstra_statics/dist/assets/Login.4e852955.js +0 -2
  241. abstra_statics/dist/assets/Login.vue_vue_type_script_setup_true_lang.5161f328.js +0 -2
  242. abstra_statics/dist/assets/Logo.65e0b37c.js +0 -2
  243. abstra_statics/dist/assets/Logs.7d1acf32.js +0 -2
  244. abstra_statics/dist/assets/LogsController.0eb2eb30.js +0 -2
  245. abstra_statics/dist/assets/LogsController.fb0d96c2.css +0 -1
  246. abstra_statics/dist/assets/Main.0313f4fc.js +0 -2
  247. abstra_statics/dist/assets/Navbar.2dc6d02c.css +0 -1
  248. abstra_statics/dist/assets/Navbar.ef64aa09.js +0 -2
  249. abstra_statics/dist/assets/NewEditor.b9c410fe.css +0 -1
  250. abstra_statics/dist/assets/NewEditor.c928dbe9.js +0 -8
  251. abstra_statics/dist/assets/OidcLoginCallback.42a7c4f9.js +0 -2
  252. abstra_statics/dist/assets/OidcLogoutCallback.35931a68.js +0 -2
  253. abstra_statics/dist/assets/OmniChat.73d9f6bb.js +0 -6
  254. abstra_statics/dist/assets/OmniChat.a21fec40.css +0 -1
  255. abstra_statics/dist/assets/OnboardingView.25042384.js +0 -2
  256. abstra_statics/dist/assets/OnboardingView.3996b08d.css +0 -1
  257. abstra_statics/dist/assets/Organization.66f64939.js +0 -2
  258. abstra_statics/dist/assets/Organizations.47868beb.js +0 -2
  259. abstra_statics/dist/assets/PhBookBookmark.vue.41108214.js +0 -2
  260. abstra_statics/dist/assets/PhChats.vue.71e5cb89.js +0 -2
  261. abstra_statics/dist/assets/PhCopySimple.vue.5d0f839d.js +0 -2
  262. abstra_statics/dist/assets/PhPencilSimple.vue.ec0eebb4.js +0 -2
  263. abstra_statics/dist/assets/PhRocket.vue.261a42b2.js +0 -2
  264. abstra_statics/dist/assets/PhUserList.vue.e0b8c21b.js +0 -2
  265. abstra_statics/dist/assets/PhWebhooksLogo.vue.d164db1e.js +0 -2
  266. abstra_statics/dist/assets/PlayerConfigProvider.28e29025.js +0 -2
  267. abstra_statics/dist/assets/PlayerNavbar.aaad1dfd.js +0 -2
  268. abstra_statics/dist/assets/Project.2de506d7.js +0 -2
  269. abstra_statics/dist/assets/Project.9c75c141.css +0 -1
  270. abstra_statics/dist/assets/ProjectLogin.22c8b093.js +0 -2
  271. abstra_statics/dist/assets/ProjectSettings.d065c292.js +0 -2
  272. abstra_statics/dist/assets/ProjectsView.16d8ecf6.css +0 -1
  273. abstra_statics/dist/assets/ProjectsView.cbd118ac.js +0 -2
  274. abstra_statics/dist/assets/SaveButton.428227de.js +0 -2
  275. abstra_statics/dist/assets/SaveButton.932ac6b8.css +0 -1
  276. abstra_statics/dist/assets/Sidebar.41173d8e.js +0 -2
  277. abstra_statics/dist/assets/Sql.90e6e2ba.css +0 -1
  278. abstra_statics/dist/assets/Sql.c070dd2c.js +0 -5
  279. abstra_statics/dist/assets/TableCard.c9a1cf41.js +0 -2
  280. abstra_statics/dist/assets/TableEditor.1bc47a95.js +0 -2
  281. abstra_statics/dist/assets/Tables.eff119eb.js +0 -2
  282. abstra_statics/dist/assets/TablesDiagram.d633acaf.js +0 -15
  283. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.cf7e34c5.js +0 -2
  284. abstra_statics/dist/assets/Tasks.c311b05f.js +0 -2
  285. abstra_statics/dist/assets/View.dd7ba25a.js +0 -2
  286. abstra_statics/dist/assets/View.vue_vue_type_script_setup_true_lang.e6563207.js +0 -2
  287. abstra_statics/dist/assets/Watermark.9c9358e3.js +0 -2
  288. abstra_statics/dist/assets/WebEditor.83f2a960.js +0 -2
  289. abstra_statics/dist/assets/WebEditor.c2e271d1.css +0 -1
  290. abstra_statics/dist/assets/WidgetPreview.7c6a231c.js +0 -2
  291. abstra_statics/dist/assets/ant-design.42419021.js +0 -2
  292. abstra_statics/dist/assets/apiKey.403049eb.js +0 -2
  293. abstra_statics/dist/assets/asyncComputed.47aec2b5.js +0 -2
  294. abstra_statics/dist/assets/colorHelpers.50ced1e9.js +0 -2
  295. abstra_statics/dist/assets/constants.d569f33d.js +0 -2
  296. abstra_statics/dist/assets/contracts.generated.aefe8d0a.js +0 -2
  297. abstra_statics/dist/assets/dayjs.7f71c60a.js +0 -2
  298. abstra_statics/dist/assets/editor.02184ced.js +0 -2
  299. abstra_statics/dist/assets/editor.main.0f931e87.js +0 -2
  300. abstra_statics/dist/assets/fetch.1b3d01a0.js +0 -2
  301. abstra_statics/dist/assets/index.581e2edd.js +0 -2
  302. abstra_statics/dist/assets/index.966ac1b9.js +0 -2
  303. abstra_statics/dist/assets/index.c7a996a6.js +0 -2
  304. abstra_statics/dist/assets/index.d53182ed.js +0 -4
  305. abstra_statics/dist/assets/member.2260c37e.js +0 -2
  306. abstra_statics/dist/assets/metadata.0098e20c.js +0 -2
  307. abstra_statics/dist/assets/omniChatStore.dd7a1c46.js +0 -8
  308. abstra_statics/dist/assets/omniChatStore.ec95fb81.css +0 -1
  309. abstra_statics/dist/assets/player.4ab4aed5.js +0 -2
  310. abstra_statics/dist/assets/polling.b5a32c22.js +0 -2
  311. abstra_statics/dist/assets/redirect.586749f4.js +0 -2
  312. abstra_statics/dist/assets/repository.66c7567c.js +0 -2
  313. abstra_statics/dist/assets/router.06ee2b9d.js +0 -2
  314. abstra_statics/dist/assets/string.61e11a30.js +0 -2
  315. abstra_statics/dist/assets/tasksController.f3adf725.js +0 -4
  316. abstra_statics/dist/assets/url.f5664225.js +0 -2
  317. abstra_statics/dist/assets/useTables.18fc3efd.js +0 -2
  318. abstra_statics/dist/assets/userStore.6ab1e5ac.js +0 -2
  319. abstra_statics/dist/assets/uuid.5b8ba8af.js +0 -2
  320. abstra_statics/dist/assets/vue-flow-background.af096866.js +0 -2
  321. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/WHEEL +0 -0
  322. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/entry_points.txt +0 -0
  323. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2 @@
1
+ import{x as s,y as d,z as t,B as m}from"./jwt-decode.esm.3348bca5.js";import{a as u}from"./workspaceStore.5d3f2aec.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},a=new Error().stack;a&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[a]="cc2ebf0c-5e18-4711-901f-7ce6c2e5f294",e._sentryDebugIdIdentifier="sentry-dbid-cc2ebf0c-5e18-4711-901f-7ce6c2e5f294")}catch{}})();const b=async()=>{try{const e=await fetch("/_editor/api/workspace/version");return e.ok&&(await e.json()).version||"e696dc149d322509359d1df7bb9a32529c881d0f"}catch(e){return console.error("Failed to fetch Abstra version:",e),"e696dc149d322509359d1df7bb9a32529c881d0f"}},p=[{path:"/oidc-login-callback",name:"oidcLoginCallback",component:()=>t(()=>import("./OidcLoginCallback.987cebba.js"),["assets/OidcLoginCallback.987cebba.js","assets/workspaceStore.5d3f2aec.js","assets/jwt-decode.esm.3348bca5.js","assets/jwt-decode.c5760184.css","assets/userStore.34b8f1eb.js","assets/url.5d02a63f.js","assets/colorHelpers.5ee17d14.js"]),meta:{allowUnauthenticated:!0}},{path:"/oidc-logout-callback",name:"oidcLogoutCallback",component:()=>t(()=>import("./OidcLogoutCallback.6c00d878.js"),["assets/OidcLogoutCallback.6c00d878.js","assets/workspaceStore.5d3f2aec.js","assets/jwt-decode.esm.3348bca5.js","assets/jwt-decode.c5760184.css","assets/userStore.34b8f1eb.js","assets/url.5d02a63f.js","assets/colorHelpers.5ee17d14.js"]),meta:{allowUnauthenticated:!0}},{path:"/login",name:"playerLogin",component:()=>t(()=>import("./Login.8bd6a07a.js"),["assets/Login.8bd6a07a.js","assets/Login.vue_vue_type_script_setup_true_lang.02acef81.js","assets/jwt-decode.esm.3348bca5.js","assets/jwt-decode.c5760184.css","assets/workspaceStore.5d3f2aec.js","assets/userStore.34b8f1eb.js","assets/url.5d02a63f.js","assets/colorHelpers.5ee17d14.js","assets/CircularLoading.d81a4cac.js","assets/CircularLoading.a8fe2dc6.css","assets/Logo.fc8ace6c.js","assets/Logo.b7d81119.css","assets/string.998fa621.js","assets/index.bec0ecd0.js","assets/Login.ac75228f.css","assets/Login.3b76812d.css"]),meta:{allowUnauthenticated:!0}},{path:"/",name:"main",component:()=>t(()=>import("./Main.e6b2d2d5.js"),["assets/Main.e6b2d2d5.js","assets/PlayerNavbar.97e8dee9.js","assets/userStore.34b8f1eb.js","assets/jwt-decode.esm.3348bca5.js","assets/jwt-decode.c5760184.css","assets/workspaceStore.5d3f2aec.js","assets/url.5d02a63f.js","assets/colorHelpers.5ee17d14.js","assets/metadata.9f7495db.js","assets/PhWebhooksLogo.vue.58a98824.js","assets/LoadingOutlined.4c40acc4.js","assets/PhSignOut.vue.8d8dfd96.js","assets/index.b91afb03.js","assets/PlayerNavbar.4dc29a45.css","assets/Main.201c14c9.css"]),redirect:{name:"main"},children:[{path:"",name:"playerHome",component:()=>t(()=>import("./Home.191a6dce.js"),["assets/Home.191a6dce.js","assets/metadata.9f7495db.js","assets/jwt-decode.esm.3348bca5.js","assets/jwt-decode.c5760184.css","assets/PhWebhooksLogo.vue.58a98824.js","assets/Watermark.c0756030.js","assets/workspaceStore.5d3f2aec.js","assets/userStore.34b8f1eb.js","assets/url.5d02a63f.js","assets/colorHelpers.5ee17d14.js","assets/constants.be8ad36c.js","assets/Watermark.b0916e90.css","assets/PhArrowSquareOut.vue.1cebb708.js","assets/index.b72cb2b3.js","assets/Card.4a8a30bb.js","assets/LoadingOutlined.4c40acc4.js","assets/Home.e8bf9440.css"]),meta:{title:"Home"}},{path:"_player/threads",redirect:{name:"playerThreads"}},{path:"error/:status",name:"error",component:()=>t(()=>import("./Error.98b8036c.js"),["assets/Error.98b8036c.js","assets/AbstraLogo.vue_vue_type_script_setup_true_lang.1035457c.js","assets/Logo.fc8ace6c.js","assets/jwt-decode.esm.3348bca5.js","assets/jwt-decode.c5760184.css","assets/Logo.b7d81119.css","assets/constants.be8ad36c.js","assets/workspaceStore.5d3f2aec.js","assets/userStore.34b8f1eb.js","assets/url.5d02a63f.js","assets/colorHelpers.5ee17d14.js","assets/Card.4a8a30bb.js","assets/Error.ef2624eb.css"]),meta:{allowUnauthenticated:!0}},{path:":path(.*)*",name:"form",component:()=>t(()=>import("./Form.5d562f15.js"),["assets/Form.5d562f15.js","assets/userStore.34b8f1eb.js","assets/jwt-decode.esm.3348bca5.js","assets/jwt-decode.c5760184.css","assets/FormRunner.2b1b3c45.js","assets/Login.vue_vue_type_script_setup_true_lang.02acef81.js","assets/workspaceStore.5d3f2aec.js","assets/url.5d02a63f.js","assets/colorHelpers.5ee17d14.js","assets/CircularLoading.d81a4cac.js","assets/CircularLoading.a8fe2dc6.css","assets/Logo.fc8ace6c.js","assets/Logo.b7d81119.css","assets/string.998fa621.js","assets/index.bec0ecd0.js","assets/Login.ac75228f.css","assets/Steps.82252fc0.js","assets/index.82842143.js","assets/Steps.2880920a.css","assets/Watermark.c0756030.js","assets/constants.be8ad36c.js","assets/Watermark.b0916e90.css","assets/FormRunner.1e6e7d2a.css","assets/redirect.eedb2bf6.js","assets/asyncComputed.c73d027a.js","assets/uuid.6980e2bb.js","assets/Form.7493bc0a.css"]),meta:{hideLogin:!0}}]}],o=s({history:d("/"),routes:p,scrollBehavior(e){if(e.hash)return{el:e.hash}}}),l=e=>async(a,r)=>{if(m(a,r),a.meta.allowUnauthenticated)return;const n=await u(a.path),{redirect:c,...i}=a.query;switch(n.status){case"ALLOWED":break;case"UNAUTHORIZED":await e.push({name:"playerLogin",query:{...i,redirect:c||a.path},params:a.params});break;case"NOT_FOUND":await e.push({name:"error",params:{status:"404"}});break;default:await e.push({name:"error",params:{status:"403"}})}};o.beforeEach(l(o));export{b as a,o as b,l as g,p as r};
2
+ //# sourceMappingURL=router.c7abfb0c.js.map
@@ -0,0 +1,2 @@
1
+ import{Z as d}from"./jwt-decode.esm.3348bca5.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="90cd787d-fdc8-4381-8c69-b999f0b7600b",e._sentryDebugIdIdentifier="sentry-dbid-90cd787d-fdc8-4381-8c69-b999f0b7600b")}catch{}})();function h(e){return d.string().email().safeParse(e).success}function p(e){return e.charAt(0).toUpperCase()+e.slice(1)}function w(e,t,r=!1,a=!0,s=!1,n=!0){const o=(a?e.toLocaleLowerCase():e).normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=`a-zA-Z0-9${s?"/":""}${n?"-":""}`,c=new RegExp(`[^${i}]`,"g"),l=o.replace(c,"_"),u=r?l:l.replace(/_+/g,"_");return t?u:u.replace(/_$/,"")}function b(e){var n;const r=e.toLocaleLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=/[a-z0-9]+/g,s=r.match(a);return(n=s==null?void 0:s.join("-"))!=null?n:""}function m(e,t){if(e.length===0||t.length===0)return!1;const r=e.toLowerCase(),a=t.toLowerCase();return r.split("").reduce((n,f)=>{var i;if(n===!1)return!1;const o=(i=n[n.length-1])!=null?i:null;if(o===null){const c=a.indexOf(f);return c===-1?!1:[c]}else{const l=a.slice(o+1).indexOf(f);return l===-1?!1:[...n,o+1+l]}},[])}function y(e){let t=0;for(let r=0;r<e.length;r++){const a=e.charCodeAt(r);t=(t<<5)-t+a,t=t&t}return t}export{w as a,p as c,m as f,y as h,h as i,b as n};
2
+ //# sourceMappingURL=string.998fa621.js.map
@@ -1,2 +1,2 @@
1
- var j=Object.defineProperty;var w=(s,e,t)=>e in s?j(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var a=(s,e,t)=>(w(s,typeof e!="symbol"?e+"":e,t),t);import{k as n}from"./router.4dfadf5d.js";import{E as y}from"./record.e83a2eb2.js";import{a as h}from"./string.61e11a30.js";import{L as o}from"./jwt-decode.esm.54a1ea22.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[e]="d131df7f-dda2-49d5-a72d-fdb0e1056d41",s._sentryDebugIdIdentifier="sentry-dbid-d131df7f-dda2-49d5-a72d-fdb0e1056d41")}catch{}})();o.object({name:o.string().optional(),unique:o.boolean().optional(),nullable:o.boolean().optional(),type:o.object({newType:o.string(),using:o.string()}).optional(),default:o.string().optional(),foreignKey:o.object({columnId:o.string()}).nullish().optional()});const $={boolean:["boolean","bool"],int:["int","integer","int4"],varchar:["varchar","character varying"],json:["json"],jsonb:["jsonb"],date:["date"],timestamp:["timestamp","timestamp with time zone","timestamptz"],uuid:["uuid"],real:["real","float4","float8","double precision"],numeric:["numeric","decimal"],text:["text"],bigint:["bigint","int8"],smallint:["smallint","int2"]},T=s=>{for(const e of C)if($[e].includes(s))return e;throw new Error(`Unknown type: ${s}`)};class D{async create(e){return n.post(`projects/${e.projectId}/tables/${e.tableId}/columns`,e)}async delete(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}/columns/${e.id}`)}async update(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}/columns/${e.id}`,t)}async getById(e){return n.get(`projects/${e.projectId}/columns/${e.id}`)}}const g=new D,p=class{constructor(e){a(this,"record");this.record=y.from(e)}static async create(e,t,r,d,l,b,f,I){const m=await g.create({name:e,type:t,default:r,nullable:d,unique:l,tableId:b,projectId:f,foreignKey:I});return"error"in m?m:new p(m)}async update(e){const t={...this.record.changes,type:this.record.changes.type&&e?{newType:this.record.changes.type,using:e}:void 0};return Object.keys(t).length===0||!this.id?{success:!0,error:""}:(await g.update({id:this.id,tableId:this.tableId,projectId:this.projectId},t),{success:!0,error:""})}toDTO(){return this.record.state}get id(){return this.record.get("id")}get tableId(){return this.record.get("tableId")}get projectId(){return this.record.get("projectId")}get protected(){return this.record.get("protected")}get type(){return T(this.record.get("type"))}set type(e){this.record.set("type",e)}get name(){return this.record.get("name")}set name(e){this.record.set("name",e)}get nullable(){return this.record.get("nullable")}set nullable(e){this.record.set("nullable",e)}get unique(){return this.record.get("unique")}set unique(e){this.record.set("unique",e)}get primaryKey(){return this.record.get("primaryKey")}get default(){var e;return(e=this.record.get("default"))==null?void 0:e.split("::")[0]}set default(e){this.record.set("default",e)}get foreignKey(){return this.record.get("foreignKey")}set foreignKey(e){this.record.set("foreignKey",e)}async delete(){this.id&&await g.delete({id:this.id,tableId:this.tableId,projectId:this.projectId})}};let c=p;a(c,"fromDTO",e=>new p(e)),a(c,"fromID",async(e,t)=>{const r=await g.getById({projectId:e,id:t});return p.fromDTO(r.column)});const C=["varchar","int","boolean","json","jsonb","date","timestamp","uuid","real","numeric","text","bigint","smallint"],B={varchar:"'DEFAULT_VALUE'",int:"",boolean:"false",json:"'{}'::json",jsonb:"'{}'::jsonb",date:"now()",timestamp:"now()",uuid:"gen_random_uuid()",real:"0.0",numeric:"0",text:"'DEFAULT_VALUE'",bigint:"0",smallint:"0"};class R{async list(e){return n.get(`projects/${e}/tables`)}async create(e,t){return await n.post(`projects/${e.projectId}/tables`,t)}async get(e){return n.get(`projects/${e.projectId}/tables/${e.tableId}`)}async delete(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}`)}async selectRows(e){return n.get(`projects/${e.projectId}/tables/${e.tableId}/rows`,{limit:e.limit.toString(),offset:e.offset.toString(),search:e.search,where:JSON.stringify(e.where),orderBy:JSON.stringify(e.orderBy)})}async update(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}`,t)}async insertRow(e,t){return n.post(`projects/${e.projectId}/tables/${e.tableId}/rows`,t)}async updateRow(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}/rows/${e.rowId}`,t)}async deleteRow(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}/rows/${e.rowId}`)}async getByColumnID(e){return n.get(`projects/${e.projectId}/columns/${e.columnId}`)}}const i=new R;class u{constructor(e,t){a(this,"record");a(this,"columns");this.projectId=e,this.record=y.from(t),this.columns=t.columns.map(r=>c.fromDTO({...r,projectId:t.projectId}))}static async list(e){return(await i.list(e)).map(r=>new u(e,r))}static async fromColumnId(e,t){const r=await i.getByColumnID({projectId:e,columnId:t});return u.get(e,r.table.id)}static async create(e,t,r){const d=h(t,!1),l=await i.create({projectId:e},{name:d,id:r});return new u(e,l)}static async get(e,t){const r=await i.get({projectId:e,tableId:t});return new u(e,{...r.table,columns:r.columns})}async delete(e,t){return i.delete({projectId:e,tableId:t})}fixTraillingName(){this.name=h(this.name,!1)}async save(){if(Object.keys(this.record.changes).length!==0){this.record.changes.name&&this.fixTraillingName();try{await i.update({id:this.id,tableId:this.id,projectId:this.projectId},this.record.changes)}finally{this.record.resetChanges()}}}resetChanges(){this.record.resetChanges()}onUpdate(e){this.record.pubsub.subscribe("update",e)}hasChanges(){return this.record.hasChanges()}hasChangesDeep(e){return this.record.hasChangesDeep(e)&&h(this.name,!1)!==this.record.initialState.name}getColumns(){var e;return(e=this.columns)!=null?e:[]}getUnprotectedColumns(){var e,t;return(t=(e=this.columns)==null?void 0:e.filter(r=>!r.protected).map(r=>r.toDTO()))!=null?t:[]}get id(){return this.record.get("id")}get name(){return this.record.get("name")}set name(e){const t=h(e,!0);this.record.set("name",t)}async addColumn(e){const t=await c.create(e.name,e.type,e.default,e.nullable,e.unique,this.id,this.projectId,e.foreignKey);return"error"in t?{success:!1,error:t.error}:this.columns?(this.columns.push(t),{success:!0,error:""}):(this.columns=[t],{success:!0,error:""})}getColumn(e){var t;return(t=this.columns)==null?void 0:t.find(r=>r.id&&r.id===e)}async select(e={},t,r,d,l){return i.selectRows({name:this.name,where:e,tableId:this.id,projectId:this.projectId,limit:r,offset:t,search:d,orderBy:l})}async insertRow(e){return i.insertRow({tableId:this.id,projectId:this.projectId},e)}async updateRow(e,t){return i.updateRow({tableId:this.id,projectId:this.projectId,rowId:e},t)}async deleteRow(e){return i.deleteRow({tableId:this.id,projectId:this.projectId,rowId:e})}}export{c as C,u as T,B as d,C as p};
2
- //# sourceMappingURL=tables.1bcb1140.js.map
1
+ var j=Object.defineProperty;var w=(s,e,t)=>e in s?j(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var a=(s,e,t)=>(w(s,typeof e!="symbol"?e+"":e,t),t);import{k as n}from"./router.c6e27700.js";import{E as y}from"./record.a108da5a.js";import{a as h}from"./string.998fa621.js";import{Z as o}from"./jwt-decode.esm.3348bca5.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[e]="0422b185-e9db-45a0-91bd-37e231f916c3",s._sentryDebugIdIdentifier="sentry-dbid-0422b185-e9db-45a0-91bd-37e231f916c3")}catch{}})();o.object({name:o.string().optional(),unique:o.boolean().optional(),nullable:o.boolean().optional(),type:o.object({newType:o.string(),using:o.string()}).optional(),default:o.string().optional(),foreignKey:o.object({columnId:o.string()}).nullish().optional()});const $={boolean:["boolean","bool"],int:["int","integer","int4"],varchar:["varchar","character varying"],json:["json"],jsonb:["jsonb"],date:["date"],timestamp:["timestamp","timestamp with time zone","timestamptz"],uuid:["uuid"],real:["real","float4","float8","double precision"],numeric:["numeric","decimal"],text:["text"],bigint:["bigint","int8"],smallint:["smallint","int2"]},T=s=>{for(const e of C)if($[e].includes(s))return e;throw new Error(`Unknown type: ${s}`)};class D{async create(e){return n.post(`projects/${e.projectId}/tables/${e.tableId}/columns`,e)}async delete(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}/columns/${e.id}`)}async update(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}/columns/${e.id}`,t)}async getById(e){return n.get(`projects/${e.projectId}/columns/${e.id}`)}}const g=new D,p=class{constructor(e){a(this,"record");this.record=y.from(e)}static async create(e,t,r,d,l,b,f,I){const m=await g.create({name:e,type:t,default:r,nullable:d,unique:l,tableId:b,projectId:f,foreignKey:I});return"error"in m?m:new p(m)}async update(e){const t={...this.record.changes,type:this.record.changes.type&&e?{newType:this.record.changes.type,using:e}:void 0};return Object.keys(t).length===0||!this.id?{success:!0,error:""}:(await g.update({id:this.id,tableId:this.tableId,projectId:this.projectId},t),{success:!0,error:""})}toDTO(){return this.record.state}get id(){return this.record.get("id")}get tableId(){return this.record.get("tableId")}get projectId(){return this.record.get("projectId")}get protected(){return this.record.get("protected")}get type(){return T(this.record.get("type"))}set type(e){this.record.set("type",e)}get name(){return this.record.get("name")}set name(e){this.record.set("name",e)}get nullable(){return this.record.get("nullable")}set nullable(e){this.record.set("nullable",e)}get unique(){return this.record.get("unique")}set unique(e){this.record.set("unique",e)}get primaryKey(){return this.record.get("primaryKey")}get default(){var e;return(e=this.record.get("default"))==null?void 0:e.split("::")[0]}set default(e){this.record.set("default",e)}get foreignKey(){return this.record.get("foreignKey")}set foreignKey(e){this.record.set("foreignKey",e)}async delete(){this.id&&await g.delete({id:this.id,tableId:this.tableId,projectId:this.projectId})}};let c=p;a(c,"fromDTO",e=>new p(e)),a(c,"fromID",async(e,t)=>{const r=await g.getById({projectId:e,id:t});return p.fromDTO(r.column)});const C=["varchar","int","boolean","json","jsonb","date","timestamp","uuid","real","numeric","text","bigint","smallint"],B={varchar:"'DEFAULT_VALUE'",int:"",boolean:"false",json:"'{}'::json",jsonb:"'{}'::jsonb",date:"now()",timestamp:"now()",uuid:"gen_random_uuid()",real:"0.0",numeric:"0",text:"'DEFAULT_VALUE'",bigint:"0",smallint:"0"};class R{async list(e){return n.get(`projects/${e}/tables`)}async create(e,t){return await n.post(`projects/${e.projectId}/tables`,t)}async get(e){return n.get(`projects/${e.projectId}/tables/${e.tableId}`)}async delete(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}`)}async selectRows(e){return n.get(`projects/${e.projectId}/tables/${e.tableId}/rows`,{limit:e.limit.toString(),offset:e.offset.toString(),search:e.search,where:JSON.stringify(e.where),orderBy:JSON.stringify(e.orderBy)})}async update(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}`,t)}async insertRow(e,t){return n.post(`projects/${e.projectId}/tables/${e.tableId}/rows`,t)}async updateRow(e,t){return n.patch(`projects/${e.projectId}/tables/${e.tableId}/rows/${e.rowId}`,t)}async deleteRow(e){return n.delete(`projects/${e.projectId}/tables/${e.tableId}/rows/${e.rowId}`)}async getByColumnID(e){return n.get(`projects/${e.projectId}/columns/${e.columnId}`)}}const i=new R;class u{constructor(e,t){a(this,"record");a(this,"columns");this.projectId=e,this.record=y.from(t),this.columns=t.columns.map(r=>c.fromDTO({...r,projectId:t.projectId}))}static async list(e){return(await i.list(e)).map(r=>new u(e,r))}static async fromColumnId(e,t){const r=await i.getByColumnID({projectId:e,columnId:t});return u.get(e,r.table.id)}static async create(e,t,r){const d=h(t,!1),l=await i.create({projectId:e},{name:d,id:r});return new u(e,l)}static async get(e,t){const r=await i.get({projectId:e,tableId:t});return new u(e,{...r.table,columns:r.columns})}async delete(e,t){return i.delete({projectId:e,tableId:t})}fixTraillingName(){this.name=h(this.name,!1)}async save(){if(Object.keys(this.record.changes).length!==0){this.record.changes.name&&this.fixTraillingName();try{await i.update({id:this.id,tableId:this.id,projectId:this.projectId},this.record.changes)}finally{this.record.resetChanges()}}}resetChanges(){this.record.resetChanges()}onUpdate(e){this.record.pubsub.subscribe("update",e)}hasChanges(){return this.record.hasChanges()}hasChangesDeep(e){return this.record.hasChangesDeep(e)&&h(this.name,!1)!==this.record.initialState.name}getColumns(){var e;return(e=this.columns)!=null?e:[]}getUnprotectedColumns(){var e,t;return(t=(e=this.columns)==null?void 0:e.filter(r=>!r.protected).map(r=>r.toDTO()))!=null?t:[]}get id(){return this.record.get("id")}get name(){return this.record.get("name")}set name(e){const t=h(e,!0);this.record.set("name",t)}async addColumn(e){const t=await c.create(e.name,e.type,e.default,e.nullable,e.unique,this.id,this.projectId,e.foreignKey);return"error"in t?{success:!1,error:t.error}:this.columns?(this.columns.push(t),{success:!0,error:""}):(this.columns=[t],{success:!0,error:""})}getColumn(e){var t;return(t=this.columns)==null?void 0:t.find(r=>r.id&&r.id===e)}async select(e={},t,r,d,l){return i.selectRows({name:this.name,where:e,tableId:this.id,projectId:this.projectId,limit:r,offset:t,search:d,orderBy:l})}async insertRow(e){return i.insertRow({tableId:this.id,projectId:this.projectId},e)}async updateRow(e,t){return i.updateRow({tableId:this.id,projectId:this.projectId,rowId:e},t)}async deleteRow(e){return i.deleteRow({tableId:this.id,projectId:this.projectId,rowId:e})}}export{c as C,u as T,B as d,C as p};
2
+ //# sourceMappingURL=tables.9701f90c.js.map
@@ -0,0 +1,4 @@
1
+ var V=Object.defineProperty;var z=(o,t,e)=>t in o?V(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var f=(o,t,e)=>(z(o,typeof t!="symbol"?t+"":t,e),e);import{r as O,c as G,en as K,al as Q,i as u,w as W}from"./jwt-decode.esm.3348bca5.js";import"./contracts.generated.f01de5a3.js";import{A as v}from"./record.a108da5a.js";import"./linters.903f3240.js";import{u as X}from"./polling.f547718c.js";(function(){try{var o=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[t]="3c445f8a-fd68-414e-8394-d57bad734cce",o._sentryDebugIdIdentifier="sentry-dbid-3c445f8a-fd68-414e-8394-d57bad734cce")}catch{}})();class Y{async list(){return await(await fetch("/_editor/api/forms")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/forms",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/forms/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/forms/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/forms/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async duplicate(t){return await(await fetch(`/_editor/api/forms/${t}/duplicate`,{method:"POST"})).json()}}const m=new Y;class w{constructor(t){f(this,"record");this.record=v.create(m,t)}static async list(){return(await m.list()).map(e=>new w(e))}static async create(t,e,r,i){const a=await m.create(t,e,r,i);return new w(a)}static async get(t){const e=await m.get(t);return e?new w(e):null}get id(){return this.record.get("id")}get type(){return"form"}get allowRestart(){return this.record.get("allow_restart")}set allowRestart(t){this.record.set("allow_restart",t)}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}get autoStart(){return this.record.get("auto_start")}set autoStart(t){this.record.set("auto_start",t)}get endMessage(){return this.record.get("end_message")}set endMessage(t){this.record.set("end_message",t)}get errorMessage(){return this.record.get("error_message")}set errorMessage(t){this.record.set("error_message",t)}get path(){return this.record.get("path")}set path(t){this.record.set("path",t)}get restartButtonText(){return this.record.get("restart_button_text")}set restartButtonText(t){this.record.set("restart_button_text",t)}get startButtonText(){return this.record.get("start_button_text")}set startButtonText(t){this.record.set("start_button_text",t)}get startMessage(){return this.record.get("start_message")}set startMessage(t){this.record.set("start_message",t)}get timeoutMessage(){return this.record.get("timeout_message")}set timeoutMessage(t){this.record.set("timeout_message",t)}get notificationTrigger(){return new Proxy(this.record.get("notification_trigger"),{set:(t,e,r)=>(this.record.set("notification_trigger",{...t,[e]:r}),!0)})}set notificationTrigger(t){this.record.set("notification_trigger",t)}get(t){return this.record.get(t)}set(t,e){this.record.set(t,e)}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}get welcomeTitle(){return this.record.get("welcome_title")}set welcomeTitle(t){this.record.set("welcome_title",t)}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}hasChangesDeep(t){return this.record.hasChangesDeep(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}async delete(t){await m.delete(this.id,t)}async duplicate(){const t=await m.duplicate(this.id);return new w(t)}makeRunnerData(t){return{...t.makeRunnerData(),id:this.id,isLocal:!0,path:this.path,title:this.title,isInitial:this.isInitial,runtimeType:"form",autoStart:this.autoStart,endMessage:this.endMessage,errorMessage:this.errorMessage,allowRestart:this.allowRestart,welcomeTitle:this.welcomeTitle,startMessage:this.startMessage,timeoutMessage:this.timeoutMessage,startButtonText:this.startButtonText,restartButtonText:this.restartButtonText}}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}get isInitial(){return this.record.get("is_initial")}static from(t){return new w(t)}}class Z{async list(){return await(await fetch("/_editor/api/hooks")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/hooks",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/hooks/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/hooks/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/hooks/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async run(t,e){const r=new URLSearchParams(e.query),i=await fetch(`/_editor/api/hooks/${t}/run?${r.toString()}`,{method:e.method,headers:{"Content-Type":"application/json",...e.headers},body:e.method==="GET"?void 0:e.body}),{status:a,headers:d,body:h}=await i.json();return{status:a,headers:d,body:h}}}const T=new Z;class b{constructor(t){f(this,"record");this.record=v.create(T,t)}static async list(){return(await T.list()).map(e=>new b(e))}static async create(t,e,r,i){const a=await T.create(t,e,r,i);return new b(a)}static async get(t){const e=await T.get(t);return e?new b(e):null}async delete(t){await T.delete(this.id,t)}async duplicate(){return this}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}get id(){return this.record.get("id")}get type(){return"hook"}get path(){return this.record.get("path")}set path(t){this.record.set("path",t)}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}async run(t){return T.run(this.id,t)}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}get isInitial(){return this.record.get("is_initial")}static from(t){return new b(t)}}class q{async list(){return await(await fetch("/_editor/api/jobs")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/jobs/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/jobs/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/jobs/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async run(t){return(await fetch(`/_editor/api/jobs/${t}/run`,{method:"POST",headers:{"Content-Type":"application/json"}})).ok}}const S=new q;class I{constructor(t){f(this,"record");f(this,"isInitial",!0);this.record=v.create(S,t)}static async list(){return(await S.list()).map(e=>new I(e))}static async create(t,e,r,i){const a=await S.create(t,e,r,i);return new I(a)}static async get(t){const e=await S.get(t);return e?new I(e):null}async delete(t){await S.delete(this.id,t)}async duplicate(){return this}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}get schedule(){return this.record.get("schedule")}set schedule(t){this.record.set("schedule",t)}get type(){return"job"}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}get id(){return this.record.get("id")}async run(){return S.run(this.id)}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}static from(t){return new I(t)}hasChangesDeep(t){return this.record.hasChangesDeep(t)}}class F{async list(){return await(await fetch("/_editor/api/scripts")).json()}async create(t,e,r,i){return await(await fetch("/_editor/api/scripts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t,file:e,position:r,id:i})})).json()}async get(t){try{return await(await fetch(`/_editor/api/scripts/${t}`)).json()}catch{return null}}async update(t,e){return await(await fetch(`/_editor/api/scripts/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async delete(t,e){const r=e?"?remove_file=true":"",i=`/_editor/api/scripts/${t}`+r;await fetch(i,{method:"DELETE",headers:{"Content-Type":"application/json"}})}async run(t,e){return(await fetch(`/_editor/api/scripts/${t}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task_id:e})})).ok}}const _=new F;class C{constructor(t){f(this,"record");this.record=v.create(_,t)}static async list(){return(await _.list()).map(e=>new C(e))}static async create(t,e,r,i){const a=await _.create(t,e,r,i);return new C(a)}static async get(t){const e=await _.get(t);return e?new C(e):null}async delete(t){await _.delete(this.id,t)}async duplicate(){return this}async save(t){const e=this.codeContent;await this.record.save(t),this.record.updateInitialState("code_content",e)}onUpdate(t){this.record.pubsub.subscribe("update",t)}hasChanges(t){return this.record.hasChanges(t)}getInitialState(t){return this.record.getInitialState(t)}updateInitialState(t,e){this.record.updateInitialState(t,e)}get id(){return this.record.get("id")}get codeContent(){return this.record.get("code_content")}set codeContent(t){this.record.set("code_content",t)}get title(){return this.record.get("title")}set title(t){this.record.set("title",t)}get type(){return"tasklet"}get file(){return this.record.get("file")}set file(t){this.record.set("file",t)}get path(){return this.record.get("path")}set path(t){this.record.set("path",t)}async run(t){return _.run(this.id,t)}get position(){const[t,e]=this.record.get("workflow_position");return{x:t,y:e}}get isInitial(){return!1}static from(t){return new C(t)}}function H({api:o,fetchTasks:t}){const e=O({state:"idle"}),r=()=>{e.value={state:"idle"}},i=()=>{e.value={state:"creating",name:"My task",payloadCode:`{
2
+ "key": "value"
3
+ }`}},a=async h=>{const g=e.value;if(g.state!=="creating")throw new Error("Payload is required to create a task");if(!d.value)return;const c=JSON.parse(g.payloadCode),p=await o.createTask(g.name,h,c);return await t(),r(),p},d=G(()=>{const h=e.value;if(h.state!=="creating")return!1;try{const g=JSON.parse(h.payloadCode);return K.exports.isObject(g)}catch{return!1}});return{createTask:a,creatingTaskState:e,cancelCreatingTask:r,startCreatingTask:i,isPayloadValid:d}}const P=["pink","orange","green","blue","purple","red","cyan","magenta","volcano","gold"],ot=({api:o,poll:t,stageId:e,status:r,stages:i})=>{const a=Q({tasks:[],sentTasks:[],colorMap:new Map,pagination:{currentIndex:0,pageSize:10,totalCount:0},filters:{stage:e,status:r,dateRange:void 0},filterOptions:{stages:[],statuses:[{label:u.translate("i18n_tasksview_status_pending"),value:"pending"},{label:u.translate("i18n_tasksview_status_running"),value:"started"},{label:u.translate("i18n_tasksview_status_completed"),value:"completed"}]}}),d=[{name:"setToPending",label:u.translate("i18n_tasksview_action_set_to_pending"),handler:()=>{a.tasks.filter(s=>s.checked).map(s=>s.id).forEach(s=>x(s))}},{name:"setToCompleted",label:u.translate("i18n_tasksview_action_set_to_completed"),handler:()=>{a.tasks.filter(s=>s.checked).map(s=>s.id).forEach(s=>E(s))}},{name:"duplicate",label:u.translate("i18n_tasksview_action_duplicate"),handler:()=>{a.tasks.filter(s=>s.checked).forEach(async s=>{await o.createTask(s.type,s.targetStageId,s.payload),c()})}}],h=O(["pending"]),g=n=>{const s=a.tasks.findIndex(y=>y.id===n.id);s!==-1?a.tasks[s]=n:a.tasks.unshift(n)},c=async()=>{const n=e?await o.getStageTasks(e):await o.getAllTasks(a.pagination,a.filters);a.tasks=n.tasks.map(s=>({key:s.id,id:s.id,type:s.type,status:s.status,targetStageId:s.targetStageId,targetStageTitle:s.targetStageTitle,targetStageType:s.targetStageType,sourceStageTitle:s.sourceStageTitle,sourceStageType:s.sourceStageType,created:{at:new Date(s.created.at).toString(),byExecutionId:s.created.byExecutionId,byStageId:s.created.byStageId},locked:s.locked?{at:new Date(s.locked.at).toString(),byExecutionId:s.locked.byExecutionId,byStageId:s.locked.byStageId}:null,completed:s.completed?{at:new Date(s.completed.at).toString(),byExecutionId:s.completed.byExecutionId,byStageId:s.completed.byStageId}:null,payload:s.payload,checked:!1})),a.pagination.totalCount=n.totalCount},p=async()=>{if(!e)return[];const n=await o.getSentStageTasks(e);a.sentTasks=n.tasks.map(s=>({key:s.id,id:s.id,type:s.type,status:s.status,targetStageId:s.targetStageId,targetStageTitle:s.targetStageTitle,targetStageType:s.targetStageType,sourceStageTitle:s.sourceStageTitle,sourceStageType:s.sourceStageType,created:{at:new Date(s.created.at).toString(),byExecutionId:s.created.byExecutionId,byStageId:s.created.byStageId},locked:s.locked?{at:new Date(s.locked.at).toString(),byExecutionId:s.locked.byExecutionId,byStageId:s.locked.byStageId}:null,completed:s.completed?{at:new Date(s.completed.at).toString(),byExecutionId:s.completed.byExecutionId,byStageId:s.completed.byStageId}:null,payload:s.payload}))},j=()=>{var y;let n=0;a.tasks.concat((y=a.sentTasks)!=null?y:[]).forEach(k=>{a.colorMap.has(k.type)||(a.colorMap.set(k.type,P[n]),n=(n+1)%P.length)})};W(a.filters,async()=>{await Promise.all([c(),p()]),j()});const D=async()=>{await Promise.all([c(),p()]),j()},{startPolling:$,endPolling:A}=X({task:D,interval:15e3}),N=async()=>{if(await Promise.all([c(),p()]),j(),i===null){const n=Promise.all([w.list(),b.list(),I.list(),C.list()]).then(([s,y,k,l])=>[...s,...y,...k,...l]);a.filterOptions.stages=(await n).map(s=>({label:s.title,value:s.id}))}else a.filterOptions.stages=i.map(n=>({label:n.stageTitle,value:n.id}));t&&$()},J=()=>{t&&A()},x=async n=>{await o.updateTaskStatus(n,"pending"),c()},E=async n=>{await o.updateTaskStatus(n,"completed"),c()},U=n=>{a.tasks=a.tasks.map(s=>(s.id===n&&(s.checked=!s.checked),s))},M=()=>{const n=[],s=a.tasks.filter(l=>l.checked);return s.length===0?[]:(n.push("duplicate"),s.every(l=>l.status==="pending")&&n.push("setToCompleted"),s.every(l=>l.status==="completed")&&n.push("setToPending"),d.filter(l=>n.includes(l.name)))},R=async()=>{await o.clearAllTasks(),c(),p()},B=()=>[{title:u.translate("i18n_tasksview_column_date"),key:"timeInfo",align:"left",width:"25%"},{title:u.translate("i18n_tasksview_column_task"),key:"stageInfo",align:"left",width:"30%"},{title:u.translate("i18n_tasksview_column_payload"),key:"payloadInfo",align:"left",width:"45%"}],L=H({api:o,fetchTasks:c});return{setup:N,tearDown:J,state:a,getColumns:B,collapseValue:h,setToPending:x,setToCompleted:E,fetchTasks:c,fetchSentTasks:p,checkTask:U,getPossibleActions:M,clearAllTasks:R,insertOrUpdate:g,...L}};export{w as F,b as H,I as J,C as S,ot as T};
4
+ //# sourceMappingURL=tasksController.5db769f7.js.map