orcaq 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BJCrbji-.js → 5oARMrld.js} +1 -1
  3. package/.output/public/_nuxt/{kvtnkChG.js → 9sDqz0uT.js} +1 -1
  4. package/.output/public/_nuxt/{Bmgr9uz4.js → B-4cXhNx.js} +1 -1
  5. package/.output/public/_nuxt/{DpT8FO1Q.js → BC6CdfCG.js} +1 -1
  6. package/.output/public/_nuxt/{Ca0KO9Xq.js → BCAMWuzu.js} +1 -1
  7. package/.output/public/_nuxt/{Bq47tjcm.js → BG-rJefG.js} +1 -1
  8. package/.output/public/_nuxt/{BpvGVfME.js → BKFPmrcv.js} +1 -1
  9. package/.output/public/_nuxt/{COHOh4Oe.js → BMLhg7hE.js} +1 -1
  10. package/.output/public/_nuxt/{atdCACH-.js → BYOPXIhP.js} +1 -1
  11. package/.output/public/_nuxt/{B46blMXm.js → BYxQJ0gE.js} +1 -1
  12. package/.output/public/_nuxt/{BrNfge84.js → BZ4ThSRp.js} +1 -1
  13. package/.output/public/_nuxt/{Dq1JM9WZ.js → BZmDBfmV.js} +1 -1
  14. package/.output/public/_nuxt/{DHAL8jJG.js → B_ERKujF.js} +4 -4
  15. package/.output/public/_nuxt/{CycELG5y.js → BccuQbKA.js} +1 -1
  16. package/.output/public/_nuxt/{B6MkNyZd.js → BcyZ-eCi.js} +1 -1
  17. package/.output/public/_nuxt/{63YtjFEq.js → BdZsZgcB.js} +1 -1
  18. package/.output/public/_nuxt/{S1qa1a4x.js → BigePTMZ.js} +1 -1
  19. package/.output/public/_nuxt/{BL__uYa3.js → BkN-uAef.js} +1 -1
  20. package/.output/public/_nuxt/{BWZ7atse.js → BmAp-sfn.js} +1 -1
  21. package/.output/public/_nuxt/{BogEzQi9.js → BqHKqsJ5.js} +3 -3
  22. package/.output/public/_nuxt/{DpEV6S2O.js → BseVuOZ1.js} +1 -1
  23. package/.output/public/_nuxt/{B2IKcIj2.js → BtuY54_l.js} +1 -1
  24. package/.output/public/_nuxt/{B8TrrBEb.js → Buh0pI3n.js} +1 -1
  25. package/.output/public/_nuxt/{CAnr3OhD.js → BzVvHKKC.js} +1 -1
  26. package/.output/public/_nuxt/{DuCDilAk.js → BzywwPw6.js} +1 -1
  27. package/.output/public/_nuxt/BzzgEvr9.js +7 -0
  28. package/.output/public/_nuxt/{AymhMj9v.js → C-I81xfB.js} +1 -1
  29. package/.output/public/_nuxt/{DAr5YiBT.js → C-Pa1rIR.js} +1 -1
  30. package/.output/public/_nuxt/{CMkzSwnO.js → C-pX1zRI.js} +1 -1
  31. package/.output/public/_nuxt/{ioXB9E2w.js → C0vscAQB.js} +1 -1
  32. package/.output/public/_nuxt/C4FrpL8k.js +1 -0
  33. package/.output/public/_nuxt/{Cq-MDPLE.js → C4zYnWdF.js} +1 -1
  34. package/.output/public/_nuxt/{C_7gtl40.js → C9kgALYc.js} +1 -1
  35. package/.output/public/_nuxt/{Oe2GG0Lt.js → CCmd8DpQ.js} +1 -1
  36. package/.output/public/_nuxt/{DsmBazLf.js → CGq9Twnj.js} +1 -1
  37. package/.output/public/_nuxt/{BEyCol50.js → CHMlsxJw.js} +1 -1
  38. package/.output/public/_nuxt/{Y1gXUmjt.js → CLQzuV82.js} +1 -1
  39. package/.output/public/_nuxt/{BJVPtt2X.js → CL_1HDtg.js} +1 -1
  40. package/.output/public/_nuxt/{DVnDb6ua.js → CRqiHVA4.js} +1 -1
  41. package/.output/public/_nuxt/{ByibjLZn.js → CS4EJV3B.js} +1 -1
  42. package/.output/public/_nuxt/{Bf6Q3Zl5.js → CSExCj8O.js} +1 -1
  43. package/.output/public/_nuxt/{MeLWmO7R.js → CY_CG0AU.js} +1 -1
  44. package/.output/public/_nuxt/{D-9vaM6z.js → CbHZwHBV.js} +1 -1
  45. package/.output/public/_nuxt/{MW5K_zef.js → Cbo6GmdE.js} +1 -1
  46. package/.output/public/_nuxt/{dWu56FdP.js → Cf460dGA.js} +1 -1
  47. package/.output/public/_nuxt/{DcCF9IZB.js → CfseWBL0.js} +1 -1
  48. package/.output/public/_nuxt/{qzrMNYut.js → Ch0I4juX.js} +1 -1
  49. package/.output/public/_nuxt/Chvs1m1n.js +1 -0
  50. package/.output/public/_nuxt/{CHEpbbGc.js → Chx1IK9D.js} +1 -1
  51. package/.output/public/_nuxt/{ByiJDSw8.js → CjpXgncp.js} +1 -1
  52. package/.output/public/_nuxt/{BpUSbMUb.js → CkjXKCQH.js} +1 -1
  53. package/.output/public/_nuxt/{C3ZBsVV_.js → Ckry8tuC.js} +2 -2
  54. package/.output/public/_nuxt/{CsRSZpa6.js → CmOZ0DCP.js} +1 -1
  55. package/.output/public/_nuxt/{Bq7OeLM1.js → CmjR7OTc.js} +1 -1
  56. package/.output/public/_nuxt/{CDJKw_ak.js → Co7e2XML.js} +1 -1
  57. package/.output/public/_nuxt/{BzvSm28k.js → CqkctA6I.js} +1 -1
  58. package/.output/public/_nuxt/{DEZMnZ2r.js → CtB2-SFY.js} +1 -1
  59. package/.output/public/_nuxt/{dNPwafbq.js → CtCx-4nJ.js} +1 -1
  60. package/.output/public/_nuxt/{xOD4Ev56.js → CtkhwZY7.js} +1 -1
  61. package/.output/public/_nuxt/Cty7uMrC.js +1 -0
  62. package/.output/public/_nuxt/{C2XHqDOf.js → CvFjsYJZ.js} +1 -1
  63. package/.output/public/_nuxt/{D4pAW_0T.js → Czr647QE.js} +1 -1
  64. package/.output/public/_nuxt/{BcsKoAPU.js → D0lW43G8.js} +28 -28
  65. package/.output/public/_nuxt/{DDebxXP-.js → D28ykMUi.js} +1 -1
  66. package/.output/public/_nuxt/{Ci5B19-c.js → DA4Xn6lm.js} +1 -1
  67. package/.output/public/_nuxt/{BWebIWit.js → DChDHsIe.js} +1 -1
  68. package/.output/public/_nuxt/{DSaBCmOg.js → DJBO_9pO.js} +1 -1
  69. package/.output/public/_nuxt/{DPIEiNwW.js → DJXB1Li8.js} +1 -1
  70. package/.output/public/_nuxt/{DJH-4SVI.js → DKLk0T0H.js} +1 -1
  71. package/.output/public/_nuxt/{C6dIAdHr.js → DLBsdU7G.js} +1 -1
  72. package/.output/public/_nuxt/{BtyzMl9p.js → DOAixkpJ.js} +1 -1
  73. package/.output/public/_nuxt/{BoMjapT5.js → DPq8O9CC.js} +1 -1
  74. package/.output/public/_nuxt/{Bmx1kTaZ.js → DQdA5Twt.js} +1 -1
  75. package/.output/public/_nuxt/{DGvAu532.js → DRh-06Hb.js} +1 -1
  76. package/.output/public/_nuxt/{JOg_XIAv.js → DTvJImVU.js} +1 -1
  77. package/.output/public/_nuxt/{C7BQpy74.js → DVkCRFXi.js} +1 -1
  78. package/.output/public/_nuxt/{BjqbQLK3.js → DX8ecA59.js} +1 -1
  79. package/.output/public/_nuxt/DakKehZj.js +1 -0
  80. package/.output/public/_nuxt/{BoIj4dtd.js → Db3rTgnd.js} +1 -1
  81. package/.output/public/_nuxt/{BRFPdiIh.js → DfyynWBR.js} +1 -1
  82. package/.output/public/_nuxt/{B5WGo5x7.js → DgJOougY.js} +1 -1
  83. package/.output/public/_nuxt/DkQCknMw.js +1 -0
  84. package/.output/public/_nuxt/{Sf02B6Pt.js → DpBeiFQV.js} +1 -1
  85. package/.output/public/_nuxt/{sk7V7xQl.js → DrdbRRXx.js} +1 -1
  86. package/.output/public/_nuxt/{CS9hqyP3.js → Dtl3qje7.js} +1 -1
  87. package/.output/public/_nuxt/{DNoTlUiY.js → Du5Ka6uI.js} +1 -1
  88. package/.output/public/_nuxt/{B73IHAoF.js → Dunt8-TF.js} +1 -1
  89. package/.output/public/_nuxt/{CrNLwdoE.js → DvWEWtFg.js} +1 -1
  90. package/.output/public/_nuxt/{DkD29_YA.js → KynNdNgX.js} +1 -1
  91. package/.output/public/_nuxt/{BqU89KuH.js → MWrJVKEf.js} +2 -2
  92. package/.output/public/_nuxt/{DMmjWR_K.js → NYpsF1lW.js} +1 -1
  93. package/.output/public/_nuxt/{L2I3LmpB.js → Nof0nVJ6.js} +1 -1
  94. package/.output/public/_nuxt/{BTYBVtfa.js → Ohrg3hU7.js} +1 -1
  95. package/.output/public/_nuxt/{CerLmMsC.js → Rrce0BXL.js} +3 -3
  96. package/.output/public/_nuxt/{xp7rFxcm.js → VNOocds9.js} +1 -1
  97. package/.output/public/_nuxt/Y-MEKhtd.js +1 -0
  98. package/.output/public/_nuxt/{CSQ0xnqv.js → YdOCcCRS.js} +1 -1
  99. package/.output/public/_nuxt/bYQCSC5-.js +1 -0
  100. package/.output/public/_nuxt/{vhkvHdfO.js → bkzIFcLw.js} +1 -1
  101. package/.output/public/_nuxt/builds/latest.json +1 -1
  102. package/.output/public/_nuxt/builds/meta/ad11b978-8fdd-4bb2-9b38-1d6fe93f994e.json +1 -0
  103. package/.output/public/_nuxt/{FDw04QOj.js → eOeO5uM0.js} +1 -1
  104. package/.output/public/_nuxt/{BPACuoI0.js → g9ZMnTLJ.js} +1 -1
  105. package/.output/public/_nuxt/{Cnfx1zWl.js → hIbRoJ89.js} +1 -1
  106. package/.output/public/_nuxt/{8tyEaimf.js → j23gQsG7.js} +1 -1
  107. package/.output/public/_nuxt/klVlxnpt.js +1 -0
  108. package/.output/public/_nuxt/{DWqOZJe7.js → qRiDKEr7.js} +1 -1
  109. package/.output/public/_nuxt/{iNy-Nl0_.js → syq5mCJi.js} +1 -1
  110. package/.output/public/_nuxt/{COq7mAG7.js → v41yYOa9.js} +1 -1
  111. package/.output/public/_nuxt/{B9uki8o2.js → vaJvtND9.js} +1 -1
  112. package/.output/public/_nuxt/{wRAs0MDn.js → wodl4bLW.js} +1 -1
  113. package/.output/server/chunks/build/client.manifest.mjs +675 -675
  114. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  115. package/.output/server/chunks/nitro/nitro.mjs +635 -635
  116. package/.output/server/package.json +1 -1
  117. package/package.json +1 -1
  118. package/.output/public/_nuxt/BS-LtKx4.js +0 -1
  119. package/.output/public/_nuxt/BTheloyh.js +0 -1
  120. package/.output/public/_nuxt/Bj7ctTfH.js +0 -1
  121. package/.output/public/_nuxt/BpLDGvqy.js +0 -1
  122. package/.output/public/_nuxt/CtWq1MER.js +0 -7
  123. package/.output/public/_nuxt/Cww9dXBK.js +0 -1
  124. package/.output/public/_nuxt/DfNTLojg.js +0 -1
  125. package/.output/public/_nuxt/M6bBaUHa.js +0 -1
  126. package/.output/public/_nuxt/_qKPTuua.js +0 -1
  127. package/.output/public/_nuxt/builds/meta/7c171291-8bbd-4c4c-8904-0afae065b82e.json +0 -1
