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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/METADATA +1 -1
  2. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/RECORD +202 -206
  3. abstra_internals/contracts_generated.py +1016 -758
  4. abstra_internals/controllers/git.py +4 -2
  5. abstra_internals/controllers/main.py +63 -1
  6. abstra_internals/repositories/git/git_test.py +5 -2
  7. abstra_internals/repositories/git/native.py +13 -7
  8. abstra_internals/repositories/git/types.py +1 -1
  9. abstra_internals/repositories/project/project.py +1 -1
  10. abstra_internals/server/routes/git.py +11 -2
  11. abstra_internals/server/routes/mcp.py +1 -0
  12. abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.13670ae7.js +2 -0
  13. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.1035457c.js +2 -0
  14. abstra_statics/dist/assets/ApiKeys.9b0b18b5.js +2 -0
  15. abstra_statics/dist/assets/App.9ab9cabb.js +2 -0
  16. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.6713c9c9.js +2 -0
  17. abstra_statics/dist/assets/BaseLayout.28c01b5b.js +2 -0
  18. abstra_statics/dist/assets/Billing.f9062d88.js +2 -0
  19. abstra_statics/dist/assets/{Breadcrumb.5c786c09.js → Breadcrumb.e54636d6.js} +3 -3
  20. abstra_statics/dist/assets/Builds.38c0f966.css +1 -0
  21. abstra_statics/dist/assets/Builds.c7363e1b.js +2 -0
  22. abstra_statics/dist/assets/{Card.fc77085c.js → Card.4a8a30bb.js} +5 -5
  23. abstra_statics/dist/assets/{CircularLoading.998b223a.js → CircularLoading.d81a4cac.js} +2 -2
  24. abstra_statics/dist/assets/CloseCircleOutlined.39b5ab06.js +2 -0
  25. abstra_statics/dist/assets/ConnectorsView.b594798e.css +1 -0
  26. abstra_statics/dist/assets/ConnectorsView.d4b67e2e.js +2 -0
  27. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.5360224e.js +2 -0
  28. abstra_statics/dist/assets/ContentLayout.10f24838.js +2 -0
  29. abstra_statics/dist/assets/CrudView.57e8b29a.js +2 -0
  30. abstra_statics/dist/assets/CrudView.8abe5bc2.css +1 -0
  31. abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.108b18e1.js +2 -0
  32. abstra_statics/dist/assets/EditorLogin.2f00deb7.js +2 -0
  33. abstra_statics/dist/assets/EditorsView.eb87a2d8.js +2 -0
  34. abstra_statics/dist/assets/EnvVars.883a4a57.js +2 -0
  35. abstra_statics/dist/assets/Error.98b8036c.js +2 -0
  36. abstra_statics/dist/assets/{ExclamationCircleOutlined.d0aa47da.js → ExclamationCircleOutlined.2441b96e.js} +2 -2
  37. abstra_statics/dist/assets/Files.39b07d88.css +1 -0
  38. abstra_statics/dist/assets/Files.9fc8199a.js +2 -0
  39. abstra_statics/dist/assets/Form.5d562f15.js +2 -0
  40. abstra_statics/dist/assets/{FormRunner.46f6426d.css → FormRunner.1e6e7d2a.css} +1 -1
  41. abstra_statics/dist/assets/FormRunner.2b1b3c45.js +2 -0
  42. abstra_statics/dist/assets/Home.191a6dce.js +2 -0
  43. abstra_statics/dist/assets/Home.8502aa41.js +2 -0
  44. abstra_statics/dist/assets/Home.e8bf9440.css +1 -0
  45. abstra_statics/dist/assets/LoadingContainer.ac03ea28.js +2 -0
  46. abstra_statics/dist/assets/LoadingOutlined.4c40acc4.js +2 -0
  47. abstra_statics/dist/assets/Login.8bd6a07a.js +2 -0
  48. abstra_statics/dist/assets/{Login.75d13f6c.css → Login.ac75228f.css} +1 -1
  49. abstra_statics/dist/assets/Login.edfbdaea.js +2 -0
  50. abstra_statics/dist/assets/Login.vue_vue_type_script_setup_true_lang.02acef81.js +2 -0
  51. abstra_statics/dist/assets/Logo.fc8ace6c.js +2 -0
  52. abstra_statics/dist/assets/Logs.4c6c0b3a.js +2 -0
  53. abstra_statics/dist/assets/LogsController.61f8e22d.css +1 -0
  54. abstra_statics/dist/assets/LogsController.a58ca42a.js +2 -0
  55. abstra_statics/dist/assets/Main.e6b2d2d5.js +2 -0
  56. abstra_statics/dist/assets/{MockForm.0b819a52.js → MockForm.091aa4ce.js} +2 -2
  57. abstra_statics/dist/assets/Navbar.24019fd6.js +2 -0
  58. abstra_statics/dist/assets/Navbar.61d3e0a6.css +1 -0
  59. abstra_statics/dist/assets/NewEditor.2b6f4ed3.js +8 -0
  60. abstra_statics/dist/assets/NewEditor.f2d1c0c3.css +1 -0
  61. abstra_statics/dist/assets/OidcLoginCallback.987cebba.js +2 -0
  62. abstra_statics/dist/assets/OidcLogoutCallback.6c00d878.js +2 -0
  63. abstra_statics/dist/assets/OmniChat.60ee26c8.css +1 -0
  64. abstra_statics/dist/assets/OmniChat.c78c1e51.js +6 -0
  65. abstra_statics/dist/assets/OnboardingView.687780ed.js +2 -0
  66. abstra_statics/dist/assets/OnboardingView.e871e6d8.css +1 -0
  67. abstra_statics/dist/assets/Organization.0ac1bf79.js +2 -0
  68. abstra_statics/dist/assets/Organizations.fc123489.js +2 -0
  69. abstra_statics/dist/assets/{PhArrowCounterClockwise.vue.78877a50.js → PhArrowCounterClockwise.vue.6ab1b899.js} +2 -2
  70. abstra_statics/dist/assets/{PhArrowSquareOut.vue.2ddfc219.js → PhArrowSquareOut.vue.1cebb708.js} +2 -2
  71. abstra_statics/dist/assets/{PhClockCounterClockwise.vue.854c3cb5.js → PhClockCounterClockwise.vue.dae2e135.js} +2 -2
  72. abstra_statics/dist/assets/{PhCopy.vue.d116ddfb.js → PhCopy.vue.71703533.js} +2 -2
  73. abstra_statics/dist/assets/PhCopySimple.vue.369eb629.js +2 -0
  74. abstra_statics/dist/assets/{PhCube.vue.abf4a034.js → PhCube.vue.f8549a9b.js} +2 -2
  75. abstra_statics/dist/assets/{PhDatabase.vue.a94d95f6.js → PhDatabase.vue.0d3246d7.js} +2 -2
  76. abstra_statics/dist/assets/{PhDotsThreeVertical.vue.5e8ae2a9.js → PhDotsThreeVertical.vue.9d76c4de.js} +2 -2
  77. abstra_statics/dist/assets/{PhDownloadSimple.vue.e88f64f1.js → PhDownloadSimple.vue.21156b6d.js} +2 -2
  78. abstra_statics/dist/assets/PhFileArrowUp.vue.406b22e3.js +2 -0
  79. abstra_statics/dist/assets/PhFilePlus.vue.b180df90.js +2 -0
  80. abstra_statics/dist/assets/{PhFolderPlus.vue.21d377a3.js → PhFolderPlus.vue.b18fd061.js} +2 -2
  81. abstra_statics/dist/assets/{PhGear.vue.363dd83c.js → PhGear.vue.bed38929.js} +2 -2
  82. abstra_statics/dist/assets/{PhKey.vue.23f3a465.js → PhKey.vue.6ef5fdd3.js} +2 -2
  83. abstra_statics/dist/assets/{PhPencil.vue.feb383e2.js → PhPencil.vue.0fc0fcc0.js} +2 -2
  84. abstra_statics/dist/assets/PhPencilSimple.vue.0707effd.js +2 -0
  85. abstra_statics/dist/assets/PhRocket.vue.761192f5.js +2 -0
  86. abstra_statics/dist/assets/{PhSignOut.vue.d1d6498f.js → PhSignOut.vue.8d8dfd96.js} +2 -2
  87. abstra_statics/dist/assets/{PhSparkle.vue.b6712d34.js → PhSparkle.vue.18ed0427.js} +2 -2
  88. abstra_statics/dist/assets/PhTranslate.vue.00a17a08.js +2 -0
  89. abstra_statics/dist/assets/{PhUsersThree.vue.8889f957.js → PhUsersThree.vue.d69f0723.js} +2 -2
  90. abstra_statics/dist/assets/{PhWarningCircle.vue.2087be7d.js → PhWarningCircle.vue.20bfeba7.js} +2 -2
  91. abstra_statics/dist/assets/PhWebhooksLogo.vue.58a98824.js +2 -0
  92. abstra_statics/dist/assets/PlayerConfigProvider.ad360920.js +2 -0
  93. abstra_statics/dist/assets/{PlayerNavbar.77209eae.css → PlayerNavbar.4dc29a45.css} +1 -1
  94. abstra_statics/dist/assets/PlayerNavbar.97e8dee9.js +2 -0
  95. abstra_statics/dist/assets/Project.6c4642b5.js +2 -0
  96. abstra_statics/dist/assets/Project.9c418d2e.css +1 -0
  97. abstra_statics/dist/assets/ProjectLogin.f92a038d.js +2 -0
  98. abstra_statics/dist/assets/ProjectSettings.582746dc.js +2 -0
  99. abstra_statics/dist/assets/ProjectsView.a6b3674b.js +2 -0
  100. abstra_statics/dist/assets/ProjectsView.e26ddfd5.css +1 -0
  101. abstra_statics/dist/assets/SaveButton.363ea20f.css +1 -0
  102. abstra_statics/dist/assets/SaveButton.c3ad6e9b.js +2 -0
  103. abstra_statics/dist/assets/{ScrollArea.vue_vue_type_script_setup_true_lang.6d724b05.js → ScrollArea.vue_vue_type_script_setup_true_lang.62178939.js} +2 -2
  104. abstra_statics/dist/assets/{Sidebar.29baeab0.css → Sidebar.161522da.css} +1 -1
  105. abstra_statics/dist/assets/Sidebar.69f9369e.js +2 -0
  106. abstra_statics/dist/assets/Sql.6d9a778c.css +1 -0
  107. abstra_statics/dist/assets/Sql.cdefe5b9.js +5 -0
  108. abstra_statics/dist/assets/{Steps.dd51a108.js → Steps.82252fc0.js} +2 -2
  109. abstra_statics/dist/assets/TableCard.5462c89d.js +2 -0
  110. abstra_statics/dist/assets/{TableEditor.5853a363.css → TableEditor.20fecc75.css} +1 -1
  111. abstra_statics/dist/assets/TableEditor.fcfa13de.js +2 -0
  112. abstra_statics/dist/assets/Tables.4ee84a7c.js +39 -0
  113. abstra_statics/dist/assets/TablesDiagram.b1d1579e.js +15 -0
  114. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.3e5206e0.js +2 -0
  115. abstra_statics/dist/assets/Tasks.fd2605bd.js +2 -0
  116. abstra_statics/dist/assets/{UploadOutlined.9aa845de.js → UploadOutlined.64837788.js} +2 -2
  117. abstra_statics/dist/assets/View.b144c5e3.js +2 -0
  118. abstra_statics/dist/assets/View.vue_vue_type_script_setup_true_lang.c79117ce.js +2 -0
  119. abstra_statics/dist/assets/Watermark.c0756030.js +2 -0
  120. abstra_statics/dist/assets/WebEditor.774989ad.js +2 -0
  121. abstra_statics/dist/assets/WebEditor.b886e4d1.css +1 -0
  122. abstra_statics/dist/assets/WidgetPreview.4fd6afc0.js +2 -0
  123. abstra_statics/dist/assets/WorkflowViewer.2666936e.js +2 -0
  124. abstra_statics/dist/assets/WorkflowViewer.3b6aee8e.css +1 -0
  125. abstra_statics/dist/assets/ant-design.b3eefa58.js +2 -0
  126. abstra_statics/dist/assets/apiKey.ee792d72.js +2 -0
  127. abstra_statics/dist/assets/asyncComputed.c73d027a.js +2 -0
  128. abstra_statics/dist/assets/{build.45b511b6.js → build.6e7d77b3.js} +2 -2
  129. abstra_statics/dist/assets/colorHelpers.5ee17d14.js +2 -0
  130. abstra_statics/dist/assets/{console.f0f09e6f.js → console.38bda98e.js} +4 -4
  131. abstra_statics/dist/assets/constants.be8ad36c.js +2 -0
  132. abstra_statics/dist/assets/contracts.generated.f01de5a3.js +2 -0
  133. abstra_statics/dist/assets/{cssMode.23271d4a.js → cssMode.408206bf.js} +2 -2
  134. abstra_statics/dist/assets/{datetime.82608dfb.js → datetime.a6d58ce1.js} +2 -2
  135. abstra_statics/dist/assets/dayjs.703ebc20.js +2 -0
  136. abstra_statics/dist/assets/editor.a77b56bd.js +2 -0
  137. abstra_statics/dist/assets/editor.main.a1ebf0ab.js +2 -0
  138. abstra_statics/dist/assets/fetch.cd29ef4c.js +2 -0
  139. abstra_statics/dist/assets/{files.8b58ee7e.js → files.1c1692f5.js} +2 -2
  140. abstra_statics/dist/assets/{folder.13d3acac.js → folder.1b74b12c.js} +2 -2
  141. abstra_statics/dist/assets/{freemarker2.f79b510b.js → freemarker2.e62e067c.js} +2 -2
  142. abstra_statics/dist/assets/{handlebars.07d5febe.js → handlebars.604fc901.js} +2 -2
  143. abstra_statics/dist/assets/{html.7d6a59b4.js → html.c02f177e.js} +2 -2
  144. abstra_statics/dist/assets/{htmlMode.7779ff94.js → htmlMode.64078e03.js} +2 -2
  145. abstra_statics/dist/assets/index.015caad7.js +2 -0
  146. abstra_statics/dist/assets/index.2ec95eae.js +2 -0
  147. abstra_statics/dist/assets/index.5197afb2.js +2 -0
  148. abstra_statics/dist/assets/{index.482df04a.js → index.82590a75.js} +2 -2
  149. abstra_statics/dist/assets/{index.d31da2c3.js → index.82842143.js} +2 -2
  150. abstra_statics/dist/assets/{index.e71a5f84.js → index.a12eba98.js} +3 -3
  151. abstra_statics/dist/assets/index.b72cb2b3.js +2 -0
  152. abstra_statics/dist/assets/{index.c8a56795.js → index.b91afb03.js} +2 -2
  153. abstra_statics/dist/assets/index.bec0ecd0.js +4 -0
  154. abstra_statics/dist/assets/{index.57042181.css → index.da037bc0.css} +1 -1
  155. abstra_statics/dist/assets/{javascript.4c528c2c.js → javascript.57026f87.js} +2 -2
  156. abstra_statics/dist/assets/{jsonMode.d6441e9d.js → jsonMode.9b45b375.js} +2 -2
  157. abstra_statics/dist/assets/{jwt-decode.9f7a5511.css → jwt-decode.c5760184.css} +2 -2
  158. abstra_statics/dist/assets/{jwt-decode.esm.54a1ea22.js → jwt-decode.esm.3348bca5.js} +197 -197
  159. abstra_statics/dist/assets/{linters.a0f2aa84.js → linters.903f3240.js} +2 -2
  160. abstra_statics/dist/assets/{liquid.0c441ad2.js → liquid.233d5164.js} +2 -2
  161. abstra_statics/dist/assets/member.d878cf3f.js +2 -0
  162. abstra_statics/dist/assets/metadata.9f7495db.js +2 -0
  163. abstra_statics/dist/assets/omniChatStore.40ad0b1b.js +9 -0
  164. abstra_statics/dist/assets/omniChatStore.b58e3bed.css +1 -0
  165. abstra_statics/dist/assets/{organization.668d1b58.js → organization.8f08e075.js} +2 -2
  166. abstra_statics/dist/assets/os.8ffdbf05.js +2 -0
  167. abstra_statics/dist/assets/player.7112583e.js +2 -0
  168. abstra_statics/dist/assets/{plotly.min.2a87d7e2.js → plotly.min.da87d61b.js} +2 -2
  169. abstra_statics/dist/assets/polling.f547718c.js +2 -0
  170. abstra_statics/dist/assets/{project.1b8374f4.js → project.2483de10.js} +2 -2
  171. abstra_statics/dist/assets/{python.7ac27a56.js → python.1bdbd404.js} +3 -3
  172. abstra_statics/dist/assets/{razor.860a0279.js → razor.be821b87.js} +3 -3
  173. abstra_statics/dist/assets/{record.e83a2eb2.js → record.a108da5a.js} +2 -2
  174. abstra_statics/dist/assets/redirect.eedb2bf6.js +2 -0
  175. abstra_statics/dist/assets/{repository.3a331f0f.js → repository.353e892d.js} +2 -2
  176. abstra_statics/dist/assets/repository.48119e01.js +2 -0
  177. abstra_statics/dist/assets/repository.677ca13c.js +2 -0
  178. abstra_statics/dist/assets/{router.4dfadf5d.js → router.c6e27700.js} +4 -4
  179. abstra_statics/dist/assets/router.c7abfb0c.js +2 -0
  180. abstra_statics/dist/assets/string.998fa621.js +2 -0
  181. abstra_statics/dist/assets/{tables.1bcb1140.js → tables.9701f90c.js} +2 -2
  182. abstra_statics/dist/assets/tasksController.5db769f7.js +4 -0
  183. abstra_statics/dist/assets/{toggleHighContrast.9535bf54.js → toggleHighContrast.23d5a1ab.js} +7 -7
  184. abstra_statics/dist/assets/{tsMode.c0f9fe1a.js → tsMode.4558d65a.js} +2 -2
  185. abstra_statics/dist/assets/{typescript.310eae6d.js → typescript.4445d2fa.js} +3 -3
  186. abstra_statics/dist/assets/url.5d02a63f.js +2 -0
  187. abstra_statics/dist/assets/{useCodebaseEvents.276cc8f0.js → useCodebaseEvents.6ebbc5a2.js} +2 -2
  188. abstra_statics/dist/assets/useTables.4d5edd80.js +2 -0
  189. abstra_statics/dist/assets/userStore.34b8f1eb.js +2 -0
  190. abstra_statics/dist/assets/uuid.6980e2bb.js +2 -0
  191. abstra_statics/dist/assets/vue-flow-background.f1022925.js +2 -0
  192. abstra_statics/dist/assets/{vue-flow-core.6cb99d32.js → vue-flow-core.0de753a6.js} +2 -2
  193. abstra_statics/dist/assets/{vue-quill.esm-bundler.e3d34d0e.js → vue-quill.esm-bundler.8f4ad2b3.js} +2 -2
  194. abstra_statics/dist/assets/{workspaceStore.fac1e9a9.js → workspaceStore.5d3f2aec.js} +2 -2
  195. abstra_statics/dist/assets/{xml.04864db4.js → xml.8a25758b.js} +3 -3
  196. abstra_statics/dist/assets/{yaml.f30375fe.js → yaml.e466330b.js} +3 -3
  197. abstra_statics/dist/console.html +15 -15
  198. abstra_statics/dist/editor.html +15 -15
  199. abstra_statics/dist/player.html +10 -10
  200. abstra/connectors/banking/__init__.py +0 -0
  201. abstra/connectors/banking/brazil.py +0 -5
  202. abstra_internals/services/banking/__init__.py +0 -3
  203. abstra_internals/services/banking/banking_service.py +0 -104
  204. abstra_internals/services/banking/client_factory.py +0 -70
  205. abstra_internals/services/banking/sdk/__init__.py +0 -0
  206. abstra_internals/services/banking/sdk/generate_totalbank_api.py +0 -383
  207. abstra_statics/dist/assets/AbstraButton.vue_vue_type_script_setup_true_lang.aefce2d3.js +0 -2
  208. abstra_statics/dist/assets/AbstraLogo.vue_vue_type_script_setup_true_lang.28bc9fc9.js +0 -2
  209. abstra_statics/dist/assets/ApiKeys.3c1e70dc.js +0 -2
  210. abstra_statics/dist/assets/App.9d8bd2aa.js +0 -2
  211. abstra_statics/dist/assets/App.vue_vue_type_style_index_0_lang.a64c7cee.js +0 -2
  212. abstra_statics/dist/assets/BaseLayout.72a6c8f2.js +0 -2
  213. abstra_statics/dist/assets/Billing.6b07f282.js +0 -2
  214. abstra_statics/dist/assets/Builds.ace9e3da.css +0 -1
  215. abstra_statics/dist/assets/Builds.d8c5c61b.js +0 -2
  216. abstra_statics/dist/assets/CloseCircleOutlined.9ff269cc.js +0 -2
  217. abstra_statics/dist/assets/ConnectorsView.33c5380f.css +0 -1
  218. abstra_statics/dist/assets/ConnectorsView.e670738b.js +0 -2
  219. abstra_statics/dist/assets/ConsoleOmniChat.vue_vue_type_script_setup_true_lang.3ca66327.js +0 -2
  220. abstra_statics/dist/assets/ContentLayout.0db8d7fb.js +0 -2
  221. abstra_statics/dist/assets/CrudView.cc6aeaf0.js +0 -2
  222. abstra_statics/dist/assets/CrudView.e24590ae.css +0 -1
  223. abstra_statics/dist/assets/DocsButton.vue_vue_type_script_setup_true_lang.689d8ce7.js +0 -2
  224. abstra_statics/dist/assets/EditorLogin.691452b4.js +0 -2
  225. abstra_statics/dist/assets/EditorsView.fcdf0186.js +0 -2
  226. abstra_statics/dist/assets/EnvVars.5519b4ce.js +0 -2
  227. abstra_statics/dist/assets/Error.11fd1f21.js +0 -2
  228. abstra_statics/dist/assets/Files.6ea18d46.js +0 -2
  229. abstra_statics/dist/assets/Files.d0e8d2ff.css +0 -1
  230. abstra_statics/dist/assets/Form.09de384c.js +0 -2
  231. abstra_statics/dist/assets/FormRunner.15be6fa0.js +0 -2
  232. abstra_statics/dist/assets/Home.3794e8b4.css +0 -1
  233. abstra_statics/dist/assets/Home.782c5702.js +0 -2
  234. abstra_statics/dist/assets/Home.7c495aa9.js +0 -2
  235. abstra_statics/dist/assets/Live.37415b2d.css +0 -1
  236. abstra_statics/dist/assets/Live.48c10605.js +0 -2
  237. abstra_statics/dist/assets/LoadingContainer.82ac3d44.js +0 -2
  238. abstra_statics/dist/assets/LoadingOutlined.66639b08.js +0 -2
  239. abstra_statics/dist/assets/Login.4a05f5c5.js +0 -2
  240. abstra_statics/dist/assets/Login.4e852955.js +0 -2
  241. abstra_statics/dist/assets/Login.vue_vue_type_script_setup_true_lang.5161f328.js +0 -2
  242. abstra_statics/dist/assets/Logo.65e0b37c.js +0 -2
  243. abstra_statics/dist/assets/Logs.7d1acf32.js +0 -2
  244. abstra_statics/dist/assets/LogsController.0eb2eb30.js +0 -2
  245. abstra_statics/dist/assets/LogsController.fb0d96c2.css +0 -1
  246. abstra_statics/dist/assets/Main.0313f4fc.js +0 -2
  247. abstra_statics/dist/assets/Navbar.2dc6d02c.css +0 -1
  248. abstra_statics/dist/assets/Navbar.ef64aa09.js +0 -2
  249. abstra_statics/dist/assets/NewEditor.b9c410fe.css +0 -1
  250. abstra_statics/dist/assets/NewEditor.c928dbe9.js +0 -8
  251. abstra_statics/dist/assets/OidcLoginCallback.42a7c4f9.js +0 -2
  252. abstra_statics/dist/assets/OidcLogoutCallback.35931a68.js +0 -2
  253. abstra_statics/dist/assets/OmniChat.73d9f6bb.js +0 -6
  254. abstra_statics/dist/assets/OmniChat.a21fec40.css +0 -1
  255. abstra_statics/dist/assets/OnboardingView.25042384.js +0 -2
  256. abstra_statics/dist/assets/OnboardingView.3996b08d.css +0 -1
  257. abstra_statics/dist/assets/Organization.66f64939.js +0 -2
  258. abstra_statics/dist/assets/Organizations.47868beb.js +0 -2
  259. abstra_statics/dist/assets/PhBookBookmark.vue.41108214.js +0 -2
  260. abstra_statics/dist/assets/PhChats.vue.71e5cb89.js +0 -2
  261. abstra_statics/dist/assets/PhCopySimple.vue.5d0f839d.js +0 -2
  262. abstra_statics/dist/assets/PhPencilSimple.vue.ec0eebb4.js +0 -2
  263. abstra_statics/dist/assets/PhRocket.vue.261a42b2.js +0 -2
  264. abstra_statics/dist/assets/PhUserList.vue.e0b8c21b.js +0 -2
  265. abstra_statics/dist/assets/PhWebhooksLogo.vue.d164db1e.js +0 -2
  266. abstra_statics/dist/assets/PlayerConfigProvider.28e29025.js +0 -2
  267. abstra_statics/dist/assets/PlayerNavbar.aaad1dfd.js +0 -2
  268. abstra_statics/dist/assets/Project.2de506d7.js +0 -2
  269. abstra_statics/dist/assets/Project.9c75c141.css +0 -1
  270. abstra_statics/dist/assets/ProjectLogin.22c8b093.js +0 -2
  271. abstra_statics/dist/assets/ProjectSettings.d065c292.js +0 -2
  272. abstra_statics/dist/assets/ProjectsView.16d8ecf6.css +0 -1
  273. abstra_statics/dist/assets/ProjectsView.cbd118ac.js +0 -2
  274. abstra_statics/dist/assets/SaveButton.428227de.js +0 -2
  275. abstra_statics/dist/assets/SaveButton.932ac6b8.css +0 -1
  276. abstra_statics/dist/assets/Sidebar.41173d8e.js +0 -2
  277. abstra_statics/dist/assets/Sql.90e6e2ba.css +0 -1
  278. abstra_statics/dist/assets/Sql.c070dd2c.js +0 -5
  279. abstra_statics/dist/assets/TableCard.c9a1cf41.js +0 -2
  280. abstra_statics/dist/assets/TableEditor.1bc47a95.js +0 -2
  281. abstra_statics/dist/assets/Tables.eff119eb.js +0 -2
  282. abstra_statics/dist/assets/TablesDiagram.d633acaf.js +0 -15
  283. abstra_statics/dist/assets/TablesTabs.vue_vue_type_script_setup_true_lang.cf7e34c5.js +0 -2
  284. abstra_statics/dist/assets/Tasks.c311b05f.js +0 -2
  285. abstra_statics/dist/assets/View.dd7ba25a.js +0 -2
  286. abstra_statics/dist/assets/View.vue_vue_type_script_setup_true_lang.e6563207.js +0 -2
  287. abstra_statics/dist/assets/Watermark.9c9358e3.js +0 -2
  288. abstra_statics/dist/assets/WebEditor.83f2a960.js +0 -2
  289. abstra_statics/dist/assets/WebEditor.c2e271d1.css +0 -1
  290. abstra_statics/dist/assets/WidgetPreview.7c6a231c.js +0 -2
  291. abstra_statics/dist/assets/ant-design.42419021.js +0 -2
  292. abstra_statics/dist/assets/apiKey.403049eb.js +0 -2
  293. abstra_statics/dist/assets/asyncComputed.47aec2b5.js +0 -2
  294. abstra_statics/dist/assets/colorHelpers.50ced1e9.js +0 -2
  295. abstra_statics/dist/assets/constants.d569f33d.js +0 -2
  296. abstra_statics/dist/assets/contracts.generated.aefe8d0a.js +0 -2
  297. abstra_statics/dist/assets/dayjs.7f71c60a.js +0 -2
  298. abstra_statics/dist/assets/editor.02184ced.js +0 -2
  299. abstra_statics/dist/assets/editor.main.0f931e87.js +0 -2
  300. abstra_statics/dist/assets/fetch.1b3d01a0.js +0 -2
  301. abstra_statics/dist/assets/index.581e2edd.js +0 -2
  302. abstra_statics/dist/assets/index.966ac1b9.js +0 -2
  303. abstra_statics/dist/assets/index.c7a996a6.js +0 -2
  304. abstra_statics/dist/assets/index.d53182ed.js +0 -4
  305. abstra_statics/dist/assets/member.2260c37e.js +0 -2
  306. abstra_statics/dist/assets/metadata.0098e20c.js +0 -2
  307. abstra_statics/dist/assets/omniChatStore.dd7a1c46.js +0 -8
  308. abstra_statics/dist/assets/omniChatStore.ec95fb81.css +0 -1
  309. abstra_statics/dist/assets/player.4ab4aed5.js +0 -2
  310. abstra_statics/dist/assets/polling.b5a32c22.js +0 -2
  311. abstra_statics/dist/assets/redirect.586749f4.js +0 -2
  312. abstra_statics/dist/assets/repository.66c7567c.js +0 -2
  313. abstra_statics/dist/assets/router.06ee2b9d.js +0 -2
  314. abstra_statics/dist/assets/string.61e11a30.js +0 -2
  315. abstra_statics/dist/assets/tasksController.f3adf725.js +0 -4
  316. abstra_statics/dist/assets/url.f5664225.js +0 -2
  317. abstra_statics/dist/assets/useTables.18fc3efd.js +0 -2
  318. abstra_statics/dist/assets/userStore.6ab1e5ac.js +0 -2
  319. abstra_statics/dist/assets/uuid.5b8ba8af.js +0 -2
  320. abstra_statics/dist/assets/vue-flow-background.af096866.js +0 -2
  321. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/WHEEL +0 -0
  322. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/entry_points.txt +0 -0
  323. {abstra-3.24.1.dist-info → abstra-3.24.3.dist-info}/top_level.txt +0 -0
