abstra 3.23.11__py3-none-any.whl → 3.23.12__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 (227) hide show
  1. abstra/ai.py +2 -0
  2. {abstra-3.23.11.dist-info → abstra-3.23.12.dist-info}/METADATA +1 -1
  3. {abstra-3.23.11.dist-info → abstra-3.23.12.dist-info}/RECORD +172 -172
  4. abstra_internals/contracts_generated.py +5254 -5115
  5. abstra_internals/controllers/ai.py +23 -15
  6. abstra_internals/entities/forms/template.py +2 -2
  7. abstra_internals/interface/sdk/ai.py +156 -19
  8. abstra_internals/server/routes/ai.py +1 -18
  9. abstra_internals/services/fs.py +4 -1
  10. abstra_statics/dist/assets/{AbstraButton.vue_vue_type_script_setup_true_lang.3fce0fbb.js → AbstraButton.vue_vue_type_script_setup_true_lang.441fcdfd.js} +2 -2
  11. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.3f03a3ef.js +2 -0
  12. abstra_statics/dist/assets/ApiKeys.cb561e62.js +2 -0
  13. abstra_statics/dist/assets/App.dc82115f.js +2 -0
  14. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.3640ec1c.js +2 -0
  15. abstra_statics/dist/assets/BaseLayout.c63dfc2d.js +2 -0
  16. abstra_statics/dist/assets/Billing.461db3ef.js +2 -0
  17. abstra_statics/dist/assets/{Breadcrumb.f11a16d0.js → Breadcrumb.27110ec4.js} +2 -2
  18. abstra_statics/dist/assets/{Builds.2bf5dad8.js → Builds.4eecd717.js} +2 -2
  19. abstra_statics/dist/assets/{Card.6caecaa4.js → Card.1d1a9fb7.js} +2 -2
  20. abstra_statics/dist/assets/{CircularLoading.bc88c029.js → CircularLoading.fc66331b.js} +2 -2
  21. abstra_statics/dist/assets/CloseCircleOutlined.0110bbe2.js +2 -0
  22. abstra_statics/dist/assets/{ConnectorsView.aeb00ce8.css → ConnectorsView.82e74ae4.css} +1 -1
  23. abstra_statics/dist/assets/ConnectorsView.b428e487.js +2 -0
  24. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.506f28c6.js +2 -0
  25. abstra_statics/dist/assets/ContentLayout.228d2328.js +2 -0
  26. abstra_statics/dist/assets/{CrudView.79588134.js → CrudView.c16e2f81.js} +2 -2
  27. abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.61381525.js +2 -0
  28. abstra_statics/dist/assets/{EditorLogin.e704b2ee.js → EditorLogin.00a3b3d9.js} +2 -2
  29. abstra_statics/dist/assets/EditorsView.f7b2843c.js +2 -0
  30. abstra_statics/dist/assets/EnvVars.242b97c2.js +2 -0
  31. abstra_statics/dist/assets/Error.466dbb94.js +2 -0
  32. abstra_statics/dist/assets/ExclamationCircleOutlined.6d10f60b.js +2 -0
  33. abstra_statics/dist/assets/{Files.06a52abd.js → Files.104385dd.js} +2 -2
  34. abstra_statics/dist/assets/Form.8077681f.js +2 -0
  35. abstra_statics/dist/assets/{FormRunner.2b75fd4d.js → FormRunner.055e2c45.js} +2 -2
  36. abstra_statics/dist/assets/Home.0ef22910.js +2 -0
  37. abstra_statics/dist/assets/{Home.d122da63.js → Home.80c7e349.js} +2 -2
  38. abstra_statics/dist/assets/{Live.08670b33.js → Live.e1261458.js} +2 -2
  39. abstra_statics/dist/assets/LoadingContainer.6e2b63e4.js +2 -0
  40. abstra_statics/dist/assets/{LoadingOutlined.659d6aae.js → LoadingOutlined.cd84d9c9.js} +2 -2
  41. abstra_statics/dist/assets/{Login.8491c4b7.js → Login.041361ea.js} +2 -2
  42. abstra_statics/dist/assets/Login.409f4a11.js +2 -0
  43. abstra_statics/dist/assets/{Login.vue_vue_type_script_setup_true_lang.eb94ecc3.js → Login.vue_vue_type_script_setup_true_lang.c2eb444c.js} +2 -2
  44. abstra_statics/dist/assets/Logo.2de02c4a.js +2 -0
  45. abstra_statics/dist/assets/{Logs.030c8a19.js → Logs.f76cde12.js} +2 -2
  46. abstra_statics/dist/assets/{LogsController.7e2c0c7a.js → LogsController.addd81bf.js} +2 -2
  47. abstra_statics/dist/assets/Main.4370ed68.js +2 -0
  48. abstra_statics/dist/assets/{MockForm.8b56fd25.js → MockForm.c9441864.js} +2 -2
  49. abstra_statics/dist/assets/Navbar.07ba9452.js +2 -0
  50. abstra_statics/dist/assets/NewEditor.769f4459.js +8 -0
  51. abstra_statics/dist/assets/NewEditor.d6e41a05.css +1 -0
  52. abstra_statics/dist/assets/OidcLoginCallback.a89857fe.js +2 -0
  53. abstra_statics/dist/assets/OidcLogoutCallback.d151c695.js +2 -0
  54. abstra_statics/dist/assets/OmniChat.0f64dfec.css +1 -0
  55. abstra_statics/dist/assets/OmniChat.d015bfa8.js +6 -0
  56. abstra_statics/dist/assets/{OnboardingView.262e82cc.js → OnboardingView.fbc4b6fe.js} +2 -2
  57. abstra_statics/dist/assets/{Organization.4f3ccb55.js → Organization.bc495099.js} +2 -2
  58. abstra_statics/dist/assets/Organizations.b630803f.js +2 -0
  59. abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.a1a917b9.js → PhArrowCounterClockwise.vue.156bcd89.js} +2 -2
  60. abstra_statics/dist/assets/{PhArrowSquareOut.vue.eb4455ba.js → PhArrowSquareOut.vue.d0c95a06.js} +2 -2
  61. abstra_statics/dist/assets/{PhBookBookmark.vue.7bb66888.js → PhBookBookmark.vue.42e49494.js} +2 -2
  62. abstra_statics/dist/assets/{PhChats.vue.88d84608.js → PhChats.vue.54d692e4.js} +2 -2
  63. abstra_statics/dist/assets/{PhClockCounterClockwise.vue.02d85ea5.js → PhClockCounterClockwise.vue.d47d66ba.js} +2 -2
  64. abstra_statics/dist/assets/{PhCopy.vue.5664181e.js → PhCopy.vue.a0d9b0ec.js} +2 -2
  65. abstra_statics/dist/assets/PhCopySimple.vue.43c74ebe.js +2 -0
  66. abstra_statics/dist/assets/{PhCube.vue.8de1132a.js → PhCube.vue.498c014d.js} +2 -2
  67. abstra_statics/dist/assets/{PhDotsThreeVertical.vue.9e306480.js → PhDotsThreeVertical.vue.0ea03d82.js} +2 -2
  68. abstra_statics/dist/assets/{PhDownloadSimple.vue.6192bb0e.js → PhDownloadSimple.vue.c92aeaff.js} +2 -2
  69. abstra_statics/dist/assets/{PhFolderPlus.vue.658105d4.js → PhFolderPlus.vue.0c210f8d.js} +2 -2
  70. abstra_statics/dist/assets/{PhGear.vue.68bce043.js → PhGear.vue.86c3014a.js} +2 -2
  71. abstra_statics/dist/assets/{PhKey.vue.3f5192b6.js → PhKey.vue.72ce23d3.js} +2 -2
  72. abstra_statics/dist/assets/{PhPencil.vue.ee28fb6e.js → PhPencil.vue.80ed4b2e.js} +2 -2
  73. abstra_statics/dist/assets/{PhPencilSimple.vue.148807f6.js → PhPencilSimple.vue.0046d784.js} +2 -2
  74. abstra_statics/dist/assets/{PhPencilSimpleLine.vue.af76e884.js → PhPencilSimpleLine.vue.34633dfa.js} +2 -2
  75. abstra_statics/dist/assets/{PhRocket.vue.7ba12859.js → PhRocket.vue.f3302a7e.js} +2 -2
  76. abstra_statics/dist/assets/{PhSignOut.vue.aa78b6eb.js → PhSignOut.vue.c9150da4.js} +2 -2
  77. abstra_statics/dist/assets/{PhSparkle.vue.7820be45.js → PhSparkle.vue.84ea95fc.js} +2 -2
  78. abstra_statics/dist/assets/{PhUserList.vue.04f21cbe.js → PhUserList.vue.bce47902.js} +2 -2
  79. abstra_statics/dist/assets/{PhUsersThree.vue.8b11b97d.js → PhUsersThree.vue.0a84dfa4.js} +2 -2
  80. abstra_statics/dist/assets/{PhWebhooksLogo.vue.9e20d559.js → PhWebhooksLogo.vue.a704632d.js} +2 -2
  81. abstra_statics/dist/assets/{PlayerConfigProvider.0915b29f.js → PlayerConfigProvider.26b585a1.js} +2 -2
  82. abstra_statics/dist/assets/{PlayerNavbar.78cf73f2.js → PlayerNavbar.0fa6f760.js} +2 -2
  83. abstra_statics/dist/assets/{Project.34c75b7c.js → Project.c03610d3.js} +2 -2
  84. abstra_statics/dist/assets/{ProjectLogin.9b8cb3d1.js → ProjectLogin.934271a6.js} +2 -2
  85. abstra_statics/dist/assets/{ProjectSettings.f9bf9124.js → ProjectSettings.2bf7e6c8.js} +2 -2
  86. abstra_statics/dist/assets/{ProjectsView.407ea382.js → ProjectsView.ed31b921.js} +2 -2
  87. abstra_statics/dist/assets/{SaveButton.e70cd09e.js → SaveButton.fdf70b31.js} +2 -2
  88. abstra_statics/dist/assets/{ScrollArea.vue_vue_type_script_setup_true_lang.cf352882.js → ScrollArea.vue_vue_type_script_setup_true_lang.3bbea426.js} +2 -2
  89. abstra_statics/dist/assets/{Sidebar.ce129494.js → Sidebar.781afa0a.js} +2 -2
  90. abstra_statics/dist/assets/{Sql.4e31662a.js → Sql.b6aa38ca.js} +3 -3
  91. abstra_statics/dist/assets/Steps.7c7e4a4a.js +2 -0
  92. abstra_statics/dist/assets/{TableEditor.e7371677.js → TableEditor.dc1b4a2d.js} +2 -2
  93. abstra_statics/dist/assets/{Tables.f2c23e20.js → Tables.de30953b.js} +2 -2
  94. abstra_statics/dist/assets/{TablesDiagram.8297ec4b.js → TablesDiagram.97d6a43f.js} +3 -3
  95. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.63aa07d0.js +2 -0
  96. abstra_statics/dist/assets/{Tasks.c9ba3095.js → Tasks.ee450480.js} +2 -2
  97. abstra_statics/dist/assets/{UploadOutlined.c563b054.js → UploadOutlined.e3072945.js} +2 -2
  98. abstra_statics/dist/assets/{View.4c3c38ba.js → View.617ad8d8.js} +2 -2
  99. abstra_statics/dist/assets/{View.vue_vue_type_script_setup_true_lang.a00f21c8.js → View.vue_vue_type_script_setup_true_lang.ee5d447b.js} +2 -2
  100. abstra_statics/dist/assets/{Watermark.c71c105b.js → Watermark.891eee9f.js} +2 -2
  101. abstra_statics/dist/assets/WebEditor.7409cd48.js +2 -0
  102. abstra_statics/dist/assets/WidgetPreview.99f14714.js +2 -0
  103. abstra_statics/dist/assets/{ant-design.06b818ab.js → ant-design.4952c8fb.js} +2 -2
  104. abstra_statics/dist/assets/apiKey.864dc66b.js +2 -0
  105. abstra_statics/dist/assets/asyncComputed.25309626.js +2 -0
  106. abstra_statics/dist/assets/{build.aef51d48.js → build.8fa1a961.js} +2 -2
  107. abstra_statics/dist/assets/colorHelpers.71d6d61d.js +2 -0
  108. abstra_statics/dist/assets/{console.86947afb.js → console.3d4702c3.js} +4 -4
  109. abstra_statics/dist/assets/constants.56e8988f.js +2 -0
  110. abstra_statics/dist/assets/contracts.generated.c4057ed0.js +2 -0
  111. abstra_statics/dist/assets/{cssMode.0aa24dcd.js → cssMode.4c65b876.js} +2 -2
  112. abstra_statics/dist/assets/datetime.e5660676.js +2 -0
  113. abstra_statics/dist/assets/dayjs.c54f8edb.js +2 -0
  114. abstra_statics/dist/assets/editor.6d0baf6f.js +2 -0
  115. abstra_statics/dist/assets/editor.main.65812c73.js +2 -0
  116. abstra_statics/dist/assets/fetch.5136a62d.js +2 -0
  117. abstra_statics/dist/assets/folder.d7d65e5b.js +2 -0
  118. abstra_statics/dist/assets/{freemarker2.8bd96640.js → freemarker2.1d872d48.js} +2 -2
  119. abstra_statics/dist/assets/{handlebars.e5dd9b19.js → handlebars.41fc6db8.js} +2 -2
  120. abstra_statics/dist/assets/{html.7bcef916.js → html.967e3c6d.js} +3 -3
  121. abstra_statics/dist/assets/{htmlMode.ce91c230.js → htmlMode.d38ab72a.js} +2 -2
  122. abstra_statics/dist/assets/{index.161ccee5.js → index.03d222dd.js} +2 -2
  123. abstra_statics/dist/assets/{index.eb8f01b7.js → index.23283fbb.js} +2 -2
  124. abstra_statics/dist/assets/{index.06cad1f2.js → index.4b93c8ad.js} +2 -2
  125. abstra_statics/dist/assets/{index.fe015dd3.js → index.51dbb698.js} +2 -2
  126. abstra_statics/dist/assets/{index.a884598f.js → index.58e29274.js} +2 -2
  127. abstra_statics/dist/assets/{index.005bab7f.js → index.5f3f38ed.js} +2 -2
  128. abstra_statics/dist/assets/{index.ee218f7a.js → index.8e871bae.js} +2 -2
  129. abstra_statics/dist/assets/{index.57a61691.js → index.9021ba5d.js} +2 -2
  130. abstra_statics/dist/assets/{index.16664500.js → index.b762f5e8.js} +2 -2
  131. abstra_statics/dist/assets/{javascript.4d5c0a37.js → javascript.0935bea2.js} +3 -3
  132. abstra_statics/dist/assets/{jsonMode.0942a255.js → jsonMode.2860b71c.js} +2 -2
  133. abstra_statics/dist/assets/{jwt-decode.esm.e1e8e181.js → jwt-decode.esm.7f2ef0df.js} +7 -7
  134. abstra_statics/dist/assets/linters.640d6098.js +2 -0
  135. abstra_statics/dist/assets/{liquid.884b015e.js → liquid.1bae5f6b.js} +3 -3
  136. abstra_statics/dist/assets/member.b7ac8000.js +2 -0
  137. abstra_statics/dist/assets/{metadata.034775c8.js → metadata.39f9b9ba.js} +2 -2
  138. abstra_statics/dist/assets/omniChatStore.3431c026.js +8 -0
  139. abstra_statics/dist/assets/{organization.a29009bc.js → organization.a877b653.js} +2 -2
  140. abstra_statics/dist/assets/player.30593e18.js +2 -0
  141. abstra_statics/dist/assets/{plotly.min.df1e817c.js → plotly.min.d3f75723.js} +2 -2
  142. abstra_statics/dist/assets/polling.d1c934c7.js +2 -0
  143. abstra_statics/dist/assets/{project.a9ad86e9.js → project.d22a89ee.js} +2 -2
  144. abstra_statics/dist/assets/{python.17c791bf.js → python.4c1a1300.js} +2 -2
  145. abstra_statics/dist/assets/{razor.4b071c3b.js → razor.ba8bdb33.js} +3 -3
  146. abstra_statics/dist/assets/{record.06867f70.js → record.4ffc477c.js} +2 -2
  147. abstra_statics/dist/assets/{redirect.cd158e43.js → redirect.ce3c0f65.js} +2 -2
  148. abstra_statics/dist/assets/{repository.ecf19994.js → repository.360feb8f.js} +2 -2
  149. abstra_statics/dist/assets/{repository.40cf87c6.js → repository.ab3036a9.js} +2 -2
  150. abstra_statics/dist/assets/router.7f571832.js +2 -0
  151. abstra_statics/dist/assets/{router.8ccbba96.js → router.8fd5b2ad.js} +3 -3
  152. abstra_statics/dist/assets/string.2ed1cde3.js +2 -0
  153. abstra_statics/dist/assets/{tables.928d4c4a.js → tables.be1c51f8.js} +2 -2
  154. abstra_statics/dist/assets/{tasksController.95334db5.js → tasksController.bf12e264.js} +2 -2
  155. abstra_statics/dist/assets/{toggleHighContrast.67a76682.js → toggleHighContrast.c4e1b24d.js} +7 -7
  156. abstra_statics/dist/assets/{tsMode.bd4befb2.js → tsMode.da264aae.js} +2 -2
  157. abstra_statics/dist/assets/{typescript.b5722de7.js → typescript.db5d7517.js} +3 -3
  158. abstra_statics/dist/assets/url.8583a595.js +2 -0
  159. abstra_statics/dist/assets/{useCodebaseEvents.47e4fcfe.js → useCodebaseEvents.42573b00.js} +2 -2
  160. abstra_statics/dist/assets/userStore.73b89fbb.js +2 -0
  161. abstra_statics/dist/assets/uuid.dadede91.js +2 -0
  162. abstra_statics/dist/assets/{vue-flow-background.03bf6b4b.js → vue-flow-background.d2772d9a.js} +2 -2
  163. abstra_statics/dist/assets/{vue-quill.esm-bundler.d6a7c536.js → vue-quill.esm-bundler.37119951.js} +2 -2
  164. abstra_statics/dist/assets/{workspaceStore.cca10750.js → workspaceStore.50ef2df1.js} +2 -2
  165. abstra_statics/dist/assets/{xml.0a62ffce.js → xml.94b88503.js} +3 -3
  166. abstra_statics/dist/assets/{yaml.1efc213f.js → yaml.73b7d5ce.js} +3 -3
  167. abstra_statics/dist/console.html +15 -15
  168. abstra_statics/dist/editor.html +13 -13
  169. abstra_statics/dist/player.html +9 -9
  170. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.4fb1f88a.js +0 -2
  171. abstra_statics/dist/assets/ApiKeys.56b97ced.js +0 -2
  172. abstra_statics/dist/assets/App.bd5ec032.js +0 -2
  173. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.79524273.js +0 -2
  174. abstra_statics/dist/assets/BaseLayout.ac22ef55.js +0 -2
  175. abstra_statics/dist/assets/Billing.2c39d133.js +0 -2
  176. abstra_statics/dist/assets/CloseCircleOutlined.12f63f77.js +0 -2
  177. abstra_statics/dist/assets/ConnectorsView.97a8c63b.js +0 -2
  178. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.48b29302.js +0 -2
  179. abstra_statics/dist/assets/ContentLayout.072b3790.js +0 -2
  180. abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.6566ff97.js +0 -2
  181. abstra_statics/dist/assets/EditorsView.987a7eda.js +0 -2
  182. abstra_statics/dist/assets/EnvVars.c5e84d82.js +0 -2
  183. abstra_statics/dist/assets/Error.f378696f.js +0 -2
  184. abstra_statics/dist/assets/ExclamationCircleOutlined.f9a25080.js +0 -2
  185. abstra_statics/dist/assets/Form.4633ab8e.js +0 -2
  186. abstra_statics/dist/assets/Home.a883da25.js +0 -2
  187. abstra_statics/dist/assets/LoadingContainer.b11f052c.js +0 -2
  188. abstra_statics/dist/assets/Login.84d39327.js +0 -2
  189. abstra_statics/dist/assets/Logo.a32d36e7.js +0 -2
  190. abstra_statics/dist/assets/Main.70db8614.js +0 -2
  191. abstra_statics/dist/assets/Navbar.6acd9007.js +0 -2
  192. abstra_statics/dist/assets/NewEditor.15e29eac.js +0 -8
  193. abstra_statics/dist/assets/NewEditor.6dd8f03b.css +0 -1
  194. abstra_statics/dist/assets/OidcLoginCallback.b65a6f9f.js +0 -2
  195. abstra_statics/dist/assets/OidcLogoutCallback.dabd09cf.js +0 -2
  196. abstra_statics/dist/assets/OmniChat.078af315.css +0 -1
  197. abstra_statics/dist/assets/OmniChat.6ed96f8e.js +0 -6
  198. abstra_statics/dist/assets/Organizations.d90dd629.js +0 -2
  199. abstra_statics/dist/assets/PhCopySimple.vue.beb69d1f.js +0 -2
  200. abstra_statics/dist/assets/Steps.4c850501.js +0 -2
  201. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.ec94f9e7.js +0 -2
  202. abstra_statics/dist/assets/WebEditor.4ef39590.js +0 -2
  203. abstra_statics/dist/assets/WidgetPreview.8bd406f7.js +0 -2
  204. abstra_statics/dist/assets/apiKey.e3aa9e16.js +0 -2
  205. abstra_statics/dist/assets/asyncComputed.bfb7341c.js +0 -2
  206. abstra_statics/dist/assets/colorHelpers.e94da383.js +0 -2
  207. abstra_statics/dist/assets/constants.b75d9567.js +0 -2
  208. abstra_statics/dist/assets/contracts.generated.7508e893.js +0 -2
  209. abstra_statics/dist/assets/datetime.46141396.js +0 -2
  210. abstra_statics/dist/assets/dayjs.b4dc8227.js +0 -2
  211. abstra_statics/dist/assets/editor.4f4b7594.js +0 -2
  212. abstra_statics/dist/assets/editor.main.340c0a2d.js +0 -2
  213. abstra_statics/dist/assets/fetch.cfa094a0.js +0 -2
  214. abstra_statics/dist/assets/folder.fe6adcd2.js +0 -2
  215. abstra_statics/dist/assets/linters.39cc198f.js +0 -2
  216. abstra_statics/dist/assets/member.af05829c.js +0 -2
  217. abstra_statics/dist/assets/omniChatStore.19fcae1a.js +0 -8
  218. abstra_statics/dist/assets/player.b9e54e21.js +0 -2
  219. abstra_statics/dist/assets/polling.84bf96db.js +0 -2
  220. abstra_statics/dist/assets/router.c00c99d7.js +0 -2
  221. abstra_statics/dist/assets/string.ea3b2597.js +0 -2
  222. abstra_statics/dist/assets/url.62ce842c.js +0 -2
  223. abstra_statics/dist/assets/userStore.51f1e2d0.js +0 -2
  224. abstra_statics/dist/assets/uuid.f4308f15.js +0 -2
  225. {abstra-3.23.11.dist-info → abstra-3.23.12.dist-info}/WHEEL +0 -0
  226. {abstra-3.23.11.dist-info → abstra-3.23.12.dist-info}/entry_points.txt +0 -0
  227. {abstra-3.23.11.dist-info → abstra-3.23.12.dist-info}/top_level.txt +0 -0
