abstra 3.23.11__py3-none-any.whl → 3.24.0__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.

Potentially problematic release.


This version of abstra might be problematic. Click here for more details.

Files changed (268) hide show
  1. abstra/ai.py +2 -0
  2. abstra/cli.py +8 -3
  3. {abstra-3.23.11.dist-info → abstra-3.24.0.dist-info}/METADATA +2 -1
  4. {abstra-3.23.11.dist-info → abstra-3.24.0.dist-info}/RECORD +201 -191
  5. abstra_internals/consts/filepaths.py +1 -1
  6. abstra_internals/contracts_generated.py +5382 -5233
  7. abstra_internals/controllers/ai.py +23 -15
  8. abstra_internals/controllers/git.py +305 -0
  9. abstra_internals/controllers/main.py +10 -6
  10. abstra_internals/entities/forms/template.py +2 -2
  11. abstra_internals/environment.py +6 -0
  12. abstra_internals/interface/cli/deploy.py +1 -1
  13. abstra_internals/interface/sdk/ai.py +157 -19
  14. abstra_internals/repositories/git/__init__.py +38 -0
  15. abstra_internals/repositories/git/dulwich.py +1353 -0
  16. abstra_internals/repositories/git/git_test.py +1572 -0
  17. abstra_internals/repositories/git/native.py +578 -0
  18. abstra_internals/repositories/git/types.py +267 -0
  19. abstra_internals/repositories/linter/rules/env_in_bundle.py +5 -5
  20. abstra_internals/repositories/linter/rules/env_in_bundle_test.py +6 -6
  21. abstra_internals/repositories/linter/rules/venv_in_bundle.py +9 -16
  22. abstra_internals/server/blueprints/editor.py +4 -0
  23. abstra_internals/server/routes/ai.py +1 -18
  24. abstra_internals/server/routes/git.py +190 -0
  25. abstra_internals/server/routes/workspace.py +1 -1
  26. abstra_internals/services/file_watcher.py +32 -13
  27. abstra_internals/services/fs.py +8 -5
  28. abstra_internals/services/fs_test.py +4 -6
  29. abstra_internals/templates/__init__.py +0 -11
  30. abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.eb8ccb64.js +2 -0
  31. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.9f98292e.js +2 -0
  32. abstra_statics/dist/assets/ApiKeys.e975c4f3.js +2 -0
  33. abstra_statics/dist/assets/App.f62faff6.js +2 -0
  34. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.5aa45ac1.js +2 -0
  35. abstra_statics/dist/assets/BaseLayout.1ec2c96d.js +2 -0
  36. abstra_statics/dist/assets/Billing.60adc9fa.js +2 -0
  37. abstra_statics/dist/assets/{Breadcrumb.f11a16d0.js → Breadcrumb.26dec5f7.js} +2 -2
  38. abstra_statics/dist/assets/{Builds.2bf5dad8.js → Builds.f86210bc.js} +2 -2
  39. abstra_statics/dist/assets/{Card.6caecaa4.js → Card.6cfffb80.js} +2 -2
  40. abstra_statics/dist/assets/{CircularLoading.bc88c029.js → CircularLoading.a13d6a76.js} +2 -2
  41. abstra_statics/dist/assets/CloseCircleOutlined.30bc25a8.js +2 -0
  42. abstra_statics/dist/assets/{ConnectorsView.aeb00ce8.css → ConnectorsView.33c5380f.css} +1 -1
  43. abstra_statics/dist/assets/ConnectorsView.eb4c769f.js +2 -0
  44. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.8d2e4672.js +2 -0
  45. abstra_statics/dist/assets/ContentLayout.d03fee5b.js +2 -0
  46. abstra_statics/dist/assets/{CrudView.79588134.js → CrudView.c0824225.js} +2 -2
  47. abstra_statics/dist/assets/{DocsButton.vue_vue_type_script_setup_true_lang.6566ff97.js → DocsButton.vue_vue_type_script_setup_true_lang.3668aee4.js} +2 -2
  48. abstra_statics/dist/assets/{EditorLogin.e704b2ee.js → EditorLogin.46db248f.js} +2 -2
  49. abstra_statics/dist/assets/EditorsView.e72621fa.js +2 -0
  50. abstra_statics/dist/assets/EnvVars.f9f9d61f.js +2 -0
  51. abstra_statics/dist/assets/{Error.f378696f.js → Error.864f05b3.js} +2 -2
  52. abstra_statics/dist/assets/ExclamationCircleOutlined.a489b996.js +2 -0
  53. abstra_statics/dist/assets/{Files.06a52abd.js → Files.afe615e1.js} +2 -2
  54. abstra_statics/dist/assets/Form.556d0de2.js +2 -0
  55. abstra_statics/dist/assets/{FormRunner.2b75fd4d.js → FormRunner.7f56a8c6.js} +2 -2
  56. abstra_statics/dist/assets/Home.287d17f8.js +2 -0
  57. abstra_statics/dist/assets/Home.5b7e9c23.js +2 -0
  58. abstra_statics/dist/assets/{Live.08670b33.js → Live.50bacfea.js} +2 -2
  59. abstra_statics/dist/assets/LoadingContainer.ebace8de.js +2 -0
  60. abstra_statics/dist/assets/{LoadingOutlined.659d6aae.js → LoadingOutlined.9e949112.js} +2 -2
  61. abstra_statics/dist/assets/{Login.8491c4b7.js → Login.536a3067.js} +2 -2
  62. abstra_statics/dist/assets/Login.bec408c9.js +2 -0
  63. abstra_statics/dist/assets/{Login.vue_vue_type_script_setup_true_lang.eb94ecc3.js → Login.vue_vue_type_script_setup_true_lang.1c3f108d.js} +2 -2
  64. abstra_statics/dist/assets/{Logo.a32d36e7.js → Logo.82d6ab70.js} +2 -2
  65. abstra_statics/dist/assets/{Logs.030c8a19.js → Logs.f6135084.js} +2 -2
  66. abstra_statics/dist/assets/{LogsController.7e2c0c7a.js → LogsController.6b666816.js} +2 -2
  67. abstra_statics/dist/assets/Main.77b115f8.js +2 -0
  68. abstra_statics/dist/assets/{MockForm.8b56fd25.js → MockForm.deda9355.js} +2 -2
  69. abstra_statics/dist/assets/Navbar.4a6f2b09.js +2 -0
  70. abstra_statics/dist/assets/NewEditor.5f84de86.css +1 -0
  71. abstra_statics/dist/assets/NewEditor.e558e47d.js +8 -0
  72. abstra_statics/dist/assets/OidcLoginCallback.7f514b45.js +2 -0
  73. abstra_statics/dist/assets/OidcLogoutCallback.038813a1.js +2 -0
  74. abstra_statics/dist/assets/OmniChat.05ba8d8a.css +1 -0
  75. abstra_statics/dist/assets/OmniChat.60d98deb.js +6 -0
  76. abstra_statics/dist/assets/{OnboardingView.262e82cc.js → OnboardingView.9413ee50.js} +2 -2
  77. abstra_statics/dist/assets/{Organization.4f3ccb55.js → Organization.7203cc0b.js} +2 -2
  78. abstra_statics/dist/assets/Organizations.91220ca0.js +2 -0
  79. abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.a1a917b9.js → PhArrowCounterClockwise.vue.8090d021.js} +2 -2
  80. abstra_statics/dist/assets/{PhArrowSquareOut.vue.eb4455ba.js → PhArrowSquareOut.vue.26582195.js} +2 -2
  81. abstra_statics/dist/assets/{PhBookBookmark.vue.7bb66888.js → PhBookBookmark.vue.5b7ab079.js} +2 -2
  82. abstra_statics/dist/assets/{PhChats.vue.88d84608.js → PhChats.vue.b5df7174.js} +2 -2
  83. abstra_statics/dist/assets/{PhClockCounterClockwise.vue.02d85ea5.js → PhClockCounterClockwise.vue.812311ad.js} +2 -2
  84. abstra_statics/dist/assets/{PhCopy.vue.5664181e.js → PhCopy.vue.59b0f1b4.js} +2 -2
  85. abstra_statics/dist/assets/{PhCopySimple.vue.beb69d1f.js → PhCopySimple.vue.d41d9160.js} +2 -2
  86. abstra_statics/dist/assets/{PhCube.vue.8de1132a.js → PhCube.vue.63ae7d32.js} +2 -2
  87. abstra_statics/dist/assets/PhDatabase.vue.edfcb96b.js +2 -0
  88. abstra_statics/dist/assets/{PhDotsThreeVertical.vue.9e306480.js → PhDotsThreeVertical.vue.ab4580a5.js} +2 -2
  89. abstra_statics/dist/assets/PhDownloadSimple.vue.c2eaaad1.js +2 -0
  90. abstra_statics/dist/assets/{PhFolderPlus.vue.658105d4.js → PhFolderPlus.vue.05ba4a5c.js} +2 -2
  91. abstra_statics/dist/assets/{PhGear.vue.68bce043.js → PhGear.vue.0e4a6135.js} +2 -2
  92. abstra_statics/dist/assets/{PhKey.vue.3f5192b6.js → PhKey.vue.b2c184d1.js} +2 -2
  93. abstra_statics/dist/assets/{PhPencil.vue.ee28fb6e.js → PhPencil.vue.2f2fe576.js} +2 -2
  94. abstra_statics/dist/assets/{PhPencilSimple.vue.148807f6.js → PhPencilSimple.vue.cc8620ae.js} +2 -2
  95. abstra_statics/dist/assets/{PhRocket.vue.7ba12859.js → PhRocket.vue.e397203c.js} +2 -2
  96. abstra_statics/dist/assets/{PhSignOut.vue.aa78b6eb.js → PhSignOut.vue.a271f14b.js} +2 -2
  97. abstra_statics/dist/assets/{PhSparkle.vue.7820be45.js → PhSparkle.vue.726defa2.js} +2 -2
  98. abstra_statics/dist/assets/{PhUserList.vue.04f21cbe.js → PhUserList.vue.6a29f16d.js} +2 -2
  99. abstra_statics/dist/assets/{PhUsersThree.vue.8b11b97d.js → PhUsersThree.vue.275d13ab.js} +2 -2
  100. abstra_statics/dist/assets/PhWarningCircle.vue.3b1aca1b.js +2 -0
  101. abstra_statics/dist/assets/{PhWebhooksLogo.vue.9e20d559.js → PhWebhooksLogo.vue.5e772aac.js} +2 -2
  102. abstra_statics/dist/assets/{PlayerConfigProvider.0915b29f.js → PlayerConfigProvider.e90a2b41.js} +2 -2
  103. abstra_statics/dist/assets/{PlayerNavbar.78cf73f2.js → PlayerNavbar.11ec1844.js} +2 -2
  104. abstra_statics/dist/assets/Project.c16740fb.js +2 -0
  105. abstra_statics/dist/assets/ProjectLogin.e7a6f444.js +2 -0
  106. abstra_statics/dist/assets/{ProjectSettings.f9bf9124.js → ProjectSettings.52c19693.js} +2 -2
  107. abstra_statics/dist/assets/{ProjectsView.407ea382.js → ProjectsView.22fa7a8e.js} +2 -2
  108. abstra_statics/dist/assets/{SaveButton.e70cd09e.js → SaveButton.719393d2.js} +2 -2
  109. abstra_statics/dist/assets/{ScrollArea.vue_vue_type_script_setup_true_lang.cf352882.js → ScrollArea.vue_vue_type_script_setup_true_lang.d4028954.js} +2 -2
  110. abstra_statics/dist/assets/{Sidebar.e69f49bd.css → Sidebar.29baeab0.css} +1 -1
  111. abstra_statics/dist/assets/{Sidebar.ce129494.js → Sidebar.5cb8e04e.js} +2 -2
  112. abstra_statics/dist/assets/Sql.23d80bad.js +5 -0
  113. abstra_statics/dist/assets/Sql.90e6e2ba.css +1 -0
  114. abstra_statics/dist/assets/Steps.8e5d201a.js +2 -0
  115. abstra_statics/dist/assets/TableCard.529112b9.css +1 -0
  116. abstra_statics/dist/assets/TableCard.59f95f8f.js +2 -0
  117. abstra_statics/dist/assets/TableEditor.5853a363.css +1 -0
  118. abstra_statics/dist/assets/TableEditor.8539f984.js +2 -0
  119. abstra_statics/dist/assets/Tables.44d953f7.js +2 -0
  120. abstra_statics/dist/assets/TablesDiagram.8e47383c.js +15 -0
  121. abstra_statics/dist/assets/TablesDiagram.a588e7ff.css +1 -0
  122. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.6866fb32.js +2 -0
  123. abstra_statics/dist/assets/{Tasks.c9ba3095.js → Tasks.09551b19.js} +2 -2
  124. abstra_statics/dist/assets/{UploadOutlined.c563b054.js → UploadOutlined.eab75eb0.js} +2 -2
  125. abstra_statics/dist/assets/View.5fd7ddf0.js +2 -0
  126. abstra_statics/dist/assets/{View.vue_vue_type_script_setup_true_lang.a00f21c8.js → View.vue_vue_type_script_setup_true_lang.a904f400.js} +2 -2
  127. abstra_statics/dist/assets/{Watermark.c71c105b.js → Watermark.ab3d818f.js} +2 -2
  128. abstra_statics/dist/assets/WebEditor.d6ec6392.js +2 -0
  129. abstra_statics/dist/assets/{WidgetPreview.8bd406f7.js → WidgetPreview.86b31dec.js} +2 -2
  130. abstra_statics/dist/assets/{ant-design.06b818ab.js → ant-design.a865486e.js} +2 -2
  131. abstra_statics/dist/assets/apiKey.72f497ca.js +2 -0
  132. abstra_statics/dist/assets/{asyncComputed.bfb7341c.js → asyncComputed.cf5282fc.js} +2 -2
  133. abstra_statics/dist/assets/{build.aef51d48.js → build.df2d55cc.js} +2 -2
  134. abstra_statics/dist/assets/colorHelpers.37d9932b.js +2 -0
  135. abstra_statics/dist/assets/console.2bf7f04d.js +17 -0
  136. abstra_statics/dist/assets/{constants.b75d9567.js → constants.7d38ec8b.js} +2 -2
  137. abstra_statics/dist/assets/contracts.generated.590b1102.js +2 -0
  138. abstra_statics/dist/assets/{cssMode.0aa24dcd.js → cssMode.7133c7cb.js} +2 -2
  139. abstra_statics/dist/assets/{datetime.46141396.js → datetime.8de2ff28.js} +2 -2
  140. abstra_statics/dist/assets/dayjs.f18bbbca.js +2 -0
  141. abstra_statics/dist/assets/editor.3a4714e3.js +2 -0
  142. abstra_statics/dist/assets/editor.main.9c635b9a.js +2 -0
  143. abstra_statics/dist/assets/fetch.89fd5b7b.js +2 -0
  144. abstra_statics/dist/assets/{folder.fe6adcd2.js → folder.d8e23009.js} +2 -2
  145. abstra_statics/dist/assets/{freemarker2.8bd96640.js → freemarker2.6698d1ea.js} +2 -2
  146. abstra_statics/dist/assets/{handlebars.e5dd9b19.js → handlebars.a6c42dc0.js} +2 -2
  147. abstra_statics/dist/assets/{html.7bcef916.js → html.493a5410.js} +2 -2
  148. abstra_statics/dist/assets/{htmlMode.ce91c230.js → htmlMode.a28b2fca.js} +2 -2
  149. abstra_statics/dist/assets/{index.fe015dd3.js → index.2af3391c.js} +2 -2
  150. abstra_statics/dist/assets/{index.57a61691.js → index.4176fe88.js} +2 -2
  151. abstra_statics/dist/assets/{index.16664500.js → index.4d20c159.js} +2 -2
  152. abstra_statics/dist/assets/{index.ee218f7a.js → index.5d6b1e62.js} +2 -2
  153. abstra_statics/dist/assets/{index.06cad1f2.js → index.79ce3bf1.js} +2 -2
  154. abstra_statics/dist/assets/{index.161ccee5.js → index.c34a405a.js} +2 -2
  155. abstra_statics/dist/assets/index.fb182bd1.js +2 -0
  156. abstra_statics/dist/assets/{index.005bab7f.js → index.fb49354b.js} +2 -2
  157. abstra_statics/dist/assets/{javascript.4d5c0a37.js → javascript.3a36cf17.js} +2 -2
  158. abstra_statics/dist/assets/{jsonMode.0942a255.js → jsonMode.bead6ac8.js} +2 -2
  159. abstra_statics/dist/assets/{jwt-decode.esm.e1e8e181.js → jwt-decode.esm.d4517a10.js} +8 -8
  160. abstra_statics/dist/assets/{linters.39cc198f.js → linters.2f3141cb.js} +2 -2
  161. abstra_statics/dist/assets/{liquid.884b015e.js → liquid.0c337fae.js} +3 -3
  162. abstra_statics/dist/assets/member.48d6f2cd.js +2 -0
  163. abstra_statics/dist/assets/{metadata.034775c8.js → metadata.c3aed6e1.js} +2 -2
  164. abstra_statics/dist/assets/omniChatStore.c53bcca2.js +8 -0
  165. abstra_statics/dist/assets/{organization.a29009bc.js → organization.928c9bef.js} +2 -2
  166. abstra_statics/dist/assets/player.d3aeafc5.js +2 -0
  167. abstra_statics/dist/assets/{plotly.min.df1e817c.js → plotly.min.7225d3a0.js} +2 -2
  168. abstra_statics/dist/assets/{polling.84bf96db.js → polling.82ee6b45.js} +2 -2
  169. abstra_statics/dist/assets/{project.a9ad86e9.js → project.619b7244.js} +2 -2
  170. abstra_statics/dist/assets/{python.17c791bf.js → python.05764499.js} +3 -3
  171. abstra_statics/dist/assets/{razor.4b071c3b.js → razor.81a45581.js} +2 -2
  172. abstra_statics/dist/assets/record.7f43486c.js +2 -0
  173. abstra_statics/dist/assets/{redirect.cd158e43.js → redirect.f028a879.js} +2 -2
  174. abstra_statics/dist/assets/repository.9534db4b.js +2 -0
  175. abstra_statics/dist/assets/repository.c15239ce.js +2 -0
  176. abstra_statics/dist/assets/router.262190ec.js +2 -0
  177. abstra_statics/dist/assets/router.424f7da9.js +18 -0
  178. abstra_statics/dist/assets/string.0acf5572.js +2 -0
  179. abstra_statics/dist/assets/{tables.928d4c4a.js → tables.1f68ec62.js} +2 -2
  180. abstra_statics/dist/assets/{tasksController.95334db5.js → tasksController.371896de.js} +2 -2
  181. abstra_statics/dist/assets/{toggleHighContrast.67a76682.js → toggleHighContrast.0d0e5662.js} +7 -7
  182. abstra_statics/dist/assets/{tsMode.bd4befb2.js → tsMode.6eadbf06.js} +2 -2
  183. abstra_statics/dist/assets/{typescript.b5722de7.js → typescript.1670e287.js} +2 -2
  184. abstra_statics/dist/assets/url.e8732f77.js +2 -0
  185. abstra_statics/dist/assets/{useCodebaseEvents.47e4fcfe.js → useCodebaseEvents.53dec1f2.js} +2 -2
  186. abstra_statics/dist/assets/useTables.4f034cf8.js +2 -0
  187. abstra_statics/dist/assets/userStore.31024da3.js +2 -0
  188. abstra_statics/dist/assets/uuid.bde15ce7.js +2 -0
  189. abstra_statics/dist/assets/vue-flow-background.818c7852.js +2 -0
  190. abstra_statics/dist/assets/vue-flow-core.1180ec83.js +22 -0
  191. abstra_statics/dist/assets/{vue-quill.esm-bundler.d6a7c536.js → vue-quill.esm-bundler.c4f04985.js} +2 -2
  192. abstra_statics/dist/assets/{workspaceStore.cca10750.js → workspaceStore.6244d03d.js} +2 -2
  193. abstra_statics/dist/assets/{xml.0a62ffce.js → xml.f2867af8.js} +3 -3
  194. abstra_statics/dist/assets/{yaml.1efc213f.js → yaml.5427bb1b.js} +3 -3
  195. abstra_statics/dist/console.html +14 -15
  196. abstra_statics/dist/editor.html +13 -13
  197. abstra_statics/dist/player.html +9 -9
  198. tests/e2e/test_crud_files.py +1 -0
  199. abstra_internals/templates/abstraignore +0 -8
  200. abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.3fce0fbb.js +0 -2
  201. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.4fb1f88a.js +0 -2
  202. abstra_statics/dist/assets/ApiKeys.56b97ced.js +0 -2
  203. abstra_statics/dist/assets/App.bd5ec032.js +0 -2
  204. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.79524273.js +0 -2
  205. abstra_statics/dist/assets/BaseLayout.ac22ef55.js +0 -2
  206. abstra_statics/dist/assets/Billing.2c39d133.js +0 -2
  207. abstra_statics/dist/assets/CloseCircleOutlined.12f63f77.js +0 -2
  208. abstra_statics/dist/assets/ConnectorsView.97a8c63b.js +0 -2
  209. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.48b29302.js +0 -2
  210. abstra_statics/dist/assets/ContentLayout.072b3790.js +0 -2
  211. abstra_statics/dist/assets/EditorsView.987a7eda.js +0 -2
  212. abstra_statics/dist/assets/EnvVars.c5e84d82.js +0 -2
  213. abstra_statics/dist/assets/ExclamationCircleOutlined.f9a25080.js +0 -2
  214. abstra_statics/dist/assets/Form.4633ab8e.js +0 -2
  215. abstra_statics/dist/assets/Home.a883da25.js +0 -2
  216. abstra_statics/dist/assets/Home.d122da63.js +0 -2
  217. abstra_statics/dist/assets/LoadingContainer.b11f052c.js +0 -2
  218. abstra_statics/dist/assets/Login.84d39327.js +0 -2
  219. abstra_statics/dist/assets/Main.70db8614.js +0 -2
  220. abstra_statics/dist/assets/Navbar.6acd9007.js +0 -2
  221. abstra_statics/dist/assets/NewEditor.15e29eac.js +0 -8
  222. abstra_statics/dist/assets/NewEditor.6dd8f03b.css +0 -1
  223. abstra_statics/dist/assets/OidcLoginCallback.b65a6f9f.js +0 -2
  224. abstra_statics/dist/assets/OidcLogoutCallback.dabd09cf.js +0 -2
  225. abstra_statics/dist/assets/OmniChat.078af315.css +0 -1
  226. abstra_statics/dist/assets/OmniChat.6ed96f8e.js +0 -6
  227. abstra_statics/dist/assets/Organizations.d90dd629.js +0 -2
  228. abstra_statics/dist/assets/PhDownloadSimple.vue.6192bb0e.js +0 -2
  229. abstra_statics/dist/assets/PhPencilSimpleLine.vue.af76e884.js +0 -2
  230. abstra_statics/dist/assets/Project.34c75b7c.js +0 -2
  231. abstra_statics/dist/assets/ProjectLogin.9b8cb3d1.js +0 -2
  232. abstra_statics/dist/assets/Sql.3cdc910a.css +0 -1
  233. abstra_statics/dist/assets/Sql.4e31662a.js +0 -5
  234. abstra_statics/dist/assets/Steps.4c850501.js +0 -2
  235. abstra_statics/dist/assets/TableEditor.1e680eaf.css +0 -1
  236. abstra_statics/dist/assets/TableEditor.e7371677.js +0 -2
  237. abstra_statics/dist/assets/Tables.f2c23e20.js +0 -2
  238. abstra_statics/dist/assets/TablesDiagram.1ec45dd9.css +0 -1
  239. abstra_statics/dist/assets/TablesDiagram.8297ec4b.js +0 -15
  240. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.ec94f9e7.js +0 -2
  241. abstra_statics/dist/assets/View.4c3c38ba.js +0 -2
  242. abstra_statics/dist/assets/WebEditor.4ef39590.js +0 -2
  243. abstra_statics/dist/assets/apiKey.e3aa9e16.js +0 -2
  244. abstra_statics/dist/assets/colorHelpers.e94da383.js +0 -2
  245. abstra_statics/dist/assets/console.86947afb.js +0 -25
  246. abstra_statics/dist/assets/contracts.generated.7508e893.js +0 -2
  247. abstra_statics/dist/assets/dayjs.b4dc8227.js +0 -2
  248. abstra_statics/dist/assets/editor.4f4b7594.js +0 -2
  249. abstra_statics/dist/assets/editor.main.340c0a2d.js +0 -2
  250. abstra_statics/dist/assets/fetch.cfa094a0.js +0 -2
  251. abstra_statics/dist/assets/index.a884598f.js +0 -2
  252. abstra_statics/dist/assets/index.eb8f01b7.js +0 -2
  253. abstra_statics/dist/assets/member.af05829c.js +0 -2
  254. abstra_statics/dist/assets/omniChatStore.19fcae1a.js +0 -8
  255. abstra_statics/dist/assets/player.b9e54e21.js +0 -2
  256. abstra_statics/dist/assets/record.06867f70.js +0 -2
  257. abstra_statics/dist/assets/repository.40cf87c6.js +0 -2
  258. abstra_statics/dist/assets/repository.ecf19994.js +0 -2
  259. abstra_statics/dist/assets/router.8ccbba96.js +0 -10
  260. abstra_statics/dist/assets/router.c00c99d7.js +0 -2
  261. abstra_statics/dist/assets/string.ea3b2597.js +0 -2
  262. abstra_statics/dist/assets/url.62ce842c.js +0 -2
  263. abstra_statics/dist/assets/userStore.51f1e2d0.js +0 -2
  264. abstra_statics/dist/assets/uuid.f4308f15.js +0 -2
  265. abstra_statics/dist/assets/vue-flow-background.03bf6b4b.js +0 -22
  266. {abstra-3.23.11.dist-info → abstra-3.24.0.dist-info}/WHEEL +0 -0
  267. {abstra-3.23.11.dist-info → abstra-3.24.0.dist-info}/entry_points.txt +0 -0
  268. {abstra-3.23.11.dist-info → abstra-3.24.0.dist-info}/top_level.txt +0 -0