@@ -1 +1 @@
1
- import{c as I,ar as Le,bI as ne,d as E,as as Pe,cW as qe,aa as Q,aj as fe,k as V,o as c,w as o,D as q,g as e,ak as me,bL as Oe,at as Ne,a as Re,r as G,e as x,F as U,f as t,a0 as O,s as j,z as u,d8 as re,t as L,l as T,m as a,n as P,d9 as Me,A as $,da as Fe,bN as ze,p as Y,j as ee,ae as He,db as Ke,bn as D,bq as ve,bo as S,_ as je,h as Qe,bS as Ge,x as Ye,B as N,q as We,bm as de,X as ge,Y as ye,Z as be,$ as _e,b as Xe,a6 as ie,a1 as Ze,bE as Je,i as M,bF as et,aZ as tt,bG as st,a5 as Z,dc as F,aF as R,W as at}from"./BcsKoAPU.js";import{u as ot,_ as lt,a as nt,b as rt,c as dt,d as z,e as it}from"./DVnDb6ua.js";import{i as ut,_ as ue}from"./BoIj4dtd.js";import{i as pt,u as ct,d as ft,a as mt}from"./CHEpbbGc.js";import{C as vt,a as gt,b as yt}from"./DAr5YiBT.js";import{_ as H}from"./COHOh4Oe.js";function bt({type:f,defaultValue:n,modelValue:r}){const l=r||n;return r!==void 0||n!==void 0?Array.isArray(l)?"multiple":"single":f??"single"}function _t({type:f,defaultValue:n,modelValue:r}){return f||bt({type:f,defaultValue:n,modelValue:r})}function xt({type:f,defaultValue:n}){return n!==void 0?n:f==="single"?void 0:[]}function Dt(f,n){const r=I(()=>_t(f)),l=Le(f,"modelValue",n,{defaultValue:xt(f),passive:f.modelValue===void 0,deep:!0});function p(m){if(r.value==="single")l.value=ne(m,l.value)?void 0:m;else{const b=Array.isArray(l.value)?[...l.value||[]]:[l.value].filter(Boolean);if(ut(b,m)){const i=b.findIndex(_=>ne(_,m));b.splice(i,1)}else b.push(m);l.value=b}}const y=I(()=>r.value==="single");return{modelValue:l,changeModelValue:p,isSingle:y}}const[W,ht]=fe("AccordionRoot");var Ct=E({__name:"AccordionRoot",props:{collapsible:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},orientation:{type:String,required:!1,default:"vertical"},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},type:{type:String,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1}},emits:["update:modelValue"],setup(f,{emit:n}){const r=f,l=n,{dir:p,disabled:y,unmountOnHide:m}=Pe(r),b=qe(p),{modelValue:i,changeModelValue:_,isSingle:B}=Dt(r,l),{forwardRef:h,currentElement:C}=Q();return ht({disabled:y,direction:b,orientation:r.orientation,parentElement:C,isSingle:B,collapsible:r.collapsible,modelValue:i,changeModelValue:_,unmountOnHide:m}),(k,d)=>(c(),V(e(me),{ref:e(h),"as-child":k.asChild,as:k.as},{default:o(()=>[q(k.$slots,"default",{modelValue:e(i)})]),_:3},8,["as-child","as"]))}}),kt=Ct,J=function(f){return f.Open="open",f.Closed="closed",f}(J||{});const[te,Vt]=fe("AccordionItem");var St=E({__name:"AccordionItem",props:{disabled:{type:Boolean,required:!1},value:{type:String,required:!0},unmountOnHide:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f,{expose:n}){const r=f,l=W(),p=I(()=>l.isSingle.value?r.value===l.modelValue.value:Array.isArray(l.modelValue.value)&&l.modelValue.value.includes(r.value)),y=I(()=>l.disabled.value||r.disabled),m=I(()=>y.value?"":void 0),b=I(()=>p.value?J.Open:J.Closed);n({open:p,dataDisabled:m});const{currentRef:i,currentElement:_}=Q();Vt({open:p,dataState:b,disabled:y,dataDisabled:m,triggerId:"",currentRef:i,currentElement:_,value:I(()=>r.value)});function B(h){var v;const C=h.target;if(Array.from(((v=l.parentElement.value)==null?void 0:v.querySelectorAll("[data-reka-collection-item]"))??[]).findIndex(A=>A===C)===-1)return null;ot(h,C,l.parentElement.value,{arrowKeyOptions:l.orientation,dir:l.direction.value,focus:!0})}return(h,C)=>(c(),V(e(vt),{"data-orientation":e(l).orientation,"data-disabled":m.value,"data-state":b.value,disabled:y.value,open:p.value,as:r.as,"as-child":r.asChild,"unmount-on-hide":r.unmountOnHide??e(l).unmountOnHide.value,onKeydown:Oe(B,["up","down","left","right","home","end"])},{default:o(()=>[q(h.$slots,"default",{open:p.value})]),_:3},8,["data-orientation","data-disabled","data-state","disabled","open","as","as-child","unmount-on-hide"]))}}),wt=St,$t=E({__name:"AccordionContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f){const n=f,r=W(),l=te();return Q(),(p,y)=>(c(),V(e(gt),{role:"region","as-child":n.asChild,as:p.as,"force-mount":n.forceMount,"aria-labelledby":e(l).triggerId,"data-state":e(l).dataState.value,"data-disabled":e(l).dataDisabled.value,"data-orientation":e(r).orientation,style:{"--reka-accordion-content-width":"var(--reka-collapsible-content-width)","--reka-accordion-content-height":"var(--reka-collapsible-content-height)"},onContentFound:y[0]||(y[0]=m=>e(r).changeModelValue(e(l).value.value))},{default:o(()=>[q(p.$slots,"default")]),_:3},8,["as-child","as","force-mount","aria-labelledby","data-state","data-disabled","data-orientation"]))}}),At=$t,Et=E({__name:"AccordionHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h3"}},setup(f){const n=f,r=W(),l=te();return Q(),(p,y)=>(c(),V(e(me),{as:n.as,"as-child":n.asChild,"data-orientation":e(r).orientation,"data-state":e(l).dataState.value,"data-disabled":e(l).dataDisabled.value},{default:o(()=>[q(p.$slots,"default")]),_:3},8,["as","as-child","data-orientation","data-state","data-disabled"]))}}),It=Et,Tt=E({__name:"AccordionTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f){const n=f,r=W(),l=te();l.triggerId||(l.triggerId=Ne(void 0,"reka-accordion-trigger"));function p(){const y=r.isSingle.value&&l.open.value&&!r.collapsible;l.disabled.value||y||r.changeModelValue(l.value.value)}return(y,m)=>(c(),V(e(yt),{id:e(l).triggerId,ref:e(l).currentRef,"data-reka-collection-item":"",as:n.as,"as-child":n.asChild,"aria-disabled":e(l).disabled.value||void 0,"aria-expanded":e(l).open.value||!1,"data-disabled":e(l).dataDisabled.value,"data-orientation":e(r).orientation,"data-state":e(l).dataState.value,disabled:e(l).disabled.value,onClick:p},{default:o(()=>[q(y.$slots,"default")]),_:3},8,["id","as","as-child","aria-disabled","aria-expanded","data-disabled","data-orientation","data-state","disabled"]))}}),Bt=Tt;const Ut={key:0,class:"text-sm text-muted-foreground"},Lt={key:0,class:"px-2 py-1 text-xs text-muted-foreground select-none"},Pt={role:"listbox","aria-multiselectable":"true",class:"space-y-0.5"},qt=["aria-selected","aria-disabled"],Ot=["disabled","onClick"],Nt={key:0,viewBox:"0 0 12 12",class:"size-3 fill-current"},Rt={class:"flex-1 truncate text-left"},Mt={key:1,class:"px-2 py-3 text-center text-xs text-muted-foreground"},pe=3,Ft=E({__name:"EnvTagPicker",props:{modelValue:{}},emits:["update:modelValue"],setup(f,{emit:n}){const r=f,l=n,p=Re(),y=I(()=>r.modelValue.length>=pe);function m(h){return r.modelValue.includes(h)}function b(h){m(h)?l("update:modelValue",r.modelValue.filter(C=>C!==h)):y.value||l("update:modelValue",[...r.modelValue,h])}const i=I(()=>p.tags.filter(h=>r.modelValue.includes(h.id))),_=G(!1);function B(h){y.value||l("update:modelValue",[...r.modelValue,h.id])}return(h,C)=>{const k=$;return c(),x(U,null,[t(e(lt),null,{default:o(()=>[t(e(nt),{"as-child":""},{default:o(()=>[t(e(O),{type:"button",variant:"outline",class:"h-auto min-h-9 w-full justify-start gap-1 px-2 py-1 flex-wrap"},{default:o(()=>[i.value.length===0?(c(),x("span",Ut,"Assign tags…")):(c(!0),x(U,{key:1},j(i.value,d=>(c(),x("span",{key:d.id,class:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-medium"},[t(re,{color:d.color,size:"sm"},null,8,["color"]),u(" "+L(d.name),1)]))),128))]),_:1})]),_:1}),t(e(rt),{class:"w-56 p-1",align:"start","side-offset":4,"restore-focus":!1},{default:o(()=>[y.value?(c(),x("p",Lt," Max "+L(pe)+" tags selected ")):T("",!0),a("ul",Pt,[(c(!0),x(U,null,j(e(p).tags,d=>(c(),x("li",{key:d.id,role:"option","aria-selected":m(d.id),"aria-disabled":y.value&&!m(d.id)},[a("button",{type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-sm transition-colors hover:bg-accent focus-visible:bg-accent focus-visible:outline-none disabled:pointer-events-none disabled:opacity-40",disabled:y.value&&!m(d.id),onClick:v=>b(d.id)},[a("span",{class:P(["flex size-4 items-center justify-center rounded-sm border",m(d.id)?"border-primary bg-primary text-primary-foreground":"border-input"])},[m(d.id)?(c(),x("svg",Nt,C[2]||(C[2]=[a("path",{d:"M10 3L5 8.5 2 5.5",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,-1)]))):T("",!0)],2),t(re,{color:d.color,size:"md"},null,8,["color"]),a("span",Rt,L(d.name),1)],8,Ot)],8,qt))),128))]),e(p).tags.length===0?(c(),x("p",Mt," No tags configured ")):T("",!0),t(e(Me),{class:"my-1"}),a("button",{type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground transition-colors focus-visible:outline-none focus-visible:bg-accent",onClick:C[0]||(C[0]=d=>_.value=!0)},[t(k,{name:"hugeicons:plus-sign",class:"size-4"}),C[3]||(C[3]=u(" Add new tag "))])]),_:1})]),_:1}),t(Fe,{open:_.value,"onUpdate:open":C[1]||(C[1]=d=>_.value=d),onCreated:B},null,8,["open"])],64)}}}),ce=E({__name:"Accordion",props:{collapsible:{type:Boolean},disabled:{type:Boolean},dir:{},orientation:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},type:{},modelValue:{},defaultValue:{}},emits:["update:modelValue"],setup(f,{emit:n}){const p=ze(f,n);return(y,m)=>(c(),V(e(kt),Y({"data-slot":"accordion"},e(p)),{default:o(()=>[q(y.$slots,"default")]),_:3},16))}}),xe=E({__name:"AccordionContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(f){const n=f,r=I(()=>{const{class:l,...p}=n;return p});return(l,p)=>(c(),V(e(At),Y({"data-slot":"accordion-content"},r.value,{class:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"}),{default:o(()=>[a("div",{class:P(e(ee)("pt-0 pb-4",n.class))},[q(l.$slots,"default")],2)]),_:3},16))}}),De=E({__name:"AccordionItem",props:{disabled:{type:Boolean},value:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(f){const n=f,r=I(()=>{const{class:p,...y}=n;return y}),l=He(r);return(p,y)=>(c(),V(e(wt),Y({"data-slot":"accordion-item"},e(l),{class:e(ee)("border-b last:border-b-0",n.class)}),{default:o(()=>[q(p.$slots,"default")]),_:3},16,["class"]))}}),he=E({__name:"AccordionTrigger",props:{asChild:{type:Boolean},as:{},class:{}},setup(f){const n=f,r=I(()=>{const{class:l,...p}=n;return p});return(l,p)=>(c(),V(e(It),{class:"flex"},{default:o(()=>[t(e(Bt),Y({"data-slot":"accordion-trigger"},r.value,{class:e(ee)("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",n.class)}),{default:o(()=>[q(l.$slots,"default"),q(l.$slots,"icon",{},()=>[t(e(Ke),{class:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})])]),_:3},16,["class"])]),_:3}))}});function K(f){const n=G(!1);return{isDragging:n,onDragOver:y=>{y.preventDefault(),n.value=!0},onDragLeave:()=>{n.value=!1},onDrop:async y=>{var _;y.preventDefault(),n.value=!1;const m=(_=y.dataTransfer)==null?void 0:_.files;if(!m||m.length===0)return;const b=m[0],i=new FileReader;i.onload=B=>{var C;const h=(C=B.target)==null?void 0:C.result;f&&f(h)},i.readAsText(b)}}}const zt={class:"flex items-center gap-2"},Ht={class:"flex items-center justify-between"},Kt={class:"grid grid-cols-4 gap-4"},jt={class:"col-span-3 space-y-2"},Qt={class:"space-y-2"},Gt={class:"grid grid-cols-2 gap-4"},Yt={class:"space-y-2"},Wt={class:"space-y-2"},Xt={class:"relative"},Zt=["aria-label"],Jt={class:"flex items-center gap-2"},es={class:"space-y-4 pt-2 border-t"},ts={class:"flex items-center gap-2"},ss={key:0,class:"space-y-2"},as=E({__name:"ConnectionSSHTunnel",props:{formData:{}},setup(f){const n=f,{onDragOver:r,onDragLeave:l,onDrop:p,isDragging:y}=K(b=>{n.formData.sshPrivateKey=b}),m=G(!1);return(b,i)=>(c(),V(e(De),{value:"ssh"},{default:o(()=>[t(e(he),{class:"hover:no-underline"},{default:o(()=>[a("div",zt,[t(e($),{name:"lucide:terminal",class:"size-4 text-primary"}),i[9]||(i[9]=a("span",null,"SSH Tunnel",-1))])]),_:1}),t(e(xe),{class:"space-y-4 pt-4 px-1"},{default:o(()=>[a("div",Ht,[t(e(D),{for:"ssh-enabled"},{default:o(()=>i[10]||(i[10]=[u("Over SSH")])),_:1}),t(e(ve),{id:"ssh-enabled","model-value":b.formData.sshEnabled,"onUpdate:modelValue":i[0]||(i[0]=_=>b.formData.sshEnabled=_)},null,8,["model-value"])]),b.formData.sshEnabled?(c(),x(U,{key:0},[a("div",Kt,[a("div",jt,[t(e(D),{for:"ssh-host"},{default:o(()=>i[11]||(i[11]=[u("Server")])),_:1}),t(e(S),{id:"ssh-host",placeholder:"e.g. ssh.example.com or 1.2.3.4",modelValue:b.formData.sshHost,"onUpdate:modelValue":i[1]||(i[1]=_=>b.formData.sshHost=_)},null,8,["modelValue"])]),a("div",Qt,[t(e(D),{for:"ssh-port"},{default:o(()=>i[12]||(i[12]=[u("Port")])),_:1}),t(e(S),{id:"ssh-port",type:"number",placeholder:"22",modelValue:b.formData.sshPort,"onUpdate:modelValue":i[2]||(i[2]=_=>b.formData.sshPort=_)},null,8,["modelValue"])])]),a("div",Gt,[a("div",Yt,[t(e(D),{for:"ssh-user"},{default:o(()=>i[13]||(i[13]=[u("User")])),_:1}),t(e(S),{id:"ssh-user",placeholder:"e.g. root or ubuntu",modelValue:b.formData.sshUsername,"onUpdate:modelValue":i[3]||(i[3]=_=>b.formData.sshUsername=_)},null,8,["modelValue"])]),a("div",Wt,[t(e(D),{for:"ssh-password"},{default:o(()=>i[14]||(i[14]=[u("Password")])),_:1}),a("div",Xt,[t(e(S),{id:"ssh-password",type:e(m)?"text":"password",placeholder:"SSH password (optional if using key)",modelValue:b.formData.sshPassword,"onUpdate:modelValue":i[4]||(i[4]=_=>b.formData.sshPassword=_),class:"pr-8"},null,8,["type","modelValue"]),a("button",{type:"button",class:"absolute right-2 top-1/2 h-4 cursor-pointer -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",onClick:i[5]||(i[5]=_=>m.value=!e(m)),"aria-label":e(m)?"Hide password":"Show password"},[t(e($),{name:e(m)?"hugeicons:view":"hugeicons:view-off",class:"size-4!"},null,8,["name"])],8,Zt)])])]),a("div",Jt,[t(e(ue),{id:"ssh-keychain","model-value":b.formData.sshStoreInKeychain,"onUpdate:modelValue":i[6]||(i[6]=_=>b.formData.sshStoreInKeychain=_)},null,8,["model-value"]),t(e(D),{for:"ssh-keychain",class:"text-sm font-normal"},{default:o(()=>i[15]||(i[15]=[u("Store in keychain")])),_:1})]),a("div",es,[a("div",ts,[t(e(ue),{id:"ssh-use-key","model-value":b.formData.sshUseKey,"onUpdate:modelValue":i[7]||(i[7]=_=>b.formData.sshUseKey=_)},null,8,["model-value"]),t(e(D),{for:"ssh-use-key",class:"text-sm font-semibold"},{default:o(()=>i[16]||(i[16]=[u("SSH Key Authentication")])),_:1})]),b.formData.sshUseKey?(c(),x("div",ss,[t(e(D),{for:"ssh-key-file"},{default:o(()=>i[17]||(i[17]=[u("Private Key")])),_:1}),t(e(H),{id:"ssh-key-file",modelValue:b.formData.sshPrivateKey,"onUpdate:modelValue":i[8]||(i[8]=_=>b.formData.sshPrivateKey=_),placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----\\n...\\n-----END OPENSSH PRIVATE KEY-----",class:P(["min-h-[100px] max-h-[200px] text-xs font-mono",e(y)?"ring-2 ring-primary":""]),onDragover:e(r),onDragleave:e(l),onDrop:e(p)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),i[18]||(i[18]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .key file here, or paste the SSH private key content ",-1))])):T("",!0)])],64)):T("",!0)]),_:1})]),_:1}))}}),os={class:"flex items-center gap-2"},ls={class:"flex items-center justify-between"},ns={class:"space-y-2"},rs={class:"space-y-4"},ds={class:"space-y-2"},is={class:"space-y-2"},us={class:"space-y-2"},ps=E({__name:"ConnectionSSLConfig",props:{formData:{}},setup(f){const n=f,{onDragOver:r,onDragLeave:l,onDrop:p,isDragging:y}=K(d=>{n.formData.sslCA=d}),{onDragOver:m,onDragLeave:b,onDrop:i,isDragging:_}=K(d=>{n.formData.sslCert=d}),{onDragOver:B,onDragLeave:h,onDrop:C,isDragging:k}=K(d=>{n.formData.sslKey=d});return(d,v)=>(c(),V(e(De),{value:"ssl"},{default:o(()=>[t(e(he),{class:"hover:no-underline"},{default:o(()=>[a("div",os,[t(e($),{name:"hugeicons:security-check",class:"size-4 text-primary"}),v[5]||(v[5]=a("span",null,"SSL Configuration",-1))])]),_:1}),t(e(xe),{class:"space-y-4 pt-4 px-1"},{default:o(()=>[a("div",ls,[t(e(D),{for:"ssl-enabled"},{default:o(()=>v[6]||(v[6]=[u("Enable SSL")])),_:1}),t(e(ve),{id:"ssl-enabled","model-value":d.formData.sslEnabled,"onUpdate:modelValue":v[0]||(v[0]=A=>d.formData.sslEnabled=A)},null,8,["model-value"])]),d.formData.sslEnabled?(c(),x(U,{key:0},[a("div",ns,[t(e(D),{for:"ssl-mode"},{default:o(()=>v[7]||(v[7]=[u("SSL Mode")])),_:1}),t(e(je),{modelValue:d.formData.sslMode,"onUpdate:modelValue":v[1]||(v[1]=A=>d.formData.sslMode=A)},{default:o(()=>[t(e(Qe),{id:"ssl-mode"},{default:o(()=>[t(e(Ge),{placeholder:"Select mode"})]),_:1}),t(e(Ye),null,{default:o(()=>[t(e(N),{value:"disable"},{default:o(()=>v[8]||(v[8]=[u("Disable")])),_:1}),t(e(N),{value:"preferred"},{default:o(()=>v[9]||(v[9]=[u("Preferred")])),_:1}),t(e(N),{value:"require"},{default:o(()=>v[10]||(v[10]=[u("Require")])),_:1}),t(e(N),{value:"verify-ca"},{default:o(()=>v[11]||(v[11]=[u("Verify CA")])),_:1}),t(e(N),{value:"verify-full"},{default:o(()=>v[12]||(v[12]=[u("Verify Full")])),_:1})]),_:1})]),_:1},8,["modelValue"])]),a("div",rs,[a("div",ds,[t(e(D),{for:"ssl-ca"},{default:o(()=>v[13]||(v[13]=[u("CA Certificate")])),_:1}),t(e(H),{id:"ssl-ca",modelValue:d.formData.sslCA,"onUpdate:modelValue":v[2]||(v[2]=A=>d.formData.sslCA=A),placeholder:"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",class:P(["min-h-[80px] max-h-[160px] text-xs font-mono",e(y)?"ring-2 ring-primary":""]),onDragover:e(r),onDragleave:e(l),onDrop:e(p)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[14]||(v[14]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .crt file here, or paste the CA certificate content ",-1))]),a("div",is,[t(e(D),{for:"ssl-cert"},{default:o(()=>v[15]||(v[15]=[u("Client Certificate")])),_:1}),t(e(H),{id:"ssl-cert",modelValue:d.formData.sslCert,"onUpdate:modelValue":v[3]||(v[3]=A=>d.formData.sslCert=A),placeholder:"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",class:P(["min-h-[80px] max-h-[160px] text-xs font-mono",e(_)?"ring-2 ring-primary":""]),onDragover:e(m),onDragleave:e(b),onDrop:e(i)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[16]||(v[16]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .crt file here, or paste the client certificate content ",-1))]),a("div",us,[t(e(D),{for:"ssl-key"},{default:o(()=>v[17]||(v[17]=[u("SSL Key")])),_:1}),t(e(H),{id:"ssl-key",modelValue:d.formData.sslKey,"onUpdate:modelValue":v[4]||(v[4]=A=>d.formData.sslKey=A),placeholder:"-----BEGIN RSA PRIVATE KEY-----\\n...\\n-----END RSA PRIVATE KEY-----",class:P(["min-h-[80px] max-h-[160px] text-xs font-mono",e(k)?"ring-2 ring-primary":""]),onDragover:e(B),onDragleave:e(h),onDrop:e(C)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[18]||(v[18]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .key file here, or paste the private key content ",-1))])])],64)):T("",!0)]),_:1})]),_:1}))}}),cs={key:0,class:"flex items-center gap-2 rounded-md border p-3 text-sm"},fs={key:1,class:"flex items-center gap-2 rounded-md border border-green-200 bg-green-50 p-3 text-sm text-green-600 dark:border-green-900 dark:bg-green-950/50 dark:text-green-400"},ms={key:2,class:"flex items-center gap-2 rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600 dark:border-red-900 dark:bg-red-950/50 dark:text-red-400"},vs=E({__name:"ConnectionStatusSection",props:{testStatus:{},errorMessage:{}},setup(f){const n=f;return(r,l)=>(c(),x(U,null,[r.testStatus==="testing"?(c(),x("div",cs,[t(e($),{name:"hugeicons:loading-03",class:"animate-spin size-5!"}),l[0]||(l[0]=a("span",null,"Testing connection...",-1))])):T("",!0),r.testStatus==="success"?(c(),x("div",fs,[t(e($),{name:"hugeicons:checkmark-circle-02",class:"shrink-0 size-4"}),l[1]||(l[1]=a("span",null,"Connection successful! Your database is ready to use.",-1))])):T("",!0),r.testStatus==="error"?(c(),x("div",ms,[t(e($),{name:"hugeicons:cancel-01",class:"shrink-0 size-4"}),a("span",null,L(n.errorMessage||"Connection failed. Please check your details and try again."),1)])):T("",!0)],64))}}),gs={class:"flex flex-col items-center gap-1.5 text-center"},ys={key:0,class:"text-xxs leading-4 text-muted-foreground px-2"},bs={class:"flex items-center justify-center gap-1.5 min-h-3.5"},_s=E({__name:"DatabaseTypeCard",props:{name:{},icon:{},description:{},selected:{type:Boolean},isSupport:{type:Boolean},isBeta:{type:Boolean},iconClass:{},unsupportedLabel:{}},setup(f){return(n,r)=>(c(),V(e(dt),{class:P(e(z)("relative",n.isSupport?"cursor-pointer":"opacity-90 cursor-not-allowed ",n.selected&&n.isSupport?"border-muted-foreground shadow-lg":"border-transparent bg-background"))},{default:o(()=>[t(e(it),{class:"flex flex-col items-center justify-center p-0 w-full"},{default:o(()=>[a("div",{class:P(e(z)("flex items-center justify-center rounded-xl p-2 transition-transform duration-300",n.selected&&n.isSupport?"scale-105":"group-hover:scale-105",!n.isSupport&&"opacity-40"))},[(c(),V(We(n.icon),{class:P(e(z)("size-12",n.iconClass))},null,8,["class"]))],2),a("div",gs,[a("span",{class:P(e(z)("text-sm font-medium tracking-tight transition-colors",n.selected&&n.isSupport?"text-primary":"text-foreground/70",!n.isSupport&&"text-muted-foreground"))},L(n.name),3),n.description?(c(),x("p",ys,L(n.description),1)):T("",!0),a("div",bs,[n.isBeta?(c(),V(e(de),{key:0,variant:"outline",class:"text-[9px] px-1.5 py-0 h-3.5 uppercase tracking-widest font-bold border-amber-500/40 text-amber-600"},{default:o(()=>r[0]||(r[0]=[u(" Beta ")])),_:1})):T("",!0),n.isSupport?T("",!0):(c(),V(e(de),{key:1,variant:"secondary",class:"text-[9px] px-1.5 py-0 h-3.5 uppercase tracking-widest font-bold opacity-60"},{default:o(()=>[u(L(n.unsupportedLabel||"Soon"),1)]),_:1}))])])]),_:1})]),_:1},8,["class"]))}}),xs={class:"flex flex-col h-full overflow-hidden"},Ds={class:"flex-1 overflow-y-auto px-6 pb-4 pt-1"},hs={id:"tour-database-type-cards",class:"grid grid-cols-2 gap-3 py-2 md:grid-cols-4"},Cs=E({__name:"ConnectionStepType",props:{databaseOptions:{},dbType:{}},emits:["next","close"],setup(f,{emit:n}){const r=l=>{l.isSupport&&l.onClick()};return(l,p)=>{const y=$;return c(),x("div",xs,[t(e(ge),{class:"p-6 pb-3"},{default:o(()=>[t(e(ye),null,{default:o(()=>p[2]||(p[2]=[u("Select Database Type")])),_:1}),t(e(be),null,{default:o(()=>p[3]||(p[3]=[u("Choose the type of database you want to connect to")])),_:1})]),_:1}),a("div",Ds,[a("div",hs,[(c(!0),x(U,null,j(l.databaseOptions,m=>(c(),V(_s,{key:m.type,name:m.name,icon:m.icon,description:m.description,selected:m.isActive,onClick:()=>r(m),isSupport:m.isSupport,isBeta:m.isBeta,"unsupported-label":m.unsupportedLabel,iconClass:"size-10!"},null,8,["name","icon","description","selected","onClick","isSupport","isBeta","unsupported-label"]))),128))])]),t(e(_e),{class:"flex items-center justify-end gap-2 px-6 pb-6 pt-3"},{default:o(()=>[t(e(O),{variant:"outline",onClick:p[0]||(p[0]=m=>l.$emit("close")),size:"sm"},{default:o(()=>p[4]||(p[4]=[u(" Cancel ")])),_:1}),t(e(O),{id:"tour-database-type-next",onClick:p[1]||(p[1]=m=>l.$emit("next")),disabled:!l.dbType,size:"sm"},{default:o(()=>[p[5]||(p[5]=u(" Next ")),t(y,{name:"hugeicons:arrow-right-02"})]),_:1},8,["disabled"])]),_:1})])}}}),ks={key:1,class:"flex flex-col h-full overflow-hidden"},Vs={class:"flex-1 overflow-y-auto p-4 space-y-4"},Ss={key:0,id:"tour-connection-string-tab"},ws={key:1,id:"tour-connection-form-tab"},$s={key:2},As={key:3},Es={class:"grid grid-cols-3 gap-3 mt-2"},Is={class:"col-span-2 space-y-2"},Ts={class:"col-span-1 space-y-2"},Bs={class:"space-y-2"},Us={class:"text-xs text-muted-foreground"},Ls={class:"space-y-4"},Ps={class:"grid grid-cols-4 gap-2"},qs={class:"col-span-3 space-y-2"},Os={class:"space-y-2"},Ns={class:"grid grid-cols-2 gap-2"},Rs={class:"space-y-2"},Ms={class:"space-y-2"},Fs={class:"relative"},zs=["aria-label"],Hs={class:"space-y-2"},Ks={key:0,class:"space-y-4"},js={class:"space-y-2"},Qs={class:"flex gap-2"},Gs={class:"text-xs text-muted-foreground"},Ys={class:"space-y-3"},Ws={class:"grid grid-cols-2 gap-2"},Xs={class:"text-left"},Zs={class:"font-medium"},Js={class:"text-left"},ea={class:"font-medium"},ta={key:0,class:"grid grid-cols-2 gap-3"},sa={class:"space-y-2"},aa={class:"space-y-2"},oa={class:"col-span-2 space-y-2"},la={class:"col-span-2 space-y-2"},na={key:1,class:"grid grid-cols-2 gap-3"},ra={class:"col-span-2 space-y-2"},da={class:"col-span-2 space-y-2"},ia={class:"col-span-2 space-y-2"},ua={class:"flex flex-1 space-x-2"},pa={class:"flex space-x-2"},ba=E({__name:"CreateConnectionModal",props:{open:{type:Boolean},editingConnection:{},workspaceId:{}},emits:["update:open","addNew","update"],setup(f,{emit:n}){const r=f,l=n,p=()=>{l("update:open",!1),setTimeout(Be,300)},y=G(!1),m=Xe(),b=I(()=>pt(m.public.sqlite3ConnectionsEnabled)),{step:i,dbType:_,connectionName:B,connectionMethod:h,connectionString:C,formData:k,managedSqlite:d,tagIds:v,testStatus:A,testErrorMessage:Ce,handleNext:ke,handleBack:Ve,handleTestConnection:Se,handleCreateConnection:we,getDefaultPort:$e,getConnectionPlaceholder:se,availableConnectionMethods:ae,structuredTargetLabel:Ae,structuredTargetPlaceholder:Ee,canUseNetworkOptions:Ie,canPickSqliteFile:X,isFormValid:oe,pickSqliteFile:Te,resetForm:Be}=ct({open:()=>r.open,editingConnection:()=>r.editingConnection,workspaceId:()=>r.workspaceId,onAddNew:w=>l("addNew",w),onUpdate:w=>l("update",w),onClose:p}),Ue=I(()=>ft.map(w=>{const s=mt(w,b.value);return{...w,isSupport:s?!1:w.isSupport,unsupportedLabel:s?"Disabled":w.unsupportedLabel,isActive:_.value===w.type,onClick:()=>_.value=w.type}})),le=I({get:()=>_.value===ie.ORACLE?k.serviceName:k.database,set:w=>{if(_.value===ie.ORACLE){k.serviceName=w;return}k.database=w}});return(w,s)=>(c(),V(e(Ze),{open:w.open,"onUpdate:open":s[20]||(s[20]=g=>w.$emit("update:open",g))},{default:o(()=>[t(e(at),{class:"max-w-[60vw]! w-full h-[60vh]! max-h-[90vh] p-0 flex flex-col overflow-hidden"},{default:o(()=>[e(i)===1?(c(),V(Cs,{key:0,"database-options":Ue.value,"db-type":e(_),onNext:e(ke),onClose:p},null,8,["database-options","db-type","onNext"])):(c(),x("div",ks,[t(e(ge),{class:"p-6 pb-2"},{default:o(()=>[t(e(ye),null,{default:o(()=>s[21]||(s[21]=[u("Connection Details")])),_:1}),t(e(be),null,{default:o(()=>[u(" Enter the details for your "+L(e(_))+" database ",1)]),_:1})]),_:1}),a("div",Vs,[t(e(Je),{modelValue:e(h),"onUpdate:modelValue":s[19]||(s[19]=g=>M(h)?h.value=g:null),class:"w-full"},{default:o(()=>[t(e(et),{class:"grid w-fit",style:tt({gridTemplateColumns:`repeat(${e(ae).length}, minmax(0, 1fr))`}),id:"tour-connection-method-tabs"},{default:o(()=>[(c(!0),x(U,null,j(e(ae),g=>(c(),V(e(st),{key:g,value:g,class:"cursor-pointer"},{default:o(()=>[g===e(Z).STRING?(c(),x("span",Ss," Connection String ")):g===e(Z).FORM?(c(),x("span",ws," Connection Form ")):g===e(Z).MANAGED?(c(),x("span",$s," Managed SQLite ")):(c(),x("span",As,"Database File"))]),_:2},1032,["value"]))),128))]),_:1},8,["style"]),a("div",Es,[a("div",Is,[t(e(D),{for:"connection-name",class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:database",class:"h-3.5 w-3.5 text-muted-foreground"}),s[22]||(s[22]=u(" Connection Name ")),s[23]||(s[23]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(S),{id:"connection-name",placeholder:"My Database Connection",modelValue:e(B),"onUpdate:modelValue":s[0]||(s[0]=g=>M(B)?B.value=g:null)},null,8,["modelValue"])]),a("div",Ts,[t(e(D),{class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:tag-01",class:"h-3.5 w-3.5 text-muted-foreground"}),s[24]||(s[24]=u(" Environment Tags "))]),_:1}),t(e(Ft),{modelValue:e(v),"onUpdate:modelValue":s[1]||(s[1]=g=>M(v)?v.value=g:null)},null,8,["modelValue"])])]),t(e(F),{value:"string",class:"space-y-4 pt-4"},{default:o(()=>[a("div",Bs,[t(e(D),{for:"connection-string",class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:connect",class:"h-3.5 w-3.5 text-muted-foreground"}),s[25]||(s[25]=u(" Connection String ")),s[26]||(s[26]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(S),{id:"connection-string",placeholder:e(se)(),modelValue:e(C),"onUpdate:modelValue":s[2]||(s[2]=g=>M(C)?C.value=g:null),class:"font-mono text-sm"},null,8,["placeholder","modelValue"]),a("p",Us," Example: "+L(e(se)()),1)])]),_:1}),t(e(F),{value:"form",class:"space-y-6 pt-2"},{default:o(()=>[a("div",Ls,[a("div",Ps,[a("div",qs,[t(e(D),{for:"host"},{default:o(()=>s[27]||(s[27]=[u("Host "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"host",placeholder:"localhost",modelValue:e(k).host,"onUpdate:modelValue":s[3]||(s[3]=g=>e(k).host=g)},null,8,["modelValue"])]),a("div",Os,[t(e(D),{for:"port"},{default:o(()=>s[28]||(s[28]=[u("Port "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"port",placeholder:e($e)(),modelValue:e(k).port,"onUpdate:modelValue":s[4]||(s[4]=g=>e(k).port=g)},null,8,["placeholder","modelValue"])])]),a("div",Ns,[a("div",Rs,[t(e(D),{for:"username"},{default:o(()=>s[29]||(s[29]=[u("User "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"username",placeholder:"username",modelValue:e(k).username,"onUpdate:modelValue":s[5]||(s[5]=g=>e(k).username=g)},null,8,["modelValue"])]),a("div",Ms,[t(e(D),{for:"password"},{default:o(()=>s[30]||(s[30]=[u("Password")])),_:1}),a("div",Fs,[t(e(S),{id:"password",type:e(y)?"text":"password",placeholder:"••••••••",modelValue:e(k).password,"onUpdate:modelValue":s[6]||(s[6]=g=>e(k).password=g),class:"pr-8"},null,8,["type","modelValue"]),a("button",{type:"button",class:"absolute right-2 top-1/2 h-5 cursor-pointer -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",onClick:s[7]||(s[7]=g=>y.value=!e(y)),"aria-label":e(y)?"Hide password":"Show password"},[t(e($),{name:e(y)?"hugeicons:view":"hugeicons:view-off",class:"size-4!"},null,8,["name"])],8,zs)])])]),a("div",Hs,[t(e(D),{for:"structured-target"},{default:o(()=>[u(L(e(Ae))+" ",1),s[31]||(s[31]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(S),{id:"structured-target",placeholder:e(Ee),modelValue:le.value,"onUpdate:modelValue":s[8]||(s[8]=g=>le.value=g)},null,8,["placeholder","modelValue"])])]),e(Ie)?(c(),x("div",Ks,[t(e(ce),{type:"single",collapsible:"",class:"w-full border px-4 rounded-lg shadow"},{default:o(()=>[t(ps,{"form-data":e(k)},null,8,["form-data"])]),_:1}),t(e(ce),{type:"single",collapsible:"",class:"w-full border px-4 rounded-lg shadow"},{default:o(()=>[t(as,{"form-data":e(k)},null,8,["form-data"])]),_:1})])):T("",!0)]),_:1}),t(e(F),{value:"file",class:"space-y-4 pt-4"},{default:o(()=>[a("div",js,[t(e(D),{for:"file-path",class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:file-01",class:"h-3.5 w-3.5 text-muted-foreground"}),s[32]||(s[32]=u(" SQLite File ")),s[33]||(s[33]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),a("div",Qs,[t(e(S),{id:"file-path",placeholder:"/Users/you/data/app.sqlite",modelValue:e(k).filePath,"onUpdate:modelValue":s[9]||(s[9]=g=>e(k).filePath=g),readonly:e(X)},null,8,["modelValue","readonly"]),e(X)?(c(),V(e(O),{key:0,type:"button",variant:"outline",onClick:e(Te)},{default:o(()=>s[34]||(s[34]=[u(" Browse ")])),_:1},8,["onClick"])):T("",!0)]),a("p",Gs,[e(X)?(c(),x(U,{key:0},[u(" Choose a local SQLite database file from the desktop app. ")],64)):b.value?(c(),x(U,{key:1},[u(" Enter a SQLite file path that this app runtime can read. In hosted web deployments, this path is on the server. ")],64)):(c(),x(U,{key:2},[u(" SQLite file connections are disabled in this deployment. ")],64))])])]),_:1}),t(e(F),{value:"managed",class:"space-y-6 pt-2"},{default:o(()=>[a("div",Ys,[t(e(D),null,{default:o(()=>s[35]||(s[35]=[u("SQLite Provider")])),_:1}),a("div",Ws,[t(e(O),{type:"button",variant:e(d).provider===e(R).CLOUDFLARE_D1?"default":"outline",class:"justify-start h-auto py-3",onClick:s[10]||(s[10]=g=>e(d).provider=e(R).CLOUDFLARE_D1)},{default:o(()=>[a("div",Xs,[a("div",Zs,[t(e($),{name:"devicon:cloudflare",class:"h-4 w-4 inline-block"}),s[36]||(s[36]=u(" Cloudflare D1 "))]),s[37]||(s[37]=a("div",{class:"text-xs opacity-80"}," Remote SQLite over the Cloudflare API ",-1))])]),_:1},8,["variant"]),t(e(O),{type:"button",variant:e(d).provider===e(R).TURSO?"default":"outline",class:"justify-start h-auto py-3",onClick:s[11]||(s[11]=g=>e(d).provider=e(R).TURSO)},{default:o(()=>[a("div",Js,[a("div",ea,[t(e($),{name:"simple-icons:turso",class:"text-[#4ff8d2]"}),s[38]||(s[38]=u(" Turso "))]),s[39]||(s[39]=a("div",{class:"text-xs opacity-80"}," libSQL endpoint with optional branch routing ",-1))])]),_:1},8,["variant"])])]),e(d).provider===e(R).CLOUDFLARE_D1?(c(),x("div",ta,[a("div",sa,[t(e(D),{for:"d1-account-id"},{default:o(()=>s[40]||(s[40]=[u("Account ID "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"d1-account-id",modelValue:e(d).accountId,"onUpdate:modelValue":s[12]||(s[12]=g=>e(d).accountId=g),placeholder:"Cloudflare account ID"},null,8,["modelValue"])]),a("div",aa,[t(e(D),{for:"d1-database-id"},{default:o(()=>s[41]||(s[41]=[u("Database ID "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"d1-database-id",modelValue:e(d).databaseId,"onUpdate:modelValue":s[13]||(s[13]=g=>e(d).databaseId=g),placeholder:"D1 database ID"},null,8,["modelValue"])]),a("div",oa,[t(e(D),{for:"d1-database-name"},{default:o(()=>s[42]||(s[42]=[u("Database Name")])),_:1}),t(e(S),{id:"d1-database-name",modelValue:e(d).databaseName,"onUpdate:modelValue":s[14]||(s[14]=g=>e(d).databaseName=g),placeholder:"Optional display name"},null,8,["modelValue"])]),a("div",la,[t(e(D),{for:"d1-api-token"},{default:o(()=>s[43]||(s[43]=[u("API Token "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"d1-api-token",type:"password",modelValue:e(d).apiToken,"onUpdate:modelValue":s[15]||(s[15]=g=>e(d).apiToken=g),placeholder:"Cloudflare API token"},null,8,["modelValue"])])])):(c(),x("div",na,[a("div",ra,[t(e(D),{for:"turso-url"},{default:o(()=>s[44]||(s[44]=[u("Database URL "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"turso-url",modelValue:e(d).url,"onUpdate:modelValue":s[16]||(s[16]=g=>e(d).url=g),placeholder:"libsql://your-db.turso.io",class:"font-mono text-sm"},null,8,["modelValue"])]),a("div",da,[t(e(D),{for:"turso-auth-token"},{default:o(()=>s[45]||(s[45]=[u("Auth Token "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"turso-auth-token",type:"password",modelValue:e(d).authToken,"onUpdate:modelValue":s[17]||(s[17]=g=>e(d).authToken=g),placeholder:"Turso auth token"},null,8,["modelValue"])]),a("div",ia,[t(e(D),{for:"turso-branch-name"},{default:o(()=>s[46]||(s[46]=[u("Branch")])),_:1}),t(e(S),{id:"turso-branch-name",modelValue:e(d).branchName,"onUpdate:modelValue":s[18]||(s[18]=g=>e(d).branchName=g),placeholder:"main"},null,8,["modelValue"])])])),s[47]||(s[47]=a("p",{class:"text-xs text-muted-foreground"}," Managed SQLite providers stay on the SQL-family workspace after validation, but use provider-specific transport under the hood. ",-1))]),_:1})]),_:1},8,["modelValue"]),t(vs,{"test-status":e(A),"error-message":e(Ce)},null,8,["test-status","error-message"])]),t(e(_e),{class:"p-6 pt-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-between sm:space-x-2"},{default:o(()=>[a("div",ua,[t(e(O),{variant:"outline",onClick:e(Ve),size:"sm"},{default:o(()=>[t(e($),{name:"hugeicons:arrow-left-02"}),s[48]||(s[48]=u(" Back "))]),_:1},8,["onClick"])]),a("div",pa,[t(e(O),{variant:"outline",onClick:e(Se),size:"sm",disabled:e(A)==="testing"||!e(oe)},{default:o(()=>[e(A)==="testing"?(c(),V(e($),{key:0,name:"hugeicons:loading-03",class:"mr-2 size-4 animate-spin"})):T("",!0),s[49]||(s[49]=u(" Test "))]),_:1},8,["onClick","disabled"]),t(e(O),{id:"tour-create-update-connection-btn",onClick:e(we),size:"sm",disabled:e(A)==="testing"||!e(oe)},{default:o(()=>[u(L(w.editingConnection?"Update":"Create"),1)]),_:1},8,["onClick","disabled"])])]),_:1})]))]),_:1})]),_:1},8,["open"]))}});export{ba as _};
1
+ import{c as I,ar as Le,bI as ne,d as E,as as Pe,cW as qe,aa as Q,aj as fe,k as V,o as c,w as o,D as q,g as e,ak as me,bL as Oe,at as Ne,a as Re,r as G,e as x,F as U,f as t,a0 as O,s as j,z as u,d8 as re,t as L,l as T,m as a,n as P,d9 as Me,A as $,da as Fe,bN as ze,p as Y,j as ee,ae as He,db as Ke,bn as D,bq as ve,bo as S,_ as je,h as Qe,bS as Ge,x as Ye,B as N,q as We,bm as de,X as ge,Y as ye,Z as be,$ as _e,b as Xe,a6 as ie,a1 as Ze,bE as Je,i as M,bF as et,aZ as tt,bG as st,a5 as Z,dc as F,aF as R,W as at}from"./D0lW43G8.js";import{u as ot,_ as lt,a as nt,b as rt,c as dt,d as z,e as it}from"./CRqiHVA4.js";import{i as ut,_ as ue}from"./Db3rTgnd.js";import{i as pt,u as ct,d as ft,a as mt}from"./Chx1IK9D.js";import{C as vt,a as gt,b as yt}from"./C-Pa1rIR.js";import{_ as H}from"./BMLhg7hE.js";function bt({type:f,defaultValue:n,modelValue:r}){const l=r||n;return r!==void 0||n!==void 0?Array.isArray(l)?"multiple":"single":f??"single"}function _t({type:f,defaultValue:n,modelValue:r}){return f||bt({type:f,defaultValue:n,modelValue:r})}function xt({type:f,defaultValue:n}){return n!==void 0?n:f==="single"?void 0:[]}function Dt(f,n){const r=I(()=>_t(f)),l=Le(f,"modelValue",n,{defaultValue:xt(f),passive:f.modelValue===void 0,deep:!0});function p(m){if(r.value==="single")l.value=ne(m,l.value)?void 0:m;else{const b=Array.isArray(l.value)?[...l.value||[]]:[l.value].filter(Boolean);if(ut(b,m)){const i=b.findIndex(_=>ne(_,m));b.splice(i,1)}else b.push(m);l.value=b}}const y=I(()=>r.value==="single");return{modelValue:l,changeModelValue:p,isSingle:y}}const[W,ht]=fe("AccordionRoot");var Ct=E({__name:"AccordionRoot",props:{collapsible:{type:Boolean,required:!1,default:!1},disabled:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},orientation:{type:String,required:!1,default:"vertical"},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},type:{type:String,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1}},emits:["update:modelValue"],setup(f,{emit:n}){const r=f,l=n,{dir:p,disabled:y,unmountOnHide:m}=Pe(r),b=qe(p),{modelValue:i,changeModelValue:_,isSingle:B}=Dt(r,l),{forwardRef:h,currentElement:C}=Q();return ht({disabled:y,direction:b,orientation:r.orientation,parentElement:C,isSingle:B,collapsible:r.collapsible,modelValue:i,changeModelValue:_,unmountOnHide:m}),(k,d)=>(c(),V(e(me),{ref:e(h),"as-child":k.asChild,as:k.as},{default:o(()=>[q(k.$slots,"default",{modelValue:e(i)})]),_:3},8,["as-child","as"]))}}),kt=Ct,J=function(f){return f.Open="open",f.Closed="closed",f}(J||{});const[te,Vt]=fe("AccordionItem");var St=E({__name:"AccordionItem",props:{disabled:{type:Boolean,required:!1},value:{type:String,required:!0},unmountOnHide:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f,{expose:n}){const r=f,l=W(),p=I(()=>l.isSingle.value?r.value===l.modelValue.value:Array.isArray(l.modelValue.value)&&l.modelValue.value.includes(r.value)),y=I(()=>l.disabled.value||r.disabled),m=I(()=>y.value?"":void 0),b=I(()=>p.value?J.Open:J.Closed);n({open:p,dataDisabled:m});const{currentRef:i,currentElement:_}=Q();Vt({open:p,dataState:b,disabled:y,dataDisabled:m,triggerId:"",currentRef:i,currentElement:_,value:I(()=>r.value)});function B(h){var v;const C=h.target;if(Array.from(((v=l.parentElement.value)==null?void 0:v.querySelectorAll("[data-reka-collection-item]"))??[]).findIndex(A=>A===C)===-1)return null;ot(h,C,l.parentElement.value,{arrowKeyOptions:l.orientation,dir:l.direction.value,focus:!0})}return(h,C)=>(c(),V(e(vt),{"data-orientation":e(l).orientation,"data-disabled":m.value,"data-state":b.value,disabled:y.value,open:p.value,as:r.as,"as-child":r.asChild,"unmount-on-hide":r.unmountOnHide??e(l).unmountOnHide.value,onKeydown:Oe(B,["up","down","left","right","home","end"])},{default:o(()=>[q(h.$slots,"default",{open:p.value})]),_:3},8,["data-orientation","data-disabled","data-state","disabled","open","as","as-child","unmount-on-hide"]))}}),wt=St,$t=E({__name:"AccordionContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f){const n=f,r=W(),l=te();return Q(),(p,y)=>(c(),V(e(gt),{role:"region","as-child":n.asChild,as:p.as,"force-mount":n.forceMount,"aria-labelledby":e(l).triggerId,"data-state":e(l).dataState.value,"data-disabled":e(l).dataDisabled.value,"data-orientation":e(r).orientation,style:{"--reka-accordion-content-width":"var(--reka-collapsible-content-width)","--reka-accordion-content-height":"var(--reka-collapsible-content-height)"},onContentFound:y[0]||(y[0]=m=>e(r).changeModelValue(e(l).value.value))},{default:o(()=>[q(p.$slots,"default")]),_:3},8,["as-child","as","force-mount","aria-labelledby","data-state","data-disabled","data-orientation"]))}}),At=$t,Et=E({__name:"AccordionHeader",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h3"}},setup(f){const n=f,r=W(),l=te();return Q(),(p,y)=>(c(),V(e(me),{as:n.as,"as-child":n.asChild,"data-orientation":e(r).orientation,"data-state":e(l).dataState.value,"data-disabled":e(l).dataDisabled.value},{default:o(()=>[q(p.$slots,"default")]),_:3},8,["as","as-child","data-orientation","data-state","data-disabled"]))}}),It=Et,Tt=E({__name:"AccordionTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(f){const n=f,r=W(),l=te();l.triggerId||(l.triggerId=Ne(void 0,"reka-accordion-trigger"));function p(){const y=r.isSingle.value&&l.open.value&&!r.collapsible;l.disabled.value||y||r.changeModelValue(l.value.value)}return(y,m)=>(c(),V(e(yt),{id:e(l).triggerId,ref:e(l).currentRef,"data-reka-collection-item":"",as:n.as,"as-child":n.asChild,"aria-disabled":e(l).disabled.value||void 0,"aria-expanded":e(l).open.value||!1,"data-disabled":e(l).dataDisabled.value,"data-orientation":e(r).orientation,"data-state":e(l).dataState.value,disabled:e(l).disabled.value,onClick:p},{default:o(()=>[q(y.$slots,"default")]),_:3},8,["id","as","as-child","aria-disabled","aria-expanded","data-disabled","data-orientation","data-state","disabled"]))}}),Bt=Tt;const Ut={key:0,class:"text-sm text-muted-foreground"},Lt={key:0,class:"px-2 py-1 text-xs text-muted-foreground select-none"},Pt={role:"listbox","aria-multiselectable":"true",class:"space-y-0.5"},qt=["aria-selected","aria-disabled"],Ot=["disabled","onClick"],Nt={key:0,viewBox:"0 0 12 12",class:"size-3 fill-current"},Rt={class:"flex-1 truncate text-left"},Mt={key:1,class:"px-2 py-3 text-center text-xs text-muted-foreground"},pe=3,Ft=E({__name:"EnvTagPicker",props:{modelValue:{}},emits:["update:modelValue"],setup(f,{emit:n}){const r=f,l=n,p=Re(),y=I(()=>r.modelValue.length>=pe);function m(h){return r.modelValue.includes(h)}function b(h){m(h)?l("update:modelValue",r.modelValue.filter(C=>C!==h)):y.value||l("update:modelValue",[...r.modelValue,h])}const i=I(()=>p.tags.filter(h=>r.modelValue.includes(h.id))),_=G(!1);function B(h){y.value||l("update:modelValue",[...r.modelValue,h.id])}return(h,C)=>{const k=$;return c(),x(U,null,[t(e(lt),null,{default:o(()=>[t(e(nt),{"as-child":""},{default:o(()=>[t(e(O),{type:"button",variant:"outline",class:"h-auto min-h-9 w-full justify-start gap-1 px-2 py-1 flex-wrap"},{default:o(()=>[i.value.length===0?(c(),x("span",Ut,"Assign tags…")):(c(!0),x(U,{key:1},j(i.value,d=>(c(),x("span",{key:d.id,class:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-xs font-medium"},[t(re,{color:d.color,size:"sm"},null,8,["color"]),u(" "+L(d.name),1)]))),128))]),_:1})]),_:1}),t(e(rt),{class:"w-56 p-1",align:"start","side-offset":4,"restore-focus":!1},{default:o(()=>[y.value?(c(),x("p",Lt," Max "+L(pe)+" tags selected ")):T("",!0),a("ul",Pt,[(c(!0),x(U,null,j(e(p).tags,d=>(c(),x("li",{key:d.id,role:"option","aria-selected":m(d.id),"aria-disabled":y.value&&!m(d.id)},[a("button",{type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-sm transition-colors hover:bg-accent focus-visible:bg-accent focus-visible:outline-none disabled:pointer-events-none disabled:opacity-40",disabled:y.value&&!m(d.id),onClick:v=>b(d.id)},[a("span",{class:P(["flex size-4 items-center justify-center rounded-sm border",m(d.id)?"border-primary bg-primary text-primary-foreground":"border-input"])},[m(d.id)?(c(),x("svg",Nt,C[2]||(C[2]=[a("path",{d:"M10 3L5 8.5 2 5.5",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,-1)]))):T("",!0)],2),t(re,{color:d.color,size:"md"},null,8,["color"]),a("span",Rt,L(d.name),1)],8,Ot)],8,qt))),128))]),e(p).tags.length===0?(c(),x("p",Mt," No tags configured ")):T("",!0),t(e(Me),{class:"my-1"}),a("button",{type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-foreground transition-colors focus-visible:outline-none focus-visible:bg-accent",onClick:C[0]||(C[0]=d=>_.value=!0)},[t(k,{name:"hugeicons:plus-sign",class:"size-4"}),C[3]||(C[3]=u(" Add new tag "))])]),_:1})]),_:1}),t(Fe,{open:_.value,"onUpdate:open":C[1]||(C[1]=d=>_.value=d),onCreated:B},null,8,["open"])],64)}}}),ce=E({__name:"Accordion",props:{collapsible:{type:Boolean},disabled:{type:Boolean},dir:{},orientation:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},type:{},modelValue:{},defaultValue:{}},emits:["update:modelValue"],setup(f,{emit:n}){const p=ze(f,n);return(y,m)=>(c(),V(e(kt),Y({"data-slot":"accordion"},e(p)),{default:o(()=>[q(y.$slots,"default")]),_:3},16))}}),xe=E({__name:"AccordionContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(f){const n=f,r=I(()=>{const{class:l,...p}=n;return p});return(l,p)=>(c(),V(e(At),Y({"data-slot":"accordion-content"},r.value,{class:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"}),{default:o(()=>[a("div",{class:P(e(ee)("pt-0 pb-4",n.class))},[q(l.$slots,"default")],2)]),_:3},16))}}),De=E({__name:"AccordionItem",props:{disabled:{type:Boolean},value:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(f){const n=f,r=I(()=>{const{class:p,...y}=n;return y}),l=He(r);return(p,y)=>(c(),V(e(wt),Y({"data-slot":"accordion-item"},e(l),{class:e(ee)("border-b last:border-b-0",n.class)}),{default:o(()=>[q(p.$slots,"default")]),_:3},16,["class"]))}}),he=E({__name:"AccordionTrigger",props:{asChild:{type:Boolean},as:{},class:{}},setup(f){const n=f,r=I(()=>{const{class:l,...p}=n;return p});return(l,p)=>(c(),V(e(It),{class:"flex"},{default:o(()=>[t(e(Bt),Y({"data-slot":"accordion-trigger"},r.value,{class:e(ee)("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",n.class)}),{default:o(()=>[q(l.$slots,"default"),q(l.$slots,"icon",{},()=>[t(e(Ke),{class:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})])]),_:3},16,["class"])]),_:3}))}});function K(f){const n=G(!1);return{isDragging:n,onDragOver:y=>{y.preventDefault(),n.value=!0},onDragLeave:()=>{n.value=!1},onDrop:async y=>{var _;y.preventDefault(),n.value=!1;const m=(_=y.dataTransfer)==null?void 0:_.files;if(!m||m.length===0)return;const b=m[0],i=new FileReader;i.onload=B=>{var C;const h=(C=B.target)==null?void 0:C.result;f&&f(h)},i.readAsText(b)}}}const zt={class:"flex items-center gap-2"},Ht={class:"flex items-center justify-between"},Kt={class:"grid grid-cols-4 gap-4"},jt={class:"col-span-3 space-y-2"},Qt={class:"space-y-2"},Gt={class:"grid grid-cols-2 gap-4"},Yt={class:"space-y-2"},Wt={class:"space-y-2"},Xt={class:"relative"},Zt=["aria-label"],Jt={class:"flex items-center gap-2"},es={class:"space-y-4 pt-2 border-t"},ts={class:"flex items-center gap-2"},ss={key:0,class:"space-y-2"},as=E({__name:"ConnectionSSHTunnel",props:{formData:{}},setup(f){const n=f,{onDragOver:r,onDragLeave:l,onDrop:p,isDragging:y}=K(b=>{n.formData.sshPrivateKey=b}),m=G(!1);return(b,i)=>(c(),V(e(De),{value:"ssh"},{default:o(()=>[t(e(he),{class:"hover:no-underline"},{default:o(()=>[a("div",zt,[t(e($),{name:"lucide:terminal",class:"size-4 text-primary"}),i[9]||(i[9]=a("span",null,"SSH Tunnel",-1))])]),_:1}),t(e(xe),{class:"space-y-4 pt-4 px-1"},{default:o(()=>[a("div",Ht,[t(e(D),{for:"ssh-enabled"},{default:o(()=>i[10]||(i[10]=[u("Over SSH")])),_:1}),t(e(ve),{id:"ssh-enabled","model-value":b.formData.sshEnabled,"onUpdate:modelValue":i[0]||(i[0]=_=>b.formData.sshEnabled=_)},null,8,["model-value"])]),b.formData.sshEnabled?(c(),x(U,{key:0},[a("div",Kt,[a("div",jt,[t(e(D),{for:"ssh-host"},{default:o(()=>i[11]||(i[11]=[u("Server")])),_:1}),t(e(S),{id:"ssh-host",placeholder:"e.g. ssh.example.com or 1.2.3.4",modelValue:b.formData.sshHost,"onUpdate:modelValue":i[1]||(i[1]=_=>b.formData.sshHost=_)},null,8,["modelValue"])]),a("div",Qt,[t(e(D),{for:"ssh-port"},{default:o(()=>i[12]||(i[12]=[u("Port")])),_:1}),t(e(S),{id:"ssh-port",type:"number",placeholder:"22",modelValue:b.formData.sshPort,"onUpdate:modelValue":i[2]||(i[2]=_=>b.formData.sshPort=_)},null,8,["modelValue"])])]),a("div",Gt,[a("div",Yt,[t(e(D),{for:"ssh-user"},{default:o(()=>i[13]||(i[13]=[u("User")])),_:1}),t(e(S),{id:"ssh-user",placeholder:"e.g. root or ubuntu",modelValue:b.formData.sshUsername,"onUpdate:modelValue":i[3]||(i[3]=_=>b.formData.sshUsername=_)},null,8,["modelValue"])]),a("div",Wt,[t(e(D),{for:"ssh-password"},{default:o(()=>i[14]||(i[14]=[u("Password")])),_:1}),a("div",Xt,[t(e(S),{id:"ssh-password",type:e(m)?"text":"password",placeholder:"SSH password (optional if using key)",modelValue:b.formData.sshPassword,"onUpdate:modelValue":i[4]||(i[4]=_=>b.formData.sshPassword=_),class:"pr-8"},null,8,["type","modelValue"]),a("button",{type:"button",class:"absolute right-2 top-1/2 h-4 cursor-pointer -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",onClick:i[5]||(i[5]=_=>m.value=!e(m)),"aria-label":e(m)?"Hide password":"Show password"},[t(e($),{name:e(m)?"hugeicons:view":"hugeicons:view-off",class:"size-4!"},null,8,["name"])],8,Zt)])])]),a("div",Jt,[t(e(ue),{id:"ssh-keychain","model-value":b.formData.sshStoreInKeychain,"onUpdate:modelValue":i[6]||(i[6]=_=>b.formData.sshStoreInKeychain=_)},null,8,["model-value"]),t(e(D),{for:"ssh-keychain",class:"text-sm font-normal"},{default:o(()=>i[15]||(i[15]=[u("Store in keychain")])),_:1})]),a("div",es,[a("div",ts,[t(e(ue),{id:"ssh-use-key","model-value":b.formData.sshUseKey,"onUpdate:modelValue":i[7]||(i[7]=_=>b.formData.sshUseKey=_)},null,8,["model-value"]),t(e(D),{for:"ssh-use-key",class:"text-sm font-semibold"},{default:o(()=>i[16]||(i[16]=[u("SSH Key Authentication")])),_:1})]),b.formData.sshUseKey?(c(),x("div",ss,[t(e(D),{for:"ssh-key-file"},{default:o(()=>i[17]||(i[17]=[u("Private Key")])),_:1}),t(e(H),{id:"ssh-key-file",modelValue:b.formData.sshPrivateKey,"onUpdate:modelValue":i[8]||(i[8]=_=>b.formData.sshPrivateKey=_),placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----\\n...\\n-----END OPENSSH PRIVATE KEY-----",class:P(["min-h-[100px] max-h-[200px] text-xs font-mono",e(y)?"ring-2 ring-primary":""]),onDragover:e(r),onDragleave:e(l),onDrop:e(p)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),i[18]||(i[18]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .key file here, or paste the SSH private key content ",-1))])):T("",!0)])],64)):T("",!0)]),_:1})]),_:1}))}}),os={class:"flex items-center gap-2"},ls={class:"flex items-center justify-between"},ns={class:"space-y-2"},rs={class:"space-y-4"},ds={class:"space-y-2"},is={class:"space-y-2"},us={class:"space-y-2"},ps=E({__name:"ConnectionSSLConfig",props:{formData:{}},setup(f){const n=f,{onDragOver:r,onDragLeave:l,onDrop:p,isDragging:y}=K(d=>{n.formData.sslCA=d}),{onDragOver:m,onDragLeave:b,onDrop:i,isDragging:_}=K(d=>{n.formData.sslCert=d}),{onDragOver:B,onDragLeave:h,onDrop:C,isDragging:k}=K(d=>{n.formData.sslKey=d});return(d,v)=>(c(),V(e(De),{value:"ssl"},{default:o(()=>[t(e(he),{class:"hover:no-underline"},{default:o(()=>[a("div",os,[t(e($),{name:"hugeicons:security-check",class:"size-4 text-primary"}),v[5]||(v[5]=a("span",null,"SSL Configuration",-1))])]),_:1}),t(e(xe),{class:"space-y-4 pt-4 px-1"},{default:o(()=>[a("div",ls,[t(e(D),{for:"ssl-enabled"},{default:o(()=>v[6]||(v[6]=[u("Enable SSL")])),_:1}),t(e(ve),{id:"ssl-enabled","model-value":d.formData.sslEnabled,"onUpdate:modelValue":v[0]||(v[0]=A=>d.formData.sslEnabled=A)},null,8,["model-value"])]),d.formData.sslEnabled?(c(),x(U,{key:0},[a("div",ns,[t(e(D),{for:"ssl-mode"},{default:o(()=>v[7]||(v[7]=[u("SSL Mode")])),_:1}),t(e(je),{modelValue:d.formData.sslMode,"onUpdate:modelValue":v[1]||(v[1]=A=>d.formData.sslMode=A)},{default:o(()=>[t(e(Qe),{id:"ssl-mode"},{default:o(()=>[t(e(Ge),{placeholder:"Select mode"})]),_:1}),t(e(Ye),null,{default:o(()=>[t(e(N),{value:"disable"},{default:o(()=>v[8]||(v[8]=[u("Disable")])),_:1}),t(e(N),{value:"preferred"},{default:o(()=>v[9]||(v[9]=[u("Preferred")])),_:1}),t(e(N),{value:"require"},{default:o(()=>v[10]||(v[10]=[u("Require")])),_:1}),t(e(N),{value:"verify-ca"},{default:o(()=>v[11]||(v[11]=[u("Verify CA")])),_:1}),t(e(N),{value:"verify-full"},{default:o(()=>v[12]||(v[12]=[u("Verify Full")])),_:1})]),_:1})]),_:1},8,["modelValue"])]),a("div",rs,[a("div",ds,[t(e(D),{for:"ssl-ca"},{default:o(()=>v[13]||(v[13]=[u("CA Certificate")])),_:1}),t(e(H),{id:"ssl-ca",modelValue:d.formData.sslCA,"onUpdate:modelValue":v[2]||(v[2]=A=>d.formData.sslCA=A),placeholder:"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",class:P(["min-h-[80px] max-h-[160px] text-xs font-mono",e(y)?"ring-2 ring-primary":""]),onDragover:e(r),onDragleave:e(l),onDrop:e(p)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[14]||(v[14]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .crt file here, or paste the CA certificate content ",-1))]),a("div",is,[t(e(D),{for:"ssl-cert"},{default:o(()=>v[15]||(v[15]=[u("Client Certificate")])),_:1}),t(e(H),{id:"ssl-cert",modelValue:d.formData.sslCert,"onUpdate:modelValue":v[3]||(v[3]=A=>d.formData.sslCert=A),placeholder:"-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",class:P(["min-h-[80px] max-h-[160px] text-xs font-mono",e(_)?"ring-2 ring-primary":""]),onDragover:e(m),onDragleave:e(b),onDrop:e(i)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[16]||(v[16]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .crt file here, or paste the client certificate content ",-1))]),a("div",us,[t(e(D),{for:"ssl-key"},{default:o(()=>v[17]||(v[17]=[u("SSL Key")])),_:1}),t(e(H),{id:"ssl-key",modelValue:d.formData.sslKey,"onUpdate:modelValue":v[4]||(v[4]=A=>d.formData.sslKey=A),placeholder:"-----BEGIN RSA PRIVATE KEY-----\\n...\\n-----END RSA PRIVATE KEY-----",class:P(["min-h-[80px] max-h-[160px] text-xs font-mono",e(k)?"ring-2 ring-primary":""]),onDragover:e(B),onDragleave:e(h),onDrop:e(C)},null,8,["modelValue","class","onDragover","onDragleave","onDrop"]),v[18]||(v[18]=a("p",{class:"text-xs text-muted-foreground"}," Drop a .pem / .key file here, or paste the private key content ",-1))])])],64)):T("",!0)]),_:1})]),_:1}))}}),cs={key:0,class:"flex items-center gap-2 rounded-md border p-3 text-sm"},fs={key:1,class:"flex items-center gap-2 rounded-md border border-green-200 bg-green-50 p-3 text-sm text-green-600 dark:border-green-900 dark:bg-green-950/50 dark:text-green-400"},ms={key:2,class:"flex items-center gap-2 rounded-md border border-red-200 bg-red-50 p-3 text-sm text-red-600 dark:border-red-900 dark:bg-red-950/50 dark:text-red-400"},vs=E({__name:"ConnectionStatusSection",props:{testStatus:{},errorMessage:{}},setup(f){const n=f;return(r,l)=>(c(),x(U,null,[r.testStatus==="testing"?(c(),x("div",cs,[t(e($),{name:"hugeicons:loading-03",class:"animate-spin size-5!"}),l[0]||(l[0]=a("span",null,"Testing connection...",-1))])):T("",!0),r.testStatus==="success"?(c(),x("div",fs,[t(e($),{name:"hugeicons:checkmark-circle-02",class:"shrink-0 size-4"}),l[1]||(l[1]=a("span",null,"Connection successful! Your database is ready to use.",-1))])):T("",!0),r.testStatus==="error"?(c(),x("div",ms,[t(e($),{name:"hugeicons:cancel-01",class:"shrink-0 size-4"}),a("span",null,L(n.errorMessage||"Connection failed. Please check your details and try again."),1)])):T("",!0)],64))}}),gs={class:"flex flex-col items-center gap-1.5 text-center"},ys={key:0,class:"text-xxs leading-4 text-muted-foreground px-2"},bs={class:"flex items-center justify-center gap-1.5 min-h-3.5"},_s=E({__name:"DatabaseTypeCard",props:{name:{},icon:{},description:{},selected:{type:Boolean},isSupport:{type:Boolean},isBeta:{type:Boolean},iconClass:{},unsupportedLabel:{}},setup(f){return(n,r)=>(c(),V(e(dt),{class:P(e(z)("relative",n.isSupport?"cursor-pointer":"opacity-90 cursor-not-allowed ",n.selected&&n.isSupport?"border-muted-foreground shadow-lg":"border-transparent bg-background"))},{default:o(()=>[t(e(it),{class:"flex flex-col items-center justify-center p-0 w-full"},{default:o(()=>[a("div",{class:P(e(z)("flex items-center justify-center rounded-xl p-2 transition-transform duration-300",n.selected&&n.isSupport?"scale-105":"group-hover:scale-105",!n.isSupport&&"opacity-40"))},[(c(),V(We(n.icon),{class:P(e(z)("size-12",n.iconClass))},null,8,["class"]))],2),a("div",gs,[a("span",{class:P(e(z)("text-sm font-medium tracking-tight transition-colors",n.selected&&n.isSupport?"text-primary":"text-foreground/70",!n.isSupport&&"text-muted-foreground"))},L(n.name),3),n.description?(c(),x("p",ys,L(n.description),1)):T("",!0),a("div",bs,[n.isBeta?(c(),V(e(de),{key:0,variant:"outline",class:"text-[9px] px-1.5 py-0 h-3.5 uppercase tracking-widest font-bold border-amber-500/40 text-amber-600"},{default:o(()=>r[0]||(r[0]=[u(" Beta ")])),_:1})):T("",!0),n.isSupport?T("",!0):(c(),V(e(de),{key:1,variant:"secondary",class:"text-[9px] px-1.5 py-0 h-3.5 uppercase tracking-widest font-bold opacity-60"},{default:o(()=>[u(L(n.unsupportedLabel||"Soon"),1)]),_:1}))])])]),_:1})]),_:1},8,["class"]))}}),xs={class:"flex flex-col h-full overflow-hidden"},Ds={class:"flex-1 overflow-y-auto px-6 pb-4 pt-1"},hs={id:"tour-database-type-cards",class:"grid grid-cols-2 gap-3 py-2 md:grid-cols-4"},Cs=E({__name:"ConnectionStepType",props:{databaseOptions:{},dbType:{}},emits:["next","close"],setup(f,{emit:n}){const r=l=>{l.isSupport&&l.onClick()};return(l,p)=>{const y=$;return c(),x("div",xs,[t(e(ge),{class:"p-6 pb-3"},{default:o(()=>[t(e(ye),null,{default:o(()=>p[2]||(p[2]=[u("Select Database Type")])),_:1}),t(e(be),null,{default:o(()=>p[3]||(p[3]=[u("Choose the type of database you want to connect to")])),_:1})]),_:1}),a("div",Ds,[a("div",hs,[(c(!0),x(U,null,j(l.databaseOptions,m=>(c(),V(_s,{key:m.type,name:m.name,icon:m.icon,description:m.description,selected:m.isActive,onClick:()=>r(m),isSupport:m.isSupport,isBeta:m.isBeta,"unsupported-label":m.unsupportedLabel,iconClass:"size-10!"},null,8,["name","icon","description","selected","onClick","isSupport","isBeta","unsupported-label"]))),128))])]),t(e(_e),{class:"flex items-center justify-end gap-2 px-6 pb-6 pt-3"},{default:o(()=>[t(e(O),{variant:"outline",onClick:p[0]||(p[0]=m=>l.$emit("close")),size:"sm"},{default:o(()=>p[4]||(p[4]=[u(" Cancel ")])),_:1}),t(e(O),{id:"tour-database-type-next",onClick:p[1]||(p[1]=m=>l.$emit("next")),disabled:!l.dbType,size:"sm"},{default:o(()=>[p[5]||(p[5]=u(" Next ")),t(y,{name:"hugeicons:arrow-right-02"})]),_:1},8,["disabled"])]),_:1})])}}}),ks={key:1,class:"flex flex-col h-full overflow-hidden"},Vs={class:"flex-1 overflow-y-auto p-4 space-y-4"},Ss={key:0,id:"tour-connection-string-tab"},ws={key:1,id:"tour-connection-form-tab"},$s={key:2},As={key:3},Es={class:"grid grid-cols-3 gap-3 mt-2"},Is={class:"col-span-2 space-y-2"},Ts={class:"col-span-1 space-y-2"},Bs={class:"space-y-2"},Us={class:"text-xs text-muted-foreground"},Ls={class:"space-y-4"},Ps={class:"grid grid-cols-4 gap-2"},qs={class:"col-span-3 space-y-2"},Os={class:"space-y-2"},Ns={class:"grid grid-cols-2 gap-2"},Rs={class:"space-y-2"},Ms={class:"space-y-2"},Fs={class:"relative"},zs=["aria-label"],Hs={class:"space-y-2"},Ks={key:0,class:"space-y-4"},js={class:"space-y-2"},Qs={class:"flex gap-2"},Gs={class:"text-xs text-muted-foreground"},Ys={class:"space-y-3"},Ws={class:"grid grid-cols-2 gap-2"},Xs={class:"text-left"},Zs={class:"font-medium"},Js={class:"text-left"},ea={class:"font-medium"},ta={key:0,class:"grid grid-cols-2 gap-3"},sa={class:"space-y-2"},aa={class:"space-y-2"},oa={class:"col-span-2 space-y-2"},la={class:"col-span-2 space-y-2"},na={key:1,class:"grid grid-cols-2 gap-3"},ra={class:"col-span-2 space-y-2"},da={class:"col-span-2 space-y-2"},ia={class:"col-span-2 space-y-2"},ua={class:"flex flex-1 space-x-2"},pa={class:"flex space-x-2"},ba=E({__name:"CreateConnectionModal",props:{open:{type:Boolean},editingConnection:{},workspaceId:{}},emits:["update:open","addNew","update"],setup(f,{emit:n}){const r=f,l=n,p=()=>{l("update:open",!1),setTimeout(Be,300)},y=G(!1),m=Xe(),b=I(()=>pt(m.public.sqlite3ConnectionsEnabled)),{step:i,dbType:_,connectionName:B,connectionMethod:h,connectionString:C,formData:k,managedSqlite:d,tagIds:v,testStatus:A,testErrorMessage:Ce,handleNext:ke,handleBack:Ve,handleTestConnection:Se,handleCreateConnection:we,getDefaultPort:$e,getConnectionPlaceholder:se,availableConnectionMethods:ae,structuredTargetLabel:Ae,structuredTargetPlaceholder:Ee,canUseNetworkOptions:Ie,canPickSqliteFile:X,isFormValid:oe,pickSqliteFile:Te,resetForm:Be}=ct({open:()=>r.open,editingConnection:()=>r.editingConnection,workspaceId:()=>r.workspaceId,onAddNew:w=>l("addNew",w),onUpdate:w=>l("update",w),onClose:p}),Ue=I(()=>ft.map(w=>{const s=mt(w,b.value);return{...w,isSupport:s?!1:w.isSupport,unsupportedLabel:s?"Disabled":w.unsupportedLabel,isActive:_.value===w.type,onClick:()=>_.value=w.type}})),le=I({get:()=>_.value===ie.ORACLE?k.serviceName:k.database,set:w=>{if(_.value===ie.ORACLE){k.serviceName=w;return}k.database=w}});return(w,s)=>(c(),V(e(Ze),{open:w.open,"onUpdate:open":s[20]||(s[20]=g=>w.$emit("update:open",g))},{default:o(()=>[t(e(at),{class:"max-w-[60vw]! w-full h-[60vh]! max-h-[90vh] p-0 flex flex-col overflow-hidden"},{default:o(()=>[e(i)===1?(c(),V(Cs,{key:0,"database-options":Ue.value,"db-type":e(_),onNext:e(ke),onClose:p},null,8,["database-options","db-type","onNext"])):(c(),x("div",ks,[t(e(ge),{class:"p-6 pb-2"},{default:o(()=>[t(e(ye),null,{default:o(()=>s[21]||(s[21]=[u("Connection Details")])),_:1}),t(e(be),null,{default:o(()=>[u(" Enter the details for your "+L(e(_))+" database ",1)]),_:1})]),_:1}),a("div",Vs,[t(e(Je),{modelValue:e(h),"onUpdate:modelValue":s[19]||(s[19]=g=>M(h)?h.value=g:null),class:"w-full"},{default:o(()=>[t(e(et),{class:"grid w-fit",style:tt({gridTemplateColumns:`repeat(${e(ae).length}, minmax(0, 1fr))`}),id:"tour-connection-method-tabs"},{default:o(()=>[(c(!0),x(U,null,j(e(ae),g=>(c(),V(e(st),{key:g,value:g,class:"cursor-pointer"},{default:o(()=>[g===e(Z).STRING?(c(),x("span",Ss," Connection String ")):g===e(Z).FORM?(c(),x("span",ws," Connection Form ")):g===e(Z).MANAGED?(c(),x("span",$s," Managed SQLite ")):(c(),x("span",As,"Database File"))]),_:2},1032,["value"]))),128))]),_:1},8,["style"]),a("div",Es,[a("div",Is,[t(e(D),{for:"connection-name",class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:database",class:"h-3.5 w-3.5 text-muted-foreground"}),s[22]||(s[22]=u(" Connection Name ")),s[23]||(s[23]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(S),{id:"connection-name",placeholder:"My Database Connection",modelValue:e(B),"onUpdate:modelValue":s[0]||(s[0]=g=>M(B)?B.value=g:null)},null,8,["modelValue"])]),a("div",Ts,[t(e(D),{class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:tag-01",class:"h-3.5 w-3.5 text-muted-foreground"}),s[24]||(s[24]=u(" Environment Tags "))]),_:1}),t(e(Ft),{modelValue:e(v),"onUpdate:modelValue":s[1]||(s[1]=g=>M(v)?v.value=g:null)},null,8,["modelValue"])])]),t(e(F),{value:"string",class:"space-y-4 pt-4"},{default:o(()=>[a("div",Bs,[t(e(D),{for:"connection-string",class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:connect",class:"h-3.5 w-3.5 text-muted-foreground"}),s[25]||(s[25]=u(" Connection String ")),s[26]||(s[26]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(S),{id:"connection-string",placeholder:e(se)(),modelValue:e(C),"onUpdate:modelValue":s[2]||(s[2]=g=>M(C)?C.value=g:null),class:"font-mono text-sm"},null,8,["placeholder","modelValue"]),a("p",Us," Example: "+L(e(se)()),1)])]),_:1}),t(e(F),{value:"form",class:"space-y-6 pt-2"},{default:o(()=>[a("div",Ls,[a("div",Ps,[a("div",qs,[t(e(D),{for:"host"},{default:o(()=>s[27]||(s[27]=[u("Host "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"host",placeholder:"localhost",modelValue:e(k).host,"onUpdate:modelValue":s[3]||(s[3]=g=>e(k).host=g)},null,8,["modelValue"])]),a("div",Os,[t(e(D),{for:"port"},{default:o(()=>s[28]||(s[28]=[u("Port "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"port",placeholder:e($e)(),modelValue:e(k).port,"onUpdate:modelValue":s[4]||(s[4]=g=>e(k).port=g)},null,8,["placeholder","modelValue"])])]),a("div",Ns,[a("div",Rs,[t(e(D),{for:"username"},{default:o(()=>s[29]||(s[29]=[u("User "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"username",placeholder:"username",modelValue:e(k).username,"onUpdate:modelValue":s[5]||(s[5]=g=>e(k).username=g)},null,8,["modelValue"])]),a("div",Ms,[t(e(D),{for:"password"},{default:o(()=>s[30]||(s[30]=[u("Password")])),_:1}),a("div",Fs,[t(e(S),{id:"password",type:e(y)?"text":"password",placeholder:"••••••••",modelValue:e(k).password,"onUpdate:modelValue":s[6]||(s[6]=g=>e(k).password=g),class:"pr-8"},null,8,["type","modelValue"]),a("button",{type:"button",class:"absolute right-2 top-1/2 h-5 cursor-pointer -translate-y-1/2 text-muted-foreground hover:text-foreground transition-colors",onClick:s[7]||(s[7]=g=>y.value=!e(y)),"aria-label":e(y)?"Hide password":"Show password"},[t(e($),{name:e(y)?"hugeicons:view":"hugeicons:view-off",class:"size-4!"},null,8,["name"])],8,zs)])])]),a("div",Hs,[t(e(D),{for:"structured-target"},{default:o(()=>[u(L(e(Ae))+" ",1),s[31]||(s[31]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),t(e(S),{id:"structured-target",placeholder:e(Ee),modelValue:le.value,"onUpdate:modelValue":s[8]||(s[8]=g=>le.value=g)},null,8,["placeholder","modelValue"])])]),e(Ie)?(c(),x("div",Ks,[t(e(ce),{type:"single",collapsible:"",class:"w-full border px-4 rounded-lg shadow"},{default:o(()=>[t(ps,{"form-data":e(k)},null,8,["form-data"])]),_:1}),t(e(ce),{type:"single",collapsible:"",class:"w-full border px-4 rounded-lg shadow"},{default:o(()=>[t(as,{"form-data":e(k)},null,8,["form-data"])]),_:1})])):T("",!0)]),_:1}),t(e(F),{value:"file",class:"space-y-4 pt-4"},{default:o(()=>[a("div",js,[t(e(D),{for:"file-path",class:"flex items-center gap-2"},{default:o(()=>[t(e($),{name:"hugeicons:file-01",class:"h-3.5 w-3.5 text-muted-foreground"}),s[32]||(s[32]=u(" SQLite File ")),s[33]||(s[33]=a("span",{class:"text-destructive"},"*",-1))]),_:1}),a("div",Qs,[t(e(S),{id:"file-path",placeholder:"/Users/you/data/app.sqlite",modelValue:e(k).filePath,"onUpdate:modelValue":s[9]||(s[9]=g=>e(k).filePath=g),readonly:e(X)},null,8,["modelValue","readonly"]),e(X)?(c(),V(e(O),{key:0,type:"button",variant:"outline",onClick:e(Te)},{default:o(()=>s[34]||(s[34]=[u(" Browse ")])),_:1},8,["onClick"])):T("",!0)]),a("p",Gs,[e(X)?(c(),x(U,{key:0},[u(" Choose a local SQLite database file from the desktop app. ")],64)):b.value?(c(),x(U,{key:1},[u(" Enter a SQLite file path that this app runtime can read. In hosted web deployments, this path is on the server. ")],64)):(c(),x(U,{key:2},[u(" SQLite file connections are disabled in this deployment. ")],64))])])]),_:1}),t(e(F),{value:"managed",class:"space-y-6 pt-2"},{default:o(()=>[a("div",Ys,[t(e(D),null,{default:o(()=>s[35]||(s[35]=[u("SQLite Provider")])),_:1}),a("div",Ws,[t(e(O),{type:"button",variant:e(d).provider===e(R).CLOUDFLARE_D1?"default":"outline",class:"justify-start h-auto py-3",onClick:s[10]||(s[10]=g=>e(d).provider=e(R).CLOUDFLARE_D1)},{default:o(()=>[a("div",Xs,[a("div",Zs,[t(e($),{name:"devicon:cloudflare",class:"h-4 w-4 inline-block"}),s[36]||(s[36]=u(" Cloudflare D1 "))]),s[37]||(s[37]=a("div",{class:"text-xs opacity-80"}," Remote SQLite over the Cloudflare API ",-1))])]),_:1},8,["variant"]),t(e(O),{type:"button",variant:e(d).provider===e(R).TURSO?"default":"outline",class:"justify-start h-auto py-3",onClick:s[11]||(s[11]=g=>e(d).provider=e(R).TURSO)},{default:o(()=>[a("div",Js,[a("div",ea,[t(e($),{name:"simple-icons:turso",class:"text-[#4ff8d2]"}),s[38]||(s[38]=u(" Turso "))]),s[39]||(s[39]=a("div",{class:"text-xs opacity-80"}," libSQL endpoint with optional branch routing ",-1))])]),_:1},8,["variant"])])]),e(d).provider===e(R).CLOUDFLARE_D1?(c(),x("div",ta,[a("div",sa,[t(e(D),{for:"d1-account-id"},{default:o(()=>s[40]||(s[40]=[u("Account ID "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"d1-account-id",modelValue:e(d).accountId,"onUpdate:modelValue":s[12]||(s[12]=g=>e(d).accountId=g),placeholder:"Cloudflare account ID"},null,8,["modelValue"])]),a("div",aa,[t(e(D),{for:"d1-database-id"},{default:o(()=>s[41]||(s[41]=[u("Database ID "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"d1-database-id",modelValue:e(d).databaseId,"onUpdate:modelValue":s[13]||(s[13]=g=>e(d).databaseId=g),placeholder:"D1 database ID"},null,8,["modelValue"])]),a("div",oa,[t(e(D),{for:"d1-database-name"},{default:o(()=>s[42]||(s[42]=[u("Database Name")])),_:1}),t(e(S),{id:"d1-database-name",modelValue:e(d).databaseName,"onUpdate:modelValue":s[14]||(s[14]=g=>e(d).databaseName=g),placeholder:"Optional display name"},null,8,["modelValue"])]),a("div",la,[t(e(D),{for:"d1-api-token"},{default:o(()=>s[43]||(s[43]=[u("API Token "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"d1-api-token",type:"password",modelValue:e(d).apiToken,"onUpdate:modelValue":s[15]||(s[15]=g=>e(d).apiToken=g),placeholder:"Cloudflare API token"},null,8,["modelValue"])])])):(c(),x("div",na,[a("div",ra,[t(e(D),{for:"turso-url"},{default:o(()=>s[44]||(s[44]=[u("Database URL "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"turso-url",modelValue:e(d).url,"onUpdate:modelValue":s[16]||(s[16]=g=>e(d).url=g),placeholder:"libsql://your-db.turso.io",class:"font-mono text-sm"},null,8,["modelValue"])]),a("div",da,[t(e(D),{for:"turso-auth-token"},{default:o(()=>s[45]||(s[45]=[u("Auth Token "),a("span",{class:"text-destructive"},"*",-1)])),_:1}),t(e(S),{id:"turso-auth-token",type:"password",modelValue:e(d).authToken,"onUpdate:modelValue":s[17]||(s[17]=g=>e(d).authToken=g),placeholder:"Turso auth token"},null,8,["modelValue"])]),a("div",ia,[t(e(D),{for:"turso-branch-name"},{default:o(()=>s[46]||(s[46]=[u("Branch")])),_:1}),t(e(S),{id:"turso-branch-name",modelValue:e(d).branchName,"onUpdate:modelValue":s[18]||(s[18]=g=>e(d).branchName=g),placeholder:"main"},null,8,["modelValue"])])])),s[47]||(s[47]=a("p",{class:"text-xs text-muted-foreground"}," Managed SQLite providers stay on the SQL-family workspace after validation, but use provider-specific transport under the hood. ",-1))]),_:1})]),_:1},8,["modelValue"]),t(vs,{"test-status":e(A),"error-message":e(Ce)},null,8,["test-status","error-message"])]),t(e(_e),{class:"p-6 pt-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-between sm:space-x-2"},{default:o(()=>[a("div",ua,[t(e(O),{variant:"outline",onClick:e(Ve),size:"sm"},{default:o(()=>[t(e($),{name:"hugeicons:arrow-left-02"}),s[48]||(s[48]=u(" Back "))]),_:1},8,["onClick"])]),a("div",pa,[t(e(O),{variant:"outline",onClick:e(Se),size:"sm",disabled:e(A)==="testing"||!e(oe)},{default:o(()=>[e(A)==="testing"?(c(),V(e($),{key:0,name:"hugeicons:loading-03",class:"mr-2 size-4 animate-spin"})):T("",!0),s[49]||(s[49]=u(" Test "))]),_:1},8,["onClick","disabled"]),t(e(O),{id:"tour-create-update-connection-btn",onClick:e(we),size:"sm",disabled:e(A)==="testing"||!e(oe)},{default:o(()=>[u(L(w.editingConnection?"Update":"Create"),1)]),_:1},8,["onClick","disabled"])])]),_:1})]))]),_:1})]),_:1},8,["open"]))}});export{ba as _};
@@ -1 +1 @@
1
- import{r as u,K as s,H as h}from"./BcsKoAPU.js";function B(){const i=u(!1),d=u(0),c=u(null);return{isDownloading:i,downloadedBytes:d,error:c,downloadStream:async f=>{const{url:w,method:y="POST",body:m,filename:a,contentType:v}=f;i.value=!0,d.value=0,c.value=null;const l=s.loading(`Exporting ${a}...`,{description:"Starting download..."});try{const e=await fetch(w,{method:y,headers:{"Content-Type":"application/json"},body:m?JSON.stringify(m):void 0});if(!e.ok){let n="Export failed";try{n=(await e.json()).message||n}catch{}throw new Error(n)}if(!e.body)throw new Error("Response body is not available for streaming");const o=e.body.getReader(),b=[];let t=0;for(;;){const{done:n,value:p}=await o.read();if(n)break;b.push(p),t+=p.length,d.value=t;const R=h(t);s.loading(`Exporting ${a}...`,{id:l,description:`Downloaded ${R}`,position:"bottom-right"})}const E=new Blob(b,{type:v||e.headers.get("Content-Type")||"application/octet-stream"}),g=URL.createObjectURL(E),r=document.createElement("a");r.href=g,r.download=a,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(g);const x=h(t);return s.success(`Exported ${a}`,{id:l,description:`${x} downloaded`,position:"bottom-right"}),{success:!0,size:t}}catch(e){const o=e;return c.value=o,s.error("Export failed",{id:l,description:o.message,position:"bottom-right"}),{success:!1,error:o}}finally{i.value=!1}}}}export{B as u};
1
+ import{r as u,K as s,H as h}from"./D0lW43G8.js";function B(){const i=u(!1),d=u(0),c=u(null);return{isDownloading:i,downloadedBytes:d,error:c,downloadStream:async f=>{const{url:w,method:y="POST",body:m,filename:a,contentType:v}=f;i.value=!0,d.value=0,c.value=null;const l=s.loading(`Exporting ${a}...`,{description:"Starting download..."});try{const e=await fetch(w,{method:y,headers:{"Content-Type":"application/json"},body:m?JSON.stringify(m):void 0});if(!e.ok){let n="Export failed";try{n=(await e.json()).message||n}catch{}throw new Error(n)}if(!e.body)throw new Error("Response body is not available for streaming");const o=e.body.getReader(),b=[];let t=0;for(;;){const{done:n,value:p}=await o.read();if(n)break;b.push(p),t+=p.length,d.value=t;const R=h(t);s.loading(`Exporting ${a}...`,{id:l,description:`Downloaded ${R}`,position:"bottom-right"})}const E=new Blob(b,{type:v||e.headers.get("Content-Type")||"application/octet-stream"}),g=URL.createObjectURL(E),r=document.createElement("a");r.href=g,r.download=a,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(g);const x=h(t);return s.success(`Exported ${a}`,{id:l,description:`${x} downloaded`,position:"bottom-right"}),{success:!0,size:t}}catch(e){const o=e;return c.value=o,s.error("Export failed",{id:l,description:o.message,position:"bottom-right"}),{success:!1,error:o}}finally{i.value=!1}}}}export{B as u};
@@ -0,0 +1 @@
1
+ import{_ as o}from"./CmjR7OTc.js";import{d as e,k as t,o as r}from"./D0lW43G8.js";import"./DChDHsIe.js";import"./C0vscAQB.js";const c=e({__name:"index",setup(a){return(n,_)=>(r(),t(o,{"table-id":void 0}))}});export{c as default};
@@ -1 +1 @@
1
- import{az as m,a6 as a,A as f,aA as ie,a4 as le,a5 as r,aB as N,r as E,aC as G,aD as y,aE as B,aF as T,a as ce,c as v,ah as ue,au as O,aG as de,aH as he,aI as D}from"./BcsKoAPU.js";const Se=[{type:a.POSTGRES,name:"PostgreSQL",icon:m(f,{name:"logos:postgresql"}),isSupport:!0,description:"Relational SQL workflows"},{type:a.MYSQL,name:"MySQL",icon:m(f,{name:"logos:mysql"}),isSupport:!0,isBeta:!0,description:"Relational SQL workflows"},{type:a.MARIADB,name:"MariaDB",icon:m(f,{name:"logos:mariadb-icon"}),isSupport:!0,isBeta:!0,description:"Relational SQL workflows"},{type:a.ORACLE,name:"Oracle",icon:m(f,{name:"simple-icons:oracle",class:"text-red-500"}),isSupport:!1,unsupportedLabel:"Coming soon",description:"Relational SQL workflows"},{type:a.SQLITE3,name:"SQLite",icon:m(f,{name:"file-icons:sqlite"}),isSupport:!0,isBeta:!0,description:"Local file, Cloudflare D1, Turso"},{type:a.REDIS,name:"Redis",icon:m(f,{name:"logos:redis"}),isSupport:!0,isBeta:!0,description:"Browser, workbench, analysis"},{type:a.MSSQL,name:"SQL Server",icon:m(f,{name:"simple-icons:microsoftsqlserver"}),isSupport:!1,unsupportedLabel:"Coming soon"},{type:a.SNOWFLAKE,name:"Snowflake",icon:m(f,{name:"simple-icons:snowflake"}),isSupport:!1,unsupportedLabel:"Coming soon"}],ve={[a.MYSQL2]:a.MYSQL,[a.BETTER_SQLITE3]:a.SQLITE3},pe={[a.POSTGRES]:"5432",[a.MYSQL]:"3306",[a.MARIADB]:"3306",[a.MYSQL2]:"3306",[a.REDIS]:"6379",[a.MSSQL]:"1433",[a.ORACLE]:"1521",[a.BETTER_SQLITE3]:"0",[a.SQLITE3]:"0",[a.SNOWFLAKE]:"443"},Te=t=>{const u=ve[t]??t;return Se.find(d=>d.type===u)},Ae=t=>t!==!1&&t!=="false"&&t!=="0",Re=(t,u)=>t.type===a.SQLITE3&&!u;function me(t){const u=ie({type:t.type,method:t.method,providerKind:"providerKind"in t?t.providerKind:void 0,managedSqlite:"managedSqlite"in t?t.managedSqlite:void 0}),d=le({type:t.type,method:t.method,providerKind:u,managedSqlite:"managedSqlite"in t?t.managedSqlite:void 0});return t.method===r.MANAGED?{...t,providerKind:u,family:d}:{...t,providerKind:u,family:d}}const fe={healthCheck:t=>$fetch("/api/managment-connection/health-check",{method:"POST",body:me(t)})},Ee=new Set([r.STRING,r.FORM]),_=t=>t?t===a.SQLITE3?[r.FILE,r.MANAGED]:[r.STRING,r.FORM]:[],R=()=>({provider:T.CLOUDFLARE_D1,accountId:"",databaseId:"",databaseName:"",apiToken:"",url:"",authToken:"",branchName:""}),Y=t=>t===T.TURSO?D.TURSO:D.CLOUDFLARE_D1,ge=t=>t===a.ORACLE?"serviceName":"database",Le=t=>{switch(t){case a.POSTGRES:return"postgresql";case a.MARIADB:return"mariadb";case a.ORACLE:return"oracledb";case a.REDIS:return"redis";case a.SNOWFLAKE:return"snowflake";case a.MYSQL:case a.MYSQL2:return"mysql";default:return""}},Ie=t=>{const u=t.replace(/\\/g,"/");return`sqlite3://${u.startsWith("/")?"":"/"}${u}`},be=t=>{const u=t.split(/[\\/]/).pop()||"";return u.replace(/\.(sqlite3?|db3?)$/i,"")||u};function Ce(t){const u=N(t.open),d=N(t.editingConnection),$=N(t.workspaceId),I=E(1),c=E(a.POSTGRES),g=E("my-abc-db"),l=E(r.STRING),b=E(""),e=G({host:"",port:"",username:"",password:"",database:"",serviceName:"",filePath:"",sslEnabled:!1,sslMode:B.DISABLE,sslCA:"",sslCert:"",sslKey:"",sslRejectUnauthorized:!0,sshEnabled:!1,sshHost:"",sshPort:22,sshUsername:"",sshAuthMethod:y.PASSWORD,sshPassword:"",sshPrivateKey:"",sshStoreInKeychain:!0,sshUseKey:!1}),i=G(R()),C=E([]),h=E("idle"),p=E(""),j=ce(),H=v(()=>_(c.value)),w=v(()=>ue()),W=v(()=>l.value===r.FILE),K=v(()=>{var n;return c.value===a.SQLITE3&&w.value&&typeof window<"u"&&typeof((n=window.electronAPI)==null?void 0:n.window.pickSqliteFile)=="function"}),A=v(()=>ge(c.value)==="serviceName"),z=v(()=>A.value?"Service Name":"Database"),x=v(()=>A.value?"ORCLPDB1":"my_database"),M=v(()=>Ee.has(l.value)),L=n=>n&&pe[n]||"",V=()=>{const n=j.tags.find(o=>o.name==="dev");return n?[n.id]:[]},J=()=>{if(!(!e.sslEnabled||!M.value))return{mode:e.sslMode,ca:e.sslCA,cert:e.sslCert,key:e.sslKey,rejectUnauthorized:e.sslRejectUnauthorized}},X=()=>{if(!(!e.sshEnabled||!M.value))return{enabled:!0,host:e.sshHost,port:e.sshPort,username:e.sshUsername,authMethod:e.sshUseKey?y.KEY:y.PASSWORD,password:e.sshPassword,privateKey:e.sshPrivateKey,storeInKeychain:e.sshStoreInKeychain,useSshKey:e.sshUseKey}},k=()=>{const n={host:e.host,port:e.port||L(c.value),username:e.username,password:e.password,ssl:J(),ssh:X()};return A.value?n.serviceName=e.serviceName:n.database=e.database,n},q=()=>i.provider===T.TURSO?{provider:T.TURSO,url:i.url,authToken:i.authToken,branchName:i.branchName}:{provider:T.CLOUDFLARE_D1,accountId:i.accountId,databaseId:i.databaseId,databaseName:i.databaseName,apiToken:i.apiToken},Z=()=>{const n=Le(c.value),o=e.port||L(c.value),s=A.value?e.serviceName:e.database;if(!n||!e.host||!e.username||!s)return;const P=e.password?`${e.username}:${e.password}`:e.username;return`${n}://${P}@${e.host}${o?`:${o}`:""}/${s}`},ee=()=>{const n=c.value;if(!n)throw new Error("Database type is required.");return l.value===r.STRING?{type:n,method:r.STRING,stringConnection:b.value}:l.value===r.FILE?{type:a.SQLITE3,method:r.FILE,filePath:e.filePath}:l.value===r.MANAGED?{type:a.SQLITE3,method:r.MANAGED,providerKind:Y(i.provider),managedSqlite:q()}:{type:n,method:r.FORM,...k()}},Q=()=>{I.value=1,c.value=a.POSTGRES,g.value="my-abc-db",l.value=r.STRING,b.value="",e.host="",e.port=L(a.POSTGRES),e.username="",e.password="",e.database="",e.serviceName="",e.filePath="",e.sslEnabled=!1,e.sslMode=B.DISABLE,e.sslCA="",e.sslCert="",e.sslKey="",e.sslRejectUnauthorized=!0,e.sshEnabled=!1,e.sshHost="",e.sshPort=22,e.sshUsername="",e.sshAuthMethod=y.PASSWORD,e.sshPassword="",e.sshPrivateKey="",e.sshStoreInKeychain=!0,e.sshUseKey=!1,Object.assign(i,R()),C.value=V(),h.value="idle",p.value=""},se=()=>{I.value===1&&c.value&&(I.value=2)},ae=()=>{I.value=1,h.value="idle",p.value=""},F=async()=>{var n;if(l.value===r.FILE&&!w.value)return h.value="error",p.value="SQLite file connections are available only in the desktop app.",!1;h.value="testing",p.value="";try{const o=await fe.healthCheck(ee());return o.isConnectedSuccess?(h.value="success",p.value="",!0):(h.value="error",p.value=o.message||"Connection failed. Please check your details and try again.",!1)}catch(o){return h.value="error",p.value=((n=o==null?void 0:o.data)==null?void 0:n.message)||(o==null?void 0:o.message)||"Connection failed. Please check your details and try again.",!1}},te=async()=>{var P,U;const o=!!!d.value;if(o&&!await F())return;const s={workspaceId:$.value,id:((P=d.value)==null?void 0:P.id)||he(),name:g.value,type:c.value,method:l.value,createdAt:((U=d.value)==null?void 0:U.createdAt)||de().toISOString(),tagIds:[...C.value]};if(l.value===r.STRING)s.connectionString=b.value;else if(l.value===r.FILE)s.filePath=e.filePath,s.connectionString=Ie(e.filePath),s.providerKind=D.SQLITE_FILE;else if(l.value===r.MANAGED)s.providerKind=Y(i.provider),s.managedSqlite=q();else{const S=k();s.host=S.host,s.port=S.port,s.username=S.username,s.password=S.password,s.database=S.database,s.serviceName=S.serviceName,s.ssl=S.ssl,s.ssh=S.ssh,s.connectionString=Z()}o?t.onAddNew(s):t.onUpdate(s),t.onClose()},ne=()=>{switch(c.value){case a.POSTGRES:return"postgresql://username:password@localhost:5432/database";case a.MYSQL:case a.MYSQL2:return"mysql://username:password@localhost:3306/database";case a.MARIADB:return"mariadb://username:password@localhost:3306/database";case a.ORACLE:return"oracledb://username:password@localhost:1521/ORCLPDB1";case a.REDIS:return"redis://username:password@localhost:6379";case a.SNOWFLAKE:return"snowflake://username:password@account.snowflakecomputing.com:443/database";case a.SQLITE3:return"/Users/you/data/app.sqlite";default:return""}},oe=async()=>{var o;if(!K.value)return;const n=await((o=window.electronAPI)==null?void 0:o.window.pickSqliteFile());n&&(e.filePath=n,!d.value&&g.value==="my-abc-db"&&(g.value=be(n)),h.value="idle")},re=v(()=>g.value?l.value===r.STRING?!!b.value:l.value===r.FILE?w.value&&!!e.filePath:l.value===r.MANAGED?i.provider===T.TURSO?!!(i.url&&i.authToken):!!(i.accountId&&i.databaseId&&i.apiToken):A.value?!!(e.host&&(e.port||L(c.value))&&e.username&&e.password&&e.serviceName):!!(e.host&&(e.port||L(c.value))&&e.username&&e.database):!1);return O(c,n=>{const o=_(n);o.length>0&&!o.includes(l.value)&&(l.value=o[0]),n===a.SQLITE3?(e.host="",e.port="",e.username="",e.password="",e.database="",e.serviceName="",e.sslEnabled=!1,e.sshEnabled=!1):(e.filePath="",Object.assign(i,R()),n!==a.ORACLE&&(e.serviceName=""),d.value||(e.port=L(n))),h.value="idle"}),O(l,n=>{n!==r.FILE&&(e.filePath=""),n!==r.MANAGED&&Object.assign(i,R()),h.value="idle"}),O(u,n=>{var o;if(n)if(d.value){const s=d.value;g.value=s.name,c.value=s.type,l.value=s.method,b.value=s.connectionString||"",e.host=s.host||"",e.port=s.port||"",e.username=s.username||"",e.password=s.password||"",e.database=s.database||"",e.serviceName=s.serviceName||"",e.filePath=s.filePath||"",Object.assign(i,{...R(),...s.managedSqlite??{}}),e.sslEnabled=!!s.ssl,s.ssl&&(e.sslMode=s.ssl.mode,e.sslCA=s.ssl.ca||"",e.sslCert=s.ssl.cert||"",e.sslKey=s.ssl.key||"",e.sslRejectUnauthorized=s.ssl.rejectUnauthorized??!0),e.sshEnabled=!!((o=s.ssh)!=null&&o.enabled),s.ssh&&(e.sshHost=s.ssh.host||"",e.sshPort=s.ssh.port||22,e.sshUsername=s.ssh.username||"",e.sshAuthMethod=s.ssh.authMethod||y.PASSWORD,e.sshPassword=s.ssh.password||"",e.sshPrivateKey=s.ssh.privateKey||"",e.sshStoreInKeychain=s.ssh.storeInKeychain??!0,e.sshUseKey=s.ssh.useSshKey??s.ssh.authMethod===y.KEY),C.value=[...s.tagIds??[]],I.value=2}else Q()},{immediate:!0}),{step:I,dbType:c,connectionName:g,connectionMethod:l,connectionString:b,formData:e,managedSqlite:i,tagIds:C,testStatus:h,testErrorMessage:p,handleNext:se,handleBack:ae,handleTestConnection:F,handleCreateConnection:te,getDefaultPort:()=>L(c.value),getConnectionPlaceholder:ne,availableConnectionMethods:H,structuredTargetLabel:z,structuredTargetPlaceholder:x,canUseNetworkOptions:M,canPickSqliteFile:K,isFileMethod:W,isFormValid:re,pickSqliteFile:oe,resetForm:Q}}export{Re as a,Se as d,Te as g,Ae as i,Ce as u};
1
+ import{az as m,a6 as a,A as f,aA as ie,a4 as le,a5 as r,aB as N,r as E,aC as G,aD as y,aE as B,aF as T,a as ce,c as v,ah as ue,au as O,aG as de,aH as he,aI as D}from"./D0lW43G8.js";const Se=[{type:a.POSTGRES,name:"PostgreSQL",icon:m(f,{name:"logos:postgresql"}),isSupport:!0,description:"Relational SQL workflows"},{type:a.MYSQL,name:"MySQL",icon:m(f,{name:"logos:mysql"}),isSupport:!0,isBeta:!0,description:"Relational SQL workflows"},{type:a.MARIADB,name:"MariaDB",icon:m(f,{name:"logos:mariadb-icon"}),isSupport:!0,isBeta:!0,description:"Relational SQL workflows"},{type:a.ORACLE,name:"Oracle",icon:m(f,{name:"simple-icons:oracle",class:"text-red-500"}),isSupport:!1,unsupportedLabel:"Coming soon",description:"Relational SQL workflows"},{type:a.SQLITE3,name:"SQLite",icon:m(f,{name:"file-icons:sqlite"}),isSupport:!0,isBeta:!0,description:"Local file, Cloudflare D1, Turso"},{type:a.REDIS,name:"Redis",icon:m(f,{name:"logos:redis"}),isSupport:!0,isBeta:!0,description:"Browser, workbench, analysis"},{type:a.MSSQL,name:"SQL Server",icon:m(f,{name:"simple-icons:microsoftsqlserver"}),isSupport:!1,unsupportedLabel:"Coming soon"},{type:a.SNOWFLAKE,name:"Snowflake",icon:m(f,{name:"simple-icons:snowflake"}),isSupport:!1,unsupportedLabel:"Coming soon"}],ve={[a.MYSQL2]:a.MYSQL,[a.BETTER_SQLITE3]:a.SQLITE3},pe={[a.POSTGRES]:"5432",[a.MYSQL]:"3306",[a.MARIADB]:"3306",[a.MYSQL2]:"3306",[a.REDIS]:"6379",[a.MSSQL]:"1433",[a.ORACLE]:"1521",[a.BETTER_SQLITE3]:"0",[a.SQLITE3]:"0",[a.SNOWFLAKE]:"443"},Te=t=>{const u=ve[t]??t;return Se.find(d=>d.type===u)},Ae=t=>t!==!1&&t!=="false"&&t!=="0",Re=(t,u)=>t.type===a.SQLITE3&&!u;function me(t){const u=ie({type:t.type,method:t.method,providerKind:"providerKind"in t?t.providerKind:void 0,managedSqlite:"managedSqlite"in t?t.managedSqlite:void 0}),d=le({type:t.type,method:t.method,providerKind:u,managedSqlite:"managedSqlite"in t?t.managedSqlite:void 0});return t.method===r.MANAGED?{...t,providerKind:u,family:d}:{...t,providerKind:u,family:d}}const fe={healthCheck:t=>$fetch("/api/managment-connection/health-check",{method:"POST",body:me(t)})},Ee=new Set([r.STRING,r.FORM]),_=t=>t?t===a.SQLITE3?[r.FILE,r.MANAGED]:[r.STRING,r.FORM]:[],R=()=>({provider:T.CLOUDFLARE_D1,accountId:"",databaseId:"",databaseName:"",apiToken:"",url:"",authToken:"",branchName:""}),Y=t=>t===T.TURSO?D.TURSO:D.CLOUDFLARE_D1,ge=t=>t===a.ORACLE?"serviceName":"database",Le=t=>{switch(t){case a.POSTGRES:return"postgresql";case a.MARIADB:return"mariadb";case a.ORACLE:return"oracledb";case a.REDIS:return"redis";case a.SNOWFLAKE:return"snowflake";case a.MYSQL:case a.MYSQL2:return"mysql";default:return""}},Ie=t=>{const u=t.replace(/\\/g,"/");return`sqlite3://${u.startsWith("/")?"":"/"}${u}`},be=t=>{const u=t.split(/[\\/]/).pop()||"";return u.replace(/\.(sqlite3?|db3?)$/i,"")||u};function Ce(t){const u=N(t.open),d=N(t.editingConnection),$=N(t.workspaceId),I=E(1),c=E(a.POSTGRES),g=E("my-abc-db"),l=E(r.STRING),b=E(""),e=G({host:"",port:"",username:"",password:"",database:"",serviceName:"",filePath:"",sslEnabled:!1,sslMode:B.DISABLE,sslCA:"",sslCert:"",sslKey:"",sslRejectUnauthorized:!0,sshEnabled:!1,sshHost:"",sshPort:22,sshUsername:"",sshAuthMethod:y.PASSWORD,sshPassword:"",sshPrivateKey:"",sshStoreInKeychain:!0,sshUseKey:!1}),i=G(R()),C=E([]),h=E("idle"),p=E(""),j=ce(),H=v(()=>_(c.value)),w=v(()=>ue()),W=v(()=>l.value===r.FILE),K=v(()=>{var n;return c.value===a.SQLITE3&&w.value&&typeof window<"u"&&typeof((n=window.electronAPI)==null?void 0:n.window.pickSqliteFile)=="function"}),A=v(()=>ge(c.value)==="serviceName"),z=v(()=>A.value?"Service Name":"Database"),x=v(()=>A.value?"ORCLPDB1":"my_database"),M=v(()=>Ee.has(l.value)),L=n=>n&&pe[n]||"",V=()=>{const n=j.tags.find(o=>o.name==="dev");return n?[n.id]:[]},J=()=>{if(!(!e.sslEnabled||!M.value))return{mode:e.sslMode,ca:e.sslCA,cert:e.sslCert,key:e.sslKey,rejectUnauthorized:e.sslRejectUnauthorized}},X=()=>{if(!(!e.sshEnabled||!M.value))return{enabled:!0,host:e.sshHost,port:e.sshPort,username:e.sshUsername,authMethod:e.sshUseKey?y.KEY:y.PASSWORD,password:e.sshPassword,privateKey:e.sshPrivateKey,storeInKeychain:e.sshStoreInKeychain,useSshKey:e.sshUseKey}},k=()=>{const n={host:e.host,port:e.port||L(c.value),username:e.username,password:e.password,ssl:J(),ssh:X()};return A.value?n.serviceName=e.serviceName:n.database=e.database,n},q=()=>i.provider===T.TURSO?{provider:T.TURSO,url:i.url,authToken:i.authToken,branchName:i.branchName}:{provider:T.CLOUDFLARE_D1,accountId:i.accountId,databaseId:i.databaseId,databaseName:i.databaseName,apiToken:i.apiToken},Z=()=>{const n=Le(c.value),o=e.port||L(c.value),s=A.value?e.serviceName:e.database;if(!n||!e.host||!e.username||!s)return;const P=e.password?`${e.username}:${e.password}`:e.username;return`${n}://${P}@${e.host}${o?`:${o}`:""}/${s}`},ee=()=>{const n=c.value;if(!n)throw new Error("Database type is required.");return l.value===r.STRING?{type:n,method:r.STRING,stringConnection:b.value}:l.value===r.FILE?{type:a.SQLITE3,method:r.FILE,filePath:e.filePath}:l.value===r.MANAGED?{type:a.SQLITE3,method:r.MANAGED,providerKind:Y(i.provider),managedSqlite:q()}:{type:n,method:r.FORM,...k()}},Q=()=>{I.value=1,c.value=a.POSTGRES,g.value="my-abc-db",l.value=r.STRING,b.value="",e.host="",e.port=L(a.POSTGRES),e.username="",e.password="",e.database="",e.serviceName="",e.filePath="",e.sslEnabled=!1,e.sslMode=B.DISABLE,e.sslCA="",e.sslCert="",e.sslKey="",e.sslRejectUnauthorized=!0,e.sshEnabled=!1,e.sshHost="",e.sshPort=22,e.sshUsername="",e.sshAuthMethod=y.PASSWORD,e.sshPassword="",e.sshPrivateKey="",e.sshStoreInKeychain=!0,e.sshUseKey=!1,Object.assign(i,R()),C.value=V(),h.value="idle",p.value=""},se=()=>{I.value===1&&c.value&&(I.value=2)},ae=()=>{I.value=1,h.value="idle",p.value=""},F=async()=>{var n;if(l.value===r.FILE&&!w.value)return h.value="error",p.value="SQLite file connections are available only in the desktop app.",!1;h.value="testing",p.value="";try{const o=await fe.healthCheck(ee());return o.isConnectedSuccess?(h.value="success",p.value="",!0):(h.value="error",p.value=o.message||"Connection failed. Please check your details and try again.",!1)}catch(o){return h.value="error",p.value=((n=o==null?void 0:o.data)==null?void 0:n.message)||(o==null?void 0:o.message)||"Connection failed. Please check your details and try again.",!1}},te=async()=>{var P,U;const o=!!!d.value;if(o&&!await F())return;const s={workspaceId:$.value,id:((P=d.value)==null?void 0:P.id)||he(),name:g.value,type:c.value,method:l.value,createdAt:((U=d.value)==null?void 0:U.createdAt)||de().toISOString(),tagIds:[...C.value]};if(l.value===r.STRING)s.connectionString=b.value;else if(l.value===r.FILE)s.filePath=e.filePath,s.connectionString=Ie(e.filePath),s.providerKind=D.SQLITE_FILE;else if(l.value===r.MANAGED)s.providerKind=Y(i.provider),s.managedSqlite=q();else{const S=k();s.host=S.host,s.port=S.port,s.username=S.username,s.password=S.password,s.database=S.database,s.serviceName=S.serviceName,s.ssl=S.ssl,s.ssh=S.ssh,s.connectionString=Z()}o?t.onAddNew(s):t.onUpdate(s),t.onClose()},ne=()=>{switch(c.value){case a.POSTGRES:return"postgresql://username:password@localhost:5432/database";case a.MYSQL:case a.MYSQL2:return"mysql://username:password@localhost:3306/database";case a.MARIADB:return"mariadb://username:password@localhost:3306/database";case a.ORACLE:return"oracledb://username:password@localhost:1521/ORCLPDB1";case a.REDIS:return"redis://username:password@localhost:6379";case a.SNOWFLAKE:return"snowflake://username:password@account.snowflakecomputing.com:443/database";case a.SQLITE3:return"/Users/you/data/app.sqlite";default:return""}},oe=async()=>{var o;if(!K.value)return;const n=await((o=window.electronAPI)==null?void 0:o.window.pickSqliteFile());n&&(e.filePath=n,!d.value&&g.value==="my-abc-db"&&(g.value=be(n)),h.value="idle")},re=v(()=>g.value?l.value===r.STRING?!!b.value:l.value===r.FILE?w.value&&!!e.filePath:l.value===r.MANAGED?i.provider===T.TURSO?!!(i.url&&i.authToken):!!(i.accountId&&i.databaseId&&i.apiToken):A.value?!!(e.host&&(e.port||L(c.value))&&e.username&&e.password&&e.serviceName):!!(e.host&&(e.port||L(c.value))&&e.username&&e.database):!1);return O(c,n=>{const o=_(n);o.length>0&&!o.includes(l.value)&&(l.value=o[0]),n===a.SQLITE3?(e.host="",e.port="",e.username="",e.password="",e.database="",e.serviceName="",e.sslEnabled=!1,e.sshEnabled=!1):(e.filePath="",Object.assign(i,R()),n!==a.ORACLE&&(e.serviceName=""),d.value||(e.port=L(n))),h.value="idle"}),O(l,n=>{n!==r.FILE&&(e.filePath=""),n!==r.MANAGED&&Object.assign(i,R()),h.value="idle"}),O(u,n=>{var o;if(n)if(d.value){const s=d.value;g.value=s.name,c.value=s.type,l.value=s.method,b.value=s.connectionString||"",e.host=s.host||"",e.port=s.port||"",e.username=s.username||"",e.password=s.password||"",e.database=s.database||"",e.serviceName=s.serviceName||"",e.filePath=s.filePath||"",Object.assign(i,{...R(),...s.managedSqlite??{}}),e.sslEnabled=!!s.ssl,s.ssl&&(e.sslMode=s.ssl.mode,e.sslCA=s.ssl.ca||"",e.sslCert=s.ssl.cert||"",e.sslKey=s.ssl.key||"",e.sslRejectUnauthorized=s.ssl.rejectUnauthorized??!0),e.sshEnabled=!!((o=s.ssh)!=null&&o.enabled),s.ssh&&(e.sshHost=s.ssh.host||"",e.sshPort=s.ssh.port||22,e.sshUsername=s.ssh.username||"",e.sshAuthMethod=s.ssh.authMethod||y.PASSWORD,e.sshPassword=s.ssh.password||"",e.sshPrivateKey=s.ssh.privateKey||"",e.sshStoreInKeychain=s.ssh.storeInKeychain??!0,e.sshUseKey=s.ssh.useSshKey??s.ssh.authMethod===y.KEY),C.value=[...s.tagIds??[]],I.value=2}else Q()},{immediate:!0}),{step:I,dbType:c,connectionName:g,connectionMethod:l,connectionString:b,formData:e,managedSqlite:i,tagIds:C,testStatus:h,testErrorMessage:p,handleNext:se,handleBack:ae,handleTestConnection:F,handleCreateConnection:te,getDefaultPort:()=>L(c.value),getConnectionPlaceholder:ne,availableConnectionMethods:H,structuredTargetLabel:z,structuredTargetPlaceholder:x,canUseNetworkOptions:M,canPickSqliteFile:K,isFileMethod:W,isFormValid:re,pickSqliteFile:oe,resetForm:Q}}export{Re as a,Se as d,Te as g,Ae as i,Ce as u};