@@ -1,104 +0,0 @@
1
- from typing import Optional
2
-
3
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
4
- AdministracaoApi as TBAdministracaoApi,
5
- )
6
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
7
- ApiClient,
8
- )
9
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
10
- CobrancaApi as TBCobrancaApi,
11
- )
12
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
13
- ContaCorrenteApi as TBContaCorrenteApi,
14
- )
15
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
16
- DetranApi as TBDetranApi,
17
- )
18
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
19
- FolhaDePagamentoCadastroApi as TBFolhaDePagamentoCadastroApi,
20
- )
21
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
22
- PagamentoCadastroApi as TBPagamentoCadastroApi,
23
- )
24
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
25
- PagamentosApi as TBPagamentosApi,
26
- )
27
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
28
- PixApi as TBPixApi,
29
- )
30
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
31
- WebhooksApi as TBWebhooksApi,
32
- )
33
-
34
- from .client_factory import get_banking_api_client_factory
35
-
36
- DEFAULT_BANKING_CONNECTION_NAME = "totalbank"
37
-
38
-
39
- def _create_api_wrapper_class(base_class, class_name: str):
40
- """Create a wrapper class for the given base API class."""
41
-
42
- class ApiWrapper(base_class):
43
- def __init__(self, api_client: Optional[ApiClient] = None):
44
- if api_client is None:
45
- api_client = get_banking_api_client_factory().create_api_client(
46
- DEFAULT_BANKING_CONNECTION_NAME
47
- )
48
- super().__init__(api_client)
49
-
50
- ApiWrapper.__name__ = class_name
51
- ApiWrapper.__qualname__ = class_name
52
- return ApiWrapper
53
-
54
-
55
- # Dynamically create all API wrapper classes
56
- PixApi = _create_api_wrapper_class(TBPixApi, "PixApi")
57
- CobrancaApi = _create_api_wrapper_class(TBCobrancaApi, "CobrancaApi")
58
- AdministracaoApi = _create_api_wrapper_class(TBAdministracaoApi, "AdministracaoApi")
59
- ContaCorrenteApi = _create_api_wrapper_class(TBContaCorrenteApi, "ContaCorrenteApi")
60
- DetranApi = _create_api_wrapper_class(TBDetranApi, "DetranApi")
61
- FolhaDePagamentoCadastroApi = _create_api_wrapper_class(
62
- TBFolhaDePagamentoCadastroApi, "FolhaDePagamentoCadastroApi"
63
- )
64
- PagamentoCadastroApi = _create_api_wrapper_class(
65
- TBPagamentoCadastroApi, "PagamentoCadastroApi"
66
- )
67
- PagamentosApi = _create_api_wrapper_class(TBPagamentosApi, "PagamentosApi")
68
- WebhooksApi = _create_api_wrapper_class(TBWebhooksApi, "WebhooksApi")
69
-
70
-
71
- class BankingApi:
72
- def __init__(self, connection_name: str = DEFAULT_BANKING_CONNECTION_NAME):
73
- self._connection_name = connection_name
74
- self._api_client = get_banking_api_client_factory().create_api_client(
75
- connection_name
76
- )
77
- self._initialize_apis()
78
-
79
- def _initialize_apis(self) -> None:
80
- self.pix = PixApi(api_client=self._api_client)
81
- self.cobranca = CobrancaApi(api_client=self._api_client)
82
- self.administracao = AdministracaoApi(api_client=self._api_client)
83
- self.conta_corrente = ContaCorrenteApi(api_client=self._api_client)
84
- self.detran = DetranApi(api_client=self._api_client)
85
- self.folha_de_pagamento_cadastro = FolhaDePagamentoCadastroApi(
86
- api_client=self._api_client
87
- )
88
- self.pagamento_cadastro = PagamentoCadastroApi(api_client=self._api_client)
89
- self.pagamentos = PagamentosApi(api_client=self._api_client)
90
- self.webhooks = WebhooksApi(api_client=self._api_client)
91
-
92
- @property
93
- def connection_name(self) -> str:
94
- return self._connection_name
95
-
96
- @property
97
- def api_client(self) -> ApiClient:
98
- return self._api_client
99
-
100
-
101
- def get_banking_api(
102
- connection_name: str = DEFAULT_BANKING_CONNECTION_NAME,
103
- ) -> BankingApi:
104
- return BankingApi(connection_name=connection_name)
@@ -1,70 +0,0 @@
1
- import abc
2
- import logging
3
-
4
- from abstra_internals.credentials import get_credentials
5
- from abstra_internals.environment import (
6
- CLOUD_API_ENDPOINT,
7
- CLOUD_API_PROD_SHARED_TOKEN,
8
- IS_PRODUCTION,
9
- )
10
- from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import (
11
- ApiClient,
12
- Configuration,
13
- )
14
-
15
- logger = logging.getLogger(__name__)
16
-
17
-
18
- class BankingApiClientFactory(abc.ABC):
19
- @abc.abstractmethod
20
- def create_api_client(self, connection_name: str) -> ApiClient:
21
- pass
22
-
23
- def _set_common_headers(self, client: ApiClient) -> None:
24
- client.set_default_header("Content-Type", "application/json")
25
- client.set_default_header("Accept", "application/json")
26
-
27
-
28
- class LocalBankingApiClientFactory(BankingApiClientFactory):
29
- def create_api_client(self, connection_name: str) -> ApiClient:
30
- host = (
31
- f"{CLOUD_API_ENDPOINT}/cli/connectors/connection/{connection_name}/banking"
32
- )
33
-
34
- config = Configuration(host=host)
35
- client = ApiClient(configuration=config)
36
-
37
- self._set_auth_header(client)
38
- self._set_common_headers(client)
39
-
40
- return client
41
-
42
- def _set_auth_header(self, client: ApiClient) -> None:
43
- try:
44
- credentials = get_credentials()
45
- if credentials:
46
- client.set_default_header("Api-Authorization", f"Bearer {credentials}")
47
- except Exception as e:
48
- logger.warning(f"Failed to load credentials for local environment: {e}")
49
- # Continue without Bearer auth - this is expected in some environments
50
-
51
-
52
- class ProductionBankingApiClientFactory(BankingApiClientFactory):
53
- def create_api_client(self, connection_name: str) -> ApiClient:
54
- host = (
55
- f"{CLOUD_API_ENDPOINT}/cli/connectors/connection/{connection_name}/banking"
56
- )
57
- config = Configuration(host=host)
58
- client = ApiClient(configuration=config)
59
-
60
- client.set_default_header("shared-token", CLOUD_API_PROD_SHARED_TOKEN)
61
- self._set_common_headers(client)
62
-
63
- return client
64
-
65
-
66
- def get_banking_api_client_factory() -> BankingApiClientFactory:
67
- if IS_PRODUCTION:
68
- return ProductionBankingApiClientFactory()
69
- else:
70
- return LocalBankingApiClientFactory()
File without changes
@@ -1,383 +0,0 @@
1
- import json
2
- import os
3
- import shutil
4
- import subprocess
5
- import unicodedata
6
- from pathlib import Path
7
-
8
-
9
- def sanitize_openapi_json():
10
- print("🔧 Sanitizando o arquivo OpenAPI JSON...")
11
-
12
- with open("totalbank_openapi.json", "r", encoding="utf-8") as f:
13
- openapi_spec = json.load(f)
14
-
15
- def normalize_text(text):
16
- if not isinstance(text, str):
17
- return text
18
- normalized = unicodedata.normalize("NFKD", text)
19
- ascii_text = normalized.encode("ascii", "ignore").decode("ascii")
20
- return ascii_text
21
-
22
- def is_path_parameter_context(obj, parent_key, grandparent_obj):
23
- if (
24
- parent_key == "parameters"
25
- and isinstance(grandparent_obj, dict)
26
- and isinstance(obj, dict)
27
- and obj.get("in") == "path"
28
- ):
29
- return True
30
- return False
31
-
32
- def sanitize_tags_recursive(obj, parent_key=None):
33
- if isinstance(obj, dict):
34
- if parent_key == "tags" and isinstance(obj, list):
35
- return [normalize_text(tag) for tag in obj]
36
- elif "tags" in obj and isinstance(obj["tags"], list):
37
- obj["tags"] = [normalize_text(tag) for tag in obj["tags"]]
38
-
39
- for key, value in obj.items():
40
- if isinstance(value, list) and key == "tags":
41
- obj[key] = [normalize_text(tag) for tag in value]
42
- else:
43
- sanitize_tags_recursive(value, key)
44
-
45
- elif isinstance(obj, list):
46
- if parent_key == "tags":
47
- return [normalize_text(item) for item in obj]
48
- for item in obj:
49
- sanitize_tags_recursive(item, parent_key)
50
-
51
- def remove_constraints_recursive(obj, parent_key=None, grandparent_obj=None):
52
- if isinstance(obj, dict):
53
- obj.pop("maxLength", None)
54
- obj.pop("enum", None)
55
-
56
- if "required" in obj and not is_path_parameter_context(
57
- obj, parent_key, grandparent_obj
58
- ):
59
- obj.pop("required", None)
60
-
61
- for key, value in obj.items():
62
- remove_constraints_recursive(value, key, obj)
63
-
64
- elif isinstance(obj, list):
65
- for item in obj:
66
- remove_constraints_recursive(item, parent_key, grandparent_obj)
67
-
68
- sanitize_tags_recursive(openapi_spec)
69
-
70
- remove_constraints_recursive(openapi_spec)
71
-
72
- sanitized_file = "totalbank_openapi_sanitized.json"
73
- with open(sanitized_file, "w", encoding="utf-8") as f:
74
- json.dump(openapi_spec, f, indent=2, ensure_ascii=False)
75
-
76
- print(f"✅ Arquivo sanitizado salvo como: {sanitized_file}")
77
- print(" - Removidos: maxLength, enum e required")
78
- print(" - Tags sanitizadas: caracteres especiais removidos (ç→c, ã→a, etc.)")
79
- return sanitized_file
80
-
81
-
82
- def generate_api_client(sanitized_file: str):
83
- print("🚀 Gerando cliente da API usando openapi-generator...")
84
-
85
- output_dir = "totalbank_generated_sdk"
86
-
87
- if os.path.exists(output_dir):
88
- print(f"🗑️ Removendo diretório existente: {output_dir}")
89
- shutil.rmtree(output_dir)
90
-
91
- cmd = [
92
- "openapi-generator",
93
- "generate",
94
- "-i",
95
- sanitized_file,
96
- "-g",
97
- "python",
98
- "-o",
99
- output_dir,
100
- "--package-name",
101
- "totalbank_client",
102
- "--additional-properties",
103
- "setEnsureAsciiToFalse=true",
104
- ]
105
-
106
- try:
107
- print(f"📦 Executando: {' '.join(cmd)}")
108
- subprocess.run(cmd, check=True, capture_output=True, text=True)
109
- print("✅ Cliente da API gerado com sucesso!")
110
-
111
- if os.path.exists(output_dir):
112
- files = list(Path(output_dir).rglob("*.py"))
113
- print(f"📁 Gerados {len(files)} arquivos Python em {output_dir}/")
114
-
115
- except subprocess.CalledProcessError as e:
116
- print("❌ Erro ao gerar cliente da API:")
117
- print(f"Código de saída: {e.returncode}")
118
- print(f"Stdout: {e.stdout}")
119
- print(f"Stderr: {e.stderr}")
120
- raise
121
- except FileNotFoundError:
122
- print("❌ openapi-generator não encontrado!")
123
- print("Instale com: npm install -g @openapitools/openapi-generator-cli")
124
- print("Ou baixe de: https://openapi-generator.tech/docs/installation")
125
- raise
126
-
127
-
128
- def fix_imports_in_file(file_path: Path):
129
- try:
130
- with open(file_path, "r", encoding="utf-8") as f:
131
- content = f.read()
132
-
133
- modified = False
134
-
135
- if "from totalbank_client." in content:
136
- content = content.replace(
137
- "from totalbank_client.",
138
- "from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client.",
139
- )
140
- modified = True
141
-
142
- if "import totalbank_client.models" in content:
143
- content = content.replace(
144
- "import totalbank_client.models",
145
- "import abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client.models",
146
- )
147
- modified = True
148
-
149
- if "from totalbank_client import" in content:
150
- content = content.replace(
151
- "from totalbank_client import",
152
- "from abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client import",
153
- )
154
- modified = True
155
-
156
- import re
157
-
158
- pattern = r"\btotalbank_client\.models\."
159
- if re.search(pattern, content):
160
- content = re.sub(
161
- pattern,
162
- "abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client.models.",
163
- content,
164
- )
165
- modified = True
166
-
167
- if "import totalbank_client\n" in content:
168
- content = content.replace(
169
- "import totalbank_client\n",
170
- "import abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client\n",
171
- )
172
- modified = True
173
-
174
- full_models_import = "import abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client.models"
175
- if (
176
- full_models_import in content
177
- and "getattr(totalbank_client.models" in content
178
- ):
179
- content = content.replace(
180
- full_models_import, f"{full_models_import} as totalbank_client_models"
181
- )
182
- content = content.replace(
183
- "getattr(totalbank_client.models,", "getattr(totalbank_client_models,"
184
- )
185
- modified = True
186
-
187
- if (
188
- "abstra_internals.services.banking.sdk.totalbank_generated_sdk.abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client"
189
- in content
190
- ):
191
- content = content.replace(
192
- "abstra_internals.services.banking.sdk.totalbank_generated_sdk.abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client",
193
- "abstra_internals.services.banking.sdk.totalbank_generated_sdk.totalbank_client",
194
- )
195
- modified = True
196
-
197
- if modified:
198
- with open(file_path, "w", encoding="utf-8") as f:
199
- f.write(content)
200
-
201
- print(f" ✅ Imports corrigidos em: {file_path.name}")
202
- return True
203
-
204
- return False
205
-
206
- except Exception as e:
207
- print(f" ❌ Erro ao corrigir imports em {file_path.name}: {e}")
208
- return False
209
-
210
-
211
- def apply_custom_modifications():
212
- print("🔨 Aplicando modificações customizadas...")
213
-
214
- output_dir = Path("totalbank_generated_sdk")
215
-
216
- if not output_dir.exists():
217
- print("⚠️ Diretório do SDK não encontrado, pulando modificações.")
218
- return
219
-
220
- def cleanup_unnecessary_files():
221
- print("🧹 Removendo arquivos desnecessários do SDK...")
222
-
223
- keep_items = {"totalbank_client"} # Will add docs and tests later
224
-
225
- removed_count = 0
226
- for item in output_dir.iterdir():
227
- if item.name not in keep_items:
228
- try:
229
- if item.is_file():
230
- item.unlink()
231
- print(f" 🗑️ Removido arquivo: {item.name}")
232
- removed_count += 1
233
- elif item.is_dir():
234
- shutil.rmtree(item)
235
- print(f" 🗑️ Removido diretório: {item.name}/")
236
- removed_count += 1
237
- except Exception as e:
238
- print(f" ⚠️ Erro ao remover {item.name}: {e}")
239
-
240
- print(f"📦 Removidos {removed_count} itens desnecessários")
241
-
242
- def fix_imports_in_generated_files():
243
- print("🔧 Corrigindo imports nos arquivos gerados...")
244
-
245
- python_files = list(output_dir.rglob("*.py"))
246
- modified_files = 0
247
-
248
- for py_file in python_files:
249
- if fix_imports_in_file(py_file):
250
- modified_files += 1
251
-
252
- print(
253
- f"📝 Imports corrigidos em {modified_files} de {len(python_files)} arquivos."
254
- )
255
-
256
- def format_code_with_ruff():
257
- print("🎨 Formatando código com ruff...")
258
-
259
- # Find the project root (abstra-lib directory)
260
- current_dir = Path.cwd()
261
- project_root = None
262
-
263
- # Navigate up the directory tree to find the project root
264
- check_dir = current_dir
265
- while check_dir.parent != check_dir: # While not at filesystem root
266
- if (check_dir / "ruff.toml").exists() or (
267
- check_dir / "pyproject.toml"
268
- ).exists():
269
- project_root = check_dir
270
- break
271
- check_dir = check_dir.parent
272
-
273
- if not project_root:
274
- # Fallback: assume we're in the banking directory and go up to abstra-lib
275
- banking_dir = Path(__file__).parent
276
- project_root = banking_dir.parent.parent.parent # Go up to abstra-lib
277
-
278
- print(f"📍 Projeto root detectado: {project_root}")
279
-
280
- try:
281
- # Change to project root and run ruff commands
282
- original_cwd = os.getcwd()
283
-
284
- try:
285
- os.chdir(project_root)
286
-
287
- print(" 🔍 Executando ruff format...")
288
- result = subprocess.run(
289
- ["ruff", "format", "."], capture_output=True, text=True, check=False
290
- )
291
- if result.returncode != 0:
292
- print(f" ⚠️ ruff format retornou código {result.returncode}")
293
- if result.stderr:
294
- print(f" Erro: {result.stderr}")
295
-
296
- print(" 🔍 Executando ruff check --select I --fix...")
297
- result = subprocess.run(
298
- ["ruff", "check", ".", "--select", "I", "--fix"],
299
- capture_output=True,
300
- text=True,
301
- check=False,
302
- )
303
- if result.returncode != 0:
304
- print(f" ⚠️ ruff check I retornou código {result.returncode}")
305
- if result.stderr:
306
- print(f" Erro: {result.stderr}")
307
-
308
- print(" 🔍 Executando ruff check --fix --unsafe-fixes...")
309
- result = subprocess.run(
310
- ["ruff", "check", ".", "--fix", "--unsafe-fixes"],
311
- capture_output=True,
312
- text=True,
313
- check=False,
314
- )
315
- if result.returncode != 0:
316
- print(f" ⚠️ ruff check retornou código {result.returncode}")
317
- if result.stderr:
318
- print(f" Erro: {result.stderr}")
319
-
320
- print("✅ Formatação com ruff concluída")
321
-
322
- finally:
323
- # Restore original working directory
324
- os.chdir(original_cwd)
325
-
326
- except FileNotFoundError:
327
- print(" ⚠️ ruff não encontrado. Certifique-se de que está instalado.")
328
- print(" Para instalar: pip install ruff")
329
- except Exception as e:
330
- print(f" ❌ Erro ao executar ruff: {e}")
331
-
332
- cleanup_unnecessary_files()
333
- fix_imports_in_generated_files()
334
- format_code_with_ruff()
335
-
336
- print("✅ Modificações customizadas aplicadas com sucesso!")
337
-
338
-
339
- def cleanup_temporary_files():
340
- print("🧹 Limpando arquivos temporários...")
341
-
342
- temp_files = ["totalbank_openapi_sanitized.json"]
343
- for temp_file in temp_files:
344
- if os.path.exists(temp_file):
345
- os.remove(temp_file)
346
- print(f"🗑️ Removido: {temp_file}")
347
-
348
-
349
- def main():
350
- print("🎯 Iniciando geração da API TotalBank")
351
- print("=" * 50)
352
-
353
- try:
354
- if not os.path.exists("totalbank_openapi.json"):
355
- print("❌ Arquivo totalbank_openapi.json não encontrado!")
356
- print("Certifique-se de estar no diretório correto.")
357
- print(
358
- "Se o arquivo não estiver baixado, crie-o a partir de: https://api.totalbank.com.br/rest/openapi.json"
359
- )
360
- return 1
361
-
362
- sanitized_file = sanitize_openapi_json()
363
-
364
- generate_api_client(sanitized_file)
365
-
366
- apply_custom_modifications()
367
-
368
- cleanup_temporary_files()
369
-
370
- print("=" * 50)
371
- print("🎉 Geração da API TotalBank concluída com sucesso!")
372
- print("📁 Cliente gerado em: totalbank_generated_sdk/")
373
-
374
- return 0
375
-
376
- except Exception as e:
377
- print(f"❌ Erro durante a geração: {e}")
378
- cleanup_temporary_files()
379
- return 1
380
-
381
-
382
- if __name__ == "__main__":
383
- exit(main())
@@ -1,2 +0,0 @@
1
- import{d as y,c as b,o as r,a as d,b as a,f as l,u as n,dc as i,a7 as p,h as u,eA as f,eB as g,bR as c,aV as m,e6 as B}from"./jwt-decode.esm.54a1ea22.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]="c588ab3b-496f-48e0-91cb-558138352ad4",t._sentryDebugIdIdentifier="sentry-dbid-c588ab3b-496f-48e0-91cb-558138352ad4")}catch{}})();const h=y({__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,_)=>s.value?(r(),d(n(m),{key:0,title:s.value},{default:a(()=>[l(n(c),f(g(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(c),f(B({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.aefce2d3.js.map
@@ -1,2 +0,0 @@
1
- import{L as a}from"./Logo.65e0b37c.js";import{d as n,o as r,a as d,u as f}from"./jwt-decode.esm.54a1ea22.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]="bb4148b5-0ccc-4f52-bf1c-4784a5b017f7",e._sentryDebugIdIdentifier="sentry-dbid-bb4148b5-0ccc-4f52-bf1c-4784a5b017f7")}catch{}})();const i="/assets/logo.0faadfa2.svg",l=n({__name:"AbstraLogo",props:{hideText:{type:Boolean},size:{}},setup(e){return(s,t)=>{var o;return r(),d(a,{"image-url":f(i),"brand-name":"Abstra","hide-text":s.hideText,size:(o=s.size)!=null?o:"small"},null,8,["image-url","hide-text","size"])}}});export{l as _};
2
- //# sourceMappingURL=AbstraLogo.vue_vue_type_script_setup_true_lang.28bc9fc9.js.map
@@ -1,2 +0,0 @@
1
- import{C as b}from"./CrudView.cc6aeaf0.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,d7 as D,g as y,d8 as M,ed as j,M as N,ee as K,en as T}from"./jwt-decode.esm.54a1ea22.js";import{a as V}from"./asyncComputed.47aec2b5.js";import{A as c}from"./apiKey.403049eb.js";import"./router.4dfadf5d.js";import{M as B}from"./member.2260c37e.js";import{a as E}from"./project.1b8374f4.js";import"./tables.1bcb1140.js";import"./DocsButton.vue_vue_type_script_setup_true_lang.689d8ce7.js";import"./constants.d569f33d.js";import"./url.f5664225.js";import"./PhDotsThreeVertical.vue.5e8ae2a9.js";import"./index.966ac1b9.js";import"./index.c7a996a6.js";import"./record.e83a2eb2.js";import"./string.61e11a30.js";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},o=new Error().stack;o&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[o]="f8aed912-fe61-478a-8ac6-9f7c3c2684e4",n._sentryDebugIdIdentifier="sentry-dbid-f8aed912-fe61-478a-8ac6-9f7c3c2684e4")}catch{}})();const ee=_({__name:"ApiKeys",setup(n){const o=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(a=>({apiKey:a,member:t.find(r=>r.authorId===a.ownerId)})))),A=async e=>{const t=await c.create({projectId:s,name:e.name});u(),o.value=t.value},w=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:a,member:r})=>{var m;return{key:a.id,cells:[{type:"text",text:a.name},{type:"text",text:K(a.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,a.id),u()}}]}]}}))!=null?t:[]}});return(e,t)=>(h(),C(P,null,[l(b,{"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:w.value,fields:p,create:A},null,8,["loading","table"]),l(i(N),{open:!!o.value,title:"Api key generated",onCancel:t[0]||(t[0]=a=>o.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(o.value),1)]),_:1})]),_:1},8,["open"])],64))}});export{ee as default};
2
- //# sourceMappingURL=ApiKeys.3c1e70dc.js.map
@@ -1,2 +0,0 @@
1
- import"./App.vue_vue_type_style_index_0_lang.a64c7cee.js";import{_ as u}from"./App.vue_vue_type_style_index_0_lang.a64c7cee.js";import"./userStore.6ab1e5ac.js";import"./jwt-decode.esm.54a1ea22.js";import"./PlayerConfigProvider.28e29025.js";import"./colorHelpers.50ced1e9.js";import"./workspaceStore.fac1e9a9.js";import"./url.f5664225.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]="a11720fa-9fb2-4198-8e2f-e3c674dda0d6",e._sentryDebugIdIdentifier="sentry-dbid-a11720fa-9fb2-4198-8e2f-e3c674dda0d6")}catch{}})();export{u as default};
2
- //# sourceMappingURL=App.9d8bd2aa.js.map
@@ -1,2 +0,0 @@
1
- import{u as r}from"./userStore.6ab1e5ac.js";import{W as n}from"./PlayerConfigProvider.28e29025.js";import{u as c}from"./workspaceStore.fac1e9a9.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.54a1ea22.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]="ee7006ed-602e-439e-8952-dd701245cec5",t._sentryDebugIdIdentifier="sentry-dbid-ee7006ed-602e-439e-8952-dd701245cec5")}catch{}})();const v=d({__name:"App",setup(t){const a=r(),e=c();return e.actions.fetch(),i(()=>a.jwt,e.actions.fetch),(w,y)=>{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.a64c7cee.js.map
@@ -1,2 +0,0 @@
1
- import{_ as c,o,a5 as n,a7 as s,e as d,h as a}from"./jwt-decode.esm.54a1ea22.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]="ef9503a1-51b2-4cc3-82e2-5e8e8619e7c4",e._sentryDebugIdIdentifier="sentry-dbid-ef9503a1-51b2-4cc3-82e2-5e8e8619e7c4")}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.72a6c8f2.js.map
@@ -1,2 +0,0 @@
1
- import{a as _}from"./asyncComputed.47aec2b5.js";import{d as w,eb as b,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,dc as c,e as N}from"./jwt-decode.esm.54a1ea22.js";import{o as g,c as v}from"./router.4dfadf5d.js";import{a as z}from"./organization.668d1b58.js";import"./tables.1bcb1140.js";import{L as B}from"./LoadingContainer.82ac3d44.js";import"./index.c7a996a6.js";import"./record.e83a2eb2.js";import"./string.61e11a30.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]="367805d2-6929-40d5-a144-fd0bef050e88",a._sentryDebugIdIdentifier="sentry-dbid-367805d2-6929-40d5-a144-fd0bef050e88")}catch{}})();const D={key:1},U=["src"],J=w({__name:"Billing",setup(a){const u=b().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.6b07f282.js.map
@@ -1 +0,0 @@
1
- .instructions[data-v-9615f578]{display:flex;flex-direction:column}.instructions pre[data-v-9615f578]{text-align:left}
@@ -1,2 +0,0 @@
1
- import{C as H}from"./CrudView.cc6aeaf0.js";import{d as $,am as P,c as x,o as c,a5 as b,a7 as q,h as _,e6 as U,e as C,f as u,e7 as z,f3 as J,e5 as Q,a as f,b as i,u as r,bP as W,bx as Y,bw as X,d8 as k,g as y,ed as h,cv as K,eb as ee,J as te,I as re,r as ae,aR as le,aV as ne,cL as oe,d7 as ie,a6 as se,d2 as ue,S as ce,M as de,ee as pe,_ as fe}from"./jwt-decode.esm.54a1ea22.js";import{a as N}from"./asyncComputed.47aec2b5.js";import{g as me}from"./datetime.82608dfb.js";import{u as ge}from"./polling.b5a32c22.js";import{G as ye}from"./PhArrowCounterClockwise.vue.78877a50.js";import{H as he}from"./PhCube.vue.abf4a034.js";import{G as ve}from"./PhDownloadSimple.vue.e88f64f1.js";import{f as be,e as _e,r as ke}from"./router.4dfadf5d.js";import{a as Ce,B as Ae}from"./build.45b511b6.js";import{a as Oe}from"./project.1b8374f4.js";import"./tables.1bcb1140.js";import{G as we}from"./PhClockCounterClockwise.vue.854c3cb5.js";import{F as xe,G as Se,I as Pe}from"./PhUserList.vue.e0b8c21b.js";import{G as Ze}from"./PhWebhooksLogo.vue.d164db1e.js";import{A as Z}from"./index.966ac1b9.js";import{E as Me}from"./ExclamationCircleOutlined.d0aa47da.js";import{C as Ie}from"./CloseCircleOutlined.9ff269cc.js";import{L as j}from"./LoadingOutlined.66639b08.js";import"./DocsButton.vue_vue_type_script_setup_true_lang.689d8ce7.js";import"./constants.d569f33d.js";import"./url.f5664225.js";import"./PhDotsThreeVertical.vue.5e8ae2a9.js";import"./index.c7a996a6.js";import"./record.e83a2eb2.js";import"./string.61e11a30.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]="9959596e-23f2-4ee7-9146-189f78594c4c",l._sentryDebugIdIdentifier="sentry-dbid-9959596e-23f2-4ee7-9146-189f78594c4c")}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},Le=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),Ne=[Le],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}),v=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(),b("svg",U({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",width:w.value,height:w.value,fill:v.value,transform:A.value},m.$attrs),[q(m.$slots,"default"),p.value==="bold"?(c(),b("g",Ve,Ne)):p.value==="duotone"?(c(),b("g",Ee,Fe)):p.value==="fill"?(c(),b("g",Re,qe)):p.value==="light"?(c(),b("g",Ue,Qe)):p.value==="regular"?(c(),b("g",We,Xe)):p.value==="thin"?(c(),b("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(be),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(h(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y("/"+h(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(h(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y(h(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(h(p.title),1)]),_:2},1024),u(r(k),{type:"secondary",code:""},{default:i(()=>[y("/_hooks/"+h(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(h(p.title),1)]),_:2},1024)]),_:2},1024)):_("",!0)]),_:2},1024)]),_:1},8,["data-source"])):(c(),b("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}=N(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 v=ae(null),A=N(async()=>v.value?await Ae.get(v.value):null),m=()=>{var n;const t=(n=s.value)==null?void 0:n.b.find(g=>g.build.id===v.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,L;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:(L=t.build.log)!=null?L: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:he,label:"Inspect version",onClick:async()=>{v.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:ve,label:"Download files",onClick:()=>o.build.download()}]}]}})}:{columns:t,rows:[]}});return(t,o)=>(c(),b(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(h(n.distance),1)]),default:i(()=>[y(h(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(" "+h(n.text),1)]),_:2},1032,["color","style"])):_("",!0)]),_:2},1032,["open"])]),_:1},8,["loading","table"]),v.value?(c(),f(r(de),{key:0,footer:null,open:!!v.value,size:"large",width:"80%",title:m(),onCancel:o[0]||(o[0]=n=>v.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.d8c5c61b.js.map
@@ -1,2 +0,0 @@
1
- import{f as o,e7 as a,e_ as u}from"./jwt-decode.esm.54a1ea22.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]="8242415e-3f0c-4582-ac88-25433713ca56",e._sentryDebugIdIdentifier="sentry-dbid-8242415e-3f0c-4582-ac88-25433713ca56")}catch{}})();function c(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?Object(arguments[t]):{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),n.forEach(function(i){f(e,i,r[i])})}return e}function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var l=function(t,r){var n=c({},t,r.attrs);return o(a,c({},n,{icon:u}),null)};l.displayName="CloseCircleOutlined";l.inheritAttrs=!1;const d=l;export{d as C};
2
- //# sourceMappingURL=CloseCircleOutlined.9ff269cc.js.map
@@ -1 +0,0 @@
1
- .connector-card[data-v-f5866f99]{cursor:pointer;transition:all .3s;&[data-v-f5866f99]:hover{box-shadow:0 0 15px #0000001a}&.unavailable[data-v-f5866f99]{opacity:.7;&[data-v-f5866f99]:hover{box-shadow:none}}}.connectors-grid[data-v-b74745a5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}