@@ -1,2 +1,2 @@
1
- import{f as o,e7 as l}from"./jwt-decode.esm.e1e8e181.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]="69486edd-b5d8-4925-ac1c-c75d87fa69ba",e._sentryDebugIdIdentifier="sentry-dbid-69486edd-b5d8-4925-ac1c-c75d87fa69ba")}catch{}})();var i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"};const u=i;function c(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?Object(arguments[t]):{},r=Object.keys(n);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable}))),r.forEach(function(a){f(e,a,n[a])})}return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=function(t,n){var r=c({},t,n.attrs);return o(l,c({},r,{icon:u}),null)};d.displayName="UploadOutlined";d.inheritAttrs=!1;const p=d;export{p as U};
2
- //# sourceMappingURL=UploadOutlined.c563b054.js.map
1
+ import{f as d,e7 as l}from"./jwt-decode.esm.d4517a10.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]="bc5e2124-aa79-4705-8d36-009fe3f28717",e._sentryDebugIdIdentifier="sentry-dbid-bc5e2124-aa79-4705-8d36-009fe3f28717")}catch{}})();var i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"upload",theme:"outlined"};const u=i;function c(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?Object(arguments[t]):{},r=Object.keys(n);typeof Object.getOwnPropertySymbols=="function"&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable}))),r.forEach(function(a){f(e,a,n[a])})}return e}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o=function(t,n){var r=c({},t,n.attrs);return d(l,c({},r,{icon:u}),null)};o.displayName="UploadOutlined";o.inheritAttrs=!1;const p=o;export{p as U};
2
+ //# sourceMappingURL=UploadOutlined.eab75eb0.js.map
@@ -0,0 +1,2 @@
1
+ var me=Object.defineProperty;var fe=(s,e,a)=>e in s?me(s,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[e]=a;var U=(s,e,a)=>(fe(s,typeof e!="symbol"?e+"":e,a),a);import{a as q}from"./asyncComputed.cf5282fc.js";import{d as b,r as x,a as g,b as l,u as t,o as y,f as n,cN as J,g as h,aB as G,cP as ge,bR as _,dc as he,ae as S,cx as w,bJ as T,cw as B,c as H,a5 as Q,ec as ve,d2 as _e,ed as we,aR as W,em as X,cC as Y,eb as be,J as Ce,h as I,A as ke,d7 as Pe}from"./jwt-decode.esm.d4517a10.js";import{A as E}from"./index.fb182bd1.js";import{_ as Ue}from"./DocsButton.vue_vue_type_script_setup_true_lang.3668aee4.js";import{d as F,k as R,p as k}from"./router.424f7da9.js";import{C as ee}from"./CrudView.c0824225.js";import{G as te}from"./PhPencil.vue.2f2fe576.js";import{C as Re}from"./repository.9534db4b.js";import{E as ae}from"./record.7f43486c.js";import{a as M}from"./ant-design.a865486e.js";import{A as Z,T as Ee}from"./Card.6cfffb80.js";import"./constants.7d38ec8b.js";import"./index.4176fe88.js";import"./url.e8732f77.js";import"./PhDotsThreeVertical.vue.ab4580a5.js";import"./fetch.89fd5b7b.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]="b2c6e265-d853-4b1f-be9a-2e40810f3d69",s._sentryDebugIdIdentifier="sentry-dbid-b2c6e265-d853-4b1f-be9a-2e40810f3d69")}catch{}})();const xe=b({__name:"View",props:{signupPolicy:{}},emits:["updated","save"],setup(s,{emit:e}){const a=s,o=x(a.signupPolicy.strategy),r=x(a.signupPolicy.strategy==="patternOnly"?a.signupPolicy.emailPatterns:[]),i=x(a.signupPolicy.strategy==="patternOnly"?a.signupPolicy.emailPatterns.map(c=>({label:c})):[]),m=c=>{const C=c;if(r.value=C,C.length===0){o.value="inviteOnly",f("inviteOnly");return}i.value=C.map(P=>({label:P})),a.signupPolicy.emailPatterns=c,e("updated",a.signupPolicy)},p=()=>{e("save")},f=c=>{o.value=c,c!=="patternOnly"&&(c==="inviteOnly"&&a.signupPolicy.allowOnlyInvited(),e("updated",a.signupPolicy))};return(c,C)=>(y(),g(t(he),{style:{"padding-top":"8px",width:"100%"},justify:"space-between",align:"flex-end"},{default:l(()=>[n(t(ge),{value:o.value,"onUpdate:value":f},{default:l(()=>[n(t(E),{direction:"vertical"},{default:l(()=>[n(t(J),{value:"inviteOnly"},{default:l(()=>[h("Allow listed users only")]),_:1}),n(t(E),null,{default:l(()=>[n(t(J),{value:"patternOnly"},{default:l(()=>[h("Allow everyone from this domain:")]),_:1}),n(t(G),{mode:"tags",value:c.signupPolicy.emailPatterns,style:{"min-width":"300px"},placeholder:"@domain.com or sub.domain.com",disabled:o.value!=="patternOnly",options:i.value,"dropdown-match-select-width":"",open:!1,"onUpdate:value":m},null,8,["value","disabled","options"])]),_:1})]),_:1})]),_:1},8,["value"]),n(t(_),{disabled:!c.signupPolicy.hasChanges,type:"primary",onClick:p},{default:l(()=>[h(" Save changes ")]),_:1},8,["disabled"])]),_:1}))}}),Ae=b({__name:"NewUser",props:{roleOptions:{}},emits:["created","cancel"],setup(s,{emit:e}){const o=s.roleOptions.map(p=>({label:p.name,value:p.name})),r=S({email:"",roles:[]});function i(){e("cancel")}function m(){!r.email||e("created",r)}return(p,f)=>(y(),g(t(F),{open:"",title:"New user",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:i},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:i},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:m},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:r,layout:"vertical"},{default:l(()=>[n(t(w),{key:"email",label:"Email",required:!0},{default:l(()=>[n(t(T),{value:r.email,"onUpdate:value":f[0]||(f[0]=c=>r.email=c)},null,8,["value"])]),_:1}),n(t(w),{key:"role",label:"Role"},{default:l(()=>[n(t(G),{value:r.roles,"onUpdate:value":f[1]||(f[1]=c=>r.roles=c),mode:"multiple",options:t(o)},null,8,["value","options"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),Oe=b({__name:"UpdateUser",props:{roleOptions:{},email:{},roles:{}},emits:["updated","cancel"],setup(s,{emit:e}){const a=s,o=a.roleOptions.map(p=>({label:p.name,value:p.name})),r=S({email:a.email,roles:a.roles});function i(){e("cancel")}function m(){e("updated",r)}return(p,f)=>(y(),g(t(F),{open:"",title:"Update user",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:i},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:i},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:m},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:r,layout:"vertical"},{default:l(()=>[n(t(w),{key:"email",label:"Email"},{default:l(()=>[n(t(T),{value:r.email,"onUpdate:value":f[0]||(f[0]=c=>r.email=c)},null,8,["value"])]),_:1}),n(t(w),{key:"role",label:"Role"},{default:l(()=>[n(t(G),{value:r.roles,"onUpdate:value":f[1]||(f[1]=c=>r.roles=c),mode:"multiple",options:t(o)},null,8,["value","options"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),$e=b({__name:"View",props:{loading:{type:Boolean},users:{},onCreate:{type:Function},onEdit:{type:Function},onDelete:{type:Function}},setup(s){const e=s,a=H(()=>{var o;return{columns:[{title:"Email"},{title:"Roles"},{title:"",align:"right"}],rows:(o=e.users.map(r=>({key:r.email,cells:[{type:"text",text:r.email},{type:"slot",key:"roles",payload:{roles:r.roles}},{type:"actions",actions:[{icon:te,label:"Edit",onClick:()=>e.onEdit(r)},{icon:X,label:"Delete",onClick:()=>e.onDelete(r)}]}]})))!=null?o:[]}});return(o,r)=>(y(),g(ee,{"entity-name":"users",title:"",loading:o.loading,description:"List all app users.","empty-title":"No users yet",table:a.value,"create-button-text":"Add users",create:o.onCreate},{roles:l(({payload:i})=>[(y(!0),Q(W,null,ve(i.roles,m=>(y(),g(t(_e),{key:m,bordered:""},{default:l(()=>[h(we(m),1)]),_:2},1024))),128))]),_:1},8,["loading","table","create"]))}}),De=b({__name:"NewRole",emits:["created","cancel"],setup(s,{emit:e}){const a=S({name:"",description:""});function o(){e("cancel")}function r(){!a.name||e("created",a)}return(i,m)=>(y(),g(t(F),{open:"",title:"New role",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:o},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:o},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:r},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:a,layout:"vertical"},{default:l(()=>[n(t(w),{key:"name",label:"Name",required:!0},{default:l(()=>[n(t(T),{value:a.name,"onUpdate:value":m[0]||(m[0]=p=>a.name=p)},null,8,["value"])]),_:1}),n(t(w),{key:"description",label:"Description"},{default:l(()=>[n(t(Y),{value:a.description,"onUpdate:value":m[1]||(m[1]=p=>a.description=p),placeholder:"Optional description",rows:3},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),Ie=b({__name:"UpdateRole",props:{name:{},description:{}},emits:["updated","cancel"],setup(s,{emit:e}){const a=s,o=S({description:a.description});function r(){e("cancel")}function i(){e("updated",o)}return(m,p)=>(y(),g(t(F),{open:"",title:"Update role",width:720,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:r},{extra:l(()=>[n(t(E),null,{default:l(()=>[n(t(_),{onClick:r},{default:l(()=>[h("Cancel")]),_:1}),n(t(_),{type:"primary",onClick:i},{default:l(()=>[h("Submit")]),_:1})]),_:1})]),default:l(()=>[n(t(B),{model:o,layout:"vertical"},{default:l(()=>[n(t(w),{key:"name",label:"Name"},{default:l(()=>[n(t(T),{value:a.name,disabled:""},null,8,["value"])]),_:1}),n(t(w),{key:"role",label:"Role"},{default:l(()=>[n(t(Y),{value:o.description,"onUpdate:value":p[0]||(p[0]=f=>o.description=f),placeholder:"Optional description",rows:3},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}))}}),je=b({__name:"View",props:{loading:{type:Boolean},roles:{},onCreate:{type:Function},onEdit:{type:Function},onDelete:{type:Function}},setup(s){const e=s,a=H(()=>{var o;return{columns:[{title:"Name"},{title:"Description"},{title:"",align:"right"}],rows:(o=e.roles.map(r=>({key:r.id,cells:[{type:"text",text:r.name},{type:"text",text:r.description},{type:"actions",actions:[{icon:te,label:"Edit",onClick:()=>e.onEdit(r)},{icon:X,label:"Delete",onClick:()=>e.onDelete(r)}]}]})))!=null?o:[]}});return(o,r)=>(y(),g(ee,{"entity-name":"roles",loading:o.loading,title:"",description:"List all app roles.","empty-title":"No roles yet",table:a.value,"create-button-text":"Add roles",create:o.onCreate},null,8,["loading","table","create"]))}}),N=class{constructor(e){U(this,"record");this.dto=e,this.record=ae.from(e)}static from(e){return new N(e)}toDTO(){return this.record.toDTO()}get id(){return this.record.get("id")}get projectId(){return this.record.get("projectId")}get emailPatterns(){return this.record.get("emailPatterns")}set emailPatterns(e){this.record.set("emailPatterns",e)}get hasChanges(){return this.record.hasChangesDeep("emailPatterns")}get strategy(){return this.dto.emailPatterns.length===0?"inviteOnly":"patternOnly"}get changes(){return this.record.changes}allowOnlyInvited(){this.record.set("emailPatterns",[])}static validate(e){return N.pattern.test(e)}};let A=N;U(A,"pattern",new RegExp("^@?(?!-)[A-Za-z0-9-]{1,}(?<!-)(\\.[A-Za-z]{2,})+$"));class Ne{constructor(){U(this,"urlPath","signup-policy")}async update(e,a){return R.patch(`projects/${e}/${this.urlPath}`,a)}async get(e){return R.get(`projects/${e}/${this.urlPath}`)}}const K=new Ne;class Se{constructor(e){this.projectId=e}async update(e){const{emailPatterns:a}=e.changes;if(!a)return e;const o=await K.update(this.projectId,{emailPatterns:a});return A.from(o)}async get(){const e=await K.get(this.projectId);return A.from(e)}}class z{constructor(e){U(this,"record");this.dto=e,this.record=ae.from(e)}static from(e){return new z(e)}toDTO(){return this.record.toDTO()}get changes(){return this.record.changes}get id(){return this.record.get("id")}get email(){return this.record.get("email")}set email(e){this.record.set("email",e)}get projectId(){return this.record.get("projectId")}get roles(){return this.record.get("roles")}set roles(e){this.record.set("roles",e)}update(e){this.record.update(e)}resetChanges(){this.record.resetChanges()}}class Te{constructor(){U(this,"urlPath","users")}async create(e,a){return R.post(`projects/${e}/${this.urlPath}`,a)}async delete(e,a){await R.delete(`projects/${e}/${this.urlPath}/${a}`)}async list(e,{limit:a,offset:o}){const r={};a&&(r.limit=a.toString()),o&&(r.offset=o.toString());const i=new URLSearchParams(r);return R.get(`projects/${e}/${this.urlPath}?${i.toString()}`)}async update(e,a,o){return R.patch(`projects/${e}/${this.urlPath}/${a}`,o)}}const j=new Te;class Be{constructor(e){this.projectId=e}async create(e){await j.create(this.projectId,e)}async update(e,a){await j.update(this.projectId,e,a)}async delete(e){await j.delete(this.projectId,e)}async list(e,a){return(await j.list(this.projectId,{limit:e,offset:a})).map(z.from)}}const at=b({__name:"View",setup(s){const a=be().params.projectId,o=x({type:"initial"}),r=x("users");Ce(()=>{const d=new URLSearchParams(location.search).get("selected-panel")||"users",v=["roles","users"].includes(d)?d:"users";d&&(r.value=v)});const i=()=>{o.value.type="initial"},m=()=>{o.value.type="creatingUser"},p=u=>{o.value={type:"editingUser",payload:u}},f=()=>{o.value.type="creatingRole"},c=u=>{o.value={type:"editingRole",payload:u}},C=new Se(a),{result:P,refetch:oe}=q(()=>C.get()),re=async()=>{if(!!P.value)try{await C.update(P.value),oe()}catch(u){u instanceof Error&&k("Update Error",u.message)}},O=new Be(a),{loading:ne,result:le,refetch:$}=q(()=>O.list(100,0)),D=new Re(a),{loading:se,result:V,refetch:L}=q(()=>D.list(100,0)),ie=async u=>{try{if(o.value.type!=="creatingUser")return;await O.create(u),i(),$()}catch(d){d instanceof Error&&k("Create Error",d.message)}},ce=async u=>{try{if(o.value.type!=="editingUser")return;await O.update(o.value.payload.id,u),i(),$()}catch(d){d instanceof Error&&k("Update Error",d.message)}},ue=async u=>{if(!!await M("Deleting users revoke their access to your application (in case they aren't allowed by a domain rule). Are you sure you want to continue?"))try{await O.delete(u.id),$()}catch(v){v instanceof Error&&k("Delete Error",v.message)}},de=async u=>{try{if(o.value.type!=="creatingRole")return;await D.create(u),i(),L()}catch(d){d instanceof Error&&k("Create Error",d.message)}},pe=async u=>{try{if(o.value.type!=="editingRole")return;await D.update(o.value.payload.id,u),i(),L()}catch(d){d instanceof Error&&k("Update Error",d.message)}},ye=async u=>{if(!!await M("Deleteing roles may revoke access to some features in your application. Are you sure you want to continue?"))try{await D.delete(u.id),L(),$()}catch(v){v instanceof Error&&k("Delete Error",v.message)}};return(u,d)=>(y(),Q(W,null,[n(t(ke),null,{default:l(()=>[h("Access Control")]),_:1}),n(t(Pe),null,{default:l(()=>[h(" Manage how your end users interect with your application. "),n(Ue,{path:"tools/access-control"})]),_:1}),n(t(Ee),{"active-key":r.value,"onUpdate:activeKey":d[0]||(d[0]=v=>r.value=v)},{default:l(()=>[n(t(Z),{key:"users",tab:"Users"}),n(t(Z),{key:"roles",tab:"Roles"})]),_:1},8,["active-key"]),r.value==="users"&&t(P)?(y(),g(xe,{key:0,"signup-policy":t(P),onSave:re},null,8,["signup-policy"])):I("",!0),r.value==="users"?(y(),g($e,{key:1,loading:t(ne),users:t(le)||[],onCreate:m,onEdit:p,onDelete:ue},null,8,["loading","users"])):I("",!0),r.value==="roles"?(y(),g(je,{key:2,loading:t(se),roles:t(V)||[],onCreate:f,onEdit:c,onDelete:ye},null,8,["loading","roles"])):I("",!0),o.value.type==="creatingUser"?(y(),g(Ae,{key:3,"role-options":t(V)||[],onCancel:i,onCreated:ie},null,8,["role-options"])):o.value.type==="editingUser"?(y(),g(Oe,{key:4,email:o.value.payload.email,roles:o.value.payload.roles||[],"role-options":t(V)||[],onUpdated:ce,onCancel:i},null,8,["email","roles","role-options"])):o.value.type==="creatingRole"?(y(),g(De,{key:5,onCancel:i,onCreated:de})):o.value.type==="editingRole"?(y(),g(Ie,{key:6,name:o.value.payload.name,description:o.value.payload.description,onUpdated:pe,onCancel:i},null,8,["name","description"])):I("",!0)],64))}});export{at as default};
2
+ //# sourceMappingURL=View.5fd7ddf0.js.map
@@ -1,2 +1,2 @@
1
- var x=Object.defineProperty;var _=(n,e,t)=>e in n?x(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>(_(n,typeof e!="symbol"?e+"":e,t),t);import{h as C}from"./router.8ccbba96.js";import{l as D}from"./fetch.cfa094a0.js";import{E as U}from"./record.06867f70.js";import{N as I,r as R,eq as S,d as $,w as F,J as O,aq as B,a5 as L,u as a,a as h,eg as M,b as o,h as v,aR as N,o as c,g as y,ed as b,f as m,cy as P,da as G,cE as z,cz as W,M as q}from"./jwt-decode.esm.e1e8e181.js";import{S as A}from"./SaveButton.e70cd09e.js";import{C as J}from"./CrudView.79588134.js";import{a as Z}from"./asyncComputed.bfb7341c.js";import{o as f}from"./omniChatStore.19fcae1a.js";import{G as H}from"./PhPencil.vue.ee28fb6e.js";import{u as K}from"./useCodebaseEvents.47e4fcfe.js";import{A as Q}from"./index.fe015dd3.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="7e180e94-3eae-4755-a4f6-0c02cac6b9ee",n._sentryDebugIdIdentifier="sentry-dbid-7e180e94-3eae-4755-a4f6-0c02cac6b9ee")}catch{}})();class g{constructor(e){s(this,"data");s(this,"deleted");s(this,"wasDeleted",e=>this.deleted.value.includes(e));s(this,"wasUpdated",e=>this.data.hasChangesDeep(e));s(this,"set",(e,t)=>{this.data.set(e,t),this.deleted.value=this.deleted.value.filter(i=>i!==e)});s(this,"get",e=>{if(!this.deleted.value.includes(e))return this.data.get(e)});s(this,"delete",e=>{this.deleted.value=[...this.deleted.value,e]});s(this,"values",()=>{const e={},t=Object.keys(this.data.changes).concat(Object.keys(this.data.initialState));for(const i of t)this.deleted.value.includes(i)||(e[i]=this.data.get(i));return e});s(this,"commit",()=>{this.data=U.from(this.values()),this.deleted.value=[]});this.data=U.from(e),this.deleted=I([])}static from(e){const t=e.reduce((i,{name:d,value:p})=>(i[d]=p,i),{});return new g(t)}get changes(){const e=this.deleted.value.map(t=>({name:t,change:"delete"}));for(const t of Object.keys(this.data.changes))if(!this.deleted.value.includes(t)){if(this.data.initialState[t]===void 0){e.push({name:t,value:this.data.get(t),change:"create"});continue}this.data.hasChangesDeep(t)&&e.push({name:t,value:this.data.get(t),change:"update"})}return e}}class X{constructor(){s(this,"urlPath","env-vars")}async list(e){return await C.get(`projects/${e}/${this.urlPath}`)}async update(e,t){await C.patch(`projects/${e}/${this.urlPath}`,t)}}const T=new X;class ue{constructor(e){this.projectId=e}async get(){const e=await T.list(this.projectId);return g.from(e.map(t=>({...t,value:""})))}async update(e){await T.update(this.projectId,e)}}class he{constructor(e=D){this.fetch=e}async get(){const e=await this.fetch("/_editor/api/env-vars");if(!e.ok)throw new Error("Failed to list env vars");const t=await e.json();return g.from(t)}async update(e){await this.fetch("/_editor/api/env-vars",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}class w{constructor(e,t,i){s(this,"envVarRepo");s(this,"envVars");s(this,"state",R({type:"idle"}));s(this,"mode");s(this,"validate",e=>{const t=/^[A-Za-z_][A-Za-z0-9_]*$/,{key:i,value:d}=e;if(d.trim()!==d)throw new Error("Environment variable values cannot have leading or trailing whitespace.");if(!t.test(i))throw new Error(`Invalid key: \u2018${i}\u2019. A key must begin with a letter or an underscore, and may only include letters, numbers, and underscores.`)});s(this,"create",e=>{this.validate(e),this.envVars.set(e.key,e.value),this.state.value={type:"idle"}});s(this,"delete",e=>{this.envVars.delete(e),this.state.value={type:"idle"}});s(this,"startUpdating",e=>{this.state.value={type:"updating",name:e,value:this.envVars.get(e)||""}});s(this,"confirmUpdate",()=>{this.state.value.type==="updating"&&(this.envVars.set(this.state.value.name,this.state.value.value),this.state.value={type:"idle"})});s(this,"cancelUpdate",()=>{this.state.value={type:"idle"}});s(this,"refetch",async()=>{if(!this.isLocalEditor)return;const e=await this.envVarRepo.get();Object.entries(e.values()).forEach(([t,i])=>{this.envVars.wasDeleted(t)||this.envVars.get(t)===void 0&&this.envVars.set(t,i)})});s(this,"columns",()=>[{title:"Key"},{title:"Value"},{title:""}]);s(this,"rows",()=>Object.entries(this.envVars.values()).map(([e])=>({key:e,cells:[{type:"text",text:e,contentType:this.wasUpdated(e)?"warning":"default"},{type:"text",text:"*********",contentType:this.wasUpdated(e)?"warning":"default"},{type:"actions",actions:[{icon:S,label:"Delete",onClick:()=>this.delete(e),dangerous:!0},{icon:H,label:"Update",onClick:()=>this.startUpdating(e)}]}]})));s(this,"save",async()=>{await this.envVarRepo.update(this.envVars.changes),this.envVars.commit()});s(this,"hasChanges",()=>this.envVars.changes.length>0);s(this,"table",()=>({columns:this.columns(),rows:this.rows()}));this.envVarRepo=e,this.envVars=t,this.mode=i}static async create(e,t){const i=await e.get();return new w(e,i,t)}get isLocalEditor(){return this.mode==="editor"}get saveMessage(){return this.isLocalEditor?"Save":"Save and Apply"}get creationFields(){return[{label:"Variable name",key:"key"},{label:"Variable value",key:"value",type:"multiline-text"}]}get isUpdating(){return this.state.value.type==="updating"}wasUpdated(e){return this.envVars.wasUpdated(e)}}const ve=$({__name:"View",props:{envVarRepository:{},mode:{},hideTitle:{type:Boolean}},setup(n){const e=n,{result:t,loading:i,refetch:d}=Z(async()=>await w.create(e.envVarRepository,e.mode)),p=K();F(p.lastEvent,async l=>{var r;l&&l.filepath&&l.filepath.endsWith(".env")&&await((r=t.value)==null?void 0:r.refetch())});const j={columns:[],rows:[]};return O(()=>{const l=f.subscribe("envVarCreated",()=>{d()}),r=f.subscribe("envVarEdited",()=>{d()});B(()=>{f.unsubscribe(l),f.unsubscribe(r)})}),(l,r)=>{var V,k;return c(),L(N,null,[a(t)?(c(),h(J,{key:0,"entity-name":"Env var",loading:a(i),title:e.hideTitle?"":"Environment Variables",description:e.hideTitle?"":"Set environment variables for your project.","empty-title":"No environment variables set",table:a(t).table()||j,"create-button-text":"Add Environment Variable",create:a(t).create,fields:a(t).creationFields||[],live:a(t).isLocalEditor},M({_:2},[(V=a(t))!=null&&V.isLocalEditor?{name:"secondary",fn:o(()=>[l.mode=="editor"?(c(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[y(b(a(t).saveMessage),1)]),_:1},8,["model","disabled"])):v("",!0)]),key:"0"}:void 0,(k=a(t))!=null&&k.isLocalEditor?{name:"extra",fn:o(()=>[m(a(Q),{"show-icon":"",style:{"margin-top":"20px"}},{message:o(()=>[y(" This is simply a helper to manage your environment variables locally. The variables set here will not be deployed to Cloud with your project. ")]),_:1})]),key:"1"}:void 0,a(t)?{name:"more",fn:o(()=>[l.mode=="console"?(c(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[y(b(a(t).saveMessage),1)]),_:1},8,["model","disabled"])):v("",!0)]),key:"2"}:void 0]),1032,["loading","title","description","table","create","fields","live"])):v("",!0),a(t)?(c(),h(a(q),{key:1,open:a(t).isUpdating,title:"Update value",onCancel:r[1]||(r[1]=u=>{var E;return(E=a(t))==null?void 0:E.cancelUpdate()}),onOk:r[2]||(r[2]=()=>{var u;return(u=a(t))==null?void 0:u.confirmUpdate()})},{default:o(()=>[a(t).state.value.type==="updating"?(c(),h(a(P),{key:0,layout:"vertical"},{default:o(()=>[m(a(W),null,{default:o(()=>[m(a(G),null,{default:o(()=>[y(b(a(t).state.value.name),1)]),_:1}),m(a(z),{value:a(t).state.value.value,"onUpdate:value":r[0]||(r[0]=u=>a(t).state.value.value=u)},null,8,["value"])]),_:1})]),_:1})):v("",!0)]),_:1},8,["open"])):v("",!0)],64)}}});export{ue as C,he as E,ve as _};
2
- //# sourceMappingURL=View.vue_vue_type_script_setup_true_lang.a00f21c8.js.map
1
+ var x=Object.defineProperty;var _=(n,e,t)=>e in n?x(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>(_(n,typeof e!="symbol"?e+"":e,t),t);import{k as C}from"./router.424f7da9.js";import{l as D}from"./fetch.89fd5b7b.js";import{E as U}from"./record.7f43486c.js";import{N as I,r as R,em as S,d as $,w as F,J as O,aq as B,a5 as L,u as a,a as h,eo as M,b as o,h as v,aR as N,o as c,g as m,ed as w,f as y,cw as P,d8 as G,cC as W,cx as z,M as J}from"./jwt-decode.esm.d4517a10.js";import{S as A}from"./SaveButton.719393d2.js";import{C as Z}from"./CrudView.c0824225.js";import{a as q}from"./asyncComputed.cf5282fc.js";import{o as f}from"./omniChatStore.c53bcca2.js";import{G as H}from"./PhPencil.vue.2f2fe576.js";import{u as K}from"./useCodebaseEvents.53dec1f2.js";import{A as Q}from"./index.2af3391c.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="917264e5-3d34-4dc0-a2e4-723ac6994403",n._sentryDebugIdIdentifier="sentry-dbid-917264e5-3d34-4dc0-a2e4-723ac6994403")}catch{}})();class g{constructor(e){s(this,"data");s(this,"deleted");s(this,"wasDeleted",e=>this.deleted.value.includes(e));s(this,"wasUpdated",e=>this.data.hasChangesDeep(e));s(this,"set",(e,t)=>{this.data.set(e,t),this.deleted.value=this.deleted.value.filter(i=>i!==e)});s(this,"get",e=>{if(!this.deleted.value.includes(e))return this.data.get(e)});s(this,"delete",e=>{this.deleted.value=[...this.deleted.value,e]});s(this,"values",()=>{const e={},t=Object.keys(this.data.changes).concat(Object.keys(this.data.initialState));for(const i of t)this.deleted.value.includes(i)||(e[i]=this.data.get(i));return e});s(this,"commit",()=>{this.data=U.from(this.values()),this.deleted.value=[]});this.data=U.from(e),this.deleted=I([])}static from(e){const t=e.reduce((i,{name:d,value:p})=>(i[d]=p,i),{});return new g(t)}get changes(){const e=this.deleted.value.map(t=>({name:t,change:"delete"}));for(const t of Object.keys(this.data.changes))if(!this.deleted.value.includes(t)){if(this.data.initialState[t]===void 0){e.push({name:t,value:this.data.get(t),change:"create"});continue}this.data.hasChangesDeep(t)&&e.push({name:t,value:this.data.get(t),change:"update"})}return e}}class X{constructor(){s(this,"urlPath","env-vars")}async list(e){return await C.get(`projects/${e}/${this.urlPath}`)}async update(e,t){await C.patch(`projects/${e}/${this.urlPath}`,t)}}const T=new X;class ue{constructor(e){this.projectId=e}async get(){const e=await T.list(this.projectId);return g.from(e.map(t=>({...t,value:""})))}async update(e){await T.update(this.projectId,e)}}class he{constructor(e=D){this.fetch=e}async get(){const e=await this.fetch("/_editor/api/env-vars");if(!e.ok)throw new Error("Failed to list env vars");const t=await e.json();return g.from(t)}async update(e){await this.fetch("/_editor/api/env-vars",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}class b{constructor(e,t,i){s(this,"envVarRepo");s(this,"envVars");s(this,"state",R({type:"idle"}));s(this,"mode");s(this,"validate",e=>{const t=/^[A-Za-z_][A-Za-z0-9_]*$/,{key:i,value:d}=e;if(d.trim()!==d)throw new Error("Environment variable values cannot have leading or trailing whitespace.");if(!t.test(i))throw new Error(`Invalid key: \u2018${i}\u2019. A key must begin with a letter or an underscore, and may only include letters, numbers, and underscores.`)});s(this,"create",e=>{this.validate(e),this.envVars.set(e.key,e.value),this.state.value={type:"idle"}});s(this,"delete",e=>{this.envVars.delete(e),this.state.value={type:"idle"}});s(this,"startUpdating",e=>{this.state.value={type:"updating",name:e,value:this.envVars.get(e)||""}});s(this,"confirmUpdate",()=>{this.state.value.type==="updating"&&(this.envVars.set(this.state.value.name,this.state.value.value),this.state.value={type:"idle"})});s(this,"cancelUpdate",()=>{this.state.value={type:"idle"}});s(this,"refetch",async()=>{if(!this.isLocalEditor)return;const e=await this.envVarRepo.get();Object.entries(e.values()).forEach(([t,i])=>{this.envVars.wasDeleted(t)||this.envVars.get(t)===void 0&&this.envVars.set(t,i)})});s(this,"columns",()=>[{title:"Key"},{title:"Value"},{title:""}]);s(this,"rows",()=>Object.entries(this.envVars.values()).map(([e])=>({key:e,cells:[{type:"text",text:e,contentType:this.wasUpdated(e)?"warning":"default"},{type:"text",text:"*********",contentType:this.wasUpdated(e)?"warning":"default"},{type:"actions",actions:[{icon:S,label:"Delete",onClick:()=>this.delete(e),dangerous:!0},{icon:H,label:"Update",onClick:()=>this.startUpdating(e)}]}]})));s(this,"save",async()=>{await this.envVarRepo.update(this.envVars.changes),this.envVars.commit()});s(this,"hasChanges",()=>this.envVars.changes.length>0);s(this,"table",()=>({columns:this.columns(),rows:this.rows()}));this.envVarRepo=e,this.envVars=t,this.mode=i}static async create(e,t){const i=await e.get();return new b(e,i,t)}get isLocalEditor(){return this.mode==="editor"}get saveMessage(){return this.isLocalEditor?"Save":"Save and Apply"}get creationFields(){return[{label:"Variable name",key:"key"},{label:"Variable value",key:"value",type:"multiline-text"}]}get isUpdating(){return this.state.value.type==="updating"}wasUpdated(e){return this.envVars.wasUpdated(e)}}const ve=$({__name:"View",props:{envVarRepository:{},mode:{},hideTitle:{type:Boolean}},setup(n){const e=n,{result:t,loading:i,refetch:d}=q(async()=>await b.create(e.envVarRepository,e.mode)),p=K();F(p.lastEvent,async l=>{var r;l&&l.filepath&&l.filepath.endsWith(".env")&&await((r=t.value)==null?void 0:r.refetch())});const j={columns:[],rows:[]};return O(()=>{const l=f.subscribe("envVarCreated",()=>{d()}),r=f.subscribe("envVarEdited",()=>{d()});B(()=>{f.unsubscribe(l),f.unsubscribe(r)})}),(l,r)=>{var V,k;return c(),L(N,null,[a(t)?(c(),h(Z,{key:0,"entity-name":"Env var",loading:a(i),title:e.hideTitle?"":"Environment Variables",description:e.hideTitle?"":"Set environment variables for your project.","empty-title":"No environment variables set",table:a(t).table()||j,"create-button-text":"Add Environment Variable",create:a(t).create,fields:a(t).creationFields||[],live:a(t).isLocalEditor},M({_:2},[(V=a(t))!=null&&V.isLocalEditor?{name:"secondary",fn:o(()=>[l.mode=="editor"?(c(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[m(w(a(t).saveMessage),1)]),_:1},8,["model","disabled"])):v("",!0)]),key:"0"}:void 0,(k=a(t))!=null&&k.isLocalEditor?{name:"extra",fn:o(()=>[y(a(Q),{"show-icon":"",style:{"margin-top":"20px"}},{message:o(()=>[m(" This is simply a helper to manage your environment variables locally. The variables set here will not be deployed to Cloud with your project. ")]),_:1})]),key:"1"}:void 0,a(t)?{name:"more",fn:o(()=>[l.mode=="console"?(c(),h(A,{key:0,model:a(t),disabled:!a(t).hasChanges()},{"with-changes":o(()=>[m(w(a(t).saveMessage),1)]),_:1},8,["model","disabled"])):v("",!0)]),key:"2"}:void 0]),1032,["loading","title","description","table","create","fields","live"])):v("",!0),a(t)?(c(),h(a(J),{key:1,open:a(t).isUpdating,title:"Update value",onCancel:r[1]||(r[1]=u=>{var E;return(E=a(t))==null?void 0:E.cancelUpdate()}),onOk:r[2]||(r[2]=()=>{var u;return(u=a(t))==null?void 0:u.confirmUpdate()})},{default:o(()=>[a(t).state.value.type==="updating"?(c(),h(a(P),{key:0,layout:"vertical"},{default:o(()=>[y(a(z),null,{default:o(()=>[y(a(G),null,{default:o(()=>[m(w(a(t).state.value.name),1)]),_:1}),y(a(W),{value:a(t).state.value.value,"onUpdate:value":r[0]||(r[0]=u=>a(t).state.value.value=u)},null,8,["value"])]),_:1})]),_:1})):v("",!0)]),_:1},8,["open"])):v("",!0)],64)}}});export{ue as C,he as E,ve as _};
2
+ //# sourceMappingURL=View.vue_vue_type_script_setup_true_lang.a904f400.js.map
@@ -1,2 +1,2 @@
1
- import{S as i}from"./workspaceStore.cca10750.js";import{A as p}from"./constants.b75d9567.js";import{d as l,u as t,a5 as f,g as _,ed as c,h as C,eC as u,o as h,eG as m,_ as g}from"./jwt-decode.esm.e1e8e181.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]="9e9d5d38-234c-419d-aa78-d0dca0b3c8f7",e._sentryDebugIdIdentifier="sentry-dbid-9e9d5d38-234c-419d-aa78-d0dca0b3c8f7")}catch{}})();const v=["href"],w=u('<svg width="44" height="32" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e084ae6f><g clip-path="url(#clip0_405_116214)" data-v-e084ae6f><path d="M188.697 133.808L172.68 148.263C172.68 148.263 216.044 185.966 217.997 187.72C219.951 189.475 234.405 174.566 232.843 173.266C231.28 171.966 188.697 133.808 188.697 133.808Z" fill="#E36C7C" data-v-e084ae6f></path><path d="M188.697 133.808L172.68 148.263C172.68 148.263 216.044 185.966 217.997 187.72C219.951 189.475 234.405 174.566 232.843 173.266C231.28 171.966 188.697 133.808 188.697 133.808Z" fill="url(#paint0_linear_405_116214)" data-v-e084ae6f></path><path d="M218.387 91.2249L176.195 127.557L173.851 129.51C151.192 149.849 149.853 152.309 141.642 152.584L141.584 152.586C139.612 152.652 135.357 152.795 131.875 149.849C126.797 145.552 120.155 140.083 117.03 137.348C115.34 135.869 112.465 133.039 109.998 131.097C107.902 129.448 106.482 127.581 104.919 127.581C103.357 127.581 100.622 129.925 96.3246 133.832C92.0272 137.739 82.6511 146.333 82.6511 146.333L65.0712 161.569C65.0712 161.569 42.5857 180.688 36.7256 185.376C30.8656 190.064 16.5797 175.69 21.4895 171.703C21.9628 171.23 26.2429 167.755 29.7179 164.915C32.2165 162.84 34.2084 161.179 34.2084 161.179C34.9897 160.397 66.2433 133.051 66.2433 133.051L87.723 114.573C87.723 114.573 95.9339 106.094 105.701 106.094C108.826 106.094 112.83 106.485 126.015 118.205C129.531 121.33 131.485 122.542 135.782 126.409C137.345 127.816 139.852 130.316 140.861 130.316C141.882 130.316 143.986 128.363 145.549 127.023C145.549 127.023 195.897 84.4149 202.37 77.9421C207.839 72.4726 223.075 86.9273 218.387 91.2249Z" fill="url(#paint1_linear_405_116214)" data-v-e084ae6f></path><path d="M33.238 67.1372C31.2846 68.6564 23.9305 75.1737 22.2992 76.9039C19.3366 80.0417 21.3638 81.3905 25.6611 84.9065C29.9585 88.4225 57.8962 112.712 64.8542 118.963L79.9642 105.221L41.288 71.2331C36.5999 67.1372 35.1913 65.6179 33.238 67.1372Z" fill="url(#paint2_linear_405_116214)" data-v-e084ae6f></path></g><defs data-v-e084ae6f><linearGradient id="paint0_linear_405_116214" x1="172.68" y1="133.808" x2="183.059" y2="196.169" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop offset="0.114583" stop-color="#FF98A6" data-v-e084ae6f></stop><stop offset="1" stop-color="#E36C7C" data-v-e084ae6f></stop></linearGradient><linearGradient id="paint1_linear_405_116214" x1="219.271" y1="186.305" x2="206.115" y2="57.7298" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop stop-color="#E36C7C" data-v-e084ae6f></stop><stop offset="0.859375" stop-color="#FF98A6" data-v-e084ae6f></stop></linearGradient><linearGradient id="paint2_linear_405_116214" x1="20.8984" y1="66.56" x2="30.8589" y2="127.049" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop stop-color="#E36C7C" data-v-e084ae6f></stop><stop offset="0.859375" stop-color="#FF98A6" data-v-e084ae6f></stop></linearGradient><clipPath id="clip0_405_116214" data-v-e084ae6f><rect width="256" height="256" fill="white" data-v-e084ae6f></rect></clipPath></defs></svg><b data-v-e084ae6f>Abstra</b>',2),y=l({__name:"Watermark",props:{pageId:{},locale:{}},setup(e){var s;const a=e,r=window.location.hostname.split(".")[0],o=(s=i.instance)==null?void 0:s.showWatermark,n=new URLSearchParams({utm_source:"abstra_pages",utm_medium:"badge",utm_campaign:a.pageId,origin_subdomain:r});return(d,b)=>t(o)?(h(),f("a",{key:0,href:`${t(p).HOMEPAGE}?${t(n).toString()}`,target:"_blank",class:"watermark"},[_(c(t(m).translate("i18n_watermark_text",d.locale))+" ",1),w],8,v)):C("",!0)}});const S=g(y,[["__scopeId","data-v-e084ae6f"]]);export{S as W};
2
- //# sourceMappingURL=Watermark.c71c105b.js.map
1
+ import{S as d}from"./workspaceStore.6244d03d.js";import{A as p}from"./constants.7d38ec8b.js";import{d as l,u as t,a5 as f,g as _,ed as c,h as C,eD as u,o as h,eG as m,_ as g}from"./jwt-decode.esm.d4517a10.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[e]="5e585b03-9d10-4a8d-a1ab-d2d91abfc53c",a._sentryDebugIdIdentifier="sentry-dbid-5e585b03-9d10-4a8d-a1ab-d2d91abfc53c")}catch{}})();const v=["href"],b=u('<svg width="44" height="32" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e084ae6f><g clip-path="url(#clip0_405_116214)" data-v-e084ae6f><path d="M188.697 133.808L172.68 148.263C172.68 148.263 216.044 185.966 217.997 187.72C219.951 189.475 234.405 174.566 232.843 173.266C231.28 171.966 188.697 133.808 188.697 133.808Z" fill="#E36C7C" data-v-e084ae6f></path><path d="M188.697 133.808L172.68 148.263C172.68 148.263 216.044 185.966 217.997 187.72C219.951 189.475 234.405 174.566 232.843 173.266C231.28 171.966 188.697 133.808 188.697 133.808Z" fill="url(#paint0_linear_405_116214)" data-v-e084ae6f></path><path d="M218.387 91.2249L176.195 127.557L173.851 129.51C151.192 149.849 149.853 152.309 141.642 152.584L141.584 152.586C139.612 152.652 135.357 152.795 131.875 149.849C126.797 145.552 120.155 140.083 117.03 137.348C115.34 135.869 112.465 133.039 109.998 131.097C107.902 129.448 106.482 127.581 104.919 127.581C103.357 127.581 100.622 129.925 96.3246 133.832C92.0272 137.739 82.6511 146.333 82.6511 146.333L65.0712 161.569C65.0712 161.569 42.5857 180.688 36.7256 185.376C30.8656 190.064 16.5797 175.69 21.4895 171.703C21.9628 171.23 26.2429 167.755 29.7179 164.915C32.2165 162.84 34.2084 161.179 34.2084 161.179C34.9897 160.397 66.2433 133.051 66.2433 133.051L87.723 114.573C87.723 114.573 95.9339 106.094 105.701 106.094C108.826 106.094 112.83 106.485 126.015 118.205C129.531 121.33 131.485 122.542 135.782 126.409C137.345 127.816 139.852 130.316 140.861 130.316C141.882 130.316 143.986 128.363 145.549 127.023C145.549 127.023 195.897 84.4149 202.37 77.9421C207.839 72.4726 223.075 86.9273 218.387 91.2249Z" fill="url(#paint1_linear_405_116214)" data-v-e084ae6f></path><path d="M33.238 67.1372C31.2846 68.6564 23.9305 75.1737 22.2992 76.9039C19.3366 80.0417 21.3638 81.3905 25.6611 84.9065C29.9585 88.4225 57.8962 112.712 64.8542 118.963L79.9642 105.221L41.288 71.2331C36.5999 67.1372 35.1913 65.6179 33.238 67.1372Z" fill="url(#paint2_linear_405_116214)" data-v-e084ae6f></path></g><defs data-v-e084ae6f><linearGradient id="paint0_linear_405_116214" x1="172.68" y1="133.808" x2="183.059" y2="196.169" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop offset="0.114583" stop-color="#FF98A6" data-v-e084ae6f></stop><stop offset="1" stop-color="#E36C7C" data-v-e084ae6f></stop></linearGradient><linearGradient id="paint1_linear_405_116214" x1="219.271" y1="186.305" x2="206.115" y2="57.7298" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop stop-color="#E36C7C" data-v-e084ae6f></stop><stop offset="0.859375" stop-color="#FF98A6" data-v-e084ae6f></stop></linearGradient><linearGradient id="paint2_linear_405_116214" x1="20.8984" y1="66.56" x2="30.8589" y2="127.049" gradientUnits="userSpaceOnUse" data-v-e084ae6f><stop stop-color="#E36C7C" data-v-e084ae6f></stop><stop offset="0.859375" stop-color="#FF98A6" data-v-e084ae6f></stop></linearGradient><clipPath id="clip0_405_116214" data-v-e084ae6f><rect width="256" height="256" fill="white" data-v-e084ae6f></rect></clipPath></defs></svg><b data-v-e084ae6f>Abstra</b>',2),w=l({__name:"Watermark",props:{pageId:{},locale:{}},setup(a){var s;const e=a,r=window.location.hostname.split(".")[0],o=(s=d.instance)==null?void 0:s.showWatermark,n=new URLSearchParams({utm_source:"abstra_pages",utm_medium:"badge",utm_campaign:e.pageId,origin_subdomain:r});return(i,y)=>t(o)?(h(),f("a",{key:0,href:`${t(p).HOMEPAGE}?${t(n).toString()}`,target:"_blank",class:"watermark"},[_(c(t(m).translate("i18n_watermark_text",i.locale))+" ",1),b],8,v)):C("",!0)}});const S=g(w,[["__scopeId","data-v-e084ae6f"]]);export{S as W};
2
+ //# sourceMappingURL=Watermark.ab3d818f.js.map
@@ -0,0 +1,2 @@
1
+ var _=Object.defineProperty;var m=(e,t,n)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var i=(e,t,n)=>(m(e,typeof t!="symbol"?t+"":t,n),n);import{d as g,J as v,I as y,a as c,b as s,o as d,f as o,u as r,dc as h,cM as w,A as I,g as p,d8 as u,_ as b,r as P,eb as x}from"./jwt-decode.esm.d4517a10.js";import{_ as W}from"./AbstraLogo.vue_vue_type_script_setup_true_lang.9f98292e.js";import{B as j}from"./BaseLayout.1ec2c96d.js";import{l as f}from"./fetch.89fd5b7b.js";import"./router.424f7da9.js";import{a as A}from"./project.619b7244.js";import"./tables.1f68ec62.js";import"./Logo.82d6ab70.js";import"./index.4176fe88.js";import"./record.7f43486c.js";import"./string.0acf5572.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]="72fea1b5-ce44-476c-a865-d26f93f89f8a",e._sentryDebugIdIdentifier="sentry-dbid-72fea1b5-ce44-476c-a865-d26f93f89f8a")}catch{}})();const E=g({__name:"View",props:{controller:{}},setup(e){const t=e,n=t.controller.loadingPercentage();return v(()=>{t.controller.start()}),y(()=>{t.controller.cleanUp()}),(a,l)=>(d(),c(j,null,{content:s(()=>[o(r(h),{align:"center",justify:"center",style:{width:"100vw",height:"100dvh"}},{default:s(()=>[o(r(h),{gap:"large",align:"center",justify:"space-evenly",vertical:"",style:{width:"45%","min-width":"600px",height:"100%"}},{default:s(()=>[o(W,{size:"large"}),o(r(w),{size:[10,10],"show-info":!1,percent:r(n),"stroke-color":"#EA576A"},null,8,["percent"]),o(r(I),{level:3},{default:s(()=>[p("Preparing your environment")]),_:1}),r(n)<100?(d(),c(r(u),{key:0},{default:s(()=>[p("We are setting things up... This may take up to 1 minute.")]),_:1})):(d(),c(r(u),{key:1},{default:s(()=>[p("You will be redirected soon")]),_:1}))]),_:1})]),_:1})]),_:1}))}});const T=b(E,[["__scopeId","data-v-0794e790"]]);function k(e,t){if(!e)return"";const n=t.toString();if(!n)return e;const l=e.includes("?")?"&":"?";return`${e}${l}${n}`}class R{constructor(t,n,a=f){i(this,"projectId");i(this,"loading");i(this,"fetch",f);i(this,"interval",null);i(this,"urls",null);i(this,"totalWaitTime");i(this,"poolingInterval");i(this,"pingResponded",!1);i(this,"redirectPath");this.projectId=t,this.loading=P(0),this.fetch=a,this.totalWaitTime=6e4,this.poolingInterval=2500,this.redirectPath=n}increment(){this.loading.value+=100/(this.totalWaitTime/this.poolingInterval)}speedUp(){this.totalWaitTime=5e3,this.poolingInterval=500,this.interval&&clearInterval(this.interval),this.interval=setInterval(async()=>{this.increment(),this.loading.value>=100&&this.navigate()},this.poolingInterval)}navigate(){if(this.urls){const t=new URLSearchParams;this.redirectPath&&t.set("redirect",this.redirectPath);const n=k(this.urls.redirect,t);window.location.replace(n)}this.cleanUp()}async ping(){if(!this.urls)return!1;if(this.pingResponded)return!0;const t=await this.fetch(this.urls.ping,{signal:AbortSignal.timeout(500)});return this.pingResponded=t.status===200,this.pingResponded}async start(){const t=await A.startWebEditor(this.projectId);this.urls=t,this.interval=setInterval(async()=>{this.increment(),this.pingResponded||await this.ping()&&this.speedUp(),this.loading.value>=100&&this.navigate()},this.poolingInterval)}cleanUp(){this.interval&&clearInterval(this.interval)}loadingPercentage(){return this.loading}}const Q=g({__name:"WebEditor",setup(e){const t=x(),n=t.params.projectId,a=t.query.redirect,l=new R(n,a);return(U,V)=>(d(),c(T,{controller:r(l)},null,8,["controller"]))}});export{Q as default};
2
+ //# sourceMappingURL=WebEditor.d6ec6392.js.map
@@ -1,2 +1,2 @@
1
- import{d as k,r as B,J as A,o as n,a as u,b as f,f as I,g as P,ed as S,ea as C,eF as D,u as y,bR as N,eW as E,_ as W,eb as V,h as g,e as b,a5 as c,ec as v,ef as q,aR as w,E as x,F}from"./jwt-decode.esm.e1e8e181.js";import{S as L}from"./Steps.4c850501.js";import{W as $}from"./PlayerConfigProvider.0915b29f.js";import"./index.005bab7f.js";import"./colorHelpers.e94da383.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[t]="2aa74b91-f53a-466c-82d0-be8fa7f79106",a._sentryDebugIdIdentifier="sentry-dbid-2aa74b91-f53a-466c-82d0-be8fa7f79106")}catch{}})();const K=k({__name:"ActionButton",props:{action:{},displayName:{},disabled:{type:Boolean},loading:{type:Boolean}},emits:["click"],setup(a,{emit:t}){const d=a,l=B(null);return A(()=>{l.value&&d.action.setElement(l.value)}),(o,i)=>(n(),u(y(E),null,{default:f(()=>[I(y(N),{ref_key:"element",ref:l,class:C(["next-button",o.disabled?"disabled":""]),loading:o.loading,disabled:o.disabled,onClick:i[0]||(i[0]=p=>t("click")),onKeydown:i[1]||(i[1]=D(p=>t("click"),["enter"]))},{default:f(()=>[P(S(o.displayName),1)]),_:1},8,["loading","disabled","class"])]),_:1}))}});const R=W(K,[["__scopeId","data-v-aea27bb7"]]),J={class:"form"},M={class:"form-wrapper"},O={key:0,class:"buttons"},z=k({__name:"WidgetPreview",setup(a){const t=V(),d=B([]);function l(e){return x[e]||F[e]||null}function o(e){try{const s=JSON.parse(e);if(s.component=l(s.type),!s.component)throw new Error(`Widget ${s.type} not found`);return s.component?s:null}catch{return null}}function i(){const e=t.query.widget;return Array.isArray(e)?e.map(o).filter(Boolean):[o(e)]}function p(){return t.query.steps==="true"}function _(){const e=t.query.button;return e?Array.isArray(e)?e:[e]:[]}const m=e=>({name:e,isDefault:!1,isFocused:!1,focusOnButton:()=>{},addKeydownListener:()=>{},setElement:()=>{}});return(e,s)=>(n(),u($,{"main-color":"#d14056",class:"preview",background:"#fbfbfb","font-family":"Inter",locale:"en"},{default:f(()=>[p()?(n(),u(L,{key:0,class:"steps","steps-info":{current:1,total:3},"is-preview":""})):g("",!0),b("div",J,[b("div",M,[(n(!0),c(w,null,v(i(),(r,h)=>(n(),c("div",{key:h,class:"widget"},[(n(),u(q(r.component),{"user-props":r.userProps,value:r.userProps.value,errors:d.value},null,8,["user-props","value","errors"]))]))),128))]),_().length?(n(),c("div",O,[(n(!0),c(w,null,v(_(),r=>(n(),u(R,{key:r,"display-name":m(r).name,action:m(r)},null,8,["display-name","action"]))),128))])):g("",!0)])]),_:1}))}});const U=W(z,[["__scopeId","data-v-d3d01da6"]]);export{U as default};
2
- //# sourceMappingURL=WidgetPreview.8bd406f7.js.map
1
+ import{d as k,r as B,J as A,o as n,a as u,b as f,f as I,g as P,ed as S,ea as C,eF as D,u as y,bR as N,eW as E,_ as W,eb as V,h as g,e as b,a5 as c,ec as v,ef as q,aR as w,E as x,F}from"./jwt-decode.esm.d4517a10.js";import{S as L}from"./Steps.8e5d201a.js";import{W as $}from"./PlayerConfigProvider.e90a2b41.js";import"./index.fb49354b.js";import"./colorHelpers.37d9932b.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[t]="dec164d0-6b6a-4c90-be64-f8b0c4a8a56a",a._sentryDebugIdIdentifier="sentry-dbid-dec164d0-6b6a-4c90-be64-f8b0c4a8a56a")}catch{}})();const K=k({__name:"ActionButton",props:{action:{},displayName:{},disabled:{type:Boolean},loading:{type:Boolean}},emits:["click"],setup(a,{emit:t}){const d=a,l=B(null);return A(()=>{l.value&&d.action.setElement(l.value)}),(o,i)=>(n(),u(y(E),null,{default:f(()=>[I(y(N),{ref_key:"element",ref:l,class:C(["next-button",o.disabled?"disabled":""]),loading:o.loading,disabled:o.disabled,onClick:i[0]||(i[0]=p=>t("click")),onKeydown:i[1]||(i[1]=D(p=>t("click"),["enter"]))},{default:f(()=>[P(S(o.displayName),1)]),_:1},8,["loading","disabled","class"])]),_:1}))}});const R=W(K,[["__scopeId","data-v-aea27bb7"]]),J={class:"form"},M={class:"form-wrapper"},O={key:0,class:"buttons"},z=k({__name:"WidgetPreview",setup(a){const t=V(),d=B([]);function l(e){return x[e]||F[e]||null}function o(e){try{const s=JSON.parse(e);if(s.component=l(s.type),!s.component)throw new Error(`Widget ${s.type} not found`);return s.component?s:null}catch{return null}}function i(){const e=t.query.widget;return Array.isArray(e)?e.map(o).filter(Boolean):[o(e)]}function p(){return t.query.steps==="true"}function _(){const e=t.query.button;return e?Array.isArray(e)?e:[e]:[]}const m=e=>({name:e,isDefault:!1,isFocused:!1,focusOnButton:()=>{},addKeydownListener:()=>{},setElement:()=>{}});return(e,s)=>(n(),u($,{"main-color":"#d14056",class:"preview",background:"#fbfbfb","font-family":"Inter",locale:"en"},{default:f(()=>[p()?(n(),u(L,{key:0,class:"steps","steps-info":{current:1,total:3},"is-preview":""})):g("",!0),b("div",J,[b("div",M,[(n(!0),c(w,null,v(i(),(r,h)=>(n(),c("div",{key:h,class:"widget"},[(n(),u(q(r.component),{"user-props":r.userProps,value:r.userProps.value,errors:d.value},null,8,["user-props","value","errors"]))]))),128))]),_().length?(n(),c("div",O,[(n(!0),c(w,null,v(_(),r=>(n(),u(R,{key:r,"display-name":m(r).name,action:m(r)},null,8,["display-name","action"]))),128))])):g("",!0)])]),_:1}))}});const U=W(z,[["__scopeId","data-v-d3d01da6"]]);export{U as default};
2
+ //# sourceMappingURL=WidgetPreview.86b31dec.js.map
@@ -1,2 +1,2 @@
1
- import{em as n,M as b}from"./jwt-decode.esm.e1e8e181.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},r=new Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="3eae4f57-c47d-4b28-a06b-b009aec9377a",e._sentryDebugIdIdentifier="sentry-dbid-3eae4f57-c47d-4b28-a06b-b009aec9377a")}catch{}})();function u(e){return n.exports.isArray(e)?e.length===0?"[ ]":"[ ... ]":n.exports.isObject(e)?Object.keys(e).length===0?"{ }":"{ ... }":n.exports.isString(e)?`'${e}'`:n.exports.isUndefined(e)||n.exports.isNull(e)?"None":e===!0?"True":e===!1?"False":`${e}`}function c(e){if(n.exports.isArray(e))return"array";if(n.exports.isObject(e))return"object";throw new Error("treeKey called with non-object and non-array")}function o(e,r=[],t){const l=t?`'${t}': ${u(e)}`:u(e);if(n.exports.isArray(e)){const i=c(e);return[{title:l,key:[...r,i].join("/"),children:e.flatMap((s,f)=>o(s,[...r,i,`${f}`]))}]}else if(n.exports.isObject(e)){const i=c(e);return[{title:l,key:[...r,i].join("/"),children:Object.entries(e).flatMap(([s,f])=>o(f,[...r,i,s],s))}]}else return[{title:l,key:r.join("/"),children:[]}]}function x(e,r){return new Promise(t=>{b.confirm({title:e,onOk:()=>t(!0),okText:r==null?void 0:r.okText,onCancel:()=>t(!1),cancelText:r==null?void 0:r.cancelText})})}export{x as a,o as t};
2
- //# sourceMappingURL=ant-design.06b818ab.js.map
1
+ import{ej as n,M as b}from"./jwt-decode.esm.d4517a10.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},r=new Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="c30398d9-578b-4b6e-afcf-86be0af62268",e._sentryDebugIdIdentifier="sentry-dbid-c30398d9-578b-4b6e-afcf-86be0af62268")}catch{}})();function u(e){return n.exports.isArray(e)?e.length===0?"[ ]":"[ ... ]":n.exports.isObject(e)?Object.keys(e).length===0?"{ }":"{ ... }":n.exports.isString(e)?`'${e}'`:n.exports.isUndefined(e)||n.exports.isNull(e)?"None":e===!0?"True":e===!1?"False":`${e}`}function c(e){if(n.exports.isArray(e))return"array";if(n.exports.isObject(e))return"object";throw new Error("treeKey called with non-object and non-array")}function o(e,r=[],t){const f=t?`'${t}': ${u(e)}`:u(e);if(n.exports.isArray(e)){const i=c(e);return[{title:f,key:[...r,i].join("/"),children:e.flatMap((s,l)=>o(s,[...r,i,`${l}`]))}]}else if(n.exports.isObject(e)){const i=c(e);return[{title:f,key:[...r,i].join("/"),children:Object.entries(e).flatMap(([s,l])=>o(l,[...r,i,s],s))}]}else return[{title:f,key:r.join("/"),children:[]}]}function x(e,r){return new Promise(t=>{b.confirm({title:e,onOk:()=>t(!0),okText:r==null?void 0:r.okText,onCancel:()=>t(!1),cancelText:r==null?void 0:r.cancelText})})}export{x as a,o as t};
2
+ //# sourceMappingURL=ant-design.a865486e.js.map
@@ -0,0 +1,2 @@
1
+ var d=Object.defineProperty;var o=(a,t,e)=>t in a?d(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e;var i=(a,t,e)=>(o(a,typeof t!="symbol"?t+"":t,e),e);import{k as s}from"./router.424f7da9.js";import"./jwt-decode.esm.d4517a10.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[t]="47aeb162-bcae-49ea-9bf1-1b55026b74c7",a._sentryDebugIdIdentifier="sentry-dbid-47aeb162-bcae-49ea-9bf1-1b55026b74c7")}catch{}})();class u{constructor(){i(this,"urlPath","api-keys")}async create({projectId:t,name:e}){return s.post(`projects/${t}/${this.urlPath}`,{name:e})}async delete(t,e){await s.delete(`projects/${t}/${this.urlPath}/${e}`)}async list(t){return s.get(`projects/${t}/${this.urlPath}`)}}const r=new u;class n{constructor(t){this.dto=t}static async list(t){return(await r.list(t)).map(c=>new n(c))}static async create(t){const e=await r.create(t);return new n(e)}static async delete(t,e){await r.delete(t,e)}get id(){return this.dto.id}get name(){return this.dto.name}get createdAt(){return new Date(this.dto.createdAt)}get ownerId(){return this.dto.createdBy}get value(){var t;return(t=this.dto.value)!=null?t:null}}export{n as A};
2
+ //# sourceMappingURL=apiKey.72f497ca.js.map
@@ -1,2 +1,2 @@
1
- import{N as c,c as l}from"./jwt-decode.esm.e1e8e181.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[e]="5c4e3109-58d2-4277-b7b9-5380534f565c",r._sentryDebugIdIdentifier="sentry-dbid-5c4e3109-58d2-4277-b7b9-5380534f565c")}catch{}})();const i=r=>{const e=c({loading:!0,result:null,error:null}),n=t=>(e.value={loading:!1,result:t,error:null},t),s=t=>{e.value={loading:!1,result:null,error:t}},o=async()=>(e.value={loading:!0,result:e.value.result,error:null},r().then(n).catch(s));o();const u=l(()=>e.value.loading),a=l(()=>e.value.result),d=l(()=>e.value.error);return{loading:u,result:a,error:d,refetch:o}};export{i as a};
2
- //# sourceMappingURL=asyncComputed.bfb7341c.js.map
1
+ import{N as c,c as l}from"./jwt-decode.esm.d4517a10.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[e]="de94cf94-6ce2-41d8-932a-9f957cab8378",r._sentryDebugIdIdentifier="sentry-dbid-de94cf94-6ce2-41d8-932a-9f957cab8378")}catch{}})();const i=r=>{const e=c({loading:!0,result:null,error:null}),n=t=>(e.value={loading:!1,result:t,error:null},t),s=t=>{e.value={loading:!1,result:null,error:t}},o=async()=>(e.value={loading:!0,result:e.value.result,error:null},r().then(n).catch(s));o();const u=l(()=>e.value.loading),a=l(()=>e.value.result),d=l(()=>e.value.error);return{loading:u,result:a,error:d,refetch:o}};export{i as a};
2
+ //# sourceMappingURL=asyncComputed.cf5282fc.js.map
@@ -1,2 +1,2 @@
1
- import{h as n}from"./router.8ccbba96.js";import"./jwt-decode.esm.e1e8e181.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[e]="0966e2fc-52ac-4546-991b-361398d0fc95",a._sentryDebugIdIdentifier="sentry-dbid-0966e2fc-52ac-4546-991b-361398d0fc95")}catch{}})();class g{async list(e){return n.get(`projects/${e}/builds`)}async get(e){return n.get(`builds/${e}`)}async download(e){return n.get(`builds/${e}/download`)}}const d=new g;class c{constructor(e){this.dto=e}static async list(e){return(await d.list(e)).map(o=>new c(o))}get id(){return this.dto.id}get projectId(){return this.dto.projectId}get createdAt(){return new Date(this.dto.createdAt)}get status(){return this.dto.status}get log(){return this.dto.log}get latest(){return this.dto.latest}get abstraVersion(){return this.dto.abstraVersion}async download(){const e=await d.download(this.id);if(!e)throw new Error("Download failed");window.open(e.url,"_blank")}}class l{constructor(e,s,o,r){this.projectId=e,this.buildId=s,this.abstraVersion=o,this.project=r}static fromV0(e,s,o,r){const i={hooks:r.hooks.map(t=>({id:t.path,logQuery:{buildId:s,stageId:t.path,stageTitle:t.title},...t})),forms:r.forms.map(t=>({id:t.path,logQuery:{buildId:s,stageId:t.path,stageTitle:t.title},...t})),jobs:r.jobs.map(t=>({id:t.identifier,logQuery:{buildId:s,stageId:t.identifier,stageTitle:t.title},...t})),scripts:[]};return new l(e,s,o,i)}static fromDTO(e,s,o,r){const i={hooks:r.hooks.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),forms:r.forms.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),jobs:r.jobs.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),scripts:r.scripts.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t}))};return new l(e,s,o,i)}static async get(e){const s=await d.get(e);if(!s)throw new Error("Build not found");const{projectId:o,abstraJson:r,abstraVersion:i}=s;if(!r||!i)return null;const t=JSON.parse(r);if(!t.version)throw new Error("Version is invalid");return t.version==="0.1"?this.fromV0(o,e,i,t):this.fromDTO(o,e,i,t)}get runtimes(){return[...this.project.forms.map(e=>({...e,type:"form"})),...this.project.hooks.map(e=>({...e,type:"hook"})),...this.project.jobs.map(e=>({...e,type:"job"})),...this.project.scripts.map(e=>({...e,type:"script"}))]}}export{l as B,c as a,g as b};
2
- //# sourceMappingURL=build.aef51d48.js.map
1
+ import{k as n}from"./router.424f7da9.js";import"./jwt-decode.esm.d4517a10.js";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[e]="b4342b0a-494b-4385-ac9f-c27fc6a820b0",i._sentryDebugIdIdentifier="sentry-dbid-b4342b0a-494b-4385-ac9f-c27fc6a820b0")}catch{}})();class g{async list(e){return n.get(`projects/${e}/builds`)}async get(e){return n.get(`builds/${e}`)}async download(e){return n.get(`builds/${e}/download`)}}const d=new g;class c{constructor(e){this.dto=e}static async list(e){return(await d.list(e)).map(a=>new c(a))}get id(){return this.dto.id}get projectId(){return this.dto.projectId}get createdAt(){return new Date(this.dto.createdAt)}get status(){return this.dto.status}get log(){return this.dto.log}get latest(){return this.dto.latest}get abstraVersion(){return this.dto.abstraVersion}async download(){const e=await d.download(this.id);if(!e)throw new Error("Download failed");window.open(e.url,"_blank")}}class l{constructor(e,s,a,r){this.projectId=e,this.buildId=s,this.abstraVersion=a,this.project=r}static fromV0(e,s,a,r){const o={hooks:r.hooks.map(t=>({id:t.path,logQuery:{buildId:s,stageId:t.path,stageTitle:t.title},...t})),forms:r.forms.map(t=>({id:t.path,logQuery:{buildId:s,stageId:t.path,stageTitle:t.title},...t})),jobs:r.jobs.map(t=>({id:t.identifier,logQuery:{buildId:s,stageId:t.identifier,stageTitle:t.title},...t})),scripts:[]};return new l(e,s,a,o)}static fromDTO(e,s,a,r){const o={hooks:r.hooks.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),forms:r.forms.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),jobs:r.jobs.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t})),scripts:r.scripts.map(t=>({logQuery:{buildId:s,stageId:t.id,stageTitle:t.title},...t}))};return new l(e,s,a,o)}static async get(e){const s=await d.get(e);if(!s)throw new Error("Build not found");const{projectId:a,abstraJson:r,abstraVersion:o}=s;if(!r||!o)return null;const t=JSON.parse(r);if(!t.version)throw new Error("Version is invalid");return t.version==="0.1"?this.fromV0(a,e,o,t):this.fromDTO(a,e,o,t)}get runtimes(){return[...this.project.forms.map(e=>({...e,type:"form"})),...this.project.hooks.map(e=>({...e,type:"hook"})),...this.project.jobs.map(e=>({...e,type:"job"})),...this.project.scripts.map(e=>({...e,type:"script"}))]}}export{l as B,c as a,g as b};
2
+ //# sourceMappingURL=build.df2d55cc.js.map
@@ -0,0 +1,2 @@
1
+ import"./jwt-decode.esm.d4517a10.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="564d89d4-bbf8-43b7-a714-5c123daffc23",t._sentryDebugIdIdentifier="sentry-dbid-564d89d4-bbf8-43b7-a714-5c123daffc23")}catch{}})();function p(t,e){const{r:n,g:r,b:o,usePound:s}=f(t);return w(u(n,-e),u(r,-e),u(o,-e),s)}function u(t,e){const n=t*(100+e*100)/100;return n>255?255:n<0?0:Math.round(n)}function E(t){return t.startsWith("#")||t.match(/^(rgb|hsl)/)}const v=(t,e)=>y(p(y(t),e)),P=t=>k(t)?v(t,.1):p(t,.1);function k(t){const{r:e,g:n,b:r}=f(t);return e*.299+n*.587+r*.114<186}function f(t){let e=!1;t[0]=="#"&&(t=t.slice(1),e=!0);const n=parseInt(t,16);return{r:n>>16&255,g:n>>8&255,b:n&255,usePound:e}}function y(t){const{r:e,g:n,b:r,usePound:o}=f(t);return w(255-e,255-n,255-r,o)}const w=(t,e,n,r=!0)=>(r?"#":"")+(n|e<<8|t<<16).toString(16).padStart(6,"0");function _(t){return new Promise((e,n)=>{const r=document.createElement("img");r.src=t,r.crossOrigin="Anonymous",r.style.display="none",document.body.appendChild(r);let o=0;r.onerror=s=>n(new Error(`Failed to load image: ${s}`)),r.onload=()=>{const{width:s,height:g}=r,a=document.createElement("canvas");a.width=s,a.height=g;const c=a.getContext("2d");if(!c)return e(!1);c.drawImage(r,0,0);const I=c.getImageData(0,0,a.width,a.height),{data:d}=I;let l,b,h,m;for(let i=0,x=d.length;i<x;i+=4)l=d[i],b=d[i+1],h=d[i+2],m=Math.floor((l+b+h)/3),o+=m;const D=Math.floor(o/(s*g));document.body.removeChild(r),e(D<=127)}})}export{k as a,_ as b,P as c,E as i,v as l};
2
+ //# sourceMappingURL=colorHelpers.37d9932b.js.map