abstra 3.24.7__py3-none-any.whl → 3.24.9__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 (254) hide show
  1. {abstra-3.24.7.dist-info → abstra-3.24.9.dist-info}/METADATA +1 -1
  2. {abstra-3.24.7.dist-info → abstra-3.24.9.dist-info}/RECORD +185 -184
  3. abstra_internals/contracts_generated.py +916 -762
  4. abstra_internals/controllers/git.py +18 -20
  5. abstra_internals/controllers/main.py +8 -4
  6. abstra_internals/repositories/git/git_test.py +2 -2
  7. abstra_internals/repositories/git/native.py +96 -44
  8. abstra_internals/repositories/git/types.py +9 -7
  9. abstra_internals/repositories/tasks.py +22 -21
  10. abstra_internals/services/fs.py +25 -0
  11. abstra_internals/services/sql_storage.py +2 -1
  12. abstra_statics/dist/assets/{AbstraButton.vue_vue_type_script_setup_true_lang.865dcbf3.js → AbstraButton.vue_vue_type_script_setup_true_lang.6efe348a.js} +2 -2
  13. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.f628a3a7.js +2 -0
  14. abstra_statics/dist/assets/ApiKeys.5b43091f.js +2 -0
  15. abstra_statics/dist/assets/App.7a6ee8e5.js +2 -0
  16. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.1a83eeea.js +2 -0
  17. abstra_statics/dist/assets/{BaseLayout.31267389.js → BaseLayout.3c6f8614.js} +2 -2
  18. abstra_statics/dist/assets/{Billing.44f40d95.js → Billing.884bb3ce.js} +2 -2
  19. abstra_statics/dist/assets/{Breadcrumb.bc48ca6d.js → Breadcrumb.438b89fb.js} +2 -2
  20. abstra_statics/dist/assets/{Builds.5c884494.js → Builds.51e0c49e.js} +2 -2
  21. abstra_statics/dist/assets/{Card.eab9832f.js → Card.50ce0913.js} +2 -2
  22. abstra_statics/dist/assets/{CircularLoading.a4bd5a70.js → CircularLoading.50b3862c.js} +2 -2
  23. abstra_statics/dist/assets/CloseCircleOutlined.eab14c9c.js +2 -0
  24. abstra_statics/dist/assets/ConnectorsView.35cc6db6.js +2 -0
  25. abstra_statics/dist/assets/ConnectorsView.36fa866f.css +1 -0
  26. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.1c984a14.js +2 -0
  27. abstra_statics/dist/assets/ContentLayout.a0d4199d.js +2 -0
  28. abstra_statics/dist/assets/{CrudView.f8f7347d.js → CrudView.7997b881.js} +2 -2
  29. abstra_statics/dist/assets/{DocsButton.vue_vue_type_script_setup_true_lang.264a92d9.js → DocsButton.vue_vue_type_script_setup_true_lang.39638c19.js} +2 -2
  30. abstra_statics/dist/assets/{EditorLogin.b8cbc772.js → EditorLogin.6506bc42.js} +2 -2
  31. abstra_statics/dist/assets/{EditorsView.580cabb0.js → EditorsView.2aad2cdc.js} +2 -2
  32. abstra_statics/dist/assets/EnvVars.e641237f.js +2 -0
  33. abstra_statics/dist/assets/Error.a11619e5.js +2 -0
  34. abstra_statics/dist/assets/ExclamationCircleOutlined.1d559548.js +2 -0
  35. abstra_statics/dist/assets/ExecutionContext.2933148d.js +2 -0
  36. abstra_statics/dist/assets/ExecutionStatusIcon.vue_vue_type_script_setup_true_lang.0b0c149c.js +2 -0
  37. abstra_statics/dist/assets/Files.7c98a5f9.css +1 -0
  38. abstra_statics/dist/assets/Files.db066999.js +3 -0
  39. abstra_statics/dist/assets/{Form.7ffaca31.js → Form.d99de13a.js} +2 -2
  40. abstra_statics/dist/assets/{FormRunner.eae15d54.js → FormRunner.8a803ade.js} +2 -2
  41. abstra_statics/dist/assets/{Home.5a499863.js → Home.a8e67e38.js} +2 -2
  42. abstra_statics/dist/assets/Home.c02c53bc.js +2 -0
  43. abstra_statics/dist/assets/LoadingContainer.b8fe55e6.js +2 -0
  44. abstra_statics/dist/assets/LoadingOutlined.d3cb97d3.js +2 -0
  45. abstra_statics/dist/assets/Login.ca3df8f4.js +2 -0
  46. abstra_statics/dist/assets/{Login.779e9007.js → Login.ec7eb4db.js} +2 -2
  47. abstra_statics/dist/assets/Login.vue_vue_type_script_setup_true_lang.be982e9b.js +2 -0
  48. abstra_statics/dist/assets/Logo.29f26be1.js +2 -0
  49. abstra_statics/dist/assets/Logs.bc7d3080.js +2 -0
  50. abstra_statics/dist/assets/Main.17301685.js +2 -0
  51. abstra_statics/dist/assets/{MockForm.2aa4fc17.js → MockForm.8af08260.js} +2 -2
  52. abstra_statics/dist/assets/{Navbar.89b7a1da.js → Navbar.5991f141.js} +2 -2
  53. abstra_statics/dist/assets/NewEditor.133f8c4b.js +8 -0
  54. abstra_statics/dist/assets/OidcLoginCallback.7b41f933.js +2 -0
  55. abstra_statics/dist/assets/OidcLogoutCallback.80bebb62.js +2 -0
  56. abstra_statics/dist/assets/{OmniChat.60ee26c8.css → OmniChat.3576ab7f.css} +1 -1
  57. abstra_statics/dist/assets/OmniChat.724f1121.js +6 -0
  58. abstra_statics/dist/assets/OnboardingView.7f418009.js +2 -0
  59. abstra_statics/dist/assets/Organization.127db14f.js +2 -0
  60. abstra_statics/dist/assets/Organizations.5f418cc7.js +2 -0
  61. abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.9a0ef441.js → PhArrowCounterClockwise.vue.de1d3ce9.js} +2 -2
  62. abstra_statics/dist/assets/{PhArrowSquareOut.vue.e64bebdd.js → PhArrowSquareOut.vue.1a0f1395.js} +2 -2
  63. abstra_statics/dist/assets/PhArrowUp.vue.1c6a4ae8.js +2 -0
  64. abstra_statics/dist/assets/{PhClockCounterClockwise.vue.090be995.js → PhClockCounterClockwise.vue.3e79a514.js} +2 -2
  65. abstra_statics/dist/assets/{PhCopy.vue.2163dc9b.js → PhCopy.vue.d2b17064.js} +2 -2
  66. abstra_statics/dist/assets/{PhCopySimple.vue.df39762b.js → PhCopySimple.vue.f2bb863a.js} +2 -2
  67. abstra_statics/dist/assets/{PhCube.vue.099137c1.js → PhCube.vue.be696878.js} +2 -2
  68. abstra_statics/dist/assets/PhDatabase.vue.3c4ba68c.js +2 -0
  69. abstra_statics/dist/assets/{PhDotsThreeVertical.vue.e9b1faec.js → PhDotsThreeVertical.vue.2c9a03d5.js} +2 -2
  70. abstra_statics/dist/assets/{PhDownloadSimple.vue.cba09010.js → PhDownloadSimple.vue.72db4fbb.js} +2 -2
  71. abstra_statics/dist/assets/{PhFileArrowUp.vue.8f2790df.js → PhFileArrowUp.vue.b7060fd8.js} +2 -2
  72. abstra_statics/dist/assets/{PhFilePlus.vue.18b183d7.js → PhFilePlus.vue.77ba2f5f.js} +2 -2
  73. abstra_statics/dist/assets/{PhFolderPlus.vue.8dc4e304.js → PhFolderPlus.vue.57ec5e0d.js} +2 -2
  74. abstra_statics/dist/assets/{PhGear.vue.15aaccf5.js → PhGear.vue.5abfda30.js} +2 -2
  75. abstra_statics/dist/assets/{PhKey.vue.55642d36.js → PhKey.vue.dbf6964c.js} +2 -2
  76. abstra_statics/dist/assets/{PhPencil.vue.ea9f0def.js → PhPencil.vue.e6eaa716.js} +2 -2
  77. abstra_statics/dist/assets/{PhPencilSimple.vue.2d6e76ca.js → PhPencilSimple.vue.a65250cc.js} +2 -2
  78. abstra_statics/dist/assets/{PhRocket.vue.ec0249c6.js → PhRocket.vue.9dde7cdd.js} +2 -2
  79. abstra_statics/dist/assets/{PhSignOut.vue.1cca1af4.js → PhSignOut.vue.4b3b1f31.js} +2 -2
  80. abstra_statics/dist/assets/{PhSparkle.vue.5ff46bd3.js → PhSparkle.vue.efe111c8.js} +2 -2
  81. abstra_statics/dist/assets/{PhTranslate.vue.077070e7.js → PhTranslate.vue.7ad27dac.js} +2 -2
  82. abstra_statics/dist/assets/{PhUsersThree.vue.a78365b2.js → PhUsersThree.vue.5f9bb416.js} +2 -2
  83. abstra_statics/dist/assets/{PhWarningCircle.vue.40ea25aa.js → PhWarningCircle.vue.365e8c06.js} +2 -2
  84. abstra_statics/dist/assets/{PhWebhooksLogo.vue.a73cf99c.js → PhWebhooksLogo.vue.1684b943.js} +2 -2
  85. abstra_statics/dist/assets/{PlayerConfigProvider.8a1d38e8.js → PlayerConfigProvider.26c6fb0a.js} +2 -2
  86. abstra_statics/dist/assets/{PlayerNavbar.53f81c7f.js → PlayerNavbar.a0d1fdc3.js} +2 -2
  87. abstra_statics/dist/assets/Project.6575adc1.css +1 -0
  88. abstra_statics/dist/assets/Project.a4f24e83.js +2 -0
  89. abstra_statics/dist/assets/{ProjectLogin.972cff72.js → ProjectLogin.abc78e95.js} +2 -2
  90. abstra_statics/dist/assets/{ProjectSettings.183e39d3.js → ProjectSettings.de3aa0d0.js} +2 -2
  91. abstra_statics/dist/assets/{ProjectsView.31637152.js → ProjectsView.e4e50735.js} +2 -2
  92. abstra_statics/dist/assets/{SaveButton.8e4a5fbe.js → SaveButton.8a907e20.js} +2 -2
  93. abstra_statics/dist/assets/ScrollArea.vue_vue_type_script_setup_true_lang.22f3f279.js +2 -0
  94. abstra_statics/dist/assets/{Sidebar.adfed738.js → Sidebar.ea97a608.js} +2 -2
  95. abstra_statics/dist/assets/{Sql.bf31b294.js → Sql.3130cb2f.js} +3 -3
  96. abstra_statics/dist/assets/Steps.df853a47.js +2 -0
  97. abstra_statics/dist/assets/{TableCard.f71238a1.js → TableCard.0cffd3d6.js} +2 -2
  98. abstra_statics/dist/assets/TableEditor.52c6ffee.js +2 -0
  99. abstra_statics/dist/assets/Tables.933a0fea.js +2 -0
  100. abstra_statics/dist/assets/{TablesDiagram.29966818.js → TablesDiagram.687f6dfe.js} +3 -3
  101. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.9649d1a2.js +2 -0
  102. abstra_statics/dist/assets/Tasks.331fcc80.js +2 -0
  103. abstra_statics/dist/assets/{UploadOutlined.654fb655.js → UploadOutlined.1c845819.js} +2 -2
  104. abstra_statics/dist/assets/{View.64f7c00a.js → View.8fb0d3d7.js} +2 -2
  105. abstra_statics/dist/assets/{View.vue_vue_type_script_setup_true_lang.8892f80d.js → View.vue_vue_type_script_setup_true_lang.df0afc8c.js} +2 -2
  106. abstra_statics/dist/assets/{Watermark.2b4d030d.js → Watermark.b19c8a2c.js} +2 -2
  107. abstra_statics/dist/assets/{WebEditor.a5e97d7a.js → WebEditor.52fc4d61.js} +2 -2
  108. abstra_statics/dist/assets/WidgetPreview.fab6933f.js +2 -0
  109. abstra_statics/dist/assets/WorkflowViewer.5d223e7a.css +1 -0
  110. abstra_statics/dist/assets/WorkflowViewer.b0072dc6.js +2 -0
  111. abstra_statics/dist/assets/ant-design.3284f24b.js +2 -0
  112. abstra_statics/dist/assets/{apiKey.1bb9c6d2.js → apiKey.66dca0fa.js} +2 -2
  113. abstra_statics/dist/assets/asyncComputed.515034b4.js +2 -0
  114. abstra_statics/dist/assets/{build.bfc699c6.js → build.11c6f0e3.js} +2 -2
  115. abstra_statics/dist/assets/colorHelpers.43bbe7b2.js +2 -0
  116. abstra_statics/dist/assets/{console.21189c1b.js → console.f9961195.js} +2 -2
  117. abstra_statics/dist/assets/constants.2cdc2025.js +2 -0
  118. abstra_statics/dist/assets/contracts.generated.36d5f7a5.js +2 -0
  119. abstra_statics/dist/assets/{cssMode.766de8eb.js → cssMode.38709828.js} +2 -2
  120. abstra_statics/dist/assets/datetime.cc6674fd.js +2 -0
  121. abstra_statics/dist/assets/dayjs.aa0a07d8.js +2 -0
  122. abstra_statics/dist/assets/editor.90099ba3.js +2 -0
  123. abstra_statics/dist/assets/editor.main.a098da72.js +2 -0
  124. abstra_statics/dist/assets/fetch.331404cf.js +2 -0
  125. abstra_statics/dist/assets/file.0cd01b5c.js +2 -0
  126. abstra_statics/dist/assets/folder.304ce6aa.js +2 -0
  127. abstra_statics/dist/assets/{freemarker2.a1e074e9.js → freemarker2.16d5855a.js} +2 -2
  128. abstra_statics/dist/assets/{handlebars.ef746198.js → handlebars.3657e980.js} +2 -2
  129. abstra_statics/dist/assets/{html.36bc618f.js → html.cbb1f517.js} +3 -3
  130. abstra_statics/dist/assets/{htmlMode.2557714f.js → htmlMode.97252017.js} +2 -2
  131. abstra_statics/dist/assets/{index.cfbca287.js → index.1a374af6.js} +3 -3
  132. abstra_statics/dist/assets/{index.95966207.js → index.1f86e84b.js} +2 -2
  133. abstra_statics/dist/assets/{index.88a43c5d.js → index.64d118e9.js} +2 -2
  134. abstra_statics/dist/assets/{index.b57ea477.js → index.97648248.js} +2 -2
  135. abstra_statics/dist/assets/{index.8391f105.js → index.9a7dc377.js} +2 -2
  136. abstra_statics/dist/assets/{index.cb46e99b.js → index.9f357119.js} +2 -2
  137. abstra_statics/dist/assets/{index.0389f2ff.js → index.c7722f54.js} +2 -2
  138. abstra_statics/dist/assets/index.dcd602fc.js +2 -0
  139. abstra_statics/dist/assets/{index.6a5e28c0.js → index.ed2240ea.js} +2 -2
  140. abstra_statics/dist/assets/{javascript.3ef3ca8e.js → javascript.d13ce088.js} +3 -3
  141. abstra_statics/dist/assets/{jsonMode.bc3f9dc2.js → jsonMode.24ae805f.js} +2 -2
  142. abstra_statics/dist/assets/{jwt-decode.aa5b9ed3.css → jwt-decode.1a092264.css} +1 -1
  143. abstra_statics/dist/assets/{jwt-decode.esm.b9bb33e7.js → jwt-decode.esm.f87c17f7.js} +166 -161
  144. abstra_statics/dist/assets/linters.6d68fd4f.js +2 -0
  145. abstra_statics/dist/assets/{liquid.b8dbec9f.js → liquid.0cf9f71b.js} +3 -3
  146. abstra_statics/dist/assets/{member.a66ab498.js → member.c8206c64.js} +2 -2
  147. abstra_statics/dist/assets/{metadata.17375f25.js → metadata.f67c3158.js} +2 -2
  148. abstra_statics/dist/assets/{omniChatStore.c81c7dd1.js → omniChatStore.e205a0cd.js} +4 -4
  149. abstra_statics/dist/assets/{organization.31d7490b.js → organization.70cdf915.js} +2 -2
  150. abstra_statics/dist/assets/{os.cc382050.js → os.227120cb.js} +2 -2
  151. abstra_statics/dist/assets/player.58f997ee.js +2 -0
  152. abstra_statics/dist/assets/{plotly.min.e2ba2e19.js → plotly.min.6d8ffa2b.js} +2 -2
  153. abstra_statics/dist/assets/polling.9bc57b91.js +2 -0
  154. abstra_statics/dist/assets/project.25a396d4.js +2 -0
  155. abstra_statics/dist/assets/{python.ca19a8f2.js → python.0d8b442d.js} +3 -3
  156. abstra_statics/dist/assets/{razor.b73e652a.js → razor.4398e452.js} +2 -2
  157. abstra_statics/dist/assets/record.a8da6046.js +2 -0
  158. abstra_statics/dist/assets/{redirect.9d08109f.js → redirect.42fceb5c.js} +2 -2
  159. abstra_statics/dist/assets/{repository.819ee626.js → repository.c782b2ca.js} +2 -2
  160. abstra_statics/dist/assets/router.09566602.js +18 -0
  161. abstra_statics/dist/assets/router.9ee10098.js +2 -0
  162. abstra_statics/dist/assets/{string.04644599.js → string.0c102318.js} +2 -2
  163. abstra_statics/dist/assets/{tables.d6f8baad.js → tables.1b5568d1.js} +2 -2
  164. abstra_statics/dist/assets/tasksController.009192fc.js +4 -0
  165. abstra_statics/dist/assets/{toggleHighContrast.5c061b5e.js → toggleHighContrast.79cdeb2d.js} +7 -7
  166. abstra_statics/dist/assets/{tsMode.75ac2754.js → tsMode.0d573de8.js} +2 -2
  167. abstra_statics/dist/assets/{typescript.3c9ee25c.js → typescript.c72f7347.js} +3 -3
  168. abstra_statics/dist/assets/url.acca5643.js +2 -0
  169. abstra_statics/dist/assets/{useCodebaseEvents.fd37c61f.js → useCodebaseEvents.dc121de8.js} +2 -2
  170. abstra_statics/dist/assets/useTables.8402092e.js +2 -0
  171. abstra_statics/dist/assets/userStore.3989ac4e.js +2 -0
  172. abstra_statics/dist/assets/uuid.405a6e8d.js +2 -0
  173. abstra_statics/dist/assets/{vue-flow-background.6bb2a806.js → vue-flow-background.bbe978bf.js} +2 -2
  174. abstra_statics/dist/assets/{vue-flow-core.0cbcaed0.js → vue-flow-core.8bb3991b.js} +2 -2
  175. abstra_statics/dist/assets/{vue-quill.esm-bundler.6713b0a3.js → vue-quill.esm-bundler.4dc84b4c.js} +2 -2
  176. abstra_statics/dist/assets/{workspaceStore.583d9afd.js → workspaceStore.ef7daa80.js} +2 -2
  177. abstra_statics/dist/assets/xlsx.89ea120e.js +106 -0
  178. abstra_statics/dist/assets/{xml.046c0d24.js → xml.5ff29ab6.js} +3 -3
  179. abstra_statics/dist/assets/{yaml.ebe5a918.js → yaml.6d4103d3.js} +3 -3
  180. abstra_statics/dist/console.html +15 -15
  181. abstra_statics/dist/editor.html +14 -14
  182. abstra_statics/dist/player.html +10 -10
  183. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.8204f8e4.js +0 -2
  184. abstra_statics/dist/assets/ApiKeys.0ebb0b5f.js +0 -2
  185. abstra_statics/dist/assets/App.fa5bd988.js +0 -2
  186. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.35b9297a.js +0 -2
  187. abstra_statics/dist/assets/CloseCircleOutlined.87d100e7.js +0 -2
  188. abstra_statics/dist/assets/ConnectorsView.89e278ce.js +0 -2
  189. abstra_statics/dist/assets/ConnectorsView.b594798e.css +0 -1
  190. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.b3c015f9.js +0 -2
  191. abstra_statics/dist/assets/ContentLayout.8cfadb43.js +0 -2
  192. abstra_statics/dist/assets/EnvVars.8f5b7bdb.js +0 -2
  193. abstra_statics/dist/assets/Error.ee721fce.js +0 -2
  194. abstra_statics/dist/assets/ExclamationCircleOutlined.40ff37b4.js +0 -2
  195. abstra_statics/dist/assets/ExecutionContext.3f4e1ec7.js +0 -2
  196. abstra_statics/dist/assets/ExecutionStatusIcon.vue_vue_type_script_setup_true_lang.4f510b9a.js +0 -2
  197. abstra_statics/dist/assets/Files.39b07d88.css +0 -1
  198. abstra_statics/dist/assets/Files.db0a38ea.js +0 -2
  199. abstra_statics/dist/assets/Home.31aa421b.js +0 -2
  200. abstra_statics/dist/assets/LoadingContainer.6b2e55a8.js +0 -2
  201. abstra_statics/dist/assets/LoadingOutlined.bcf2a831.js +0 -2
  202. abstra_statics/dist/assets/Login.53d97380.js +0 -2
  203. abstra_statics/dist/assets/Login.vue_vue_type_script_setup_true_lang.f1a48ab2.js +0 -2
  204. abstra_statics/dist/assets/Logo.c4ca8242.js +0 -2
  205. abstra_statics/dist/assets/Logs.ef6eb243.js +0 -2
  206. abstra_statics/dist/assets/Main.b3e5d5fe.js +0 -2
  207. abstra_statics/dist/assets/NewEditor.0cd895fd.js +0 -8
  208. abstra_statics/dist/assets/OidcLoginCallback.9dd86a22.js +0 -2
  209. abstra_statics/dist/assets/OidcLogoutCallback.a60b6160.js +0 -2
  210. abstra_statics/dist/assets/OmniChat.00da5ca5.js +0 -6
  211. abstra_statics/dist/assets/OnboardingView.86178ead.js +0 -2
  212. abstra_statics/dist/assets/Organization.9bf814e7.js +0 -2
  213. abstra_statics/dist/assets/Organizations.7473e524.js +0 -2
  214. abstra_statics/dist/assets/PhDatabase.vue.33681014.js +0 -2
  215. abstra_statics/dist/assets/Project.1b9b8eee.js +0 -2
  216. abstra_statics/dist/assets/Project.9c418d2e.css +0 -1
  217. abstra_statics/dist/assets/ScrollArea.vue_vue_type_script_setup_true_lang.2a9a82d1.js +0 -2
  218. abstra_statics/dist/assets/Steps.a55d381b.js +0 -2
  219. abstra_statics/dist/assets/TableEditor.1f5f6b45.js +0 -2
  220. abstra_statics/dist/assets/Tables.ae22a918.js +0 -39
  221. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.9567dc60.js +0 -2
  222. abstra_statics/dist/assets/Tasks.db070216.js +0 -2
  223. abstra_statics/dist/assets/WidgetPreview.40cbebe3.js +0 -2
  224. abstra_statics/dist/assets/WorkflowViewer.0a209003.css +0 -1
  225. abstra_statics/dist/assets/WorkflowViewer.b9f96c37.js +0 -2
  226. abstra_statics/dist/assets/ant-design.5ec0b6b3.js +0 -2
  227. abstra_statics/dist/assets/asyncComputed.7ddee0b0.js +0 -2
  228. abstra_statics/dist/assets/colorHelpers.53158244.js +0 -2
  229. abstra_statics/dist/assets/constants.0deee127.js +0 -2
  230. abstra_statics/dist/assets/contracts.generated.0a04f0c8.js +0 -2
  231. abstra_statics/dist/assets/datetime.0048a7b9.js +0 -2
  232. abstra_statics/dist/assets/dayjs.618c5367.js +0 -2
  233. abstra_statics/dist/assets/editor.64e4d209.js +0 -2
  234. abstra_statics/dist/assets/editor.main.08984606.js +0 -2
  235. abstra_statics/dist/assets/fetch.7b0def40.js +0 -2
  236. abstra_statics/dist/assets/files.8583d431.js +0 -2
  237. abstra_statics/dist/assets/folder.c07afb46.js +0 -2
  238. abstra_statics/dist/assets/index.36af13ac.js +0 -2
  239. abstra_statics/dist/assets/linters.f033aedb.js +0 -2
  240. abstra_statics/dist/assets/player.4ba2218c.js +0 -2
  241. abstra_statics/dist/assets/polling.bdac3134.js +0 -2
  242. abstra_statics/dist/assets/project.f3f1cd2e.js +0 -2
  243. abstra_statics/dist/assets/record.c01e7f08.js +0 -2
  244. abstra_statics/dist/assets/repository.88fdba21.js +0 -2
  245. abstra_statics/dist/assets/router.135b49e3.js +0 -18
  246. abstra_statics/dist/assets/router.d8fe262e.js +0 -2
  247. abstra_statics/dist/assets/tasksController.866fa385.js +0 -4
  248. abstra_statics/dist/assets/url.7fa35693.js +0 -2
  249. abstra_statics/dist/assets/useTables.1d5bf2b4.js +0 -2
  250. abstra_statics/dist/assets/userStore.3a2d2697.js +0 -2
  251. abstra_statics/dist/assets/uuid.40423699.js +0 -2
  252. {abstra-3.24.7.dist-info → abstra-3.24.9.dist-info}/WHEEL +0 -0
  253. {abstra-3.24.7.dist-info → abstra-3.24.9.dist-info}/entry_points.txt +0 -0
  254. {abstra-3.24.7.dist-info → abstra-3.24.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ @import"https://cdn.jsdelivr.net/npm/@vue-flow/core@1.41.7/dist/style.css";@import"https://cdn.jsdelivr.net/npm/@vue-flow/core@1.41.7/dist/theme-default.css";.edge-label[data-v-8f1859d4]{position:absolute;padding:0 6px;border-radius:4px;background-color:#f9fafb;display:flex;align-items:center;justify-content:center;pointer-events:all}.stage-node[data-v-1c61a077]{padding:12px;min-width:150px;max-width:280px;display:flex;flex-direction:column;align-items:flex-start}.stage-node.disabled[data-v-1c61a077]{opacity:.35;background-color:#0000000d}.stage-content[data-v-1c61a077]{display:flex;align-items:center;gap:8px;width:100%}.stage-icon[data-v-1c61a077]{flex-shrink:0}.stage-title[data-v-1c61a077]{font-weight:500;font-size:14px;word-break:break-word;text-align:left;flex:1}.actions-menu[data-v-1c61a077]{flex-shrink:0;margin-left:auto}.action-item[data-v-1c61a077]{display:flex;align-items:center;gap:8px}.action-item.disabled[data-v-1c61a077]{opacity:.5;cursor:not-allowed}.action-warning[data-v-1c61a077]{max-width:250px}.flow-container[data-v-a90f8899]{width:100%;height:100%;box-sizing:border-box;position:relative}[data-v-a90f8899] .vue-flow__node{border:1px solid #ccc;border-radius:10px;background-color:#fff;max-width:280px;outline:none}[data-v-a90f8899] .vue-flow__node:hover{box-shadow:0 0 5px #0003}.edit-button[data-v-a90f8899]{position:absolute;right:24px;bottom:24px;width:56px;height:56px;box-shadow:0 2px 8px #00000026;z-index:1000;border-radius:28px;transition:all .3s ease;animation:pulse-a90f8899 2s infinite;display:flex;align-items:center;justify-content:center;overflow:hidden}.edit-button.expanded[data-v-a90f8899]{width:200px;padding:0 24px;border-radius:28px;animation:none}.edit-button-text[data-v-a90f8899]{margin-left:12px;white-space:nowrap;animation:fadeIn-a90f8899 .3s ease;font-weight:600;font-size:16px}@keyframes pulse-a90f8899{0%,to{box-shadow:0 2px 8px #7c3aed66}50%{box-shadow:0 2px 16px #7c3aedcc}}@keyframes fadeIn-a90f8899{0%{opacity:0}to{opacity:1}}.empty-state-card[data-v-a90f8899]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:800px;width:90%;box-shadow:0 4px 12px #0000001a}.option-card[data-v-a90f8899]{min-width:280px;max-width:350px;flex:1}.option-card[data-v-a90f8899]:hover{box-shadow:0 4px 12px #00000026;transition:box-shadow .3s ease}.code-container[data-v-a90f8899]{display:flex;align-items:center;gap:8px;background-color:#f5f5f5;padding:8px 12px;border-radius:4px}.install-code[data-v-a90f8899]{font-family:Courier New,monospace;font-size:13px;color:#262626;flex:1;background:transparent;padding:0}
@@ -0,0 +1,2 @@
1
+ var Me=Object.defineProperty;var Ae=(p,t,i)=>t in p?Me(p,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):p[t]=i;var ge=(p,t,i)=>(Ae(p,typeof t!="symbol"?t+"":t,i),i);import{_ as Q}from"./AbstraButton.vue_vue_type_script_setup_true_lang.6efe348a.js";import{F as $e,I as Le,O as je}from"./os.227120cb.js";import{d as U,at as R,c as I,o as u,ac as B,ae as Ce,h as W,ed as ze,e as w,f as s,u as e,a as j,b as a,g as x,t as m,df as q,ad as Te,aY as he,_ as pe,dj as E,ej as Pe,f8 as fe,de as ee,i as k,cS as ye,cT as xe,ei as ke,ec as be,el as se,bE as Ze,bD as oe,eh as ue,bW as Be,cM as Ne,eF as Ee,fi as Ve,v as We,r as Z,w as me,ax as De,U as He,S as Fe,A as ie,dd as Ye,eI as Xe,eJ as Ge,eu as Oe,ev as qe}from"./jwt-decode.esm.f87c17f7.js";import{F as Je}from"./PhArrowSquareOut.vue.1a0f1395.js";import{I as _e}from"./PhCopy.vue.d2b17064.js";import{G as Ue}from"./PhPencilSimple.vue.a65250cc.js";import{_ as Ke}from"./vue-flow-background.bbe978bf.js";import{a as Qe,b as Re,g as ne,u as et,e as tt,M as at}from"./vue-flow-core.8bb3991b.js";import{k as re}from"./router.09566602.js";import{a as ve,B as st,b as ot}from"./build.11c6f0e3.js";import{a as it,P as nt}from"./project.25a396d4.js";import"./tables.1b5568d1.js";import{G as rt}from"./PhArrowCounterClockwise.vue.de1d3ce9.js";import{I as lt}from"./PhCopySimple.vue.f2bb863a.js";import{G as dt}from"./PhDotsThreeVertical.vue.2c9a03d5.js";import{F as ct,G as ut,I as pt,a as gt}from"./PhWebhooksLogo.vue.1684b943.js";import{g as ft}from"./datetime.cc6674fd.js";import{_ as mt}from"./ExecutionStatusIcon.vue_vue_type_script_setup_true_lang.0b0c149c.js";import{u as _t}from"./polling.9bc57b91.js";import{C as le}from"./Card.50ce0913.js";import"./index.9f357119.js";import"./record.a8da6046.js";import"./string.0c102318.js";import"./LoadingOutlined.d3cb97d3.js";(function(){try{var p=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(p._sentryDebugIds=p._sentryDebugIds||{},p._sentryDebugIds[t]="921eafb1-6a33-4260-99b4-3d71ed58ce30",p._sentryDebugIdIdentifier="sentry-dbid-921eafb1-6a33-4260-99b4-3d71ed58ce30")}catch{}})();const vt=["width","height","fill","transform"],wt={key:0},ht=w("path",{d:"M227.85,46.89a20,20,0,0,0-18.74-18.74c-13.13-.77-46.65.42-74.48,28.24L131,60H74.36a19.83,19.83,0,0,0-14.14,5.86L25.87,100.19a20,20,0,0,0,11.35,33.95l37.14,5.18,42.32,42.32,5.19,37.18A19.88,19.88,0,0,0,135.34,235a20.13,20.13,0,0,0,6.37,1,19.9,19.9,0,0,0,14.1-5.87l34.34-34.35A19.85,19.85,0,0,0,196,181.64V125l3.6-3.59C227.43,93.54,228.62,60,227.85,46.89ZM76,84h31L75.75,115.28l-27.23-3.8ZM151.6,73.37A72.27,72.27,0,0,1,204,52a72.17,72.17,0,0,1-21.38,52.41L128,159,97,128ZM172,180l-27.49,27.49-3.8-27.23L172,149Zm-72,22c-8.71,11.85-26.19,26-60,26a12,12,0,0,1-12-12c0-33.84,14.12-51.32,26-60A12,12,0,1,1,68.18,175.3C62.3,179.63,55.51,187.8,53,203c15.21-2.51,23.37-9.3,27.7-15.18A12,12,0,1,1,100,202Z"},null,-1),yt=[ht],kt={key:1},bt=w("path",{d:"M184,120v61.65a8,8,0,0,1-2.34,5.65l-34.35,34.35a8,8,0,0,1-13.57-4.53L128,176ZM136,72H74.35a8,8,0,0,0-5.65,2.34L34.35,108.69a8,8,0,0,0,4.53,13.57L80,128ZM40,216c37.65,0,50.69-19.69,54.56-28.18L68.18,161.44C59.69,165.31,40,178.35,40,216Z",opacity:"0.2"},null,-1),St=w("path",{d:"M223.85,47.12a16,16,0,0,0-15-15c-12.58-.75-44.73.4-71.41,27.07L132.69,64H74.36A15.91,15.91,0,0,0,63,68.68L28.7,103a16,16,0,0,0,9.07,27.16l38.47,5.37,44.21,44.21,5.37,38.49a15.94,15.94,0,0,0,10.78,12.92,16.11,16.11,0,0,0,5.1.83A15.91,15.91,0,0,0,153,227.3L187.32,193A15.91,15.91,0,0,0,192,181.64V123.31l4.77-4.77C223.45,91.86,224.6,59.71,223.85,47.12ZM74.36,80h42.33L77.16,119.52,40,114.34Zm74.41-9.45a76.65,76.65,0,0,1,59.11-22.47,76.46,76.46,0,0,1-22.42,59.16L128,164.68,91.32,128ZM176,181.64,141.67,216l-5.19-37.17L176,139.31Zm-74.16,9.5C97.34,201,82.29,224,40,224a8,8,0,0,1-8-8c0-42.29,23-57.34,32.86-61.85a8,8,0,0,1,6.64,14.56c-6.43,2.93-20.62,12.36-23.12,38.91,26.55-2.5,36-16.69,38.91-23.12a8,8,0,1,1,14.56,6.64Z"},null,-1),It=[bt,St],Mt={key:2},At=w("path",{d:"M101.85,191.14C97.34,201,82.29,224,40,224a8,8,0,0,1-8-8c0-42.29,23-57.34,32.86-61.85a8,8,0,0,1,6.64,14.56c-6.43,2.93-20.62,12.36-23.12,38.91,26.55-2.5,36-16.69,38.91-23.12a8,8,0,1,1,14.56,6.64Zm122-144a16,16,0,0,0-15-15c-12.58-.75-44.73.4-71.4,27.07h0L88,108.7A8,8,0,0,1,76.67,97.39l26.56-26.57A4,4,0,0,0,100.41,64H74.35A15.9,15.9,0,0,0,63,68.68L28.7,103a16,16,0,0,0,9.07,27.16l38.47,5.37,44.21,44.21,5.37,38.49a15.94,15.94,0,0,0,10.78,12.92,16.11,16.11,0,0,0,5.1.83A15.91,15.91,0,0,0,153,227.3L187.32,193A16,16,0,0,0,192,181.65V155.59a4,4,0,0,0-6.83-2.82l-26.57,26.56a8,8,0,0,1-11.71-.42,8.2,8.2,0,0,1,.6-11.1l49.27-49.27h0C223.45,91.86,224.6,59.71,223.85,47.12Z"},null,-1),$t=[At],Lt={key:3},jt=w("path",{d:"M221.86,47.24a14,14,0,0,0-13.11-13.1c-12.31-.73-43.77.39-69.88,26.5L133.52,66H74.35a13.9,13.9,0,0,0-9.89,4.1L30.11,104.44a14,14,0,0,0,7.94,23.76l39.13,5.46,45.16,45.16L127.8,218a14,14,0,0,0,23.76,7.92l34.35-34.35a13.91,13.91,0,0,0,4.1-9.89V122.48l5.35-5.35h0C221.46,91,222.59,59.56,221.86,47.24ZM38.11,115a2,2,0,0,1,.49-2L72.94,78.58A2,2,0,0,1,74.35,78h47.17L77.87,121.64l-38.14-5.32A1.93,1.93,0,0,1,38.11,115ZM178,181.65a2,2,0,0,1-.59,1.41L143.08,217.4a2,2,0,0,1-3.4-1.11l-5.32-38.16L178,134.48Zm8.87-73h0L128,167.51,88.49,128l58.87-58.88a78.47,78.47,0,0,1,60.69-23A2,2,0,0,1,209.88,48,78.47,78.47,0,0,1,186.88,108.64ZM100,190.31C95.68,199.84,81.13,222,40,222a6,6,0,0,1-6-6c0-41.13,22.16-55.68,31.69-60a6,6,0,1,1,5,10.92c-7,3.17-22.53,13.52-24.47,42.91,29.39-1.94,39.74-17.52,42.91-24.47a6,6,0,1,1,10.92,5Z"},null,-1),Ct=[jt],zt={key:4},Tt=w("path",{d:"M223.85,47.12a16,16,0,0,0-15-15c-12.58-.75-44.73.4-71.41,27.07L132.69,64H74.36A15.91,15.91,0,0,0,63,68.68L28.7,103a16,16,0,0,0,9.07,27.16l38.47,5.37,44.21,44.21,5.37,38.49a15.94,15.94,0,0,0,10.78,12.92,16.11,16.11,0,0,0,5.1.83A15.91,15.91,0,0,0,153,227.3L187.32,193A15.91,15.91,0,0,0,192,181.64V123.31l4.77-4.77C223.45,91.86,224.6,59.71,223.85,47.12ZM74.36,80h42.33L77.16,119.52,40,114.34Zm74.41-9.45a76.65,76.65,0,0,1,59.11-22.47,76.46,76.46,0,0,1-22.42,59.16L128,164.68,91.32,128ZM176,181.64,141.67,216l-5.19-37.17L176,139.31Zm-74.16,9.5C97.34,201,82.29,224,40,224a8,8,0,0,1-8-8c0-42.29,23-57.34,32.86-61.85a8,8,0,0,1,6.64,14.56c-6.43,2.93-20.62,12.36-23.12,38.91,26.55-2.5,36-16.69,38.91-23.12a8,8,0,1,1,14.56,6.64Z"},null,-1),Pt=[Tt],xt={key:5},Zt=w("path",{d:"M219.86,47.36a12,12,0,0,0-11.22-11.22c-12-.71-42.82.38-68.35,25.91L134.35,68h-60a11.9,11.9,0,0,0-8.48,3.52L31.52,105.85a12,12,0,0,0,6.81,20.37l39.79,5.55,46.11,46.11,5.55,39.81a12,12,0,0,0,20.37,6.79l34.34-34.35a11.9,11.9,0,0,0,3.52-8.48v-60l5.94-5.94C219.48,90.18,220.57,59.41,219.86,47.36ZM36.21,115.6a3.94,3.94,0,0,1,1-4.09L71.53,77.17A4,4,0,0,1,74.35,76h52L78.58,123.76,39.44,118.3A3.94,3.94,0,0,1,36.21,115.6ZM180,181.65a4,4,0,0,1-1.17,2.83l-34.35,34.34a4,4,0,0,1-6.79-2.25l-5.46-39.15L180,129.65Zm-52-11.31L85.66,128l60.28-60.29c23.24-23.24,51.25-24.23,62.22-23.58a3.93,3.93,0,0,1,3.71,3.71c.65,11-.35,39-23.58,62.22ZM98.21,189.48C94,198.66,80,220,40,220a4,4,0,0,1-4-4c0-40,21.34-54,30.52-58.21a4,4,0,0,1,3.32,7.28c-7.46,3.41-24.43,14.66-25.76,46.85,32.19-1.33,43.44-18.3,46.85-25.76a4,4,0,1,1,7.28,3.32Z"},null,-1),Bt=[Zt],Nt={name:"PhRocketLaunch"},Et=U({...Nt,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(p){const t=p,i=R("weight","regular"),h=R("size","1em"),L=R("color","currentColor"),n=R("mirrored",!1),r=I(()=>{var c;return(c=t.weight)!=null?c:i}),o=I(()=>{var c;return(c=t.size)!=null?c:h}),f=I(()=>{var c;return(c=t.color)!=null?c:L}),d=I(()=>t.mirrored!==void 0?t.mirrored?"scale(-1, 1)":void 0:n?"scale(-1, 1)":void 0);return(c,M)=>(u(),B("svg",ze({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:o.value,height:o.value,fill:f.value,transform:d.value},c.$attrs),[Ce(c.$slots,"default"),r.value==="bold"?(u(),B("g",wt,yt)):r.value==="duotone"?(u(),B("g",kt,It)):r.value==="fill"?(u(),B("g",Mt,$t)):r.value==="light"?(u(),B("g",Lt,Ct)):r.value==="regular"?(u(),B("g",zt,Pt)):r.value==="thin"?(u(),B("g",xt,Bt)):W("",!0)],16,vt))}}),Vt=U({__name:"WorkflowEdge",props:{id:{},sourceNode:{},targetNode:{},source:{},target:{},type:{},label:{type:[String,Object,Function]},style:{},selected:{type:Boolean},sourcePosition:{},targetPosition:{},sourceHandleId:{},targetHandleId:{},animated:{type:Boolean},updatable:{type:Boolean},markerStart:{},markerEnd:{},curvature:{},interactionWidth:{},data:{},events:{},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{},sourceX:{},sourceY:{},targetX:{},targetY:{}},setup(p){const t=p;function i(n,r,o=0){const f=r.center.x-n.center.x,d=r.center.y-n.center.y,c=Math.sqrt(f*f+d*d);if(c===0)return{sourceX:n.center.x,sourceY:n.center.y,targetX:r.center.x,targetY:r.center.y};const M=f/c,_=d/c,b=n.width/2,S=n.height/2;let y=n.center.x,D=n.center.y;Math.abs(M)*S>Math.abs(_)*b?(y=n.center.x+(M>0?b:-b),D=n.center.y+_*b/Math.abs(M)):(y=n.center.x+M*S/Math.abs(_),D=n.center.y+(_>0?S:-S));const v=r.width/2,C=r.height/2;let z=r.center.x,V=r.center.y;return Math.abs(M)*C>Math.abs(_)*v?(z=r.center.x-(M>0?v:-v),V=r.center.y-_*v/Math.abs(M)):(z=r.center.x-M*C/Math.abs(_),V=r.center.y-(_>0?C:-C)),y+=M*o,D+=_*o,z-=M*o,V-=_*o,{sourceX:y,sourceY:D,targetX:z,targetY:V}}function h(n,r){const f={center:{x:n.computedPosition.x+n.dimensions.width/2,y:n.computedPosition.y+n.dimensions.height/2},width:n.dimensions.width,height:n.dimensions.height},c={center:{x:r.computedPosition.x+r.dimensions.width/2,y:r.computedPosition.y+r.dimensions.height/2},width:r.dimensions.width,height:r.dimensions.height};return i(f,c,10)}const L=I(()=>{if(!t.sourceNode||!t.targetNode)return ne({sourceX:0,sourceY:0,targetX:0,targetY:0});if(!t.sourceNode.dimensions.width||!t.targetNode.dimensions.width||!t.sourceNode.dimensions.height||!t.targetNode.dimensions.height)return ne({sourceX:0,sourceY:0,targetX:0,targetY:0});const n=h(t.sourceNode,t.targetNode);return ne(n)});return(n,r)=>{var o,f;return u(),B(he,null,[s(e(Qe),{path:L.value[0],"marker-end":t.markerEnd},null,8,["path","marker-end"]),(f=(o=t.data)==null?void 0:o.props)!=null&&f.taskType?(u(),j(e(Re),{key:0},{default:a(()=>[w("div",{style:Te({transform:`translate(-50%, -50%) translate(${L.value[1]}px,${L.value[2]}px)`}),class:"nodrag nopan edge-label"},[s(e(q),null,{default:a(()=>[x(m(t.data.props.taskType),1)]),_:1})],4)]),_:1})):W("",!0)],64)}}});const Wt=pe(Vt,[["__scopeId","data-v-8f1859d4"]]);class Dt{async list(t){return re.get(`projects/${t}/disabled-stages`)}async disableStage({projectId:t,stageId:i}){return re.patch(`projects/${t}/disabled-stages/${i}`,{enable:!1})}async enableStage({projectId:t,stageId:i}){return re.patch(`projects/${t}/disabled-stages/${i}`,{enable:!0})}}const de=new Dt;class J{constructor(t){ge(this,"id");this.dto=t,this.id=t}static async list(t){return(await de.list(t)).map(h=>new J(h))}static async disableStage({projectId:t,stageId:i}){return de.disableStage({projectId:t,stageId:i})}static async enableStage({projectId:t,stageId:i}){return de.enableStage({projectId:t,stageId:i})}}const Ht=U({__name:"WorkflowStageExecutions",props:{stageId:{},projectId:{},statistics:{}},setup(p){const t=p,i=o=>{if(!o.createdAt||!o.updatedAt)return 0;const f=new Date(o.createdAt).getTime(),d=new Date(o.updatedAt).getTime();return Math.round((d-f)/1e3)},h=I(()=>t.statistics?Math.round(t.statistics.completedTasks/t.statistics.totalTasks*100):0),L=I(()=>{const o=h.value;return o===100?"#52c41a":o>=50?"#1890ff":"#faad14"}),n=o=>ft(o,{weekday:void 0}),r=o=>{if(o<60)return`${Math.round(o)}s`;const f=Math.floor(o/60);if(f<60)return`${f}m`;const d=Math.floor(f/60);return d<24?`${d}h`:`${Math.floor(d/24)}d`};return(o,f)=>(u(),j(e(E),{vertical:"",size:4,style:{width:"100%"}},{default:a(()=>[o.statistics.lastExecutions&&o.statistics.lastExecutions.length>0?(u(),j(e(E),{key:0,size:4,gap:4},{default:a(()=>[(u(!0),B(he,null,Pe(o.statistics.lastExecutions,d=>(u(),j(e(fe),{key:d.id,to:{name:"logs",params:{projectId:o.projectId},query:{executionId:d.id}}},{default:a(()=>[s(e(ye),{title:n(new Date(d.createdAt))},{content:a(()=>[s(e(E),{vertical:"",size:4},{default:a(()=>[s(e(ee),null,{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_status"))+": "+m(d.status),1)]),_:2},1024),d.updatedAt&&d.updatedAt!==d.createdAt?(u(),j(e(ee),{key:0},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_duration"))+": "+m(i(d))+"s ",1)]),_:2},1024)):W("",!0),s(e(ee),null,{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_version"))+": "+m(d.buildId.slice(0,6)),1)]),_:2},1024)]),_:2},1024)]),default:a(()=>[s(mt,{status:d.status},null,8,["status"])]),_:2},1032,["title"])]),_:2},1032,["to"]))),128))]),_:1})):W("",!0),o.statistics.totalTasks>0?(u(),j(e(fe),{key:1,to:{name:"tasks",params:{projectId:o.projectId},query:{stage:o.stageId,status:"pending"}}},{default:a(()=>[s(e(E),{vertical:"",size:2},{default:a(()=>[s(e(xe),{"show-info":!1,percent:h.value,"stroke-color":L.value,size:"small"},null,8,["percent","stroke-color"]),s(e(E),{vertical:"",size:0},{default:a(()=>[o.statistics.pendingTasks>0&&o.statistics.averageCompletionSeconds?(u(),j(e(ee),{key:0,type:"secondary",style:{fontSize:"11px"}},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_pending_tasks").replace("{count}",o.statistics.pendingTasks.toString()))+" ("+m(r(o.statistics.averageCompletionSeconds))+" "+m(e(k).translate("i18n_workflowviewer_average"))+") ",1)]),_:1})):W("",!0)]),_:1})]),_:1})]),_:1},8,["to"])):W("",!0)]),_:1}))}}),Ft={class:"stage-content"},Yt={class:"stage-title"},Xt={class:"action-item"},Gt={class:"action-item"},Ot={class:"action-warning"},qt={key:1,class:"action-item"},we="3.18.0",Jt=U({__name:"WorkflowStageNode",props:{stage:{},statistics:{},disabledStages:{},project:{},buildSpec:{}},emits:["refetch-disabled-stages"],setup(p,{emit:t}){const i=p,h=ke(),L=be(),n=h.params.projectId,r=I(()=>({forms:ct,hooks:ut,scripts:pt,jobs:gt})[i.stage.type]),o=()=>{L.push({name:"logs",params:{projectId:n},query:{stageId:i.stage.id}})},f=I(()=>i.stage.type==="forms"||i.stage.type==="hooks"),d=()=>{var z;if(!i.stage.path)return;const v=i.stage.type==="forms"?`/${i.stage.path}`:`/_hooks/${i.stage.path}`,C=(z=i.project)==null?void 0:z.getUrl(v);!C||(navigator.clipboard.writeText(C),Ne.success(k.translate("i18n_workflowviewer_copied_url")))},c=I(()=>{var v;return(v=i.disabledStages)==null?void 0:v.map(C=>C.id).includes(i.stage.id)}),M=(v,C)=>{const[z,V,K]=v.split(".").map(Number),[X,F,ae]=C.split(".").map(Number);return z>X?!0:z<X?!1:V>F?!0:V<F?!1:K>=ae},_=I(()=>c.value?Ee:Ve),b=I(()=>c.value?k.translate("i18n_workflowviewer_enable_stage"):k.translate("i18n_workflowviewer_disable_stage")),S=I(()=>{var v;return!M(((v=i.buildSpec)==null?void 0:v.abstraVersion)||"0.0.0",we)}),y=I(()=>S.value?k.translate("i18n_workflowviewer_disable_stages_warning").replace("{version}",we):""),D=async()=>{S.value||(c.value?await J.enableStage({projectId:n,stageId:i.stage.id}):await J.disableStage({projectId:n,stageId:i.stage.id}),await t("refetch-disabled-stages"))};return(v,C)=>(u(),B("div",{class:ue(["stage-node",{disabled:c.value}])},[w("div",Ft,[(u(),j(se(r.value),{size:18,class:"stage-icon"})),w("div",Yt,m(v.stage.title),1),s(e(Be),{trigger:["click"]},{overlay:a(()=>[s(e(Ze),null,{default:a(()=>[s(e(oe),{onClick:o},{default:a(()=>[w("div",Xt,[s(e(rt),{size:16}),w("span",null,m(e(k).translate("i18n_workflowviewer_view_logs")),1)])]),_:1}),f.value?(u(),j(e(oe),{key:0,onClick:d},{default:a(()=>[w("div",Gt,[s(e(lt),{size:16}),w("span",null,m(e(k).translate("i18n_workflowviewer_copy_url")),1)])]),_:1})):W("",!0),s(e(oe),{onClick:D},{default:a(()=>[S.value?(u(),j(e(ye),{key:0,placement:"left"},{content:a(()=>[w("div",Ot,[s(e(q),null,{default:a(()=>[x(m(y.value),1)]),_:1})])]),default:a(()=>[w("div",{class:ue(["action-item",{disabled:S.value}])},[(u(),j(se(_.value),{size:16})),w("span",null,m(b.value),1)],2)]),_:1})):(u(),B("div",qt,[(u(),j(se(_.value),{size:16})),w("span",null,m(b.value),1)]))]),_:1})]),_:1})]),default:a(()=>[s(e(dt),{style:{cursor:"pointer"},size:20,class:"actions-menu"})]),_:1})]),v.statistics?(u(),j(Ht,{key:0,"stage-id":v.stage.id,"project-id":e(n),statistics:v.statistics,style:{"margin-top":"8px"}},null,8,["stage-id","project-id","statistics"])):W("",!0)],2))}});const te=pe(Jt,[["__scopeId","data-v-1c61a077"]]),Ut=We("workflow",()=>{const p=Z([]),t=Z(null),i=Z(!1);let h=null,L=null,n=null,r=[];async function o(){if(!L||!n){console.warn("Cannot load data: no project context set");return}i.value=!0;try{const _=await n.getWorkflowStatistics(L),b=new Set(r),S=new Map(_.filter(y=>b.has(y.stageId)).map(y=>[y.stageId,y]));p.value=r.map(y=>S.has(y)?S.get(y):{stageId:y,lastExecutions:[],pendingTasks:0,lockedTasks:0,completedTasks:0,averageCompletionSeconds:void 0,totalTasks:0}),t.value=await J.list(L)}catch(_){console.error("Failed to load workflow data:",_)}finally{i.value=!1}}function f(_,b,S){if(h&&h.endPolling(),n=_,L=b,r=S,S.length>0){const y=_t({task:o,interval:15e3});h=y,o(),y.startPolling()}}function d(){h&&(h.endPolling(),h=null)}function c(){d(),p.value=[],t.value=null,i.value=!1,L=null,n=null,r=[]}const M=I(()=>_=>p.value.find(b=>b.stageId===_)||null);return{statistics:p,disabledStages:t,loading:i,getStatisticsForStage:M,initializePolling:f,stopPolling:d,resetStore:c,refetch:o}}),Se=p=>(Oe("data-v-a90f8899"),p=p(),qe(),p),Kt={class:"flow-container"},Qt={class:"code-container"},Rt=Se(()=>w("code",{class:"install-code"},"pip install abstra",-1)),ea={class:"code-container"},ta=Se(()=>w("code",{class:"install-code"},"abstra editor .",-1)),aa={key:0,class:"edit-button-text"},ce="#ea576a",sa=U({__name:"WorkflowViewer",setup(p){const{onInit:t}=et(),i=new ot,h=ke(),L=be(),n=h.params.projectId,r=h.query.buildId,o=Z(!0),f=Z(null),d=Z(!0),c=Z(!1),M=()=>{L.push({name:"web-editor",params:{projectId:n}})},_=async A=>{try{await navigator.clipboard.writeText(A)}catch(l){console.error("Failed to copy:",l)}};t(A=>{d.value&&(A.fitView(),d.value=!1)});const b=Z([]),S=Z([]),y=I(()=>b.value.map(A=>A.id)),D=new nt,v=Ut(),C=I(()=>v.statistics),z=Z();me(y,A=>{v.initializePolling(D,n,A)},{immediate:!0}),De(()=>{v.stopPolling()});const V=Z(!1),K=I(()=>b.value.length>0&&V.value),X=A=>b.value.map(l=>({id:l.id,type:l.type,data:{stage:l,statistics:A.find(g=>g.stageId===l.id)||null},position:{x:l.position.x,y:l.position.y*1.5}})),F=Z(X(C.value));me(()=>C.value,()=>{F.value=X(C.value)});const ae=I(()=>{const A=new Set(F.value.map(l=>l.id));return S.value.filter(l=>{const g=A.has(l.sourceStageId),Y=A.has(l.targetStageId);return g&&Y}).map(l=>({id:l.id,source:l.sourceStageId,target:l.targetStageId,type:"task",data:{id:l.id,props:{taskType:l.taskType}},markerEnd:{type:at.Arrow,width:24,height:24}}))});function Ie(A){const l=[],g=[],Y=["jobs","hooks","forms","scripts"];for(const P of Y){const $=A[P]||[];for(const T of $){l.push({id:T.id,type:P,title:T.title,position:{x:T.workflow_position[0],y:T.workflow_position[1]},file:T.file,path:T.path,schedule:T.schedule});for(const H of T.transitions||[])g.push({id:H.id,sourceStageId:T.id,targetStageId:H.target_id,taskType:H.task_type})}}const N=new Set(l.map(P=>P.id)),O=g.filter(P=>N.has(P.sourceStageId)&&N.has(P.targetStageId));b.value=l,S.value=O,V.value=!0}const G=Z();return He(async()=>{var A,l,g,Y;try{o.value=!0,z.value=await it.get(n);let N;if(r){const T=(await ve.list(n)).find(H=>H.id===r);if(!T){f.value="Build not found";return}N=T}else{const T=(await ve.list(n)).find(H=>H.latest);if(!T){f.value="No builds found for this project";return}N=T}const O=await i.get(N.id);if(!O||!O.abstraJson){f.value="No workflow data available for this build";return}const P=JSON.parse(O.abstraJson);Ie(P),G.value=st.fromDTO(n,N.id,P.version,{forms:((A=P.forms)==null?void 0:A.map($=>({id:$.id,path:$.path,title:$.title})))||[],hooks:((l=P.hooks)==null?void 0:l.map($=>({id:$.id,path:$.path,title:$.title})))||[],jobs:((g=P.jobs)==null?void 0:g.map($=>({id:$.id,schedule:$.schedule,title:$.title})))||[],scripts:((Y=P.scripts)==null?void 0:Y.map($=>({id:$.id,title:$.title})))||[]})}catch(N){f.value=N instanceof Error?N.message:"Failed to load workflow",console.error(N)}finally{o.value=!1}}),(A,l)=>(u(),B("div",Kt,[o.value?(u(),j(e(Fe),{key:0,style:{width:"100%"}})):K.value?(u(),j(e(tt),{key:`workflow-${b.value.length}-${S.value.length}`,nodes:F.value,edges:ae.value,"default-viewport":{zoom:1.5},"fit-view-on-init":"","min-zoom":.1,"max-zoom":1.25,"pan-on-scroll":e(je).isMac,"snap-to-grid":""},{"edge-task":a(g=>[s(Wt,Xe(Ge(g)),null,16)]),"node-forms":a(g=>[s(te,{stage:g.data.stage,statistics:g.data.statistics,project:z.value,"build-spec":G.value},null,8,["stage","statistics","project","build-spec"])]),"node-hooks":a(g=>[s(te,{stage:g.data.stage,statistics:g.data.statistics,project:z.value,"build-spec":G.value},null,8,["stage","statistics","project","build-spec"])]),"node-scripts":a(g=>[s(te,{stage:g.data.stage,statistics:g.data.statistics,project:z.value,"build-spec":G.value},null,8,["stage","statistics","project","build-spec"])]),"node-jobs":a(g=>[s(te,{stage:g.data.stage,statistics:g.data.statistics,project:z.value,"build-spec":G.value},null,8,["stage","statistics","project","build-spec"])]),default:a(()=>[s(e(Ke),{"pattern-color":"#aaa",gap:16})]),_:1},8,["nodes","edges","pan-on-scroll"])):(u(),j(e(le),{key:1,class:"empty-state-card"},{default:a(()=>[s(e(E),{vertical:"",gap:24,align:"center"},{default:a(()=>[s(e(Et),{size:64,color:ce}),s(e(E),{vertical:"",gap:8,align:"center"},{default:a(()=>[s(e(ie),{level:3},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_getting_started")),1)]),_:1}),s(e(q),{type:"secondary",style:{"text-align":"center"}},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_no_workflow_description")),1)]),_:1})]),_:1}),s(e(E),{gap:16,wrap:"wrap",justify:"center"},{default:a(()=>[s(e(le),{class:"option-card"},{default:a(()=>[s(e(E),{vertical:"",gap:12},{default:a(()=>[s(e($e),{size:32,color:ce}),s(e(ie),{level:5},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_option_cli")),1)]),_:1}),s(e(q),{type:"secondary",style:{"font-size":"13px"}},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_cli_description")),1)]),_:1}),s(e(E),{vertical:"",gap:8},{default:a(()=>[w("div",Qt,[Rt,s(Q,{type:"text",size:"small",onClick:l[0]||(l[0]=g=>_("pip install abstra"))},{default:a(()=>[s(e(_e),{size:16})]),_:1})]),w("div",ea,[ta,s(Q,{type:"text",size:"small",onClick:l[1]||(l[1]=g=>_("abstra editor ."))},{default:a(()=>[s(e(_e),{size:16})]),_:1})])]),_:1})]),_:1})]),_:1}),s(e(le),{class:"option-card"},{default:a(()=>[s(e(E),{vertical:"",gap:12},{default:a(()=>[s(e(Le),{size:32,color:ce}),s(e(ie),{level:5},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_option_online")),1)]),_:1}),s(e(q),{type:"secondary",style:{"font-size":"13px"}},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_online_description")),1)]),_:1}),s(Q,{type:"primary",onClick:M},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_open_editor")),1)]),_:1})]),_:1})]),_:1})]),_:1}),s(e(Ye),{href:"https://www.abstra.io/docs",target:"_blank"},{default:a(()=>[x(m(e(k).translate("i18n_workflowviewer_view_docs"))+" ",1),s(e(Je),{size:14,style:{"margin-left":"4px"}})]),_:1})]),_:1})]),_:1})),!o.value&&K.value?(u(),j(Q,{key:3,class:ue(["edit-button",{expanded:c.value}]),type:"primary",size:"large",onClick:M,onMouseenter:l[2]||(l[2]=g=>c.value=!0),onMouseleave:l[3]||(l[3]=g=>c.value=!1)},{default:a(()=>[s(e(Ue),{size:24}),c.value?(u(),B("span",aa,m(e(k).translate("i18n_workflowviewer_edit_online")),1)):W("",!0)]),_:1},8,["class"])):W("",!0)]))}});const ja=pe(sa,[["__scopeId","data-v-a90f8899"]]);export{ja as default};
2
+ //# sourceMappingURL=WorkflowViewer.b0072dc6.js.map
@@ -0,0 +1,2 @@
1
+ import{ep as n,M as b}from"./jwt-decode.esm.f87c17f7.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]="95b47ba5-173b-47a2-9102-1b71615da899",e._sentryDebugIdIdentifier="sentry-dbid-95b47ba5-173b-47a2-9102-1b71615da899")}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 o(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 c(e,r=[],t){const l=t?`'${t}': ${u(e)}`:u(e);if(n.exports.isArray(e)){const i=o(e);return[{title:l,key:[...r,i].join("/"),children:e.flatMap((s,f)=>c(s,[...r,i,`${f}`]))}]}else if(n.exports.isObject(e)){const i=o(e);return[{title:l,key:[...r,i].join("/"),children:Object.entries(e).flatMap(([s,f])=>c(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,c as t};
2
+ //# sourceMappingURL=ant-design.3284f24b.js.map
@@ -1,2 +1,2 @@
1
- var i=Object.defineProperty;var o=(s,t,e)=>t in s?i(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var c=(s,t,e)=>(o(s,typeof t!="symbol"?t+"":t,e),e);import{k as r}from"./router.135b49e3.js";import"./jwt-decode.esm.b9bb33e7.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="c59d6b72-966b-4073-98fc-f4ec8ab7b781",s._sentryDebugIdIdentifier="sentry-dbid-c59d6b72-966b-4073-98fc-f4ec8ab7b781")}catch{}})();class u{constructor(){c(this,"urlPath","api-keys")}async create({projectId:t,name:e}){return r.post(`projects/${t}/${this.urlPath}`,{name:e})}async delete(t,e){await r.delete(`projects/${t}/${this.urlPath}/${e}`)}async list(t){return r.get(`projects/${t}/${this.urlPath}`)}}const a=new u;class n{constructor(t){this.dto=t}static async list(t){return(await a.list(t)).map(d=>new n(d))}static async create(t){const e=await a.create(t);return new n(e)}static async delete(t,e){await a.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.1bb9c6d2.js.map
1
+ var o=Object.defineProperty;var c=(s,t,e)=>t in s?o(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var d=(s,t,e)=>(c(s,typeof t!="symbol"?t+"":t,e),e);import{k as r}from"./router.09566602.js";import"./jwt-decode.esm.f87c17f7.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},t=new Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="d689ad94-bb51-4f08-b828-8621570d451e",s._sentryDebugIdIdentifier="sentry-dbid-d689ad94-bb51-4f08-b828-8621570d451e")}catch{}})();class u{constructor(){d(this,"urlPath","api-keys")}async create({projectId:t,name:e}){return r.post(`projects/${t}/${this.urlPath}`,{name:e})}async delete(t,e){await r.delete(`projects/${t}/${this.urlPath}/${e}`)}async list(t){return r.get(`projects/${t}/${this.urlPath}`)}}const a=new u;class n{constructor(t){this.dto=t}static async list(t){return(await a.list(t)).map(i=>new n(i))}static async create(t){const e=await a.create(t);return new n(e)}static async delete(t,e){await a.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.66dca0fa.js.map
@@ -0,0 +1,2 @@
1
+ import{$ as i,R as g,c as s}from"./jwt-decode.esm.f87c17f7.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]="4b6d2be0-79f6-460e-8db2-50318fb4c369",n._sentryDebugIdIdentifier="sentry-dbid-4b6d2be0-79f6-460e-8db2-50318fb4c369")}catch{}})();const v=n=>{const e=i({loading:!0,result:null,error:null});let l=null,o=0;const a=(r,t)=>(t===o&&(e.value={loading:!1,result:r,error:null}),r),d=(r,t)=>{t===o&&r.name!=="AbortError"&&(e.value={loading:!1,result:null,error:r})},u=async()=>{l&&l.abort(),l=new AbortController;const r=++o;return e.value={loading:!0,result:e.value.result,error:null},n().then(t=>a(t,r)).catch(t=>d(t,r))};u(),g(()=>{l&&l.abort()});const c=s(()=>e.value.loading),f=s(()=>e.value.result),b=s(()=>e.value.error);return{loading:c,result:f,error:b,refetch:u}};export{v as a};
2
+ //# sourceMappingURL=asyncComputed.515034b4.js.map
@@ -1,2 +1,2 @@
1
- import{k as n}from"./router.135b49e3.js";import"./jwt-decode.esm.b9bb33e7.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]="acf5144a-8667-4319-9311-6385785aefe9",i._sentryDebugIdIdentifier="sentry-dbid-acf5144a-8667-4319-9311-6385785aefe9")}catch{}})();class c{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 c;class g{constructor(e){this.dto=e}static async list(e){return(await d.list(e)).map(a=>new g(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,g as a,c as b};
2
- //# sourceMappingURL=build.bfc699c6.js.map
1
+ import{k as n}from"./router.09566602.js";import"./jwt-decode.esm.f87c17f7.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]="883a37ca-7f71-4d92-a2e0-ee5375a319d8",i._sentryDebugIdIdentifier="sentry-dbid-883a37ca-7f71-4d92-a2e0-ee5375a319d8")}catch{}})();class c{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 c;class g{constructor(e){this.dto=e}static async list(e){return(await d.list(e)).map(a=>new g(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,g as a,c as b};
2
+ //# sourceMappingURL=build.11c6f0e3.js.map
@@ -0,0 +1,2 @@
1
+ import"./jwt-decode.esm.f87c17f7.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]="d13843fb-47d8-4f27-8ba2-9b4925730793",t._sentryDebugIdIdentifier="sentry-dbid-d13843fb-47d8-4f27-8ba2-9b4925730793")}catch{}})();function p(t,e){const{r:n,g:r,b:o,usePound:s}=g(t);return w(c(n,-e),c(r,-e),c(o,-e),s)}function c(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}=g(t);return e*.299+n*.587+r*.114<186}function g(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}=g(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:f}=r,a=document.createElement("canvas");a.width=s,a.height=f;const u=a.getContext("2d");if(!u)return e(!1);u.drawImage(r,0,0);const I=u.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*f));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.43bbe7b2.js.map