@@ -14,6 +14,8 @@ from abstra_internals.utils.file import silent_traverse_code
14
14
  from abstra_internals.utils.packages import get_local_package_version
15
15
  from abstra_internals.utils.paths import get_relative_path
16
16
 
17
+ RETRY_FLAG = "abstra__trigger__retry"
18
+
17
19
 
18
20
  @dataclass
19
21
  class PythonFile:
@@ -73,22 +75,28 @@ class AiController:
73
75
  self,
74
76
  body: AbstraLibApiAiStreamRequest,
75
77
  ):
76
- yield from self.repos.ai.get_ai_messages(
77
- CloudApiCliAiV2StreamRequest(
78
- conversation_id=body.conversation_id,
79
- content=body.content,
80
- context={
81
- **body.context,
82
- "libVersion": str(get_local_package_version()),
83
- "knownIssues": [
84
- i.to_dict() for i in self.repos.linter.find_issues_in_codebase()
85
- ],
86
- },
87
- secret_key=get_tunnel_secret_key(),
88
- tunnel_session_path=get_session_path(),
89
- human_approval=body.human_approval,
78
+ try:
79
+ yield from self.repos.ai.get_ai_messages(
80
+ CloudApiCliAiV2StreamRequest(
81
+ conversation_id=body.conversation_id,
82
+ content=body.content,
83
+ context={
84
+ **body.context,
85
+ "libVersion": str(get_local_package_version()),
86
+ "knownIssues": [
87
+ i.to_dict()
88
+ for i in self.repos.linter.find_issues_in_codebase()
89
+ ],
90
+ },
91
+ secret_key=get_tunnel_secret_key(),
92
+ tunnel_session_path=get_session_path(),
93
+ human_approval=body.human_approval,
94
+ )
90
95
  )
91
- )
96
+ except Exception as e:
97
+ print(f"Error in send_ai_message: {e}")
98
+ yield RETRY_FLAG
99
+ return
92
100
 
93
101
  def get_history(self, limit: int, offset: int):
94
102
  headers = resolve_headers()
@@ -24,11 +24,11 @@ class Button:
24
24
 
25
25
  Unlike automatic navigation buttons (NextButton/BackButton), custom Button widgets give you full control over widget behavior within a page and can be used to implement complex conditional logic based on user choices.
26
26
 
27
- ## How Button State Works
27
+ ## How Button State Works ##
28
28
 
29
29
  When a user clicks a button, the button's key is set to `True` in the form state. You can then check this state using `state.get("button_key")` to determine which button was pressed and conditionally render different widgets or forms.
30
30
 
31
- ## Usage Pattern
31
+ ## Usage Pattern ##
32
32
 
33
33
  Buttons are optionally returned from your Page function (a function that returns a list of widgets). You have two options:
34
34
 
@@ -7,6 +7,7 @@ from abstra_internals.contracts_generated import (
7
7
  CloudApiCliModelsNfeResponse,
8
8
  CloudApiCliModelsNfseResponse,
9
9
  CloudApiCliModelsUsDriverLicenseResponse,
10
+ CloudApiCliModelsUsPassportResponse,
10
11
  )
11
12
  from abstra_internals.controllers.sdk.sdk_ai import Format, Prompt
12
13
  from abstra_internals.controllers.sdk.sdk_context import SDKContextStore
@@ -74,43 +75,129 @@ def prompt(
74
75
  )
75
76
 
76
77
 
77
- def parse_nfse(document_path: Union[Path, str]) -> CloudApiCliModelsNfseResponse:
78
+ def parse_nfse(document_path: Union["Path", str]) -> CloudApiCliModelsNfseResponse:
78
79
  """
79
- Parse a Nota Fiscal de Serviço Eletrônica (NFSe) document.
80
+ Parse a Nota Fiscal de Serviço Eletrônica (NFSe) document using AI-powered OCR to extract service invoice information and tax details from Brazilian electronic service invoices.
81
+
82
+ The parser extracts service invoice details including:
83
+ - cnpj_prestador/cnpj_tomador: CNPJ numbers of service provider/recipient
84
+ - razao_social_prestador/razao_social_tomador: Company names
85
+ - valor_liquido_centavos/valor_total_centavos: Net/total amounts in cents
86
+ - numero_nota: Invoice number
87
+ - data_emissao: Issue date (YYYY-MM-DD)
88
+ - descricao: Service description
89
+ - endereco_prestador/endereco_tomador: Full addresses
90
+ - bairro_prestador/bairro_tomador: District/neighborhood information
91
+ - cep_prestador/cep_tomador: ZIP codes
92
+ - municipio_prestador: City of service provider
93
+ - uf_prestador/uf_tomador: State abbreviations (e.g., "SP", "RJ")
94
+ - email_prestador/email_tomador: Email addresses
95
+ - inscricao_municipal_prestador: Municipal registration
96
+
80
97
  Args:
81
98
  document_path (Union[Path, str]): The path to the NFSe document to be parsed.
99
+
82
100
  Returns:
83
- CloudApiCliModelsNfseResponse: The parsed NFSe response.
101
+ dict: The parsed NFSe data.
102
+
84
103
  Raises:
85
- ValueError: If the document path is invalid or the parsing fails.
104
+ ValueError: If document path is invalid or parsing fails.
86
105
  """
87
106
  data = SDKContextStore.get_by_thread().ai_sdk.parse_document(document_path, "nfse")
88
107
  return CloudApiCliModelsNfseResponse.from_dict(data)
89
108
 
90
109
 
91
- def parse_nfe(document_path: Union[Path, str]) -> CloudApiCliModelsNfeResponse:
110
+ def parse_nfe(document_path: Union["Path", str]) -> CloudApiCliModelsNfeResponse:
92
111
  """
93
- Parse a Nota Fiscal Eletrônica (NFe) document.
112
+ Parse a Nota Fiscal Eletrônica (NFe) document using AI-powered OCR to extract comprehensive fiscal information from Brazilian electronic invoices including company data, product details, tax calculations, and transportation info.
113
+
114
+ The parser extracts 70+ fields including:
115
+
116
+ **Company Information:**
117
+ - chave_acesso: Access key for verification (44 characters)
118
+ - numero_nota: Invoice number (string)
119
+ - serie: Series number
120
+ - cnpj_emitente/razao_social_emitente: Issuer company CNPJ and name
121
+ - cpf_cnpj_destinatario/nome_destinatario/razao_social_destinatario: Recipient tax ID and names
122
+ - endereco_emitente/endereco_destinatario: Full addresses
123
+ - bairro_emitente/bairro_distrito_destinatario: Districts/neighborhoods
124
+ - cep_emitente/cep_destinatario: ZIP codes
125
+ - municipio_emitente/municipio_destinatario: Cities
126
+ - uf_emitente/uf_destinatario: States
127
+ - telefone_emitente/telefone_destinatario: Phone numbers
128
+ - inscricao_estadual_emitente/inscricao_estadual_destinatario: State registrations
129
+ - inscricao_municipal: Municipal registration
130
+
131
+ **Financial Information:**
132
+ - data_emissao/data_entrada_saida: Issue and entry/exit timestamps
133
+ - data_protocolo_autorizacao/protocolo_autorizacao: Authorization data
134
+ - valor_produtos/valor_total: Product and total amounts
135
+ - valor_icms/valor_ipi/valor_issqn: Tax amounts (ICMS, IPI, ISSQN)
136
+ - valor_frete/valor_seguro/outras_despesas: Additional costs
137
+ - valor_fcp_st/valor_tributos: Additional tax values
138
+ - desconto: Discount amount
139
+
140
+ **Product Information:**
141
+ - descricao_produto/codigo_produto: Product description and code
142
+ - quantidade/unidade/valor_unitario: Product quantity, unit, unit value
143
+ - ncm_sh: NCM/SH classification code
144
+ - cfop: Fiscal operation code
145
+ - cst: Tax situation code
146
+ - aliquota_icms/base_calculo_icms: ICMS tax rate and calculation base
147
+ - aliquota_ipi/base_calculo_icms_st: IPI rate and ICMS-ST base
148
+
149
+ **Transportation Information:**
150
+ - natureza_operacao: Nature of operation
151
+ - razao_social_transportadora/cnpj_transportadora: Carrier info
152
+ - endereco_transportadora/municipio_transportadora/uf_transportadora: Carrier location
153
+ - inscricao_estadual_transportadora: Carrier state registration
154
+ - placa_veiculo/uf_veiculo: Vehicle plate and state
155
+ - codigo_antt: ANTT code
156
+ - frete_por_conta: Freight responsibility
157
+ - peso_bruto_kg/peso_liquido_kg: Gross/net weight in kg
158
+ - numero_volumes/quantidade_volumes: Volume count
159
+ - marca_volumes/especie: Volume marking and type
160
+ - hora_saida: Departure time
161
+ - informacoes_adicionais: Additional information text
162
+
94
163
  Args:
95
164
  document_path (Union[Path, str]): The path to the NFe document to be parsed.
165
+
96
166
  Returns:
97
- CloudApiCliModelsNfeResponse: The parsed NFe response.
167
+ dict: The parsed NFe data.
168
+
98
169
  Raises:
99
- ValueError: If the document path is invalid or the parsing fails.
170
+ ValueError: If document path is invalid or parsing fails.
100
171
  """
101
172
  data = SDKContextStore.get_by_thread().ai_sdk.parse_document(document_path, "nfe")
102
173
  return CloudApiCliModelsNfeResponse.from_dict(data)
103
174
 
104
175
 
105
- def parse_boleto(document_path: Union[Path, str]) -> CloudApiCliModelsBoletoResponse:
176
+ def parse_boleto(document_path: Union["Path", str]) -> CloudApiCliModelsBoletoResponse:
106
177
  """
107
- Parse a Boleto document.
178
+ Parse a Brazilian Boleto (bank slip) document using AI-powered OCR for automated payment processing.
179
+
180
+ Extracts payment information and banking details including:
181
+ - codigo_de_barras: Barcode number for payment processing
182
+ - valor: Payment amount in centavos (cents)
183
+ - vencimento: Due date (YYYY-MM-DD)
184
+ - beneficiario/pagador: Beneficiary and payer names
185
+ - cpf_cnpj_beneficiario/cpf_cnpj_pagador: Tax IDs
186
+ - agencia_cod_beneficiario: Bank agency and beneficiary code
187
+ - carteira: Bank wallet/portfolio number
188
+ - data_emissao/data_processamento: Issue and processing dates
189
+ - endereco_beneficiario/endereco_pagador: Addresses
190
+ - nosso_numero: Bank's internal reference number
191
+ - numero_documento: Document number
192
+
108
193
  Args:
109
194
  document_path (Union[Path, str]): The path to the Boleto document to be parsed.
195
+
110
196
  Returns:
111
197
  dict: The parsed Boleto data.
198
+
112
199
  Raises:
113
- ValueError: If the document path is invalid or the parsing fails.
200
+ ValueError: If document path is invalid or parsing fails.
114
201
  """
115
202
  data = SDKContextStore.get_by_thread().ai_sdk.parse_document(
116
203
  document_path, "boleto"
@@ -119,16 +206,26 @@ def parse_boleto(document_path: Union[Path, str]) -> CloudApiCliModelsBoletoResp
119
206
 
120
207
 
121
208
  def parse_us_driver_license(
122
- document_path: Union[Path, str],
209
+ document_path: Union["Path", str],
123
210
  ) -> CloudApiCliModelsUsDriverLicenseResponse:
124
211
  """
125
- Parse a US Driver License document.
212
+ Parse a US Driver License document using AI-powered OCR to extract personal information and license details.
213
+
214
+ The parser extracts key information including:
215
+ - Personal details (name, date of birth, address)
216
+ - License information (license number, class, expiration date)
217
+ - Physical characteristics (height, weight, eye color)
218
+ - Address information (street, city, state, zip code)
219
+ - Endorsements and restrictions
220
+
126
221
  Args:
127
- document_path (Union[Path, str]): The path to the Driver License document to be parsed.
222
+ document_path (Union[Path, str]): Path to the US Driver License document (PDF, JPEG, or PNG).
223
+
128
224
  Returns:
129
225
  dict: The parsed Driver License data.
226
+
130
227
  Raises:
131
- ValueError: If the document path is invalid or the parsing fails.
228
+ ValueError: If document path is invalid or parsing fails.
132
229
  """
133
230
 
134
231
  data = SDKContextStore.get_by_thread().ai_sdk.parse_document(
@@ -138,19 +235,59 @@ def parse_us_driver_license(
138
235
 
139
236
 
140
237
  def parse_bank_statement(
141
- document_path: Union[Path, str],
238
+ document_path: Union["Path", str],
142
239
  ) -> CloudApiCliModelsBankStatementResponse:
143
240
  """
144
- Parse a Bank Statement document.
241
+ Parse a Bank Statement document using AI-powered OCR to extract account information and transaction details.
242
+
243
+ The parser extracts banking information including:
244
+ - Account information (account number, account holder name, bank details)
245
+ - Balance information (opening balance, closing balance, available balance)
246
+ - Transaction history (date, description, amount, balance)
247
+ - Statement period (from date, to date)
248
+ - Bank and branch information
249
+ - Customer contact information
250
+
145
251
  Args:
146
- document_path (Union[Path, str]): The path to the Bank Statement document to be parsed.
252
+ document_path (Union[Path, str]): Path to the Bank Statement document (PDF, JPEG, or PNG).
253
+
147
254
  Returns:
148
255
  dict: The parsed Bank Statement data.
256
+
149
257
  Raises:
150
- ValueError: If the document path is invalid or the parsing fails.
258
+ ValueError: If document path is invalid or parsing fails.
151
259
  """
152
260
 
153
261
  data = SDKContextStore.get_by_thread().ai_sdk.parse_document(
154
262
  document_path, "bank-statement"
155
263
  )
156
264
  return CloudApiCliModelsBankStatementResponse.from_dict(data)
265
+
266
+
267
+ def parse_us_passport(document_path: Path) -> CloudApiCliModelsUsPassportResponse:
268
+ """
269
+ Parse a US Passport document using AI-powered OCR to extract personal information and document details from US passports, including MRZ (Machine Readable Zone) processing.
270
+
271
+ The parser extracts the following key information:
272
+ - family_name: Last name/surname of passport holder
273
+ - given_names: First and middle names
274
+ - document_id: Passport document number (e.g., "E00007730")
275
+ - date_of_birth: Birth date in YYYY-MM-DD format
276
+ - issue_date: Passport issuance date in YYYY-MM-DD format
277
+ - expiration_date: Passport expiration date in YYYY-MM-DD format
278
+ - mrz_code: Machine Readable Zone code from passport bottom
279
+ - portrait: Reference to passport photo if available
280
+
281
+ Args:
282
+ document_path (Path): Path to the US Passport document (PDF, JPEG, or PNG).
283
+
284
+ Returns:
285
+ dict: The parsed US Passport data.
286
+
287
+ Raises:
288
+ ValueError: If document path is invalid or parsing fails.
289
+ """
290
+ data = SDKContextStore.get_by_thread().ai_sdk.parse_document(
291
+ document_path, "us-passport"
292
+ )
293
+ return CloudApiCliModelsUsPassportResponse.from_dict(data)
@@ -3,7 +3,7 @@ import flask
3
3
  from abstra_internals.contracts_generated import AbstraLibApiAiStreamRequest
4
4
  from abstra_internals.controllers.ai import AiController
5
5
  from abstra_internals.controllers.main import MainController
6
- from abstra_internals.usage import editor_manual_usage, editor_usage
6
+ from abstra_internals.usage import editor_usage
7
7
 
8
8
 
9
9
  def get_editor_bp(main_controller: MainController):
@@ -67,23 +67,6 @@ def get_editor_bp(main_controller: MainController):
67
67
  controller.delete_thread(thread_id)
68
68
  return {"success": True}
69
69
 
70
- @bp.post("/vote")
71
- def _vote():
72
- body = flask.request.json
73
- if not body:
74
- flask.abort(400)
75
- vote = body.get("vote")
76
- question = body.get("question")
77
- answer = body.get("answer")
78
- context = body.get("context")
79
-
80
- editor_manual_usage(
81
- event="ai_vote",
82
- payload=dict(vote=vote, question=question, answer=answer, context=context),
83
- )
84
-
85
- return {"success": True}
86
-
87
70
  @bp.post("/start-conversation")
88
71
  def _start_conversation():
89
72
  """
@@ -183,7 +183,10 @@ class FileSystemService:
183
183
  path.parent if path.suffix or not str(path).endswith("/") else path
184
184
  )
185
185
 
186
- while current_dir != current_dir.parent: # Stop at filesystem root
186
+ project_root = Settings.root_path
187
+ while (
188
+ current_dir != current_dir.parent and current_dir != project_root.parent
189
+ ): # Stop at project root
187
190
  ignore_file = current_dir / ABSTRA_IGNORE_FILEPATH
188
191
  if ignore_file.exists():
189
192
  try:
@@ -1,2 +1,2 @@
1
- import{d as f,c as g,o as r,a as d,b as a,f as l,u as n,de as i,a7 as p,h as u,ez as c,eA as b,bR as y,aV as m,e6 as _}from"./jwt-decode.esm.e1e8e181.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]="276a0532-366e-4e4d-9258-c52418ecc828",t._sentryDebugIdIdentifier="sentry-dbid-276a0532-366e-4e4d-9258-c52418ecc828")}catch{}})();const h=f({__name:"AbstraButton",props:{disabledTooltip:{},tooltip:{},prefixCls:{},type:{},htmlType:{},shape:{},size:{},loading:{type:[Boolean,Object]},disabled:{type:Boolean},ghost:{type:Boolean},block:{type:Boolean},danger:{type:Boolean},icon:{},href:{},target:{},title:{},onClick:{type:[Function,Array]},onMousedown:{type:[Function,Array]}},setup(t){const e=t,s=g(()=>e.disabledTooltip&&e.disabled?e.disabledTooltip:e.tooltip);return(o,k)=>s.value?(r(),d(n(m),{key:0,title:s.value},{default:a(()=>[l(n(y),c(b(o.$props)),{default:a(()=>[l(n(i),{style:{display:"flex","align-items":"center","justify-content":"center",gap:"5px"}},{default:a(()=>[o.loading?u("",!0):p(o.$slots,"default",{key:0})]),_:3})]),_:3},16)]),_:3},8,["title"])):(r(),d(n(y),c(_({key:1},o.$props)),{default:a(()=>[l(n(i),{style:{display:"flex","align-items":"center","justify-content":"center",gap:"5px"}},{default:a(()=>[o.loading?u("",!0):p(o.$slots,"default",{key:0})]),_:3})]),_:3},16))}});export{h as _};
2
- //# sourceMappingURL=AbstraButton.vue_vue_type_script_setup_true_lang.3fce0fbb.js.map
1
+ import{d as c,c as b,o as l,a as r,b as a,f as d,u as n,de as i,a7 as p,h as u,ez as f,eA as g,bR as y,aV as m,e6 as _}from"./jwt-decode.esm.7f2ef0df.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]="93d6cde8-9331-4baf-98be-eb25b7e20dd2",t._sentryDebugIdIdentifier="sentry-dbid-93d6cde8-9331-4baf-98be-eb25b7e20dd2")}catch{}})();const h=c({__name:"AbstraButton",props:{disabledTooltip:{},tooltip:{},prefixCls:{},type:{},htmlType:{},shape:{},size:{},loading:{type:[Boolean,Object]},disabled:{type:Boolean},ghost:{type:Boolean},block:{type:Boolean},danger:{type:Boolean},icon:{},href:{},target:{},title:{},onClick:{type:[Function,Array]},onMousedown:{type:[Function,Array]}},setup(t){const e=t,s=b(()=>e.disabledTooltip&&e.disabled?e.disabledTooltip:e.tooltip);return(o,k)=>s.value?(l(),r(n(m),{key:0,title:s.value},{default:a(()=>[d(n(y),f(g(o.$props)),{default:a(()=>[d(n(i),{style:{display:"flex","align-items":"center","justify-content":"center",gap:"5px"}},{default:a(()=>[o.loading?u("",!0):p(o.$slots,"default",{key:0})]),_:3})]),_:3},16)]),_:3},8,["title"])):(l(),r(n(y),f(_({key:1},o.$props)),{default:a(()=>[d(n(i),{style:{display:"flex","align-items":"center","justify-content":"center",gap:"5px"}},{default:a(()=>[o.loading?u("",!0):p(o.$slots,"default",{key:0})]),_:3})]),_:3},16))}});export{h as _};
2
+ //# sourceMappingURL=AbstraButton.vue_vue_type_script_setup_true_lang.441fcdfd.js.map
@@ -0,0 +1,2 @@
1
+ import{L as n}from"./Logo.2de02c4a.js";import{d as r,o as a,a as d,u as i}from"./jwt-decode.esm.7f2ef0df.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},s=new Error().stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="88e09c32-213b-4d85-9336-3387279574f9",e._sentryDebugIdIdentifier="sentry-dbid-88e09c32-213b-4d85-9336-3387279574f9")}catch{}})();const f="/assets/logo.0faadfa2.svg",p=r({__name:"AbstraLogo",props:{hideText:{type:Boolean},size:{}},setup(e){return(s,t)=>{var o;return a(),d(n,{"image-url":i(f),"brand-name":"Abstra","hide-text":s.hideText,size:(o=s.size)!=null?o:"small"},null,8,["image-url","hide-text","size"])}}});export{p as _};
2
+ //# sourceMappingURL=AbstraLogo.vue_vue_type_script_setup_true_lang.3f03a3ef.js.map
@@ -0,0 +1,2 @@
1
+ import{C as w}from"./CrudView.c16e2f81.js";import{d as _,r as k,eb as x,c as v,a5 as C,f as l,u as i,b as d,aR as P,o as h,d9 as D,g as y,da as M,ed as j,M as N,ee as K,eq as T}from"./jwt-decode.esm.7f2ef0df.js";import{a as V}from"./asyncComputed.25309626.js";import{A as c}from"./apiKey.864dc66b.js";import"./router.8fd5b2ad.js";import{M as B}from"./member.b7ac8000.js";import{a as E}from"./project.d22a89ee.js";import"./tables.be1c51f8.js";import"./DocsButton.vue_vue_type_script_setup_true_lang.61381525.js";import"./constants.56e8988f.js";import"./url.8583a595.js";import"./PhDotsThreeVertical.vue.0ea03d82.js";import"./index.23283fbb.js";import"./index.9021ba5d.js";import"./record.4ffc477c.js";import"./string.2ed1cde3.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},a=new Error().stack;a&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[a]="cc417ce9-5647-4dde-a112-5bf214340842",n._sentryDebugIdIdentifier="sentry-dbid-cc417ce9-5647-4dde-a112-5bf214340842")}catch{}})();const ee=_({__name:"ApiKeys",setup(n){const a=k(null),p=[{key:"name",label:"API key name"}],s=x().params.projectId,f=new B,{loading:g,result:I,refetch:u}=V(async()=>Promise.all([c.list(s),E.get(s).then(e=>f.list(e.organizationId))]).then(([e,t])=>e.map(o=>({apiKey:o,member:t.find(r=>r.authorId===o.ownerId)})))),b=async e=>{const t=await c.create({projectId:s,name:e.name});u(),a.value=t.value},A=v(()=>{var e,t;return{columns:[{title:"Name"},{title:"Creation date"},{title:"Owner"},{title:"",align:"right"}],rows:(t=(e=I.value)==null?void 0:e.map(({apiKey:o,member:r})=>{var m;return{key:o.id,cells:[{type:"text",text:o.name},{type:"text",text:K(o.createdAt)},{type:"text",text:(m=r==null?void 0:r.email)!=null?m:"Unknown"},{type:"actions",actions:[{label:"Delete",icon:T,dangerous:!0,onClick:async()=>{await c.delete(s,o.id),u()}}]}]}}))!=null?t:[]}});return(e,t)=>(h(),C(P,null,[l(w,{"entity-name":"API key","create-button-text":"Create API Key",loading:i(g),title:"API Keys",description:"API Keys are used to deploy your project from the local editor.","empty-title":"No API keys here yet",table:A.value,fields:p,create:b},null,8,["loading","table"]),l(i(N),{open:!!a.value,title:"Api key generated",onCancel:t[0]||(t[0]=o=>a.value=null)},{footer:d(()=>[]),default:d(()=>[l(i(D),null,{default:d(()=>[y("Your API key was successfully generated. Use this code to login on your local development environment or deploy using CI")]),_:1}),l(i(M),{code:"",copyable:""},{default:d(()=>[y(j(a.value),1)]),_:1})]),_:1},8,["open"])],64))}});export{ee as default};
2
+ //# sourceMappingURL=ApiKeys.cb561e62.js.map
@@ -0,0 +1,2 @@
1
+ import"./App.vue_vue_type_style_index_0_lang.3640ec1c.js";import{_ as u}from"./App.vue_vue_type_style_index_0_lang.3640ec1c.js";import"./userStore.73b89fbb.js";import"./jwt-decode.esm.7f2ef0df.js";import"./PlayerConfigProvider.26b585a1.js";import"./colorHelpers.71d6d61d.js";import"./workspaceStore.50ef2df1.js";import"./url.8583a595.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},d=new Error().stack;d&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[d]="076338d1-2b25-4b9d-93b2-e585b8c7b71d",e._sentryDebugIdIdentifier="sentry-dbid-076338d1-2b25-4b9d-93b2-e585b8c7b71d")}catch{}})();export{u as default};
2
+ //# sourceMappingURL=App.dc82115f.js.map
@@ -0,0 +1,2 @@
1
+ import{u as r}from"./userStore.73b89fbb.js";import{W as n}from"./PlayerConfigProvider.26b585a1.js";import{u as c}from"./workspaceStore.50ef2df1.js";import{d,w as i,i as p,u as o,a as u,b as f,h as l,o as m,f as _}from"./jwt-decode.esm.7f2ef0df.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},a=new Error().stack;a&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[a]="d24760b5-019b-4bed-9350-331b5a8b89d4",t._sentryDebugIdIdentifier="sentry-dbid-d24760b5-019b-4bed-9350-331b5a8b89d4")}catch{}})();const v=d({__name:"App",setup(t){const a=r(),e=c();return e.actions.fetch(),i(()=>a.jwt,e.actions.fetch),(b,w)=>{const s=p("RouterView");return o(e).state.workspace?(m(),u(n,{key:0,"main-color":o(e).state.workspace.mainColor,background:o(e).state.workspace.theme,"font-family":o(e).state.workspace.fontFamily,locale:o(e).state.workspace.language},{default:f(()=>[_(s,{style:{height:"100vh",width:"100%"}})]),_:1},8,["main-color","background","font-family","locale"])):l("",!0)}}});export{v as _};
2
+ //# sourceMappingURL=App.vue_vue_type_style_index_0_lang.3640ec1c.js.map
@@ -0,0 +1,2 @@
1
+ import{_ as c,o,a5 as n,a7 as s,e as d,h as a}from"./jwt-decode.esm.7f2ef0df.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]="0c10da06-c1e2-4a51-9d4e-c07d6830ac2d",e._sentryDebugIdIdentifier="sentry-dbid-0c10da06-c1e2-4a51-9d4e-c07d6830ac2d")}catch{}})();const r={},i={class:"base-layout"},_={class:"base-middle"},l={class:"content"},u={class:"left"},f={key:0,class:"base-footer"},y={key:0};function b(e,t){return o(),n("div",i,[s(e.$slots,"sidebar",{},void 0,!0),d("section",_,[s(e.$slots,"navbar",{},void 0,!0),d("section",l,[d("section",u,[s(e.$slots,"content",{},void 0,!0),e.$slots.footer?(o(),n("section",f,[s(e.$slots,"footer",{},void 0,!0)])):a("",!0)]),e.$slots.chat?(o(),n("section",y,[s(e.$slots,"chat",{},void 0,!0)])):a("",!0)])])])}const g=c(r,[["render",b],["__scopeId","data-v-da85ecdc"]]);export{g as B};
2
+ //# sourceMappingURL=BaseLayout.c63dfc2d.js.map
@@ -0,0 +1,2 @@
1
+ import{a as _}from"./asyncComputed.25309626.js";import{d as b,eb as w,J as h,u as e,a as d,a5 as k,f as o,b as t,h as I,o as n,A as f,g as l,ed as C,bR as x,de as c,e as N}from"./jwt-decode.esm.7f2ef0df.js";import{l as g,c as v}from"./router.8fd5b2ad.js";import{a as z}from"./organization.a877b653.js";import"./tables.be1c51f8.js";import{L as B}from"./LoadingContainer.6e2b63e4.js";import"./index.9021ba5d.js";import"./record.4ffc477c.js";import"./string.2ed1cde3.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},s=new Error().stack;s&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[s]="a8fbd888-dd64-498e-b6cf-683818bc356b",a._sentryDebugIdIdentifier="sentry-dbid-a8fbd888-dd64-498e-b6cf-683818bc356b")}catch{}})();const D={key:1},U=["src"],J=b({__name:"Billing",setup(a){const u=w().params.organizationId,{loading:m,result:r}=_(async()=>{const i=await z.get(u),p=await i.getUsageReportUrl();return{organization:i,reportUrl:p}});h(()=>{location.search.includes("upgrade")&&g.showNewMessage("I want to upgrade my plan")});const y=()=>g.showNewMessage("I want to upgrade my plan");return(i,p)=>e(m)?(n(),d(B,{key:0})):e(r)?(n(),k("div",D,[o(e(c),{justify:"space-between",align:"center"},{default:t(()=>[o(e(f),{level:3},{default:t(()=>[l("Current plan: "+C(e(r).organization.coalescedPlan),1)]),_:1}),o(e(x),{type:"primary",onClick:y},{default:t(()=>[l("Upgrade")]),_:1})]),_:1}),o(e(v),{style:{"margin-top":"0"}}),e(r).organization.hasUsageReport?(n(),d(e(c),{key:0,align:"center",justify:"center"},{default:t(()=>[N("iframe",{src:e(r).reportUrl,frameborder:"0",style:{width:"1000px",height:"1700px"}},null,8,U)]),_:1})):(n(),d(e(c),{key:1,align:"center",justify:"center"},{default:t(()=>[o(e(f),{level:4},{default:t(()=>[l("No usage report available")]),_:1})]),_:1}))])):I("",!0)}});export{J as default};
2
+ //# sourceMappingURL=Billing.461db3ef.js.map
@@ -1,5 +1,5 @@
1
- import{d as O,ag as w,bT as I,f as c,aj as f,av as R,as as A,e4 as D,bn as P,bP as j,ab as X,ac as z,X as B,an as M,dX as E,aD as N,az as H,ce as L,bx as F}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]="ed7177db-2517-44e7-b9df-afab35035f78",r._sentryDebugIdIdentifier="sentry-dbid-ed7177db-2517-44e7-b9df-afab35035f78")}catch{}})();var U=globalThis&&globalThis.__rest||function(r,e){var a={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(a[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var t=0,n=Object.getOwnPropertySymbols(r);t<n.length;t++)e.indexOf(n[t])<0&&Object.prototype.propertyIsEnumerable.call(r,n[t])&&(a[n[t]]=r[n[t]]);return a};const V=()=>({prefixCls:String,href:String,separator:R.any,dropdownProps:A(),overlay:R.any,onClick:D()}),K=O({compatConfig:{MODE:3},name:"ABreadcrumbItem",inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:V(),slots:Object,setup(r,e){let{slots:a,attrs:n,emit:t}=e;const{prefixCls:u}=w("breadcrumb",r),y=(d,h)=>{const b=I(a,r,"overlay");return b?c(j,f(f({},r.dropdownProps),{},{overlay:b,placement:"bottom"}),{default:()=>[c("span",{class:`${h}-overlay-link`},[d,c(P,null,null)])]}):d},_=d=>{t("click",d)};return()=>{var d;const h=(d=I(a,r,"separator"))!==null&&d!==void 0?d:"/",b=I(a,r),{class:l,style:s}=n,o=U(n,["class","style"]);let i;return r.href!==void 0?i=c("a",f({class:`${u.value}-link`,onClick:_},o),[b]):i=c("span",f({class:`${u.value}-link`,onClick:_},o),[b]),i=y(i,u.value),b!=null?c("li",{class:l,style:s},[i,h&&c("span",{class:`${u.value}-separator`},[h])]):null}}}),W=r=>{const{componentCls:e,iconCls:a}=r;return{[e]:B(B({},M(r)),{color:r.breadcrumbBaseColor,fontSize:r.breadcrumbFontSize,[a]:{fontSize:r.breadcrumbIconFontSize},ol:{display:"flex",flexWrap:"wrap",margin:0,padding:0,listStyle:"none"},a:B({color:r.breadcrumbLinkColor,transition:`color ${r.motionDurationMid}`,padding:`0 ${r.paddingXXS}px`,borderRadius:r.borderRadiusSM,height:r.lineHeight*r.fontSize,display:"inline-block",marginInline:-r.marginXXS,"&:hover":{color:r.breadcrumbLinkColorHover,backgroundColor:r.colorBgTextHover}},E(r)),["li:last-child"]:{color:r.breadcrumbLastItemColor,[`& > ${e}-separator`]:{display:"none"}},[`${e}-separator`]:{marginInline:r.breadcrumbSeparatorMargin,color:r.breadcrumbSeparatorColor},[`${e}-link`]:{[`
1
+ import{d as O,ag as w,bT as I,f as c,aj as f,av as R,as as A,e4 as D,bn as P,bP as j,ab as X,ac as z,X as B,an as M,dX as E,aD as N,az as H,ce as L,bx as F}from"./jwt-decode.esm.7f2ef0df.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]="a1e21812-4cae-411e-a39f-e886f6f79bb1",r._sentryDebugIdIdentifier="sentry-dbid-a1e21812-4cae-411e-a39f-e886f6f79bb1")}catch{}})();var U=globalThis&&globalThis.__rest||function(r,e){var a={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(a[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var t=0,n=Object.getOwnPropertySymbols(r);t<n.length;t++)e.indexOf(n[t])<0&&Object.prototype.propertyIsEnumerable.call(r,n[t])&&(a[n[t]]=r[n[t]]);return a};const V=()=>({prefixCls:String,href:String,separator:R.any,dropdownProps:A(),overlay:R.any,onClick:D()}),K=O({compatConfig:{MODE:3},name:"ABreadcrumbItem",inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:V(),slots:Object,setup(r,e){let{slots:a,attrs:n,emit:t}=e;const{prefixCls:u}=w("breadcrumb",r),y=(d,h)=>{const b=I(a,r,"overlay");return b?c(j,f(f({},r.dropdownProps),{},{overlay:b,placement:"bottom"}),{default:()=>[c("span",{class:`${h}-overlay-link`},[d,c(P,null,null)])]}):d},_=d=>{t("click",d)};return()=>{var d;const h=(d=I(a,r,"separator"))!==null&&d!==void 0?d:"/",b=I(a,r),{class:l,style:s}=n,o=U(n,["class","style"]);let i;return r.href!==void 0?i=c("a",f({class:`${u.value}-link`,onClick:_},o),[b]):i=c("span",f({class:`${u.value}-link`,onClick:_},o),[b]),i=y(i,u.value),b!=null?c("li",{class:l,style:s},[i,h&&c("span",{class:`${u.value}-separator`},[h])]):null}}}),W=r=>{const{componentCls:e,iconCls:a}=r;return{[e]:B(B({},M(r)),{color:r.breadcrumbBaseColor,fontSize:r.breadcrumbFontSize,[a]:{fontSize:r.breadcrumbIconFontSize},ol:{display:"flex",flexWrap:"wrap",margin:0,padding:0,listStyle:"none"},a:B({color:r.breadcrumbLinkColor,transition:`color ${r.motionDurationMid}`,padding:`0 ${r.paddingXXS}px`,borderRadius:r.borderRadiusSM,height:r.lineHeight*r.fontSize,display:"inline-block",marginInline:-r.marginXXS,"&:hover":{color:r.breadcrumbLinkColorHover,backgroundColor:r.colorBgTextHover}},E(r)),["li:last-child"]:{color:r.breadcrumbLastItemColor,[`& > ${e}-separator`]:{display:"none"}},[`${e}-separator`]:{marginInline:r.breadcrumbSeparatorMargin,color:r.breadcrumbSeparatorColor},[`${e}-link`]:{[`
2
2
  > ${a} + span,
3
3
  > ${a} + a
4
4
  `]:{marginInlineStart:r.marginXXS}},[`${e}-overlay-link`]:{borderRadius:r.borderRadiusSM,height:r.lineHeight*r.fontSize,display:"inline-block",padding:`0 ${r.paddingXXS}px`,marginInline:-r.marginXXS,[`> ${a}`]:{marginInlineStart:r.marginXXS,fontSize:r.fontSizeIcon},"&:hover":{color:r.breadcrumbLinkColorHover,backgroundColor:r.colorBgTextHover,a:{color:r.breadcrumbLinkColorHover}},a:{"&:hover":{backgroundColor:"transparent"}}},[`&${r.componentCls}-rtl`]:{direction:"rtl"}})}},q=X("Breadcrumb",r=>{const e=z(r,{breadcrumbBaseColor:r.colorTextDescription,breadcrumbFontSize:r.fontSize,breadcrumbIconFontSize:r.fontSize,breadcrumbLinkColor:r.colorTextDescription,breadcrumbLinkColorHover:r.colorText,breadcrumbLastItemColor:r.colorText,breadcrumbSeparatorMargin:r.marginXS,breadcrumbSeparatorColor:r.colorTextDescription});return[W(e)]}),G=()=>({prefixCls:String,routes:{type:Array},params:R.any,separator:R.any,itemRender:{type:Function}});function J(r,e){if(!r.breadcrumbName)return null;const a=Object.keys(e).join("|");return r.breadcrumbName.replace(new RegExp(`:(${a})`,"g"),(t,u)=>e[u]||t)}function $(r){const{route:e,params:a,routes:n,paths:t}=r,u=n.indexOf(e)===n.length-1,y=J(e,a);return u?c("span",null,[y]):c("a",{href:`#/${t.join("/")}`},[y])}const Y=O({compatConfig:{MODE:3},name:"ABreadcrumb",inheritAttrs:!1,props:G(),slots:Object,setup(r,e){let{slots:a,attrs:n}=e;const{prefixCls:t,direction:u}=w("breadcrumb",r),[y,_]=q(t),d=(l,s)=>(l=(l||"").replace(/^\//,""),Object.keys(s).forEach(o=>{l=l.replace(`:${o}`,s[o])}),l),h=(l,s,o)=>{const i=[...l],m=d(s||"",o);return m&&i.push(m),i},b=l=>{let{routes:s=[],params:o={},separator:i,itemRender:m=$}=l;const S=[];return s.map(p=>{const C=d(p.path,o);C&&S.push(C);const g=[...S];let v=null;p.children&&p.children.length&&(v=c(F,{items:p.children.map(x=>({key:x.path||x.breadcrumbName,label:m({route:x,params:o,routes:s,paths:h(g,x.path,o)})}))},null));const T={separator:i};return v&&(T.overlay=v),c(K,f(f({},T),{},{key:C||p.breadcrumbName}),{default:()=>[m({route:p,params:o,routes:s,paths:g})]})})};return()=>{var l;let s;const{routes:o,params:i={}}=r,m=N(I(a,r)),S=(l=I(a,r,"separator"))!==null&&l!==void 0?l:"/",p=r.itemRender||a.itemRender||$;o&&o.length>0?s=b({routes:o,params:i,separator:S,itemRender:p}):m.length&&(s=m.map((g,v)=>(H(typeof g.type=="object"&&(g.type.__ANT_BREADCRUMB_ITEM||g.type.__ANT_BREADCRUMB_SEPARATOR)),L(g,{separator:S,key:v}))));const C={[t.value]:!0,[`${t.value}-rtl`]:u.value==="rtl",[`${n.class}`]:!!n.class,[_.value]:!0};return y(c("nav",f(f({},n),{},{class:C}),[c("ol",null,[s])]))}}});export{K as A,Y as B};
5
- //# sourceMappingURL=Breadcrumb.f11a16d0.js.map
5
+ //# sourceMappingURL=Breadcrumb.27110ec4.js.map
@@ -1,2 +1,2 @@
1
- import{C as H}from"./CrudView.79588134.js";import{d as $,am as P,c as x,o as c,a5 as v,a7 as q,h as _,e6 as U,e as C,f as u,e7 as z,f1 as J,e5 as Q,a as f,b as i,u as r,bP as W,bx as Y,bw as X,da as k,g as y,ed as b,cx as K,eb as ee,J as te,I as re,r as ae,aR as le,aV as ne,cN as oe,d9 as ie,a6 as se,d4 as ue,S as ce,M as de,ee as pe,_ as fe}from"./jwt-decode.esm.e1e8e181.js";import{a as L}from"./asyncComputed.bfb7341c.js";import{g as me}from"./datetime.46141396.js";import{u as ge}from"./polling.84bf96db.js";import{G as ye}from"./PhArrowCounterClockwise.vue.a1a917b9.js";import{H as be}from"./PhCube.vue.8de1132a.js";import{G as he}from"./PhDownloadSimple.vue.6192bb0e.js";import{e as ve,d as _e,r as ke}from"./router.8ccbba96.js";import{a as Ce,B as Ae}from"./build.aef51d48.js";import{a as Oe}from"./project.a9ad86e9.js";import"./tables.928d4c4a.js";import{G as we}from"./PhClockCounterClockwise.vue.02d85ea5.js";import{F as xe,G as Se,I as Pe}from"./PhUserList.vue.04f21cbe.js";import{G as Ze}from"./PhWebhooksLogo.vue.9e20d559.js";import{A as Z}from"./index.eb8f01b7.js";import{E as Me}from"./ExclamationCircleOutlined.f9a25080.js";import{C as Ie}from"./CloseCircleOutlined.12f63f77.js";import{L as j}from"./LoadingOutlined.659d6aae.js";import"./DocsButton.vue_vue_type_script_setup_true_lang.6566ff97.js";import"./constants.b75d9567.js";import"./url.62ce842c.js";import"./PhDotsThreeVertical.vue.9e306480.js";import"./index.57a61691.js";import"./record.06867f70.js";import"./string.ea3b2597.js";(function(){try{var l=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(l._sentryDebugIds=l._sentryDebugIds||{},l._sentryDebugIds[e]="4ed42b8c-6741-4bb0-9782-b308a93940e9",l._sentryDebugIdIdentifier="sentry-dbid-4ed42b8c-6741-4bb0-9782-b308a93940e9")}catch{}})();var je={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"minus-circle",theme:"outlined"};const $e=je;var ze={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z"}}]},name:"pause-circle",theme:"outlined"};const De=ze,Be=["width","height","fill","transform"],Ve={key:0},Ne=C("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm-16-84a16,16,0,1,1-16-16A16,16,0,0,1,112,128Zm64,0a16,16,0,1,1-16-16A16,16,0,0,1,176,128Z"},null,-1),Le=[Ne],Ee={key:1},Ge=C("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"},null,-1),Te=C("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm56-88a12,12,0,1,1-12-12A12,12,0,0,1,184,128Zm-44,0a12,12,0,1,1-12-12A12,12,0,0,1,140,128Zm-44,0a12,12,0,1,1-12-12A12,12,0,0,1,96,128Z"},null,-1),Fe=[Ge,Te],Re={key:2},He=C("path",{d:"M128,24A104,104,0,1,0,232,128,104.13,104.13,0,0,0,128,24ZM84,140a12,12,0,1,1,12-12A12,12,0,0,1,84,140Zm44,0a12,12,0,1,1,12-12A12,12,0,0,1,128,140Zm44,0a12,12,0,1,1,12-12A12,12,0,0,1,172,140Z"},null,-1),qe=[He],Ue={key:3},Je=C("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm10-90a10,10,0,1,1-10-10A10,10,0,0,1,138,128Zm-44,0a10,10,0,1,1-10-10A10,10,0,0,1,94,128Zm88,0a10,10,0,1,1-10-10A10,10,0,0,1,182,128Z"},null,-1),Qe=[Je],We={key:4},Ye=C("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm12-88a12,12,0,1,1-12-12A12,12,0,0,1,140,128Zm44,0a12,12,0,1,1-12-12A12,12,0,0,1,184,128Zm-88,0a12,12,0,1,1-12-12A12,12,0,0,1,96,128Z"},null,-1),Xe=[Ye],Ke={key:5},et=C("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm8-92a8,8,0,1,1-8-8A8,8,0,0,1,136,128Zm-44,0a8,8,0,1,1-8-8A8,8,0,0,1,92,128Zm88,0a8,8,0,1,1-8-8A8,8,0,0,1,180,128Z"},null,-1),tt=[et],rt={name:"PhDotsThreeCircle"},at=$({...rt,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(l){const e=l,a=P("weight","regular"),d=P("size","1em"),s=P("color","currentColor"),S=P("mirrored",!1),p=x(()=>{var m;return(m=e.weight)!=null?m:a}),w=x(()=>{var m;return(m=e.size)!=null?m:d}),h=x(()=>{var m;return(m=e.color)!=null?m:s}),A=x(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:S?"scale(-1, 1)":void 0);return(m,M)=>(c(),v("svg",U({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:w.value,height:w.value,fill:h.value,transform:A.value},m.$attrs),[q(m.$slots,"default"),p.value==="bold"?(c(),v("g",Ve,Le)):p.value==="duotone"?(c(),v("g",Ee,Fe)):p.value==="fill"?(c(),v("g",Re,qe)):p.value==="light"?(c(),v("g",Ue,Qe)):p.value==="regular"?(c(),v("g",We,Xe)):p.value==="thin"?(c(),v("g",Ke,tt)):_("",!0)],16,Be))}});function E(l){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?Object(arguments[e]):{},d=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(d=d.concat(Object.getOwnPropertySymbols(a).filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable}))),d.forEach(function(s){lt(l,s,a[s])})}return l}function lt(l,e,a){return e in l?Object.defineProperty(l,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[e]=a,l}var D=function(e,a){var d=E({},e,a.attrs);return u(z,E({},d,{icon:J}),null)};D.displayName="CheckCircleOutlined";D.inheritAttrs=!1;const nt=D;function G(l){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?Object(arguments[e]):{},d=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(d=d.concat(Object.getOwnPropertySymbols(a).filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable}))),d.forEach(function(s){ot(l,s,a[s])})}return l}function ot(l,e,a){return e in l?Object.defineProperty(l,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[e]=a,l}var B=function(e,a){var d=G({},e,a.attrs);return u(z,G({},d,{icon:$e}),null)};B.displayName="MinusCircleOutlined";B.inheritAttrs=!1;const it=B;function T(l){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?Object(arguments[e]):{},d=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(d=d.concat(Object.getOwnPropertySymbols(a).filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable}))),d.forEach(function(s){st(l,s,a[s])})}return l}function st(l,e,a){return e in l?Object.defineProperty(l,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[e]=a,l}var V=function(e,a){var d=T({},e,a.attrs);return u(z,T({},d,{icon:De}),null)};V.displayName="PauseCircleOutlined";V.inheritAttrs=!1;const ut=V,ct={style:{display:"flex","align-items":"center",gap:"5px"}},dt={key:1},pt=$({__name:"BuildInspector",props:{buildSpec:{}},setup(l){const e=l,a=Q(),d=s=>{a.push({name:"logs",params:{projectId:e.buildSpec.projectId},query:s.logQuery})};return(s,S)=>s.buildSpec.runtimes.length>0?(c(),f(r(_e),{key:0,"item-layout":"horizontal","data-source":s.buildSpec.runtimes},{renderItem:i(({item:p})=>[u(r(ve),null,{actions:i(()=>[u(r(W),null,{overlay:i(()=>[u(r(Y),null,{default:i(()=>[u(r(X),{onClick:w=>d(p)},{default:i(()=>[C("div",ct,[u(r(we)),u(r(k),null,{default:i(()=>[y(" View Logs")]),_:1})])]),_:2},1032,["onClick"])]),_:2},1024)]),default:i(()=>[u(r(at),{style:{cursor:"pointer"}})]),_:2},1024)]),default:i(()=>[p.type=="form"?(c(),f(r(Z),{key:0,size:"large"},{default:i(()=>[u(r(xe)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y("/"+b(p.path),1)]),_:2},1024)]),_:2},1024)):_("",!0),p.type=="job"?(c(),f(r(Z),{key:1,size:"large"},{default:i(()=>[u(r(Se)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y(b(p.schedule),1)]),_:2},1024)]),_:2},1024)):_("",!0),p.type=="hook"?(c(),f(r(Z),{key:2,size:"large"},{default:i(()=>[u(r(Ze)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y("/_hooks/"+b(p.path),1)]),_:2},1024)]),_:2},1024)):_("",!0),p.type=="script"?(c(),f(r(Z),{key:3,size:"large"},{default:i(()=>[u(r(Pe)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024)]),_:2},1024)):_("",!0)]),_:2},1024)]),_:1},8,["data-source"])):(c(),v("div",dt,[u(r(K),{description:"No runtimes found. Make sure your project has forms, hooks or jobs before deploying it"})]))}}),ft=$({__name:"Builds",setup(l){const a=ee().params.projectId,{loading:d,result:s,refetch:S}=L(async()=>{const[t,o]=await Promise.all([Ce.list(a),Oe.getStatus(a)]);return{b:t.map(g=>({build:g,status:o.filter(O=>O.buildId==g.id).map(O=>O.status)})),status:o}}),{startPolling:p,endPolling:w}=ge({task:S,interval:1e4});te(()=>p()),re(()=>w());const h=ae(null),A=L(async()=>h.value?await Ae.get(h.value):null),m=()=>{var n;const t=(n=s.value)==null?void 0:n.b.find(g=>g.build.id===h.value);return`Version ${t==null?void 0:t.build.id.slice(0,8)} - ${t==null?void 0:t.build.createdAt.toLocaleString()}`},M=[{text:"Deploying",tagColor:"blue",check:t=>{var o,n;return(n=t.build.latest&&t.status.some(g=>g=="Running")&&((o=s.value)==null?void 0:o.status.some(g=>g.buildId!==t.build.id)))!=null?n:!1},loading:!0},{text:"Deactivating",tagColor:"orange",check:t=>t.build.status==="success"&&!t.build.latest&&t.status.some(o=>o=="Running"),loading:!0},{text:"Live",tagColor:"green",check:t=>t.build.latest&&t.status.some(o=>o=="Running")},{text:"Sleeping",tagColor:"cyan",check:t=>t.build.latest&&t.status.length===0},{text:"Failed",tagColor:"red",check:t=>t.build.latest&&t.status.some(o=>o=="Failed")},{text:"Inactive",tagColor:"default",check:t=>t.build.status==="success"},{text:"Aborted",tagColor:"default",check:t=>t.build.status==="aborted"||t.build.status==="aborted-by-user"},{text:"Failed",tagColor:"orange",check:t=>t.build.status==="failure"},{text:"Deploying",tagColor:"blue",check:t=>t.build.status==="in-progress",loading:!0},{text:"Uploading",tagColor:"yellow",check:t=>t.build.status==="pending"}];function F(t){var o,n,g,O,N;return{text:(n=(o=M.find(I=>I.check(t)))==null?void 0:o.text)!=null?n:"unknown",tagColor:(O=(g=M.find(I=>I.check(t)))==null?void 0:g.tagColor)!=null?O:"default",hover:(N=t.build.log)!=null?N:void 0}}const R=x(()=>{const t=[{title:"Id"},{title:"Date"},{title:"Abstra Version"},{title:"Status"},{title:"",align:"right"}];return s.value?{columns:t,rows:s.value.b.map(o=>{var n;return{key:o.build.id,cells:[{type:"text",text:o.build.id.slice(0,8)},{key:"date",type:"slot",payload:{date:me(o.build.createdAt,{weekday:void 0}),distance:pe(o.build.createdAt)}},{type:"text",text:(n=o.build.abstraVersion)!=null?n:"-"},{key:"status",type:"slot",payload:F(o)},{type:"actions",actions:[{icon:be,label:"Inspect version",onClick:async()=>{h.value=o.build.id,A.refetch()}},{icon:ye,label:"View application logs",onClick:()=>{ke.push({name:"logs",params:{projectId:a},query:{buildId:o.build.id}})}},{icon:he,label:"Download files",onClick:()=>o.build.download()}]}]}})}:{columns:t,rows:[]}});return(t,o)=>(c(),v(le,null,[u(H,{"entity-name":"build",loading:r(d),title:"Version History",description:"You can create a new version by publishing your project from the local editor.","empty-title":"No versions here yet",table:R.value,live:""},{date:i(({payload:n})=>[u(r(ne),null,{title:i(()=>[y(b(n.distance),1)]),default:i(()=>[y(b(n.date)+" ",1)]),_:2},1024)]),status:i(({payload:n})=>[u(r(oe),{open:n.hover?void 0:!1},{content:i(()=>[u(r(ie),{style:{width:"300px",overflow:"auto","font-family":"monospace"},content:n.hover,copyable:""},null,8,["content"])]),default:i(()=>[n.text!=="unknown"?(c(),f(r(ue),{key:0,color:n.tagColor,style:se({cursor:n.hover?"pointer":"default"})},{default:i(()=>[n.text==="Live"?(c(),f(r(nt),{key:0})):n.text==="Inactive"?(c(),f(r(it),{key:1})):n.text==="Failed"?(c(),f(r(Me),{key:2})):n.text==="Aborted"?(c(),f(r(Ie),{key:3})):n.text==="Sleeping"?(c(),f(r(ut),{key:4})):n.text==="Uploading"?(c(),f(r(j),{key:5})):n.text==="Deploying"?(c(),f(r(j),{key:6})):n.text==="Deactivating"?(c(),f(r(j),{key:7})):_("",!0),y(" "+b(n.text),1)]),_:2},1032,["color","style"])):_("",!0)]),_:2},1032,["open"])]),_:1},8,["loading","table"]),h.value?(c(),f(r(de),{key:0,footer:null,open:!!h.value,size:"large",width:"80%",title:m(),onCancel:o[0]||(o[0]=n=>h.value=null)},{default:i(()=>[!r(A).result.value||r(A).loading.value?(c(),f(r(ce),{key:0})):r(A).result.value?(c(),f(pt,{key:1,"build-spec":r(A).result.value},null,8,["build-spec"])):_("",!0)]),_:1},8,["open","title"])):_("",!0)],64))}});const Et=fe(ft,[["__scopeId","data-v-9615f578"]]);export{Et as default};
2
- //# sourceMappingURL=Builds.2bf5dad8.js.map
1
+ import{C as H}from"./CrudView.c16e2f81.js";import{d as $,am as P,c as x,o as c,a5 as v,a7 as q,h as _,e6 as U,e as C,f as u,e7 as z,f1 as J,e5 as Q,a as f,b as i,u as r,bP as W,bx as Y,bw as X,da as k,g as y,ed as b,cx as K,eb as ee,J as te,I as re,r as ae,aR as le,aV as ne,cN as oe,d9 as ie,a6 as se,d4 as ue,S as ce,M as de,ee as pe,_ as fe}from"./jwt-decode.esm.7f2ef0df.js";import{a as L}from"./asyncComputed.25309626.js";import{g as me}from"./datetime.e5660676.js";import{u as ge}from"./polling.d1c934c7.js";import{G as ye}from"./PhArrowCounterClockwise.vue.156bcd89.js";import{H as be}from"./PhCube.vue.498c014d.js";import{G as he}from"./PhDownloadSimple.vue.c92aeaff.js";import{e as ve,d as _e,r as ke}from"./router.8fd5b2ad.js";import{a as Ce,B as Ae}from"./build.8fa1a961.js";import{a as Oe}from"./project.d22a89ee.js";import"./tables.be1c51f8.js";import{G as we}from"./PhClockCounterClockwise.vue.d47d66ba.js";import{F as xe,G as Se,I as Pe}from"./PhUserList.vue.bce47902.js";import{G as Ze}from"./PhWebhooksLogo.vue.a704632d.js";import{A as Z}from"./index.23283fbb.js";import{E as Me}from"./ExclamationCircleOutlined.6d10f60b.js";import{C as Ie}from"./CloseCircleOutlined.0110bbe2.js";import{L as j}from"./LoadingOutlined.cd84d9c9.js";import"./DocsButton.vue_vue_type_script_setup_true_lang.61381525.js";import"./constants.56e8988f.js";import"./url.8583a595.js";import"./PhDotsThreeVertical.vue.0ea03d82.js";import"./index.9021ba5d.js";import"./record.4ffc477c.js";import"./string.2ed1cde3.js";(function(){try{var l=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},e=new Error().stack;e&&(l._sentryDebugIds=l._sentryDebugIds||{},l._sentryDebugIds[e]="12bb5157-2b62-4ec0-9d98-243f01177eac",l._sentryDebugIdIdentifier="sentry-dbid-12bb5157-2b62-4ec0-9d98-243f01177eac")}catch{}})();var je={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}},{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},name:"minus-circle",theme:"outlined"};const $e=je;var ze={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z"}}]},name:"pause-circle",theme:"outlined"};const De=ze,Be=["width","height","fill","transform"],Ve={key:0},Ne=C("path",{d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm-16-84a16,16,0,1,1-16-16A16,16,0,0,1,112,128Zm64,0a16,16,0,1,1-16-16A16,16,0,0,1,176,128Z"},null,-1),Le=[Ne],Ee={key:1},Ge=C("path",{d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2"},null,-1),Te=C("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm56-88a12,12,0,1,1-12-12A12,12,0,0,1,184,128Zm-44,0a12,12,0,1,1-12-12A12,12,0,0,1,140,128Zm-44,0a12,12,0,1,1-12-12A12,12,0,0,1,96,128Z"},null,-1),Fe=[Ge,Te],Re={key:2},He=C("path",{d:"M128,24A104,104,0,1,0,232,128,104.13,104.13,0,0,0,128,24ZM84,140a12,12,0,1,1,12-12A12,12,0,0,1,84,140Zm44,0a12,12,0,1,1,12-12A12,12,0,0,1,128,140Zm44,0a12,12,0,1,1,12-12A12,12,0,0,1,172,140Z"},null,-1),qe=[He],Ue={key:3},Je=C("path",{d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm10-90a10,10,0,1,1-10-10A10,10,0,0,1,138,128Zm-44,0a10,10,0,1,1-10-10A10,10,0,0,1,94,128Zm88,0a10,10,0,1,1-10-10A10,10,0,0,1,182,128Z"},null,-1),Qe=[Je],We={key:4},Ye=C("path",{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm12-88a12,12,0,1,1-12-12A12,12,0,0,1,140,128Zm44,0a12,12,0,1,1-12-12A12,12,0,0,1,184,128Zm-88,0a12,12,0,1,1-12-12A12,12,0,0,1,96,128Z"},null,-1),Xe=[Ye],Ke={key:5},et=C("path",{d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm8-92a8,8,0,1,1-8-8A8,8,0,0,1,136,128Zm-44,0a8,8,0,1,1-8-8A8,8,0,0,1,92,128Zm88,0a8,8,0,1,1-8-8A8,8,0,0,1,180,128Z"},null,-1),tt=[et],rt={name:"PhDotsThreeCircle"},at=$({...rt,props:{weight:{type:String},size:{type:[String,Number]},color:{type:String},mirrored:{type:Boolean}},setup(l){const e=l,a=P("weight","regular"),d=P("size","1em"),s=P("color","currentColor"),S=P("mirrored",!1),p=x(()=>{var m;return(m=e.weight)!=null?m:a}),w=x(()=>{var m;return(m=e.size)!=null?m:d}),h=x(()=>{var m;return(m=e.color)!=null?m:s}),A=x(()=>e.mirrored!==void 0?e.mirrored?"scale(-1, 1)":void 0:S?"scale(-1, 1)":void 0);return(m,M)=>(c(),v("svg",U({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:w.value,height:w.value,fill:h.value,transform:A.value},m.$attrs),[q(m.$slots,"default"),p.value==="bold"?(c(),v("g",Ve,Le)):p.value==="duotone"?(c(),v("g",Ee,Fe)):p.value==="fill"?(c(),v("g",Re,qe)):p.value==="light"?(c(),v("g",Ue,Qe)):p.value==="regular"?(c(),v("g",We,Xe)):p.value==="thin"?(c(),v("g",Ke,tt)):_("",!0)],16,Be))}});function E(l){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?Object(arguments[e]):{},d=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(d=d.concat(Object.getOwnPropertySymbols(a).filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable}))),d.forEach(function(s){lt(l,s,a[s])})}return l}function lt(l,e,a){return e in l?Object.defineProperty(l,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[e]=a,l}var D=function(e,a){var d=E({},e,a.attrs);return u(z,E({},d,{icon:J}),null)};D.displayName="CheckCircleOutlined";D.inheritAttrs=!1;const nt=D;function G(l){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?Object(arguments[e]):{},d=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(d=d.concat(Object.getOwnPropertySymbols(a).filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable}))),d.forEach(function(s){ot(l,s,a[s])})}return l}function ot(l,e,a){return e in l?Object.defineProperty(l,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[e]=a,l}var B=function(e,a){var d=G({},e,a.attrs);return u(z,G({},d,{icon:$e}),null)};B.displayName="MinusCircleOutlined";B.inheritAttrs=!1;const it=B;function T(l){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?Object(arguments[e]):{},d=Object.keys(a);typeof Object.getOwnPropertySymbols=="function"&&(d=d.concat(Object.getOwnPropertySymbols(a).filter(function(s){return Object.getOwnPropertyDescriptor(a,s).enumerable}))),d.forEach(function(s){st(l,s,a[s])})}return l}function st(l,e,a){return e in l?Object.defineProperty(l,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):l[e]=a,l}var V=function(e,a){var d=T({},e,a.attrs);return u(z,T({},d,{icon:De}),null)};V.displayName="PauseCircleOutlined";V.inheritAttrs=!1;const ut=V,ct={style:{display:"flex","align-items":"center",gap:"5px"}},dt={key:1},pt=$({__name:"BuildInspector",props:{buildSpec:{}},setup(l){const e=l,a=Q(),d=s=>{a.push({name:"logs",params:{projectId:e.buildSpec.projectId},query:s.logQuery})};return(s,S)=>s.buildSpec.runtimes.length>0?(c(),f(r(_e),{key:0,"item-layout":"horizontal","data-source":s.buildSpec.runtimes},{renderItem:i(({item:p})=>[u(r(ve),null,{actions:i(()=>[u(r(W),null,{overlay:i(()=>[u(r(Y),null,{default:i(()=>[u(r(X),{onClick:w=>d(p)},{default:i(()=>[C("div",ct,[u(r(we)),u(r(k),null,{default:i(()=>[y(" View Logs")]),_:1})])]),_:2},1032,["onClick"])]),_:2},1024)]),default:i(()=>[u(r(at),{style:{cursor:"pointer"}})]),_:2},1024)]),default:i(()=>[p.type=="form"?(c(),f(r(Z),{key:0,size:"large"},{default:i(()=>[u(r(xe)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y("/"+b(p.path),1)]),_:2},1024)]),_:2},1024)):_("",!0),p.type=="job"?(c(),f(r(Z),{key:1,size:"large"},{default:i(()=>[u(r(Se)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y(b(p.schedule),1)]),_:2},1024)]),_:2},1024)):_("",!0),p.type=="hook"?(c(),f(r(Z),{key:2,size:"large"},{default:i(()=>[u(r(Ze)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y("/_hooks/"+b(p.path),1)]),_:2},1024)]),_:2},1024)):_("",!0),p.type=="script"?(c(),f(r(Z),{key:3,size:"large"},{default:i(()=>[u(r(Pe)),u(r(k),{strong:""},{default:i(()=>[y(b(p.title),1)]),_:2},1024)]),_:2},1024)):_("",!0)]),_:2},1024)]),_:1},8,["data-source"])):(c(),v("div",dt,[u(r(K),{description:"No runtimes found. Make sure your project has forms, hooks or jobs before deploying it"})]))}}),ft=$({__name:"Builds",setup(l){const a=ee().params.projectId,{loading:d,result:s,refetch:S}=L(async()=>{const[t,o]=await Promise.all([Ce.list(a),Oe.getStatus(a)]);return{b:t.map(g=>({build:g,status:o.filter(O=>O.buildId==g.id).map(O=>O.status)})),status:o}}),{startPolling:p,endPolling:w}=ge({task:S,interval:1e4});te(()=>p()),re(()=>w());const h=ae(null),A=L(async()=>h.value?await Ae.get(h.value):null),m=()=>{var n;const t=(n=s.value)==null?void 0:n.b.find(g=>g.build.id===h.value);return`Version ${t==null?void 0:t.build.id.slice(0,8)} - ${t==null?void 0:t.build.createdAt.toLocaleString()}`},M=[{text:"Deploying",tagColor:"blue",check:t=>{var o,n;return(n=t.build.latest&&t.status.some(g=>g=="Running")&&((o=s.value)==null?void 0:o.status.some(g=>g.buildId!==t.build.id)))!=null?n:!1},loading:!0},{text:"Deactivating",tagColor:"orange",check:t=>t.build.status==="success"&&!t.build.latest&&t.status.some(o=>o=="Running"),loading:!0},{text:"Live",tagColor:"green",check:t=>t.build.latest&&t.status.some(o=>o=="Running")},{text:"Sleeping",tagColor:"cyan",check:t=>t.build.latest&&t.status.length===0},{text:"Failed",tagColor:"red",check:t=>t.build.latest&&t.status.some(o=>o=="Failed")},{text:"Inactive",tagColor:"default",check:t=>t.build.status==="success"},{text:"Aborted",tagColor:"default",check:t=>t.build.status==="aborted"||t.build.status==="aborted-by-user"},{text:"Failed",tagColor:"orange",check:t=>t.build.status==="failure"},{text:"Deploying",tagColor:"blue",check:t=>t.build.status==="in-progress",loading:!0},{text:"Uploading",tagColor:"yellow",check:t=>t.build.status==="pending"}];function F(t){var o,n,g,O,N;return{text:(n=(o=M.find(I=>I.check(t)))==null?void 0:o.text)!=null?n:"unknown",tagColor:(O=(g=M.find(I=>I.check(t)))==null?void 0:g.tagColor)!=null?O:"default",hover:(N=t.build.log)!=null?N:void 0}}const R=x(()=>{const t=[{title:"Id"},{title:"Date"},{title:"Abstra Version"},{title:"Status"},{title:"",align:"right"}];return s.value?{columns:t,rows:s.value.b.map(o=>{var n;return{key:o.build.id,cells:[{type:"text",text:o.build.id.slice(0,8)},{key:"date",type:"slot",payload:{date:me(o.build.createdAt,{weekday:void 0}),distance:pe(o.build.createdAt)}},{type:"text",text:(n=o.build.abstraVersion)!=null?n:"-"},{key:"status",type:"slot",payload:F(o)},{type:"actions",actions:[{icon:be,label:"Inspect version",onClick:async()=>{h.value=o.build.id,A.refetch()}},{icon:ye,label:"View application logs",onClick:()=>{ke.push({name:"logs",params:{projectId:a},query:{buildId:o.build.id}})}},{icon:he,label:"Download files",onClick:()=>o.build.download()}]}]}})}:{columns:t,rows:[]}});return(t,o)=>(c(),v(le,null,[u(H,{"entity-name":"build",loading:r(d),title:"Version History",description:"You can create a new version by publishing your project from the local editor.","empty-title":"No versions here yet",table:R.value,live:""},{date:i(({payload:n})=>[u(r(ne),null,{title:i(()=>[y(b(n.distance),1)]),default:i(()=>[y(b(n.date)+" ",1)]),_:2},1024)]),status:i(({payload:n})=>[u(r(oe),{open:n.hover?void 0:!1},{content:i(()=>[u(r(ie),{style:{width:"300px",overflow:"auto","font-family":"monospace"},content:n.hover,copyable:""},null,8,["content"])]),default:i(()=>[n.text!=="unknown"?(c(),f(r(ue),{key:0,color:n.tagColor,style:se({cursor:n.hover?"pointer":"default"})},{default:i(()=>[n.text==="Live"?(c(),f(r(nt),{key:0})):n.text==="Inactive"?(c(),f(r(it),{key:1})):n.text==="Failed"?(c(),f(r(Me),{key:2})):n.text==="Aborted"?(c(),f(r(Ie),{key:3})):n.text==="Sleeping"?(c(),f(r(ut),{key:4})):n.text==="Uploading"?(c(),f(r(j),{key:5})):n.text==="Deploying"?(c(),f(r(j),{key:6})):n.text==="Deactivating"?(c(),f(r(j),{key:7})):_("",!0),y(" "+b(n.text),1)]),_:2},1032,["color","style"])):_("",!0)]),_:2},1032,["open"])]),_:1},8,["loading","table"]),h.value?(c(),f(r(de),{key:0,footer:null,open:!!h.value,size:"large",width:"80%",title:m(),onCancel:o[0]||(o[0]=n=>h.value=null)},{default:i(()=>[!r(A).result.value||r(A).loading.value?(c(),f(r(ce),{key:0})):r(A).result.value?(c(),f(pt,{key:1,"build-spec":r(A).result.value},null,8,["build-spec"])):_("",!0)]),_:1},8,["open","title"])):_("",!0)],64))}});const Et=fe(ft,[["__scopeId","data-v-9615f578"]]);export{Et as default};
2
+ //# sourceMappingURL=Builds.4eecd717.js.map