orcaq 1.1.4 → 1.1.6

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 (339) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/27ZsWTm2.js +1 -0
  3. package/.output/public/_nuxt/{e04t7nee.js → 3jfBYqJb.js} +1 -1
  4. package/.output/public/_nuxt/{DZ9fd-xA.js → 4LC09zKL.js} +1 -1
  5. package/.output/public/_nuxt/4OV_5qQE.js +1 -0
  6. package/.output/public/_nuxt/6NXhlm49.js +1 -0
  7. package/.output/public/_nuxt/6wO6CbCo.js +1 -0
  8. package/.output/public/_nuxt/{BqZGP9WI.js → 7nPLTDFM.js} +1 -1
  9. package/.output/public/_nuxt/B10QBDL6.js +1 -0
  10. package/.output/public/_nuxt/{DaiufW99.js → B3iNzG14.js} +1 -1
  11. package/.output/public/_nuxt/B5HZeat4.js +1 -0
  12. package/.output/public/_nuxt/B5rxJs06.js +1 -0
  13. package/.output/public/_nuxt/{DdW7QNKl.js → BAasx5OS.js} +1 -1
  14. package/.output/public/_nuxt/{DHnV-0Qj.js → BCa-NKh0.js} +1 -1
  15. package/.output/public/_nuxt/{CxSk31iP.js → BCazdlgN.js} +1 -1
  16. package/.output/public/_nuxt/{DQCTvlJf.js → BEvswgw7.js} +1 -1
  17. package/.output/public/_nuxt/{DmpCN34M.js → BJ8qQpib.js} +1 -1
  18. package/.output/public/_nuxt/{_Od8x2z5.js → BJoSd_uV.js} +1 -1
  19. package/.output/public/_nuxt/BKAEFZqP.js +1 -0
  20. package/.output/public/_nuxt/BTvOPFKG.js +1 -0
  21. package/.output/public/_nuxt/{g4lEPr__.js → BWg3wiuc.js} +3 -3
  22. package/.output/public/_nuxt/{xoY3RXI7.js → B_hWP06g.js} +1 -1
  23. package/.output/public/_nuxt/{DKhuBYhy.js → Bap1X7GD.js} +1 -1
  24. package/.output/public/_nuxt/{DynamicTable.B3c2woGb.css → BaseDataGrid.C2ywM2-T.css} +1 -1
  25. package/.output/public/_nuxt/{B_J4rjuT.js → BbLqUOHs.js} +1 -1
  26. package/.output/public/_nuxt/{BdaSWOzD.js → BbawOYVr.js} +1 -1
  27. package/.output/public/_nuxt/Bf2bW_MY.js +7 -0
  28. package/.output/public/_nuxt/{BxdkXfb_.js → Bgj8Q52i.js} +1 -1
  29. package/.output/public/_nuxt/BhzzQZRC.js +1 -0
  30. package/.output/public/_nuxt/{CwgI7YXL.js → Bibtvqd8.js} +1 -1
  31. package/.output/public/_nuxt/{BYY9MB0h.js → BmEIj9l9.js} +1 -1
  32. package/.output/public/_nuxt/BnZ5qYkP.js +39 -0
  33. package/.output/public/_nuxt/BoUZO_NV.js +1 -0
  34. package/.output/public/_nuxt/Bok35x_B.js +1 -0
  35. package/.output/public/_nuxt/{D65Keo_g.js → BuSZbOQO.js} +1 -1
  36. package/.output/public/_nuxt/BusLuQ4Q.js +1 -0
  37. package/.output/public/_nuxt/{DryPPXlb.js → BxZgIpkD.js} +1 -1
  38. package/.output/public/_nuxt/{C5zTeLKh.js → C4-wpUAK.js} +1 -1
  39. package/.output/public/_nuxt/{ziSTJBFH.js → C445d10Z.js} +1 -1
  40. package/.output/public/_nuxt/{2XEGje4L.js → C6CFIGob.js} +1 -1
  41. package/.output/public/_nuxt/{CYaqLaPZ.js → C6bwwZAc.js} +1 -1
  42. package/.output/public/_nuxt/C7C1kq_N.js +1 -0
  43. package/.output/public/_nuxt/{DijSUoYv.js → C9ZBCJdc.js} +1 -1
  44. package/.output/public/_nuxt/{BQFJwqXj.js → CBjcd4cE.js} +1 -1
  45. package/.output/public/_nuxt/{DKJfWiWm.js → CCK1so3F.js} +1 -1
  46. package/.output/public/_nuxt/CCOlJAKS.js +2 -0
  47. package/.output/public/_nuxt/{C6yADG7D.js → CE0zlNDo.js} +1 -1
  48. package/.output/public/_nuxt/CEoM97rJ.js +1 -0
  49. package/.output/public/_nuxt/CHAVZu6b.js +2 -0
  50. package/.output/public/_nuxt/CN8b9qPP.js +1 -0
  51. package/.output/public/_nuxt/{DYqNroD1.js → CNPNWuzz.js} +1 -1
  52. package/.output/public/_nuxt/{DEsdpKnm.js → CO0Pa76w.js} +1 -1
  53. package/.output/public/_nuxt/CP-7VdtS.js +1 -0
  54. package/.output/public/_nuxt/{MC96ynYQ.js → CROH8wgk.js} +1 -1
  55. package/.output/public/_nuxt/CUws2Uv7.js +1 -0
  56. package/.output/public/_nuxt/CZLVBTJx.js +1 -0
  57. package/.output/public/_nuxt/{BqjMHuu8.js → Cf6n9dsT.js} +1 -1
  58. package/.output/public/_nuxt/{BWphy0Pi.js → Ci7hrFNN.js} +1 -1
  59. package/.output/public/_nuxt/{BVl8VKr5.js → Cl3VX8Um.js} +1 -1
  60. package/.output/public/_nuxt/Cl5p4EQY.js +1 -0
  61. package/.output/public/_nuxt/CnQob-tn.js +1 -0
  62. package/.output/public/_nuxt/{u7qmw6wa.js → CoQ_oOia.js} +2 -2
  63. package/.output/public/_nuxt/CoX1_N4R.js +1 -0
  64. package/.output/public/_nuxt/CvDZBOay.js +1 -0
  65. package/.output/public/_nuxt/{CFOJLBf2.js → Cvkyd5iW.js} +1 -1
  66. package/.output/public/_nuxt/D29mzs5t.js +1 -0
  67. package/.output/public/_nuxt/D9MMtvTu.js +52 -0
  68. package/.output/public/_nuxt/{-lZvfnzr.js → D9Ycznwo.js} +1 -1
  69. package/.output/public/_nuxt/{C2kyA9ZS.js → DDsaDrGo.js} +1 -1
  70. package/.output/public/_nuxt/{5cKDQgbQ.js → DHyymmeR.js} +1 -1
  71. package/.output/public/_nuxt/{Bp1mKnR0.js → DLA-ioQ4.js} +1 -1
  72. package/.output/public/_nuxt/DM8LJTsg.js +1 -0
  73. package/.output/public/_nuxt/{Ef-1UUMy.js → DP6Az3fC.js} +1 -1
  74. package/.output/public/_nuxt/{DNpk_jbU.js → DRX1aIGD.js} +1 -1
  75. package/.output/public/_nuxt/{DDS9xPxH.js → DViCRsmA.js} +1 -1
  76. package/.output/public/_nuxt/{CmzTcheK.js → DYPm3mWQ.js} +1 -1
  77. package/.output/public/_nuxt/{BXp87mMj.js → DYqShb5v.js} +4 -4
  78. package/.output/public/_nuxt/DZFq5yqu.js +1 -0
  79. package/.output/public/_nuxt/DZVfXu09.js +1 -0
  80. package/.output/public/_nuxt/{DT4w6IwV.js → Dd89Vyx8.js} +1 -1
  81. package/.output/public/_nuxt/DdbhVPqD.js +1 -0
  82. package/.output/public/_nuxt/{l12ZvGEh.js → DeVs4gEL.js} +1 -1
  83. package/.output/public/_nuxt/{D9SUnmGh.js → Df4wU3r0.js} +1 -1
  84. package/.output/public/_nuxt/{BfSmOVMj.js → DgGwe7jd.js} +180 -180
  85. package/.output/public/_nuxt/DlymFQ5D.js +26 -0
  86. package/.output/public/_nuxt/DoNLWeqB.js +20 -0
  87. package/.output/public/_nuxt/Dpm6rnHk.js +1 -0
  88. package/.output/public/_nuxt/DsPClaxV.js +1 -0
  89. package/.output/public/_nuxt/DtOg0Asw.js +1 -0
  90. package/.output/public/_nuxt/DyDU0wFf.js +1 -0
  91. package/.output/public/_nuxt/{CRX1CszZ.js → EZ0owjER.js} +1 -1
  92. package/.output/public/_nuxt/F8eHh68O.js +9 -0
  93. package/.output/public/_nuxt/{bpGjU0QQ.js → FHx3Ejt6.js} +1 -1
  94. package/.output/public/_nuxt/{default.B0xlD4Sl.css → FileTree.CtTH3U6l.css} +1 -1
  95. package/.output/public/_nuxt/G40WRC_L.js +1 -0
  96. package/.output/public/_nuxt/{N6_KTIJr.js → Lh0RfwhV.js} +1 -1
  97. package/.output/public/_nuxt/NMm6Vanu.js +1 -0
  98. package/.output/public/_nuxt/ORit_vRp.js +1 -0
  99. package/.output/public/_nuxt/P_2SRa71.js +2 -0
  100. package/.output/public/_nuxt/PreviewRelationTable.BA0i90jA.css +1 -0
  101. package/.output/public/_nuxt/{HP3PGEjt.js → Un5zjlKE.js} +1 -1
  102. package/.output/public/_nuxt/W-4KVxy4.js +22 -0
  103. package/.output/public/_nuxt/XETGYn3c.js +1 -0
  104. package/.output/public/_nuxt/{BlRPNODF.js → ZNDxw-7x.js} +1 -1
  105. package/.output/public/_nuxt/ZVYA9HBl.js +1 -0
  106. package/.output/public/_nuxt/ZhP2FY6Y.js +1 -0
  107. package/.output/public/_nuxt/_TExiQQQ.js +3 -0
  108. package/.output/public/_nuxt/__PEYcIB.js +9 -0
  109. package/.output/public/_nuxt/{_fileId_.DDOcnoDQ.css → _fileId_.DxhkUVGK.css} +1 -1
  110. package/.output/public/_nuxt/builds/latest.json +1 -1
  111. package/.output/public/_nuxt/builds/meta/47c294b1-d6b3-4974-bd50-5046ae0a393e.json +1 -0
  112. package/.output/public/_nuxt/dDqgUqt5.js +16 -0
  113. package/.output/public/_nuxt/dSX5D8ur.js +28 -0
  114. package/.output/public/_nuxt/default.DixIpIal.css +1 -0
  115. package/.output/public/_nuxt/entry.CGwcggc4.css +1 -0
  116. package/.output/public/_nuxt/{BsA8eQHh.js → habs8oz6.js} +1 -1
  117. package/.output/public/_nuxt/{index.P0q-dO_S.css → index.C4HrDOPM.css} +1 -1
  118. package/.output/public/_nuxt/o60RgyTd.js +1 -0
  119. package/.output/public/_nuxt/{DNgNuAci.js → uDsvlLN0.js} +1 -1
  120. package/.output/public/_nuxt/{Brupmvos.js → wH-P-_6A.js} +1 -1
  121. package/.output/public/_nuxt/{Cih6uwf6.js → wrneOCBW.js} +1 -1
  122. package/.output/public/_nuxt/{BN9sUptU.js → x85BV7y_.js} +1 -1
  123. package/.output/public/_nuxt/{CrNrSEll.js → yLATXAxG.js} +1 -1
  124. package/.output/server/chunks/_/create-adapter.mjs +2 -1
  125. package/.output/server/chunks/_/create-adapter.mjs.map +1 -1
  126. package/.output/server/chunks/_/database-client-type.mjs +27 -0
  127. package/.output/server/chunks/_/database-client-type.mjs.map +1 -0
  128. package/.output/server/chunks/_/database-error.mjs +1 -1
  129. package/.output/server/chunks/_/database-roles.factory.mjs +1 -1
  130. package/.output/server/chunks/_/db-connection.mjs +6 -27
  131. package/.output/server/chunks/_/db-connection.mjs.map +1 -1
  132. package/.output/server/chunks/_/functions.factory.mjs +1 -1
  133. package/.output/server/chunks/_/instance-insights.factory.mjs +2 -1
  134. package/.output/server/chunks/_/instance-insights.factory.mjs.map +1 -1
  135. package/.output/server/chunks/_/metadata.factory.mjs +1 -1
  136. package/.output/server/chunks/_/native-backup-jobs.mjs +9 -179
  137. package/.output/server/chunks/_/native-backup-jobs.mjs.map +1 -1
  138. package/.output/server/chunks/_/native-backup.mjs +339 -0
  139. package/.output/server/chunks/_/native-backup.mjs.map +1 -0
  140. package/.output/server/chunks/_/query.factory.mjs +2 -1
  141. package/.output/server/chunks/_/query.factory.mjs.map +1 -1
  142. package/.output/server/chunks/_/redis.client.mjs +1 -1
  143. package/.output/server/chunks/_/sql-mutation-statements.mjs +496 -0
  144. package/.output/server/chunks/_/sql-mutation-statements.mjs.map +1 -0
  145. package/.output/server/chunks/_/tables.factory.mjs +58 -30
  146. package/.output/server/chunks/_/tables.factory.mjs.map +1 -1
  147. package/.output/server/chunks/_/type-alias.constants.mjs +1 -1
  148. package/.output/server/chunks/_/views.factory.mjs +1 -1
  149. package/.output/server/chunks/build/client.manifest.mjs +808 -703
  150. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  151. package/.output/server/chunks/nitro/nitro.mjs +687 -664
  152. package/.output/server/chunks/routes/api/ai/agent.mjs +2 -1
  153. package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
  154. package/.output/server/chunks/routes/api/database-backup/capability.get.mjs +33 -0
  155. package/.output/server/chunks/routes/api/database-backup/capability.get.mjs.map +1 -0
  156. package/.output/server/chunks/routes/api/database-export/export-database.mjs +7 -5
  157. package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
  158. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs +5 -3
  159. package/.output/server/chunks/routes/api/database-export/jobs/_jobId/download.get.mjs.map +1 -1
  160. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs +5 -3
  161. package/.output/server/chunks/routes/api/database-export/jobs/_jobId_.get.mjs.map +1 -1
  162. package/.output/server/chunks/routes/api/database-import/import-database.mjs +8 -6
  163. package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
  164. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs +5 -3
  165. package/.output/server/chunks/routes/api/database-import/jobs/_jobId_.get.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/database-roles/create-role.mjs +3 -2
  167. package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
  168. package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +3 -2
  169. package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
  170. package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +3 -2
  171. package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
  172. package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +3 -2
  173. package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
  174. package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +3 -2
  175. package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
  176. package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +3 -2
  177. package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
  178. package/.output/server/chunks/routes/api/database-roles/get-role.mjs +3 -2
  179. package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
  180. package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +3 -2
  181. package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
  182. package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +3 -2
  183. package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
  184. package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +3 -2
  185. package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
  186. package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +3 -2
  187. package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
  188. package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +3 -2
  189. package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
  190. package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +3 -2
  191. package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
  192. package/.output/server/chunks/routes/api/functions/definition.post.mjs +3 -2
  193. package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
  194. package/.output/server/chunks/routes/api/functions/delete.post.mjs +3 -2
  195. package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
  196. package/.output/server/chunks/routes/api/functions/overview.post.mjs +3 -2
  197. package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
  198. package/.output/server/chunks/routes/api/functions/rename.post.mjs +3 -2
  199. package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
  200. package/.output/server/chunks/routes/api/functions/signature.post.mjs +3 -2
  201. package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
  202. package/.output/server/chunks/routes/api/functions/update.post.mjs +3 -2
  203. package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
  204. package/.output/server/chunks/routes/api/index.post.mjs +5 -4
  205. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  206. package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +2 -1
  207. package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
  208. package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +2 -1
  209. package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
  210. package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +2 -1
  211. package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
  212. package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +2 -1
  213. package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
  214. package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +2 -1
  215. package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
  216. package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +2 -1
  217. package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
  218. package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +2 -1
  219. package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
  220. package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +2 -1
  221. package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
  222. package/.output/server/chunks/routes/api/instance-insights/view.post.mjs +2 -1
  223. package/.output/server/chunks/routes/api/instance-insights/view.post.mjs.map +1 -1
  224. package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +1 -0
  225. package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
  226. package/.output/server/chunks/routes/api/metadata/erd.post.mjs +4 -3
  227. package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
  228. package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +4 -3
  229. package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
  230. package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +4 -3
  231. package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
  232. package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +2 -1
  233. package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
  234. package/.output/server/chunks/routes/api/query/execute.post.mjs +3 -2
  235. package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
  236. package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +2 -1
  237. package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
  238. package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +3 -2
  239. package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
  240. package/.output/server/chunks/routes/api/redis/browser/value.patch.mjs +1 -1
  241. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +21 -12
  242. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
  243. package/.output/server/chunks/routes/api/tables/bulk-insert.post.mjs +90 -0
  244. package/.output/server/chunks/routes/api/tables/bulk-insert.post.mjs.map +1 -0
  245. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +53 -11
  246. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
  247. package/.output/server/chunks/routes/api/tables/ddl.post.mjs +3 -2
  248. package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
  249. package/.output/server/chunks/routes/api/tables/export.post.mjs +4 -3
  250. package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
  251. package/.output/server/chunks/routes/api/tables/indexes.post.mjs +3 -2
  252. package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
  253. package/.output/server/chunks/routes/api/tables/meta.post.mjs +3 -2
  254. package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
  255. package/.output/server/chunks/routes/api/tables/overview.post.mjs +3 -2
  256. package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
  257. package/.output/server/chunks/routes/api/tables/rls.post.mjs +3 -2
  258. package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
  259. package/.output/server/chunks/routes/api/tables/rules.post.mjs +3 -2
  260. package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
  261. package/.output/server/chunks/routes/api/tables/size.post.mjs +3 -2
  262. package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
  263. package/.output/server/chunks/routes/api/tables/structure.post.mjs +3 -2
  264. package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
  265. package/.output/server/chunks/routes/api/tables/triggers.post.mjs +3 -2
  266. package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
  267. package/.output/server/chunks/routes/api/views/definition.post.mjs +3 -2
  268. package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
  269. package/.output/server/chunks/routes/api/views/dependencies.post.mjs +3 -2
  270. package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
  271. package/.output/server/chunks/routes/api/views/explain.post.mjs +3 -2
  272. package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
  273. package/.output/server/chunks/routes/api/views/indexes.post.mjs +3 -2
  274. package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
  275. package/.output/server/chunks/routes/api/views/meta.post.mjs +3 -2
  276. package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
  277. package/.output/server/chunks/routes/api/views/overview.post.mjs +3 -2
  278. package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
  279. package/.output/server/chunks/routes/renderer.mjs +1 -1
  280. package/.output/server/package.json +1 -2
  281. package/package.json +1 -1
  282. package/.output/public/_nuxt/-sZwfgN3.js +0 -1
  283. package/.output/public/_nuxt/1iqadsOZ.js +0 -1
  284. package/.output/public/_nuxt/2WkPV7Mp.js +0 -22
  285. package/.output/public/_nuxt/B8rT4ISg.js +0 -2
  286. package/.output/public/_nuxt/B9Yq_mZo.js +0 -1
  287. package/.output/public/_nuxt/BCFLQ_rL.js +0 -9
  288. package/.output/public/_nuxt/BIHJR--x.js +0 -39
  289. package/.output/public/_nuxt/BNkZeak0.js +0 -1
  290. package/.output/public/_nuxt/BNqd1Zca.js +0 -1
  291. package/.output/public/_nuxt/BOZgY48g.js +0 -1
  292. package/.output/public/_nuxt/BSBcOKKj.js +0 -1
  293. package/.output/public/_nuxt/BYav_5oM.js +0 -1
  294. package/.output/public/_nuxt/B_U4hCvn.js +0 -7
  295. package/.output/public/_nuxt/BdCzQG_z.js +0 -1
  296. package/.output/public/_nuxt/BdX6JvdH.js +0 -20
  297. package/.output/public/_nuxt/BiMJOLHR.js +0 -1
  298. package/.output/public/_nuxt/BmREJclf.js +0 -1
  299. package/.output/public/_nuxt/Bwe8I9vL.js +0 -1
  300. package/.output/public/_nuxt/C20WaARR.js +0 -1
  301. package/.output/public/_nuxt/C4HRDaS8.js +0 -1
  302. package/.output/public/_nuxt/C6r_nDJz.js +0 -2
  303. package/.output/public/_nuxt/CBfQCVFf.js +0 -1
  304. package/.output/public/_nuxt/CDPrFhDR.js +0 -67
  305. package/.output/public/_nuxt/CJhlBUX_.js +0 -1
  306. package/.output/public/_nuxt/CLXbv9E5.js +0 -1
  307. package/.output/public/_nuxt/CMT3TfI0.js +0 -1
  308. package/.output/public/_nuxt/CS5akSNT.js +0 -1
  309. package/.output/public/_nuxt/CyEWn2V2.js +0 -1
  310. package/.output/public/_nuxt/D-pZQQ02.js +0 -1
  311. package/.output/public/_nuxt/D0mrO5vS.js +0 -1
  312. package/.output/public/_nuxt/D3ujZRkc.js +0 -1
  313. package/.output/public/_nuxt/D4PtOV7Y.js +0 -1
  314. package/.output/public/_nuxt/D6c_aTbv.js +0 -1
  315. package/.output/public/_nuxt/DDIVwUV6.js +0 -1
  316. package/.output/public/_nuxt/DIoeBtoF.js +0 -10
  317. package/.output/public/_nuxt/DLTvS7Vr.js +0 -2
  318. package/.output/public/_nuxt/DQf3b-ld.js +0 -1
  319. package/.output/public/_nuxt/DUqYnCG7.js +0 -1
  320. package/.output/public/_nuxt/DdRczQp2.js +0 -3
  321. package/.output/public/_nuxt/Ddtv9Dxp.js +0 -1
  322. package/.output/public/_nuxt/Dfzgj0Oq.js +0 -1
  323. package/.output/public/_nuxt/DgRHzRny.js +0 -1
  324. package/.output/public/_nuxt/Dm-rJ5VH.js +0 -1
  325. package/.output/public/_nuxt/DoB1FFC2.js +0 -1
  326. package/.output/public/_nuxt/Dp2UQPgO.js +0 -1
  327. package/.output/public/_nuxt/DyCQWd5B.js +0 -12
  328. package/.output/public/_nuxt/KK3goksi.js +0 -1
  329. package/.output/public/_nuxt/QuickQuery.CJ7tNjo4.css +0 -1
  330. package/.output/public/_nuxt/TKeZJpIw.js +0 -1
  331. package/.output/public/_nuxt/UHOKyE8O.js +0 -1
  332. package/.output/public/_nuxt/Z42SRPvO.js +0 -1
  333. package/.output/public/_nuxt/builds/meta/9b89410f-7683-420e-9dea-d15741f0e6ce.json +0 -1
  334. package/.output/public/_nuxt/doR1dsEF.js +0 -15
  335. package/.output/public/_nuxt/entry.DEE2Ngsu.css +0 -1
  336. package/.output/server/chunks/routes/api/ai/chat.mjs +0 -77
  337. package/.output/server/chunks/routes/api/ai/chat.mjs.map +0 -1
  338. package/.output/server/node_modules/ag-grid-community/dist/package/main.esm.mjs +0 -50065
  339. package/.output/server/node_modules/ag-grid-community/package.json +0 -113
