orcaq 1.0.30 → 1.0.32
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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DzJD_fir.js → -p9JbKy8.js} +3 -3
- package/.output/public/_nuxt/019vQzZn.js +1 -0
- package/.output/public/_nuxt/0lRW_xjL.js +1 -0
- package/.output/public/_nuxt/{BV6TSzbC.js → 3UJtAGbG.js} +3 -2
- package/.output/public/_nuxt/ACOLmAuq.js +15 -0
- package/.output/public/_nuxt/B1X10hvy.js +261 -0
- package/.output/public/_nuxt/B27ECqWz.js +220 -0
- package/.output/public/_nuxt/B6EI6PpE.js +1 -0
- package/.output/public/_nuxt/B8JnYxjr.js +2 -0
- package/.output/public/_nuxt/B9Mt45db.js +1 -0
- package/.output/public/_nuxt/B9zSkyFO.js +1 -0
- package/.output/public/_nuxt/BCcTASq_.js +139 -0
- package/.output/public/_nuxt/BJxYuvXF.js +7 -0
- package/.output/public/_nuxt/{FyrDS92w.js → BM4vnZvX.js} +101 -101
- package/.output/public/_nuxt/BNYR501z.js +1 -0
- package/.output/public/_nuxt/BQOaPJzs.js +145 -0
- package/.output/public/_nuxt/BUDtG__q.js +1 -0
- package/.output/public/_nuxt/BVLVn__t.js +9 -0
- package/.output/public/_nuxt/{KlH93fIm.js → BY1l0S_M.js} +1 -1
- package/.output/public/_nuxt/{ClnidwGv.js → B_PBOfFN.js} +2 -2
- package/.output/public/_nuxt/{y68LmDX2.js → BcvJQkv0.js} +1 -1
- package/.output/public/_nuxt/{llxtZpFD.js → BdN9B2_l.js} +2 -2
- package/.output/public/_nuxt/BflvengI.js +1 -0
- package/.output/public/_nuxt/BgolbRTO.js +1 -0
- package/.output/public/_nuxt/BhUkpIlA.js +1 -0
- package/.output/public/_nuxt/BsoQBloB.js +24 -0
- package/.output/public/_nuxt/BwISH3M4.js +1 -0
- package/.output/public/_nuxt/C-M4q4KX.js +1 -0
- package/.output/public/_nuxt/C07rlnlv.js +1 -0
- package/.output/public/_nuxt/C27bL9Es.js +1 -0
- package/.output/public/_nuxt/C2Ziircr.js +1 -0
- package/.output/public/_nuxt/C3NWXcpd.js +39 -0
- package/.output/public/_nuxt/C5p44jKD.js +1 -0
- package/.output/public/_nuxt/C617vhDd.js +1 -0
- package/.output/public/_nuxt/C6Vqzp-9.js +7 -0
- package/.output/public/_nuxt/C7C8tPlA.js +65 -0
- package/.output/public/_nuxt/C8S0o4Gy.js +1 -0
- package/.output/public/_nuxt/CHOD7i6O.js +4 -0
- package/.output/public/_nuxt/CNlsVoWh.js +1 -0
- package/.output/public/_nuxt/CQb_mUBo.js +1 -0
- package/.output/public/_nuxt/{MLO1tLKS.js → CSTzT9hP.js} +1 -1
- package/.output/public/_nuxt/CVliJ52o.js +162 -0
- package/.output/public/_nuxt/CWGdTiOD.js +1 -0
- package/.output/public/_nuxt/{CzF1NEwP.js → CWkPMmwS.js} +2 -2
- package/.output/public/_nuxt/CffFK_qY.js +189 -0
- package/.output/public/_nuxt/Cgy4ijjN.js +67 -0
- package/.output/public/_nuxt/ChkFTcxr.js +43 -0
- package/.output/public/_nuxt/Cjgqfl1g.js +10 -0
- package/.output/public/_nuxt/ClBBUcFW.js +1 -0
- package/.output/public/_nuxt/{DFd73eNR.js → ClYziJpO.js} +1 -1
- package/.output/public/_nuxt/CmKTTxBW.js +1 -0
- package/.output/public/_nuxt/CuRyxljq.js +1 -0
- package/.output/public/_nuxt/CvTHaPAO.js +1 -0
- package/.output/public/_nuxt/{HQyqkOpZ.js → CwdIiq6J.js} +1 -1
- package/.output/public/_nuxt/Cx4Bnfq1.js +2 -0
- package/.output/public/_nuxt/CyJtwmzi.js +331 -0
- package/.output/public/_nuxt/{ubO-cWd-.js → D-H6_V16.js} +1 -1
- package/.output/public/_nuxt/D-SDqguC.js +1 -0
- package/.output/public/_nuxt/{6I72R6kW.js → D-XwprNU.js} +1 -1
- package/.output/public/_nuxt/D3G5Xy_-.js +1 -0
- package/.output/public/_nuxt/D4jn2f-6.js +255 -0
- package/.output/public/_nuxt/D9o5Pdvp.js +1 -0
- package/.output/public/_nuxt/DDYV6jDr.js +1 -0
- package/.output/public/_nuxt/DFArp87o.js +1 -0
- package/.output/public/_nuxt/{C_CjS9Yt.js → DFZIXzfU.js} +1 -1
- package/.output/public/_nuxt/DHRNt0p9.js +1 -0
- package/.output/public/_nuxt/DLHYqHwF.js +24 -0
- package/.output/public/_nuxt/{D8pqASdN.js → DLKku6fV.js} +1 -1
- package/.output/public/_nuxt/DNZpxuwM.js +1 -0
- package/.output/public/_nuxt/DRKnK1N_.js +132 -0
- package/.output/public/_nuxt/DVxTxYP4.js +34 -0
- package/.output/public/_nuxt/{DQiMjOqm.js → DWgjNKGq.js} +1 -1
- package/.output/public/_nuxt/DX6XiGOO.js +1 -0
- package/.output/public/_nuxt/DYm57BZk.js +2 -0
- package/.output/public/_nuxt/DaQw8gVp.js +1 -0
- package/.output/public/_nuxt/DcfsxCxL.js +36 -0
- package/.output/public/_nuxt/DgnsV5Qb.js +1 -0
- package/.output/public/_nuxt/DkY69STm.js +292 -0
- package/.output/public/_nuxt/DkggUtNN.js +30 -0
- package/.output/public/_nuxt/Dnx67EG9.js +68 -0
- package/.output/public/_nuxt/{DVe5MHjS.js → DnxDSFih.js} +1 -1
- package/.output/public/_nuxt/Do5Fyo7J.js +1 -0
- package/.output/public/_nuxt/{h2fvG4Xe.js → Dqirx7MF.js} +1 -1
- package/.output/public/_nuxt/{WrapperErdDiagram.DsE2QNGr.css → ErdDiagram.Cnqgwj9d.css} +1 -1
- package/.output/public/_nuxt/FIJP2AmN.js +73 -0
- package/.output/public/_nuxt/Gi6I4Gst.js +1 -0
- package/.output/public/_nuxt/{C26aAkUg.js → GoTwJjoS.js} +1 -1
- package/.output/public/_nuxt/Hs25HoUO.js +22 -0
- package/.output/public/_nuxt/IitECNfD.js +89 -0
- package/.output/public/_nuxt/J2CvNR3L.js +1 -0
- package/.output/public/_nuxt/LFK46Fls.js +61 -0
- package/.output/public/_nuxt/LK6Q8l0D.js +1 -0
- package/.output/public/_nuxt/Oh9SO2qg.js +1 -0
- package/.output/public/_nuxt/{CtRc_P0d.js → P_8UoGnr.js} +2 -2
- package/.output/public/_nuxt/UqWhjgOc.js +10 -0
- package/.output/public/_nuxt/V5yaR3hv.js +2 -0
- package/.output/public/_nuxt/XWTuAj6n.js +1 -0
- package/.output/public/_nuxt/XqwbcqcW.js +1 -0
- package/.output/public/_nuxt/ZdjmUBoX.js +70 -0
- package/.output/public/_nuxt/_8UrUcVF.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/27a307c3-bfc5-4ccd-94b8-387eb94981bb.json +1 -0
- package/.output/public/_nuxt/cKBf5-av.js +1 -0
- package/.output/public/_nuxt/c_huf6xz.js +162 -0
- package/.output/public/_nuxt/entry.DeK5kcSi.css +1 -0
- package/.output/public/_nuxt/gO22NLpn.js +1 -0
- package/.output/public/_nuxt/index.xxedlMJo.css +1 -0
- package/.output/public/_nuxt/kc-op4gz.js +12 -0
- package/.output/public/_nuxt/lSaGvORn.js +10 -0
- package/.output/public/_nuxt/lY3EyFEK.js +1 -0
- package/.output/public/_nuxt/qsFoMdT2.js +1 -0
- package/.output/public/_nuxt/sE-55p4e.js +1 -0
- package/.output/public/_nuxt/tMhdAKU2.js +3 -0
- package/.output/public/_nuxt/trZyeId5.js +70 -0
- package/.output/public/_nuxt/uyCIL8xw.js +1 -0
- package/.output/server/chunks/_/db-connection.mjs +17 -3
- package/.output/server/chunks/_/db-connection.mjs.map +1 -1
- package/.output/server/chunks/_/instance-insights.factory.mjs.map +1 -1
- package/.output/server/chunks/_/metadata.factory.mjs +4 -5
- package/.output/server/chunks/_/metadata.factory.mjs.map +1 -1
- package/.output/server/chunks/_/query.factory.mjs +31 -2
- package/.output/server/chunks/_/query.factory.mjs.map +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +1302 -546
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +712 -364
- package/.output/server/chunks/routes/api/ai/agent.mjs +258 -89
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/chat.mjs +1 -2
- package/.output/server/chunks/routes/api/ai/chat.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +1 -2
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +1 -2
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +5 -3
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +12 -10
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +5 -3
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +1 -2
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +14 -12
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +12 -10
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +1 -2
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -2
- package/.output/server/index.mjs +1 -2
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/README.md +8 -2
- package/package.json +1 -1
- package/.output/public/_nuxt/8_EuFD3X.js +0 -1
- package/.output/public/_nuxt/B6H7odCi.js +0 -1
- package/.output/public/_nuxt/B7nSJBpY.js +0 -1
- package/.output/public/_nuxt/BBNxNerU.js +0 -1
- package/.output/public/_nuxt/BDKd-SA5.js +0 -1
- package/.output/public/_nuxt/BDRdbLz0.js +0 -1
- package/.output/public/_nuxt/BKWWO5HE.js +0 -1
- package/.output/public/_nuxt/BVKG-F8j.js +0 -1
- package/.output/public/_nuxt/BoGW82nK.js +0 -1
- package/.output/public/_nuxt/Bs_ItSbk.js +0 -1
- package/.output/public/_nuxt/Btu7FO8S.js +0 -1
- package/.output/public/_nuxt/C04Tz2vC.js +0 -67
- package/.output/public/_nuxt/C4JPKbJK.js +0 -1
- package/.output/public/_nuxt/C5KSeJUi.js +0 -8
- package/.output/public/_nuxt/CDnZBTSk.js +0 -1
- package/.output/public/_nuxt/CKq06U7u.js +0 -19
- package/.output/public/_nuxt/CQpD-JHn.js +0 -1
- package/.output/public/_nuxt/Chcc8yNZ.js +0 -1
- package/.output/public/_nuxt/CpzDNDcD.js +0 -1
- package/.output/public/_nuxt/Cs1HkKH7.js +0 -1
- package/.output/public/_nuxt/CsYOf3m-.js +0 -39
- package/.output/public/_nuxt/Ctr2mpV9.js +0 -2
- package/.output/public/_nuxt/D2j2esR5.js +0 -3
- package/.output/public/_nuxt/D4ZGn1tW.js +0 -1
- package/.output/public/_nuxt/D6YseYA6.js +0 -1
- package/.output/public/_nuxt/D7EPcL9i.js +0 -1
- package/.output/public/_nuxt/DCMJS6Fh.js +0 -1
- package/.output/public/_nuxt/D_G1mAJ8.js +0 -3
- package/.output/public/_nuxt/De1hkrJC.js +0 -1
- package/.output/public/_nuxt/DnCs9xpG.js +0 -1
- package/.output/public/_nuxt/DvJ2MjiW.js +0 -2
- package/.output/public/_nuxt/Dzr_z_mY.js +0 -9
- package/.output/public/_nuxt/OEVyCyyD.js +0 -1
- package/.output/public/_nuxt/builds/meta/0ab6db39-d52b-46b9-a687-0df3b4c65db5.json +0 -1
- package/.output/public/_nuxt/builds/meta/dev.json +0 -1
- package/.output/public/_nuxt/e_Ir8LP9.js +0 -1
- package/.output/public/_nuxt/entry.XV7TCKso.css +0 -1
- package/.output/public/_nuxt/fRxmPZZB.js +0 -8
- package/.output/public/_nuxt/logo.BsJ2Dfin.png +0 -0
- package/.output/public/_nuxt/q4KcRwD-.js +0 -1
- package/.output/public/_nuxt/qIKg23Pc.js +0 -1
- package/.output/public/_nuxt/txD20ixW.js +0 -1
- package/.output/public/_nuxt/x2HBvptj.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t}from"./CsYOf3m-.js";import{d as a,a6 as o,c as r,b as s,o as n}from"./FyrDS92w.js";import"./Btu7FO8S.js";import"./kehy-5uo.js";import"./y68LmDX2.js";const f=a({__name:"[tableId]",setup(m){const e=o();return(p,c)=>(n(),r(t,{tableId:s(e).params.tableId},null,8,["tableId"]))}});export{f as default};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DFd73eNR.js","./FyrDS92w.js","./entry.XV7TCKso.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
var Os=Object.defineProperty;var Ps=(s,e,t)=>e in s?Os(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var ne=(s,e,t)=>Ps(s,typeof e!="symbol"?e+"":e,t);import{d as H,ad as Kt,r as G,c as R,o as h,e as v,l as f,b as l,P as Yt,ae as yt,f as J,af as mt,ag as qs,ah as xt,ai as et,aj as Jt,G as we,ab as ke,ak as ze,al as De,E as q,am as Zt,u as Ne,an as tt,ao as ae,h as y,ap as Vs,j as Ce,aq as Ds,ar as Xt,as as es,g as E,p as I,Y as bt,s as X,F as Y,a as Q,x as N,q as de,n as le,y as re,z as ie,m as Ie,B as ue,W as Se,k as ts,X as Fs,at as Bs,t as pt,v as kt,Z as js,$ as Us,a0 as Qs,a1 as Hs,au as Ws,av as Gs,C as ss,D as ns,O as os,Q as as,T as Ks,aw as Ys,ax as Js,ay as Zs,az as Xs,aA as Pe,aB as en,aC as ge,aD as _t,aE as ls,J as Ee,H as Le,aF as tn,aG as Ae,aH as sn,aI as ve,aJ as rs,aK as nn,aL as on,_ as st,aM as zt,aN as an,aO as ln,aP as rn,a2 as Ve,aQ as un,aR as is,aS as cn,aT as Mt,a8 as us,aU as dn,aV as Ct,aW as mn,aX as pn,aY as fn,aZ as hn,a_ as vn,a$ as cs,b0 as gn,b1 as Lt,b2 as yn,b3 as xn,b4 as At,b5 as ot,b6 as Nt,b7 as bn,a6 as ds,b8 as _n,b9 as Cn,ba as Sn}from"./FyrDS92w.js";import{s as wn,_ as ms,c as Tn,a as En,b as Rn}from"./CtRc_P0d.js";import{_ as $n}from"./8_EuFD3X.js";import{_ as kn}from"./D7EPcL9i.js";import{_ as St}from"./qIKg23Pc.js";import{M as zn,a as Mn,_ as ps,b as fs,c as hs,C as F,d as Ln,e as We,f as An,g as Nn,h as In,i as On,j as Pn}from"./OEVyCyyD.js";import{f as ft,a as Fe,b as Ue}from"./-lZvfnzr.js";import{_ as It,a as Ot,b as Pt,c as qt}from"./KlH93fIm.js";import{M as vs}from"./e_Ir8LP9.js";import{C as qn}from"./6I72R6kW.js";import{_ as Vn}from"./ubO-cWd-.js";import{_ as Dn}from"./BoGW82nK.js";import{j as Fn,a as Bn,i as jn,_ as gs}from"./ClnidwGv.js";import{s as Un,l as ys,a as xs}from"./CzF1NEwP.js";import{g as Ze,a as Qn,s as Hn,r as Wn,u as Gn,p as Vt}from"./llxtZpFD.js";import{_ as Kn}from"./C4JPKbJK.js";import{u as Yn}from"./HQyqkOpZ.js";import{_ as wt,c as Dt,a as at,e as Ft,b as Bt}from"./DzJD_fir.js";import{f as Jn}from"./BKltSiU0.js";import{_ as Zn,a as Xn,b as eo}from"./D6YseYA6.js";import{u as to}from"./kehy-5uo.js";import{c as so,m as no}from"./BBNxNerU.js";import"./Btu7FO8S.js";import"./DnCs9xpG.js";import"./BDRdbLz0.js";import"./txD20ixW.js";import"./Bdtn2mn5.js";import"./C26aAkUg.js";import"./DQiMjOqm.js";const[oo,bs]=Kt(["MenuCheckboxItem","MenuRadioItem"],"MenuItemIndicatorContext");var ao=H({__name:"MenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(s){const e=oo({modelValue:G(!1)});return(t,n)=>(h(),R(l(qs),{present:t.forceMount||l(mt)(l(e).modelValue.value)||l(e).modelValue.value===!0},{default:v(()=>[f(l(Yt),{as:t.as,"as-child":t.asChild,"data-state":l(yt)(l(e).modelValue.value)},{default:v(()=>[J(t.$slots,"default")]),_:3},8,["as","as-child","data-state"])]),_:3},8,["present"]))}}),lo=ao,ro=H({__name:"MenuCheckboxItem",props:{modelValue:{type:[Boolean,String],required:!1,default:!1},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select","update:modelValue"],setup(s,{emit:e}){const t=s,n=e,o=xt(t,["modelValue"]),a=et(o),i=Jt(t,"modelValue",n);return bs({modelValue:i}),(r,u)=>(h(),R(vs,we({role:"menuitemcheckbox"},l(a),{"aria-checked":l(mt)(l(i))?"mixed":l(i),"data-state":l(yt)(l(i)),onSelect:u[0]||(u[0]=async c=>{n("select",c),l(mt)(l(i))?i.value=!0:i.value=!l(i)})}),{default:v(()=>[J(r.$slots,"default",{modelValue:l(i)})]),_:3},16,["aria-checked","data-state"]))}}),io=ro,uo=H({__name:"MenuGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const e=s;return(t,n)=>(h(),R(l(Yt),we({role:"group"},e),{default:v(()=>[J(t.$slots,"default")]),_:3},16))}}),co=uo;const[mo,po]=Kt("MenuRadioGroup");var fo=H({__name:"MenuRadioGroup",props:{modelValue:{type:null,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(s,{emit:e}){const t=s,n=e,o=xt(t,["modelValue"]),a=et(o),i=Jt(t,"modelValue",n);return po({modelValue:i,onValueChange:r=>{i.value=r}}),(r,u)=>(h(),R(co,ke(ze(l(a))),{default:v(()=>[J(r.$slots,"default",{modelValue:l(i)})]),_:3},16))}}),ho=fo,vo=H({__name:"MenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(s,{emit:e}){const t=s,n=e,o=xt(t,["value"]),a=et(o),{value:i}=De(t),r=mo(),u=q(()=>r.modelValue.value===(i==null?void 0:i.value));return bs({modelValue:u}),(c,d)=>(h(),R(vs,we({role:"menuitemradio"},l(a),{"aria-checked":u.value,"data-state":l(yt)(u.value),onSelect:d[0]||(d[0]=async m=>{n("select",m),l(r).onValueChange(l(i))})}),{default:v(()=>[J(c.$slots,"default")]),_:3},16,["aria-checked","data-state"]))}}),go=vo,yo=H({__name:"DropdownMenuCheckboxItem",props:{modelValue:{type:[Boolean,String],required:!1},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select","update:modelValue"],setup(s,{emit:e}){const t=s,o=Zt(e);return Ne(),(a,i)=>(h(),R(l(io),ke(ze({...t,...l(o)})),{default:v(()=>[J(a.$slots,"default")]),_:3},16))}}),xo=yo,bo=H({__name:"DropdownMenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const e=s;return Ne(),(t,n)=>(h(),R(l(lo),ke(ze(e)),{default:v(()=>[J(t.$slots,"default")]),_:3},16))}}),_s=bo,_o=H({__name:"DropdownMenuLabel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const e=s;return Ne(),(t,n)=>(h(),R(l(zn),ke(ze(e)),{default:v(()=>[J(t.$slots,"default")]),_:3},16))}}),Co=_o,So=H({__name:"DropdownMenuRadioGroup",props:{modelValue:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(s,{emit:e}){const t=s,o=Zt(e);return Ne(),(a,i)=>(h(),R(l(ho),ke(ze({...t,...l(o)})),{default:v(()=>[J(a.$slots,"default")]),_:3},16))}}),wo=So,To=H({__name:"DropdownMenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(s,{emit:e}){const o=tt(s,e);return Ne(),(a,i)=>(h(),R(l(go),ke(ze(l(o))),{default:v(()=>[J(a.$slots,"default")]),_:3},16))}}),Eo=To,Ro=H({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(s){const e=s;return Ne(),(t,n)=>(h(),R(l(Mn),ke(ze(e)),{default:v(()=>[J(t.$slots,"default")]),_:3},16))}}),$o=Ro;class ko{constructor(e){this.rawError=e}get nomaltliztionErrror(){var t;const e=((t=this.rawError)==null?void 0:t.message)||"Error parsing SQL execution.";if(!this.rawError)return{message:e};switch(this.rawError.dbType){case ae.POSTGRES:return this.normalizePostgresError(e);case ae.MYSQL:return this.normalizeMysqlError(e);case ae.SQLITE3:return this.normalizeSqliteError(e);default:return{message:e}}}normalizePostgresError(e){let t;return this.rawError.position&&(t=typeof this.rawError.position=="string"?Number(this.rawError.position):this.rawError.position,Number.isNaN(t)&&(t=void 0)),{message:this.rawError.message||e,position:t,hint:this.rawError.hint}}normalizeMysqlError(e){return{message:this.rawError.sqlMessage||this.rawError.message||e,hint:this.rawError.code?`Error Code: ${this.rawError.code}`:void 0}}normalizeSqliteError(e){return{message:this.rawError.message||e,hint:this.rawError.code?`Error Code: ${this.rawError.code}`:void 0}}}const zo={class:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},Mo=H({__name:"DropdownMenuCheckboxItem",props:{modelValue:{type:[Boolean,String]},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},emits:["select","update:modelValue"],setup(s,{emit:e}){const t=s,n=e,o=q(()=>{const{class:i,...r}=t;return r}),a=tt(o,n);return(i,r)=>(h(),R(l(xo),we({"data-slot":"dropdown-menu-checkbox-item"},l(a),{class:l(Ce)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t.class)}),{default:v(()=>[y("span",zo,[f(l(_s),null,{default:v(()=>[f(l(Vs),{class:"size-4"})]),_:1})]),J(i.$slots,"default")]),_:3},16,["class"]))}}),lt=H({__name:"DropdownMenuLabel",props:{asChild:{type:Boolean},as:{},class:{},inset:{type:Boolean}},setup(s){const e=s,t=Ds(e,"class","inset"),n=et(t);return(o,a)=>(h(),R(l(Co),we({"data-slot":"dropdown-menu-label","data-inset":o.inset?"":void 0},l(n),{class:l(Ce)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e.class)}),{default:v(()=>[J(o.$slots,"default")]),_:3},16,["data-inset","class"]))}}),Lo=H({__name:"DropdownMenuRadioGroup",props:{modelValue:{},asChild:{type:Boolean},as:{}},emits:["update:modelValue"],setup(s,{emit:e}){const o=tt(s,e);return(a,i)=>(h(),R(l(wo),we({"data-slot":"dropdown-menu-radio-group"},l(o)),{default:v(()=>[J(a.$slots,"default")]),_:3},16))}}),Ao={class:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},rt=H({__name:"DropdownMenuRadioItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},emits:["select"],setup(s,{emit:e}){const t=s,n=e,o=q(()=>{const{class:i,...r}=t;return r}),a=tt(o,n);return(i,r)=>(h(),R(l(Eo),we({"data-slot":"dropdown-menu-radio-item"},l(a),{class:l(Ce)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t.class)}),{default:v(()=>[y("span",Ao,[f(l(_s),null,{default:v(()=>[f(l(qn),{class:"size-2 fill-current"})]),_:1})]),J(i.$slots,"default")]),_:3},16,["class"]))}}),it=H({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean},as:{},class:{}},setup(s){const e=s,t=q(()=>{const{class:n,...o}=e;return o});return(n,o)=>(h(),R(l($o),we({"data-slot":"dropdown-menu-separator"},t.value,{class:l(Ce)("bg-border -mx-1 my-1 h-px",e.class)}),null,16,["class"]))}});function Tt(s,e){s.dispatch(Un(s.state,e))}function No(s){return s===ae.POSTGRES?"positional":"question-mark"}function Io(s,e,t,n={}){if(!Object.keys(e).length)return s;const o=n.style??No(t);let a=n.startIndex??1,i="",r=0;for(;r<s.length;){const u=s[r];if(u==="'"){const c=r++;for(;r<s.length;)if(s[r]==="'"&&s[r+1]==="'")r+=2;else if(s[r]==="'"){r++;break}else r++;i+=s.slice(c,r);continue}if(u==='"'){const c=r++;for(;r<s.length&&s[r]!=='"';)r++;r++,i+=s.slice(c,r);continue}if(u===":"&&r+1<s.length&&/[a-zA-Z_]/.test(s[r+1])){const c=r++;let d="";for(;r<s.length&&/[a-zA-Z0-9_]/.test(s[r]);)d+=s[r++];d in e?i+=o==="positional"?`$${a++}`:"?":i+=s.slice(c,r);continue}i+=u,r++}return i}function Oo(s,e,t){if(s===e)return t;let n=0,o=0;for(;o<t&&n<s.length;){const a=s[n],i=e[o],r=/\s/.test(a),u=/\s/.test(i);if(r&&u){n++,o++;continue}if(a===":"&&(i==="$"||i==="?")){for(;n<s.length&&/[:a-zA-Z0-9_]/.test(s[n]);)n++;if(i==="$")for(;o<e.length&&/[$0-9]/.test(e[o]);)o++;else o++;if(o>=t)return n;continue}a===i?(n++,o++):n++}return n}function jt({editorView:s,originalSql:e,statementFrom:t,fileParameters:n={},errorDetail:o,clientType:a,queryPrefix:i}){if(!s||!o)return;const{message:r,position:u}=o.normalizeError||new ko(o).nomaltliztionErrror;if(!u){qo(s,t,e,r);return}const c=`${i}${e}`,d=Io(c,n,a),m=Oo(c,d,u),g=Math.max(m-1,0)-((i==null?void 0:i.length)||0),{from:x,to:C}=Po(e,t,g);Tt(s,[{from:x,to:C,severity:"error",message:r}])}function Po(s,e,t){let n=t;for(;n<s.length&&!/[\s\n\r\t]/.test(s[n]);)n++;return{from:e+t,to:e+n}}function qo(s,e,t,n){const o=[{from:e,to:e+t.length,severity:"error",message:n}];Tt(s,o)}function Vo(s){Tt(s,[])}const Do=s=>Xt.of([{key:"Mod-Enter",mac:"Cmd-Enter",run:e=>{const{currentStatements:t}=Ze(e),n=Qn(e);return t.length&&s({currentStatements:t,treeNodes:n||[]}),!0},preventDefault:!0}]),Fo={},Bo={class:"p-4 flex flex-col items-center justify-center h-full text-center space-y-4"},jo={class:"text-muted-foreground space-y-3"},Uo={class:"list-disc text-sm list-inside text-left space-y-2"};function Qo(s,e){const t=kn,n=$n,o=St;return h(),E("div",Bo,[f(n,{class:"rounded-2xl size-20 shadow-md"},{default:v(()=>[f(t,{src:"/logo.png",alt:"@unovue"})]),_:1}),y("div",jo,[e[7]||(e[7]=y("h2",{class:"text-md font-normal text-foreground"},"Getting Started",-1)),y("ol",Uo,[e[5]||(e[5]=y("li",null,[y("span",{class:"font-normal text-foreground"},"Write your query"),I(" in the editor. ")],-1)),e[6]||(e[6]=y("li",null,[y("span",{class:"font-normal text-foreground"},"Click inside your query"),I(" to select it. ")],-1)),y("li",null,[e[1]||(e[1]=I(" Click ")),e[2]||(e[2]=y("span",{class:"text-foreground font-normal"},"'Execute current'",-1)),e[3]||(e[3]=I(" or use shortcut ")),f(o,{class:"font-normal border rounded-md p-1 px-1.5 text-foreground"},{default:v(()=>e[0]||(e[0]=[I("⌘↵")])),_:1}),e[4]||(e[4]=I(" to run the query. "))])])])])}const Ho=es(Fo,[["render",Qo]]),Wo={key:1,class:"text-xs text-muted-foreground ml-2"},Go=H({__name:"RawQueryEditorContextMenu",props:{contextMenuItems:{}},emits:["update:open"],setup(s,{emit:e}){const t=e,n=a=>typeof a>"u"?!0:!!a,o=a=>{t("update:open",a)};return(a,i)=>{const r=fs,u=Ln,c=de,d=St,m=We,g=An,x=In,C=On,b=Nn,p=hs,_=ps;return h(),R(_,{"onUpdate:open":o},{default:v(()=>[f(r,{"as-child":""},{default:v(()=>[J(a.$slots,"default")]),_:3}),f(p,{class:"min-w-56",onCloseAutoFocus:i[0]||(i[0]=bt(()=>{},["prevent"]))},{default:v(()=>[(h(!0),E(Y,null,X(a.contextMenuItems,(T,k)=>(h(),E(Y,{key:k},[T.type===l(F).LABEL&&n(T.condition)?(h(),R(u,{key:0,class:"font-medium text-xs text-muted-foreground"},{default:v(()=>[I(N(T.title),1)]),_:2},1024)):T.type===l(F).ACTION&&n(T.condition)?(h(),R(m,{key:1,onSelect:T.select,disabled:T.disabled},{default:v(()=>[T.icon?(h(),R(c,{key:0,name:T.icon,class:"size-4! min-w-4 text-muted-foreground"},null,8,["name"])):Q("",!0),I(" "+N(T.title)+" ",1),T.shortcut?(h(),R(d,{key:1},{default:v(()=>[I(N(T.shortcut),1)]),_:2},1024)):Q("",!0)]),_:2},1032,["onSelect","disabled"])):T.type===l(F).SEPARATOR&&n(T.condition)?(h(),R(g,{key:2})):T.type===l(F).SUBMENU&&n(T.condition)?(h(),R(b,{key:3,disabled:!T.items||T.items.length===0},{default:v(()=>[f(x,null,{default:v(()=>[T.icon?(h(),R(c,{key:0,name:T.icon,class:"size-4! min-w-4 text-muted-foreground mr-2"},null,8,["name"])):Q("",!0),I(" "+N(T.title)+" ",1),T.desc?(h(),E("span",Wo,N(T.desc),1)):Q("",!0)]),_:2},1024),f(C,{class:le("min-w-52")},{default:v(()=>[(h(!0),E(Y,null,X(T.items,(V,w)=>(h(),E(Y,{key:w},[V.type===l(F).ACTION&&n(V.condition)?(h(),R(m,{key:0,onSelect:V.select},{default:v(()=>[V.icon?(h(),R(c,{key:0,name:V.icon,class:"size-4! min-w-4 text-muted-foreground"},null,8,["name"])):Q("",!0),I(" "+N(V.title)+" ",1),V.shortcut?(h(),R(d,{key:1},{default:v(()=>[I(N(V.shortcut),1)]),_:2},1024)):Q("",!0)]),_:2},1032,["onSelect"])):V.type===l(F).LABEL&&n(V.condition)?(h(),R(u,{key:1,class:"font-medium text-xs text-muted-foreground"},{default:v(()=>[I(N(V.title),1)]),_:2},1024)):V.type===l(F).SEPARATOR&&n(V.condition)?(h(),R(g,{key:2})):Q("",!0)],64))),128))]),_:2},1024)]),_:2},1032,["disabled"])):Q("",!0)],64))),128))]),_:1})]),_:3})}}}),Ko={class:"h-fit py-1 flex items-center justify-between px-2"},Yo={class:"font-normal text-xs text-muted-foreground"},Jo={key:0,class:"font-normal text-xs text-muted-foreground"},Zo={key:0,class:"flex items-center gap-1"},Xo={key:1,class:"flex items-center gap-1"},ea={key:2},ta={key:0},sa={key:1},na={class:"flex gap-1"},oa={class:"flex items-center"},aa={class:"flex items-center"},la={key:0},ra={key:1},ia=H({__name:"RawQueryEditorFooter",props:{cursorInfo:{},isHaveOneExecute:{type:Boolean},executeLoading:{type:Boolean},executeErrors:{type:Boolean},isStreaming:{type:Boolean},streamingRowCount:{},queryTime:{},rawQueryResultsLength:{},isRawViewMode:{type:Boolean},explainAnalyzeOptionItems:{},serializeMode:{}},emits:["onFormatCurrentStatement","onFormatAll","onExplainAnalyzeCurrent","toggleExplainOption","update:serializeMode","onExecuteCurrent","update:isRawViewMode","onCancelQuery"],setup(s){const e=G(!1);return(t,n)=>{const o=de,a=St,i=Ie;return h(),E("div",Ko,[y("div",Yo," Ln "+N(t.cursorInfo.line)+", Col "+N(t.cursorInfo.column),1),t.isHaveOneExecute?(h(),E("div",Jo,[t.isStreaming?(h(),E("span",Zo,[f(o,{name:"hugeicons:loading-03",class:"size-4! animate-spin"}),I(" Streaming... "+N(l(ft)(t.streamingRowCount))+" rows ",1)])):t.executeLoading?(h(),E("span",Xo,[n[9]||(n[9]=I("Processing ")),f(o,{name:"hugeicons:loading-03",class:"size-4! animate-spin"})])):(h(),E("span",ea,[t.executeErrors?(h(),E("span",ta," Query: 1 error in "+N(l(Fe)(t.queryTime)),1)):(h(),E("span",sa," Query success: "+N(l(ft)(t.rawQueryResultsLength))+" rows in "+N(l(Fe)(t.queryTime)),1))]))])):Q("",!0),y("div",na,[f(l(re),null,{default:v(()=>[f(l(ie),null,{default:v(()=>[y("div",oa,[f(i,{onClick:n[0]||(n[0]=r=>t.$emit("onFormatCurrentStatement")),variant:"outline",size:"xxs",class:"rounded-r-none"},{default:v(()=>[f(o,{name:"hugeicons:magic-wand-01"}),n[11]||(n[11]=I(" Format ")),f(a,null,{default:v(()=>n[10]||(n[10]=[I("⌘S")])),_:1})]),_:1}),f(l(It),null,{default:v(()=>[f(l(Ot),{"as-child":""},{default:v(()=>[f(i,{variant:"outline",size:"iconSm",class:"rounded-l-none border-l-0 px-2"},{default:v(()=>[f(o,{name:"hugeicons:arrow-down-01",class:"size-4! min-w-4"})]),_:1})]),_:1}),f(l(Pt),{align:"end",class:"min-w-44"},{default:v(()=>[f(l(lt),{class:"py-0"},{default:v(()=>n[12]||(n[12]=[I("Format Options ")])),_:1}),f(l(it)),f(l(qt),{onClick:n[1]||(n[1]=r=>t.$emit("onFormatCurrentStatement")),class:"h-6 cursor-pointer"},{default:v(()=>[n[14]||(n[14]=I(" Current Statement ")),f(a,null,{default:v(()=>n[13]||(n[13]=[I("⌘S")])),_:1})]),_:1}),f(l(qt),{onClick:n[2]||(n[2]=r=>t.$emit("onFormatAll")),class:"h-6 cursor-pointer"},{default:v(()=>[n[16]||(n[16]=I(" All Statement ")),f(a,null,{default:v(()=>n[15]||(n[15]=[I("⇧⌥F")])),_:1})]),_:1})]),_:1})]),_:1})])]),_:1}),f(l(ue),null,{default:v(()=>n[17]||(n[17]=[y("p",null,"Format current statement (⌘S)",-1)])),_:1})]),_:1}),f(l(re),null,{default:v(()=>[f(l(ie),null,{default:v(()=>[y("div",aa,[f(i,{onClick:n[3]||(n[3]=r=>t.$emit("onExplainAnalyzeCurrent")),variant:"outline",size:"xxs",class:"rounded-r-none"},{default:v(()=>[f(o,{name:"hugeicons:analytics-up"}),n[19]||(n[19]=I(" Explain ")),f(a,null,{default:v(()=>n[18]||(n[18]=[I("⌘E")])),_:1})]),_:1}),f(l(It),{open:l(e),"onUpdate:open":n[6]||(n[6]=r=>Se(e)?e.value=r:null)},{default:v(()=>[f(l(Ot),{"as-child":""},{default:v(()=>[f(i,{variant:"outline",size:"iconSm",class:"rounded-l-none border-l-0 px-2"},{default:v(()=>[f(o,{name:"hugeicons:arrow-down-01",class:"size-4! min-w-4"})]),_:1})]),_:1}),f(l(Pt),{align:"end",class:"min-w-52"},{default:v(()=>[f(l(lt),{class:"py-0"},{default:v(()=>n[20]||(n[20]=[I("Explain Analyze Options")])),_:1}),f(l(it)),(h(!0),E(Y,null,X(t.explainAnalyzeOptionItems,r=>(h(),R(l(Mo),{key:r.key,"model-value":r.checked,onSelect:n[4]||(n[4]=bt(()=>{},["prevent"])),"onUpdate:modelValue":u=>t.$emit("toggleExplainOption",r.key),class:"h-6 cursor-pointer"},{default:v(()=>[I(N(r.label),1)]),_:2},1032,["model-value","onUpdate:modelValue"]))),128)),f(l(it)),f(l(lt),{class:"py-0"},{default:v(()=>n[21]||(n[21]=[I("Serialize")])),_:1}),f(l(Lo),{"model-value":t.serializeMode,"onUpdate:modelValue":n[5]||(n[5]=r=>t.$emit("update:serializeMode",r))},{default:v(()=>[f(l(rt),{value:"NONE",class:"h-6 cursor-pointer"},{default:v(()=>n[22]||(n[22]=[I("None")])),_:1}),f(l(rt),{value:"TEXT",class:"h-6 cursor-pointer"},{default:v(()=>n[23]||(n[23]=[I("Text")])),_:1}),f(l(rt),{value:"BINARY",class:"h-6 cursor-pointer"},{default:v(()=>n[24]||(n[24]=[I("Binary")])),_:1})]),_:1},8,["model-value"])]),_:1})]),_:1},8,["open"])])]),_:1}),f(l(ue),null,{default:v(()=>n[25]||(n[25]=[y("p",null,"Run Explain Analyze (⌘E) or open options",-1)])),_:1})]),_:1}),f(l(re),null,{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>[t.isStreaming||t.executeLoading?(h(),R(i,{key:0,onClick:n[7]||(n[7]=r=>t.$emit("onCancelQuery")),variant:"outline",size:"xxs"},{default:v(()=>[f(o,{name:"hugeicons:stop",class:"size-4! text-red-500"}),n[26]||(n[26]=I(" Cancel query "))]),_:1})):(h(),R(i,{key:1,onClick:n[8]||(n[8]=r=>t.$emit("onExecuteCurrent")),variant:"outline",size:"xxs"},{default:v(()=>[f(o,{name:"hugeicons:play"}),n[28]||(n[28]=I(" Execute current ")),f(a,null,{default:v(()=>n[27]||(n[27]=[I("⌘↵")])),_:1})]),_:1}))]),_:1}),f(l(ue),null,{default:v(()=>[t.isStreaming||t.executeLoading?(h(),E("p",la,"Cancel query")):(h(),E("p",ra,"Execute Query (⌘↵)"))]),_:1})]),_:1})])])}}}),ua={key:0,class:"flex items-center gap-2 truncate"},ca={key:1,class:"opacity-50"},da={class:"flex items-center gap-2"},ma=H({__name:"PureConnectionSelector",props:{class:{},workspaceId:{},connectionId:{},connections:{},connection:{}},emits:["update:connectionId"],setup(s){const e=s,t=G(!1),{createConnection:n}=ts(),o=G(!1),a=r=>{n(r)},i=()=>{o.value=!0,t.value=!1};return(r,u)=>{const c=de,d=Qs,m=js;return h(),E(Y,null,[f(l(Dn),{open:l(o),"editing-connection":null,"onUpdate:open":u[0]||(u[0]=g=>o.value=g),onAddNew:a,workspaceId:r.workspaceId},null,8,["open","workspaceId"]),f(l(Fs),{"onUpdate:modelValue":u[1]||(u[1]=g=>r.$emit("update:connectionId",g)),"model-value":r.connectionId,open:l(t),"onUpdate:open":u[2]||(u[2]=g=>Se(t)?t.value=g:null)},{default:v(()=>[f(l(Bs),{class:le(l(Ce)(e.class," w-fit max-w-[12rem] cursor-pointer")),size:"sm"},{default:v(()=>{var g,x;return[r.connection?(h(),E("div",ua,[(h(),R(pt((g=l(kt)(r.connection.type))==null?void 0:g.icon),{class:"size-4! min-w-4!"})),I(" "+N((x=r.connection)==null?void 0:x.name),1)])):(h(),E("div",ca,"Select connection"))]}),_:1},8,["class"]),f(m,null,{default:v(()=>[f(l(Us),null,{default:v(()=>[y("div",{class:"flex px-2 py-0.5 h-8 hover:bg-muted rounded-md font-normal text-sm items-center gap-1 cursor-pointer",onClick:i},[f(c,{name:"lucide:plus"}),u[3]||(u[3]=I(" Add new connection "))]),r.connections.length?(h(),R(d,{key:0})):Q("",!0),(h(!0),E(Y,null,X(r.connections,g=>(h(),R(l(Hs),{class:"cursor-pointer",value:g.id},{default:v(()=>{var x;return[y("div",da,[(h(),R(pt((x=l(kt)(g.type))==null?void 0:x.icon),{class:"size-4!"})),I(" "+N(g.name),1)])]}),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value","open"])],64)}}}),Cs=H({__name:"VariableEditor",props:{fileVariables:{}},emits:["updateVariables"],setup(s,{emit:e}){const t=e,n=G({line:1,column:1}),o=[Ws(`Please input your json variable
|
|
3
|
-
{
|
|
4
|
-
"key": "value"
|
|
5
|
-
}`),wn(i=>{try{return Gs(i,{type:"space",size:2})}catch{return i}}),Fn(),ys(),xs(Bn())],a=i=>{t("updateVariables",i)};return(i,r)=>(h(),R(ms,{"onUpdate:modelValue":a,"onUpdate:cursorInfo":r[0]||(r[0]=u=>n.value=u),modelValue:i.fileVariables,extensions:o,disabled:!1,ref:"codeEditorRef"},null,8,["modelValue"]))}}),pa={class:"h-full flex flex-col overflow-y-auto"},fa=H({__name:"AddVariableModal",props:{open:{},fileVariables:{}},emits:["update:open","updateVariables"],setup(s,{emit:e}){const t=e,n=async o=>{t("updateVariables",o)};return(o,a)=>(h(),R(l(ss),{class:"",open:!!o.open,"onUpdate:open":a[1]||(a[1]=i=>t("update:open",i))},{default:v(()=>[f(l(ns),{class:"w-[60vw] h-[50vh] flex flex-col justify-between min-w-[60vw]"},{default:v(()=>[f(l(os),null,{default:v(()=>[f(l(as),null,{default:v(()=>a[2]||(a[2]=[I(" Add Variable "),y("a",{class:"underline",href:"https://www.w3schools.com/js/js_json_syntax.asp",target:"_blank"}," (JSON format)",-1)])),_:1})]),_:1}),y("div",pa,[f(Cs,{onUpdateVariables:n,fileVariables:o.fileVariables},null,8,["fileVariables"])]),f(l(Ks),{class:"mt-2"},{default:v(()=>[f(l(Ie),{onClick:a[0]||(a[0]=i=>t("update:open",!1))},{default:v(()=>a[3]||(a[3]=[I(" Save ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),ha=H({__name:"RawQueryConfigModal",props:{open:{}},emits:["update:open"],setup(s,{emit:e}){const t=e;return(n,o)=>(h(),R(l(ss),{class:"",open:!!n.open,"onUpdate:open":o[0]||(o[0]=a=>t("update:open",a))},{default:v(()=>[f(l(ns),{class:"w-[50vw] h-[70vh] flex flex-col justify-between min-w-[50vw]"},{default:v(()=>[f(l(os),null,{default:v(()=>[f(l(as),null,{default:v(()=>o[1]||(o[1]=[I(" Editor configs ")])),_:1})]),_:1}),f(Ys)]),_:1})]),_:1},8,["open"]))}}),va={class:"flex items-center justify-between p-1 rounded-md bg-muted"},ga={class:"flex gap-2 items-center"},ya=H({__name:"RawQueryEditorHeader",props:{currentFileInfo:{},fileVariables:{},workspaceId:{},connections:{},connection:{},codeEditorLayout:{}},emits:["update:connectionId","update:updateFileVariables"],setup(s){const e=G(!1),t=G(!1),n=G(!1),o=()=>{e.value=!0},a=()=>{t.value=!0};return(i,r)=>{const u=de,c=Vn,d=Xs,m=Zs,g=Js,x=Ie;return h(),E(Y,null,[f(fa,{onUpdateVariables:r[0]||(r[0]=C=>i.$emit("update:updateFileVariables",C)),"file-variables":i.fileVariables,open:l(e),"onUpdate:open":r[1]||(r[1]=C=>Se(e)?e.value=C:null)},null,8,["file-variables","open"]),f(ha,{open:l(t),"onUpdate:open":r[2]||(r[2]=C=>Se(t)?t.value=C:null)},null,8,["open"]),y("div",va,[y("div",null,[f(g,null,{default:v(()=>[f(m,{class:"gap-0!"},{default:v(()=>[f(d,null,{default:v(()=>[f(c,{class:"flex items-center gap-0.5"},{default:v(()=>{var C,b;return[f(u,{name:(C=i.currentFileInfo)==null?void 0:C.icon},null,8,["name"]),I(" "+N((b=i.currentFileInfo)==null?void 0:b.title),1)]}),_:1})]),_:1})]),_:1})]),_:1})]),y("div",ga,[i.codeEditorLayout===l(Pe).horizontal?(h(),R(l(re),{key:0},{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>[f(x,{onClick:o,variant:"outline",size:"xs",class:"relative"},{default:v(()=>[l(n)?(h(),R(u,{key:0,name:"lucide:triangle-alert",class:"absolute -top-1 -right-1 text-red-400"})):Q("",!0),f(u,{name:"hugeicons:absolute"}),r[4]||(r[4]=I(" Add variables "))]),_:1})]),_:1}),f(l(ue),null,{default:v(()=>r[5]||(r[5]=[y("p",null,"Add variables",-1)])),_:1})]),_:1})):Q("",!0),f(l(re),null,{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>{var C;return[f(ma,{connectionId:((C=i.currentFileInfo)==null?void 0:C.connectionId)||"","onUpdate:connectionId":r[3]||(r[3]=b=>i.$emit("update:connectionId",b)),connections:i.connections,connection:i.connection,class:"w-16 h-6! px-1.5",workspaceId:i.workspaceId},null,8,["connectionId","connections","connection","workspaceId"])]}),_:1}),f(l(ue),null,{default:v(()=>r[6]||(r[6]=[y("p",null,"Select connection",-1)])),_:1})]),_:1}),f(l(re),null,{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>[f(x,{onClick:a,variant:"outline",size:"iconSm"},{default:v(()=>[f(u,{name:"hugeicons:dashboard-square-02"})]),_:1})]),_:1}),f(l(ue),null,{default:v(()=>r[7]||(r[7]=[y("p",null,"Query Settings",-1)])),_:1})]),_:1})])])],64)}}}),Qe={__name:"splitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},maximizePanes:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean,default:!1}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click","splitter-dblclick"],setup(s,{emit:e}){const t=e,n=s,o=en(),a=G([]),i=q(()=>a.value.reduce((S,$)=>(S[~~$.id]=$)&&S,{})),r=q(()=>a.value.length),u=G(null),c=G(!1),d=G({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),m=G({splitter:null,timeoutId:null}),g=q(()=>({[`splitpanes splitpanes--${n.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":d.value.dragging})),x=()=>{document.addEventListener("mousemove",p,{passive:!1}),document.addEventListener("mouseup",_),"ontouchstart"in window&&(document.addEventListener("touchmove",p,{passive:!1}),document.addEventListener("touchend",_))},C=()=>{document.removeEventListener("mousemove",p,{passive:!1}),document.removeEventListener("mouseup",_),"ontouchstart"in window&&(document.removeEventListener("touchmove",p,{passive:!1}),document.removeEventListener("touchend",_))},b=(S,$)=>{const L=S.target.closest(".splitpanes__splitter");if(L){const{left:z,top:M}=L.getBoundingClientRect(),{clientX:j,clientY:K}="ontouchstart"in window&&S.touches?S.touches[0]:S;d.value.cursorOffset=n.horizontal?K-M:j-z}x(),d.value.mouseDown=!0,d.value.activeSplitter=$},p=S=>{d.value.mouseDown&&(S.preventDefault(),d.value.dragging=!0,requestAnimationFrame(()=>{D(w(S)),me("resize",{event:S},!0)}))},_=S=>{d.value.dragging&&(window.getSelection().removeAllRanges(),me("resized",{event:S},!0)),d.value.mouseDown=!1,d.value.activeSplitter=null,setTimeout(()=>{d.value.dragging=!1,C()},100)},T=(S,$)=>{"ontouchstart"in window&&(S.preventDefault(),m.value.splitter===$?(clearTimeout(m.value.timeoutId),m.value.timeoutId=null,k(S,$),m.value.splitter=null):(m.value.splitter=$,m.value.timeoutId=setTimeout(()=>m.value.splitter=null,500))),d.value.dragging||me("splitter-click",{event:S,index:$},!0)},k=(S,$)=>{if(me("splitter-dblclick",{event:S,index:$},!0),n.maximizePanes){let L=0;a.value=a.value.map((z,M)=>(z.size=M===$?z.max:z.min,M!==$&&(L+=z.min),z)),a.value[$].size-=L,me("pane-maximize",{event:S,index:$,pane:a.value[$]}),me("resized",{event:S,index:$},!0)}},V=(S,$)=>{me("pane-click",{event:S,index:i.value[$].index,pane:i.value[$]})},w=S=>{const $=u.value.getBoundingClientRect(),{clientX:L,clientY:z}="ontouchstart"in window&&S.touches?S.touches[0]:S;return{x:L-(n.horizontal?0:d.value.cursorOffset)-$.left,y:z-(n.horizontal?d.value.cursorOffset:0)-$.top}},U=S=>{S=S[n.horizontal?"y":"x"];const $=u.value[n.horizontal?"clientHeight":"clientWidth"];return n.rtl&&!n.horizontal&&(S=$-S),S*100/$},D=S=>{const $=d.value.activeSplitter;let L={prevPanesSize:B($),nextPanesSize:O($),prevReachedMinPanes:0,nextReachedMinPanes:0};const z=0+(n.pushOtherPanes?0:L.prevPanesSize),M=100-(n.pushOtherPanes?0:L.nextPanesSize),j=Math.max(Math.min(U(S),M),z);let K=[$,$+1],te=a.value[K[0]]||null,pe=a.value[K[1]]||null;const Rt=te.max<100&&j>=te.max+L.prevPanesSize,Is=pe.max<100&&j<=100-(pe.max+O($+1));if(Rt||Is){Rt?(te.size=te.max,pe.size=Math.max(100-te.max-L.prevPanesSize-L.nextPanesSize,0)):(te.size=Math.max(100-pe.max-L.prevPanesSize-O($+1),0),pe.size=pe.max);return}if(n.pushOtherPanes){const $t=A(L,j);if(!$t)return;({sums:L,panesToResize:K}=$t),te=a.value[K[0]]||null,pe=a.value[K[1]]||null}te!==null&&(te.size=Math.min(Math.max(j-L.prevPanesSize-L.prevReachedMinPanes,te.min),te.max)),pe!==null&&(pe.size=Math.min(Math.max(100-j-L.nextPanesSize-L.nextReachedMinPanes,pe.min),pe.max))},A=(S,$)=>{const L=d.value.activeSplitter,z=[L,L+1];return $<S.prevPanesSize+a.value[z[0]].min&&(z[0]=P(L).index,S.prevReachedMinPanes=0,z[0]<L&&a.value.forEach((M,j)=>{j>z[0]&&j<=L&&(M.size=M.min,S.prevReachedMinPanes+=M.min)}),S.prevPanesSize=B(z[0]),z[0]===void 0)?(S.prevReachedMinPanes=0,a.value[0].size=a.value[0].min,a.value.forEach((M,j)=>{j>0&&j<=L&&(M.size=M.min,S.prevReachedMinPanes+=M.min)}),a.value[z[1]].size=100-S.prevReachedMinPanes-a.value[0].min-S.prevPanesSize-S.nextPanesSize,null):$>100-S.nextPanesSize-a.value[z[1]].min&&(z[1]=W(L).index,S.nextReachedMinPanes=0,z[1]>L+1&&a.value.forEach((M,j)=>{j>L&&j<z[1]&&(M.size=M.min,S.nextReachedMinPanes+=M.min)}),S.nextPanesSize=O(z[1]-1),z[1]===void 0)?(S.nextReachedMinPanes=0,a.value.forEach((M,j)=>{j<r.value-1&&j>=L+1&&(M.size=M.min,S.nextReachedMinPanes+=M.min)}),a.value[z[0]].size=100-S.prevPanesSize-O(z[0]-1),null):{sums:S,panesToResize:z}},B=S=>a.value.reduce(($,L,z)=>$+(z<S?L.size:0),0),O=S=>a.value.reduce(($,L,z)=>$+(z>S+1?L.size:0),0),P=S=>[...a.value].reverse().find($=>$.index<S&&$.size>$.min)||{},W=S=>a.value.find($=>$.index>S+1&&$.size>$.min)||{},Z=()=>{var S;const $=Array.from(((S=u.value)==null?void 0:S.children)||[]);for(const L of $){const z=L.classList.contains("splitpanes__pane"),M=L.classList.contains("splitpanes__splitter");!z&&!M&&(L.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))}},ee=(S,$,L=!1)=>{const z=S-1,M=document.createElement("div");M.classList.add("splitpanes__splitter"),L||(M.onmousedown=j=>b(j,z),typeof window<"u"&&"ontouchstart"in window&&(M.ontouchstart=j=>b(j,z)),M.onclick=j=>T(j,z+1)),M.ondblclick=j=>k(j,z+1),$.parentNode.insertBefore(M,$)},Me=S=>{S.onmousedown=void 0,S.onclick=void 0,S.ondblclick=void 0,S.remove()},Te=()=>{var S;const $=Array.from(((S=u.value)==null?void 0:S.children)||[]);for(const z of $)z.className.includes("splitpanes__splitter")&&Me(z);let L=0;for(const z of $)z.className.includes("splitpanes__pane")&&(!L&&n.firstSplitter?ee(L,z,!0):L&&ee(L,z),L++)},Oe=({uid:S,...$})=>{const L=i.value[S];for(const[z,M]of Object.entries($))L[z]=M},ce=S=>{var $;let L=-1;Array.from((($=u.value)==null?void 0:$.children)||[]).some(z=>(z.className.includes("splitpanes__pane")&&L++,z.isSameNode(S.el))),a.value.splice(L,0,{...S,index:L}),a.value.forEach((z,M)=>z.index=M),c.value&&ve(()=>{Te(),ye({addedPane:a.value[L]}),me("pane-add",{pane:a.value[L]})})},he=S=>{const $=a.value.findIndex(z=>z.id===S);a.value[$].el=null;const L=a.value.splice($,1)[0];a.value.forEach((z,M)=>z.index=M),ve(()=>{Te(),me("pane-remove",{pane:L}),ye({removedPane:{...L}})})},ye=(S={})=>{!S.addedPane&&!S.removedPane?je():a.value.some($=>$.givenSize!==null||$.min||$.max<100)?As(S):be(),c.value&&me("resized")},be=()=>{const S=100/r.value;let $=0;const L=[],z=[];for(const M of a.value)M.size=Math.max(Math.min(S,M.max),M.min),$-=M.size,M.size>=M.max&&L.push(M.id),M.size<=M.min&&z.push(M.id);$>.1&&nt($,L,z)},je=()=>{let S=100;const $=[],L=[];let z=0;for(const j of a.value)S-=j.size,j.givenSize!==null&&z++,j.size>=j.max&&$.push(j.id),j.size<=j.min&&L.push(j.id);let M=100;if(S>.1){for(const j of a.value)j.givenSize===null&&(j.size=Math.max(Math.min(S/(r.value-z),j.max),j.min)),M-=j.size;M>.1&&nt(M,$,L)}},As=({addedPane:S,removedPane:$}={})=>{let L=100/r.value,z=0;const M=[],j=[];((S==null?void 0:S.givenSize)??null)!==null&&(L=(100-S.givenSize)/(r.value-1));for(const K of a.value)z-=K.size,K.size>=K.max&&M.push(K.id),K.size<=K.min&&j.push(K.id);if(!(Math.abs(z)<.1)){for(const K of a.value)(S==null?void 0:S.givenSize)!==null&&(S==null?void 0:S.id)===K.id||(K.size=Math.max(Math.min(L,K.max),K.min)),z-=K.size,K.size>=K.max&&M.push(K.id),K.size<=K.min&&j.push(K.id);z>.1&&nt(z,M,j)}},nt=(S,$,L)=>{let z;S>0?z=S/(r.value-$.length):z=S/(r.value-L.length),a.value.forEach((M,j)=>{if(S>0&&!$.includes(M.id)){const K=Math.max(Math.min(M.size+z,M.max),M.min),te=K-M.size;S-=te,M.size=K}else if(!L.includes(M.id)){const K=Math.max(Math.min(M.size+z,M.max),M.min),te=K-M.size;S-=te,M.size=K}}),Math.abs(S)>.1&&ve(()=>{c.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})},me=(S,$=void 0,L=!1)=>{const z=($==null?void 0:$.index)??d.value.activeSplitter??null;t(S,{...$,...z!==null&&{index:z},...L&&z!==null&&{prevPane:a.value[z-(n.firstSplitter?1:0)],nextPane:a.value[z+(n.firstSplitter?0:1)]},panes:a.value.map(M=>({min:M.min,max:M.max,size:M.size}))})};ge(()=>n.firstSplitter,()=>Te()),_t(()=>{Z(),Te(),ye(),me("ready"),c.value=!0}),ls(()=>c.value=!1);const Ns=()=>{var S;return sn("div",{ref:u,class:g.value},(S=o.default)==null?void 0:S.call(o))};return Ee("panes",a),Ee("indexedPanes",i),Ee("horizontal",q(()=>n.horizontal)),Ee("requestUpdate",Oe),Ee("onPaneAdd",ce),Ee("onPaneRemove",he),Ee("onPaneClick",V),(S,$)=>(h(),R(pt(Ns)))}},Re={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(s){var e;const t=s,n=Le("requestUpdate"),o=Le("onPaneAdd"),a=Le("horizontal"),i=Le("onPaneRemove"),r=Le("onPaneClick"),u=(e=tn())==null?void 0:e.uid,c=Le("indexedPanes"),d=q(()=>c.value[u]),m=G(null),g=q(()=>{const p=isNaN(t.size)||t.size===void 0?0:parseFloat(t.size);return Math.max(Math.min(p,C.value),x.value)}),x=q(()=>{const p=parseFloat(t.minSize);return isNaN(p)?0:p}),C=q(()=>{const p=parseFloat(t.maxSize);return isNaN(p)?100:p}),b=q(()=>{var p;return`${a.value?"height":"width"}: ${(p=d.value)==null?void 0:p.size}%`});return ge(()=>g.value,p=>n({uid:u,size:p})),ge(()=>x.value,p=>n({uid:u,min:p})),ge(()=>C.value,p=>n({uid:u,max:p})),_t(()=>{o({id:u,el:m.value,min:x.value,max:C.value,givenSize:t.size===void 0?null:g.value,size:g.value})}),ls(()=>i(u)),(p,_)=>(h(),E("div",{ref_key:"paneEl",ref:m,class:"splitpanes__pane",onClick:_[0]||(_[0]=T=>l(r)(T,p._.uid)),style:Ae(b.value)},[J(p.$slots,"default")],4))}},xa={class:"w-full h-full"},ba={class:"flex flex-col w-full h-full overflow-y-auto"},_a={class:"flex flex-col flex-1 h-full p-1"},Ca={class:"flex flex-col flex-1 h-full p-1 pl-0 relative"},Sa=H({__name:"RawQueryLayout",props:{layout:{},customLayout:{},showResultPanel:{type:Boolean}},setup(s){const e=s,t=rs(),{editorLayoutSizes:n,editorLayoutInnerVariableSizes:o}=De(t),a=w=>{n.value=[w[0].size,w[1].size]},i=w=>{o.value=[w[0].size,w[1].size]},r=q(()=>n.value[0]),u=q(()=>o.value[0]),c=q(()=>o.value[1]),d=q(()=>n.value[1]),m=q(()=>e.layout===Pe.horizontalWithVariables||e.layout===Pe.vertical),g=q(()=>e.layout===Pe.horizontalWithVariables),x=q(()=>!!e.customLayout),C=q(()=>{var w;return((w=e.customLayout)==null?void 0:w.direction)==="vertical"}),b=q(()=>{var w,U;return((U=(w=e.customLayout)==null?void 0:w.innerSplit)==null?void 0:U.direction)==="vertical"}),p=w=>{var A,B,O,P,W;const U=(A=e.customLayout)==null?void 0:A.id;if(!U)return((O=(B=e.customLayout)==null?void 0:B.panels[w])==null?void 0:O.defaultSize)??50;const D=t.customLayoutSizes[U];return(D==null?void 0:D.panels[w])??((W=(P=e.customLayout)==null?void 0:P.panels[w])==null?void 0:W.defaultSize)??50},_=w=>{var A,B,O,P,W,Z,ee;const U=(A=e.customLayout)==null?void 0:A.id;if(!U)return((P=(O=(B=e.customLayout)==null?void 0:B.innerSplit)==null?void 0:O.panels[w])==null?void 0:P.defaultSize)??50;const D=t.customLayoutSizes[U];return(D==null?void 0:D.innerPanels[w])??((ee=(Z=(W=e.customLayout)==null?void 0:W.innerSplit)==null?void 0:Z.panels[w])==null?void 0:ee.defaultSize)??50},T=w=>{var D;const U=(D=e.customLayout)==null?void 0:D.id;U&&t.updateCustomLayoutSizes(U,w.map(A=>A.size))},k=w=>{var A,B,O;const U=(A=e.customLayout)==null?void 0:A.id;if(!U)return;const D=((B=t.customLayoutSizes[U])==null?void 0:B.panels)??((O=e.customLayout)==null?void 0:O.panels.map(P=>P.defaultSize))??[];t.updateCustomLayoutSizes(U,D,w.map(P=>P.size))},V={content:"flex flex-col w-full h-full overflow-y-auto",variables:"flex flex-col flex-1 h-full p-1",result:"flex flex-col flex-1 h-full p-1 pl-0 relative"};return(w,U)=>(h(),E("div",xa,[l(x)&&w.customLayout?(h(),R(l(Qe),{key:0,class:"default-theme",horizontal:l(C),onResize:U[1]||(U[1]=D=>T(D.panes))},{default:v(()=>[(h(!0),E(Y,null,X(w.customLayout.panels,(D,A)=>(h(),E(Y,{key:A},[w.customLayout.innerSplit&&w.customLayout.innerSplit.panelIndex===A?(h(),R(l(Re),{key:0,size:p(A),"min-size":D.minSize,"max-size":D.maxSize},{default:v(()=>[f(l(Qe),{horizontal:l(b),class:"default-theme",onResize:U[0]||(U[0]=B=>k(B.panes))},{default:v(()=>[(h(!0),E(Y,null,X(w.customLayout.innerSplit.panels,(B,O)=>(h(),R(l(Re),{key:`inner-${O}`,size:_(O),"min-size":B.minSize,"max-size":B.maxSize},{default:v(()=>[y("div",{class:le(V[B.slot])},[J(w.$slots,B.slot)],2)]),_:2},1032,["size","min-size","max-size"]))),128))]),_:3},8,["horizontal"])]),_:2},1032,["size","min-size","max-size"])):(h(),R(l(Re),{key:1,size:p(A),"min-size":D.minSize,"max-size":D.maxSize},{default:v(()=>[y("div",{class:le(V[D.slot])},[J(w.$slots,D.slot)],2)]),_:2},1032,["size","min-size","max-size"]))],64))),128))]),_:3},8,["horizontal"])):(h(),R(l(Qe),{key:1,onResize:U[3]||(U[3]=D=>a(D.panes)),class:"default-theme",horizontal:w.layout===l(Pe).vertical},{default:v(()=>[f(l(Re),{size:l(r)},{default:v(()=>[f(l(Qe),{horizontal:l(g),onResize:U[2]||(U[2]=D=>l(m)?i(D.panes):null)},{default:v(()=>[f(l(Re),{size:l(m)?l(u):100,"min-size":"30"},{default:v(()=>[y("div",ba,[J(w.$slots,"content")])]),_:3},8,["size"]),l(m)?(h(),R(l(Re),{key:0,size:l(c),"min-size":"0","max-size":"70"},{default:v(()=>[y("div",_a,[J(w.$slots,"variables")])]),_:3},8,["size"])):Q("",!0)]),_:3},8,["horizontal"])]),_:3},8,["size"]),e.showResultPanel!==!1?(h(),R(l(Re),{key:0,size:l(d),"min-size":"0","max-size":"80"},{default:v(()=>[y("div",Ca,[J(w.$slots,"result")])]),_:3},8,["size"])):Q("",!0)]),_:3},8,["horizontal"]))]))}}),wa={class:"h-full flex flex-col p-2"},Ta={class:"flex items-center justify-between mb-2"},Ea={class:"flex items-center gap-2 text-xs text-muted-foreground"},Ra={key:0,class:"mb-3 p-2 bg-muted/50 rounded-md border text-xs"},$a={class:"text-muted-foreground mb-1 flex items-center gap-1"},ka={class:"text-[11px] line-clamp-2"},za={key:1,class:"mb-3 p-3 bg-red-50 border border-red-200 rounded-md text-sm text-red-600"},Ma={class:"flex items-center gap-2"},La={key:2,class:"flex-1 flex items-center justify-center text-muted-foreground"},Aa={class:"text-center"},Na={class:"text-sm mb-1"},Ia={class:"flex flex-wrap justify-center gap-2"},Oa={key:0,class:"whitespace-pre-wrap"},Pa={key:1,class:"prose prose-sm dark:prose-invert max-w-none prose-pre:bg-muted prose-pre:text-foreground"},qa={key:0,class:"whitespace-pre-wrap"},Va={key:1,class:"flex gap-3"},Da={class:"bg-muted rounded-lg p-3 text-sm"},Fa={class:"flex items-center gap-2"},Ba={key:4,class:"flex flex-col gap-2"},ja=H({__name:"ResultTabAgentView",props:{activeTab:{}},setup(s){const e=s,t=q(()=>e.activeTab.metadata.statementQuery),{selectedProvider:n,selectedModel:o,isLoading:a,error:i,messages:r,hasApiKey:u,currentProvider:c,sendMessage:d,clearChat:m}=Yn({body:()=>({sqlContext:t.value})}),{openSettings:g}=on(),x=G(""),C=G(null),b=async T=>{if(T.preventDefault(),!x.value.trim()||a.value)return;const k=x.value;x.value="",await d(k),await ve(),p()},p=()=>{C.value&&(C.value.scrollTop=C.value.scrollHeight)};ge(()=>r.value.length,()=>{ve(()=>p())}),ge(()=>{const T=r.value[r.value.length-1];return T!=null&&T.parts?T.parts.filter(k=>k.type==="text").map(k=>k.text).join(""):""},()=>{ve(()=>p())});const _=async T=>{await d(T),await ve(),p()};return(T,k)=>{var A,B,O;const V=de,w=Ie,U=st,D=Kn;return h(),E("div",wa,[y("div",Ta,[y("div",Ea,[f(V,{name:"hugeicons:chat-bot",class:"size-4"}),k[8]||(k[8]=y("span",null,"SQL Assistant",-1)),y("div",null,[f(l(re),null,{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>[y("div",null,[f(nn,{provider:l(n),"onUpdate:provider":k[0]||(k[0]=P=>Se(n)?n.value=P:null),model:l(o),"onUpdate:model":k[1]||(k[1]=P=>Se(o)?o.value=P:null),class:"min-w-[160px] h-6!"},null,8,["provider","model"])])]),_:1}),f(l(ue),null,{default:v(()=>k[7]||(k[7]=[y("p",null,"Select AI Model",-1)])),_:1})]),_:1})])]),f(l(re),null,{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>[f(w,{variant:"ghost",size:"xs",onClick:l(m),disabled:l(r).length===0},{default:v(()=>[f(V,{name:"lucide:trash-2",class:"size-3.5"})]),_:1},8,["onClick","disabled"])]),_:1}),f(l(ue),null,{default:v(()=>k[9]||(k[9]=[y("p",null,"Clear chat history",-1)])),_:1})]),_:1})]),l(t)?(h(),E("div",Ra,[y("div",$a,[f(V,{name:"hugeicons:sql",class:"size-3"}),k[10]||(k[10]=I(" Current Query Context: "))]),y("code",ka,N(l(t)),1)])):Q("",!0),l(i)?(h(),E("div",za,[y("div",Ma,[f(V,{name:"lucide:alert-circle",class:"size-4"}),I(" "+N(l(i)),1)])])):Q("",!0),l(u)?(h(),E("div",{key:3,ref_key:"messagesContainer",ref:C,class:"flex-1 overflow-y-auto space-y-4 mb-4"},[l(r).length===0?(h(),R(U,{key:0,title:"Agent Chat",desc:"Ask me anything about your SQL query"},{default:v(()=>[y("div",Ia,[f(w,{variant:"outline",size:"xs",onClick:k[3]||(k[3]=P=>_("Explain this query"))},{default:v(()=>k[14]||(k[14]=[I(" Explain this query ")])),_:1}),f(w,{variant:"outline",size:"xs",onClick:k[4]||(k[4]=P=>_("How can I optimize this query?"))},{default:v(()=>k[15]||(k[15]=[I(" Optimize query ")])),_:1}),f(w,{variant:"outline",size:"xs",onClick:k[5]||(k[5]=P=>_("What are potential issues with this query?"))},{default:v(()=>k[16]||(k[16]=[I(" Find issues ")])),_:1})])]),_:1})):Q("",!0),(h(!0),E(Y,null,X(l(r),P=>(h(),E("div",{key:P.id,class:le(["flex gap-3",P.role==="user"?"justify-end":"justify-start"])},[y("div",{class:le(["max-w-[80%] rounded-lg p-3 text-sm",P.role==="user"?"bg-primary text-primary-foreground":"bg-muted"])},[P.role==="user"?(h(!0),E(Y,{key:0},X(P.parts,(W,Z)=>(h(),E(Y,{key:Z},[W.type==="text"?(h(),E("span",Oa,N(W.text),1)):Q("",!0)],64))),128)):(h(),E("div",Pa,[(h(!0),E(Y,null,X(P.parts,(W,Z)=>(h(),E(Y,{key:Z},[W.type==="text"?(h(),E("span",qa,N(W.text),1)):Q("",!0)],64))),128))]))],2)],2))),128)),l(a)&&(!((A=l(r)[l(r).length-1])!=null&&A.parts)||((O=(B=l(r)[l(r).length-1])==null?void 0:B.parts)==null?void 0:O.length)===0)?(h(),E("div",Va,[y("div",Da,[y("div",Fa,[f(V,{name:"hugeicons:loading-03",class:"size-4 animate-spin"}),k[17]||(k[17]=y("span",{class:"text-muted-foreground"},"Thinking...",-1))])])])):Q("",!0)],512)):(h(),E("div",La,[y("div",Aa,[f(V,{name:"lucide:key",class:"size-12 mb-3 opacity-50 mx-auto"}),y("p",Na," No API key configured for "+N(l(c).name),1),k[13]||(k[13]=y("p",{class:"text-xs text-muted-foreground mb-3"}," Configure your API keys in Settings → Agent ",-1)),f(l(re),null,{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>[f(w,{variant:"outline",size:"sm",class:"text-xs",onClick:k[2]||(k[2]=P=>l(g)("Agent"))},{default:v(()=>[f(V,{name:"lucide:settings",class:"size-4 mr-1"}),k[11]||(k[11]=I(" Open Settings "))]),_:1})]),_:1}),f(l(ue),null,{default:v(()=>k[12]||(k[12]=[y("p",null,"Open functionality settings",-1)])),_:1})]),_:1})])])),l(u)?(h(),E("div",Ba,[y("form",{onSubmit:b,class:"flex gap-2 relative"},[f(D,{modelValue:l(x),"onUpdate:modelValue":k[6]||(k[6]=P=>Se(x)?x.value=P:null),placeholder:"Ask about your SQL query...",disabled:l(a),class:"min-h-4!"},null,8,["modelValue","disabled"]),f(l(re),null,{default:v(()=>[f(l(ie),{"as-child":""},{default:v(()=>[f(w,{type:"submit",size:"iconSm",class:"absolute right-2 top-1/2 -translate-y-1/2 rounded-full",disabled:!l(x).trim()||l(a)},{default:v(()=>[f(V,{name:l(a)?"hugeicons:loading-03":"lucide:arrow-up",class:le(["size-4",l(a)?"animate-spin":""])},null,8,["name","class"])]),_:1},8,["disabled"])]),_:1}),f(l(ue),null,{default:v(()=>k[18]||(k[18]=[y("p",null,"Send message",-1)])),_:1})]),_:1})],32)])):Q("",!0)])}}}),Ua={class:"h-full p-2 overflow-y-auto"},Qa={key:0,class:"space-y-2"},Ha={class:"flex items-center justify-between gap-2"},Wa={class:"flex items-center gap-1"},Ga={class:"text-sm pl-5 text-muted-foreground decoration-wavy underline decoration-red-600"},Ka={key:0,class:"pl-5 mt-1 text-sm text-amber-600/90 font-medium"},Ya={class:"pt-2 border-t"},Ja={class:"error-query-container"},Za={key:0,class:"pt-2 border-t"},Xa=H({__name:"ResultTabErrorView",props:{activeTab:{}},emits:["onChangeView"],setup(s,{emit:e}){const t=s,n=e,o=x=>!!x.metadata.executeErrors,a=q(()=>{var C,b;const x=(C=t.activeTab.metadata.executeErrors)==null?void 0:C.data;return((b=x==null?void 0:x.normalizeError)==null?void 0:b.position)||null}),i=q(()=>{var b;const x=t.activeTab.metadata.executeErrors,C=x==null?void 0:x.data;return((b=C==null?void 0:C.normalizeError)==null?void 0:b.message)||(x==null?void 0:x.message)||""}),r=q(()=>{var C,b;const x=(C=t.activeTab.metadata.executeErrors)==null?void 0:C.data;return((b=x==null?void 0:x.normalizeError)==null?void 0:b.hint)||null}),u=q(()=>{const x=t.activeTab.metadata.statementQuery;if(!x)return[];const C=a.value,b=[];if(C&&C>0){const p=C-1;let _=p;for(;_<x.length&&x[_]!==`
|
|
6
|
-
`&&x[_]!=="\r"&&x[_]!==" "&&x[_]!==" ";)_++;_<=p&&(_=Math.min(p+1,x.length)),b.push({start:p,end:_,properties:{class:"error-highlight"}})}return b}),c=async()=>{if(typeof window>"u")return;await ve();const x=document.querySelector(".error-query-container .error-highlight");x&&x.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})};ge(()=>u.value,()=>{c()},{flush:"post"});const d=q(()=>{var C;const x={...((C=t.activeTab.metadata.executeErrors)==null?void 0:C.data)||{}};return x==null||delete x.normalizeError,x?typeof x=="string"?x:JSON.stringify(x,null,2):""}),m=q(()=>t.activeTab.metadata.statementQuery||""),g=()=>{n("onChangeView","agent")};return(x,C)=>{var _;const b=de,p=wt;return h(),E("div",Ua,[o(x.activeTab)?(h(),E("div",Qa,[y("div",Ha,[y("div",null,[y("div",Wa,[f(b,{name:"hugeicons:alert-02",class:"size-4 text-red-500 mt-0.5"}),C[0]||(C[0]=y("div",{class:"font-medium text-red-600"},"Error Message",-1))]),y("span",Ga,N(i.value),1),r.value?(h(),E("div",Ka," Hint: "+N(r.value),1)):Q("",!0)]),f(l(Ie),{onClick:g,size:"xs",variant:"outline"},{default:v(()=>[f(b,{name:"hugeicons:ai-brain-04",class:"size-4"}),C[1]||(C[1]=I(" Ask AI to fix this error "))]),_:1})]),y("div",Ya,[C[2]||(C[2]=y("div",{class:"mb-2"},[y("span",{class:"font-normal text-sm text-muted-foreground flex items-center gap-1"}," View executed query : ")],-1)),y("div",Ja,[f(p,{code:m.value,decorations:u.value,"show-copy-button":""},null,8,["code","decorations"])])]),(_=x.activeTab.metadata.executeErrors)!=null&&_.data?(h(),E("div",Za,[C[3]||(C[3]=y("div",{class:"flex items-center justify-between mb-2"},[y("div",{class:"text-sm text-muted-foreground"},"Error Details:")],-1)),f(p,{code:d.value,language:"json"},null,8,["code"])])):Q("",!0)])):Q("",!0)])}}}),el=es(Xa,[["__scopeId","data-v-d4daf140"]]),tl={class:"h-full p-4 space-y-3 overflow-y-auto"},sl={class:"space-y-2"},nl={class:"flex items-center gap-2 text-sm"},ol={class:"font-medium"},al={class:"flex items-center gap-2 text-sm"},ll={class:"font-medium"},rl={class:"flex items-center gap-2 text-sm"},il={class:"font-medium"},ul={class:"flex items-center gap-2 text-sm"},cl={class:"font-medium"},dl={class:"flex items-center gap-2 text-sm"},ml={class:"font-medium"},pl={key:0,class:"flex items-center gap-2 text-sm"},fl={class:"font-medium"},hl={class:"pt-3 border-t"},vl={key:0,class:"pt-3 border-t"},gl={class:"flex flex-wrap gap-1"},yl=H({__name:"ResultTabInfoView",props:{activeTab:{}},setup(s){const e=s,t=typeof TextEncoder<"u"?new TextEncoder:null,n=q(()=>{var a;const o=((a=e.activeTab)==null?void 0:a.result)??[];if(!t)return{bytes:0,formatted:"N/A"};try{const i=JSON.stringify(o),r=i?t.encode(i).length:0;return{bytes:r,formatted:Jn(r)}}catch{return{bytes:0,formatted:"N/A"}}});return(o,a)=>{var u,c,d,m;const i=de,r=wt;return h(),E("div",tl,[y("div",sl,[y("div",nl,[f(i,{name:"hugeicons:clock-01",class:"size-4 text-muted-foreground"}),a[0]||(a[0]=y("span",{class:"text-muted-foreground"},"Query Time:",-1)),y("span",ol,N(l(Fe)(o.activeTab.metadata.queryTime)),1)]),y("div",al,[f(i,{name:"hugeicons:summation-01",class:"size-4 text-muted-foreground"}),a[1]||(a[1]=y("span",{class:"text-muted-foreground"},"Rows:",-1)),y("span",ll,N(l(ft)(((u=o.activeTab.result)==null?void 0:u.length)||0)),1)]),y("div",rl,[f(i,{name:"hugeicons:file-02",class:"size-4 text-muted-foreground"}),a[2]||(a[2]=y("span",{class:"text-muted-foreground"},"Result Size:",-1)),y("span",il,N(n.value.formatted),1)]),y("div",ul,[f(i,{name:"hugeicons:chart-column",class:"size-4 text-muted-foreground"}),a[3]||(a[3]=y("span",{class:"text-muted-foreground"},"Columns:",-1)),y("span",cl,N(((c=o.activeTab.metadata.fieldDefs)==null?void 0:c.length)||0),1)]),y("div",dl,[f(i,{name:"hugeicons:calendar-03",class:"size-4 text-muted-foreground"}),a[4]||(a[4]=y("span",{class:"text-muted-foreground"},"Executed At:",-1)),y("span",ml,N(((d=o.activeTab.metadata.executedAt)==null?void 0:d.toLocaleString())||"N/A"),1)]),o.activeTab.metadata.connection?(h(),E("div",pl,[f(i,{name:"hugeicons:plug-socket",class:"size-4 text-muted-foreground"}),a[5]||(a[5]=y("span",{class:"text-muted-foreground"},"Connection:",-1)),y("span",fl,N(o.activeTab.metadata.connection.name||"Unknown"),1)])):Q("",!0)]),y("div",hl,[a[6]||(a[6]=y("div",{class:"text-sm text-muted-foreground mb-2"},"Query:",-1)),f(r,{code:o.activeTab.metadata.statementQuery||""},null,8,["code"])]),(m=o.activeTab.metadata.fieldDefs)!=null&&m.length?(h(),E("div",vl,[a[7]||(a[7]=y("div",{class:"text-sm text-muted-foreground mb-2"},"Fields:",-1)),y("div",gl,[(h(!0),E(Y,null,X(o.activeTab.metadata.fieldDefs,g=>(h(),E("span",{key:g.name,class:"text-xs bg-muted px-2 py-1 rounded"},N(g.name),1))),128))])])):Q("",!0)])}}}),xl={class:"h-full flex flex-col flex-1 overflow-hidden"},bl=H({__name:"ResultTabRawView",props:{formattedData:{},executeLoading:{type:Boolean},isStreaming:{type:Boolean}},setup(s){const e=s;return(t,n)=>{const o=st;return h(),E("div",xl,[e.formattedData.length===0&&!t.executeLoading&&!t.isStreaming?(h(),R(o,{key:0,title:"No Raw Data",desc:"The query returned no records to display as JSON."})):(h(),R(l(jn),{key:1,modelValue:e.formattedData,mode:"text",readOnly:!0,navigationBar:!1,class:"h-full"},null,8,["modelValue"]))])}}}),Ss={SELECT:"DML",INSERT:"DML",UPDATE:"DML",DELETE:"DML",MERGE:"DML",VALUES:"DML",TRUNCATE:"DML",COPY:"DML",CREATE:"DDL",ALTER:"DDL",DROP:"DDL",COMMENT:"DDL",ANALYZE:"DDL",VACUUM:"DDL",REINDEX:"DDL",CLUSTER:"DDL","REFRESH MATERIALIZED VIEW":"DDL","IMPORT FOREIGN SCHEMA":"DDL","SECURITY LABEL":"DDL",GRANT:"DCL",REVOKE:"DCL",BEGIN:"TCL",COMMIT:"TCL",ROLLBACK:"TCL",SAVEPOINT:"TCL","RELEASE SAVEPOINT":"TCL","ROLLBACK TO SAVEPOINT":"TCL","PREPARE TRANSACTION":"TCL","COMMIT PREPARED":"TCL","ROLLBACK PREPARED":"TCL","SET TRANSACTION":"TCL",SET:"SYSTEM",SHOW:"SYSTEM",RESET:"SYSTEM",DISCARD:"SYSTEM",EXPLAIN:"SYSTEM",LOAD:"SYSTEM",LOCK:"SYSTEM",MOVE:"SYSTEM",FETCH:"SYSTEM",CLOSE:"SYSTEM",DECLARE:"SYSTEM",DEALLOCATE:"SYSTEM",PREPARE:"SYSTEM",EXECUTE:"SYSTEM",LISTEN:"SYSTEM",UNLISTEN:"SYSTEM",NOTIFY:"SYSTEM",DO:"SYSTEM",ABORT:"SYSTEM",CHECKPOINT:"SYSTEM"},_l=s=>{const e=s.toUpperCase().trim();if(["SELECT","VALUES","SHOW","EXPLAIN","TABLE"].some(o=>e===o||e.startsWith(o+" ")))return!1;const n=Ss[e];return!!(["INSERT","UPDATE","DELETE","TRUNCATE","COPY","MERGE","CALL","DO"].includes(e)||n==="DDL"||n==="DCL"||["SET","RESET","GRANT","REVOKE","COMMENT","ANALYZE","VACUUM","REINDEX","CLUSTER"].includes(e)||e.startsWith("CREATE")||e.startsWith("DROP")||e.startsWith("ALTER"))},Cl=(s,e)=>{const t=s||"Query",n=e??0;return["INSERT","UPDATE","DELETE"].includes(t.toUpperCase())?`${t} successful. ${n} rows affected.`:`${t} successful.`};class Be{constructor(e,t){ne(this,"cmd");ne(this,"rowCount");this.cmd=e.toUpperCase().trim(),this.rowCount=t}isMutation(){return _l(this.cmd)}getMessage(e){return e?Cl(this.cmd,this.rowCount):""}getCategory(){return Ss[this.cmd]??"UNKNOWN"}build(){const e=this.isMutation();return{isMutation:e,message:this.getMessage(e),category:this.getCategory()}}}class Sl extends Be{isMutation(){return["VACUUM","ANALYZE","REINDEX","CLUSTER"].includes(this.cmd)?!0:super.isMutation()}}class ws extends Be{isMutation(){return this.cmd.startsWith("OPTIMIZE")?!0:super.isMutation()}getMessage(e){return this.cmd==="TRUNCATE"||this.cmd.startsWith("TRUNCATE ")?"TRUNCATE successful.":super.getMessage(e)}}class wl extends ws{}class Ts extends Be{isMutation(){return this.cmd.startsWith("TRUNCATE")?!0:super.isMutation()}getMessage(e){return this.cmd==="INSERT"?`INSERT successful. Last insert row id: ${this.rowCount}.`:super.getMessage(e)}}class Tl extends Ts{}class El extends Be{getMessage(e){return this.cmd==="MERGE"?`MERGE successful. ${this.rowCount} rows affected.`:super.getMessage(e)}}class Rl extends Be{getMessage(e){return this.cmd==="TRUNCATE"||this.cmd.startsWith("TRUNCATE ")?"TRUNCATE successful.":this.cmd==="MERGE"?`MERGE successful. ${this.rowCount} rows affected.`:super.getMessage(e)}}const $l={[ae.POSTGRES]:Sl,[ae.MYSQL]:ws,[ae.MYSQL2]:wl,[ae.SQLITE3]:Ts,[ae.BETTER_SQLITE3]:Tl,[ae.MSSQL]:El,[ae.ORACLE]:Rl},kl=(s,e=0,t=ae.POSTGRES)=>{const n=$l[t];if(!n)throw new Error(`Unsupported database client type: "${t}"`);return new n(s,e).build()},zl=H({__name:"RawQueryContextMenu",props:{cellContextMenu:{},cellHeaderContextMenu:{},data:{},selectedRows:{},tableName:{},schemaName:{}},emits:["onClearContextMenu"],setup(s,{emit:e}){const t=s,n=e,o=q(()=>{var b,p,_,T;return((p=(b=t.cellContextMenu)==null?void 0:b.column)==null?void 0:p.getColId())??((T=(_=t.cellHeaderContextMenu)==null?void 0:_.column)==null?void 0:T.getColId())}),a=q(()=>{var b,p,_;return((b=t.cellContextMenu)==null?void 0:b.column.getColDef().headerName)??((_=(p=t.cellHeaderContextMenu)==null?void 0:p.column)==null?void 0:_.getColDef().headerName)??""}),i=b=>{Dt(t.selectedRows||[],a.value??"",b)},r=b=>{Dt(t.data||[],a.value??"",b)},u=b=>at(t.selectedRows||[],t.tableName||"table_data",b,t.schemaName),c=b=>at(t.data||[],t.tableName||"table_data",b,t.schemaName),d=b=>Ft(t.selectedRows||[],t.tableName||"table_data",b,"selected",t.schemaName),m=b=>Ft(t.data||[],t.tableName||"table_data",b,"all",t.schemaName),g=()=>{var p;const b=(p=t.cellContextMenu)==null?void 0:p.value;if(b!==void 0){if(typeof b=="object")return Bt(JSON.stringify(b));Bt(String(b))}},x=()=>{var b;if(t.cellContextMenu){const p=(b=t.cellContextMenu)==null?void 0:b.data;at([p],t.tableName||"table_data","csv-no-header",t.schemaName)}},C=q(()=>{var D;const b=!!t.cellContextMenu,p=t.selectedRows.length>0,_=t.selectedRows.length,T=((D=t.data)==null?void 0:D.length)||0,k=!!o.value,V=[{type:F.LABEL,title:`${_} selected`,condition:p&&b},{type:F.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>i("list"),condition:p&&b},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>i("json"),condition:p&&b},{type:F.SEPARATOR,condition:p&&b},{type:F.LABEL,title:"All data in column"},{type:F.ACTION,title:"Copy as text",icon:"hugeicons:file-01",select:()=>r("list")},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>r("json")}],w=[{type:F.LABEL,title:`${_} selected row(s)`,condition:p},{type:F.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>u("csv-no-header"),condition:p},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>u("json"),condition:p},{type:F.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>u("sql"),condition:p},{type:F.SEPARATOR,condition:p},{type:F.LABEL,title:"All rows"},{type:F.ACTION,title:"Copy as CSV/TSV",icon:"hugeicons:csv-02",select:()=>c("csv-no-header")},{type:F.ACTION,title:"Copy as JSON",icon:"hugeicons:code",select:()=>c("json")},{type:F.ACTION,title:"Copy as SQL",icon:"hugeicons:database",select:()=>c("sql")}],U=[{type:F.LABEL,title:`${_} selected row${_>1?"s":""}`,condition:p},{type:F.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>d("csv-no-header"),condition:p},{type:F.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>d("csv-with-header"),condition:p},{type:F.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>d("json"),condition:p},{type:F.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>d("sql"),condition:p},{type:F.SEPARATOR,condition:p},{type:F.LABEL,title:`All ${T.toLocaleString()} row${T!==1?"s":""}`},{type:F.ACTION,title:"Export as CSV",icon:"hugeicons:csv-01",select:()=>m("csv-no-header")},{type:F.ACTION,title:"Export as CSV (have headers)",icon:"hugeicons:csv-01",select:()=>m("csv-with-header")},{type:F.ACTION,title:"Export as JSON",icon:"hugeicons:code",select:()=>m("json")},{type:F.ACTION,title:"Export as SQL",icon:"hugeicons:database",select:()=>m("sql")}];return[{type:F.ACTION,title:"Copy current cell",icon:"hugeicons:copy-02",select:g,condition:b},{type:F.ACTION,title:"Copy current row",icon:"hugeicons:copy-02",select:x,condition:p&&b},{type:F.SEPARATOR,condition:b},{type:F.SUBMENU,title:"Copy column",icon:"hugeicons:layout-3-column",items:V,condition:k,desc:a.value||"Select a column"},{type:F.SUBMENU,title:"Copy row(s)",icon:"hugeicons:layout-3-row",items:w},{type:F.SEPARATOR},{type:F.SUBMENU,title:"Export",icon:"hugeicons:file-download",items:U}]});return(b,p)=>(h(),R(l(Pn),{contextMenuItems:l(C),onOnClearContextMenu:p[0]||(p[0]=_=>n("onClearContextMenu"))},{default:v(()=>[J(b.$slots,"default")]),_:3},8,["contextMenuItems"]))}}),Ml={class:"h-full w-full"},Ll=H({__name:"ResultTabResultView",props:{activeTab:{},activeTabColumns:{},formattedData:{},executeLoading:{type:Boolean},isStreaming:{type:Boolean}},setup(s){const e=s,t=G(),n=G([]),o=c=>{n.value=c},a=q(()=>{var d,m,g;const c=((d=e.activeTab)==null?void 0:d.metadata.fieldDefs)||[];return((g=(m=n.value)==null?void 0:m.map)==null?void 0:g.call(m,x=>{const C={};for(const[b,p]of Object.entries(x)){const _=c[Number(b)],T=(_==null?void 0:_.name)||"";T&&(C[T]=p)}return C}))||[]}),i=q(()=>{var c;return kl(e.activeTab.metadata.command||"",e.activeTab.metadata.rowCount||0,(c=e.activeTab.metadata.connection)==null?void 0:c.type)}),r=q(()=>i.value.isMutation),u=q(()=>i.value.message);return(c,d)=>{var x,C;const m=st,g=gs;return h(),E("div",Ml,[c.activeTab.result.length===0&&l(r)&&!c.executeLoading&&!c.isStreaming?(h(),R(m,{key:0,desc:l(u),hiddenIcon:"",class:"h-full"},null,8,["desc"])):c.activeTab.result.length===0&&!c.executeLoading&&!c.isStreaming?(h(),R(m,{key:1,title:"No Results",desc:"The query returned no records.",class:"h-full"})):(h(),R(zl,{key:2,data:c.formattedData||[],selectedRows:l(a)||[],cellContextMenu:(x=l(t))==null?void 0:x.cellContextMenu,cellHeaderContextMenu:(C=l(t))==null?void 0:C.cellHeaderContextMenu,onOnClearContextMenu:d[0]||(d[0]=b=>{var p;return(p=l(t))==null?void 0:p.clearCellContextMenu()})},{default:v(()=>[f(g,{ref_key:"rawQueryTableRef",ref:t,columns:c.activeTabColumns,data:c.activeTab.result||[],selectedRows:l(n),onOnSelectedRows:o,class:"h-full","skip-re-column-size":"",columnKeyBy:"index"},null,8,["columns","data","selectedRows"])]),_:1},8,["data","selectedRows","cellContextMenu","cellHeaderContextMenu"]))])}}});var Ge=(s=>(s.GRID="grid",s.TIMELINE="time-line",s.RAW="raw",s))(Ge||{});const Al=[{value:"time-line",label:"Timeline",icon:"hugeicons:chart-line-data-01"},{value:"grid",label:"Grid",icon:"hugeicons:grid-table"},{value:"raw",label:"Raw",icon:"hugeicons:3rd-bracket"}],Nl={class:"flex items-center justify-between px-3 py-2 border-b shrink-0"},Il={class:"flex items-center gap-3 min-w-0"},Ol={class:"flex items-center gap-2 flex-wrap"},Pl={class:"flex flex-col gap-1 max-w-[250px] sm:max-w-xs"},ql={class:"text-[11px] text-muted-foreground list-disc pl-3 break-words whitespace-normal"},Vl={class:"flex flex-col gap-1 max-w-[250px] sm:max-w-xs"},Dl={class:"text-[11px] text-muted-foreground list-disc pl-3 break-words whitespace-normal"},Fl={class:"flex flex-col gap-1 max-w-[250px] sm:max-w-xs"},Bl={class:"text-[11px] text-muted-foreground list-disc pl-3 break-words whitespace-normal"},jl={class:"flex items-center gap-2 shrink-0"},Ul=H({__name:"ExplainPlanHeader",props:zt({summaryStats:{},isExpanded:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:zt(["toggle-expand"],["update:modelValue"]),setup(s,{emit:e}){const t=e,n=an(s,"modelValue");return(o,a)=>{const i=de,r=ln,u=ie,c=ue,d=re,m=eo,g=Xn,x=Zn,C=Ie;return h(),E("div",Nl,[y("div",Il,[f(i,{name:"hugeicons:analytics-up",class:"size-4 text-muted-foreground"}),a[6]||(a[6]=y("span",{class:"text-sm font-medium"},"Execution Plan",-1)),y("div",Ol,[o.summaryStats.executionTime!==void 0?(h(),R(r,{key:0,variant:"outline",class:"text-[11px] h-5 gap-1"},{default:v(()=>[f(i,{name:"hugeicons:clock-01",class:"size-3"}),I(" "+N(l(Fe)(o.summaryStats.executionTime)),1)]),_:1})):Q("",!0),o.summaryStats.planningTime!==void 0?(h(),R(r,{key:1,variant:"outline",class:"text-[11px] h-5 gap-1"},{default:v(()=>[I(" Planning: "+N(l(Fe)(o.summaryStats.planningTime)),1)]),_:1})):Q("",!0),o.summaryStats.nodeCount>0?(h(),R(d,{key:2},{default:v(()=>{var b;return[f(u,{"as-child":""},{default:v(()=>[f(r,{variant:"outline",class:"text-[11px] h-5 gap-1 cursor-help"},{default:v(()=>[I(N(o.summaryStats.nodeCount)+" nodes ",1)]),_:1})]),_:1}),(b=o.summaryStats.allNodes)!=null&&b.length?(h(),R(c,{key:0},{default:v(()=>[y("div",Pl,[a[2]||(a[2]=y("span",{class:"font-medium text-xs"},"Nodes:",-1)),y("ul",ql,[(h(!0),E(Y,null,X(o.summaryStats.allNodes,p=>(h(),E("li",{key:p.id},N(p.label),1))),128))])])]),_:1})):Q("",!0)]}),_:1})):(h(),R(r,{key:3,variant:"outline",class:"text-[11px] h-5 gap-1"},{default:v(()=>a[3]||(a[3]=[I(" 0 nodes ")])),_:1})),o.summaryStats.expensiveCount>0?(h(),R(d,{key:4},{default:v(()=>{var b;return[f(u,{"as-child":""},{default:v(()=>[f(r,{variant:"outline",class:"text-[11px] h-5 gap-1 border-amber-300 text-amber-700 dark:text-amber-400 cursor-help"},{default:v(()=>[I(N(o.summaryStats.expensiveCount)+" expensive ",1)]),_:1})]),_:1}),(b=o.summaryStats.expensiveNodes)!=null&&b.length?(h(),R(c,{key:0},{default:v(()=>[y("div",Vl,[a[4]||(a[4]=y("span",{class:"font-medium text-xs"},"Expensive Nodes:",-1)),y("ul",Dl,[(h(!0),E(Y,null,X(o.summaryStats.expensiveNodes,p=>(h(),E("li",{key:p.id},N(p.label),1))),128))])])]),_:1})):Q("",!0)]}),_:1})):Q("",!0),o.summaryStats.slowCount>0?(h(),R(d,{key:5},{default:v(()=>{var b;return[f(u,{"as-child":""},{default:v(()=>[f(r,{variant:"outline",class:"text-[11px] h-5 gap-1 border-red-300 text-red-700 dark:text-red-400 cursor-help"},{default:v(()=>[I(N(o.summaryStats.slowCount)+" slowest ",1)]),_:1})]),_:1}),(b=o.summaryStats.slowNodes)!=null&&b.length?(h(),R(c,{key:0},{default:v(()=>[y("div",Fl,[a[5]||(a[5]=y("span",{class:"font-medium text-xs"},"Slowest Node(s):",-1)),y("ul",Bl,[(h(!0),E(Y,null,X(o.summaryStats.slowNodes,p=>(h(),E("li",{key:p.id},N(p.label),1))),128))])])]),_:1})):Q("",!0)]}),_:1})):Q("",!0)])]),y("div",jl,[f(x,{modelValue:n.value,"onUpdate:modelValue":a[0]||(a[0]=b=>n.value=b),class:"gap-0"},{default:v(()=>[f(g,{class:"h-6"},{default:v(()=>[(h(!0),E(Y,null,X(l(Al),b=>(h(),R(m,{key:b.value,value:b.value,class:"text-xs px-1 rounded-sm cursor-pointer"},{default:v(()=>[f(i,{name:b.icon,class:"size-3.5!"},null,8,["name"]),I(" "+N(b.label),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"]),f(C,{variant:"outline",size:"iconSm",onClick:a[1]||(a[1]=b=>t("toggle-expand"))},{default:v(()=>[f(i,{name:o.isExpanded?"hugeicons:arrow-shrink":"hugeicons:arrow-expand",class:"size-3.5"},null,8,["name"])]),_:1})])])}}}),Ql={class:"flex items-center text-xs h-full w-full overflow-hidden whitespace-nowrap"},Hl={key:0,class:"text-muted-foreground shrink-0 whitespace-pre",style:{"font-family":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important"}},Wl={key:1,class:"font-normal shrink-0"},Gl={key:2,class:"text-[10px] pl-0.5 text-muted-foreground truncate shrink min-w-0"},Kl=H({__name:"ExplainOperationCell",props:{params:{}},setup(s){const e=s,t=q(()=>{var n;return((n=e.params)==null?void 0:n.data)??{}});return(n,o)=>(h(),E("div",Ql,[l(t).treePrefix?(h(),E("span",Hl,N(l(t).treePrefix),1)):Q("",!0),l(t).nodeType?(h(),E("span",Wl,N(l(t).nodeType),1)):Q("",!0),l(t).contextLabel?(h(),E("span",Gl,N(l(t).contextLabel),1)):Q("",!0)]))}}),Ut={"Seq Scan":"scan","Index Scan":"scan","Index Only Scan":"scan","Bitmap Index Scan":"scan","Bitmap Heap Scan":"scan","CTE Scan":"scan","Function Scan":"scan","Values Scan":"scan","Subquery Scan":"scan",Aggregate:"agg",HashAggregate:"agg",GroupAggregate:"agg",Sort:"sort","Incremental Sort":"sort",Hash:"hash","Hash Join":"join","Merge Join":"join","Nested Loop":"join"},oe=s=>s?String(s).replace(/^[\[]|[\]]$/g,"").replace(/"/g,"").trim():"",Yl=s=>s==="Seq Scan"?"bad":Ut[s]?Ut[s]:s.includes("Join")?"join":s.includes("Scan")?"scan":s.includes("Aggregate")?"agg":s.includes("Sort")?"sort":"other",Qt=(s,e,t)=>{for(let n=e+1;n<s.length;n++){const o=s[n].depth??0;if(o<t)return!1;if(o===t)return!0}return!1},Jl=(s,e)=>{const n=s[e].depth??0;if(n===0)return"";const o=[];for(let i=1;i<n;i++)o.push(Qt(s,e,i)?"│ ":" ");const a=!Qt(s,e,n);return o.push(a?"└─ ":"├─ "),o.join("")},Zl=s=>{const e=oe(s.hashCond),t=oe(s.mergeCond),n=oe(s.joinFilter),o=oe(s.joinType).toLowerCase();if(o||e||t||n){const b=e||t||n,p=o?`${o} `:"";return{label:b?`${p}on ${b}`.trim():`${p}join`.trim(),kind:"join"}}const a=oe(s.indexCond),i=oe(s.recheckCond),r=oe(s.tidCond);if(a)return{label:`on ${a}`,kind:"relation"};if(i)return{label:`recheck: ${i}`,kind:"relation"};if(r)return{label:`tid: ${r}`,kind:"relation"};const u=oe(s.sortKey);if(u)return{label:`by ${u}`,kind:"sort"};const c=oe(s.groupKey),d=oe(s.hashKey);if(c||d)return{label:`by ${c||d}`,kind:"group"};const m=oe(s.oneTimeFilter);if(m)return{label:`one-time: ${m}`,kind:"relation"};const g=oe(s.filter);if(g)return{label:`filter: ${g}`,kind:"relation"};const x=oe(s.cteName);if(x)return{label:`cte: ${x}`,kind:"relation"};const C=oe(s.subplanName);if(C)return{label:`subplan: ${C}`,kind:"relation"};if(s.relation){const b=s.alias&&s.alias!==s.relation?` (${s.alias})`:"";return{label:`on ${s.relation}${b}`,kind:"relation"}}return{label:"",kind:""}},Xl=s=>[...s].map(e=>{var c,d;const t=e["Plan Rows"]||0,n=e["Actual Rows"]||0,o=e.estimateRatio,a=e["Actual Startup Time"]||0,i=e["Plan Width"]||0,r=e.rowEstimateAccuracy||"accurate",u=[`Node: ${e["Node Type"]}`,e["Relation Name"]?`Relation: ${e["Relation Name"]}`:"",`Depth: ${e.depth}`,`Startup time: ${a.toFixed(3)} ms`,`Total time: ${(e["Actual Total Time"]||0).toFixed(3)} ms`,`Actual rows: ${n.toLocaleString()}`,`Plan rows: ${t.toLocaleString()}`,o!==void 0?`Estimate ratio: ${o}x (${r})`:"Estimate ratio: -",`Total cost: ${(e["Total Cost"]||0).toFixed(2)}`,`Plan width: ${i}`,`Loops: ${(e["Actual Loops"]||0).toLocaleString()}`,`Slowest: ${e.isSlowest?"yes":"no"}`,`Expensive: ${e.isExpensive?"yes":"no"}`].filter(Boolean).join(`
|
|
7
|
-
`);return{id:e.id,order:e.index,nodeType:e["Node Type"],relation:e["Relation Name"],alias:e.Alias,sortKey:((c=e["Sort Key"])==null?void 0:c.join(", "))??"",joinType:e["Join Type"]??"",groupKey:((d=e["Group Key"])==null?void 0:d.join(", "))??"",hashKey:"",filter:e.Filter??"",joinFilter:"",oneTimeFilter:"",indexCond:"",hashCond:e["Hash Cond"]??"",mergeCond:e["Merge Cond"]??"",recheckCond:"",tidCond:"",cteName:"",subplanName:"",timeMs:e["Actual Total Time"]||0,rows:n,planRows:t,estimateRatio:o,cost:e["Total Cost"]||0,width:i,loops:e["Actual Loops"]||0,depth:e.depth,indentPx:e.depth*16,hitReadRatio:e.hitReadRatio,isSlowest:e.isSlowest,isExpensive:e.isExpensive,tooltipLines:u}}),er=s=>{const e=s.reduce((t,n)=>t+(n.timeMs||0),0)||1;return s.map((t,n)=>{const o=Jl(s,n),{label:a,kind:i}=Zl(t),r=t.isSlowest?"slowest":t.isExpensive?"expensive":"normal";return{order:t.order,timeMs:t.timeMs,rows:t.rows,planRows:t.planRows,estimateRatioValue:t.estimateRatio,cost:t.cost,width:t.width,loops:t.loops,hitReadRatio:t.hitReadRatio,isSlowest:t.isSlowest,isExpensive:t.isExpensive,orderLabel:`${t.order}`,queryPercentLabel:`${(t.timeMs/e*100).toFixed(2)}%`,timeSpentLabel:`${t.timeMs.toFixed(3)} ms`,rowsLabel:t.rows.toLocaleString(),planRowsLabel:t.planRows.toLocaleString(),estimateLabel:t.estimateRatio!==void 0?`${t.estimateRatio}×`:"-",costLabel:t.cost.toFixed(2),widthLabel:t.width,loopsLabel:t.loops.toLocaleString(),hitReadRatioLabel:t.hitReadRatio!==void 0?`${(t.hitReadRatio*100).toFixed(2)}%`:"-",statusLabel:r,treePrefix:o,nodeType:t.nodeType,nodeTypeCategory:Yl(t.nodeType),contextLabel:a,contextKind:i}})},tr={class:"h-full p-2"},sr=H({__name:"ExplainGridPane",props:{nodes:{}},setup(s){const e=s,t=q(()=>Xl(e.nodes)),n=q(()=>er(t.value)),o=q(()=>[{headerName:"#",field:"orderLabel",width:30,sortable:!0,resizable:!0,filter:!1,cellClass:"cellCenter"},{headerName:"Operation",field:"operationLabel",width:350,sortable:!1,resizable:!0,filter:!0,cellRenderer:"ExplainOperationCell",cellClass:"operation-cell",valueGetter:i=>`${i.data.treePrefix}${i.data.nodeType} ${i.data.contextLabel}`},{headerName:"Status",field:"statusLabel",width:96,sortable:!0,resizable:!0,filter:!0,cellClass:i=>{const r=i.value;return r==="slowest"?"cellCenter bg-red-300! dark:bg-red-900":r==="expensive"?"cellCenter bg-orange-100! dark:bg-orange-900":"cellCenter"}},{headerName:"Time Spent",field:"timeSpentLabel",width:110,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"% of Query",field:"queryPercentLabel",width:96,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Actual Rows",field:"rowsLabel",width:96,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Plan Rows",field:"planRowsLabel",width:88,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Estim",field:"estimateLabel",width:76,sortable:!0,resizable:!0,filter:!0,cellClass:i=>{var u;const r=Number((u=i.data)==null?void 0:u.estimateRatioValue);return Number.isFinite(r)?r<.1||r>10?"cellCenter bg-red-200 dark:bg-red-900":r>=.1&&r<.5||r>2&&r<=10?"cellCenter bg-orange-100 dark:bg-orange-900":"cellCenter ":"cellCenter "}},{headerName:"Cost",field:"costLabel",width:88,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Hit Read Ratio",field:"hitReadRatioLabel",width:110,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Width",field:"widthLabel",width:72,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "},{headerName:"Loops",field:"loopsLabel",width:72,sortable:!0,resizable:!0,filter:!0,cellClass:"cellCenter "}]),a={ExplainOperationCell:Kl};return(i,r)=>(h(),E("div",tr,[f(l(gs),{class:"h-full",columns:[],data:[],"column-key-by":"index","skip-re-column-size":"","has-hash-index":!1,"override-column-defs":l(o),"override-row-data":l(n),"external-components":a},null,8,["override-column-defs","override-row-data"])]))}}),nr={class:"h-full p-2"},or={class:"rounded-lg border p-2 flex flex-col h-full min-h-0"},ar={class:"flex justify-between items-center mb-4"},lr={class:"text-sm font-bold text-muted-foreground uppercase flex items-center gap-2"},rr={key:0,class:"h-full grid place-items-center text-sm text-muted-foreground"},ir={key:1,class:"flex-1 overflow-auto relative"},ur={class:"min-w-[680px] text-xs"},cr={class:"flex border-b pb-2 mb-2 sticky top-0 bg-background z-10 font-medium text-muted-foreground"},dr={class:"flex-1 relative h-4"},mr={class:"absolute right-0"},pr={class:"pb-2"},fr=["onMouseenter"],hr={class:"w-[28%] min-w-[190px] max-w-[260px] px-2 flex items-center overflow-hidden"},vr={class:"truncate flex items-center gap-1"},gr={class:"font-mono text-[10px] text-right shrink-0 text-muted-foreground"},yr={class:"flex flex-col truncate"},xr=["title"],br={key:0,class:"text-muted-foreground text-[10px] truncate"},_r={key:0},Cr={class:"flex-1 relative h-6 mx-2"},Sr={class:"space-y-2 text-xs"},wr={class:"font-semibold flex items-center gap-1"},Tr={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},Er={class:"font-mono"},Rr={class:"font-mono"},$r={class:"font-mono"},kr={class:"font-mono"},zr={class:"font-mono"},Mr={class:"font-mono"},Lr={class:"font-mono"},Ar={class:"font-mono"},Nr={key:0,class:"text-[11px] text-muted-foreground"},Ir={key:0},He=14,Or=H({__name:"ExplainTimelineChartPane",props:{nodes:{},totalTime:{}},setup(s){const e=s,t=G(null),n=q(()=>{const m=[...e.nodes].filter(x=>typeof x["Actual Startup Time"]=="number"&&typeof x["Actual Total Time"]=="number").map(x=>{const C=x["Actual Startup Time"]||0,b=x["Actual Total Time"]||0,p=Math.max(0,b-C);return{id:x.id,nodeType:x["Node Type"],relation:x["Relation Name"],alias:x.Alias,depth:x.depth,actualRows:x["Actual Rows"],actualLoops:x["Actual Loops"],planRows:x["Plan Rows"],totalCost:x["Total Cost"],start:C,end:b,duration:p}}),g=(x,C)=>{for(let b=x+1;b<m.length;b+=1){const p=m[b].depth;if(p<C)return!1;if(p===C)return!0}return!1};return m.map((x,C)=>{const b=[];for(let p=1;p<x.depth;p+=1)g(C,p)&&b.push(p);return{...x,continuationLevels:b,hasNextSibling:x.depth>0?g(C,x.depth):!1}})}),o=q(()=>{const m=n.value.length?Math.max(...n.value.map(g=>g.end)):0;return Math.max(e.totalTime||0,m,1)}),a=(m,g)=>{const x=o.value>0?o.value:1,C=m/x*100,b=Math.max(g/x*100,.5);return{left:`${C}%`,width:`${b}%`}},i=m=>{const g=o.value>0?o.value:1;return(m/g*100).toFixed(2)},r=m=>`${Math.max(m,0)*He}px`,u=m=>`${(m-1)*He+He/2}px`,c=`${He/2}px`,d=m=>m==="Seq Scan"?"bg-gray-400 dark:bg-gray-600":m.includes("Scan")?"bg-gray-300 dark:bg-gray-700":m.includes("Join")?"bg-gray-500 dark:bg-gray-500":m==="Sort"?"bg-gray-300 dark:bg-gray-600":(m.includes("Aggregate"),"bg-gray-400 dark:bg-gray-600");return(m,g)=>{const x=de,C=ie,b=ue,p=re;return h(),E("div",nr,[y("div",or,[y("div",ar,[y("h3",lr,[f(x,{name:"hugeicons:clock-01",class:"size-4"}),g[1]||(g[1]=I(" Execution Plan Timeline "))]),g[2]||(g[2]=y("span",{class:"text-xs text-muted-foreground"},"Hover for details",-1))]),l(n).length===0?(h(),E("div",rr," No timeline data available ")):(h(),E("div",ir,[y("div",ur,[y("div",cr,[g[7]||(g[7]=y("div",{class:"w-[28%] min-w-[190px] max-w-[260px] pl-2"}," Node Hierarchy ",-1)),y("div",dr,[g[3]||(g[3]=y("div",{class:"absolute left-0"},"0ms",-1)),y("div",mr,N(l(Ue)(l(o))),1),g[4]||(g[4]=y("div",{class:"absolute left-1/4 border-l h-full"},null,-1)),g[5]||(g[5]=y("div",{class:"absolute left-1/2 border-l h-full"},null,-1)),g[6]||(g[6]=y("div",{class:"absolute left-3/4 border-l h-full"},null,-1))])]),y("div",pr,[(h(!0),E(Y,null,X(l(n),_=>(h(),E("div",{key:_.id,class:le(["flex items-center group rounded transition-colors hover:bg-muted",l(t)===_.id?"bg-muted/40":""]),onMouseenter:T=>t.value=_.id,onMouseleave:g[0]||(g[0]=T=>t.value=null)},[y("div",hr,[y("div",{class:"relative shrink-0 h-7",style:Ae({width:r(_.depth)})},[(h(!0),E(Y,null,X(_.continuationLevels,T=>(h(),E("div",{key:`${_.id}-v-${T}`,class:"absolute top-0 bottom-0 border-l border-dashed border-muted-foreground/35",style:Ae({left:u(T)})},null,4))),128)),_.depth>0?(h(),E(Y,{key:0},[y("div",{class:"absolute top-0 border-l border-dashed border-muted-foreground/45",style:Ae({left:u(_.depth),height:_.hasNextSibling?"100%":"50%"})},null,4),y("div",{class:"absolute top-1/2 -translate-y-1/2 border-t border-dashed border-muted-foreground/45",style:Ae({left:u(_.depth),width:c})},null,4)],64)):Q("",!0)],4),y("div",vr,[y("span",gr," #"+N(_.id.replace("ep-","")),1),y("div",yr,[y("span",{class:"truncate font-medium text-sm",title:_.nodeType},N(_.nodeType),9,xr),_.relation?(h(),E("span",br,[I(N(_.relation)+" ",1),_.alias&&_.alias!==_.relation?(h(),E("span",_r,"("+N(_.alias)+")",1)):Q("",!0)])):Q("",!0)])])]),y("div",Cr,[g[16]||(g[16]=rn('<div class="absolute top-0 bottom-0 left-0 w-px bg-muted"></div><div class="absolute top-0 bottom-0 right-0 w-px bg-muted"></div><div class="absolute top-0 bottom-0 left-1/4 w-px bg-muted"></div><div class="absolute top-0 bottom-0 left-1/2 w-px bg-muted"></div><div class="absolute top-0 bottom-0 left-3/4 w-px bg-muted"></div>',5)),f(p,null,{default:v(()=>[f(C,{"as-child":""},{default:v(()=>[y("div",{class:le(["absolute top-1 bottom-1 rounded-sm transition-all shadow-sm opacity-90 cursor-default",[d(_.nodeType),l(t)===_.id?"brightness-105 ring-2 ring-border z-10":""]]),style:Ae(a(_.start,_.duration))},null,6)]),_:2},1024),f(b,{side:"top","side-offset":8,class:"max-w-[360px]"},{default:v(()=>{var T,k,V,w;return[y("div",Sr,[y("div",wr,[f(x,{name:"hugeicons:flow-square",class:"size-3.5"}),I(" "+N(_.nodeType),1)]),y("div",Tr,[g[8]||(g[8]=y("span",{class:"text-muted-foreground"},"Start",-1)),y("span",Er,N(l(Ue)(_.start)),1),g[9]||(g[9]=y("span",{class:"text-muted-foreground"},"End",-1)),y("span",Rr,N(l(Ue)(_.end)),1),g[10]||(g[10]=y("span",{class:"text-muted-foreground"},"Duration",-1)),y("span",$r,N(l(Ue)(_.duration)),1),g[11]||(g[11]=y("span",{class:"text-muted-foreground"},"Share",-1)),y("span",kr,N(i(_.duration))+"%",1),g[12]||(g[12]=y("span",{class:"text-muted-foreground"},"Rows",-1)),y("span",zr,N(((T=_.actualRows)==null?void 0:T.toLocaleString())??"-"),1),g[13]||(g[13]=y("span",{class:"text-muted-foreground"},"Plan Rows",-1)),y("span",Mr,N(((k=_.planRows)==null?void 0:k.toLocaleString())??"-"),1),g[14]||(g[14]=y("span",{class:"text-muted-foreground"},"Loops",-1)),y("span",Lr,N(((V=_.actualLoops)==null?void 0:V.toLocaleString())??"-"),1),g[15]||(g[15]=y("span",{class:"text-muted-foreground"},"Total Cost",-1)),y("span",Ar,N(((w=_.totalCost)==null?void 0:w.toFixed(2))??"-"),1)]),_.relation?(h(),E("div",Nr,[I(" Relation: "+N(_.relation)+" ",1),_.alias&&_.alias!==_.relation?(h(),E("span",Ir,"("+N(_.alias)+")",1)):Q("",!0)])):Q("",!0)])]}),_:2},1024)]),_:2},1024)])],42,fr))),128))])])]))])])}}}),Pr={class:"h-full overflow-auto p-2"},qr=H({__name:"ExplainRawPane",props:{rawText:{}},setup(s){const e=s,t=q(()=>{const n=e.rawText.trim();return n.startsWith("{")||n.startsWith("[")?"json":"sql"});return(n,o)=>{const a=wt;return h(),E("div",Pr,[f(a,{code:n.rawText,language:t.value,"max-height":"100%"},null,8,["code","language"])])}}});let Xe=0;const Vr=()=>(Xe+=1,`ep-${Xe}`),Ht=s=>s==null?"":typeof s=="string"?s:typeof s=="number"||typeof s=="boolean"?String(s):JSON.stringify(s),Dr=s=>{const e=(s["Shared Hit Blocks"]??0)+(s["Local Hit Blocks"]??0),t=(s["Shared Read Blocks"]??0)+(s["Local Read Blocks"]??0),n=e+t;if(!(n<=0))return Number((e/n).toFixed(4))},Fr=(s,e)=>{const t=e["Plan Rows"],n=e["Actual Rows"];if(t!==void 0&&n!==void 0&&t>0&&n>=0){s.estimateRatio=Number((n/t).toFixed(2));const o=n/t;o>10?s.rowEstimateAccuracy="underestimate":o<.1?s.rowEstimateAccuracy="overestimate":s.rowEstimateAccuracy="accurate"}s.hitReadRatio=Dr(e),(e["Total Cost"]!==void 0&&e["Total Cost"]>1e3||e["Actual Total Time"]!==void 0&&e["Actual Total Time"]>100)&&(s.isExpensive=!0)},Br=s=>{let e=0,t="";for(const o of s){const a=o.children.reduce((r,u)=>r+(u["Actual Total Time"]??0)*(u["Actual Loops"]??1),0)/(o["Actual Loops"]??1),i=Math.max(0,(o["Actual Total Time"]??0)-a);i>e&&(e=i,t=o.id)}const n=s.find(o=>o.id===t);n&&(n.isSlowest=!0)},Es=(s,e,t)=>{const{Plans:n,...o}=s,a=s["Node Type"]||"Unknown Node",i=s["Relation Name"],r={...o,id:Vr(),index:Xe,label:i?`${a} on ${i}`:a,estimateRatio:void 0,hitReadRatio:void 0,isExpensive:!1,isSlowest:!1,rowEstimateAccuracy:void 0,depth:e,children:(n??[]).map(u=>Es(u,e+1,t))};return t.push(r),Fr(r,s),r},jr=(s,e)=>{Xe=0;const t=[],n=Es(s.Plan,0,t),o={"Planning Time":s["Planning Time"],"Execution Time":s["Execution Time"],totalCost:n["Total Cost"],triggersInfo:(s.Triggers??[]).map(Ht),jitInfo:[],settingsInfo:s.Settings?Object.entries(s.Settings).map(([i,r])=>`${i}: ${Ht(r)}`):[],rawText:e};Br(t);const a=[...t].sort((i,r)=>i.index-r.index);return{root:n,summary:o,allNodes:a}},Ur=s=>{const e={triggersInfo:[],jitInfo:[],settingsInfo:[],rawText:s},t=s.match(/Planning Time:\s*(\d+\.?\d*)\s*ms/i),n=s.match(/Execution Time:\s*(\d+\.?\d*)\s*ms/i);return t&&(e["Planning Time"]=Number.parseFloat(t[1])),n&&(e["Execution Time"]=Number.parseFloat(n[1])),{root:null,summary:e,allNodes:[]}},ht=s=>{if(!s)return null;if(typeof s=="string")try{return ht(JSON.parse(s))}catch{return null}return Array.isArray(s)?s.length?ht(s[0]):null:typeof s=="object"&&s!==null&&"Plan"in s&&typeof s.Plan=="object"?s:null},Rs=(s,e)=>{var t;if(!(s!=null&&s.length))return null;if(Array.isArray(s[0]))return s[0][0]??null;if(typeof s[0]=="object"&&s[0]!==null){const n=s[0],o=Object.keys(n).find(a=>a.toUpperCase()==="QUERY PLAN")||((t=e==null?void 0:e[0])==null?void 0:t.name)||Object.keys(n)[0];return o?n[o]??null:null}return s[0]??null},Qr=(s,e)=>{const t=Rs(s,e);return t==null?"":typeof t=="string"?t:JSON.stringify(t,null,2)},Hr=s=>{const e=typeof s=="string"?s:JSON.stringify(s,null,2),t=ht(s);return t?jr(t,e):Ur(e)},Wr={class:"h-full min-h-0"},Gr={key:0,class:"h-full flex flex-col items-center justify-center gap-2 text-muted-foreground"},Kr=H({__name:"ResultTabExplainView",props:{activeTab:{}},setup(s){const e=s,t=G(Ge.GRID),n=G(!1),o=q(()=>Rs(e.activeTab.result,e.activeTab.metadata.fieldDefs)),a=q(()=>Qr(e.activeTab.result,e.activeTab.metadata.fieldDefs)),i=q(()=>Hr(o.value)),r=q(()=>{const u=i.value.allNodes,c=u.filter(m=>m.isExpensive),d=u.filter(m=>m.isSlowest);return{planningTime:i.value.summary["Planning Time"],executionTime:i.value.summary["Execution Time"],nodeCount:u.length,expensiveCount:c.length,slowCount:d.length,allNodes:u,expensiveNodes:c,slowNodes:d}});return(u,c)=>{const d=Ul,m=de,g=sr,x=Or,C=qr;return h(),E("div",Wr,[l(n)?(h(),E("div",{key:0,class:"fixed inset-0 z-40 bg-background/70 backdrop-blur-[1px]",onClick:c[0]||(c[0]=b=>n.value=!1)})):Q("",!0),y("div",{class:le(["flex flex-col",l(n)?"fixed z-50 left-1/2 top-1/2 h-[90vh] w-[95vw] -translate-x-1/2 -translate-y-1/2 rounded-xl border bg-background shadow-2xl":"h-full min-h-0 overflow-hidden"])},[f(d,{modelValue:l(t),"onUpdate:modelValue":c[1]||(c[1]=b=>Se(t)?t.value=b:null),"summary-stats":l(r),"is-expanded":l(n),onToggleExpand:c[2]||(c[2]=b=>n.value=!l(n))},null,8,["modelValue","summary-stats","is-expanded"]),y("div",{class:le(["flex-1 min-h-0",l(n)?"overflow-hidden":"overflow-y-auto"])},[l(i).root?l(t)===l(Ge).GRID?(h(),R(g,{key:1,nodes:l(i).allNodes},null,8,["nodes"])):l(t)===l(Ge).TIMELINE?(h(),R(x,{key:2,nodes:l(i).allNodes,"total-time":l(r).executionTime},null,8,["nodes","total-time"])):(h(),R(C,{key:3,"raw-text":l(a)},null,8,["raw-text"])):(h(),E("div",Gr,[f(m,{name:"hugeicons:alert-02",class:"size-8 opacity-50"}),c[3]||(c[3]=y("p",{class:"text-sm"},"Could not parse execution plan",-1))]))],2)],2)])}}}),Yr={class:"h-full flex w-full"},Jr={key:0,class:"flex mt-7 [writing-mode:vertical-rl]"},Zr=["onClick"],Xr={class:"h-full w-full flex flex-col"},ei={class:"flex items-end overflow-x-auto pt-0.5"},ti=["onClick","onContextmenu"],si={class:"truncate text-xs font-medium"},ni=["onClick"],oi={class:"h-full w-full border rounded-md rounded-tl-none overflow-hidden"},ai=H({__name:"RawQueryResultTabs",props:{executedResults:{},activeTabId:{},executeLoading:{type:Boolean},isStreaming:{type:Boolean}},emits:["update:activeTab","close-tab","close-other-tabs","close-tabs-to-right","update:view"],setup(s,{emit:e}){const t=s,n=e,o=G(null),a=q(()=>{if(!o.value)return!1;const p=Array.from(t.executedResults.keys()),_=p.indexOf(o.value);return _>=0&&_<p.length-1}),i=[{value:"result",label:"Result"},{value:"explain",label:"Explain"},{value:"raw",label:"Raw"},{value:"info",label:"Info"},{value:"error",label:"Errors"},{value:"agent",label:"Agent"}],r=new Map,u=Ve([]);let c=null;const d=q(()=>t.activeTabId&&t.executedResults.get(t.activeTabId)||null),m=q(()=>{var p;return((p=d.value)==null?void 0:p.view)||"result"}),g=q(()=>{var p;return(p=d.value)!=null&&p.metadata.fieldDefs?d.value.metadata.fieldDefs.map((_,T)=>{var k;return{index:T,originalName:_.name,aliasFieldName:_.name,queryFieldName:_.name,isPrimaryKey:!1,isForeignKey:!1,type:((k=_.dataTypeID)==null?void 0:k.toString())||"unknown",tableName:""}}):[]}),x=p=>{var w,U;const _=((w=p.result)==null?void 0:w.length)||0,T=`${p.id}_${_}`;if(r.has(T))return r.get(T);const k=p.metadata.fieldDefs||[],V=((U=p.result)==null?void 0:U.map(D=>{var B;const A={};for(const[O,P]of Object.entries(D)){const W=((B=k[Number(O)])==null?void 0:B.name)||"";W&&(A[W]=P)}return A}))??[];r.set(T,V);for(const D of r.keys())D.startsWith(`${p.id}_`)&&D!==T&&r.delete(D);return V};ge(d,p=>{c&&cancelAnimationFrame(c),c=requestAnimationFrame(()=>{u.value=p?x(p):[],c=null})},{immediate:!0}),un(()=>{c&&cancelAnimationFrame(c)});const C=p=>{t.activeTabId&&n("update:view",t.activeTabId,p)},b=p=>!!p.metadata.executeErrors;return(p,_)=>{const T=de,k=ie,V=ue,w=re,U=is,D=st;return h(),E("div",Yr,[l(d)?(h(),E("div",Jr,[(h(),E(Y,null,X(i,A=>y("div",{key:A.value,onClick:B=>b(l(d))&&(A.value==="result"||A.value==="raw")||A.value==="error"&&!b(l(d))?null:C(A.value),class:le(l(Ce)("border px-1 text-xs font-normal transition-colors",l(m)===A.value?"bg-muted border-transparent border-r-border":"border-transparent",A.value==="error"&&b(l(d))?"hover:bg-muted cursor-pointer":A.value==="explain"&&!l(d).metadata.statementQuery.startsWith("EXPLAIN")?null:"",A.value==="error"&&!b(l(d))?"opacity-40 cursor-not-allowed":"",(A.value==="result"||A.value==="raw")&&b(l(d))?"opacity-40 cursor-not-allowed":"",A.value==="explain"&&!l(d).metadata.statementQuery.startsWith("EXPLAIN")?"opacity-40 cursor-not-allowed":"",A.value==="error"&&!b(l(d))||(A.value==="result"||A.value==="raw")&&b(l(d))||A.value==="explain"&&!l(d).metadata.statementQuery.startsWith("EXPLAIN")?"":"hover:bg-muted cursor-pointer"))},N(A.label),11,Zr)),64))])):Q("",!0),y("div",Xr,[y("div",ei,[f(l(ps),null,{default:v(()=>[f(l(fs),{class:"flex items-end"},{default:v(()=>[(h(!0),E(Y,null,X(p.executedResults,([A,B])=>(h(),R(w,{key:A},{default:v(()=>[f(k,{"as-child":""},{default:v(()=>[y("div",{onClick:O=>p.$emit("update:activeTab",A),onContextmenu:O=>o.value=A,class:le(l(Ce)("h-6! flex gap-0.5 rounded-t-md max-w-44 justify-start! items-center font-normal p-1! hover:[&>div]:opacity-100 transition-all duration-200 border rounded-b-none cursor-pointer relative",A===p.activeTabId?"border-b-transparent bg-background dark:bg-accent":"border-transparent bg-muted/30"))},[f(T,{name:b(B)?"hugeicons:alert-02":"hugeicons:sql",class:le(l(Ce)("min-w-4",b(B)?"text-red-500":""))},null,8,["name","class"]),y("div",si," Query "+N(B.seqIndex)+" - "+N(B.metadata.statementQuery),1),y("div",{onClick:bt(O=>p.$emit("close-tab",A),["stop"]),class:"hover:bg-accent h-5 w-5 flex items-center justify-center rounded-full opacity-0"},[f(T,{name:"lucide:x",class:"stroke-[2.5]! size-3!"})],8,ni)],42,ti)]),_:2},1024),f(V,{class:"max-w-xl"},{default:v(()=>[y("p",null,N(B.metadata.statementQuery),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),l(o)?(h(),R(l(hs),{key:0,hideWhenDetached:"",class:"w-56"},{default:v(()=>[f(l(We),{onSelect:_[0]||(_[0]=A=>p.$emit("close-tab",l(o)))},{default:v(()=>_[4]||(_[4]=[I(" Close ")])),_:1}),f(l(We),{onSelect:_[1]||(_[1]=A=>p.$emit("close-other-tabs",l(o)))},{default:v(()=>_[5]||(_[5]=[I(" Close Others ")])),_:1}),f(l(We),{disabled:!l(a),onSelect:_[2]||(_[2]=A=>p.$emit("close-tabs-to-right",l(o)))},{default:v(()=>_[6]||(_[6]=[I(" Close to the Right ")])),_:1},8,["disabled"])]),_:1})):Q("",!0)]),_:1})]),y("div",oi,[p.executeLoading&&p.activeTabId?(h(),R(U,{key:0,visible:""})):Q("",!0),l(d)?l(d)&&l(m)==="result"?(h(),R(Ll,{"active-tab":l(d),"active-tab-columns":l(g),"formatted-data":l(u),"execute-loading":p.executeLoading,"is-streaming":p.isStreaming,key:l(d).id},null,8,["active-tab","active-tab-columns","formatted-data","execute-loading","is-streaming"])):l(d)&&l(m)==="explain"?(h(),R(Kr,{key:3,"active-tab":l(d)},null,8,["active-tab"])):l(d)&&l(m)==="raw"?(h(),R(bl,{key:4,"formatted-data":l(u),"execute-loading":p.executeLoading,"is-streaming":p.isStreaming},null,8,["formatted-data","execute-loading","is-streaming"])):l(d)&&l(m)==="info"?(h(),R(yl,{key:5,"active-tab":l(d)},null,8,["active-tab"])):l(d)&&l(m)==="error"?(h(),R(el,{key:6,"active-tab":l(d),onOnChangeView:_[3]||(_[3]=A=>C(A))},null,8,["active-tab"])):l(d)&&l(m)==="agent"?(h(),R(ja,{key:7,"active-tab":l(d)},null,8,["active-tab"])):Q("",!0):(h(),R(D,{key:1,title:"No results",desc:"Execute a query to see results"}))])])])}}});function li({query:s,dbConnectionString:e,params:t,onMeta:n,onRows:o,onDone:a,onError:i}){const r=new AbortController;let u=0;return(async()=>{var d;try{const m=await fetch("/api/query/raw-execute-stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:s,dbConnectionString:e,params:t||{}}),signal:r.signal});if(!m.ok){const b=await m.text();i==null||i(b||`HTTP ${m.status}`);return}const g=(d=m.body)==null?void 0:d.getReader();if(!g){i==null||i("No readable stream available");return}const x=new TextDecoder;let C="";for(;;){const{done:b,value:p}=await g.read();if(b)break;C+=x.decode(p,{stream:!0});const _=C.split(`
|
|
8
|
-
`);C=_.pop()||"";for(const T of _){const k=T.trim();if(k)try{const V=JSON.parse(k);switch(V.type){case"meta":n==null||n(V.fields,V.command);break;case"rows":u+=V.data.length,o==null||o(V.data,u);break;case"done":a==null||a(V.rowCount,V.queryTime);break;case"error":i==null||i(V.message,V.error);break}}catch{console.warn("[StreamingQuery] Malformed NDJSON line:",k)}}}if(C.trim())try{const b=JSON.parse(C.trim());b.type==="done"?a==null||a(b.rowCount,b.queryTime):b.type==="error"&&(i==null||i(b.message))}catch{}}catch(m){if(m.name==="AbortError")return;i==null||i(m.message||"Stream connection failed")}})(),{abort:()=>r.abort()}}function ri({getEditorView:s,connection:e,fileVariables:t,fieldDefs:n,resultTabs:o,buildExplainAnalyzePrefix:a}){const i=Ve([]),r=Ve({}),u=Ve(0),c=cn({isHaveOneExecute:!1,executeLoading:!1,isStreaming:!1,streamingRowCount:0,queryTime:0,executeErrors:void 0,currentStatementQuery:""});let d=null;const m=async({currentStatements:b,queryPrefix:p})=>{var A,B;if(!b.length)return;const _=b[0];c.isHaveOneExecute=!0,c.currentStatementQuery=_.text;let T=_.text,k={};try{k=JSON.parse(t.value||"{}")}catch(O){console.log("fileParameters error::",O)}let V="result";p&&(T=`${p} ${T}`,p.startsWith("EXPLAIN")&&(V="explain")),n.value=[],i.value=[],r.value={},c.executeLoading=!0,c.isStreaming=!1,c.streamingRowCount=0,d&&(d(),d=null),u.value++;const w={id:to(),metadata:{queryTime:0,statementQuery:T,executedAt:new Date,executeErrors:void 0,fieldDefs:void 0,connection:void 0},result:[],view:V,seqIndex:u.value};o.addResultTab(w),Vo(s());const U=[];if(p&&V==="explain"){try{const O=await $fetch("/api/query/raw-execute",{method:"POST",body:{dbConnectionString:(A=e.value)==null?void 0:A.connectionString,query:T,params:k},onResponseError:({response:P})=>{var ee,Me;const W=(ee=P._data)==null?void 0:ee.data,Z=s();Z&&W&&jt({editorView:Z,originalSql:_.text,statementFrom:Number(_.from),fileParameters:k,errorDetail:W,clientType:((Me=e.value)==null?void 0:Me.type)||ae.POSTGRES,queryPrefix:p})}});n.value=O.fields,w.metadata.fieldDefs=O.fields,w.result=O.rows,w.metadata.queryTime=O.queryTime||0,w.metadata.connection=e.value,r.value=O,i.value=O.rows,c.executeErrors=void 0,c.queryTime=O.queryTime||0}catch(O){c.executeErrors=O.data,w.metadata.executeErrors=O.data,w.view="error"}c.executeLoading=!1,o.refreshResultTab(w.id,w);return}c.isStreaming=!0,c.executeLoading=!1;const{abort:D}=li({query:T,dbConnectionString:((B=e.value)==null?void 0:B.connectionString)||"",params:k,onMeta:(O,P)=>{n.value=O,w.metadata.fieldDefs=O,w.metadata.connection=e.value,w.metadata.command=P,o.refreshResultTab(w.id,w)},onRows:(O,P)=>{U.push(...O),c.streamingRowCount=P,w.result=U,w.metadata.rowCount=P,i.value=U,o.refreshResultTab(w.id,w)},onDone:(O,P)=>{c.executeLoading=!1,c.isStreaming=!1,c.queryTime=P,c.executeErrors=void 0,c.streamingRowCount=O,w.metadata.queryTime=P,w.metadata.rowCount=O,r.value={rows:w.result,fields:n.value,queryTime:P},o.refreshResultTab(w.id,w),d=null},onError:(O,P)=>{var ee;const W={message:O,data:P||{message:O}};c.executeLoading=!1,c.isStreaming=!1,c.executeErrors=W,w.metadata.executeErrors=W,w.view="error";const Z=s();Z&&P&&jt({editorView:Z,originalSql:_.text,statementFrom:Number(_.from),fileParameters:k,errorDetail:P,clientType:((ee=e.value)==null?void 0:ee.type)||ae.POSTGRES}),o.refreshResultTab(w.id,w),d=null}});d=D};return{currentRawQueryResult:i,rawResponse:r,queryProcessState:c,executeCurrentStatement:m,onExecuteCurrent:()=>{const b=s();if(!b)return;const{currentStatements:p}=Ze(b);m({currentStatements:p})},onExplainAnalyzeCurrent:()=>{const b=s();if(!b)return;const{currentStatements:p}=Ze(b);m({currentStatements:p,queryPrefix:a()})},cancelStreamingQuery:()=>{d&&(d(),d=null,c.executeLoading=!1,c.isStreaming=!1)}}}function ii(){const s=G({BUFFERS:!0,COSTS:!0,GENERIC_PLAN:!1,MEMORY:!1,SETTINGS:!0,SUMMARY:!0,TIMING:!0,VERBOSE:!0,WAL:!0}),e=G("NONE"),t=i=>{s.value[i]=!s.value[i]},n=i=>{e.value=i};return{explainAnalyzeOptionItems:q(()=>Mt.filter(i=>i.key!=="SERIALIZE").map(i=>({key:i.key,label:i.label,checked:s.value[i.key]}))),serializeMode:e,toggleExplainOption:t,setSerializeMode:n,buildExplainAnalyzePrefix:()=>{const i=Mt.filter(c=>c.key!=="SERIALIZE"&&s.value[c.key]).map(c=>c.key).flatMap(c=>c==="GENERIC_PLAN"?[]:[c]),r=e.value==="NONE"?[]:[`SERIALIZE ${e.value}`];return`EXPLAIN (${["ANALYZE","FORMAT JSON",...i,...r].join(", ")})`}}}function ui(){const s=Ve(new Map),e=G(null),t=d=>{const m=new Map;m.set(d.id,d),s.value.forEach((g,x)=>{m.set(x,g)}),s.value=m,e.value=d.id},n=(d,m)=>{const g=new Map(s.value);g.set(d,{...m}),s.value=g};return{executedResults:s,activeResultTabId:e,addResultTab:t,refreshResultTab:n,setActiveResultTab:d=>{s.value.has(d)&&(e.value=d)},closeResultTab:d=>{const m=new Map(s.value);if(m.delete(d),s.value=m,e.value===d){const g=Array.from(m.keys());e.value=g.length>0?g[g.length-1]:null}},updateResultTabView:(d,m)=>{const g=s.value.get(d);g&&n(d,{...g,view:m})},closeOtherResultTabs:d=>{const m=s.value.get(d);if(!m)return;const g=new Map;g.set(d,m),s.value=g,e.value=d},closeResultTabsToRight:d=>{const m=Array.from(s.value.keys()),g=m.indexOf(d);if(g<0)return;const x=new Map;for(let C=0;C<=g;C++){const b=m[C],p=s.value.get(b);p&&x.set(b,p)}s.value=x,x.has(e.value||"")||(e.value=d)},updateResultTabResult:(d,m)=>{const x=new Map(s.value).get(d);x&&(x.result=m)}}}function qe(s,...e){}const ci=s=>{let e;return async()=>(e||(e=s()),await e)};class Et{constructor(e={}){ne(this,"opts");ne(this,"parser",null);ne(this,"offsetRecord",{});ne(this,"getParser",ci(async()=>{if(this.parser)return this.parser;const e=await us(()=>import("./DFd73eNR.js").then(n=>n.i),__vite__mapDeps([0,1,2]),import.meta.url),{Parser:t}=e.default||e;return this.parser=new t,this.parser}));this.opts=e}async parse(e,t){var a,i;this.offsetRecord={};const n=(i=(a=this.opts).getParserOptions)==null?void 0:i.call(a,t.state),o=await this.sanitizeSql(e,n);try{const r=await this.getParser();if((n==null?void 0:n.database)==="DuckDB")return this.parseWithDuckDBSupport(o,n);const u=r.astify(o,n);return{success:!0,errors:[],ast:u}}catch(r){return{success:!1,errors:[this.extractErrorInfo(r,o)]}}}async sanitizeSql(e,t){if(t!=null&&t.ignoreBrackets){const{sql:n,offsetRecord:o}=pi(e);return this.offsetRecord=o,n}return e}async parseWithDuckDBSupport(e,t){const n=await this.getParser(),o=di(e).trimStart().toLowerCase();if(o.startsWith("from")||o.includes("macro"))return qe(),{success:!0,errors:[]};let a=e;o.includes("create or replace table")&&(this.offsetRecord[e.indexOf("create or replace table")]=-11,a=e.replace(/create or replace table/i,"create table"));try{const i={...t,database:"PostgreSQL"},r=n.astify(a,i);return{success:!0,errors:[],ast:r}}catch(i){return{success:!1,errors:[this.extractErrorInfo(i,e)]}}}extractErrorInfo(e,t){var r,u,c;let n=1,o=1;const a=(e==null?void 0:e.message)||"SQL parsing error",i=e;if(i!=null&&i.location)n=((r=i.location.start)==null?void 0:r.line)||1,o=((u=i.location.start)==null?void 0:u.column)||1;else if(i!=null&&i.hash)n=i.hash.line||1,o=((c=i.hash.loc)==null?void 0:c.first_column)||1;else{const d=a.match(/line (\d+)/i),m=a.match(/column (\d+)/i);d!=null&&d[1]&&(n=parseInt(d[1],10)),m!=null&&m[1]&&(o=parseInt(m[1],10))}for(const[d,m]of Object.entries(this.offsetRecord))o>parseInt(d,10)&&(o-=m);return o>t.length&&(o=t.length),{message:this.cleanErrorMessage(a),line:Math.max(1,n),column:o,severity:"error"}}cleanErrorMessage(e){return e.replace(/^Error: /,"").replace(/Expected .* but .* found\./i,t=>t.replace(/but .* found/,"found unexpected token")).trim()}async validateSql(e,t){return(await this.parse(e,t)).errors}async extractTableReferences(e,t){var o,a;const n=t?(a=(o=this.opts).getParserOptions)==null?void 0:a.call(o,t.state):void 0;try{return(await this.getParser()).tableList(e,n).map(u=>{const c=u.split("::");return c[c.length-1]||u})}catch{return[]}}async extractColumnReferences(e,t){var o,a;const n=t!=null&&t.state?(a=(o=this.opts).getParserOptions)==null?void 0:a.call(o,t.state):void 0;try{return(await this.getParser()).columnList(e,n).map(c=>{const d=c.split("::");return d[d.length-1]||c})}catch{return[]}}}function di(s,e=["/*","--"]){const t=[];if(e.includes("/*")&&t.push("/\\*[\\s\\S]*?\\*/"),e.includes("--")&&t.push("--[^\\n]*"),t.length===0)return s;const n=new RegExp(`^\\s*(${t.join("|")})\\s*`,"");let o=s,a="";for(;o!==a;)a=o,o=o.replace(n,"");return o}const mi=2;function pi(s){const e={};return{sql:s.replace(/("(?:[^"\\]|\\.)*")|('(?:[^'\\]|\\.)*')|(\{[^}]*\})/g,(n,o,a,i,r)=>o||a?n:i?(e[r]=mi,`'${i}'`):n),offsetRecord:e}}const fi=750;function hi(s,e){const n=e.line(s.line).from+Math.max(0,s.column-1),o=n+1;return{from:n,to:o,severity:s.severity,message:s.message,source:"sql-parser"}}function vi(s={}){const e=s.parser||new Et;return xs(async t=>{const n=t.state.doc,o=n.toString();return o.trim()?(await e.validateSql(o,{state:t.state})).map(i=>hi(i,n)):[]},{delay:s.delay||fi})}function $e(s){return typeof s=="object"&&!Array.isArray(s)&&!("self"in s)}function xe(s){return typeof s=="object"&&!Array.isArray(s)&&"self"in s&&"children"in s}function fe(s){return Array.isArray(s)}function se(s,e,t,n){const o=s.length;if(e==="string"||e==="completion"&&n&&fe(n))return"column";if(e==="namespace"&&t){if(fe(t))return"table";if($e(t))return Object.values(t).some(i=>fe(i)||xe(i)&&fe(i.children))?o<=1?"database":"schema":o===0?"database":"namespace"}if(e==="completion"&&t)return fe(t)?"table":($e(t)&&Object.values(t).some(i=>fe(i)||xe(i)&&fe(i.children)),o<=1?"database":"schema");switch(o){case 0:return"database";case 1:return"schema";default:return"namespace"}}function $s(s,e,t={}){const{maxDepth:n=10}=t;if(e===""&&xe(s)){const a=se([],"completion",s.children);return{completion:s.self,path:[],type:"completion",semanticType:a,namespace:s.children}}const o=e.split(".").filter(a=>a.length>0);return o.length===0||o.length>n?null:vt(s,o,[],t)}function vt(s,e,t,n,o){if(e.length===0){if(xe(s)){const c=se(t,"completion",s.children,o);return{completion:s.self,path:t,type:"completion",semanticType:c,namespace:s.children}}const u=se(t,"namespace",s,o);return{path:t,type:"namespace",semanticType:u,namespace:s}}const[a,...i]=e,{caseSensitive:r=!1}=n;if(!a)return null;if($e(s)){const u=r?Object.keys(s).find(c=>c===a):Object.keys(s).find(c=>c.toLowerCase()===a.toLowerCase());if(u){const c=s[u];if(c)return vt(c,i,[...t,u],n,s)}}else{if(xe(s))return vt(s.children,e,t,n,s);if(fe(s)){for(const u of s)if(typeof u=="string"){if((r?u===a:u.toLowerCase()===a.toLowerCase())&&i.length===0){const d=se([...t,u],"string",void 0,s);return{value:u,path:[...t,u],type:"string",semanticType:d}}}else if((r?u.label===a:u.label.toLowerCase()===a.toLowerCase())&&i.length===0){const d=se([...t,u.label],"completion",void 0,s);return{completion:u,path:[...t,u.label],type:"completion",semanticType:d}}}}return null}function gi(s,e,t={}){const n=[];if(e.includes(".")){const o=e.lastIndexOf("."),a=e.substring(0,o),i=e.substring(o+1),r=$s(s,a,t);if(r!=null&&r.namespace)return gt(r.namespace,i,r.path,t)}else return gt(s,e,[],t);return n}function gt(s,e,t,n){const o=[],{caseSensitive:a=!1,allowPartialMatch:i=!0}=n;if($e(s)){for(const[r,u]of Object.entries(s))if(i?a?r.startsWith(e):r.toLowerCase().startsWith(e.toLowerCase()):a?r===e:r.toLowerCase()===e.toLowerCase())if(xe(u)){const d=se([...t,r],"completion",u.children,s);o.push({completion:u.self,path:[...t,r],type:"completion",semanticType:d,namespace:u.children})}else{const d=se([...t,r],"namespace",u,s);o.push({path:[...t,r],type:"namespace",semanticType:d,namespace:u})}}else if(xe(s)){if(i?a?s.self.label.startsWith(e):s.self.label.toLowerCase().startsWith(e.toLowerCase()):a?s.self.label===e:s.self.label.toLowerCase()===e.toLowerCase()){const u=se([...t,s.self.label],"completion",s.children);o.push({completion:s.self,path:[...t,s.self.label],type:"completion",semanticType:u,namespace:s.children})}o.push(...gt(s.children,e,t,n))}else if(fe(s)){for(const r of s)if(typeof r=="string"){if(i?a?r.startsWith(e):r.toLowerCase().startsWith(e.toLowerCase()):a?r===e:r.toLowerCase()===e.toLowerCase()){const c=se([...t,r],"string",void 0,s);o.push({value:r,path:[...t,r],type:"string",semanticType:c})}}else if(i?a?r.label.startsWith(e):r.label.toLowerCase().startsWith(e.toLowerCase()):a?r.label===e:r.label.toLowerCase()===e.toLowerCase()){const c=se([...t,r.label],"completion",void 0,s);o.push({completion:r,path:[...t,r.label],type:"completion",semanticType:c})}}return o}function yi(s,e,t={}){const n=[],{maxDepth:o=10}=t;Ke(s,[],n,o);const{caseSensitive:a=!1}=t;return n.filter(r=>r.path.some(u=>a?u===e:u.toLowerCase()===e.toLowerCase())).sort((r,u)=>{var m,g;const c=a?r.path[r.path.length-1]===e:((m=r.path[r.path.length-1])==null?void 0:m.toLowerCase())===e.toLowerCase(),d=a?u.path[u.path.length-1]===e:((g=u.path[u.path.length-1])==null?void 0:g.toLowerCase())===e.toLowerCase();return c&&!d?-1:!c&&d?1:r.path.length-u.path.length})}function Ke(s,e,t,n){if(!(e.length>=n)){if($e(s))for(const[o,a]of Object.entries(s)){const i=[...e,o];if(xe(a)){const r=se(i,"completion",a.children,s);t.push({completion:a.self,path:i,type:"completion",semanticType:r,namespace:a.children}),Ke(a.children,i,t,n)}else{const r=se(i,"namespace",a,s);t.push({path:i,type:"namespace",semanticType:r,namespace:a}),Ke(a,i,t,n)}}else if(xe(s)){const o=se(e,"completion",s.children);t.push({completion:s.self,path:e,type:"completion",semanticType:o,namespace:s.children}),Ke(s.children,e,t,n)}else if(fe(s))for(const o of s)if(typeof o=="string"){const a=se([...e,o],"string",void 0,s);t.push({value:o,path:[...e,o],type:"string",semanticType:a})}else{const a=se([...e,o.label],"completion",void 0,s);t.push({completion:o,path:[...e,o.label],type:"completion",semanticType:a})}}}function Wt(s,e,t={}){const{enableFuzzySearch:n=!1}=t,o=$s(s,e,t);if(o)return o;const a=gi(s,e,t);if(a.length>0)return a[0]||null;if(n){const i=yi(s,e,t);if(i.length>0)return i[0]||null}return null}function ks(s,e){if(e.size===0)return{};if($e(s)){const t={};for(const[n,o]of Object.entries(s))if(Array.from(e).some(i=>i.toLowerCase()===n.toLowerCase()))t[n]=o;else if($e(o)){const i=ks(o,e);Object.keys(i).length>0&&(t[n]=i)}return t}return s}function xi(s={}){const{schema:e={},keywords:t={},hoverTime:n=300,enableKeywords:o=!0,enableTables:a=!0,enableColumns:i=!0,enableFuzzySearch:r=!0,parser:u=new Et,tooltipRender:c,tooltipRenderers:d={}}=s;let m=null;return dn(async(g,x,C)=>{const{from:b,to:p,text:_}=g.state.doc.lineAt(x);let T=x,k=x;m===null&&(m=typeof t=="function"?t(g):Promise.resolve(t));const V=await m;for(;T>b&&/[\w.]/.test(_[T-b-1]??"");)T--;for(;k<p&&/[\w.]/.test(_[k-b]??"");)k++;if(T===x&&C<0||k===x&&C>0)return null;const w=_.slice(T-b,k-b).toLowerCase();if(!w||w.length===0)return null;const U=typeof e=="function"?e(g):e;let D=null;if(qe(),!D&&o&&V[w]){qe("keywordResult",w,V[w]);const A={keyword:w,info:V[w]};D={word:w,view:g,pos:x,tooltipType:"keyword",keywordData:A}}if(!D&&(a||i)&&U){const A=g.state.doc.toString(),B=await u.extractTableReferences(A),O=new Set(B.map(Z=>Z.toLowerCase())),P=ks(U,O);let W=Wt(P,w,{enableFuzzySearch:r});if(!W&&O.size===0&&(W=Wt(U,w,{enableFuzzySearch:r})),W){qe("namespaceResult (query-aware)",w,W,"tableRefs:",Array.from(O));const Z={item:W,word:w,resolvedSchema:O.size>0?P:U};D={word:w,view:g,pos:x,tooltipType:"namespace",namespaceData:Z}}else qe("No namespace item found for:",w)}return D?{pos:T,end:k,above:!0,create(A){if(c){const P=c(w,A,x);if(P)return{dom:P}}let B=null;if(D.tooltipType==="keyword"&&D.keywordData)B=d.keyword?d.keyword(D.keywordData):_i(D.keywordData);else if(D.tooltipType==="namespace"&&D.namespaceData){const P=D.namespaceData,{semanticType:W}=P.item;W==="table"&&d.table?B=d.table(P):W==="column"&&d.column?B=d.column(P):(W==="database"||W==="schema"||W==="namespace")&&d.namespace?B=d.namespace(P):B=bi(P.item)}if(!B)return{dom:document.createElement("div")};const O=document.createElement("div");return O.className="cm-sql-hover-tooltip",O.innerHTML=B,{dom:O}}}:null},{hoverTime:n})}function bi(s){var o,a,i,r,u,c,d;const e=s.path.join("."),t=((o=s.completion)==null?void 0:o.label)||s.value||s.path[s.path.length-1]||"unknown";let n=`<div class="sql-hover-${s.semanticType}">`;switch(n+=`<div class="sql-hover-header"><strong>${t}</strong> <span class="sql-hover-type">${s.semanticType}</span></div>`,s.semanticType){case"database":if(n+=`<div class="sql-hover-description">Database${(a=s.completion)!=null&&a.detail?`: ${s.completion.detail}`:""}</div>`,s.namespace){const m=Ye(s.namespace);m>0&&(n+=`<div class="sql-hover-children">Contains ${m} schema${m!==1?"s":""}</div>`)}break;case"schema":if(n+=`<div class="sql-hover-description">Schema${(i=s.completion)!=null&&i.detail?`: ${s.completion.detail}`:""}</div>`,e&&(n+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${e}</code></div>`),s.namespace){const m=Ye(s.namespace);m>0&&(n+=`<div class="sql-hover-children">Contains ${m} table${m!==1?"s":""}</div>`)}break;case"table":if(n+=`<div class="sql-hover-description">Table${(r=s.completion)!=null&&r.detail?`: ${s.completion.detail}`:""}</div>`,e){const m=s.path;m.length>1&&(n+=`<div class="sql-hover-path"><strong>Schema:</strong> <code>${m.slice(0,-1).join(".")}</code></div>`)}if(s.namespace&&fe(s.namespace)){const m=s.namespace;if(m.length>0){n+=`<div class="sql-hover-columns"><strong>Columns (${m.length}):</strong><br>`;const x=m.slice(0,8).map(C=>typeof C=="string"?C:C.label);n+=x.map(C=>`<code>${C}</code>`).join(", "),m.length>8&&(n+=`, <em>and ${m.length-8} more...</em>`),n+="</div>"}}break;case"column":if(n+=`<div class="sql-hover-description">Column${(u=s.completion)!=null&&u.detail?`: ${s.completion.detail}`:""}</div>`,e){const m=s.path;m.length>1&&(n+=`<div class="sql-hover-path"><strong>Table:</strong> <code>${m.slice(0,-1).join(".")}</code></div>`)}break;default:if(n+=`<div class="sql-hover-description">Namespace${(c=s.completion)!=null&&c.detail?`: ${s.completion.detail}`:""}</div>`,e&&(n+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${e}</code></div>`),s.namespace){const m=Ye(s.namespace);m>0&&(n+=`<div class="sql-hover-children">Contains ${m} item${m!==1?"s":""}</div>`)}break}return(d=s.completion)!=null&&d.info&&typeof s.completion.info=="string"&&(n+=`<div class="sql-hover-info">${s.completion.info}</div>`),n+="</div>",n}function Ye(s){return Array.isArray(s)?s.length:typeof s=="object"&&s!==null?"self"in s&&"children"in s?1+Ye(s.children):Object.keys(s).length:0}function _i(s){const{keyword:e,info:t}=s;let n='<div class="sql-hover-keyword">';if(n+=`<div class="sql-hover-header"><strong>${e.toUpperCase()}</strong> <span class="sql-hover-type">keyword</span></div>`,n+=`<div class="sql-hover-description">${t.description}</div>`,t.syntax&&(n+=`<div class="sql-hover-syntax"><strong>Syntax:</strong> <code>${t.syntax}</code></div>`),t.example&&(n+=`<div class="sql-hover-example"><strong>Example:</strong><br><code>${t.example}</code></div>`),t.metadata&&typeof t.metadata=="object"&&Object.keys(t.metadata).length>0){n+='<div class="sql-hover-metadata">';for(const[o,a]of Object.entries(t.metadata))n+=`<span class="sql-hover-tag" title="${o}">${a}</span> `;n+="</div>"}return n+="</div>",n}const Ci=(s="light")=>{const n=s==="dark"?{tooltipBg:"#1f2937",tooltipBorder:"#374151",tooltipText:"#f9fafb",tooltipTypeBg:"#374151",tooltipTypeText:"#9ca3af",tooltipChildren:"#9ca3af",codeBg:"#374151",codeText:"#f3f4f6",strong:"#ffffff",em:"#9ca3af",header:"#ffffff",info:"#d1d5db",related:"#d1d5db",path:"#d1d5db",example:"#d1d5db",columns:"#d1d5db",syntax:"#d1d5db"}:{tooltipBg:"#ffffff",tooltipBorder:"#e5e7eb",tooltipText:"#374151",tooltipTypeBg:"#f3f4f6",tooltipTypeText:"#6b7280",tooltipChildren:"#6b7280",codeBg:"#f9fafb",codeText:"#1f2937",strong:"#111827",em:"#6b7280",header:"#111827",info:"#374151",related:"#374151",path:"#374151",example:"#374151",columns:"#374151",syntax:"#374151"};return Ct.theme({".cm-sql-hover-tooltip":{padding:"8px 12px",backgroundColor:n.tooltipBg,border:`1px solid ${n.tooltipBorder}`,borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",fontSize:"13px",lineHeight:"1.4",maxWidth:"320px",fontFamily:"system-ui, -apple-system, sans-serif",color:n.tooltipText},".cm-sql-hover-tooltip .sql-hover-header":{marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px",color:n.header},".cm-sql-hover-tooltip .sql-hover-type":{fontSize:"11px",padding:"2px 6px",backgroundColor:n.tooltipTypeBg,color:n.tooltipTypeText,borderRadius:"4px",fontWeight:"500"},".cm-sql-hover-tooltip .sql-hover-description":{color:n.info,marginBottom:"8px"},".cm-sql-hover-tooltip .sql-hover-syntax":{marginBottom:"8px",color:n.syntax},".cm-sql-hover-tooltip .sql-hover-example":{marginBottom:"4px",color:n.example},".cm-sql-hover-tooltip .sql-hover-columns":{marginBottom:"4px",color:n.columns},".cm-sql-hover-tooltip .sql-hover-related":{marginBottom:"4px",color:n.related},".cm-sql-hover-tooltip .sql-hover-path":{marginBottom:"4px",color:n.path},".cm-sql-hover-tooltip .sql-hover-info":{marginBottom:"4px",color:n.info},".cm-sql-hover-tooltip .sql-hover-children":{marginBottom:"4px",color:n.tooltipChildren,fontSize:"12px"},".cm-sql-hover-tooltip code":{backgroundColor:n.codeBg,padding:"1px 4px",borderRadius:"3px",fontSize:"12px",fontFamily:"ui-monospace, 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace",color:n.codeText},".cm-sql-hover-tooltip strong":{fontWeight:"600",color:n.strong},".cm-sql-hover-tooltip em":{fontStyle:"italic",color:n.em}})};class Si{constructor(e){ne(this,"parser");ne(this,"cache",new Map);ne(this,"MAX_CACHE_SIZE",10);this.parser=e}async analyzeDocument(e){const t=e.doc.toString(),n=this.generateCacheKey(t),o=this.cache.get(n);if(o)return o;const a=await this.extractStatements(t,e);if(this.cache.set(n,a),this.cache.size>this.MAX_CACHE_SIZE){const i=this.cache.keys().next().value;i!==void 0&&this.cache.delete(i)}return a}async getStatementAtPosition(e,t){return(await this.analyzeDocument(e)).find(o=>t>=o.from&&t<=o.to)||null}async getStatementsInRange(e,t,n){return(await this.analyzeDocument(e)).filter(a=>a.from<=n&&a.to>=t)}async extractStatements(e,t){const n=[],o=this.splitByStatementSeparators(e);let a=0;for(const i of o){const r=i.trim();if(r.length===0){a+=i.length;continue}const u=a+i.indexOf(r),c=u+r.length,d=t.doc.lineAt(u),m=t.doc.lineAt(c),g=this.stripComments(r);if(g.trim().length===0||g.trim()===";"){a+=i.length;continue}const x=await this.parser.parse(g,{state:t}),C=this.determineStatementType(g),b=g.endsWith(";")?g.slice(0,-1).trim():g.trim();n.push({from:u,to:c,lineFrom:d.number,lineTo:m.number,content:b,type:C,isValid:x.success}),a+=i.length}return n}splitByStatementSeparators(e){const t=[];let n="",o=!1,a="",i=!1,r=!1,u=0;for(;u<e.length;){const c=e[u],d=e[u+1];if(!o&&!r&&c==="-"&&d==="-"){i=!0,n+=c+d,u+=2;continue}if(!o&&!i&&c==="/"&&d==="*"){r=!0,n+=c+d,u+=2;continue}if(r&&c==="*"&&d==="/"){r=!1,n+=c+d,u+=2;continue}if(i&&(c===`
|
|
9
|
-
`||c==="\r")){i=!1,n+=c,u++;continue}if(i||r){n+=c,u++;continue}if(!o&&(c==="'"||c==='"'||c==="`"))o=!0,a=c,n+=c;else if(o&&c===a){if(d===a){n+=c+d,u+=2;continue}o=!1,a="",n+=c}else!o&&c===";"?(n+=c,t.push(n),n=""):n+=c;u++}return n.trim()&&t.push(n),t}determineStatementType(e){const t=e.trim().toLowerCase();return t.startsWith("select")?"select":t.startsWith("insert")?"insert":t.startsWith("update")?"update":t.startsWith("delete")?"delete":t.startsWith("create")?"create":t.startsWith("drop")?"drop":t.startsWith("alter")?"alter":t.startsWith("use")?"use":"other"}stripComments(e){let t="",n=!1,o="",a=!1,i=!1,r=0;for(;r<e.length;){const u=e[r],c=e[r+1];if(!n&&!i&&u==="-"&&c==="-"){a=!0,r+=2;continue}if(!n&&!a&&u==="/"&&c==="*"){i=!0,r+=2;continue}if(i&&u==="*"&&c==="/"){i=!1,r+=2;continue}if(a&&(u===`
|
|
10
|
-
`||u==="\r")){a=!1,t+=u,r++;continue}if(a||i){r++;continue}if(!n&&(u==="'"||u==='"'||u==="`"))n=!0,o=u,t+=u;else if(n&&u===o){if(c===o){t+=u+c,r+=2;continue}n=!1,o="",t+=u}else t+=u;r++}return t}generateCacheKey(e){let t=0;for(let n=0;n<e.length;n++){const o=e.charCodeAt(n);t=(t<<5)-t+o,t=t&t}return t.toString()}clearCache(){this.cache.clear()}}const zs=pn.define(),Ms=mn.define({create(){return{currentStatement:null,allStatements:[],cursorPosition:0,isFocused:!0}},update(s,e){for(const t of e.effects)if(t.is(zs))return t.value;return s}});class wi extends vn{constructor(t,n,o=!0,a=!0){super();ne(this,"config");ne(this,"isCurrent");ne(this,"isValid");ne(this,"isFocused");this.config=t,this.isCurrent=n,this.isValid=o,this.isFocused=a}toDOM(){const t=document.createElement("div");t.className="cm-sql-gutter-marker";let n=this.config.backgroundColor||"#3b82f6";!this.isValid&&this.config.showInvalid!==!1&&(n=this.config.errorBackgroundColor||"#ef4444");let o;return this.isFocused?o=this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString():this.config.unfocusedOpacity!==void 0?o=this.config.unfocusedOpacity.toString():this.config.hideWhenNotFocused?o="0":o=this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString(),t.style.cssText=`
|
|
11
|
-
background: ${n};
|
|
12
|
-
height: 100%;
|
|
13
|
-
width: 100%;
|
|
14
|
-
opacity: ${o};
|
|
15
|
-
transition: opacity 150ms ease-in-out;
|
|
16
|
-
border-radius: 1px;
|
|
17
|
-
`,t}eq(t){return this.isCurrent===t.isCurrent&&this.isValid===t.isValid&&this.isFocused===t.isFocused&&this.config===t.config}}function Ti(s,e){var r;let t=hn.empty;if((r=e.whenHide)!=null&&r.call(e,s))return t;const n=s.state.field(Ms,!1);if(!n)return t;const{currentStatement:o,allStatements:a,isFocused:i}=n;try{for(const u of a){const c=(o==null?void 0:o.from)===u.from&&(o==null?void 0:o.to)===u.to;if(!u.isValid&&e.showInvalid===!1)continue;const d=new wi(e,c,u.isValid,i);for(let m=u.lineFrom;m<=u.lineTo;m++)try{if(m<1||m>s.state.doc.lines)continue;const g=s.state.doc.line(m);t=t.update({add:[d.range(g.from)]})}catch(g){console.warn("SqlGutter: Invalid line number",m,g)}}}catch(u){console.warn("SqlGutter: Error creating markers",u)}return t}function Ei(s){return Ct.updateListener.of(async e=>{if(!e.docChanged&&!e.selectionSet&&!e.focusChanged)return;const{state:t}=e.view,{main:n}=t.selection,o=n.head,a=await s.analyzeDocument(t),r={currentStatement:await s.getStatementAtPosition(t,o),allStatements:a,cursorPosition:o,isFocused:e.view.hasFocus};e.view.dispatch({effects:zs.of(r)})})}function Ri(s){const e=s.width||3;return Ct.baseTheme({".cm-sql-gutter":{width:`${e}px`,minWidth:`${e}px`},".cm-sql-gutter .cm-gutterElement":{width:`${e}px`,padding:"0",margin:"0"},".cm-sql-gutter-marker":{width:"100%",height:"100%",display:"block"},".cm-lineNumbers .cm-gutterElement":{paddingLeft:"8px",paddingRight:"8px"}})}function $i(s){return fn({class:`cm-sql-gutter ${s.className||""}`,markers:e=>Ti(e,s)})}function ki(s={}){const e=s.parser||new Et,t=new Si(e);return[Ms,Ei(t),Ri(s),$i(s)]}function zi(s={}){const e=[],{enableLinting:t=!0,enableGutterMarkers:n=!0,enableHover:o=!0,linterConfig:a,gutterConfig:i,hoverConfig:r}=s;return t&&e.push(vi(a)),n&&e.push(ki(i)),o&&(e.push(xi(r)),r!=null&&r.theme?e.push(r.theme):e.push(Ci())),e}const Je='(?:"(?:[^"]|"")+"|[A-Za-z_][A-Za-z0-9_$]*)',Mi=new RegExp(`(${Je})\\s*\\.\\s*([A-Za-z_][A-Za-z0-9_$]*)?$`),Gt=new RegExp(`\\b(?:FROM|JOIN)\\s+(${Je}(?:\\s*\\.\\s*${Je})*)(?:\\s+(?:AS\\s+)?(${Je}))?`,"gi"),Li=new Set(["all","cross","except","fetch","for","from","full","group","having","inner","intersect","join","left","limit","offset","on","order","outer","right","select","union","where"]);function _e(s){const e=s.trim();return e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1).replace(/""/g,'"'):e.toLowerCase()}function Ls(s){const e=[];let t="",n=!1;for(let o=0;o<s.length;o++){const a=s[o];if(a==='"'){if(t+=a,n&&s[o+1]==='"'){t+=s[o+1],o++;continue}n=!n;continue}if(!n&&a==="."){t.trim()&&e.push(t.trim()),t="";continue}t+=a}return t.trim()&&e.push(t.trim()),e}function Ai(s,e){let n=cs(s).resolveInner(e,-1);for(;n;){if(n.type.name==="Statement")return n;n=n.parent}return null}function Ni(s){const e=new Map;let t=Gt.exec(s);for(;t!==null;){const n=t[1],o=t[2];if(n){const i=Ls(n).at(-1);if(i&&e.set(_e(i),n),o){const r=_e(o);Li.has(r)||e.set(r,n)}}t=Gt.exec(s)}return e}function Ii(s){return/Comment|String/.test(s.type.name)}function ut(s,e){if(!s.tableDetails)return null;for(const[t,n]of Object.entries(s.tableDetails))if(_e(t)===e)return{tableName:t,schemaName:s.name,tableInfo:n};return null}function ct({tableReference:s,tableName:e,schemaName:t,tableInfo:n}){var o,a;return{tableName:e,schemaName:t,tableReference:s,columns:n.columns||[],primaryKeyColumns:new Set(((o=n.primary_keys)==null?void 0:o.map(i=>i.column))||[]),foreignKeysByColumn:new Map(((a=n.foreign_keys)==null?void 0:a.map(i=>[i.column,i]))||[])}}function Oi({tableReference:s,schemas:e,defaultSchemaName:t}){if(!(e!=null&&e.length))return null;const n=Ls(s).map(r=>_e(r));if(!n.length)return null;const o=n[n.length-1],a=n.length>1?n[n.length-2]:void 0;if(a){const r=e.find(u=>_e(u.name)===a);if(r){const u=ut(r,o);if(u)return ct({tableReference:s,tableName:u.tableName,schemaName:u.schemaName,tableInfo:u.tableInfo})}}const i=_e(t);if(i){const r=e.find(u=>_e(u.name)===i);if(r){const u=ut(r,o);if(u)return ct({tableReference:s,tableName:u.tableName,schemaName:u.schemaName,tableInfo:u.tableInfo})}}for(const r of e){const u=ut(r,o);if(u)return ct({tableReference:s,tableName:u.tableName,schemaName:u.schemaName,tableInfo:u.tableInfo})}return null}function Pi(s){return[...s.columns].sort((t,n)=>(t.ordinal_position||0)-(n.ordinal_position||0)).map(t=>so({column:t,tableName:s.tableName,schemaName:s.schemaName,isPrimaryKey:s.primaryKeyColumns.has(t.name),foreignKey:s.foreignKeysByColumn.get(t.name)}))}function qi(s,e){const t=cs(s.state).resolveInner(s.pos,-1);if(Ii(t))return null;const n=Ai(s.state,s.pos);if(!n)return null;const o=s.state.doc.sliceString(n.from,s.pos),a=Mi.exec(o);if(!a)return null;const i=a[1],r=a[2]||"",u=_e(i),c=s.state.doc.sliceString(n.from,n.to),m=Ni(c).get(u)||i,g=Oi({tableReference:m,schemas:e.schemas,defaultSchemaName:e.defaultSchemaName});return g?{from:s.pos-r.length,options:Pi(g),validFor:/^[A-Za-z0-9_$]*$/}:null}function Vi(s){return e=>qi(e,s)}const Di=async()=>(await us(()=>import("./BiOIaWuc.js"),[],import.meta.url)).default.keywords;function Fi({codeEditorRef:s,fileVariables:e,onExecuteStatement:t,onExplainAnalyzeCurrent:n}){const o=gn(),{schemasByContext:a,activeSchema:i}=De(o),r=G({line:1,column:1}),u=()=>{var T;return(T=s.value)==null?void 0:T.editorView},c=q(()=>{var T;return((T=i.value)==null?void 0:T.name)||"public"}),d=q(()=>no({schemas:a.value,defaultSchemaName:c.value,fileVariables:e.value})),m=new Lt,g=new Lt,x=()=>Vi({schemas:a.value,defaultSchemaName:c.value}),{onHandleFormatCurrentStatement:C,onHandleFormatCode:b}=Wn({getEditorView:()=>u()}),p=[Do(t),Xt.of([{key:"Mod-s",run:()=>(C(),!0),preventDefault:!0},{key:"Shift-Alt-f",run:()=>(b(),!0),preventDefault:!0},{key:"Mod-e",run:()=>(n(),!0),preventDefault:!0},{key:"Mod-i",run:yn},{key:"Tab",run:xn}]),m.of(At({dialect:Nt.PostgreSQL,upperCaseKeywords:!0,keywordCompletion:Vt,tables:d.value.variableCompletions,schema:d.value.schema,defaultSchema:d.value.defaultSchema})),g.of(ot.language.data.of({autocomplete:x()})),Tn,En,...Rn(),ys(),zi({enableLinting:!1,enableGutterMarkers:!1,enableHover:!0,hoverConfig:{hoverTime:250,enableKeywords:!0,keywords:async()=>await Di(),enableTables:!1,enableColumns:!1,enableFuzzySearch:!1}}),Hn],_=()=>{const T=u();T&&T.dispatch({effects:[Gn.of({dialect:ot,isEnable:!0}),m.reconfigure(At({dialect:Nt.PostgreSQL,upperCaseKeywords:!0,keywordCompletion:Vt,tables:d.value.variableCompletions,schema:d.value.schema,defaultSchema:d.value.defaultSchema})),g.reconfigure(ot.language.data.of({autocomplete:x()}))]})};return ge(()=>{var T;return[(T=i.value)==null?void 0:T.name,a.value]},()=>{var T;(T=i.value)!=null&&T.name&&_()},{deep:!0,immediate:!0}),{extensions:p,sqlCompartment:m,cursorInfo:r,onHandleFormatCode:b,onHandleFormatCurrentStatement:C,reloadSqlCompartment:_}}function Bi({fileVariables:s,connection:e,fieldDefs:t}){const n=G(null),{explainAnalyzeOptionItems:o,serializeMode:a,toggleExplainOption:i,setSerializeMode:r,buildExplainAnalyzePrefix:u}=ii(),c=ui(),m=ri({getEditorView:()=>{var x;return((x=n.value)==null?void 0:x.editorView)??null},connection:e,fileVariables:s,fieldDefs:t,resultTabs:c,buildExplainAnalyzePrefix:u}),g=Fi({codeEditorRef:n,fileVariables:s,onExecuteStatement:m.executeCurrentStatement,onExplainAnalyzeCurrent:m.onExplainAnalyzeCurrent});return{codeEditorRef:n,currentRawQueryResult:m.currentRawQueryResult,rawResponse:m.rawResponse,queryProcessState:m.queryProcessState,onExecuteCurrent:m.onExecuteCurrent,extensions:g.extensions,sqlCompartment:g.sqlCompartment,cursorInfo:g.cursorInfo,onHandleFormatCode:g.onHandleFormatCode,onHandleFormatCurrentStatement:g.onHandleFormatCurrentStatement,onExplainAnalyzeCurrent:m.onExplainAnalyzeCurrent,explainAnalyzeOptionItems:o,serializeMode:a,toggleExplainOption:i,setSerializeMode:r,reloadSqlCompartment:g.reloadSqlCompartment,cancelStreamingQuery:m.cancelStreamingQuery,executedResults:c.executedResults,activeResultTabId:c.activeResultTabId,setActiveResultTab:c.setActiveResultTab,closeResultTab:c.closeResultTab,closeOtherResultTabs:c.closeOtherResultTabs,closeResultTabsToRight:c.closeResultTabsToRight,updateResultTabView:c.updateResultTabView}}const dt=s=>{const{currentStatements:e}=Ze(s);if(!e.length)return null;const t=Math.min(...e.map(a=>a.from)),n=Math.max(...e.map(a=>a.to));return{text:e.map(a=>a.text).join(`
|
|
18
|
-
`),from:t,to:n}};function ji(s){const e=G(!1),t=G(!1),n=()=>{const u=s.getEditorView();if(!u)return;const c=dt(u);c&&navigator.clipboard.writeText(c.text)},o=()=>{const u=s.getEditorView();if(!u)return;const c=u.state.doc.toString();c&&navigator.clipboard.writeText(c)},a=()=>{const u=s.getEditorView();if(!u)return;const c=dt(u);if(!c)return;let d=c.to;const m=u.state.doc.length;for(;d<m;){const g=u.state.sliceDoc(d,d+1);if(g===`
|
|
19
|
-
`||g==="\r"){d++;break}if(g===" "||g===" ")d++;else break}u.dispatch({changes:{from:c.from,to:d,insert:""},annotations:[bn.addToHistory.of(!0)]}),u.focus()};return{contextMenuItems:q(()=>{const u=!e.value,c=!t.value;return[{type:F.ACTION,title:"Execute",icon:"hugeicons:play",shortcut:"⌘↵",select:s.onExecuteCurrent,disabled:u},{type:F.ACTION,title:"Analyze Query",icon:"hugeicons:analytics-01",shortcut:"⌘E",select:s.onExplainAnalyzeCurrent,disabled:u},{type:F.SEPARATOR},{type:F.ACTION,title:"Format Current",icon:"hugeicons:magic-wand-01",shortcut:"⌘S",select:s.onHandleFormatCurrentStatement,disabled:u},{type:F.ACTION,title:"Format All",icon:"hugeicons:text-align-left",shortcut:"⇧⌥F",select:s.onHandleFormatCode,disabled:c},{type:F.SEPARATOR},{type:F.ACTION,title:"Copy Statement",icon:"hugeicons:copy-02",select:n,disabled:u},{type:F.ACTION,title:"Copy All",icon:"hugeicons:copy-01",select:o,disabled:c},{type:F.SEPARATOR},{type:F.ACTION,title:"Delete Statement",icon:"hugeicons:delete-02",select:a,disabled:u}]}),onContextMenuOpen:u=>{if(!u)return;const c=s.getEditorView();if(!c){e.value=!1,t.value=!1;return}t.value=c.state.doc.length>0,e.value=!!dt(c)}}}function Ui(){const s=ds(),e=_n(),{connectionStore:t}=ts(),n=e.getFileContentByIdSync(s.params.fileId),o=G((n==null?void 0:n.contents)??""),a=G((n==null?void 0:n.variables)??""),i=G([]),r=q(()=>{var p;return(p=e==null?void 0:e.flatNodes)==null?void 0:p.find(_=>_.id===s.params.fileId)}),u=q(()=>t.getConnectionsByWorkspaceId(s.params.workspaceId||"")),c=q(()=>u.value.find(p=>{var _;return p.id===((_=r.value)==null?void 0:_.connectionId)}));return{fieldDefs:i,fileContents:o,fileVariables:a,currentFile:r,updateFileConnection:async p=>{var _;(_=r.value)!=null&&_.id&&await e.updateFile({id:r.value.id,connectionId:p})},updateFileContent:async p=>{var _;(_=r.value)!=null&&_.id&&(o.value=p,e.updateFileContent({contents:p,id:r.value.id,variables:a.value||""}))},updateFileVariables:async p=>{var _;(_=r.value)!=null&&_.id&&(a.value=p,e.updateFileContent({contents:o.value,id:r.value.id,variables:p}))},connection:c,connectionsByWsId:u,updateFileCursorPos:p=>{var _;(_=r.value)!=null&&_.id&&e.updateFile({id:r.value.id,cursorPos:p})},loadFileContent:async()=>{const{contents:p,variables:_}=await e.getFileContentById(s.params.fileId);o.value=p,a.value=_},isFromCache:n!==null}}const Qi={class:"flex flex-col h-full p-1"},Hi={class:"flex flex-col h-full border rounded-md"},Wi={class:"h-full flex flex-col overflow-y-auto"},Gi={class:"flex flex-col h-full border rounded-md bg-muted"},Ki={class:"flex items-center gap-1 font-normal text-sm px-2 py-1"},Yi={class:"h-full flex flex-col overflow-y-auto"},Ji=H({__name:"RawQuery",setup(s){const e=ds(),t=rs(),n=Ui(),{connection:o,currentFile:a,fileContents:i,fileVariables:r,updateFileConnection:u,updateFileContent:c,updateFileVariables:d,connectionsByWsId:m,fieldDefs:g}=De(n),x=Bi({connection:o,fieldDefs:g,fileVariables:r}),{cursorInfo:C,extensions:b,codeEditorRef:p,onExecuteCurrent:_,onHandleFormatCode:T,onHandleFormatCurrentStatement:k,onExplainAnalyzeCurrent:V,explainAnalyzeOptionItems:w,serializeMode:U,currentRawQueryResult:D,queryProcessState:A,executedResults:B,activeResultTabId:O}=De(x),{contextMenuItems:P,onContextMenuOpen:W}=ji({onExecuteCurrent:x.onExecuteCurrent,onExplainAnalyzeCurrent:x.onExplainAnalyzeCurrent,onHandleFormatCurrentStatement:x.onHandleFormatCurrentStatement,onHandleFormatCode:x.onHandleFormatCode,getEditorView:()=>{var ce;return(ce=p.value)==null?void 0:ce.editorView}}),Z=G(0),ee=G(!0);Cn([{key:"mod+j",callback:()=>{ee.value=!ee.value}},{key:"ctrl+j",callback:()=>{ee.value=!ee.value}}]),ge(r,()=>{x.reloadSqlCompartment()});const Me=({column:ce,from:he,line:ye,to:be})=>{C.value={column:ce,line:ye},n.updateFileCursorPos({from:he,to:be})},Te=(ce=!0)=>{var be,je;if(!((be=a.value)!=null&&be.cursorPos)||!((je=p.value)!=null&&je.editorView))return;const he=a.value.cursorPos.from??0,ye=a.value.cursorPos.to||0;p.value.setCursorPosition({from:he,to:ye,allowScroll:ce})},Oe=G(!n.isFromCache);return _t(async()=>{Oe.value&&(await n.loadFileContent(),Oe.value=!1,await ve()),Te()}),Sn(async()=>{var ce;await ve(),Te(!1),(ce=p.value)!=null&&ce.editorView&&(p.value.editorView.scrollDOM.scrollTop=Z.value)}),(ce,he)=>{const ye=de;return h(),R(Sa,{layout:l(t).codeEditorLayout,customLayout:l(t).activeCustomLayout,"show-result-panel":l(ee)},{content:v(()=>[y("div",Qi,[y("div",Hi,[f(ya,{"onUpdate:connectionId":l(u),connections:l(m),connection:l(o),workspaceId:l(e).params.workspaceId,"file-variables":l(r),"code-editor-layout":l(t).codeEditorLayout,currentFileInfo:l(a),"onUpdate:updateFileVariables":l(d)},null,8,["onUpdate:connectionId","connections","connection","workspaceId","file-variables","code-editor-layout","currentFileInfo","onUpdate:updateFileVariables"]),y("div",Wi,[f(Go,{"context-menu-items":l(P),"onUpdate:open":l(W)},{default:v(()=>[l(Oe)?(h(),R(l(is),{key:0,visible:""})):(h(),R(ms,{key:1,"onUpdate:modelValue":l(c),"onUpdate:cursorInfo":Me,"onUpdate:onScrollTop":he[0]||(he[0]=be=>Z.value=be),modelValue:l(i),extensions:l(b),ref_key:"codeEditorRef",ref:p},null,8,["onUpdate:modelValue","modelValue","extensions"]))]),_:1},8,["context-menu-items","onUpdate:open"])]),f(ia,{"cursor-info":l(C),"execute-loading":l(A).executeLoading,"execute-errors":!!l(A).executeErrors,"is-have-one-execute":l(A).isHaveOneExecute,"is-streaming":l(A).isStreaming,"streaming-row-count":l(A).streamingRowCount,queryTime:l(A).queryTime,"raw-query-results-length":l(D).length,"explain-analyze-option-items":l(w),"serialize-mode":l(U),onOnFormatCurrentStatement:l(k),onOnFormatAll:l(T),onOnExplainAnalyzeCurrent:l(V),onToggleExplainOption:l(x).toggleExplainOption,"onUpdate:serializeMode":l(x).setSerializeMode,onOnExecuteCurrent:l(_),onOnCancelQuery:l(x).cancelStreamingQuery},null,8,["cursor-info","execute-loading","execute-errors","is-have-one-execute","is-streaming","streaming-row-count","queryTime","raw-query-results-length","explain-analyze-option-items","serialize-mode","onOnFormatCurrentStatement","onOnFormatAll","onOnExplainAnalyzeCurrent","onToggleExplainOption","onUpdate:serializeMode","onOnExecuteCurrent","onOnCancelQuery"])])])]),variables:v(()=>[y("div",Gi,[y("div",Ki,[f(ye,{name:"hugeicons:absolute"}),he[1]||(he[1]=I(" Variables "))]),y("div",Yi,[f(Cs,{onUpdateVariables:l(d),"file-variables":l(r)},null,8,["onUpdateVariables","file-variables"])])])]),result:v(()=>[l(B).size===0?(h(),R(Ho,{key:0})):(h(),R(ai,{key:1,"executed-results":l(B),"active-tab-id":l(O),"execute-loading":l(A).executeLoading,"is-streaming":l(A).isStreaming,"onUpdate:activeTab":l(x).setActiveResultTab,onCloseTab:l(x).closeResultTab,onCloseOtherTabs:l(x).closeOtherResultTabs,onCloseTabsToRight:l(x).closeResultTabsToRight,"onUpdate:view":l(x).updateResultTabView},null,8,["executed-results","active-tab-id","execute-loading","is-streaming","onUpdate:activeTab","onCloseTab","onCloseOtherTabs","onCloseTabsToRight","onUpdate:view"]))]),_:1},8,["layout","customLayout","show-result-panel"])}}}),$u=H({__name:"[fileId]",setup(s){return(e,t)=>(h(),R(Ji))}});export{$u as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{w as ce,d as te,ad as ht,al as Ae,I as ke,bb as yt,u as Ke,r as G,E as T,aC as be,c as ne,o as Q,e as ae,f as ve,b as A,aG as We,P as Me,c7 as zt,aD as St,aQ as bt,c8 as xt,aq as wt,an as Le,G as Ne,j as je,g as Et,a as Pt,c9 as It,ca as le}from"./FyrDS92w.js";const me=typeof document<"u";function x(e,t="Assertion failed!"){if(!e)throw console.error(t),new Error(t)}function Xe(e,t=document){var a;if(!me)return null;if(t instanceof HTMLElement&&((a=t==null?void 0:t.dataset)==null?void 0:a.panelGroupId)===e)return t;const n=t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return n||null}function xe(e,t=document){if(!me)return null;const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function Je(e,t,n=document){return me?de(e,n).findIndex(o=>o.getAttribute("data-panel-resize-handle-id")===t)??null:null}function de(e,t=document){return me?Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`)):[]}function Ct(e,t,n,a=document){var p,v;const i=xe(t,a),o=de(e,a),l=i?o.indexOf(i):-1,s=((p=n[l])==null?void 0:p.id)??null,u=((v=n[l+1])==null?void 0:v.id)??null;return[s,u]}function Ue(e){return e.type==="keydown"}function Ye(e){return e.type.startsWith("mouse")}function Ze(e){return e.type.startsWith("touch")}function we(e){if(Ye(e))return{x:e.clientX,y:e.clientY};if(Ze(e)){const t=e.touches[0];if(t&&t.clientX&&t.clientY)return{x:t.clientX,y:t.clientY}}return{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY}}function Qe(e,t){const n=e==="horizontal",{x:a,y:i}=we(t);return n?a:i}function At(e,t,n,a,i){const o=n==="horizontal",l=xe(t,i);x(l);const s=l.getAttribute("data-panel-group-id");x(s);const{initialCursorPosition:u}=a,p=Qe(n,e),v=Xe(s,i);x(v);const d=v.getBoundingClientRect(),m=o?d.width:d.height;return(p-u)/m*100}function _t(e,t,n,a,i,o){if(Ue(e)){const l=n==="horizontal";let s=0;e.shiftKey?s=100:s=i??10;let u=0;switch(e.key){case"ArrowDown":u=l?0:s;break;case"ArrowLeft":u=l?-s:0;break;case"ArrowRight":u=l?s:0;break;case"ArrowUp":u=l?0:-s;break;case"End":u=100;break;case"Home":u=-100;break}return u}else return a==null?0:At(e,t,n,a,o)}function Rt({layout:e,panelsArray:t,pivotIndices:n}){let a=0,i=100,o=0,l=0;const s=n[0];x(s!=null),t.forEach((d,m)=>{const{constraints:g}=d,{maxSize:y=100,minSize:E=0}=g;m===s?(a=E,i=y):(o+=E,l+=y)});const u=Math.min(i,100-o),p=Math.max(a,100-l),v=e[s];return{valueMax:u,valueMin:p,valueNow:v}}function kt({panelDataArray:e}){const t=Array.from({length:e.length}),n=e.map(o=>o.constraints);let a=0,i=100;for(let o=0;o<e.length;o++){const l=n[o];x(l);const{defaultSize:s}=l;s!=null&&(a++,t[o]=s,i-=s)}for(let o=0;o<e.length;o++){const l=n[o];x(l);const{defaultSize:s}=l;if(s!=null)continue;const u=e.length-a,p=i/u;a++,t[o]=p,i-=p}return t}function ie(e,t,n){t.forEach((a,i)=>{const o=e[i];x(o);const{callbacks:l,constraints:s,id:u}=o,{collapsedSize:p=0,collapsible:v}=s,d=n[u];if(d==null||a!==d){n[u]=a;const{onCollapse:m,onExpand:g,onResize:y}=l;y&&y(a,d),v&&(m||g)&&(g&&(d==null||d===p)&&a!==p&&g(),m&&(d==null||d!==p)&&a===p&&m())}})}function Mt(e,t=10){let n=null;return(...i)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...i)},t)}}const De=10;function fe(e,t,n=De){e=Number.parseFloat(e.toFixed(n)),t=Number.parseFloat(t.toFixed(n));const a=e-t;return a===0?0:a>0?1:-1}function B(e,t,n){return fe(e,t,n)===0}function ee({panelConstraints:e,panelIndex:t,size:n}){const a=e[t];x(a!=null);const{collapsedSize:i=0,collapsible:o,maxSize:l=100,minSize:s=0}=a;if(fe(n,s)<0)if(o){const u=(i+s)/2;fe(n,u)<0?n=i:n=s}else n=s;return n=Math.min(l,n),n=Number.parseFloat(n.toFixed(De)),n}function he(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function re({delta:e,layout:t,panelConstraints:n,pivotIndices:a,trigger:i}){if(B(e,0))return t;const o=[...t],[l,s]=a;x(l!=null),x(s!=null);let u=0;if(i==="keyboard"){{const v=e<0?s:l,d=n[v];if(x(d),d.collapsible){const m=t[v];x(m!=null);const g=n[v];x(g);const{collapsedSize:y=0,minSize:E=0}=g;if(B(m,y)){const f=E-m;fe(f,Math.abs(e))>0&&(e=e<0?0-f:f)}}}{const v=e<0?l:s,d=n[v];x(d);const{collapsible:m}=d;if(m){const g=t[v];x(g!=null);const y=n[v];x(y);const{collapsedSize:E=0,minSize:f=0}=y;if(B(g,f)){const r=g-E;fe(r,Math.abs(e))>0&&(e=e<0?0-r:r)}}}}{const v=e<0?1:-1;let d=e<0?s:l,m=0;for(;;){const y=t[d];x(y!=null);const f=ee({panelConstraints:n,panelIndex:d,size:100})-y;if(m+=f,d+=v,d<0||d>=n.length)break}const g=Math.min(Math.abs(e),Math.abs(m));e=e<0?0-g:g}{let d=e<0?l:s;for(;d>=0&&d<n.length;){const m=Math.abs(e)-Math.abs(u),g=t[d];x(g!=null);const y=g-m,E=ee({panelConstraints:n,panelIndex:d,size:y});if(!B(g,E)&&(u+=g-E,o[d]=E,u.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(B(u,0))return t;{const v=e<0?s:l,d=t[v];x(d!=null);const m=d+u,g=ee({panelConstraints:n,panelIndex:v,size:m});if(o[v]=g,!B(g,m)){let y=m-g,f=e<0?s:l;for(;f>=0&&f<n.length;){const r=o[f];x(r!=null);const w=r+y,I=ee({panelConstraints:n,panelIndex:f,size:w});if(B(r,I)||(y-=I-r,o[f]=I),B(y,0))break;e>0?f--:f++}}}const p=o.reduce((v,d)=>d+v,0);return B(p,100)?o:t}function et(e,t,n){const a=Je(e,t,n);return a!=null?[a,a+1]:[-1,-1]}function Lt(e,t,n){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function Nt(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:Oe(e),b:Oe(t)};let a;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),a=e;x(a);const i={a:Fe(Te(n.a)),b:Fe(Te(n.b))};if(i.a===i.b){const o=a.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let s=o.length;for(;s--;){const u=o[s];if(u===l.a)return 1;if(u===l.b)return-1}}return Math.sign(i.a-i.b)}const Dt=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function $t(e){const t=getComputedStyle(tt(e)).display;return t==="flex"||t==="inline-flex"}function Bt(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||$t(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||Dt.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function Te(e){let t=e.length;for(;t--;){const n=e[t];if(x(n),Bt(n))return n}return null}function Fe(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Oe(e){const t=[];for(;e;)t.push(e),e=tt(e);return t}function tt(e){var t;return e.parentNode instanceof DocumentFragment&&((t=e.parentNode)==null?void 0:t.host)||e.parentNode}const nt=1,at=2,ot=4,lt=8;function Ht(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}const Gt=Ht()==="coarse",X=[];let Ee=!1;const W=new Map,Pe=new Map,pe=new Set;function qt(e,t,n,a,i,o){const{ownerDocument:l}=t,s={direction:n,element:t,hitAreaMargins:a,nonce:i,setResizeHandlerState:o},u=W.get(l)??0;return W.set(l,u+1),pe.add(s),Se(),function(){Pe.delete(e),pe.delete(s);const v=W.get(l)??1;W.set(l,v-1),Se(),st(),v===1&&W.delete(l)}}function ye(e){const{target:t}=e,{x:n,y:a}=we(e);Ee=!0,$e({target:t,x:n,y:a}),Se(),X.length>0&&(Be("down",e),e.preventDefault())}function V(e){const{x:t,y:n}=we(e);if(!Ee){const{target:a}=e;$e({target:a,x:t,y:n})}Be("move",e),it(),X.length>0&&e.preventDefault()}function K(e){const{target:t}=e,{x:n,y:a}=we(e);Pe.clear(),Ee=!1,X.length>0&&e.preventDefault(),Be("up",e),$e({target:t,x:n,y:a}),it(),Se()}function $e({target:e,x:t,y:n}){X.splice(0);let a=null;e instanceof HTMLElement&&(a=e),pe.forEach(i=>{const{element:o,hitAreaMargins:l}=i,s=o.getBoundingClientRect(),{bottom:u,left:p,right:v,top:d}=s,m=Gt?l.coarse:l.fine;if(t>=p-m&&t<=v+m&&n>=d-m&&n<=u+m){if(a!==null&&o!==a&&!o.contains(a)&&!a.contains(o)&&Nt(a,o)>0){let y=a,E=!1;for(;y&&!y.contains(o);){if(Lt(y.getBoundingClientRect(),s)){E=!0;break}y=y.parentElement}if(E)return}X.push(i)}})}function Ie(e,t){Pe.set(e,t)}function it(){let e=!1,t=!1,n;X.forEach(i=>{const{direction:o,nonce:l}=i;o.value==="horizontal"?e=!0:t=!0,n=l.value});let a=0;Pe.forEach(i=>{a|=i}),e&&t?Ce("intersection",a,n):e?Ce("horizontal",a,n):t?Ce("vertical",a,n):st()}function Se(){W.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",K),n.removeEventListener("mousedown",ye),n.removeEventListener("mouseleave",V),n.removeEventListener("mousemove",V),n.removeEventListener("touchmove",V),n.removeEventListener("touchstart",ye)}),window.removeEventListener("mouseup",K),window.removeEventListener("touchcancel",K),window.removeEventListener("touchend",K),pe.size>0&&(Ee?(X.length>0&&W.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",K),n.addEventListener("mouseleave",V),n.addEventListener("mousemove",V),n.addEventListener("touchmove",V,{passive:!1}))}),window.addEventListener("mouseup",K),window.addEventListener("touchcancel",K),window.addEventListener("touchend",K)):W.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("mousedown",ye),n.addEventListener("mousemove",V),n.addEventListener("touchmove",V,{passive:!1}),n.addEventListener("touchstart",ye))}))}function Be(e,t){pe.forEach(n=>{const{setResizeHandlerState:a}=n,i=X.includes(n);a(e,i,t)})}let _e=null,j=null;function Tt(e,t){if(t){const n=(t&nt)!==0,a=(t&at)!==0,i=(t&ot)!==0,o=(t<)!==0;if(n)return i?"se-resize":o?"ne-resize":"e-resize";if(a)return i?"sw-resize":o?"nw-resize":"w-resize";if(i)return"s-resize";if(o)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function st(){j!==null&&(document.head.removeChild(j),_e=null,j=null)}function Ce(e,t,n){const a=Tt(e,t);_e!==a&&(_e=a,j===null&&(j=document.createElement("style"),n&&(j.nonce=n),document.head.appendChild(j)),j.innerHTML=`*{cursor: ${a}!important;}`)}function Ft({defaultSize:e,dragState:t,layout:n,panelData:a,panelIndex:i,precision:o=3}){const l=n[i];let s;return l==null?s=e!==void 0?e.toPrecision(o):"1":a.length===1?s="1":s=l.toPrecision(o),{flexBasis:0,flexGrow:s,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function Ot({layout:e,panelConstraints:t}){const n=[...e],a=n.reduce((o,l)=>o+l,0);if(n.length!==t.length)throw new Error(`Invalid ${t.length} panel layout: ${n.map(o=>`${o}%`).join(", ")}`);if(!B(a,100)){console.warn(`WARNING: Invalid layout total size: ${n.map(o=>`${o}%`).join(", ")}. Layout normalization will be applied.`);for(let o=0;o<t.length;o++){const l=n[o];x(l!=null);const s=100/a*l;n[o]=s}}let i=0;for(let o=0;o<t.length;o++){const l=n[o];x(l!=null);const s=ee({panelConstraints:t,panelIndex:o,size:l});l!==s&&(i+=l-s,n[o]=s)}if(!B(i,0))for(let o=0;o<t.length;o++){const l=n[o];x(l!=null);const s=l+i,u=ee({panelConstraints:t,panelIndex:o,size:s});if(l!==u&&(i-=u-l,n[o]=u,B(i,0)))break}return n}function Vt({eagerValuesRef:e,groupId:t,layout:n,panelDataArray:a,panelGroupElement:i,setLayout:o}){ce(l=>{const s=i.value;if(!s)return;const u=de(t,s);for(let p=0;p<a.length-1;p++){const{valueMax:v,valueMin:d,valueNow:m}=Rt({layout:n.value,panelsArray:a,pivotIndices:[p,p+1]}),g=u[p];if(g!=null){const y=a[p];x(y),g.setAttribute("aria-controls",y.id),g.setAttribute("aria-valuemax",`${Math.round(v)}`),g.setAttribute("aria-valuemin",`${Math.round(d)}`),g.setAttribute("aria-valuenow",m!=null?`${Math.round(m)}`:"")}}l(()=>{u.forEach(p=>{p.removeAttribute("aria-controls"),p.removeAttribute("aria-valuemax"),p.removeAttribute("aria-valuemin"),p.removeAttribute("aria-valuenow")})})}),ce(l=>{const s=i.value;if(!s)return;const u=e.value;x(u);const{panelDataArray:p}=u,v=Xe(t,s);x(v!=null,`No group found for id "${t}"`);const d=de(t,s);x(d);const m=d.map(g=>{const y=g.getAttribute("data-panel-resize-handle-id");x(y);const[E,f]=Ct(t,y,p,s);if(E==null||f==null)return()=>{};const r=w=>{if(!w.defaultPrevented)switch(w.key){case"Enter":{w.preventDefault();const I=p.findIndex(M=>M.id===E);if(I>=0){const M=p[I];x(M);const _=n.value[I],{collapsedSize:N=0,collapsible:H,minSize:C=0}=M.constraints;if(_!=null&&H){const R=re({delta:B(_,N)?C-N:N-_,layout:n.value,panelConstraints:p.map(J=>J.constraints),pivotIndices:et(t,y,s),trigger:"keyboard"});n.value!==R&&o(R)}}break}}};return g.addEventListener("keydown",r),()=>{g.removeEventListener("keydown",r)}});l(()=>{m.forEach(g=>g())})})}function Ve(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new TypeError("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function rt(e){return`reka:${e}`}function ut(e){return e.map(t=>{const{constraints:n,id:a,idIsFromProps:i,order:o}=t;return i?a:o?`${o}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function ct(e,t){try{const n=rt(e),a=t.getItem(n);if(a){const i=JSON.parse(a);if(typeof i=="object"&&i!=null)return i}}catch{}return null}function Kt(e,t,n){const a=ct(e,n)??{},i=ut(t);return a[i]??null}function Wt(e,t,n,a,i){const o=rt(e),l=ut(t),s=ct(e,i)??{};s[l]={expandToSizes:Object.fromEntries(n.entries()),layout:a};try{i.setItem(o,JSON.stringify(s))}catch(u){console.error(u)}}const jt=100,ue={getItem:e=>(Ve(ue),ue.getItem(e)),setItem:(e,t)=>{Ve(ue),ue.setItem(e,t)}},[dt,Xt]=ht("PanelGroup");var Jt=te({__name:"SplitterGroup",props:{id:{type:[String,null],required:!1},autoSaveId:{type:[String,null],required:!1,default:null},direction:{type:String,required:!0},keyboardResizeBy:{type:[Number,null],required:!1,default:10},storage:{type:Object,required:!1,default:()=>ue},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["layout"],setup(e,{emit:t}){const n=e,a=t,i={},{direction:o}=Ae(n),l=ke(n.id,"reka-splitter-group"),s=yt(),{forwardRef:u,currentElement:p}=Ke(),v=G(null),d=G([]),m=G({}),g=G(new Map),y=G(0),E=T(()=>({autoSaveId:n.autoSaveId,direction:n.direction,dragState:v.value,id:l,keyboardResizeBy:n.keyboardResizeBy,storage:n.storage})),f=G({layout:d.value,panelDataArray:[],panelDataArrayChanged:!1}),r=c=>d.value=c;Vt({eagerValuesRef:f,groupId:l,layout:d,panelDataArray:f.value.panelDataArray,setLayout:r,panelGroupElement:p}),ce(()=>{const{panelDataArray:c}=f.value,{autoSaveId:S}=n;if(S){if(d.value.length===0||d.value.length!==c.length)return;let h=i[S];h||(h=Mt(Wt,jt),i[S]=h);const z=[...c],P=new Map(g.value);h(S,z,P,d.value,n.storage)}});function w(c,S){const{panelDataArray:h}=f.value,z=U(h,c);return Ft({defaultSize:S,dragState:v.value,layout:d.value,panelData:h,panelIndex:z})}function I(c){const{panelDataArray:S}=f.value;S.push(c),S.sort((h,z)=>{const P=h.order,b=z.order;return P==null&&b==null?0:P==null?-1:b==null?1:P-b}),f.value.panelDataArrayChanged=!0}be(()=>f.value.panelDataArrayChanged,()=>{if(f.value.panelDataArrayChanged){f.value.panelDataArrayChanged=!1;const{autoSaveId:c,storage:S}=E.value,{layout:h,panelDataArray:z}=f.value;let P=null;if(c){const L=Kt(c,z,S);L&&(g.value=new Map(Object.entries(L.expandToSizes)),P=L.layout)}P===null&&(P=kt({panelDataArray:z}));const b=Ot({layout:P,panelConstraints:z.map(L=>L.constraints)});zt(h,b)||(r(b),f.value.layout=b,a("layout",b),ie(z,b,m.value))}});function M(c){return function(h){h.preventDefault();const z=p.value;if(!z)return()=>null;const{direction:P,dragState:b,id:L,keyboardResizeBy:q}=E.value,{layout:D,panelDataArray:k}=f.value,{initialLayout:Z}=b??{},O=et(L,c,z);let $=_t(h,c,P,b,q,z);if($===0)return;const Ge=P==="horizontal";s.value==="rtl"&&Ge&&($=-$);const mt=k.map(gt=>gt.constraints),oe=re({delta:$,layout:Z??D,panelConstraints:mt,pivotIndices:O,trigger:Ue(h)?"keyboard":"mouse-or-touch"}),qe=!he(D,oe);(Ye(h)||Ze(h))&&y.value!==$&&(y.value=$,qe?Ie(c,0):Ge?Ie(c,$<0?nt:at):Ie(c,$<0?ot:lt)),qe&&(r(oe),f.value.layout=oe,a("layout",oe),ie(k,oe,m.value))}}function _(c,S){const{layout:h,panelDataArray:z}=f.value,P=z.map(Z=>Z.constraints),{panelSize:b,pivotIndices:L}=Y(z,c,h);x(b!=null);const D=U(z,c)===z.length-1?b-S:S-b,k=re({delta:D,layout:h,panelConstraints:P,pivotIndices:L,trigger:"imperative-api"});he(h,k)||(r(k),f.value.layout=k,a("layout",k),ie(z,k,m.value))}function N(c,S){const{layout:h,panelDataArray:z}=f.value,P=U(z,c);z[P]=c,f.value.panelDataArrayChanged=!0;const{collapsedSize:b=0,collapsible:L}=S,{collapsedSize:q=0,collapsible:D,maxSize:k=100,minSize:Z=0}=c.constraints,{panelSize:O}=Y(z,c,h);O!==null&&(L&&D&&O===b?b!==q&&_(c,q):O<Z?_(c,Z):O>k&&_(c,k))}function H(c,S){const{direction:h}=E.value,{layout:z}=f.value;if(!p.value)return;const P=xe(c,p.value);x(P);const b=Qe(h,S);v.value={dragHandleId:c,dragHandleRect:P.getBoundingClientRect(),initialCursorPosition:b,initialLayout:z}}function C(){v.value=null}function R(c){const{panelDataArray:S}=f.value,h=U(S,c);h>=0&&(S.splice(h,1),delete m.value[c.id],f.value.panelDataArrayChanged=!0)}function J(c){const{layout:S,panelDataArray:h}=f.value;if(c.constraints.collapsible){const z=h.map(q=>q.constraints),{collapsedSize:P=0,panelSize:b,pivotIndices:L}=Y(h,c,S);if(x(b!=null,`Panel size not found for panel "${c.id}"`),b!==P){g.value.set(c.id,b);const D=U(h,c)===h.length-1?b-P:P-b,k=re({delta:D,layout:S,panelConstraints:z,pivotIndices:L,trigger:"imperative-api"});he(S,k)||(r(k),f.value.layout=k,a("layout",k),ie(h,k,m.value))}}}function F(c){const{layout:S,panelDataArray:h}=f.value;if(c.constraints.collapsible){const z=h.map(D=>D.constraints),{collapsedSize:P=0,panelSize:b,minSize:L=0,pivotIndices:q}=Y(h,c,S);if(b===P){const D=g.value.get(c.id),k=D!=null&&D>=L?D:L,O=U(h,c)===h.length-1?b-k:k-b,$=re({delta:O,layout:S,panelConstraints:z,pivotIndices:q,trigger:"imperative-api"});he(S,$)||(r($),f.value.layout=$,a("layout",$),ie(h,$,m.value))}}}function ge(c){const{layout:S,panelDataArray:h}=f.value,{panelSize:z}=Y(h,c,S);return x(z!=null,`Panel size not found for panel "${c.id}"`),z}function pt(c){const{layout:S,panelDataArray:h}=f.value,{collapsedSize:z=0,collapsible:P,panelSize:b}=Y(h,c,S);return P?b===void 0?c.constraints.defaultSize===c.constraints.collapsedSize:b===z:!1}function vt(c){const{layout:S,panelDataArray:h}=f.value,{collapsedSize:z=0,collapsible:P,panelSize:b}=Y(h,c,S);return x(b!=null,`Panel size not found for panel "${c.id}"`),!P||b>z}Xt({direction:o,dragState:v.value,groupId:l,reevaluatePanelConstraints:N,registerPanel:I,registerResizeHandle:M,resizePanel:_,startDragging:H,stopDragging:C,unregisterPanel:R,panelGroupElement:p,collapsePanel:J,expandPanel:F,isPanelCollapsed:pt,isPanelExpanded:vt,getPanelSize:ge,getPanelStyle:w});function U(c,S){return c.findIndex(h=>h===S||h.id===S.id)}function Y(c,S,h){const z=U(c,S),b=z===c.length-1?[z-1,z]:[z,z+1],L=h[z];return{...S.constraints,panelSize:L,pivotIndices:b}}return(c,S)=>(Q(),ne(A(Me),{ref:A(u),as:c.as,"as-child":c.asChild,style:We({display:"flex",flexDirection:A(o)==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"}),"data-panel-group":"","data-orientation":A(o),"data-panel-group-id":A(l)},{default:ae(()=>[ve(c.$slots,"default",{layout:d.value})]),_:3},8,["as","as-child","style","data-orientation","data-panel-group-id"]))}}),Ut=Jt,Yt=te({__name:"SplitterPanel",props:{collapsedSize:{type:Number,required:!1},collapsible:{type:Boolean,required:!1},defaultSize:{type:Number,required:!1},id:{type:String,required:!1},maxSize:{type:Number,required:!1},minSize:{type:Number,required:!1},order:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["collapse","expand","resize"],setup(e,{expose:t,emit:n}){const a=e,i=n,o=dt();if(o===null)throw new Error("SplitterPanel components must be rendered within a SplitterGroup container");const{collapsePanel:l,expandPanel:s,getPanelSize:u,getPanelStyle:p,isPanelCollapsed:v,resizePanel:d,groupId:m,reevaluatePanelConstraints:g,registerPanel:y,unregisterPanel:E}=o,f=ke(a.id,"reka-splitter-panel"),r=T(()=>({callbacks:{onCollapse:()=>i("collapse"),onExpand:()=>i("expand"),onResize:(...C)=>i("resize",...C)},constraints:{collapsedSize:a.collapsedSize&&Number.parseFloat(a.collapsedSize.toFixed(De)),collapsible:a.collapsible,defaultSize:a.defaultSize,maxSize:a.maxSize,minSize:a.minSize},id:f,idIsFromProps:a.id!==void 0,order:a.order}));be(()=>r.value.constraints,(C,R)=>{(R.collapsedSize!==C.collapsedSize||R.collapsible!==C.collapsible||R.maxSize!==C.maxSize||R.minSize!==C.minSize)&&g(r.value,R)},{deep:!0}),St(()=>{y(r.value)}),bt(()=>{E(r.value)});const w=T(()=>p(r.value,a.defaultSize)),I=T(()=>v(r.value)),M=T(()=>!I.value);function _(){l(r.value)}function N(){s(r.value)}function H(C){d(r.value,C)}return t({collapse:_,expand:N,getSize(){return u(r.value)},resize:H,isCollapsed:I,isExpanded:M}),(C,R)=>(Q(),ne(A(Me),{id:A(f),style:We(w.value),as:C.as,"as-child":C.asChild,"data-panel":"","data-panel-collapsible":C.collapsible||void 0,"data-panel-group-id":A(m),"data-panel-id":A(f),"data-panel-size":Number.parseFloat(`${w.value.flexGrow}`).toFixed(1),"data-state":C.collapsible?I.value?"collapsed":"expanded":void 0},{default:ae(()=>[ve(C.$slots,"default",{isCollapsed:I.value,isExpanded:M.value,expand:N,collapse:_,resize:H})]),_:3},8,["id","style","as","as-child","data-panel-collapsible","data-panel-group-id","data-panel-id","data-panel-size","data-state"]))}}),Zt=Yt;function Qt({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:a}){ce(i=>{const o=a.value;if(e.value||n.value===null||o===null)return;const l=xe(t,o);if(l==null)return;const s=u=>{var p;if(!u.defaultPrevented)switch(u.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{u.preventDefault(),(p=n.value)==null||p.call(n,u);break}case"F6":{u.preventDefault();const v=l.getAttribute("data-panel-group-id");x(v);const d=de(v,o),m=Je(v,t,o);x(m!==null);const g=u.shiftKey?m>0?m-1:d.length-1:m+1<d.length?m+1:0;d[g].focus();break}}};l.addEventListener("keydown",s),i(()=>{l.removeEventListener("keydown",s)})})}var en=te({__name:"SplitterResizeHandle",props:{id:{type:String,required:!1},hitAreaMargins:{type:Object,required:!1},tabindex:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["dragging"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:i,currentElement:o}=Ke(),{disabled:l}=Ae(n),s=dt();if(s===null)throw new Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:u,groupId:p,registerResizeHandle:v,startDragging:d,stopDragging:m,panelGroupElement:g}=s,y=ke(n.id,"reka-splitter-resize-handle"),E=G("inactive"),f=G(!1),r=G(null),{nonce:w}=Ae(n),I=xt(w);return be(l,()=>{me&&(l.value?r.value=null:r.value=v(y))},{immediate:!0}),ce(M=>{var H,C;if(l.value||r.value===null)return;const _=o.value;if(!_)return;x(_);const N=(R,J,F)=>{var ge;if(J)switch(R){case"down":{E.value="drag",d(y,F),a("dragging",!0);break}case"move":{E.value!=="drag"&&(E.value="hover"),(ge=r.value)==null||ge.call(r,F);break}case"up":{E.value="hover",m(),a("dragging",!1);break}}else E.value="inactive"};M(qt(y,_,u,{coarse:((H=n.hitAreaMargins)==null?void 0:H.coarse)??15,fine:((C=n.hitAreaMargins)==null?void 0:C.fine)??5},I,N))}),Qt({disabled:l,resizeHandler:r,handleId:y,panelGroupElement:g}),(M,_)=>(Q(),ne(A(Me),{id:A(y),ref:A(i),style:{touchAction:"none",userSelect:"none"},as:M.as,"as-child":M.asChild,role:"separator","data-resize-handle":"",tabindex:M.tabindex,"data-state":E.value,"data-disabled":A(l)?"":void 0,"data-orientation":A(u),"data-panel-group-id":A(p),"data-resize-handle-active":E.value==="drag"?"pointer":f.value?"keyboard":void 0,"data-resize-handle-state":E.value,"data-panel-resize-handle-enabled":!A(l),"data-panel-resize-handle-id":A(y),onBlur:_[0]||(_[0]=N=>f.value=!1),onFocus:_[1]||(_[1]=N=>f.value=!1)},{default:ae(()=>[ve(M.$slots,"default")]),_:3},8,["id","as","as-child","tabindex","data-state","data-disabled","data-orientation","data-panel-group-id","data-resize-handle-active","data-resize-handle-state","data-panel-resize-handle-enabled","data-panel-resize-handle-id"]))}}),tn=en;const nn={key:0,class:"bg-border z-10 flex h-7 w-1 min-w-1 items-center justify-center rounded-md border"},dn=te({__name:"ResizableHandle",props:{id:{},hitAreaMargins:{},tabindex:{},disabled:{type:Boolean},nonce:{},asChild:{type:Boolean},as:{},class:{},withHandle:{type:Boolean}},emits:["dragging"],setup(e,{emit:t}){const n=e,a=t,i=wt(n,"class","withHandle"),o=Le(i,a);return(l,s)=>(Q(),ne(A(tn),Ne({"data-slot":"resizable-handle"},A(o),{class:A(je)("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:after:left-0 data-[orientation=vertical]:after:h-1 data-[orientation=vertical]:after:w-full data-[orientation=vertical]:after:-translate-y-1/2 data-[orientation=vertical]:after:translate-x-0 [&[data-orientation=vertical]>div]:rotate-90",n.class)}),{default:ae(()=>[n.withHandle?(Q(),Et("div",nn)):Pt("",!0)]),_:1},16,["class"]))}}),fn=te({__name:"ResizablePanel",props:{collapsedSize:{},collapsible:{type:Boolean},defaultSize:{},id:{},maxSize:{},minSize:{},order:{},asChild:{type:Boolean},as:{}},emits:["collapse","expand","resize"],setup(e,{expose:t,emit:n}){const a=e,i=n,o=G(),l=Le(a,i);return t(o),(s,u)=>(Q(),ne(A(Zt),Ne({"data-slot":"resizable-panel"},A(l),{ref_key:"panelRef",ref:o}),{default:ae(()=>[ve(s.$slots,"default")]),_:3},16))}}),pn=te({__name:"ResizablePanelGroup",props:{id:{},autoSaveId:{},direction:{},keyboardResizeBy:{},storage:{},asChild:{type:Boolean},as:{},class:{}},emits:["layout"],setup(e,{emit:t}){const n=e,a=t,i=T(()=>{const{class:l,...s}=n;return s}),o=Le(i,a);return(l,s)=>(Q(),ne(A(Ut),Ne({"data-slot":"resizable-panel-group"},A(o),{class:A(je)("flex h-full w-full data-[orientation=vertical]:flex-col",n.class)}),{default:ae(()=>[ve(l.$slots,"default")]),_:3},16,["class"]))}}),an=new Set(["approval-requested","output-available","output-error"]),on=e=>typeof e.type=="string"&&e.type.startsWith("tool-"),ln=e=>{if(!on(e))return!1;const t="state"in e?String(e.state||""):"";return!an.has(t)},He=e=>{const t=[];let n=!1;for(const a of e){if(n)break;if(a.role!=="assistant"||!Array.isArray(a.parts)){t.push(a);continue}const i=[];for(const o of a.parts){if(ln(o)){n=!0;break}i.push(o)}i.length>0&&t.push({...a,parts:i})}return t},sn=e=>{const t=He(e);return JSON.stringify(t)!==JSON.stringify(e)},se={history:"agent-section-history"},Re=e=>JSON.parse(JSON.stringify(e)),rn=e=>{var t,n,a,i;return(i=(a=(n=(t=e.find(o=>o.role==="user"))==null?void 0:t.parts)==null?void 0:n.find(o=>o.type==="text"))==null?void 0:a.text)==null?void 0:i.trim()},ft=e=>([...e].reverse().flatMap(n=>(n.parts||[]).filter(a=>a.type==="text").map(a=>a.text)).find(Boolean)||"").replace(/\s+/g," ").trim(),ze=e=>`agent-history-${e}`,un=e=>{const t=He(e.messages);return sn(e.messages)?{...e,preview:ft(t).slice(0,140),messages:Re(t)}:e},vn=It(()=>{const e=G(""),t=le("heraq-agent-selected-node",se.history),n=le("heraq-agent-draft-show-reasoning",!0),a=le("heraq-agent-active-history",null),i=le("heraq-agent-attachment-panel-open",!1),o=le("heraq-agent-chat-history",[]),l=o.value.map(un);l.some((r,w)=>r!==o.value[w])&&(o.value=l);const s=T(()=>o.value.filter(r=>!r.workspaceId||r.workspaceId===e.value)),u=T(()=>[...s.value].sort((r,w)=>new Date(w.updatedAt).getTime()-new Date(r.updatedAt).getTime())),p=T(()=>a.value&&u.value.find(r=>r.id===a.value)||null),v=T({get:()=>{var r;return((r=p.value)==null?void 0:r.showReasoning)??n.value},set:r=>{if(!a.value){n.value=r;return}o.value=o.value.map(w=>w.id===a.value?{...w,showReasoning:r}:w)}}),d=r=>{t.value=r;const w=u.value.find(I=>ze(I.id)===r);w&&(a.value=w.id)},m=()=>{a.value=null,t.value=se.history},g=({messages:r,provider:w,model:I,showReasoning:M})=>{const _=He(r),N=rn(_);if(!N)return;const H=new Date().toISOString(),C=a.value||`agent-${Date.now().toString(36)}`,R=o.value.find(F=>F.id===C),J={id:C,title:((R==null?void 0:R.title)||N).slice(0,60),preview:ft(_).slice(0,140),createdAt:(R==null?void 0:R.createdAt)||H,updatedAt:H,provider:w,model:I,showReasoning:M,messages:Re(_),workspaceId:e.value||void 0};o.value=[J,...o.value.filter(F=>F.id!==C)].slice(0,40),a.value=C},y=r=>{const w=o.value.find(I=>I.id===r);return w?(a.value=r,t.value=ze(r),Re(w.messages)):null},E=r=>{o.value=o.value.filter(w=>w.id!==r),a.value===r&&(a.value=null),t.value===ze(r)&&(t.value=se.history)},f=(r,w)=>{o.value=o.value.map(I=>I.id===r?{...I,title:w}:I)};return be(u,r=>{a.value&&!r.some(w=>w.id===a.value)&&(a.value=null),t.value.startsWith("agent-history-")&&!r.some(w=>ze(w.id)===t.value)&&(t.value=se.history)},{immediate:!0}),{showAttachmentPanel:i,selectedNodeId:t,currentWorkspaceId:e,histories:u,activeHistory:p,activeHistoryId:a,showReasoning:v,selectNode:d,startNewChat:m,saveConversation:g,loadConversation:y,deleteHistory:E,renameHistory:f,sectionNodeIds:se}});export{fn as _,dn as a,pn as b,sn as h,He as s,vn as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as ne,r as k,aC as ie,E as h,g as D,h as e,a as Y,l as b,m as re,e as V,p as M,x as _,b as n,q as ae,n as pe,o as B,as as Ie,R as we,W as ue,aG as be,a3 as ke,bh as Pe,ba as Oe,bi as Be,bf as W,M as fe,k as Ce,c as Le,t as De,aO as Me,bg as Ne,bj as de,bk as ce,v as Ee,F as ze,s as Fe,a6 as He}from"./FyrDS92w.js";import{_ as Ve,a as je,b as Ge}from"./D6YseYA6.js";import{t as P,i as qe,a as Ue,b as Qe,m as Ke,k as We,g as Te,h as Ae,c as Xe,d as ye,e as Ye,f as Je,j as Ze,n as et,l as tt,S as st,o as nt,p as at,_ as $e,q as ot,r as _e,s as it,C as lt,u as rt,v as dt,E as me,w as ct,x as ut,y as pt,z as ft,A as mt,B as gt}from"./DVe5MHjS.js";import{f as vt}from"./BKltSiU0.js";import{f as ht}from"./-lZvfnzr.js";import{_ as ve}from"./ClnidwGv.js";import{b as se,a as bt}from"./BVmBXPoG.js";import{u as yt}from"./DQiMjOqm.js";import"./Btu7FO8S.js";import"./CzF1NEwP.js";import"./Bdtn2mn5.js";var xe={value:"eq","<":"lt","<=":"lte",">":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},_t=function(){function t(s){var l=this._condVal=ye(s)?new RegExp(s):Ye(s)?s:null;if(l==null){var f="";P(f)}}return t.prototype.evaluate=function(s){var l=typeof s;return ye(l)?this._condVal.test(s):Je(l)?this._condVal.test(s+""):!1},t}(),xt=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),St=function(){function t(){}return t.prototype.evaluate=function(){for(var s=this.children,l=0;l<s.length;l++)if(!s[l].evaluate())return!1;return!0},t}(),It=function(){function t(){}return t.prototype.evaluate=function(){for(var s=this.children,l=0;l<s.length;l++)if(s[l].evaluate())return!0;return!1},t}(),Ct=function(){function t(){}return t.prototype.evaluate=function(){return!this.child.evaluate()},t}(),Lt=function(){function t(){}return t.prototype.evaluate=function(){for(var s=!!this.valueParser,l=this.getValue,f=l(this.valueGetterParam),r=s?this.valueParser(f):null,v=0;v<this.subCondList.length;v++)if(!this.subCondList[v].evaluate(s?r:f))return!1;return!0},t}();function he(t,s){if(t===!0||t===!1){var l=new xt;return l.value=t,l}var f="";return Re(t)||P(f),t.and?Se("and",t,s):t.or?Se("or",t,s):t.not?Tt(t,s):At(t,s)}function Se(t,s,l){var f=s[t],r="";Qe(f)||P(r),f.length||P(r);var v=t==="and"?new St:new It;return v.children=Ke(f,function(x){return he(x,l)}),v.children.length||P(r),v}function Tt(t,s){var l=t.not,f="";Re(l)||P(f);var r=new Ct;return r.child=he(l,s),r.child||P(f),r}function At(t,s){for(var l="",f=s.prepareGetValue(t),r=[],v=We(t),x=t.parser,C=x?Te(x):null,c=0;c<v.length;c++){var m=v[c];if(!(m==="parser"||s.valueGetterAttrMap.get(m))){var S=Ae(xe,m)?xe[m]:m,$=t[m],L=C?C($):$,I=Xe(S,L)||S==="reg"&&new _t(L);I||P(l),r.push(I)}}r.length||P(l);var u=new Lt;return u.valueGetterParam=f,u.valueParser=C,u.getValue=s.getValue,u.subCondList=r,u}function Re(t){return qe(t)&&!Ue(t)}var $t=function(){function t(s,l){this._cond=he(s,l)}return t.prototype.evaluate=function(){return this._cond.evaluate()},t}();function Rt(t,s){return new $t(t,s)}var wt={type:"echarts:filter",transform:function(t){for(var s=t.upstream,l,f=Rt(t.config,{valueGetterAttrMap:Ze({dimension:!0}),prepareGetValue:function(C){var c="",m=C.dimension;Ae(C,"dimension")||P(c);var S=s.getDimensionInfo(m);return S||P(c),{dimIdx:S.index}},getValue:function(C){return s.retrieveValueFromItem(l,C.dimIdx)}}),r=[],v=0,x=s.count();v<x;v++)l=s.getRawDataItem(v),f.evaluate()&&r.push(l);return{data:r}}},kt={type:"echarts:sort",transform:function(t){var s=t.upstream,l=t.config,f="",r=et(l);r.length||P(f);var v=[];tt(r,function(S){var $=S.dimension,L=S.order,I=S.parser,u=S.incomparable;if($==null&&P(f),L!=="asc"&&L!=="desc"&&P(f),u&&u!=="min"&&u!=="max"){var i="";P(i)}if(L!=="asc"&&L!=="desc"){var o="";P(o)}var T=s.getDimensionInfo($);T||P(f);var R=I?Te(I):null;I&&!R&&P(f),v.push({dimIdx:T.index,parser:R,comparator:new st(L,u)})});var x=s.sourceFormat;x!==nt&&x!==at&&P(f);for(var C=[],c=0,m=s.count();c<m;c++)C.push(s.getRawDataItem(c));return C.sort(function(S,$){for(var L=0;L<v.length;L++){var I=v[L],u=s.retrieveValueFromItem(S,I.dimIdx),i=s.retrieveValueFromItem($,I.dimIdx);I.parser&&(u=I.parser(u),i=I.parser(i));var o=I.comparator.evaluate(u,i);if(o!==0)return o}return 0}),{data:C}}};function Pt(t){t.registerTransform(wt),t.registerTransform(kt)}var Ot=function(t){$e(s,t);function s(){var l=t!==null&&t.apply(this,arguments)||this;return l.type="dataset",l}return s.prototype.init=function(l,f,r){t.prototype.init.call(this,l,f,r),this._sourceManager=new ot(this),_e(this)},s.prototype.mergeOption=function(l,f){t.prototype.mergeOption.call(this,l,f),_e(this)},s.prototype.optionUpdated=function(){this._sourceManager.dirty()},s.prototype.getSourceManager=function(){return this._sourceManager},s.type="dataset",s.defaultOption={seriesLayoutBy:it},s}(lt),Bt=function(t){$e(s,t);function s(){var l=t!==null&&t.apply(this,arguments)||this;return l.type="dataset",l}return s.type="dataset",s}(rt);function Dt(t){t.registerComponentModel(Ot),t.registerComponentView(Bt)}const X=t=>ht(t??0),q=t=>t==null?"0.00/s":`${t.toFixed(2)}/s`,ge=t=>t==null?"0%":`${t.toFixed(2)}%`,le=t=>{if(!t)return"-";const s=new Date(t);return Number.isNaN(s.getTime())?t:s.toLocaleString()},Mt=t=>{if(t==null)return"-";if(t<60)return`${t}s`;const s=Math.floor(t/60),l=t%60;if(s<60)return`${s}m ${l}s`;const f=Math.floor(s/60),r=s%60;return`${f}h ${r}m`},Nt=t=>t==null||t<=0?"0 B":vt(t).replace(" bytes"," B"),Et=t=>{if(!t)return"-";const s=t.replace(/\s+/g," ").trim();return s?s.length>320?`${s.slice(0,320)}...`:s:"-"},zt=t=>(t||"").toLowerCase().includes("idle in transaction"),Ft={class:"space-y-4"},Ht={class:"flex items-center justify-between"},Vt={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},jt={class:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-2.5"},Gt={class:"h-full border rounded-lg p-2.5 space-y-2"},qt={class:"flex items-center gap-1"},Ut={class:"text-sm font-semibold leading-none tabular-nums"},Qt={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},Kt={class:"text-muted-foreground"},Wt={class:"tabular-nums text-foreground"},Xt={class:"text-muted-foreground"},Yt={class:"tabular-nums text-foreground"},Jt={class:"text-muted-foreground"},Zt={class:"tabular-nums text-foreground"},es={class:"text-muted-foreground"},ts={class:"tabular-nums text-foreground"},ss={class:"h-full border rounded-lg p-2.5 space-y-2"},ns={class:"flex items-center gap-1"},as={class:"text-sm font-semibold leading-none tabular-nums"},os={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},is={class:"text-muted-foreground"},ls={class:"tabular-nums text-foreground"},rs={class:"text-muted-foreground"},ds={class:"tabular-nums text-foreground"},cs={class:"text-muted-foreground"},us={class:"tabular-nums text-foreground"},ps={class:"text-muted-foreground"},fs={class:"tabular-nums text-foreground"},ms={class:"h-full border rounded-lg p-2.5 space-y-2"},gs={class:"flex items-center gap-1"},vs={class:"text-sm font-semibold leading-none tabular-nums"},hs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},bs={class:"text-muted-foreground"},ys={class:"tabular-nums text-foreground"},_s={class:"text-muted-foreground"},xs={class:"tabular-nums text-foreground"},Ss={class:"text-muted-foreground"},Is={class:"tabular-nums text-foreground"},Cs={class:"text-muted-foreground"},Ls={class:"tabular-nums text-foreground"},Ts={class:"h-full border rounded-lg p-2.5 space-y-2"},As={class:"flex items-center gap-1"},$s={class:"text-sm font-semibold leading-none tabular-nums"},Rs={class:"grid grid-cols-2 gap-x-3 gap-y-1 text-[11px]"},ws={class:"text-muted-foreground"},ks={class:"tabular-nums text-foreground"},Ps={class:"text-muted-foreground"},Os={class:"tabular-nums text-foreground"},Bs={class:"text-muted-foreground"},Ds={class:"tabular-nums text-foreground"},Ms={class:"text-muted-foreground"},Ns={class:"tabular-nums text-foreground"},Es={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},zs={class:"border rounded-lg p-2.5"},Fs={class:"insights-chart-container"},Hs={class:"border rounded-lg p-2.5"},Vs={class:"insights-chart-container"},js={class:"border rounded-lg p-2.5"},Gs={class:"insights-chart-container"},qs=ne({__name:"InstanceInsightsActivitySection",props:{dashboard:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},setup(t){dt([ct,ut,pt,Dt,Pt,ft,mt,gt]);const s=t,l=k({}),f=k({}),r=k({}),v=(i,o)=>{o!=null&&o.selected&&(i.value={...o.selected})},x=i=>v(l,i),C=i=>v(f,i),c=i=>v(r,i),m=k([]);ie(()=>s.dashboard,i=>{if(!(i!=null&&i.capturedAt))return;const o=new Date(i.capturedAt).toLocaleTimeString(),T={capturedAt:i.capturedAt,label:o,sessionsTotal:i.sessions.total,sessionsActive:i.sessions.active,sessionsIdle:i.sessions.idle,tps:i.transactions.tps,commits:i.transactions.commitsPerSec,rollbacks:i.transactions.rollbacksPerSec,reads:i.blockIO.readsPerSec,hits:i.blockIO.hitsPerSec,hitRatio:i.blockIO.bufferHitRatio},R=m.value.findIndex(F=>F.capturedAt===T.capturedAt);if(R>=0){m.value[R]=T;return}m.value.push(T),m.value.length>80&&(m.value=m.value.slice(-80))},{immediate:!0,deep:!0});const S=h(()=>m.value.map((i,o)=>({...i,idx:o}))),$=i=>Object.keys(i).length?i:void 0,L=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(l.value)},dataset:[{id:"sessions_raw",source:S.value},{id:"sessions_filtered",fromDatasetId:"sessions_raw",transform:{type:"filter",config:{dimension:"idx",gte:0}}}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!1},yAxis:{type:"value"},series:[{name:"Total",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsTotal"}},{name:"Active",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsActive"}},{name:"Idle",type:"line",smooth:!0,datasetId:"sessions_filtered",encode:{x:"label",y:"sessionsIdle"}}]})),I=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(f.value)},dataset:[{id:"transactions_dataset",source:S.value}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!0},yAxis:[{type:"value",name:"TPS"},{type:"value",name:"Commit/Rollback"}],series:[{name:"TPS",type:"line",smooth:!0,yAxisIndex:0,datasetId:"transactions_dataset",encode:{x:"label",y:"tps"}},{name:"Commits/s",type:"bar",yAxisIndex:1,datasetId:"transactions_dataset",encode:{x:"label",y:"commits"}},{name:"Rollbacks/s",type:"bar",yAxisIndex:1,datasetId:"transactions_dataset",encode:{x:"label",y:"rollbacks"}}]})),u=h(()=>({tooltip:{trigger:"axis"},legend:{top:0,selected:$(r.value)},dataset:[{id:"block_io_dataset",source:S.value}],grid:{left:45,right:20,top:34,bottom:24},xAxis:{type:"category",boundaryGap:!0},yAxis:[{type:"value",name:"Blocks/s"},{type:"value",name:"Hit %",min:0,max:100}],series:[{name:"Reads/s",type:"bar",yAxisIndex:0,datasetId:"block_io_dataset",encode:{x:"label",y:"reads"}},{name:"Hits/s",type:"bar",yAxisIndex:0,datasetId:"block_io_dataset",encode:{x:"label",y:"hits"}},{name:"Buffer Hit Ratio",type:"line",smooth:!0,yAxisIndex:1,datasetId:"block_io_dataset",encode:{x:"label",y:"hitRatio"}}]}));return(i,o)=>{var F,d,a,g,w,O,z,U,Q,J,Z,N,A,j,K,ee,te,p,y,H,E;const T=ae,R=re;return B(),D("div",Ft,[e("div",Ht,[o[2]||(o[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Activity Dashboard"),e("p",{class:"text-xs text-muted-foreground"}," Sessions, TPS, tuples and block I/O ")],-1)),b(R,{variant:"outline",size:"xs",disabled:i.isLoading||i.isActionLoading,class:"font-normal",onClick:o[0]||(o[0]=oe=>i.onRefresh())},{default:V(()=>[b(T,{name:"hugeicons:redo",class:pe(["size-4",i.isLoading&&"animate-spin"])},null,8,["class"]),o[1]||(o[1]=M(" Refresh Activity "))]),_:1},8,["disabled"])]),(F=i.dashboard)!=null&&F.sessions.exceedsThreshold?(B(),D("div",Vt,[o[3]||(o[3]=M(" Total connections are at ")),e("strong",null,_(n(ge)(i.dashboard.sessions.usagePercent)),1),o[4]||(o[4]=M(" of ")),o[5]||(o[5]=e("strong",null,"max_connections",-1)),o[6]||(o[6]=M(". Investigate connection pool usage. "))])):Y("",!0),e("div",jt,[e("div",Gt,[e("div",qt,[o[7]||(o[7]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Sessions:",-1)),e("p",Ut,_(n(X)((d=i.dashboard)==null?void 0:d.sessions.total)),1)]),e("div",Qt,[e("p",Kt,[o[8]||(o[8]=e("span",null,"Active: ",-1)),e("span",Wt,_(n(X)((a=i.dashboard)==null?void 0:a.sessions.active)),1)]),e("p",Xt,[o[9]||(o[9]=e("span",null,"Idle: ",-1)),e("span",Yt,_(n(X)((g=i.dashboard)==null?void 0:g.sessions.idle)),1)]),e("p",Jt,[o[10]||(o[10]=e("span",null,"Max: ",-1)),e("span",Zt,_(n(X)((w=i.dashboard)==null?void 0:w.sessions.maxConnections)),1)]),e("p",es,[o[11]||(o[11]=e("span",null,"Usage: ",-1)),e("span",ts,_(n(ge)((O=i.dashboard)==null?void 0:O.sessions.usagePercent)),1)])])]),e("div",ss,[e("div",ns,[o[12]||(o[12]=e("p",{class:"text-xs uppercase text-muted-foreground"},"TPS:",-1)),e("p",as,_(n(q)((z=i.dashboard)==null?void 0:z.transactions.tps)),1)]),e("div",os,[e("p",is,[o[13]||(o[13]=e("span",null,"Commits/sec: ",-1)),e("span",ls,_(n(q)((U=i.dashboard)==null?void 0:U.transactions.commitsPerSec)),1)]),e("p",rs,[o[14]||(o[14]=e("span",null,"Rollbacks/sec: ",-1)),e("span",ds,_(n(q)((Q=i.dashboard)==null?void 0:Q.transactions.rollbacksPerSec)),1)]),e("p",cs,[o[15]||(o[15]=e("span",null,"Total Commits: ",-1)),e("span",us,_(n(X)((J=i.dashboard)==null?void 0:J.transactions.totalCommits)),1)]),e("p",ps,[o[16]||(o[16]=e("span",null,"Total Rollbacks: ",-1)),e("span",fs,_(n(X)((Z=i.dashboard)==null?void 0:Z.transactions.totalRollbacks)),1)])])]),e("div",ms,[e("div",gs,[o[17]||(o[17]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Tuples:",-1)),e("p",vs,_(n(q)((N=i.dashboard)==null?void 0:N.tuples.insertsPerSec)),1)]),e("div",hs,[e("p",bs,[o[18]||(o[18]=e("span",null,"Updates: ",-1)),e("span",ys,_(n(q)((A=i.dashboard)==null?void 0:A.tuples.updatesPerSec)),1)]),e("p",_s,[o[19]||(o[19]=e("span",null,"Deletes: ",-1)),e("span",xs,_(n(q)((j=i.dashboard)==null?void 0:j.tuples.deletesPerSec)),1)]),e("p",Ss,[o[20]||(o[20]=e("span",null,"Fetched: ",-1)),e("span",Is,_(n(q)((K=i.dashboard)==null?void 0:K.tuples.fetchedPerSec)),1)]),e("p",Cs,[o[21]||(o[21]=e("span",null,"Returned: ",-1)),e("span",Ls,_(n(q)((ee=i.dashboard)==null?void 0:ee.tuples.returnedPerSec)),1)])])]),e("div",Ts,[e("div",As,[o[22]||(o[22]=e("p",{class:"text-xs uppercase text-muted-foreground"},"Block I/O:",-1)),e("p",$s,_(n(ge)((te=i.dashboard)==null?void 0:te.blockIO.bufferHitRatio)),1)]),e("div",Rs,[e("p",ws,[o[23]||(o[23]=e("span",null,"Reads/sec: ",-1)),e("span",ks,_(n(q)((p=i.dashboard)==null?void 0:p.blockIO.readsPerSec)),1)]),e("p",Ps,[o[24]||(o[24]=e("span",null,"Hits/sec: ",-1)),e("span",Os,_(n(q)((y=i.dashboard)==null?void 0:y.blockIO.hitsPerSec)),1)]),e("p",Bs,[o[25]||(o[25]=e("span",null,"Total Reads: ",-1)),e("span",Ds,_(n(X)((H=i.dashboard)==null?void 0:H.blockIO.totalReads)),1)]),e("p",Ms,[o[26]||(o[26]=e("span",null,"Total Hits: ",-1)),e("span",Ns,_(n(X)((E=i.dashboard)==null?void 0:E.blockIO.totalHits)),1)])])])]),e("div",Es,[e("div",zs,[o[27]||(o[27]=e("p",{class:"text-sm font-medium mb-1.5"},"Sessions Timeline",-1)),e("div",Fs,[b(n(me),{option:n(L),autoresize:"",class:"insights-chart",onLegendselectchanged:x},null,8,["option"])])]),e("div",Hs,[o[28]||(o[28]=e("p",{class:"text-sm font-medium mb-1.5"},"Transactions Timeline",-1)),e("div",Vs,[b(n(me),{option:n(I),autoresize:"",class:"insights-chart",onLegendselectchanged:C},null,8,["option"])])])]),e("div",js,[o[29]||(o[29]=e("p",{class:"text-sm font-medium mb-1.5"},"Block I/O Timeline",-1)),e("div",Gs,[b(n(me),{option:n(u),autoresize:"",class:"insights-chart",onLegendselectchanged:c},null,8,["option"])])])])}}}),Us=Ie(qs,[["__scopeId","data-v-ba36a884"]]),Qs={class:"space-y-4 h-full flex flex-col overflow-auto"},Ks={class:"flex items-center justify-between gap-2 flex-wrap"},Ws={class:"h-full"},Xs={class:"flex flex-col sm:flex-row sm:items-center gap-2 mb-2"},Ys={class:"relative flex-1"},Js=ne({__name:"InstanceInsightsConfigurationSection",props:{configuration:{},search:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function}},emits:["update:search"],setup(t,{emit:s}){const l=t,f=s,r=h({get:()=>l.search,set:c=>f("update:search",c)}),v=h(()=>{var c;return((c=l.configuration)==null?void 0:c.rows)||[]}),x=h(()=>v.value.map(c=>({name:c.name,category:c.category,value:c.value,unit:c.unit||"-",requires_restart:c.pendingRestart?"yes":"no",description:c.description}))),C=h(()=>se(x.value));return(c,m)=>{const S=ae,$=re,L=we,I=ve;return B(),D("div",Qs,[e("div",Ks,[m[3]||(m[3]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Configuration"),e("p",{class:"text-xs text-muted-foreground"},"Searchable pg_settings")],-1)),b($,{variant:"outline",size:"xs",disabled:c.isLoading||c.isActionLoading,class:"font-normal",onClick:m[0]||(m[0]=u=>c.onRefresh())},{default:V(()=>[b(S,{name:"hugeicons:redo",class:pe(["size-4",c.isLoading&&"animate-spin"])},null,8,["class"]),m[2]||(m[2]=M(" Refresh Configuration "))]),_:1},8,["disabled"])]),e("div",Ws,[e("div",Xs,[e("div",Ys,[b(S,{name:"hugeicons:search-01",class:"size-4 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),b(L,{type:"text",placeholder:"Search setting name, category, or description...",class:"h-8 w-full pl-8 pr-3",modelValue:n(r),"onUpdate:modelValue":m[1]||(m[1]=u=>ue(r)?r.value=u:null)},null,8,["modelValue"])])]),b(I,{columns:n(C),data:n(x),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])}}}),Zs={class:"space-y-4"},en={class:"flex items-center justify-between"},tn={key:0,class:"border border-orange-300 bg-orange-50 text-orange-700 rounded-lg p-3 text-sm"},sn={class:"space-y-1.5"},nn={class:"space-y-1.5"},an={key:1,class:"border rounded-lg p-2.5"},on={class:"flex items-center justify-between gap-3 flex-wrap"},ln={class:"text-sm font-medium"},rn={class:"flex items-center gap-2"},dn=300,cn=120,un=44,pn=36,fn=ne({__name:"InstanceInsightsReplicationSection",props:{replication:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onToggleSlotStatus:{type:Function},onDropSlot:{type:Function}},setup(t){const s=t,l=h(()=>{var d;return((d=s.replication)==null?void 0:d.replicationStats)||[]}),f=h(()=>{var d;return((d=s.replication)==null?void 0:d.replicationSlots)||[]}),r=k([]),v=d=>{r.value=d},x=h(()=>l.value.map(d=>({pid:d.pid,client_addr:d.clientAddr||"-",application:d.applicationName||"-",state:d.state||"-",sync_state:d.syncState||"-",reply_time:le(d.replyTime),write_lag:d.writeLag||"-",flush_lag:d.flushLag||"-",replay_lag:d.replayLag||"-"}))),C=["pid","client_addr","application","state","sync_state","reply_time","write_lag","flush_lag","replay_lag"],c=h(()=>x.value.length>0?se(x.value):bt(C)),m=h(()=>f.value.map(d=>({slot_name:d.slotName,slot_type:d.slotType,status:d.active?"on":"off",active_pid:d.activePid??"-",restart_lsn:d.restartLsn||"-",retained_wal:Nt(d.retainedBytes),temporary:d.temporary?"yes":"no"}))),S=h(()=>se(m.value)),$=d=>d<=0?cn:Math.min(dn,un+d*pn),L=h(()=>`${$(x.value.length)}px`),I=h(()=>`${$(m.value.length)}px`),u=h(()=>{var a;const d=String(((a=r.value[0])==null?void 0:a.slot_name)||"");return d&&f.value.find(g=>g.slotName===d)||null}),i=h(()=>{var d;return(d=u.value)!=null&&d.active?"off":"on"}),o=h(()=>i.value==="off"?"Turn Off Slot":"Turn On Slot"),T=d=>window.confirm(d),R=async()=>{u.value&&T(`Drop replication slot "${u.value.slotName}"? This action cannot be undone.`)&&await s.onDropSlot(u.value.slotName)},F=async()=>{u.value&&T(`Switch replication slot "${u.value.slotName}" to ${i.value.toUpperCase()} status?`)&&await s.onToggleSlotStatus({slotName:u.value.slotName,desiredStatus:i.value,activePid:u.value.activePid,slotType:u.value.slotType})};return(d,a)=>{var z;const g=ae,w=re,O=ve;return B(),D("div",Zs,[e("div",en,[a[2]||(a[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"Replication"),e("p",{class:"text-xs text-muted-foreground"},"Replication stats and slots")],-1)),b(w,{variant:"outline",size:"xs",disabled:d.isLoading||d.isActionLoading,class:"font-normal",onClick:a[0]||(a[0]=U=>d.onRefresh())},{default:V(()=>[b(g,{name:"hugeicons:redo",class:pe(["size-4",d.isLoading&&"animate-spin"])},null,8,["class"]),a[1]||(a[1]=M(" Refresh Replication "))]),_:1},8,["disabled"])]),(z=d.replication)!=null&&z.staleSlotWarning?(B(),D("div",tn,_(d.replication.staleSlotWarning),1)):Y("",!0),e("div",sn,[a[3]||(a[3]=e("p",{class:"text-sm"},"Replication Stats",-1)),e("div",{class:"max-h-[300px]",style:be({height:n(L)})},[b(O,{columns:n(c),data:n(x),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])],4)]),e("div",nn,[a[4]||(a[4]=e("h4",{class:"text-sm font-normal"},"Replication Slots",-1)),e("div",{class:"max-h-[300px]",style:be({height:n(I)})},[b(O,{columns:n(S),data:n(m),selectedRows:n(r),class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:v},null,8,["columns","data","selectedRows"])],4)]),n(u)?(B(),D("div",an,[e("div",on,[e("p",ln," Selected Slot: "+_(n(u).slotName)+" ("+_(n(u).active?"on":"off")+") · Active PID: "+_(n(u).activePid??"-"),1),e("div",rn,[b(w,{variant:"outline",size:"sm",disabled:d.isActionLoading,onClick:F},{default:V(()=>[M(_(n(o)),1)]),_:1},8,["disabled"]),b(w,{variant:"outline",size:"sm",disabled:d.isActionLoading,onClick:R},{default:V(()=>a[5]||(a[5]=[M(" Drop Slot ")])),_:1},8,["disabled"])])])])):Y("",!0)])}}}),mn={class:"space-y-4"},gn={class:"flex items-center justify-between"},vn={class:"space-y-1.5"},hn={class:"h-[360px]"},bn={key:0,class:"border rounded-lg p-2.5 space-y-2"},yn={class:"flex items-center justify-between gap-3 flex-wrap"},_n={class:"text-sm font-medium"},xn={class:"flex gap-2"},Sn=["innerHTML"],In={class:"grid grid-cols-1 xl:grid-cols-2 gap-3"},Cn={class:"space-y-1.5"},Ln={class:"h-[300px]"},Tn={class:"space-y-1.5"},An={class:"h-[300px]"},$n=ne({__name:"InstanceInsightsStateSection",props:{state:{},isLoading:{type:Boolean},isActionLoading:{type:Boolean},onRefresh:{type:Function},onCancelQuery:{type:Function},onTerminateConnection:{type:Function}},setup(t){const s=t,{highlightSql:l}=yt(),f=h(()=>{var a;return((a=s.state)==null?void 0:a.sessions)||[]}),r=h(()=>{var a;return((a=s.state)==null?void 0:a.locks)||[]}),v=h(()=>{var a;return((a=s.state)==null?void 0:a.preparedTransactions)||[]}),x=k([]),C=a=>{x.value=a},c=h(()=>f.value.map(a=>({pid:a.pid,user:a.user,application:a.application||"-",client:a.client||"-",state:a.state||"-",wait_event:a.waitEvent||"-",blocking_pids:a.blockingPids.length?a.blockingPids.join(", "):"-",backend_start:le(a.backendStart),transaction_start:le(a.transactionStart),query_duration:Mt(a.durationSeconds),sql:Et(a.sql)}))),m=h(()=>se(c.value)),S=h(()=>r.value.map(a=>({lock_type:a.lockType,target_relation:a.targetRelation||"-",mode:a.mode,granted:a.granted?"yes":"no",pid:a.pid??"-",user:a.user||"-",state:a.state||"-"}))),$=h(()=>se(S.value)),L=h(()=>v.value.map(a=>({gid:a.gid,transaction:a.transaction,prepared:le(a.prepared),owner:a.owner,database:a.database}))),I=h(()=>se(L.value)),u=h(()=>{var g;const a=Number(((g=x.value[0])==null?void 0:g.pid)||0);return a&&f.value.find(w=>w.pid===a)||null}),i=a=>{if(!a||!a.trim())return"<pre><code>-</code></pre>";const g=a.replace(/\s+/g," ").trim(),w=g.length>900?`${g.slice(0,900)} ...`:g;return l(w)},o=h(()=>{var a;return i(((a=u.value)==null?void 0:a.sql)||null)}),T=(a,g)=>{const w=String(g.state||"");return zt(w)?"insights-danger-cell":void 0},R=a=>window.confirm(a),F=async()=>{u.value&&R(`Cancel query for PID ${u.value.pid}?`)&&await s.onCancelQuery(u.value.pid)},d=async()=>{u.value&&R(`Terminate connection for PID ${u.value.pid}?`)&&await s.onTerminateConnection(u.value.pid)};return(a,g)=>{const w=ae,O=re,z=ve;return B(),D("div",mn,[e("div",gn,[g[2]||(g[2]=e("div",null,[e("h3",{class:"text-sm font-medium"},"State"),e("p",{class:"text-xs text-muted-foreground"}," Active sessions, locks, prepared transactions ")],-1)),b(O,{variant:"outline",size:"xs",disabled:a.isLoading||a.isActionLoading,class:"font-normal",onClick:g[0]||(g[0]=U=>a.onRefresh())},{default:V(()=>[b(w,{name:"hugeicons:redo",class:pe(["size-4",a.isLoading&&"animate-spin"])},null,8,["class"]),g[1]||(g[1]=M(" Refresh State "))]),_:1},8,["disabled"])]),e("div",vn,[g[3]||(g[3]=e("h4",{class:"text-sm font-normal"},"Active Sessions",-1)),e("div",hn,[b(z,{columns:n(m),data:n(c),selectedRows:n(x),getCellClass:T,class:"h-full border rounded-md",columnKeyBy:"field",onOnSelectedRows:C},null,8,["columns","data","selectedRows"])])]),n(u)?(B(),D("div",bn,[e("div",yn,[e("p",_n," Selected PID: "+_(n(u).pid)+" ("+_(n(u).state||"-")+") ",1),e("div",xn,[b(O,{variant:"outline",size:"sm",disabled:a.isActionLoading,onClick:F},{default:V(()=>g[4]||(g[4]=[M(" Cancel Query ")])),_:1},8,["disabled"]),b(O,{variant:"outline",size:"sm",disabled:a.isActionLoading,onClick:d},{default:V(()=>g[5]||(g[5]=[M(" Terminate Connection ")])),_:1},8,["disabled"])])]),e("div",null,[g[6]||(g[6]=e("p",{class:"text-xs text-muted-foreground mb-1"},"SQL Preview",-1)),e("div",{class:"sql-preview border rounded-md overflow-hidden",innerHTML:n(o)},null,8,Sn)])])):Y("",!0),e("div",In,[e("div",Cn,[g[7]||(g[7]=e("h4",{class:"text-sm font-normal"},"Locks",-1)),e("div",Ln,[b(z,{columns:n($),data:n(S),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])]),e("div",Tn,[g[8]||(g[8]=e("h4",{class:"text-sm font-normal"},"Prepared Transactions",-1)),e("div",An,[b(z,{columns:n(I),data:n(L),class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])])])])}}}),Rn=Ie($n,[["__scopeId","data-v-2eab93d6"]]),wn=5e3;function kn(t){const s=k("activity"),l=k(!0),f=k(wn),r=k(null),v=k(!1),x=k(!1),C=k(!1),c=k(!1),m=k(!1),S=k(!1),$=k(null),L=k(null),I=k(null),u=k(null),i=k(""),o=ke(i,350),T=h(()=>!!t.value),R=k(!0);Pe(()=>{R.value=!1}),Oe(()=>{R.value=!0});const F=()=>{r.value=null,$.value=null,L.value=null,I.value=null,u.value=null},d=async(p,y)=>{var H;try{return r.value=null,await p()}catch(E){const oe=((H=E==null?void 0:E.data)==null?void 0:H.message)||(E==null?void 0:E.message)||(E==null?void 0:E.statusMessage)||y;return r.value=oe,null}},a=async(p={})=>{if(!T.value)return null;p.silent||(C.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/dashboard",{method:"POST",body:{...W(t.value)}}),"Failed to fetch activity dashboard");return y&&($.value=y),p.silent||(C.value=!1),y},g=async(p={})=>{if(!T.value)return null;p.silent||(c.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/state",{method:"POST",body:{...W(t.value)}}),"Failed to fetch active sessions and locks");return y&&(L.value=y),p.silent||(c.value=!1),y},w=async(p={})=>{if(!T.value)return null;p.silent||(m.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/configuration",{method:"POST",body:{...W(t.value),search:o.value||void 0}}),"Failed to fetch PostgreSQL settings");return y&&(I.value=y),p.silent||(m.value=!1),y},O=async(p={})=>{if(!T.value)return null;p.silent||(S.value=!0);const y=await d(async()=>await $fetch("/api/instance-insights/replication",{method:"POST",body:{...W(t.value)}}),"Failed to fetch replication status");return y&&(u.value=y),p.silent||(S.value=!1),y},z=async(p=s.value,y={})=>{switch(p){case"activity":await a(y);break;case"state":await Promise.all([a({silent:!0}),g(y)]);break;case"configuration":await Promise.all([a({silent:!0}),w(y)]);break;case"replication":await Promise.all([a({silent:!0}),O(y)]);break;default:await a(y);break}},U=async(p={})=>{await Promise.all([a(p),g(p),w(p),O(p)])},Q=async(p,y)=>{if(!T.value)return!1;x.value=!0;const H=await d(p,"Action failed");return x.value=!1,H?(H.success?fe(y,{description:H.message}):fe(H.message,{description:"The server did not complete this action."}),H.success):(fe(r.value||"Action failed",{description:"Check database permissions and try again."}),!1)},J=async p=>{await Q(async()=>await $fetch("/api/instance-insights/cancel-query",{method:"POST",body:{...W(t.value),pid:p}}),`Cancelled query for PID ${p}`)&&await g({silent:!0})},Z=async p=>{await Q(async()=>await $fetch("/api/instance-insights/terminate-connection",{method:"POST",body:{...W(t.value),pid:p}}),`Terminated connection for PID ${p}`)&&(await g({silent:!0}),await a({silent:!0}))},N=async p=>{await Q(async()=>await $fetch("/api/instance-insights/drop-slot",{method:"POST",body:{...W(t.value),slotName:p}}),`Dropped replication slot "${p}"`)&&await O({silent:!0})},A=async p=>{await Q(async()=>await $fetch("/api/instance-insights/toggle-slot-status",{method:"POST",body:{...W(t.value),slotName:p.slotName,desiredStatus:p.desiredStatus,activePid:p.activePid??null,slotType:p.slotType??null}}),`Turned ${p.desiredStatus} slot "${p.slotName}"`)&&await O({silent:!0})},j=async()=>{if(!T.value){F();return}v.value=!0,await U(),v.value=!1};ie(()=>t.value,async p=>{if(!p){F();return}await j()},{immediate:!0}),ie(()=>o.value,async()=>{s.value!=="configuration"||!T.value||await w({silent:!0})}),ie(()=>s.value,async p=>{T.value&&(p==="state"&&!L.value&&await g(),p==="configuration"&&!I.value&&await w(),p==="replication"&&!u.value&&await O())});const{pause:K,resume:ee,isActive:te}=Be(async()=>{!T.value||!R.value||await z(s.value,{silent:!0})},f,{immediate:!1});return ie(()=>l.value,p=>{p?ee():K()},{immediate:!0}),{activeSection:s,autoRefresh:l,isAutoRefreshRunning:te,error:r,isInitialLoading:v,isActionLoading:x,isDashboardLoading:C,isStateLoading:c,isConfigurationLoading:m,isReplicationLoading:S,dashboard:$,state:L,configuration:I,replication:u,configurationSearch:i,refreshSection:z,refreshAll:U,fetchDashboard:a,fetchState:g,fetchConfiguration:w,fetchReplication:O,cancelQuery:J,terminateConnection:Z,dropReplicationSlot:N,toggleReplicationSlotStatus:A}}const Pn={class:"flex flex-col h-full p-3 gap-3 overflow-hidden"},On={class:"flex flex-col lg:flex-row lg:items-start lg:justify-between border rounded-lg p-3 gap-3 bg-background"},Bn={class:"space-y-1"},Dn={class:"flex items-center gap-2"},Mn={class:"text-sm text-muted-foreground flex items-center gap-0.5"},Nn={class:"flex items-center gap-0.5"},En={class:"font-medium text-foreground"},zn={key:0,class:"flex items-center gap-1.5 mt-0.5"},Fn={class:"flex items-center gap-2 flex-wrap"},Hn={class:"text-xs flex items-center gap-2"},Vn={class:"flex items-center justify-between gap-2"},jn={class:"text-xs text-muted-foreground"},Gn={key:0,class:"border border-red-300 bg-red-50 text-red-700 rounded-lg p-3 text-sm"},qn={key:1,class:"border rounded-lg p-6 flex items-center justify-center gap-2 text-muted-foreground"},Un={key:2,class:"flex-1 overflow-y-auto border rounded-lg p-3 bg-background"},Qn=ne({__name:"InstanceInsightsPanel",props:{dbConnectionString:{},databaseName:{},dbType:{}},setup(t){const s=[{id:"activity",tabLabel:"Activity",subtitle:"Sessions, TPS, tuples and block I/O",icon:"hugeicons:artificial-intelligence-08"},{id:"state",tabLabel:"State",subtitle:"Active sessions, locks, prepared transactions",icon:"hugeicons:shield-01"},{id:"configuration",tabLabel:"Config",subtitle:"Searchable pg_settings",icon:"hugeicons:settings-01"},{id:"replication",tabLabel:"Replication",subtitle:"Replication stats and slots",icon:"hugeicons:database"}],{connectionStore:l}=Ce(),f=h(()=>l.selectedConnection),{activeSection:r,autoRefresh:v,error:x,isInitialLoading:C,isActionLoading:c,isDashboardLoading:m,isStateLoading:S,isConfigurationLoading:$,isReplicationLoading:L,dashboard:I,state:u,configuration:i,replication:o,configurationSearch:T,refreshSection:R,refreshAll:F,cancelQuery:d,terminateConnection:a,dropReplicationSlot:g,toggleReplicationSlotStatus:w}=kn(f);h(()=>s.find(N=>N.id===r.value));const O=h(()=>{var N,A,j,K;return r.value==="activity"?(N=I.value)==null?void 0:N.capturedAt:r.value==="state"?(A=u.value)==null?void 0:A.capturedAt:r.value==="configuration"?(j=i.value)==null?void 0:j.capturedAt:(K=o.value)==null?void 0:K.capturedAt}),z=()=>R("activity"),U=()=>R("state"),Q=()=>R("configuration"),J=()=>R("replication"),Z=N=>w(N);return(N,A)=>{var E,oe;const j=ae,K=Me,ee=Ne,te=re,p=Ge,y=je,H=Ve;return B(),D("div",Pn,[e("div",On,[e("div",Bn,[e("div",Dn,[b(j,{name:"hugeicons:database",class:"size-5 text-primary"}),A[4]||(A[4]=e("h2",{class:"text-lg font-medium"},"Instance Insights",-1))]),e("div",Mn,[A[5]||(A[5]=M(" connection: ")),e("div",Nn,[N.dbType?(B(),Le(De((E=n(Ee)(N.dbType))==null?void 0:E.icon),{key:0,class:"size-4!"})):Y("",!0),e("span",En,_(N.databaseName),1)])]),(oe=n(I))!=null&&oe.version?(B(),D("div",zn,[b(K,{variant:"outline",class:"text-[10px] h-5 px-1.5 font-normal"},{default:V(()=>[M(" PostgreSQL "+_(n(I).version),1)]),_:1})])):Y("",!0)]),e("div",Fn,[e("div",Hn,[b(ee,{id:"insights-auto-refresh","model-value":n(v),"onUpdate:modelValue":A[0]||(A[0]=G=>ue(v)?v.value=G:null),class:"cursor-pointer"},null,8,["model-value"]),A[6]||(A[6]=e("label",{for:"insights-auto-refresh",class:"cursor-pointer"}," Auto refresh ",-1))]),b(te,{variant:"outline",size:"sm",disabled:n(C)||n(c),onClick:A[1]||(A[1]=G=>n(F)()),class:"font-normal"},{default:V(()=>[b(j,{name:"hugeicons:redo",class:"size-4"}),A[7]||(A[7]=M(" Refresh All "))]),_:1},8,["disabled"])])]),e("div",Vn,[b(H,{modelValue:n(r),"onUpdate:modelValue":A[2]||(A[2]=G=>ue(r)?r.value=G:null),class:"gap-0 flex-1 min-w-0"},{default:V(()=>[b(y,{class:"h-8 max-w-full overflow-x-auto justify-start!"},{default:V(()=>[(B(),D(ze,null,Fe(s,G=>b(p,{key:G.id,value:G.id,class:"text-xs px-1.5 rounded-sm cursor-pointer min-w-fit shrink-0",onClick:Xn=>n(R)(G.id,{silent:!0})},{default:V(()=>[b(j,{name:G.icon,class:"size-3.5!"},null,8,["name"]),M(" "+_(G.tabLabel),1)]),_:2},1032,["value","onClick"])),64))]),_:1})]),_:1},8,["modelValue"]),e("div",jn," Last updated: "+_(n(le)(n(O))),1)]),n(x)?(B(),D("div",Gn,_(n(x)),1)):Y("",!0),n(C)&&!n(I)?(B(),D("div",qn,[b(j,{name:"hugeicons:redo",class:"size-4 animate-spin"}),A[8]||(A[8]=M(" Loading instance insights... "))])):(B(),D("div",Un,[de(b(Us,{dashboard:n(I),isLoading:n(m),isActionLoading:n(c),onRefresh:z},null,8,["dashboard","isLoading","isActionLoading"]),[[ce,n(r)==="activity"]]),de(b(Rn,{state:n(u),isLoading:n(S),isActionLoading:n(c),onRefresh:U,onCancelQuery:n(d),onTerminateConnection:n(a)},null,8,["state","isLoading","isActionLoading","onCancelQuery","onTerminateConnection"]),[[ce,n(r)==="state"]]),de(b(Js,{search:n(T),"onUpdate:search":A[3]||(A[3]=G=>ue(T)?T.value=G:null),configuration:n(i),isLoading:n($),isActionLoading:n(c),onRefresh:Q},null,8,["search","configuration","isLoading","isActionLoading"]),[[ce,n(r)==="configuration"]]),de(b(fn,{replication:n(o),isLoading:n(L),isActionLoading:n(c),onRefresh:J,onDropSlot:n(g),onToggleSlotStatus:Z},null,8,["replication","isLoading","isActionLoading","onDropSlot"]),[[ce,n(r)==="replication"]])]))])}}}),Kn={class:"h-full"},Wn={key:0,class:"h-full p-4 flex flex-col items-center justify-center text-muted-foreground"},ra=ne({__name:"index",setup(t){const s=He(),{connectionStore:l}=Ce(),f=h(()=>String(s.params.connectionId||"")),r=h(()=>f.value?l.connections.find(c=>c.id===f.value):null),v=h(()=>{var c;return((c=r.value)==null?void 0:c.connectionString)||""}),x=h(()=>{var c;return(c=r.value)==null?void 0:c.type}),C=h(()=>{var c,m;return((c=r.value)==null?void 0:c.database)||((m=r.value)==null?void 0:m.name)||"database"});return(c,m)=>{const S=ae;return B(),D("div",Kn,[n(v)?(B(),Le(Qn,{key:1,"db-connection-string":n(v),"database-name":n(C),"db-type":n(x)},null,8,["db-connection-string","database-name","db-type"])):(B(),D("div",Wn,[b(S,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),m[0]||(m[0]=e("p",{class:"text-sm"},"Select a connection to open Instance Insights",-1))]))])}}});export{ra as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as d}from"./8_EuFD3X.js";import{_ as f}from"./D7EPcL9i.js";import{d as p,g as u,l as t,h as n,e as a,p as s,q as g,b as i,o as _}from"./FyrDS92w.js";import{_ as r}from"./qIKg23Pc.js";const x={class:"p-2 flex flex-col items-center justify-center h-full gap-2"},c={class:"text-muted-foreground mt-4"},b={class:"flex items-center pt-3 text-muted-foreground gap-0.5 text-sm"},v={class:"flex items-center pt-1 text-muted-foreground gap-0.5 text-sm"},B={class:"flex items-center pt-1 text-muted-foreground gap-0.5 text-sm"},C={class:"flex items-center pt-1 text-muted-foreground gap-0.5 text-sm"},z=p({__name:"index",setup(k){return(N,e)=>{const l=f,m=d,o=g;return _(),u("div",x,[t(m,{class:"rounded-2xl size-40"},{default:a(()=>[t(l,{src:"/logo.png",alt:"@unovue"})]),_:1}),n("div",c,[e[0]||(e[0]=s(" Click on a database table from the sidebar to begin ")),t(o,{name:"hugeicons:artificial-intelligence-08",class:"size-4 min-w-4"})]),n("div",b,[t(o,{name:"hugeicons:settings-01"}),e[2]||(e[2]=s(" Open setting ")),t(i(r),{class:"pl-2"},{default:a(()=>e[1]||(e[1]=[s("(⌘,)")])),_:1})]),n("div",v,[t(o,{name:"hugeicons:command"}),e[4]||(e[4]=s(" Command Palette ")),t(i(r),{class:"pl-2"},{default:a(()=>e[3]||(e[3]=[s("(⌘K or ⌘P)")])),_:1})]),n("div",B,[t(o,{name:"hugeicons:sidebar-left"}),e[6]||(e[6]=s(" Toggle left sidebar ")),t(i(r),{class:"pl-2"},{default:a(()=>e[5]||(e[5]=[s("(⌘B)")])),_:1})]),n("div",C,[t(o,{name:"hugeicons:sidebar-right"}),e[8]||(e[8]=s(" Toggle right sidebar ")),t(i(r),{class:"pl-2"},{default:a(()=>e[7]||(e[7]=[s("(⇧⌘B)")])),_:1})])])}}});export{z as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as h,k as v,al as b,E as n,bf as w,g as C,o as E,l as i,b as o,aR as S}from"./FyrDS92w.js";import{b as g,a as x}from"./BVmBXPoG.js";import{u as y}from"./y68LmDX2.js";import{_ as I}from"./ClnidwGv.js";import"./CzF1NEwP.js";import"./Bdtn2mn5.js";const O={class:"h-full relative p-1"},L=h({__name:"TableOverview",props:{connectionId:{}},setup(l){const m=["name","schema","kind","owner","estimated_row","total_size","data_size","index_size","comment"],t=l,{connectionStore:s,wsStateStore:d}=v(),{schemaId:a}=b(d),u=n(()=>t.connectionId?s.connections.find(e=>e.id===t.connectionId):s.selectedConnection),c=n(()=>({...w(u.value),schema:a.value})),{data:r,status:p}=y("/api/tables/overview",{method:"POST",body:c,watch:[a,c]},"$x2_S2ch44V"),_=n(()=>{const e=r.value||[];return e.length>0?g(e):x(m)});return(e,k)=>{const f=S;return E(),C("div",O,[i(f,{visible:o(p)==="pending"},null,8,["visible"]),i(o(I),{columns:o(_),data:o(r)||[],class:"h-full border rounded-md",columnKeyBy:"field"},null,8,["columns","data"])])}}});export{L as default};
|