orcaq 1.0.28 → 1.0.30
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/{S6q6IfIg.js → 6I72R6kW.js} +1 -1
- package/.output/public/_nuxt/{W0T58tNs.js → 8_EuFD3X.js} +1 -1
- package/.output/public/_nuxt/B6H7odCi.js +1 -0
- package/.output/public/_nuxt/B7nSJBpY.js +1 -0
- package/.output/public/_nuxt/{B-o1cyu1.js → BBNxNerU.js} +1 -1
- package/.output/public/_nuxt/BDKd-SA5.js +1 -0
- package/.output/public/_nuxt/{DAsY4LnG.js → BDRdbLz0.js} +1 -1
- package/.output/public/_nuxt/{T2yrk5P8.js → BKWWO5HE.js} +1 -1
- package/.output/public/_nuxt/{DhSSuHOz.js → BV6TSzbC.js} +4 -1
- package/.output/public/_nuxt/{BranJUWp.js → BVKG-F8j.js} +1 -1
- package/.output/public/_nuxt/{BHFnD9yO.js → BoGW82nK.js} +1 -1
- package/.output/public/_nuxt/Bs_ItSbk.js +1 -0
- package/.output/public/_nuxt/{BZEKLHO-.js → Btu7FO8S.js} +1 -1
- package/.output/public/_nuxt/C04Tz2vC.js +67 -0
- package/.output/public/_nuxt/{DNmOzKte.js → C4JPKbJK.js} +1 -1
- package/.output/public/_nuxt/{B7iORLht.js → C5KSeJUi.js} +5 -5
- package/.output/public/_nuxt/CDnZBTSk.js +1 -0
- package/.output/public/_nuxt/CKq06U7u.js +19 -0
- package/.output/public/_nuxt/{vU5dtBjy.js → CQpD-JHn.js} +1 -1
- package/.output/public/_nuxt/{DdMwxl0I.js → C_CjS9Yt.js} +1 -1
- package/.output/public/_nuxt/{BRpeq4XL.js → Chcc8yNZ.js} +1 -1
- package/.output/public/_nuxt/{Dwm3kp4S.js → ClnidwGv.js} +86 -86
- package/.output/public/_nuxt/{BV4_2PzU.js → CpzDNDcD.js} +1 -1
- package/.output/public/_nuxt/Cs1HkKH7.js +1 -0
- package/.output/public/_nuxt/{DgPgl0Vt.js → CsYOf3m-.js} +1 -1
- package/.output/public/_nuxt/{Ds4ET3BG.js → CtRc_P0d.js} +27 -27
- package/.output/public/_nuxt/Ctr2mpV9.js +2 -0
- package/.output/public/_nuxt/{SzZsnvJ-.js → CzF1NEwP.js} +1 -1
- package/.output/public/_nuxt/{D4jtSPyP.js → D2j2esR5.js} +2 -2
- package/.output/public/_nuxt/D4ZGn1tW.js +1 -0
- package/.output/public/_nuxt/{B3XOCDJg.js → D6YseYA6.js} +1 -1
- package/.output/public/_nuxt/{CbjqLbgu.js → D7EPcL9i.js} +1 -1
- package/.output/public/_nuxt/{DfL_wWxk.js → DCMJS6Fh.js} +1 -1
- package/.output/public/_nuxt/{rdXrKZa8.js → DFd73eNR.js} +1 -1
- package/.output/public/_nuxt/{BUuSKT2f.js → DQiMjOqm.js} +15 -15
- package/.output/public/_nuxt/{BQAF7cM_.js → DVe5MHjS.js} +1 -1
- package/.output/public/_nuxt/{BsnN2mQb.js → D_G1mAJ8.js} +2 -2
- package/.output/public/_nuxt/{DM73sEXg.js → De1hkrJC.js} +1 -1
- package/.output/public/_nuxt/DlfHMoPT.js +1 -0
- package/.output/public/_nuxt/{BIW9Rd2L.js → DnCs9xpG.js} +1 -1
- package/.output/public/_nuxt/DvJ2MjiW.js +2 -0
- package/.output/public/_nuxt/DynamicTable.B3c2woGb.css +1 -0
- package/.output/public/_nuxt/{CAcIcjka.js → DzJD_fir.js} +3 -3
- package/.output/public/_nuxt/{UrLgZoyE.js → Dzr_z_mY.js} +1 -1
- package/.output/public/_nuxt/{DftZZFKd.js → FyrDS92w.js} +104 -104
- package/.output/public/_nuxt/{BlWNlw-C.js → HQyqkOpZ.js} +1 -1
- package/.output/public/_nuxt/{BwddCgOY.js → KlH93fIm.js} +1 -1
- package/.output/public/_nuxt/{iDT-eQ46.js → MLO1tLKS.js} +1 -1
- package/.output/public/_nuxt/{D8s-WG7x.js → OEVyCyyD.js} +1 -1
- package/.output/public/_nuxt/{_fileId_.B3PtfMYN.css → _fileId_.DDOcnoDQ.css} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/0ab6db39-d52b-46b9-a687-0df3b4c65db5.json +1 -0
- package/.output/public/_nuxt/builds/meta/dev.json +1 -0
- package/.output/public/_nuxt/{CQNFvXDN.js → e_Ir8LP9.js} +1 -1
- package/.output/public/_nuxt/entry.XV7TCKso.css +1 -0
- package/.output/public/_nuxt/{DpyvTVPg.js → fRxmPZZB.js} +1 -1
- package/.output/public/_nuxt/{B0pvfm-W.js → h2fvG4Xe.js} +1 -1
- package/.output/public/_nuxt/llxtZpFD.js +160 -0
- package/.output/public/_nuxt/{CQr87mff.js → q4KcRwD-.js} +1 -1
- package/.output/public/_nuxt/{Cqe10li5.js → qIKg23Pc.js} +1 -1
- package/.output/public/_nuxt/{aKVabwds.js → txD20ixW.js} +1 -1
- package/.output/public/_nuxt/{CwtNS48a.js → ubO-cWd-.js} +1 -1
- package/.output/public/_nuxt/x2HBvptj.js +1 -0
- package/.output/public/_nuxt/{lN7hePE6.js → y68LmDX2.js} +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +394 -382
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +389 -372
- package/.output/server/chunks/routes/api/ai/agent.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/chat.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/chat.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +1 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +1 -0
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +1 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +1 -0
- 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 +1 -0
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +1 -0
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 -0
- 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 -0
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +1 -0
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +1 -0
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -0
- package/.output/server/index.mjs +1 -0
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/bin/cli.mjs +55 -9
- package/package.json +1 -1
- package/.output/public/_nuxt/ACi_yrrw.js +0 -1
- package/.output/public/_nuxt/B-E3EDXq.js +0 -21
- package/.output/public/_nuxt/B-rj9QI0.js +0 -1
- package/.output/public/_nuxt/BDPGejuO.js +0 -2
- package/.output/public/_nuxt/BHp-OX9z.js +0 -1
- package/.output/public/_nuxt/BJdgR-zN.js +0 -1
- package/.output/public/_nuxt/BSs5g8DH.js +0 -1
- package/.output/public/_nuxt/CO-m0olR.js +0 -2
- package/.output/public/_nuxt/CQQKPHb8.js +0 -225
- package/.output/public/_nuxt/CfblXyCF.js +0 -1
- package/.output/public/_nuxt/D9SCXF1G.js +0 -1
- package/.output/public/_nuxt/DynamicTable.BW0D7NXb.css +0 -1
- package/.output/public/_nuxt/GqcI3eLm.js +0 -67
- package/.output/public/_nuxt/builds/meta/1e32d709-950d-49a3-8d61-1b3385318747.json +0 -1
- package/.output/public/_nuxt/entry.Kia9TCip.css +0 -1
- package/.output/public/_nuxt/mW-nBTJP.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1,19 @@
|
|
|
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 +1 @@
|
|
|
1
|
-
import{w as ce,d as te,ad as ht,al as Ae,H as ke,bd as yt,u as Ke,r as G,D 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,c6 as zt,aD as St,aT as bt,c7 as xt,aq as wt,an as Le,E as Ne,j as je,g as Et,a as Pt,c8 as It,c9 as le}from"./DftZZFKd.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 H(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(H(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(H(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(H(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(!H(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(H(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,!H(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(H(r,I)||(y-=I-r,o[f]=I),H(y,0))break;e>0?f--:f++}}}const p=o.reduce((v,d)=>d+v,0);return H(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 Ht(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),Ht(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 Bt(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}const Gt=Bt()==="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&&(He("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})}He("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(),He("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 He(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(!H(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(!H(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,H(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:B,minSize:C=0}=M.constraints;if(_!=null&&B){const R=re({delta:H(_,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 B(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:B,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 B(C){d(r.value,C)}return t({collapse:_,expand:N,getSize(){return u(r.value)},resize:B,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:B})]),_: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 B,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:((B=n.hitAreaMargins)==null?void 0:B.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)},Be=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=Be(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=Be(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 _=Be(r),N=rn(_);if(!N)return;const B=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)||B,updatedAt:B,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,Be as s,vn as u};
|
|
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 +1 @@
|
|
|
1
|
-
import{_ as f}from"./
|
|
1
|
+
import{_ as f}from"./8_EuFD3X.js";import{d as p,E as u,g as o,a as i,h as e,b as a,n as _,j as x,l as t,e as d,f as v,F as g,o as n}from"./FyrDS92w.js";import{_ as b}from"./D7EPcL9i.js";import{a as y,i as h}from"./D8pqASdN.js";const w={class:"flex items-center justify-between py-2 px-2"},j={class:"flex items-center space-x-2"},k={class:"h-screen overflow-y-auto flex flex-col"},A={key:0,class:"flex items-center justify-between border-b border-border py-2 px-2"},C={class:"flex items-center space-x-2"},F=p({__name:"home",setup(V){const r=u(()=>y()||h());return(m,s)=>{const l=b,c=f;return n(),o(g,null,[a(r)?(n(),o("div",{key:0,class:_(a(x)("w-full h-10.5 select-none pr-2 bg-sidebar flex justify-center electron-drag-region"))},[e("div",w,[e("div",j,[t(c,{class:"rounded-2xl"},{default:d(()=>[t(l,{src:"/logo.png",alt:"@unovue"})]),_:1}),s[0]||(s[0]=e("p",{class:"text-2xl font-medium"},"OrcaQ",-1))])])],2)):i("",!0),e("div",k,[a(r)?i("",!0):(n(),o("div",A,[e("div",C,[t(c,{class:"rounded-2xl"},{default:d(()=>[t(l,{src:"/logo.png",alt:"@unovue"})]),_:1}),s[1]||(s[1]=e("p",{class:"text-2xl font-medium"},"OrcaQ",-1))])])),v(m.$slots,"default")])],64)}}});export{F as default};
|