@@ -0,0 +1,22 @@
1
+ const e=`---
2
+ version: '1.1.6'
3
+ date: '2026-05-24'
4
+ ---
5
+
6
+ # 🎉 v1.1.6 Changelog
7
+
8
+ ## ✨ New Features
9
+
10
+ - **Raw Query**: Supported inline data editing and relation preview directly from query results.
11
+ - **Table Grid Refactor**: Refactored the AG Grid wrapper, unified global component sizes, and updated Storybook.
12
+ - **Routine Editor**:
13
+ - Added a Reload button and keyboard shortcuts (\`⌘R\` / \`Ctrl+R\` / \`F5\`) to refresh view/function definitions from the database, prompting a confirmation if there are unsaved changes.
14
+ - Fixed the keyboard shortcut \`⌘S\` / \`Ctrl+S\` failing to save routine definitions.
15
+ - Fixed an event parameter bug where clicking "Save to database" inside the preview dialog passed a \`MouseEvent\` instead of the SQL string, causing database execution errors.
16
+
17
+ ## 🔧 Bug Fixes
18
+
19
+ - **Reset All Data (Settings)**:
20
+ - Fixed the blank screen issue in the Electron app by replacing the \`/\` redirect (which loaded \`file:///\`) with an in-place reload (\`location.reload()\`).
21
+ - Fixed database clear failures caused by foreign key violations on the SQLite pool by wrapping all table deletions in a single transaction in the correct dependency order.
22
+ `;export{e as default};
@@ -0,0 +1 @@
1
+ import{d as b,ak as T,al as x,a5 as D,V as C,k as h,o as y,w as v,D as g,g as e,a6 as q,am as $,r as u,c as O,an as A,ao as F,ap as I,f as M,p as V,l as H,aq as P,ar as E}from"./DgGwe7jd.js";const[w,S]=D("CollapsibleRoot");var j=b({__name:"CollapsibleRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:open"],setup(i,{expose:d,emit:s}){const o=i,n=T(o,"open",s,{defaultValue:o.defaultOpen,passive:o.open===void 0}),{disabled:l,unmountOnHide:p}=x(o);return S({contentId:"",disabled:l,open:n,unmountOnHide:p,onOpenToggle:()=>{l.value||(n.value=!n.value)}}),d({open:n}),C(),(r,f)=>(y(),h(e(q),{as:r.as,"as-child":o.asChild,"data-state":e(n)?"open":"closed","data-disabled":e(l)?"":void 0},{default:v(()=>[g(r.$slots,"default",{open:e(n)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),J=j,L=b({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(i,{emit:d}){const s=i,o=d,t=w();t.contentId||(t.contentId=$(void 0,"reka-collapsible-content"));const n=u(),{forwardRef:l,currentElement:p}=C(),r=u(0),f=u(0),k=O(()=>t.open.value),m=u(k.value),c=u();A(()=>{var a;return[k.value,(a=n.value)==null?void 0:a.present]},async()=>{await E();const a=p.value;if(!a)return;c.value=c.value||{transitionDuration:a.style.transitionDuration,animationName:a.style.animationName},a.style.transitionDuration="0s",a.style.animationName="none";const _=a.getBoundingClientRect();f.value=_.height,r.value=_.width,m.value||(a.style.transitionDuration=c.value.transitionDuration,a.style.animationName=c.value.animationName)},{immediate:!0});const N=O(()=>m.value&&t.open.value);return F(()=>{requestAnimationFrame(()=>{m.value=!1})}),I(p,"beforematch",a=>{requestAnimationFrame(()=>{t.onOpenToggle(),o("contentFound")})}),(a,_)=>(y(),h(e(P),{ref_key:"presentRef",ref:n,present:a.forceMount||e(t).open.value,"force-mount":!0},{default:v(({present:B})=>{var R;return[M(e(q),V(a.$attrs,{id:e(t).contentId,ref:e(l),"as-child":s.asChild,as:a.as,hidden:B?void 0:e(t).unmountOnHide.value?"":"until-found","data-state":N.value?void 0:e(t).open.value?"open":"closed","data-disabled":(R=e(t).disabled)!=null&&R.value?"":void 0,style:{"--reka-collapsible-content-height":`${f.value}px`,"--reka-collapsible-content-width":`${r.value}px`}}),{default:v(()=>[!e(t).unmountOnHide.value||B?g(a.$slots,"default",{key:0}):H("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]}),_:3},8,["present"]))}}),K=L,z=b({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const d=i;C();const s=w();return(o,t)=>{var n,l;return y(),h(e(q),{type:o.as==="button"?"button":void 0,as:o.as,"as-child":d.asChild,"aria-controls":e(s).contentId,"aria-expanded":e(s).open.value,"data-state":e(s).open.value?"open":"closed","data-disabled":(n=e(s).disabled)!=null&&n.value?"":void 0,disabled:(l=e(s).disabled)==null?void 0:l.value,onClick:e(s).onOpenToggle},{default:v(()=>[g(o.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"])}}}),Q=z;export{J as C,K as a,Q as b};
@@ -1,4 +1,4 @@
1
- import{_ as b,G as m,L as B,e as C,l as w,b as S,a as D,q as T,t as P,g as z,s as A,H as E,I as F,A as W}from"./BXp87mMj.js";import{p as _}from"./CwgI7YXL.js";import{p as L}from"./xoY3RXI7.js";import"./BfSmOVMj.js";var N=F.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=S,this.getAccTitle=D,this.setDiagramTitle=T,this.getDiagramTitle=P,this.getAccDescription=z,this.setAccDescription=A}getConfig(){const t=m({...N,...E().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){W(),this.packet=[]}},b(u,"PacketDB"),u),I=1e4,M=b((e,t)=>{_(e,t);let s=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??(a=s+1),a!==s+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${s+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??(i=a+(d??1)-1),d??(d=i-a+1),s=i,w.debug(`Packet block ${a} - ${s} with label ${c}`);r.length<=l+1&&t.getPacket().length<I;){const[p,o]=Y({start:a,end:i,bits:d,label:c},n,l);if(r.push(p),p.end+1===n*l&&(t.pushWord(r),r=[],n++),!o)break;({start:a,end:i,bits:d,label:c}=o)}}t.pushWord(r)},"populate"),Y=b((e,t,s)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*s)return[e,void 0];const r=t*s-1,n=t*s;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await L("packet",e),s=(r=x.parser)==null?void 0:r.yy;if(!(s instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),M(t,s)},"parse")},G=b((e,t,s,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=B(t);f.attr("viewBox",`0 0 ${k} ${g}`),C(f,g,k,l.useMaxWidth);for(const[y,$]of p.entries())H(f,$,y,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),H=b((e,t,s,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=s*(r+l)+l;for(const o of t){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),O={draw:G},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},q=b(({packet:e}={})=>{const t=m(j,e);return`
1
+ import{_ as b,G as m,L as B,e as C,l as w,b as S,a as D,q as T,t as P,g as z,s as A,H as E,I as F,A as W}from"./DYqShb5v.js";import{p as _}from"./Bibtvqd8.js";import{p as L}from"./B_hWP06g.js";import"./DgGwe7jd.js";var N=F.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=S,this.getAccTitle=D,this.setDiagramTitle=T,this.getDiagramTitle=P,this.getAccDescription=z,this.setAccDescription=A}getConfig(){const t=m({...N,...E().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){W(),this.packet=[]}},b(u,"PacketDB"),u),I=1e4,M=b((e,t)=>{_(e,t);let s=-1,r=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??(a=s+1),a!==s+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${s+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??(i=a+(d??1)-1),d??(d=i-a+1),s=i,w.debug(`Packet block ${a} - ${s} with label ${c}`);r.length<=l+1&&t.getPacket().length<I;){const[p,o]=Y({start:a,end:i,bits:d,label:c},n,l);if(r.push(p),p.end+1===n*l&&(t.pushWord(r),r=[],n++),!o)break;({start:a,end:i,bits:d,label:c}=o)}}t.pushWord(r)},"populate"),Y=b((e,t,s)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*s)return[e,void 0];const r=t*s-1,n=t*s;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{var r;const t=await L("packet",e),s=(r=x.parser)==null?void 0:r.yy;if(!(s instanceof v))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");w.debug(t),M(t,s)},"parse")},G=b((e,t,s,r)=>{const n=r.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),o=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(o?0:a),k=d*c+2,f=B(t);f.attr("viewBox",`0 0 ${k} ${g}`),C(f,g,k,l.useMaxWidth);for(const[y,$]of p.entries())H(f,$,y,l);f.append("text").text(o).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),H=b((e,t,s,{rowHeight:r,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=s*(r+l)+l;for(const o of t){const h=o.start%i*a+1,g=(o.end-o.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!d)continue;const k=o.end===o.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(o.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),O={draw:G},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},q=b(({packet:e}={})=>{const t=m(j,e);return`
2
2
  .packetByte {
3
3
  font-size: ${t.byteFontSize};
4
4
  }
@@ -0,0 +1 @@
1
+ import{ct as vt,cu as bt,cv as _t,cw as xt,aX as ze,r as I,an as j,ck as wt,cj as Ct,O as He,c as x,d as V,aD as Tt,e as S,o as m,f as i,w as h,m as o,t as B,g as e,k,l as D,aj as fe,F as q,s as ye,n as H,A as he,aA as St,I as Y,aF as X,cx as kt,R as je,cy as Ot,aI as Nt,cz as $t,cA as Rt,cB as Bt,i as U,bh as It,ar as pe,ae as Pt,ci as Ft,bo as Dt,ao as Mt,bx as Qt,by as Vt,bz as At,z as Ee,a7 as ce,a9 as ue,a4 as zt,aa as de,a8 as Le,cC as Et,au as me,cD as Ue,af as Lt,aQ as Ut,cE as Ht}from"./DgGwe7jd.js";import{_ as qe,a as Ke,c as jt}from"./BhzzQZRC.js";import{u as qt}from"./CE0zlNDo.js";import{u as Kt,a as Wt,b as Gt,c as Zt,d as Jt,e as Yt,f as Xt,g as en,h as tn,_ as nn,i as an,j as on,k as sn,l as ln,m as rn,n as cn}from"./F8eHh68O.js";import{_ as un}from"./C6CFIGob.js";import{_ as dn}from"./DoNLWeqB.js";import{_ as mn,Q as F}from"./Dpm6rnHk.js";import{c as pn}from"./Bok35x_B.js";import"./uDsvlLN0.js";import{u as fn,t as yn,F as hn}from"./BWg3wiuc.js";import{_ as gn}from"./EZ0owjER.js";import{c as vn,a as bn,p as _n,b as xn}from"./DDsaDrGo.js";import{u as wn}from"./CnQob-tn.js";import{f as Cn}from"./D9Ycznwo.js";import"./__PEYcIB.js";import"./DP6Az3fC.js";import"./DZFq5yqu.js";import"./DyDU0wFf.js";import"./B5rxJs06.js";import"./CoQ_oOia.js";import"./6NXhlm49.js";import"./6wO6CbCo.js";import"./BVmBXPoG.js";import"./Cl3VX8Um.js";import"./BnZ5qYkP.js";import"./dDqgUqt5.js";function Tn(s){return bt(_t,s)}function Sn(s){return vt(xt,s)}const kn=({containerRef:s,quickQueryFilterRef:l,quickQueryTableRef:d,isSkipShortcut:u,isViewOnly:b,onCopySelectedCell:g,onPasteRows:t,onSaveData:c,onDeleteRows:f})=>{const p=()=>!u.value,n=()=>!u.value&&!b.value;ze([{key:"meta+a",callback:()=>{var r,a;p()&&((a=(r=d.value)==null?void 0:r.gridApi)==null||a.selectAll())},excludeInput:!0,isPreventDefault:!0},{key:"meta+c",callback:()=>{p()&&g()},excludeInput:!0},{key:"meta+v",callback:()=>{p()&&t()},excludeInput:!0},{key:"meta+s",callback:()=>{n()&&c()},isPreventDefault:!0},{key:"meta+alt+backspace",callback:()=>{n()&&f()},isPreventDefault:!0}],{target:s}),ze([{key:"meta+f",callback:async()=>{var r;p()&&await((r=l.value)==null?void 0:r.onShowSearch())}}])},On=s=>{const l=I();return j(()=>{var d;return(d=s.value)==null?void 0:d.columnDefs},()=>{var d;(d=s.value)!=null&&d.columnDefs&&(l.value=s.value.columnDefs)},{immediate:!0,deep:!0}),{columns:l}},Nn=()=>{const s=I(!0);return wt(()=>{s.value=!0}),Ct(()=>{s.value=!1}),{isActiveTeleport:s}},$n=({tableName:s,schemaName:l})=>{var t;const d=He(),{data:u,status:b}=qt("/api/tables/size",{method:"POST",body:{tableName:s,dbConnectionString:(t=d.selectedConnection)==null?void 0:t.connectionString,schema:l},key:`table-size-${s}-${l}`},"$1Ta2y3cNQa");return{tableSize:x(()=>u.value||{}),status:b}},Rn={class:"gap-0 flex flex-col h-full w-full p-2"},Bn={class:"flex flex-col gap-y-1"},In={class:"flex items-center justify-between w-full"},Pn={class:"text-xs opacity-75"},Fn={class:"flex items-center justify-between gap-4"},Dn={class:"text-xs opacity-75"},Mn={class:"flex items-center justify-between gap-4"},Qn={class:"text-xs opacity-75"},Vn=["onClick"],An={class:"flex justify-between text-xs w-full overflow-hidden"},zn=["title"],En={class:"opacity-50 w-1/4 min-w-[100px] text-right"},Ln=V({__name:"QuickQueryTableSummary",props:{tableName:{},schemaName:{},columns:{},selectedColumnFieldId:{},handleSelectColumn:{type:Function},columnTypes:{}},emits:["resetSelectedCol"],setup(s,{emit:l}){const d=l,{tableSize:u}=$n({tableName:s.tableName,schemaName:s.schemaName}),b=x(()=>{var t;return(((t=s.columns)==null?void 0:t.map(c=>{var p;const f=(p=s.columnTypes)==null?void 0:p.find(n=>n.name===c.field&&n.name);return f?{...c,type:(f==null?void 0:f.type)||""}:c}))||[]).slice(1)}),g=t=>t==="timestamp without time zone"?"timestamp":t||"";return Tt(t=>{t(()=>{s.selectedColumnFieldId!==void 0&&d("resetSelectedCol")})}),(t,c)=>{const f=qe,p=Ke,n=fe,r=he;return m(),S("div",Rn,[i(p,{class:"py-1 rounded-md"},{default:h(()=>[i(f,{class:"px-2"},{default:h(()=>[o("div",Bn,[o("div",In,[c[0]||(c[0]=o("span",{class:"text-xs font-medium"},"Table Size:",-1)),o("span",Pn,B(e(u).tableSize),1)]),o("div",Fn,[c[1]||(c[1]=o("span",{class:"text-xs font-medium"},"Data Size:",-1)),o("span",Dn,B(e(u).dataSize),1)]),o("div",Mn,[c[2]||(c[2]=o("span",{class:"text-xs font-medium"},"Index Size:",-1)),o("span",Qn,B(e(u).indexSize),1)])])]),_:1})]),_:1}),i(p,{class:"mt-1 py-2 px-1 h-full overflow-y-auto custom-scrollbar rounded-md"},{default:h(()=>[i(f,{class:"px-0"},{default:h(()=>[e(b).length===0?(m(),k(n,{key:0,title:"No columns",desc:"This table has no columns to display."})):D("",!0),(m(!0),S(q,null,ye(e(b),a=>(m(),S("div",{key:a==null?void 0:a.field,class:H(["cursor-pointer hover:bg-accent/50 rounded-sm",e(jt)(t.selectedColumnFieldId===(a==null?void 0:a.field)&&"bg-accent/90")])},[o("div",{class:"flex items-center gap-2 justify-start p-1",onClick:C=>t.handleSelectColumn(a==null?void 0:a.field)},[i(r,{name:"hugeicons:layout-3-column",class:"size-4 min-w-3"}),o("div",An,[o("span",{class:"w-3/4 truncate max-w-[220px] overflow-hidden text-ellipsis whitespace-nowrap inline-block",title:a==null?void 0:a.headerName},B((a==null?void 0:a.headerName)||""),9,zn),o("span",En,B(g(Array.isArray(a==null?void 0:a.type)?a==null?void 0:a.type.join(", "):a==null?void 0:a.type)),1)])],8,Vn)],2))),128))]),_:1})]),_:1})])}}}),Un=["for"],Hn=["for"],jn=V({__name:"DynamicForm",props:{fields:{},validationSchema:{},class:{}},setup(s,{expose:l}){const d=s,u=fn({validationSchema:yn(d.validationSchema),name:`dynamic-form-${St()}`});return l({form:u}),(b,g)=>(m(),S("div",{class:H(d.class)},[(m(!0),S(q,null,ye(b.fields,t=>Y((m(),S("div",{key:t.name},[o("div",{class:H(["flex justify-between pb-0.5",t.titleClass])},[o("label",{class:"text-xs text-right",for:t.name},B(t.label),9,Un),o("label",{class:"text-xs text-right text-primary/80",for:t.name},B(t.type),9,Hn)],2),i(e(hn),{as:t.as,id:t.name,name:t.name,class:H(t.class),placeholder:t.placeholder},null,8,["as","id","name","class","placeholder"])])),[[X,t.isShow]])),128))],2))}}),qn={class:"p-2 pb-0"},Kn={class:"relative w-full"},Wn={class:"absolute left-1.5 top-1.5 w-4"},Gn=V({__name:"PreviewSelectedRow",props:{columnTypes:{},selectedRow:{}},setup(s){const l=s,d=x(()=>{const n={};return l.columnTypes.forEach(r=>{const a=kt(je.POSTGRES).mapDbTypeToTsType(r.type);a==="boolean"?n[r.name]=Sn().optional():a==="number"?n[r.name]=Tn().optional():n[r.name]=Ot().optional()}),n}),u=Nt(""),b=$t(u,Rt),g=x(()=>{const n=[],r=b.value.toLowerCase().trim();return l.columnTypes.forEach(a=>{const C=a.name.toLowerCase(),R=r?C.includes(r):!0;n.push({label:a.name,type:a.type,as:gn,name:a.name,class:"px-1 py-0.5 h-fit min-h-6! text-primary/80 font-normal!",placeholder:"NULL",isShow:R})}),n}),t=x(()=>{const n=b.value.toLowerCase().trim();return n?!l.columnTypes.some(r=>r.name.toLowerCase().includes(n)):!1}),c=x(()=>Bt(d.value)),f=I(),p=n=>{const r=Object.entries(n).reduce((a,[C,R])=>(a[C]=pn(R||""),a),{});pe(()=>{var a;(a=f.value)==null||a.form.setValues(r)})};return j(()=>[l.selectedRow,f],([n])=>{n&&p(n)},{immediate:!0,deep:!0}),(n,r)=>{const a=he,C=It;return m(),S(q,null,[o("div",qn,[o("div",Kn,[o("div",Wn,[i(a,{name:"lucide:search",class:"stroke-3!"})]),i(C,{type:"text",placeholder:"Search fields ...",class:"pr-6 pl-6 w-full h-8",modelValue:e(u),"onUpdate:modelValue":r[0]||(r[0]=R=>U(u)?u.value=R:null)},null,8,["modelValue"]),e(u)?(m(),S("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer rounded-md hover:bg-accent",onClick:r[1]||(r[1]=R=>u.value="")},[i(a,{name:"lucide:x",class:"stroke-3! text-muted-foreground"})])):D("",!0)])]),e(t)?(m(),k(e(fe),{key:0,title:"No results",desc:"No fields match your search."})):(m(),k(jn,{key:1,ref_key:"dynamicForm",ref:f,class:"space-y-1 p-2 overflow-y-auto",fields:e(g),"validation-schema":e(c)},null,8,["fields","validation-schema"]))],64)}}}),Zn=["innerHTML"],Jn=V({__name:"QuickQueryHistoryLogItem",props:{log:{},highlighter:{}},setup(s){const l=s,d=I("");return j([()=>l.log,()=>l.highlighter],async()=>{const u=(l.log||"").trim();l.highlighter&&(d.value=l.highlighter.codeToHtml(u,{lang:"plsql",theme:"catppuccin-latte"}))},{immediate:!0}),(u,b)=>(m(),S("div",{class:"[&_code]:text-wrap w-full [&>.catppuccin-latte]:bg-background!",innerHTML:d.value},null,8,Zn))}}),Yn={class:"flex h-full min-h-0 flex-col"},Xn={class:"flex h-8 shrink-0 items-center justify-between"},ea={class:"flex items-center gap-1"},ta={key:0,class:"flex min-h-0 flex-1 items-center justify-center w-full"},na=["data-index"],aa={class:"pb-2 leading-relaxed text-xs group"},oa={class:"flex items-center justify-between gap-2 pr-1"},sa={class:"min-w-0"},la={class:"text-xxs"},ra={class:"text-xxs"},ia=V({__name:"QuickQueryHistoryLogsPanel",props:{tableName:{},schemaName:{}},setup(s){const l=s,d=I("all"),u=Kt(),{qqLogs:b}=Pt(u),{handleCopyWithKey:g,isCopied:t,getCopyIcon:c,getCopyIconClass:f,getCopyTooltip:p}=wn(),n=x(()=>d.value==="all"?b.value:u.getLogsByTableId(l)),r=I(null),a=(T,y=24)=>T.scrollHeight-T.scrollTop-T.clientHeight<=y,C=Ft({get count(){return n.value.length},getScrollElement:()=>r.value,estimateSize:()=>39,overscan:5}),R=x(()=>C.value.getVirtualItems()),ee=x(()=>C.value.getTotalSize()),K=()=>{n.value.length&&C.value.scrollToIndex(n.value.length-1)},te=T=>{T&&C.value.measureElement(T)},ne=T=>new Date(T).toLocaleString(),M=I();return Dt(async()=>{const T=vn({themes:[xn],langs:[_n],engine:bn()});M.value=await T}),Mt(async()=>{C.value&&(await pe(),K())}),j(()=>n.value.length,async()=>{if(!C.value)return;const T=!r.value||a(r.value);await pe(),T&&K()}),(T,y)=>{const W=At,Q=Vt,$=Qt,N=he,A=zt,z=fe,ae=qe,E=Ke;return m(),S("div",Yn,[o("div",Xn,[i($,{modelValue:d.value,"onUpdate:modelValue":y[0]||(y[0]=_=>d.value=_),class:"pt-1"},{default:h(()=>[i(Q,{size:"xs"},{default:h(()=>[i(W,{size:"xs",value:"all",class:"cursor-pointer text-primary/80"},{default:h(()=>y[2]||(y[2]=[Ee(" All logs ")])),_:1},8,["value"]),i(W,{size:"xs",value:"one-table",class:"cursor-pointer text-primary/80"},{default:h(()=>y[3]||(y[3]=[Ee(" Only this table ")])),_:1},8,["value"])]),_:1})]),_:1},8,["modelValue"]),y[8]||(y[8]=o("div",null,[o("p",{class:"font-medium text-xs"},"Logs history")],-1)),o("div",ea,[d.value==="all"?(m(),k(e(ce),{key:0},{default:h(()=>[i(e(ue),{"as-child":""},{default:h(()=>[i(A,{variant:"outline",size:"xxs",onClick:e(u).deleteAllLogs},{default:h(()=>[i(N,{name:"lucide:trash"}),y[4]||(y[4]=o("p",{class:"font-normal"},"Delete all logs",-1))]),_:1},8,["onClick"])]),_:1}),i(e(de),null,{default:h(()=>y[5]||(y[5]=[o("p",null,"Delete all logs",-1)])),_:1})]),_:1})):(m(),k(e(ce),{key:1},{default:h(()=>[i(e(ue),{"as-child":""},{default:h(()=>[i(A,{variant:"outline",size:"xxs",onClick:y[1]||(y[1]=_=>e(u).deleteLogsOfTable(l))},{default:h(()=>[i(N,{name:"lucide:trash"}),y[6]||(y[6]=o("p",{class:"font-normal"},"Delete logs",-1))]),_:1})]),_:1}),i(e(de),null,{default:h(()=>y[7]||(y[7]=[o("p",null,"Delete logs for this table",-1)])),_:1})]),_:1}))])]),n.value.length?(m(),k(E,{key:1,class:"py-0 mt-1 min-h-0 flex-1 gap-0 rounded-none shadow-none border-none overflow-hidden"},{default:h(()=>[i(ae,{class:"p-0 min-h-0 flex-1"},{default:h(()=>[o("div",{ref_key:"parentRef",ref:r,class:"h-full w-full overflow-y-auto contain-strict [overflow-anchor:none]"},[o("div",{style:Le({height:`${ee.value}px`,width:"100%",position:"relative"})},[(m(!0),S(q,null,ye(R.value,_=>(m(),S("div",{key:_.key.toString(),"data-index":_.index,ref_for:!0,ref:te,class:"[overflow-anchor:none]",style:Le({position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${_.start}px)`})},[o("div",aa,[o("div",oa,[o("div",sa,[o("span",la,"["+B(ne(n.value[_.index].createdAt))+"] ",1),o("span",ra," : "+B(e(Cn)(n.value[_.index].queryTime||0)),1)]),i(e(ce),null,{default:h(()=>[i(e(ue),{"as-child":""},{default:h(()=>[i(A,{variant:"ghost",size:"icon",class:"size-6 shrink-0 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100",onClick:L=>e(g)(n.value[_.index].id,String(n.value[_.index].logs).trim())},{default:h(()=>[(m(),k(N,{key:e(t)(n.value[_.index].id)?"tick":"copy",name:e(c)(e(t)(n.value[_.index].id)),class:H(["size-3.5",e(f)(e(t)(n.value[_.index].id))])},null,8,["name","class"]))]),_:2},1032,["onClick"])]),_:2},1024),i(e(de),null,{default:h(()=>[o("p",null,B(e(p)(e(t)(n.value[_.index].id),"Copy log")),1)]),_:2},1024)]),_:2},1024)]),i(Jn,{highlighter:M.value,log:n.value[_.index].logs},null,8,["highlighter","log"])])],12,na))),128))],4)],512)]),_:1})]),_:1})):(m(),S("div",ta,[i(z,{title:"No logs found",desc:"There are no execution logs to display for this table."})]))])}}}),ca=({quickQueryTableRef:s})=>{const l=I(void 0),d=()=>{var g,t,c,f,p,n,r;l.value=void 0,(c=(t=(g=s.value)==null?void 0:g.gridApi)==null?void 0:t.ensureIndexVisible)==null||c.call(t,0,"top"),(p=(f=s.value)==null?void 0:f.gridApi)==null||p.refreshHeader(),(r=(n=s.value)==null?void 0:n.gridApi)==null||r.refreshCells({force:!0})},u=g=>{var t,c,f,p,n,r;g&&((c=(t=s.value)==null?void 0:t.gridApi)==null||c.ensureColumnVisible(g,"middle"),(p=(f=s.value)==null?void 0:f.gridApi)==null||p.refreshCells({force:!0}),(r=(n=s.value)==null?void 0:n.gridApi)==null||r.refreshHeader())};return{resetGridState:d,selectedColumnFieldId:l,handleSelectColumn:g=>{l.value=g,u(g)}}},ua={class:"px-1"},da={class:"px-2"},ma={class:"flex-1 overflow-hidden px-1 mb-0.5"},pa={key:1,class:"h-full"},za=V({__name:"QuickQuery",props:{connectionId:{},workspaceId:{},tableName:{},schemaName:{},tabViewType:{},virtualTableId:{}},setup(s){const l=s,d=Et(),u=He(),b=x(()=>{const w=u.connections.find(v=>v.id===l.connectionId);return(w==null?void 0:w.connectionString)||""}),g=x(()=>{var w;return((w=u.selectedConnection)==null?void 0:w.type)||je.POSTGRES}),t=x(()=>l.tableName),c=x(()=>l.schemaName),f=I(),{previewRelationBreadcrumbs:p,onOpenBackReferencedTableModal:n,onOpenForwardReferencedTableModal:r,onUpdateSelectedTabInBreadcrumb:a,onClearBreadcrumbs:C,onBackPreviousBreadcrumb:R,onBackPreviousBreadcrumbByIndex:ee}=Wt(),{onRequestSafeModeConfirm:K,onSafeModeCancel:te,onSafeModeConfirm:ne,safeModeDialogOpen:M,safeModeDialogSql:T,safeModeDialogType:y,isDangerous:W}=Gt(),{quickQueryFilterRef:Q,quickQueryTableRef:$,selectedRows:N,focusedCell:A}=Zt(),{columnNames:z,foreignKeys:ae,primaryKeyColumns:E,tableMetaData:_,columnTypes:L,foreignKeyColumns:We,isVirtualTable:oe}=Jt({tableName:t.value,schemaName:c.value,connectionId:l.connectionId,tabViewType:l.tabViewType}),{onApplyNewFilter:ge,data:G,baseQueryString:Ge,refreshTableData:ve,refreshCount:be,isAllowNextPage:Ze,isAllowPreviousPage:Je,onNextPage:_e,onPreviousPage:xe,onUpdatePagination:we,totalRows:Ye,pagination:Z,errorMessage:Ce,openErrorModal:J,orderBy:Xe,onUpdateOrderBy:et,addHistoryLog:tt,filters:se,isShowFilters:le,onChangeComposeWith:nt,composeWith:at,isFetchingTableData:ot}=Yt({connection:me(u,"selectedConnection"),primaryKeys:E,columns:z,connectionId:x(()=>l.connectionId),workspaceId:x(()=>l.workspaceId),tableName:t.value,schemaName:c.value});j(_,w=>{w!=null&&w.columns&&w.columns.length>0&&(be(),ve())},{deep:!0,immediate:!0});const{isMutating:st,onAddEmptyRow:Te,onDiscardChanges:lt,onDeleteRows:re,onSaveData:ie,hasEditedRows:Se,pendingChangesCount:rt,onCopyRows:it,onPasteRows:ke,onRefresh:Oe,onSelectedRowsChange:ct,onCopySelectedCell:Ne,onFocusedCellChange:ut}=Xt({tableName:t.value,schemaName:c.value,primaryKeys:E,refreshTableData:ve,columnNames:z,data:G,addHistoryLog:tt,errorMessage:Ce,openErrorModal:J,selectedRows:N,pagination:Z,quickQueryTableRef:$,refreshCount:be,focusedCell:A,safeModeEnabled:me(d,"quickQuerySafeModeEnabled"),onRequestSafeModeConfirm:K,connection:me(u,"selectedConnection")}),{handleSelectColumn:dt,selectedColumnFieldId:$e,resetGridState:mt}=ca({quickQueryTableRef:$}),{quickQueryTabView:P,openedQuickQueryTab:Re}=en({onTabChanged:w=>{w!==F.Data&&d.onCloseBottomPanel()}}),{isActiveTeleport:Be}=Nn(),{onAddFilterByContextCell:pt}=rn({quickQueryFilterRef:Q,quickQueryTableRef:$,columnTypes:L,filters:se,onApplyNewFilter:ge}),{isHaveRelationByFieldName:ft}=tn({schemaName:c.value,tableName:t.value}),yt=x(()=>p.value.length>0),Ie=x(()=>oe.value);kn({containerRef:f,quickQueryFilterRef:Q,quickQueryTableRef:$,isSkipShortcut:yt,isViewOnly:Ie,onCopySelectedCell:Ne,onPasteRows:ke,onSaveData:ie,onDeleteRows:re});const{columns:ht}=On($);return(w,v)=>{var Pe,Fe,De,Me,Qe,Ve;const gt=Lt;return m(),S(q,null,[e(p).length?(m(),k(nn,{key:0,open:e(p).length>0,breadcrumbs:e(p),currentTableName:e(t),connectionId:w.connectionId,workspaceId:w.workspaceId,rootSchemaName:e(c),onClearBreadcrumb:e(C),onOnOpenBackReferencedTableModal:e(n),onOnOpenForwardReferencedTableModal:e(r),onOnUpdateSelectedTabInBreadcrumb:e(a),onOnBackPreviousBreadcrumb:e(R),onOnBackPreviousBreadcrumbByIndex:e(ee)},null,8,["open","breadcrumbs","currentTableName","connectionId","workspaceId","rootSchemaName","onClearBreadcrumb","onOnOpenBackReferencedTableModal","onOnOpenForwardReferencedTableModal","onOnUpdateSelectedTabInBreadcrumb","onOnBackPreviousBreadcrumb","onOnBackPreviousBreadcrumbByIndex"])):D("",!0),i(mn,{open:e(M),"onUpdate:open":v[0]||(v[0]=O=>U(M)?M.value=O:null),sql:e(T),type:e(y),dangerous:e(W),onConfirm:e(ne),onCancel:e(te)},null,8,["open","sql","type","dangerous","onConfirm","onCancel"]),e(Be)?(m(),k(Ue,{key:1,defer:"",to:"#preview-select-row"},[((Pe=e(N))==null?void 0:Pe.length)!==1||e(P)!==e(F).Data?(m(),k(Ln,{key:0,"table-name":e(t),"schema-name":e(c),columns:e(ht),columnTypes:e(L),selectedColumnFieldId:e($e),handleSelectColumn:e(dt),onResetSelectedCol:e(mt)},null,8,["table-name","schema-name","columns","columnTypes","selectedColumnFieldId","handleSelectColumn","onResetSelectedCol"])):(m(),k(Gn,{key:1,columnTypes:e(L),selectedRow:(Fe=e(N))!=null&&Fe.length?e(N)[0]:null},null,8,["columnTypes","selectedRow"]))])):D("",!0),e(Be)?(m(),k(Ue,{key:2,defer:"",to:"#bottom-panel"},[i(ia,{tableName:e(t),"schema-name":e(c)},null,8,["tableName","schema-name"])])):D("",!0),i(dn,{open:e(J),"onUpdate:open":v[1]||(v[1]=O=>U(J)?J.value=O:null),message:e(Ce)||""},null,8,["open","message"]),o("div",{ref_key:"containerRef",ref:f,class:"flex flex-col h-full w-full relative",tabindex:"0"},[i(gt,{visible:e(st)||e(ot)},null,8,["visible"]),o("div",ua,[i(an,{"total-selected-rows":(De=e(N))==null?void 0:De.length,isAllowNextPage:e(Ze),isAllowPreviousPage:e(Je),totalRows:e(Ye),limit:e(Z).limit,currentTotalRows:((Me=e(G))==null?void 0:Me.length)||0,offset:e(Z).offset,"has-edited-rows":e(Se),"pending-changes-count":e(rt),isViewVirtualTable:e(oe),onOnPaginate:e(we),onOnNextPage:e(_e),onOnPreviousPage:e(xe),onOnRefresh:e(Oe),onOnDiscardChanges:e(lt),onOnSaveData:e(ie),onOnDeleteRows:e(re),onOnAddEmptyRow:e(Te),onOnShowFilter:v[2]||(v[2]=()=>{var O;(O=e(Q))==null||O.onShowSearch()}),onOnToggleHistoryPanel:e(d).onToggleBottomPanel,tabView:e(P),"onUpdate:tabView":v[3]||(v[3]=O=>U(P)?P.value=O:null)},null,8,["total-selected-rows","isAllowNextPage","isAllowPreviousPage","totalRows","limit","currentTotalRows","offset","has-edited-rows","pending-changes-count","isViewVirtualTable","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnDiscardChanges","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnToggleHistoryPanel","tabView"])]),o("div",da,[e(P)===e(F).Data?(m(),k(on,{key:0,ref_key:"quickQueryFilterRef",ref:Q,onOnSearch:v[4]||(v[4]=()=>{e(ge)()}),onOnUpdateFilters:v[5]||(v[5]=O=>{se.value=O}),isShowFilters:e(le),"onUpdate:isShowFilters":v[6]||(v[6]=O=>U(le)?le.value=O:null),initFilters:e(se),baseQuery:e(Ge),columns:e(z),dbType:e(g),composeWith:e(at),onOnChangeComposeWith:e(nt)},null,8,["isShowFilters","initFilters","baseQuery","columns","dbType","composeWith","onOnChangeComposeWith"])):D("",!0)]),o("div",ma,[e(Re)[e(F).Erd]?Y((m(),k(un,{key:0,tableId:e(Ut)({tableName:e(t),schemaName:e(c)})},null,8,["tableId"])),[[X,e(P)===e(F).Erd]]):D("",!0),e(Re)[e(F).Structure]?Y((m(),S("div",pa,[i(sn,{isVirtualTable:e(oe),schema:e(c),tableName:e(t),connectionString:e(b),virtualTableId:l.virtualTableId},null,8,["isVirtualTable","schema","tableName","connectionString","virtualTableId"])],512)),[[X,e(P)===e(F).Structure]]):D("",!0),Y(i(cn,{data:e(G),"total-selected-rows":e(N).length,"has-edited-rows":e(Se),cellContextMenu:(Qe=e($))==null?void 0:Qe.cellContextMenu,cellHeaderContextMenu:(Ve=e($))==null?void 0:Ve.cellHeaderContextMenu,selectedRows:e(N),"table-name":e(t),"schema-name":e(c),onOnClearContextMenu:v[7]||(v[7]=O=>{var Ae;return(Ae=e($))==null?void 0:Ae.clearCellContextMenu()}),onOnPaginate:e(we),onOnNextPage:e(_e),onOnPreviousPage:e(xe),onOnRefresh:e(Oe),onOnSaveData:e(ie),onOnDeleteRows:e(re),onOnAddEmptyRow:e(Te),onOnFilterByValue:e(pt),onOnCopyRows:e(it),onOnPasteRows:e(ke),onOnCopySelectedCell:e(Ne)},{default:h(()=>[i(ln,{class:"h-full border rounded-md",ref_key:"quickQueryTableRef",ref:$,"selected-rows":e(N),data:e(G)||[],orderBy:e(Xe),onOnSelectedRows:e(ct),"onUpdate:orderBy":e(et),onOnOpenBackReferencedTableModal:e(n),onOnOpenForwardReferencedTableModal:e(r),isHaveRelationByFieldName:e(ft),foreignKeyColumns:e(We),foreignKeys:e(ae),primaryKeyColumns:e(E),columnTypes:e(L),defaultPageSize:e(Ht),offset:e(Z).offset,onOnFocusCell:e(ut),selectedColumnFieldId:e($e),"current-schema-name":e(c),"current-table-name":e(t),isViewOnly:e(Ie)},null,8,["selected-rows","data","orderBy","onOnSelectedRows","onUpdate:orderBy","onOnOpenBackReferencedTableModal","onOnOpenForwardReferencedTableModal","isHaveRelationByFieldName","foreignKeyColumns","foreignKeys","primaryKeyColumns","columnTypes","defaultPageSize","offset","onOnFocusCell","selectedColumnFieldId","current-schema-name","current-table-name","isViewOnly"])]),_:1},8,["data","total-selected-rows","has-edited-rows","cellContextMenu","cellHeaderContextMenu","selectedRows","table-name","schema-name","onOnPaginate","onOnNextPage","onOnPreviousPage","onOnRefresh","onOnSaveData","onOnDeleteRows","onOnAddEmptyRow","onOnFilterByValue","onOnCopyRows","onOnPasteRows","onOnCopySelectedCell"]),[[X,e(P)===e(F).Data]])])],512)],64)}}});export{za as default};
@@ -0,0 +1 @@
1
+ import{_ as o}from"./C6CFIGob.js";import{d as e,k as t,o as r}from"./DgGwe7jd.js";import"./BnZ5qYkP.js";import"./dDqgUqt5.js";import"./CE0zlNDo.js";const d=e({__name:"index",setup(a){return(i,m)=>(r(),t(o,{"table-id":void 0}))}});export{d as default};
@@ -0,0 +1,3 @@
1
+ import{d as M,bG as pe,k as C,w as l,p as re,g as t,o as s,D as ce,c as N,bf as te,n as I,f as e,z as p,j as fe,A as W,t as b,r as $,e as u,m as n,l as V,F as L,s as A,a7 as ve,a9 as ge,a4 as ue,bc as _e,aa as be,bK as he,an as ie,bL as ye,bM as xe,bN as Ce,bO as $e,bg as X,_ as ke,h as Ne,bP as Te,x as we,B as Pe,bh as Ee,bQ as Se,bR as De,T as je,O as Re,ao as de,af as Be,i as ze,E as J,a8 as Le,aj as Oe}from"./DgGwe7jd.js";import{C as Ie,a as Ue,b as Ve}from"./XETGYn3c.js";import{_ as Ae}from"./6NXhlm49.js";import{u as Me,_ as Ge}from"./CnQob-tn.js";import{u as Fe}from"./wrneOCBW.js";import"./__PEYcIB.js";import"./DDsaDrGo.js";const qe=M({__name:"Collapsible",props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["update:open"],setup(w,{emit:h}){const a=pe(w,h);return(k,g)=>(s(),C(t(Ie),re({"data-slot":"collapsible"},t(a)),{default:l(({open:T})=>[ce(k.$slots,"default",{open:T})]),_:3},16))}}),He=M({__name:"CollapsibleContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ue),re({"data-slot":"collapsible-content"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),Ke=M({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean},as:{}},setup(w){const h=w;return(f,d)=>(s(),C(t(Ve),re({"data-slot":"collapsible-trigger"},h),{default:l(()=>[ce(f.$slots,"default")]),_:3},16))}}),me=M({__name:"PermissionBadge",props:{label:{},value:{type:[Boolean,String]},type:{default:"boolean"}},setup(w){const h=w,f=N(()=>h.type==="boolean"),d=N(()=>h.value===!0);return(a,k)=>{const g=W,T=te;return t(f)?(s(),C(T,{key:0,variant:"outline",class:I(["text-xs items-center flex gap-1 ",!t(d)&&"opacity-50"])},{default:l(()=>[e(g,{name:t(d)?"lucide:check":"lucide:x",class:I(t(fe)("size-3",t(d)&&"text-green-500"))},null,8,["name","class"]),p(" "+b(a.label),1)]),_:1},8,["class"])):(s(),C(T,{key:1,variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(a.label)+": "+b(a.value),1)]),_:1}))}}}),Qe={class:"rounded-md border"},Xe={key:1,class:"ml-auto flex gap-1"},Je={key:0,class:"border-t bg-muted/20 p-3"},We={class:"px-3 py-2 border-b border-border/50"},Ye={class:"flex flex-wrap gap-2"},Ze={class:"flex border-b border-border/50"},es=["onClick"],ss={class:"max-h-[350px] overflow-y-auto"},ts={key:0,class:"flex flex-col items-center justify-center py-6 text-muted-foreground"},ns={class:"text-xs"},as={key:1,class:"divide-y divide-border/50"},os={class:"flex-1 min-w-0"},ls={class:"text-xs font-medium truncate"},is={class:"text-muted-foreground"},rs={class:"flex items-center gap-0.5"},cs={key:1,class:"flex items-center gap-2 p-3 text-xs text-muted-foreground bg-muted/30 rounded"},us=M({__name:"DatabasePermissionCard",props:{database:{},isExpanded:{type:Boolean},isCurrentDatabase:{type:Boolean},permissions:{}},emits:["toggle","updatePermission"],setup(w,{emit:h}){const f=w,d=h,a=$("tables"),k=[{id:"schemas",label:"Schemas",icon:"hugeicons:folder-02"},{id:"tables",label:"Tables",icon:"hugeicons:grid-table"},{id:"views",label:"Views",icon:"hugeicons:property-view"},{id:"functions",label:"Functions",icon:"gravity-ui:function"}],g=N(()=>{if(!f.permissions)return[];switch(a.value){case"schemas":return f.permissions.schemaPermissions;case"tables":return f.permissions.tablePermissions;case"views":return f.permissions.viewPermissions;case"functions":return f.permissions.functionPermissions;default:return[]}}),T=N(()=>{var c,m,_,P;return{tables:((c=f.permissions)==null?void 0:c.tablePermissions.length)??0,schemas:((m=f.permissions)==null?void 0:m.schemaPermissions.length)??0,views:((_=f.permissions)==null?void 0:_.viewPermissions.length)??0,functions:((P=f.permissions)==null?void 0:P.functionPermissions.length)??0}}),y=c=>{switch(c){case"table":return"hugeicons:grid-table";case"schema":return"hugeicons:folder-02";case"view":return"hugeicons:property-view";case"function":return"gravity-ui:function";default:return"hugeicons:knight-shield"}},D=N(()=>[{id:"connect",label:"CONNECT",value:f.database.canConnect,type:"boolean"},{id:"create",label:"CREATE",value:f.database.canCreate,type:"boolean"},{id:"temp",label:"TEMP",value:f.database.canTemp,type:"boolean"}]);return(c,m)=>{const _=W,P=te,R=ue,j=ge,B=be,Q=ve,G=he;return s(),u("div",Qe,[n("div",{class:I(["flex items-center gap-1 px-3 py-2 cursor-pointer hover:bg-accent/50",!c.database.canConnect&&"opacity-50 cursor-not-allowed"]),onClick:m[0]||(m[0]=v=>c.database.canConnect&&d("toggle"))},[e(_,{name:c.isExpanded?"hugeicons:arrow-down-01":"hugeicons:arrow-right-01",class:I(["size-4 transition-transform",!c.database.canConnect&&"invisible"])},null,8,["name","class"]),e(_,{name:c.database.canConnect?"hugeicons:database":"hugeicons:database-locked",class:I(["size-4",c.database.canConnect?"text-yellow-400":"text-muted-foreground"])},null,8,["name","class"]),n("span",{class:I(["text-sm font-medium",!c.database.canConnect&&"text-muted-foreground"])},b(c.database.databaseName),3),c.database.canConnect?(s(),u("div",Xe,[c.database.canConnect?(s(),C(P,{key:0,variant:"outline",class:"text-xs"},{default:l(()=>m[1]||(m[1]=[p("CONNECT")])),_:1})):V("",!0),c.database.canCreate?(s(),C(P,{key:1,variant:"outline",class:"text-xs"},{default:l(()=>m[2]||(m[2]=[p("CREATE")])),_:1})):V("",!0),c.database.canTemp?(s(),C(P,{key:2,variant:"outline",class:"text-xs"},{default:l(()=>m[3]||(m[3]=[p("TEMP")])),_:1})):V("",!0)])):(s(),C(_,{key:0,name:"hugeicons:circle-lock-01",class:"size-3 text-muted-foreground ml-auto"}))],2),c.isExpanded&&c.database.canConnect?(s(),u("div",Je,[n("div",We,[m[4]||(m[4]=n("p",{class:"text-xs text-muted-foreground mb-2"}," Database-level privileges: ",-1)),n("div",Ye,[(s(!0),u(L,null,A(t(D),v=>(s(),C(me,{key:v.id,label:v.label,value:v.value,type:v.type},null,8,["label","value","type"]))),128))])]),c.isCurrentDatabase?(s(),u(L,{key:0},[n("div",Ze,[(s(),u(L,null,A(k,v=>n("button",{key:v.id,class:I(["flex items-center gap-1 px-3 py-1.5 text-xs transition-colors cursor-pointer",t(a)===v.id?"border-b-2 border-primary text-foreground":"text-muted-foreground border-b-2 border-transparent hover:text-foreground"]),onClick:O=>a.value=v.id},[e(_,{name:v.icon,class:"size-3"},null,8,["name"]),p(" "+b(v.label)+" ",1),e(P,{variant:"secondary",class:"ml-1 text-xs px-1 py-0"},{default:l(()=>[p(b(t(T)[v.id]),1)]),_:2},1024)],10,es)),64))]),n("div",ss,[t(g).length?(s(),u("div",as,[(s(!0),u(L,null,A(t(g),(v,O)=>(s(),u("div",{key:`${v.schemaName}-${v.objectName}-${O}`,class:"group flex items-center gap-2 px-3 py-2 hover:bg-accent/30"},[e(_,{name:y(v.objectType),class:"size-4 text-muted-foreground shrink-0"},null,8,["name"]),n("div",os,[n("p",ls,[n("span",is,b(v.schemaName)+".",1),p(b(v.objectName),1)])]),n("div",rs,[(s(!0),u(L,null,A(v.privileges,H=>(s(),C(P,{variant:"outline",class:"text-xs normal-case"},{default:l(()=>[p(b(H),1)]),_:2},1024))),256))]),e(G,null,{default:l(()=>[e(Q,null,{default:l(()=>[e(j,{"as-child":""},{default:l(()=>[e(R,{variant:"ghost",size:"iconSm",onClick:_e(H=>d("updatePermission",v),["stop"])},{default:l(()=>[e(_,{name:"hugeicons:pencil-edit-02",class:"size-3"})]),_:2},1032,["onClick"])]),_:2},1024),e(B,null,{default:l(()=>m[5]||(m[5]=[p("Update Permission")])),_:1})]),_:2},1024)]),_:2},1024)]))),128))])):(s(),u("div",ts,[e(_,{name:"hugeicons:knight-shield",class:"size-8 mb-1 opacity-50"}),n("p",ns,"No "+b(t(a))+" permissions",1)]))])],64)):(s(),u("div",cs,[e(_,{name:"hugeicons:information-circle",class:"size-4"}),m[6]||(m[6]=n("span",null,"Connect to this database to view tables, schemas, and functions permissions.",-1))]))])):V("",!0)])}}}),ds={class:"grid gap-4 py-2"},ms={class:"grid gap-2"},ps={class:"grid gap-2"},fs={class:"grid gap-2"},vs={class:"grid gap-2"},gs={class:"grid grid-cols-2 md:grid-cols-3 gap-2"},_s={class:"text-xs"},bs={class:"grid gap-2"},hs=M({__name:"GrantRevokeDialog",props:{open:{type:Boolean},mode:{},roleName:{},permission:{},loading:{type:Boolean}},emits:["update:open","confirm"],setup(w,{emit:h}){const f=["SELECT","INSERT","UPDATE","DELETE","TRUNCATE","REFERENCES","TRIGGER"],d=["USAGE","CREATE"],a=["EXECUTE"],k=["USAGE","SELECT","UPDATE"],g=w,T=h,y=$("table"),D=$("public"),c=$(""),m=$([]),_=$([]);Me();const P=N(()=>{switch(y.value){case"table":return f;case"schema":return d;case"function":return a;case"sequence":return k;default:return[]}});ie(()=>g.open,x=>{x&&(g.permission?(y.value=g.permission.objectType,D.value=g.permission.schemaName,c.value=g.permission.objectName,_.value=[...g.permission.privileges],m.value=[...g.permission.privileges]):(y.value="table",D.value="public",c.value="",_.value=[],m.value=[]))});const R=N(()=>m.value),j=N(()=>f.filter(x=>!m.value.includes(x))),B=N(()=>R.value.length>0||j.value.length>0),Q=N(()=>{const x=D.value||"<schema>",i=c.value||"<object>",F=g.roleName||"<role>",q=`${y.value.toUpperCase()} "${x}"."${i}"`,U=[];return R.value.length&&U.push(`GRANT ${R.value.join(", ")} ON ${q} TO "${F}";`),j.value.length&&U.push(`REVOKE ${j.value.join(", ")} ON ${q} FROM "${F}";`),U.length?U.join(`
2
+
3
+ `):"-- No permission changes"}),G=x=>{const i=m.value.indexOf(x);i>-1?m.value.splice(i,1):m.value.push(x)},v=()=>{B.value&&T("confirm",{objectType:y.value,schemaName:D.value,objectName:c.value,grant:R.value,revoke:j.value})},O=()=>T("update:open",!1),H=N(()=>g.mode==="grant"?`Grant Permission to ${g.roleName}`:`Update Permission for ${g.roleName}`);return(x,i)=>{const F=Ce,q=$e,U=xe,ne=Te,o=Ne,r=Pe,z=we,Y=ke,Z=Ee,ae=Ae,oe=Ge,ee=ue,se=W,E=Se,K=De,le=ye;return s(),C(le,{open:x.open,"onUpdate:open":i[3]||(i[3]=S=>T("update:open",S))},{default:l(()=>[e(K,{class:"max-w-[45vw]! w-[45vw]!"},{default:l(()=>[e(U,null,{default:l(()=>[e(F,null,{default:l(()=>[p(b(H.value),1)]),_:1}),e(q,null,{default:l(()=>i[4]||(i[4]=[p(" Tick to grant, untick to revoke privileges. ")])),_:1})]),_:1}),n("div",ds,[n("div",ms,[e(t(X),null,{default:l(()=>i[5]||(i[5]=[p("Object Type")])),_:1}),e(Y,{modelValue:y.value,"onUpdate:modelValue":i[0]||(i[0]=S=>y.value=S),disabled:x.mode==="update"},{default:l(()=>[e(o,null,{default:l(()=>[e(ne)]),_:1}),e(z,null,{default:l(()=>[e(r,{value:"table"},{default:l(()=>i[6]||(i[6]=[p("Table")])),_:1}),e(r,{value:"schema"},{default:l(()=>i[7]||(i[7]=[p("Schema")])),_:1}),e(r,{value:"function"},{default:l(()=>i[8]||(i[8]=[p("Function")])),_:1}),e(r,{value:"sequence"},{default:l(()=>i[9]||(i[9]=[p("Sequence")])),_:1})]),_:1})]),_:1},8,["modelValue","disabled"])]),n("div",ps,[e(t(X),null,{default:l(()=>i[10]||(i[10]=[p("Schema")])),_:1}),e(Z,{modelValue:D.value,"onUpdate:modelValue":i[1]||(i[1]=S=>D.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",fs,[e(t(X),null,{default:l(()=>i[11]||(i[11]=[p("Object Name")])),_:1}),e(Z,{modelValue:c.value,"onUpdate:modelValue":i[2]||(i[2]=S=>c.value=S),disabled:x.mode==="update"},null,8,["modelValue","disabled"])]),n("div",vs,[e(t(X),null,{default:l(()=>i[12]||(i[12]=[p("Privileges")])),_:1}),n("div",gs,[(s(!0),u(L,null,A(P.value,S=>(s(),u("div",{key:S,class:"flex items-center gap-2 cursor-pointer"},[e(ae,{"model-value":m.value.includes(S),"onUpdate:modelValue":Hs=>G(S)},null,8,["model-value","onUpdate:modelValue"]),n("span",_s,b(S),1)]))),128))])]),n("div",bs,[e(t(X),null,{default:l(()=>i[13]||(i[13]=[p("SQL Preview")])),_:1}),e(oe,{code:Q.value,"show-copy-button":"","max-height":"24rem"},null,8,["code"])])]),e(E,null,{default:l(()=>[e(ee,{variant:"outline",onClick:O},{default:l(()=>i[14]||(i[14]=[p(" Cancel ")])),_:1}),e(ee,{disabled:!B.value||x.loading,onClick:v},{default:l(()=>[x.loading?(s(),C(se,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):V("",!0),p(" "+b(x.mode==="grant"?"Grant":"Update"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),ys={class:"px-4 py-3 shrink-0"},xs={class:"flex items-center gap-2 mb-2"},Cs={key:0,class:"flex flex-wrap gap-2"},$s={key:1,class:"mt-2 text-xs text-muted-foreground"},ks={class:"text-foreground"},Ns=M({__name:"RoleAttributesCard",props:{roleInfo:{}},setup(w){const h=w,f=N(()=>{if(!h.roleInfo)return[];const a=h.roleInfo;return[{id:"superuser",label:"Superuser",value:a.isSuperuser,type:"boolean"},{id:"login",label:"Can Login",value:a.canLogin,type:"boolean"},{id:"createdb",label:"Create DB",value:a.canCreateDb,type:"boolean"},{id:"createrole",label:"Create Role",value:a.canCreateRole,type:"boolean"},{id:"replication",label:"Replication",value:a.isReplication,type:"boolean"},{id:"connlimit",label:"Connections",value:a.connectionLimit===-1?"Unlimited":`${a.connectionLimit}`,type:"text"}]}),d=N(()=>{var a,k;return(k=(a=h.roleInfo)==null?void 0:a.memberOf)!=null&&k.length?h.roleInfo.memberOf:[]});return(a,k)=>{const g=W,T=te;return s(),u("div",ys,[n("div",xs,[e(g,{name:"hugeicons:shield-01",class:"size-4"}),k[0]||(k[0]=n("p",{class:"text-sm font-medium"},"Role Attributes",-1))]),a.roleInfo?(s(),u("div",Cs,[(s(!0),u(L,null,A(t(f),y=>(s(),C(me,{key:y.id,label:y.label,value:y.value,type:y.type},null,8,["label","value","type"]))),128)),a.roleInfo.validUntil?(s(),C(T,{key:0,variant:"secondary",class:"text-xs"},{default:l(()=>[e(g,{name:"lucide:calendar",class:"size-3 mr-1"}),p(" Expires: "+b(new Date(a.roleInfo.validUntil).toLocaleDateString()),1)]),_:1})):V("",!0)])):V("",!0),t(d).length?(s(),u("div",$s,[k[1]||(k[1]=p(" Member of: ")),n("span",ks,b(t(d).join(", ")),1)])):V("",!0)])}}}),Ts={class:"flex flex-col h-full p-1 relative"},ws={class:"flex flex-col h-full border rounded-md overflow-hidden"},Ps={class:"flex items-center gap-3 px-4 py-1 bg-sidebar"},Es={class:"font-normal text-sm"},Ss={class:"ml-auto flex items-center gap-2"},Ds={key:0,class:"flex-1 flex items-center justify-center"},js={key:1,class:"flex-1 flex flex-col items-center justify-center p-4"},Rs={class:"text-sm text-destructive"},Bs={class:"px-4 pt-0 pb-3"},zs={class:"flex items-center gap-2 mb-2"},Ls={class:"flex items-center gap-2"},Os={variant:"secondary",class:"text-xs cursor-pointer text-muted-foreground flex items-center gap-1"},Is={class:"text-xs ml-1"},Us={key:0,class:"flex items-center gap-2 text-muted-foreground"},Vs={key:1,class:"text-sm text-muted-foreground"},As={key:2,class:"space-y-1"},Ms={class:"flex flex-col flex-1 min-h-0 p-4 pt-0"},Gs={class:"flex items-center gap-2 mb-3 shrink-0"},Fs={key:0,class:"flex items-center gap-2 text-muted-foreground"},qs={key:2,class:"space-y-1 flex-1 overflow-y-auto"},et=M({__name:"[roleName]",setup(w){const h=je(),f=Re(),d=N(()=>h.params.roleName),a=N(()=>f.selectedConnection),k=N(()=>{if(!a.value)return"";if(a.value.database)return a.value.database;const o=a.value.connectionString;if(!o)return"";try{return new URL(o).pathname.slice(1)||""}catch{const r=o.match(/\/([^/?]+)(\?|$)/);return(r==null?void 0:r[1])||""}}),g=o=>k.value.toLowerCase()===o.toLowerCase(),T=$(null),y=$([]),D=async()=>{if(!(!a.value||!d.value))try{const r=await $fetch("/api/database-roles/get-role",{method:"POST",body:{...J(a.value),roleName:d.value}});r&&(T.value={isSuperuser:r.isSuperuser,canLogin:r.canLogin,canCreateDb:r.canCreateDb,canCreateRole:r.canCreateRole,isReplication:r.isReplication,connectionLimit:r.connectionLimit,validUntil:r.validUntil,memberOf:r.memberOf})}catch(o){console.error("Error fetching role info:",o)}},c=$(!1),m=async()=>{if(!(!a.value||!d.value)){c.value=!0;try{const o=await $fetch("/api/database-roles/get-role-inheritance",{method:"POST",body:{...J(a.value),roleName:d.value}});y.value=o}catch(o){console.error("Error fetching role inheritance:",o),y.value=[]}finally{c.value=!1}}},_=$(!1),P=$(!1),R=$(null),j=$(null),B=async()=>{if(!(!a.value||!d.value)){_.value=!0,j.value=null;try{const o=await $fetch("/api/database-roles/get-permissions",{method:"POST",body:{...J(a.value),roleName:d.value}});R.value=o}catch(o){j.value=o instanceof Error?o.message:"Failed to fetch permissions",console.error("Error fetching permissions:",o)}finally{_.value=!1}}};de(()=>{B(),D(),m()}),ie(d,()=>{B(),D(),m()});const{isLoading:Q,databasePermissions:G,fetchDatabasePermissions:v}=Fe(a),O=$(new Set),H=o=>{O.value.has(o)?O.value.delete(o):O.value.add(o)},x=o=>O.value.has(o);de(()=>v(d.value)),ie(d,o=>v(o));const i=$(!1),F=$("grant"),q=$(),U=o=>{F.value="update",q.value=o,i.value=!0},ne=async o=>{if(!(!a.value||!d.value)){P.value=!0;try{const r=[];o.grant.length>0&&r.push($fetch("/api/database-roles/grant-permission",{method:"POST",body:{...J(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.grant}})),o.revoke.length>0&&r.push($fetch("/api/database-roles/revoke-permission",{method:"POST",body:{...J(a.value),roleName:d.value,objectType:o.objectType,schemaName:o.schemaName,objectName:o.objectName,privileges:o.revoke}})),await Promise.all(r),i.value=!1,await B()}catch(r){console.error("Error updating permissions:",r)}finally{P.value=!1}}};return(o,r)=>{const z=W,Y=ue,Z=Ke,ae=He,oe=qe,ee=te,se=Oe;return s(),u("div",Ts,[n("div",ws,[n("div",Ps,[n("div",null,[n("p",Es,b(t(d)),1)]),n("div",Ss,[e(Y,{variant:"outline",size:"iconSm",disabled:t(_),onClick:B},{default:l(()=>[e(z,{name:t(_)?"hugeicons:loading-03":"lucide:refresh-cw",class:I(["size-4",t(_)&&"animate-spin"])},null,8,["name","class"])]),_:1},8,["disabled"])])]),t(_)?(s(),u("div",Ds,[e(t(Be),{visible:t(_)},null,8,["visible"])])):t(j)?(s(),u("div",js,[e(z,{name:"hugeicons:information-circle",class:"size-12 text-destructive"}),n("p",Rs,b(t(j)),1),e(Y,{variant:"outline",size:"sm",class:"mt-4 font-normal",onClick:B},{default:l(()=>r[1]||(r[1]=[p(" Retry ")])),_:1})])):t(R)?(s(),u(L,{key:2},[e(Ns,{"role-info":t(T)},null,8,["role-info"]),n("div",Bs,[e(oe,{"default-open":!0},{default:l(({open:E})=>[n("div",zs,[n("div",Ls,[e(z,{name:"lucide:git-branch",class:"size-4 text-muted-foreground"}),r[2]||(r[2]=n("p",{class:"text-sm font-medium"},"Inherited from",-1))]),e(Z,{"as-child":""},{default:l(()=>[n("div",Os,[n("span",Is,b(E?"Collapse":"Expand"),1),e(z,{name:"lucide:chevron-down",class:I(["size-4 transition-transform",E&&"rotate-180"])},null,8,["class"])])]),_:2},1024)]),e(ae,null,{default:l(()=>[t(c)?(s(),u("div",Us,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[3]||(r[3]=n("span",{class:"text-sm"},"Loading inheritance...",-1))])):t(y).length===0?(s(),u("div",Vs," No inherited roles ")):(s(),u("div",As,[(s(!0),u(L,null,A(t(y),(K,le)=>(s(),u("div",{key:`${K.roleName}-${le}`,class:"flex items-center text-sm gap-1 hover:bg-accent rounded-sm",style:Le({paddingLeft:`${K.depth*16}px`})},[e(z,{name:"lucide:corner-down-right",class:"size-3 text-muted-foreground"}),n("span",null,b(K.roleName),1)],4))),128))]))]),_:1})]),_:1})]),n("div",Ms,[n("div",Gs,[e(z,{name:"hugeicons:database",class:"size-5 text-yellow-400"}),r[4]||(r[4]=n("p",{class:"text-sm font-medium"},"Database Access",-1)),e(ee,{variant:"secondary",class:"text-xs"},{default:l(()=>[p(b(t(G).filter(E=>E.canConnect).length),1)]),_:1})]),t(Q)?(s(),u("div",Fs,[e(z,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),r[5]||(r[5]=n("span",{class:"text-sm"},"Loading databases...",-1))])):t(G).length===0?(s(),C(se,{key:1,title:"No permissions found",desc:"No database permissions were found for this role."})):(s(),u("div",qs,[(s(!0),u(L,null,A(t(G),E=>(s(),C(us,{key:E.databaseName,database:E,"is-expanded":x(E.databaseName),"is-current-database":g(E.databaseName),permissions:t(R),onToggle:K=>H(E.databaseName),onUpdatePermission:U},null,8,["database","is-expanded","is-current-database","permissions","onToggle"]))),128))]))])],64)):(s(),C(se,{key:3,icon:"hugeicons:shield-01",title:"No data available",desc:"No permissions data is available for the current selection."}))]),e(hs,{open:t(i),"onUpdate:open":r[0]||(r[0]=E=>ze(i)?i.value=E:null),mode:t(F),roleName:t(d),permission:t(q),loading:t(P),onConfirm:ne},null,8,["open","mode","roleName","permission","loading"])])}}});export{et as default};
@@ -0,0 +1,9 @@
1
+ import{ab as g,ac as E}from"./DgGwe7jd.js";const A="#",h="_____#",S="isNewRow",T=[h,S],O=35,b=" ",I=`
2
+ `,f=async e=>{try{await navigator.clipboard.writeText(e),console.log("Copied successfully!")}catch(o){console.error("Copy failed:",o)}},l=(e,o=!1)=>e.map(t=>{const c={...t};return o&&Object.keys(c).forEach(n=>{const r=c[n];r!==null&&typeof r=="object"&&!(r instanceof Date)&&(c[n]=JSON.stringify(r))}),T.forEach(n=>{delete c[n]}),c}),j=e=>e==null?"NULL":typeof e=="boolean"?e?"TRUE":"FALSE":typeof e=="number"||typeof e=="bigint"?String(e):typeof e=="string"?`'${e.replace(/'/g,"''")}'`:e instanceof Date?`'${e.toISOString().slice(0,19).replace("T"," ")}'`:`'${JSON.stringify(e).replace(/'/g,"''")}'`,$=(e,o,t,c)=>{if(e.length===0)return"";const n=Object.keys(e[0]),r=c?`"${c}"."${o}"`:`"${o}"`,s=e.map(i=>`(${n.map(_=>j(i[_])).join(", ")})`);return`-- ${t} ${e.length} rows on ${new Date().toLocaleString()}
3
+ -- Table: ${c?`${c}.`:""}${o}
4
+
5
+ INSERT INTO ${r} (${n.map(i=>`"${i}"`).join(", ")})
6
+ VALUES
7
+ ${s.join(`,
8
+ `)};
9
+ `},R=(e,o,t,c)=>{if(e.length){if(t==="csv-with-header"||t==="csv-no-header"){const n=l(e,!0),r=t==="csv-with-header",s=g.unparse(n,{header:r,delimiter:b});f(s);return}if(t==="json"){const n=l(e);f(JSON.stringify(n));return}if(t==="sql"){const n=l(e),r=$(n,o,"Copied",c);f(r);return}}},q=(e,o,t,c,n)=>{if(!e.length)return;const s=l(e,t==="csv-with-header"||t==="csv-no-header"),d=s.length,i=c==="selected"?`selected_${d}_rows`:`all_${d}_rows`,_=new Date().toISOString().slice(0,19).replace(/:/g,"-"),D=`${o}_${i}_${_}`;let u,p;if(t==="csv-with-header"||t==="csv-no-header"){const a=t==="csv-with-header",y=g.unparse(s,{header:a});u=new Blob(["\uFEFF"+y],{type:"text/csv;charset=utf-8;"}),p="csv"}else if(t==="json"){const a=JSON.stringify(s);u=new Blob([a],{type:"application/json"}),p="json"}else if(t==="sql"){const a=l(e),y=$(a,o,"Exported",n);u=new Blob([y],{type:"text/sql"}),p="sql"}else return;E.saveAs(u,`${D}.${p}`)},H=(e,o,t)=>{if(!o||!e.length)return;const n=e.map(s=>s[o]).map(s=>s==null?"":typeof s=="object"&&!(s instanceof Date)?JSON.stringify(s):s),r=t==="json"?JSON.stringify(n,null,2):n.join(I);f(r)};export{O as D,h as H,S as N,R as a,H as b,f as c,A as d,T as e,q as f};
@@ -1 +1 @@
1
- .splitpanes{display:flex;height:100%;width:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane,:has(.splitpanes--dragging){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.splitpanes__pane{height:100%;overflow:hidden;width:100%}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out;will-change:width}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out;will-change:height}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{background-color:#fff;box-sizing:border-box;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:after,.default-theme.splitpanes .splitpanes__splitter:before{background-color:#00000026;content:"";left:50%;position:absolute;top:50%;transition:background-color .3s}.default-theme.splitpanes .splitpanes__splitter:hover:after,.default-theme.splitpanes .splitpanes__splitter:hover:before{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme .splitpanes--vertical>.splitpanes__splitter,.default-theme.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;margin-left:-1px;width:7px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{height:30px;transform:translateY(-50%);width:1px}.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter,.default-theme.splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{height:1px;transform:translate(-50%);width:30px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.splitpanes--vertical>.splitpanes__splitter{border:none!important;width:1px!important}.splitpanes--horizontal>.splitpanes__splitter{border:none!important;height:1px!important}.splitpanes__pane{background:var(--color-background)!important}.splitpanes__splitter:before{opacity:0!important}.splitpanes--vertical>.splitpanes__splitter:after{background-color:var(--border)!important;border-radius:calc(var(--radius));height:calc(var(--spacing)*10)!important;margin-left:-3px!important;width:calc(var(--spacing)*1.5)!important}.splitpanes--horizontal>.splitpanes__splitter:after{background-color:var(--border)!important;border-radius:calc(var(--radius));height:calc(var(--spacing)*1.5)!important;margin-top:-3px!important;width:calc(var(--spacing)*10)!important}.splitpanes__splitter{background-color:var(--border)!important;margin:0!important}.splitpanes__splitter:hover{background-color:var(--color-gray-300)!important}[data-v-d4daf140] .error-highlight{background-color:color-mix(in srgb,#ef4444 25%,transparent);border-radius:2px;padding:1px 0;-webkit-text-decoration:wavy underline;text-decoration:wavy underline;text-decoration-color:#ef4444;text-underline-offset:3px}.error-query-container[data-v-d4daf140] pre{position:relative}.error-query-container[data-v-d4daf140] .error-highlight{display:inline;position:relative}.operation-cell .ag-cell-value{overflow:visible!important;width:100%}.operation-cell .ag-cell-wrapper{width:100%}
1
+ .splitpanes{display:flex;height:100%;width:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane,:has(.splitpanes--dragging){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.splitpanes__pane{height:100%;overflow:hidden;width:100%}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out;will-change:width}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out;will-change:height}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{background-color:#fff;box-sizing:border-box;flex-shrink:0;position:relative}.default-theme.splitpanes .splitpanes__splitter:after,.default-theme.splitpanes .splitpanes__splitter:before{background-color:#00000026;content:"";left:50%;position:absolute;top:50%;transition:background-color .3s}.default-theme.splitpanes .splitpanes__splitter:hover:after,.default-theme.splitpanes .splitpanes__splitter:hover:before{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme .splitpanes--vertical>.splitpanes__splitter,.default-theme.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;margin-left:-1px;width:7px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{height:30px;transform:translateY(-50%);width:1px}.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter,.default-theme.splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{height:1px;transform:translate(-50%);width:30px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.splitpanes--vertical>.splitpanes__splitter{border:none!important;width:1px!important}.splitpanes--horizontal>.splitpanes__splitter{border:none!important;height:1px!important}.splitpanes__pane{background:var(--color-background)!important}.splitpanes__splitter:before{opacity:0!important}.splitpanes--vertical>.splitpanes__splitter:after{background-color:var(--border)!important;border-radius:calc(var(--radius));height:calc(var(--spacing)*10)!important;margin-left:-3px!important;width:calc(var(--spacing)*1.5)!important}.splitpanes--horizontal>.splitpanes__splitter:after{background-color:var(--border)!important;border-radius:calc(var(--radius));height:calc(var(--spacing)*1.5)!important;margin-top:-3px!important;width:calc(var(--spacing)*10)!important}.splitpanes__splitter{background-color:var(--border)!important;margin:0!important}.splitpanes__splitter:hover{background-color:var(--color-gray-300)!important}[data-v-3dcef677] .error-highlight{background-color:color-mix(in srgb,#ef4444 25%,transparent);border-radius:2px;padding:1px 0;-webkit-text-decoration:wavy underline;text-decoration:wavy underline;text-decoration-color:#ef4444;text-underline-offset:3px}.error-query-container[data-v-3dcef677] pre{position:relative}.error-query-container[data-v-3dcef677] .error-highlight{display:inline;position:relative}.operation-cell .ag-cell-value{overflow:visible!important;width:100%}.operation-cell .ag-cell-wrapper{width:100%}
@@ -1 +1 @@
1
- {"id":"9b89410f-7683-420e-9dea-d15741f0e6ce","timestamp":1777944570071}
1
+ {"id":"47c294b1-d6b3-4974-bd50-5046ae0a393e","timestamp":1779640856359}
@@ -0,0 +1 @@
1
+ {"id":"47c294b1-d6b3-4974-bd50-5046ae0a393e","timestamp":1779640856359,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -0,0 +1,16 @@
1
+ import{cf as re,d as oe,c as k,e as _,o as T,m as ne,l as G,k as le,q as me,t as Q,cg as se,r as b,an as X,bc as M,a8 as F,n as Y,I as Be,f as Z,g as L,A as W,J as Fe,bE as te,D as he,ar as ye,aI as Ne,ch as He,ci as Ve,cj as Le,ck as je,ao as Je,F as qe,s as Ye,cl as Ue,w as fe,z as Ze,cm as We,as as Ge,cn as Qe,bi as ge}from"./DgGwe7jd.js";/**
2
+ * @license lucide-vue-next v0.487.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const Xe=re("file",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/**
7
+ * @license lucide-vue-next v0.487.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const et=re("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
12
+ * @license lucide-vue-next v0.487.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const tt=re("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]),at={class:"drag-preview"},nt={class:"drag-preview__icon"},lt={class:"drag-preview__text"},rt={key:0,class:"drag-preview__badge"},ot=oe({__name:"PseudomorphismDragItem",props:{count:{},itemName:{},itemType:{}},setup(f){const I=f,R=k(()=>I.count>1?tt:I.itemType==="folder"?et:Xe),l=k(()=>I.count===1?I.itemName:`${I.count} items`),c=k(()=>I.count>1);return(i,v)=>(T(),_("div",at,[ne("span",nt,[(T(),le(me(R.value),{size:16,"stroke-width":2}))]),ne("span",lt,Q(l.value),1),c.value?(T(),_("span",rt,Q(i.count),1)):G("",!0)]))}}),st=se(ot,[["__scopeId","data-v-93dbafcc"]]),it=["draggable"],dt={key:1,class:"tree-row__spacer"},ut={key:4,class:"tree-row__name"},ct=["aria-invalid","aria-errormessage","onKeydown"],vt=oe({__name:"TreeRow",props:{node:{},isSelected:{type:Boolean},isExpanded:{type:Boolean},isFocused:{type:Boolean},dropIndicator:{},isEditing:{type:Boolean,default:!1},renameError:{default:""},allowDragAndDrop:{type:Boolean,default:!0},itemHeight:{default:24},indentSize:{default:20},baseIndent:{default:8}},emits:["click","dblclick","toggle","dragstart","dragover","dragleave","dragend","drop","contextmenu","rename","editingChange","cancelRename"],setup(f,{expose:I,emit:R}){const l=f,c=R,i=b(l.node.name),v=b(null),E=()=>{const d=i.value.trim();d&&d!==l.node.name?c("rename",d):c("cancelRename")},m=k(()=>!!l.renameError),C=()=>{if(m.value){x();return}E()},x=()=>{i.value=l.node.name,c("cancelRename")},p=async()=>{var d,r;await ye(),(d=v.value)==null||d.focus(),(r=v.value)==null||r.select()};X(()=>l.isEditing,d=>{d&&(i.value=l.node.name,p())}),X(()=>l.node.name,d=>{l.isEditing||(i.value=d)});const w=k(()=>({paddingLeft:`${l.node.depth*l.indentSize+l.baseIndent}px`,height:`${l.itemHeight}px`})),u=k(()=>l.node.type==="folder"&&l.isExpanded&&l.node.iconOpen||l.node.iconClose),D=k(()=>l.node.type==="folder"?l.isExpanded?"hugeicons:folder-02":"hugeicons:folder-01":"hugeicons:file-01"),S=k(()=>{var d,r,h;return{"tree-row":!0,"tree-row--selected":l.isSelected,"tree-row--focused":l.isFocused&&!l.isEditing,"tree-row--drop-before":((d=l.dropIndicator)==null?void 0:d.position)==="before","tree-row--drop-after":((r=l.dropIndicator)==null?void 0:r.position)==="after","tree-row--drop-inside":((h=l.dropIndicator)==null?void 0:h.position)==="inside"}}),s=k(()=>({transform:l.isExpanded?"rotate(90deg)":"rotate(0deg)"}));return I({focusInput:p}),(d,r)=>(T(),_("div",{class:Y(S.value),style:F(w.value),draggable:d.allowDragAndDrop&&!d.isEditing,onClick:r[7]||(r[7]=h=>c("click",h)),onDblclick:r[8]||(r[8]=h=>c("dblclick",h)),onDragstart:r[9]||(r[9]=h=>c("dragstart",h)),onDragover:r[10]||(r[10]=h=>c("dragover",h)),onDragleave:r[11]||(r[11]=h=>c("dragleave",h)),onDragend:r[12]||(r[12]=h=>c("dragend",h)),onDrop:r[13]||(r[13]=h=>c("drop",h)),onContextmenu:r[14]||(r[14]=M(h=>c("contextmenu",h),["right"]))},[d.node.type==="folder"?(T(),_("button",{key:0,class:"tree-row__chevron",style:F(s.value),onClick:r[0]||(r[0]=M(h=>c("toggle"),["stop"]))},[Z(L(W),{name:"hugeicons:arrow-right-01",class:"size-4"})],4)):(T(),_("div",dt)),u.value?(T(),le(L(W),{key:2,name:u.value,class:Y(["tree-row__icon size-4!",d.node.iconClass])},null,8,["name","class"])):(T(),le(me(L(W)),{key:3,name:D.value,class:Y(["tree-row__icon",d.node.iconClass])},null,8,["name","class"])),d.isEditing?Be((T(),_("input",{key:5,ref_key:"inputRef",ref:v,"onUpdate:modelValue":r[1]||(r[1]=h=>i.value=h),type:"text",class:Y(["tree-row__edit-input",{"tree-row__edit-input--error":m.value}]),"aria-invalid":m.value,"aria-errormessage":m.value?`rename-error-${d.node.id}`:void 0,onInput:r[2]||(r[2]=h=>c("editingChange",i.value)),onBlur:C,onKeydown:[te(M(E,["stop"]),["enter"]),te(x,["esc"]),r[3]||(r[3]=te(M(()=>{},["stop"]),["space"]))],onClick:r[4]||(r[4]=M(()=>{},["stop"])),onDblclick:r[5]||(r[5]=M(()=>{},["stop"]))},null,42,ct)),[[Fe,i.value]]):(T(),_("span",ut,Q(d.node.name),1)),d.isEditing?G("",!0):(T(),_("div",{key:6,class:"tree-row__actions",onClick:r[6]||(r[6]=M(()=>{},["stop"]))},[he(d.$slots,"actions",{node:d.node},void 0,!0)]))],46,it))}}),pt=se(vt,[["__scopeId","data-v-87254827"]]),ae=f=>typeof f=="object"&&f!==null&&"then"in f&&typeof f.then=="function",B=f=>Array.isArray(f)?f.filter(I=>typeof I=="string"):null,U=f=>[...f],ft=()=>({loadExpandedIds:f=>{if(typeof window>"u")return null;const I=window.localStorage.getItem(`${f}_expanded`);if(!I)return null;try{return B(JSON.parse(I))}catch{return null}},saveExpandedIds:(f,I)=>{typeof window>"u"||window.localStorage.setItem(`${f}_expanded`,JSON.stringify(I))},clearExpandedIds:f=>{typeof window>"u"||window.localStorage.removeItem(`${f}_expanded`)}}),gt=(f={})=>{const I=f.pushDebounceMs??400,R=new Map,l=new Set,c=new Map,i=(p,w)=>{var u;(u=f.onError)==null||u.call(f,p,w)},v=()=>f.webStorage??ft(),E=(p,w)=>{var d;const u=(d=f.apiSync)==null?void 0:d.pushExpandedIds;if(!u)return;const D=p.storageKey,S=c.get(D);S&&clearTimeout(S);const s=setTimeout(()=>{c.delete(D);const r=u(D,U(w)).catch(h=>{i(h,"push")});l.add(r),r.finally(()=>{l.delete(r)})},I);c.set(D,s)},m=(p,w)=>{const D=v().saveExpandedIds(p.storageKey,U(w));ae(D)&&D.catch(S=>{i(S,"save")})},C=p=>{const u=v().loadExpandedIds(p.storageKey);return ae(u)?(u.then(D=>{const S=B(D);S&&R.set(p.storageKey,S)}).catch(D=>{i(D,"load")}),null):B(u)};return{loadExpandedIds:p=>{const w=R.get(p.storageKey);if(w)return U(w);const u=C(p);return u&&R.set(p.storageKey,u),u},saveExpandedIds:(p,w)=>{const u=B(p)??[];R.set(w.storageKey,u),m(w,u),E(w,u)},clearExpandedIds:p=>{var S;R.delete(p.storageKey);const w=c.get(p.storageKey);w&&(clearTimeout(w),c.delete(p.storageKey));const u=v(),D=(S=u.clearExpandedIds)==null?void 0:S.call(u,p.storageKey);ae(D)&&D.catch(s=>{i(s,"clear")}),E(p,[])},preload:async p=>{var d;const w=v();let u=null;try{const r=await w.loadExpandedIds(p.storageKey);u=B(r)}catch(r){i(r,"preload")}const D=(d=f.apiSync)==null?void 0:d.pullExpandedIds;if(!D)return u&&R.set(p.storageKey,u),u;let S=null;try{const r=await D(p.storageKey);S=B(r)}catch(r){i(r,"pull")}const s=f.preferRemote?S??u:u??S;if(!s)return null;R.set(p.storageKey,s);try{await w.saveExpandedIds(p.storageKey,U(s))}catch(r){i(r,"save")}return s},flush:async()=>{await Promise.all(Array.from(l))}}},mt=["id"],ht=oe({__name:"FileTree",props:{initExpandedIds:{},initialData:{},validateRename:{},storageKey:{default:"vscode_tree_state"},allowSort:{type:Boolean,default:!1},allowDragAndDrop:{type:Boolean,default:!0},itemHeight:{default:24},indentSize:{default:20},baseIndent:{default:8},autoExpandDelay:{default:100},delayFocus:{default:50},autoScrollThreshold:{default:50},autoScrollSpeed:{default:10},overscan:{default:10},persistenceExtension:{default:()=>gt({mode:"web",pushDebounceMs:400})}},emits:["move","select","click","contextmenu","rename","cancel-rename"],setup(f,{expose:I,emit:R}){const l=f,c=R,i=Ne({}),v=b(new Set(l.initExpandedIds||[])),E=b(new Set),m=b(null),C=b(null),x=b({}),p=k(()=>({storageKey:`${l.storageKey}_expanded`})),w=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):null,u=k(()=>({load:()=>{var t;const e=(t=l.persistenceExtension)==null?void 0:t.loadExpandedIds;if(!e)return null;try{const n=e(p.value);return w(n)}catch(n){return console.error("Failed to load expanded ids from persistence extension",n),null}},save:e=>{var n;const t=(n=l.persistenceExtension)==null?void 0:n.saveExpandedIds;if(t)try{t(e,p.value)}catch(a){console.error("Failed to save expanded ids using persistence extension",a)}}})),D=k(()=>l.persistenceExtension?u.value:null),S=k(()=>Object.values(i.value).filter(e=>e.parentId===null).map(e=>e.id)),s=k(()=>{const e=[],t=n=>{for(const a of n){e.push(a);const o=i.value[a];o.children&&o.children.length>0&&v.value.has(a)&&t(o.children)}};return t(S.value),e}),d=He("parentRef"),r=b(!1),h=b(0),N=Ve({get count(){return s.value.length},getScrollElement:()=>d.value,estimateSize:()=>l.itemHeight,overscan:l.overscan});Le(()=>{h.value=Math.round(N.value.scrollOffset??0)||0}),je(async()=>{await ye(),setTimeout(()=>{N.value.scrollToOffset(h.value)},0)});const z=b(null),K=b(null),j=b(null),J=b(null),$=b(null),O=b(!1),A=b(null),ee=k(()=>{if(!A.value||!O.value)return null;const e=A.value,t=s.value.indexOf(e);if(t===-1)return null;const n=i.value[e];if(!n)return null;let a=t;for(let o=t+1;o<s.value.length&&i.value[s.value[o]].depth>n.depth;o++)a=o;return{top:t*l.itemHeight,height:(a-t+1)*l.itemHeight}}),q=k(()=>{if(!C.value)return null;const e=x.value[C.value];if(!e)return null;const t=s.value.indexOf(C.value);if(t===-1)return null;const n=i.value[C.value];if(!n)return null;const a=(t+1)*l.itemHeight+2,o=n.depth*l.indentSize+l.baseIndent+20+22;return{top:a,left:o,message:e}}),H=e=>{v.value.has(e)?v.value.delete(e):v.value.add(e),v.value=new Set(v.value)},ie=(e,t)=>{if(e.ctrlKey||e.metaKey)E.value.has(t)?E.value.delete(t):E.value.add(t),E.value=new Set(E.value);else if(e.shiftKey&&m.value){const n=s.value.indexOf(m.value),a=s.value.indexOf(t),[o,y]=n<a?[n,a]:[a,n];E.value=new Set(s.value.slice(o,y+1))}else E.value=new Set([t]);m.value=t,c("select",Array.from(E.value)),e.type==="click"&&c("click",t,e)},xe=e=>{i.value[e].type==="folder"&&H(e)},we=(e,t)=>{if(!l.allowDragAndDrop){e.preventDefault();return}z.value=t,O.value=!0;const n=i.value[t],a=E.value.has(t)&&E.value.size>1,o=a?Array.from(E.value):[t];if(e.dataTransfer){e.dataTransfer.effectAllowed="move";const y={nodeId:t,node:n,selectedNodeIds:a?o:void 0};e.dataTransfer.setData("application/json",JSON.stringify(y));const g=De(o.length,n.name,n.type);document.body.appendChild(g),e.dataTransfer.setDragImage(g,20,20),setTimeout(()=>{document.body.removeChild(g)},0)}},De=(e,t,n)=>{const a=document.createElement("div"),o=Ge(st,{count:e,itemName:t,itemType:n});return Qe(o,a),a.firstElementChild},Ee=e=>{if(!d.value||!O.value)return;const t=d.value,n=t.getBoundingClientRect(),a=l.autoScrollThreshold,o=l.autoScrollSpeed,y=e.clientY-n.top,g=n.height;$.value&&(clearInterval($.value),$.value=null),y<a&&y>0?$.value=ge(()=>{t.scrollTop>0&&(t.scrollTop-=o)},16):y>g-a&&y<g&&($.value=ge(()=>{const P=t.scrollHeight-t.clientHeight;t.scrollTop<P&&(t.scrollTop+=o)},16))},de=(e,t)=>{var a;let n=e;for(;n;){if(n===t)return!0;n=((a=i.value[n])==null?void 0:a.parentId)??null}return!1},Ie=(e,t)=>{const a=e.currentTarget.getBoundingClientRect(),o=e.clientY-a.top,y=a.height,g=i.value[t];return!l.allowSort||g.type==="folder"&&o>y*.2&&o<y*.8?"inside":o<y/2?"before":"after"},Se=(e,t)=>{if(e.preventDefault(),!l.allowDragAndDrop||!z.value||z.value===t)return;const n=i.value[t];Ee(e);let a=null;if(n.type==="folder"?a=t:n.parentId&&(a=n.parentId),a===z.value||a&&de(a,z.value)){A.value=null,K.value=null;return}if(a&&(A.value=a,K.value={nodeId:a,position:"inside"}),l.allowSort&&n.type==="folder"){const y=Ie(e,t);y!=="inside"&&(A.value=null,K.value={nodeId:t,position:y})}const o=a||t;if(o!==J.value){clearTimeout(j.value),J.value=o;const y=i.value[o];(y==null?void 0:y.type)==="folder"&&!v.value.has(o)&&(j.value=setTimeout(()=>{J.value===o&&O.value&&(v.value.add(o),v.value=new Set(v.value))},l.autoExpandDelay))}},ke=()=>{},V=()=>{clearTimeout(j.value),$.value&&(clearInterval($.value),$.value=null),O.value=!1,z.value=null,K.value=null,J.value=null,A.value=null},be=(e,t)=>{var y,g;if(e.preventDefault(),!l.allowDragAndDrop)return;if(clearTimeout(j.value),$.value&&(clearInterval($.value),$.value=null),!z.value){V();return}let n;try{const P=(y=e.dataTransfer)==null?void 0:y.getData("application/json");if(P){const pe=JSON.parse(P);n=pe.selectedNodeIds||[pe.nodeId]}else n=[z.value]}catch{n=[z.value]}const a=A.value||t,o=A.value?"inside":((g=K.value)==null?void 0:g.position)||"inside";if(n.includes(a)||n.some(P=>de(a,P))){console.warn("Cannot drop item onto itself or into its own subtree"),V();return}if(!l.allowSort){c("move",n.length===1?n[0]:n,a,"inside"),V();return}c("move",n.length===1?n[0]:n,a,o),V()},ue=e=>{if(!d.value)return;const t=s.value.indexOf(e);t!==-1&&N.value.scrollToIndex(t,{align:"center",behavior:"auto"})},Te=e=>{if(!m.value)return;const t=s.value.indexOf(m.value);if(t===-1)return;let n=t;switch(e.key){case"ArrowDown":e.preventDefault(),n=Math.min(t+1,s.value.length-1);break;case"ArrowUp":e.preventDefault(),n=Math.max(t-1,0);break;case"ArrowRight":{e.preventDefault(),i.value[m.value].type==="folder"&&(v.value.has(m.value)?n=t+1:H(m.value));break}case"ArrowLeft":{e.preventDefault();const o=i.value[m.value];o.type==="folder"&&v.value.has(m.value)?H(m.value):o.parentId&&(n=s.value.indexOf(o.parentId));break}case"Enter":case" ":e.preventDefault(),i.value[m.value].type==="folder"?H(m.value):c("click",m.value,e);break}n!==t&&(m.value=s.value[n],ue(m.value))},Ce=(e,t)=>{ie(e,t),c("contextmenu",t,e)},Re=(e,t)=>{if(l.validateRename){const n=l.validateRename(e,t);if(n!==!0){x.value={...x.value,[e]:n},C.value=e;return}}if(x.value[e]){const n={...x.value};delete n[e],x.value=n}C.value=null,c("rename",e,t)},_e=e=>{if(x.value[e]){const t={...x.value};delete t[e],x.value=t}C.value=null,c("cancel-rename",e)},$e=(e,t)=>{if(!l.validateRename)return;const n=l.validateRename(e,t),a=!!x.value[e];if(n!==!0){x.value={...x.value,[e]:n};return}if(n===!0&&a){const o={...x.value};delete o[e],x.value=o}},Ae=e=>{if(x.value[e]){const t={...x.value};delete t[e],x.value=t}C.value=e};X(()=>Array.from(v.value),e=>{var t;(t=D.value)==null||t.save(e)}),Je(()=>{var t;l.initialData&&(i.value=l.initialData);const e=(t=D.value)==null?void 0:t.load();e!=null&&(v.value=new Set(e))}),X(()=>l.initialData,e=>{e&&(i.value=e)},{deep:!0});const ce=k(()=>{const e=[];for(const t in i.value){const n=i.value[t];n.type==="folder"&&e.push(n.id)}return e}),ze=()=>{v.value=new Set(ce.value)},Ke=()=>{v.value=new Set},Me=k(()=>{const e=ce.value;if(e.length===0)return!1;for(const t of e)if(!v.value.has(t))return!1;return!0}),Oe=e=>{const t=i.value[e];if(!t){console.warn(`Node ${e} not found`);return}const n=[];let a=t;for(;a.parentId!==null;){const o=i.value[a.parentId];if(o&&o.type==="folder"&&n.push(o.id),a=o,!a)break}n.length>0&&(n.forEach(o=>v.value.add(o)),v.value=new Set(v.value)),setTimeout(()=>{if(s.value.indexOf(e)===-1){console.warn(`Node ${e} still not visible after expanding parents`);return}m.value=e,E.value=new Set([e]),c("select",[e]),ue(e)},l.delayFocus)},ve=()=>{m.value=null,E.value=new Set,c("select",[])},Pe=e=>{e.target.closest(".tree-row")||ve()};return I({expandAll:ze,collapseAll:Ke,focusItem:Oe,clearSelection:ve,startEditing:Ae,isMouseInside:r,isExpandedAll:Me}),(e,t)=>{const n=W;return T(),_("div",{ref_key:"parentRef",ref:d,onMouseenter:t[1]||(t[1]=a=>r.value=!0),onMouseleave:t[2]||(t[2]=a=>r.value=!1),class:"file-tree",tabindex:"0",onKeydown:Te,onClick:Pe},[ne("div",{style:F({height:`${L(N).getTotalSize()}px`,width:"100%",position:"relative"})},[(T(!0),_(qe,null,Ye(L(N).getVirtualItems(),a=>{var o;return T(),_("div",{key:String(a.key),style:F({position:"absolute",top:0,left:0,width:"100%",height:`${a.size}px`,transform:`translateY(${a.start}px)`})},[We([i.value[s.value[a.index]],E.value.has(s.value[a.index]),v.value.has(s.value[a.index]),m.value===s.value[a.index],C.value===s.value[a.index],!A.value&&((o=K.value)==null?void 0:o.nodeId)===s.value[a.index]?K.value:null,l.itemHeight,l.indentSize,l.baseIndent,l.allowDragAndDrop,x.value[s.value[a.index]]],()=>{var y;return Z(pt,{node:i.value[s.value[a.index]],"is-selected":E.value.has(s.value[a.index]),"is-expanded":v.value.has(s.value[a.index]),"is-focused":m.value===s.value[a.index],"is-editing":C.value===s.value[a.index],"rename-error":x.value[s.value[a.index]]||"","drop-indicator":!A.value&&((y=K.value)==null?void 0:y.nodeId)===s.value[a.index]?K.value:null,"item-height":l.itemHeight,"indent-size":l.indentSize,"base-indent":l.baseIndent,"allow-drag-and-drop":l.allowDragAndDrop,onClick:g=>ie(g,s.value[a.index]),onDblclick:g=>xe(s.value[a.index]),onToggle:g=>H(s.value[a.index]),onDragstart:g=>we(g,s.value[a.index]),onDragover:g=>Se(g,s.value[a.index]),onDragleave:ke,onDragend:V,onDrop:g=>be(g,s.value[a.index]),onContextmenu:g=>Ce(g,s.value[a.index]),onRename:g=>Re(s.value[a.index],g),onEditingChange:g=>$e(s.value[a.index],g),onCancelRename:g=>_e(s.value[a.index])},{actions:fe(({node:g})=>[he(e.$slots,"actions",{node:g},void 0,!0)]),_:2},1032,["node","is-selected","is-expanded","is-focused","is-editing","rename-error","drop-indicator","item-height","indent-size","base-indent","allow-drag-and-drop","onClick","onDblclick","onToggle","onDragstart","onDragover","onDrop","onContextmenu","onRename","onEditingChange","onCancelRename"])},t,0)],4)}),128)),Z(Ue,{name:"tree-error"},{default:fe(()=>[q.value?(T(),_("div",{key:0,id:`rename-error-${C.value}`,class:"flex items-start gap-1 text-xs font-normal pointer-events-none text-muted-foreground z-30 whitespace-break-spaces px-1 py-2 shadow-md border border-destructive border-l-[3px] rounded-md bg-popover",style:F({position:"absolute",top:`${q.value.top}px`,left:`${q.value.left}px`,right:"8px"}),role:"alert","aria-live":"assertive"},[Z(n,{name:"lucide:alert-circle",class:"text-destructive size-4!","aria-hidden":"true"}),Ze(" "+Q(q.value.message),1)],12,mt)):G("",!0)]),_:1}),ee.value&&O.value?(T(),_("div",{key:0,class:"tree-drop-overlay",style:F({position:"absolute",top:`${ee.value.top}px`,left:0,width:"100%",height:`${ee.value.height}px`})},null,4)):G("",!0)],4)],544)}}}),xt=se(ht,[["__scopeId","data-v-4940049d"]]);export{xt as F};