@kaeawc/auto-mobile 0.0.93 → 0.0.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +12 -12
- package/dist/src/ble-peripheral.py +153 -0
- package/dist/src/{chunk-r6z1eztj.js → chunk-026y62r9.js} +11 -11
- package/dist/src/chunk-0jyfg947.js +4 -0
- package/dist/src/{chunk-8g1922rp.js → chunk-0zfpp1wh.js} +4 -4
- package/dist/src/{chunk-qf6nynk6.js → chunk-13qxf7ym.js} +5 -5
- package/dist/src/chunk-1scenrk7.js +4 -0
- package/dist/src/chunk-1vb5ph1k.js +4 -0
- package/dist/src/{chunk-710rxz9y.js → chunk-20g565q7.js} +3 -3
- package/dist/src/chunk-21h6dhdm.js +5 -0
- package/dist/src/chunk-25mfpthk.js +78 -0
- package/dist/src/{chunk-rbpdk7m0.js → chunk-2b39zyxc.js} +3 -3
- package/dist/src/chunk-2gzd6wbd.js +4 -0
- package/dist/src/{chunk-xgan0qqp.js → chunk-3dntffy9.js} +1 -1
- package/dist/src/chunk-3gfczcsn.js +4 -0
- package/dist/src/{chunk-dgrbdpb7.js → chunk-3h5jz1vb.js} +6 -6
- package/dist/src/{chunk-t6c8akcm.js → chunk-41zcy6b3.js} +3 -3
- package/dist/src/chunk-47n9m2de.js +4 -0
- package/dist/src/chunk-4vxeq0vd.js +58 -0
- package/dist/src/chunk-59dx6qaf.js +4 -0
- package/dist/src/chunk-5sdf9y92.js +4 -0
- package/dist/src/{chunk-58wzr3mt.js → chunk-5wk1t46v.js} +3 -3
- package/dist/src/{chunk-vy3bwm1d.js → chunk-661c50hh.js} +5 -5
- package/dist/src/chunk-68n6bjjd.js +21 -0
- package/dist/src/{chunk-v6pya0dm.js → chunk-69pmjdf2.js} +3 -3
- package/dist/src/{chunk-e98dqnc9.js → chunk-6hrj3jt6.js} +20 -20
- package/dist/src/{chunk-wbh8spm5.js → chunk-6myr26wx.js} +8 -8
- package/dist/src/chunk-6n96k09n.js +4 -0
- package/dist/src/chunk-6vwrbkre.js +4 -0
- package/dist/src/chunk-6wk0yrab.js +4 -0
- package/dist/src/chunk-6yhm9een.js +4 -0
- package/dist/src/{chunk-mjrps0ac.js → chunk-7k7gjg2t.js} +5 -5
- package/dist/src/chunk-7n5fz68h.js +4 -0
- package/dist/src/chunk-8cvnpnbp.js +4 -0
- package/dist/src/chunk-8kzv7rk7.js +4 -0
- package/dist/src/chunk-8nj68t1v.js +167 -0
- package/dist/src/{chunk-g7tmjbkt.js → chunk-96r3bpg7.js} +3 -3
- package/dist/src/chunk-97x887te.js +4 -0
- package/dist/src/{chunk-8ph29g99.js → chunk-99a6tbvd.js} +1 -1
- package/dist/src/chunk-9p5d2994.js +5 -0
- package/dist/src/{chunk-aabchzxk.js → chunk-9q265er0.js} +4 -4
- package/dist/src/{chunk-jh6vhqzx.js → chunk-9xgnrv5w.js} +3 -3
- package/dist/src/chunk-9xgsmshb.js +5 -0
- package/dist/src/chunk-a02d1wgv.js +4 -0
- package/dist/src/{chunk-ndt1ccxm.js → chunk-a9ps00a1.js} +10 -10
- package/dist/src/{chunk-5d2hft6c.js → chunk-aewdveet.js} +3 -3
- package/dist/src/{chunk-ycaj2sgf.js → chunk-b3tdtq7r.js} +6 -6
- package/dist/src/chunk-bn7jx7a2.js +4 -0
- package/dist/src/{chunk-3y6eykz9.js → chunk-bnyw27ja.js} +2 -2
- package/dist/src/{chunk-rqc9ap3x.js → chunk-bpwsg76p.js} +2 -2
- package/dist/src/chunk-bvranw3g.js +4 -0
- package/dist/src/chunk-c25a84zb.js +4 -0
- package/dist/src/chunk-c27yv1dx.js +5 -0
- package/dist/src/chunk-c3ewxm4x.js +5 -0
- package/dist/src/{chunk-rvvy1bte.js → chunk-cb1ga9rd.js} +5 -5
- package/dist/src/chunk-cn7fwy7k.js +4 -0
- package/dist/src/chunk-cnvy4a64.js +4 -0
- package/dist/src/{chunk-7rz9898k.js → chunk-cqhw4yr6.js} +3 -3
- package/dist/src/{chunk-g04bwyj3.js → chunk-ctmfshjc.js} +2 -2
- package/dist/src/chunk-ctwmhz13.js +4 -0
- package/dist/src/{chunk-waqwcjyn.js → chunk-d3jx9bz5.js} +2 -2
- package/dist/src/{chunk-ayp07wbb.js → chunk-d6rb08ga.js} +1 -1
- package/dist/src/chunk-ddqhj4eg.js +5 -0
- package/dist/src/{chunk-r7bpkgff.js → chunk-ddrhs1c3.js} +2 -2
- package/dist/src/chunk-dnjnh9p6.js +4 -0
- package/dist/src/{chunk-wyrkw6hw.js → chunk-dw5rwgya.js} +3 -3
- package/dist/src/{chunk-3xkpk44w.js → chunk-e0870khr.js} +3 -3
- package/dist/src/chunk-ea3k10kj.js +4 -0
- package/dist/src/chunk-emv82m1w.js +7 -0
- package/dist/src/chunk-f3m6pdnx.js +4 -0
- package/dist/src/chunk-f84z32cb.js +4 -0
- package/dist/src/chunk-fpczgf0z.js +4 -0
- package/dist/src/{chunk-2tqzq5qh.js → chunk-g2js4c2v.js} +18 -18
- package/dist/src/chunk-g3af2qbk.js +5 -0
- package/dist/src/{chunk-3qwrzxh0.js → chunk-gadtna7s.js} +6 -6
- package/dist/src/{chunk-ybbtagbt.js → chunk-gcyx407v.js} +3 -3
- package/dist/src/{chunk-bfw6125s.js → chunk-gfpntwc1.js} +3 -3
- package/dist/src/chunk-gmnm5e3e.js +4 -0
- package/dist/src/chunk-gp6vb5gf.js +4 -0
- package/dist/src/chunk-gppgy7pa.js +4 -0
- package/dist/src/chunk-hegfz0ae.js +5 -0
- package/dist/src/chunk-hpzxdp1k.js +17 -0
- package/dist/src/{chunk-qcxzr2my.js → chunk-j69g8b50.js} +3 -3
- package/dist/src/chunk-jvstjnqm.js +19 -0
- package/dist/src/chunk-jzqrv78s.js +4 -0
- package/dist/src/chunk-k2948b8d.js +4 -0
- package/dist/src/chunk-k4ftd40d.js +4 -0
- package/dist/src/{chunk-bxmsax22.js → chunk-kd9vfaxh.js} +3 -3
- package/dist/src/{chunk-s3jc6cwp.js → chunk-kdczmgwk.js} +3 -3
- package/dist/src/{chunk-t6bfvfkg.js → chunk-ke3wn14v.js} +1 -1
- package/dist/src/chunk-kh5n7m6w.js +4 -0
- package/dist/src/{chunk-6wt9rgjf.js → chunk-khejfph4.js} +3 -3
- package/dist/src/chunk-kny2xemh.js +4 -0
- package/dist/src/chunk-knyzw9md.js +4 -0
- package/dist/src/chunk-mbzpt2hp.js +4 -0
- package/dist/src/chunk-mm8rcxad.js +4 -0
- package/dist/src/chunk-nc4516tx.js +4 -0
- package/dist/src/{chunk-6bznss4t.js → chunk-ntfrqrqn.js} +5 -5
- package/dist/src/chunk-nz5h2j52.js +4 -0
- package/dist/src/chunk-p22s97qy.js +4 -0
- package/dist/src/chunk-p9kt1sgr.js +6 -0
- package/dist/src/{chunk-yb97j25b.js → chunk-pf282r5g.js} +4 -4
- package/dist/src/chunk-pnd4mrxy.js +4 -0
- package/dist/src/chunk-pqqteyj6.js +4 -0
- package/dist/src/{chunk-6xmss8er.js → chunk-qj1tbnv2.js} +6 -6
- package/dist/src/chunk-qnh9egwr.js +4 -0
- package/dist/src/chunk-qy3khhf8.js +8 -0
- package/dist/src/{chunk-z637nqg8.js → chunk-r0vp315h.js} +6 -6
- package/dist/src/chunk-r4j43b9s.js +237 -0
- package/dist/src/{chunk-1p7xf5kb.js → chunk-r54cxxze.js} +3 -3
- package/dist/src/{chunk-yf7ympyz.js → chunk-r6pvhj33.js} +92 -92
- package/dist/src/chunk-rb7aa5gr.js +54 -0
- package/dist/src/chunk-rdj50kb4.js +4 -0
- package/dist/src/chunk-rnd4vcas.js +4 -0
- package/dist/src/{chunk-w5b2jwk3.js → chunk-s3y3zfcx.js} +8 -8
- package/dist/src/chunk-s4g43k75.js +5 -0
- package/dist/src/chunk-sfqe223f.js +311 -0
- package/dist/src/{chunk-284ptqa4.js → chunk-sqdrxjw5.js} +5 -5
- package/dist/src/{chunk-zgja5f3p.js → chunk-t54k47em.js} +4 -4
- package/dist/src/{chunk-3sy6ahhz.js → chunk-tek4pnvv.js} +10 -10
- package/dist/src/chunk-tn74y7af.js +4 -0
- package/dist/src/{chunk-thbh3jew.js → chunk-tvq0nzam.js} +3 -3
- package/dist/src/{chunk-0jrrsnc9.js → chunk-tx4f0h9c.js} +4 -4
- package/dist/src/chunk-vdqag3fj.js +5 -0
- package/dist/src/chunk-vz5zzs57.js +4 -0
- package/dist/src/chunk-w4s2vfpj.js +4 -0
- package/dist/src/{chunk-4hw3665t.js → chunk-w5yypt53.js} +11 -11
- package/dist/src/{chunk-8037tzzj.js → chunk-w68v64vh.js} +3 -3
- package/dist/src/chunk-whwj0pdk.js +5 -0
- package/dist/src/chunk-wnmqt1dc.js +4 -0
- package/dist/src/{chunk-cyy71ggq.js → chunk-wpe46vsa.js} +3 -3
- package/dist/src/{chunk-w3vs79ex.js → chunk-wxdjeb4k.js} +19 -19
- package/dist/src/chunk-xcqzwf9j.js +247 -0
- package/dist/src/chunk-xezekwwn.js +5 -0
- package/dist/src/chunk-xf19m15s.js +4 -0
- package/dist/src/chunk-xghbxha4.js +4 -0
- package/dist/src/{chunk-00167wan.js → chunk-xn9m3xc2.js} +5 -5
- package/dist/src/{chunk-26k317v5.js → chunk-yqfz4vts.js} +3 -3
- package/dist/src/chunk-z8tvs8nk.js +5 -0
- package/dist/src/chunk-zm2rehqb.js +5 -0
- package/dist/src/chunk-zs6dqm35.js +4 -0
- package/dist/src/daemon/processEntry.js +2 -2
- package/dist/src/index.js +4 -4
- package/dist/src/runtime/bunRuntimeGuard.js +2 -2
- package/dist/src/utils/workers/iosBundleExtractWorker.js +2 -2
- package/package.json +2 -2
- package/dist/src/chunk-0n6swkwg.js +0 -5
- package/dist/src/chunk-0qsy1qsx.js +0 -57
- package/dist/src/chunk-11m8wj8j.js +0 -237
- package/dist/src/chunk-23p5f095.js +0 -4
- package/dist/src/chunk-28re4xrg.js +0 -4
- package/dist/src/chunk-2f9rkmhx.js +0 -5
- package/dist/src/chunk-2fxdh48t.js +0 -4
- package/dist/src/chunk-2tbdrbt6.js +0 -4
- package/dist/src/chunk-32gvv9b4.js +0 -21
- package/dist/src/chunk-3f3t1x97.js +0 -8
- package/dist/src/chunk-3fspkbc7.js +0 -4
- package/dist/src/chunk-3vg455e6.js +0 -4
- package/dist/src/chunk-49bsqdx3.js +0 -4
- package/dist/src/chunk-5snsn9cf.js +0 -4
- package/dist/src/chunk-5tm9mn47.js +0 -54
- package/dist/src/chunk-5zc77a5t.js +0 -4
- package/dist/src/chunk-64j0majr.js +0 -19
- package/dist/src/chunk-65y8v4td.js +0 -17
- package/dist/src/chunk-6awz7vhq.js +0 -5
- package/dist/src/chunk-6ep7f5ge.js +0 -4
- package/dist/src/chunk-7cs2da62.js +0 -5
- package/dist/src/chunk-7g103b54.js +0 -4
- package/dist/src/chunk-7j5vj4pa.js +0 -4
- package/dist/src/chunk-7tw8x05v.js +0 -4
- package/dist/src/chunk-7zy586cb.js +0 -4
- package/dist/src/chunk-84nanf8s.js +0 -5
- package/dist/src/chunk-8gvwcv2p.js +0 -4
- package/dist/src/chunk-8thrmfat.js +0 -4
- package/dist/src/chunk-8zgzzs7k.js +0 -78
- package/dist/src/chunk-97b1zmaq.js +0 -4
- package/dist/src/chunk-9fth9ayh.js +0 -4
- package/dist/src/chunk-9j6anhjr.js +0 -4
- package/dist/src/chunk-bfjwqk8q.js +0 -4
- package/dist/src/chunk-bnhscm2n.js +0 -4
- package/dist/src/chunk-c1vs4g1n.js +0 -4
- package/dist/src/chunk-ct3e7yng.js +0 -4
- package/dist/src/chunk-ddzkz92z.js +0 -4
- package/dist/src/chunk-drdz8hee.js +0 -5
- package/dist/src/chunk-eersndy7.js +0 -5
- package/dist/src/chunk-eggq53ks.js +0 -4
- package/dist/src/chunk-f2dya7cs.js +0 -4
- package/dist/src/chunk-fbakd6cw.js +0 -4
- package/dist/src/chunk-fgb98zjj.js +0 -5
- package/dist/src/chunk-fmpad823.js +0 -5
- package/dist/src/chunk-g0xr8zw0.js +0 -4
- package/dist/src/chunk-g3rjs80x.js +0 -4
- package/dist/src/chunk-g78rtrfv.js +0 -4
- package/dist/src/chunk-gabgv3y5.js +0 -4
- package/dist/src/chunk-gmr45m8f.js +0 -4
- package/dist/src/chunk-gsyfebqj.js +0 -4
- package/dist/src/chunk-h5rpn9wr.js +0 -247
- package/dist/src/chunk-hb1x7v55.js +0 -4
- package/dist/src/chunk-hrfytkxh.js +0 -168
- package/dist/src/chunk-j4yjzbak.js +0 -4
- package/dist/src/chunk-jd6a5v6p.js +0 -5
- package/dist/src/chunk-kn5spq15.js +0 -4
- package/dist/src/chunk-m94qs0f0.js +0 -4
- package/dist/src/chunk-n03dmn5q.js +0 -5
- package/dist/src/chunk-n72qhwd9.js +0 -4
- package/dist/src/chunk-nr6y0n4y.js +0 -5
- package/dist/src/chunk-pcsen2vs.js +0 -4
- package/dist/src/chunk-ppfr0b8h.js +0 -4
- package/dist/src/chunk-q10bdnat.js +0 -4
- package/dist/src/chunk-q9xmq595.js +0 -4
- package/dist/src/chunk-qyqypn28.js +0 -5
- package/dist/src/chunk-r2epb56s.js +0 -4
- package/dist/src/chunk-r5bxavdx.js +0 -311
- package/dist/src/chunk-r8jf3d92.js +0 -4
- package/dist/src/chunk-rc0dbypm.js +0 -4
- package/dist/src/chunk-rhcty4ms.js +0 -4
- package/dist/src/chunk-rpvckv3p.js +0 -4
- package/dist/src/chunk-ry0mz41y.js +0 -4
- package/dist/src/chunk-sfv61xjb.js +0 -6
- package/dist/src/chunk-t7w8rctc.js +0 -4
- package/dist/src/chunk-v2wd4n3e.js +0 -5
- package/dist/src/chunk-w4zga19f.js +0 -4
- package/dist/src/chunk-w7hkv422.js +0 -5
- package/dist/src/chunk-xa73x2cx.js +0 -5
- package/dist/src/chunk-y2vs6jwg.js +0 -4
- package/dist/src/chunk-yattm52s.js +0 -4
- package/dist/src/chunk-yjawdzk8.js +0 -4
- package/dist/src/chunk-zs1sghs9.js +0 -4
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{mn,i,Li,Se,Q,l,at,e}from"./chunk-z637nqg8.js";import{f,Y,I,Be}from"./chunk-58wzr3mt.js";import{r,t,u}from"./chunk-rbpdk7m0.js";import{ue,wt}from"./chunk-qcxzr2my.js";var rs={};ue(rs,{down:()=>hm,up:()=>fm});var is={};ue(is,{down:()=>ym,up:()=>_m});var ns={};ue(ns,{down:()=>km,up:()=>xm});var os={};ue(os,{down:()=>Dm,up:()=>Sm});var ss={};ue(ss,{down:()=>Rm,up:()=>Om});var as={};ue(as,{down:()=>Pm,up:()=>Im});var ds={};ue(ds,{down:()=>Am,up:()=>Lm});var us={};ue(us,{down:()=>Wm,up:()=>Bm});var cs={};ue(cs,{down:()=>qm,up:()=>Mm});var ls={};ue(ls,{down:()=>Km,up:()=>Fm});var ms={};ue(ms,{down:()=>Gm,up:()=>$m});var ps={};ue(ps,{down:()=>Vm,up:()=>Um});var fs={};ue(fs,{down:()=>zm,up:()=>Qm});var hs={};ue(hs,{down:()=>jm,up:()=>Jm});var _s={};ue(_s,{down:()=>Xm,up:()=>Ym});var ys={};ue(ys,{down:()=>ep,up:()=>Zm});var xs={};ue(xs,{down:()=>rp,up:()=>tp});var Ns={};ue(Ns,{down:()=>op,up:()=>np});var ws={};ue(ws,{down:()=>ap,up:()=>sp});var vs={};ue(vs,{down:()=>up,up:()=>dp});var bs={};ue(bs,{down:()=>_p,up:()=>cp});var Cs={};ue(Cs,{down:()=>xp,up:()=>yp});var Es={};ue(Es,{down:()=>wp,up:()=>gp});var Ss={};ue(Ss,{down:()=>bp,up:()=>vp});var Ds={};ue(Ds,{down:()=>Ep,up:()=>Cp});var Os={};ue(Os,{down:()=>kp,up:()=>Tp});var Rs={};ue(Rs,{down:()=>Op,up:()=>Sp});var Is={};ue(Is,{down:()=>Pp,up:()=>Ip});var Ps={};ue(Ps,{down:()=>Bp,up:()=>Ap});var Ls={};ue(Ls,{down:()=>qp,up:()=>Mp});var As={};ue(As,{down:()=>Kp,up:()=>Fp});var Bs={};ue(Bs,{down:()=>Gp,up:()=>$p});var Ws={};ue(Ws,{down:()=>Vp,up:()=>Up});var Ms={};ue(Ms,{down:()=>Jp,up:()=>zp});var qs={};ue(qs,{down:()=>Yp,up:()=>Hp});var Fs={};ue(Fs,{down:()=>of,up:()=>Xp});var Ks={};ue(Ks,{down:()=>af,up:()=>sf});var $s={};ue($s,{down:()=>_f,up:()=>cf});var Gs={};ue(Gs,{down:()=>xf,up:()=>yf});var Us={};ue(Us,{down:()=>gf,up:()=>Nf});var Vs={};ue(Vs,{down:()=>vf,up:()=>wf});var Qs={};ue(Qs,{down:()=>Ef,up:()=>Cf});var Js={};ue(Js,{down:()=>kf,up:()=>Tf});var js={};ue(js,{down:()=>Of,up:()=>Df});var Hs={};ue(Hs,{down:()=>Pf,up:()=>If});var Ys={};ue(Ys,{down:()=>Af,up:()=>Lf});var Xs={};ue(Xs,{down:()=>Wf,up:()=>Bf});var Zs={};ue(Zs,{down:()=>qf,up:()=>Mf});var ea={};ue(ea,{down:()=>Kf,up:()=>Ff});var ta={};ue(ta,{down:()=>Gf,up:()=>$f});var ra={};ue(ra,{down:()=>Vf,up:()=>Uf});var ia={};ue(ia,{down:()=>zf,up:()=>Qf});var na={};ue(na,{down:()=>jf,up:()=>Jf});var oa={};ue(oa,{down:()=>Yf,up:()=>Hf});var sa={};ue(sa,{down:()=>Zf,up:()=>Xf});var aa={};ue(aa,{down:()=>th,up:()=>eh});var da={};ue(da,{down:()=>ih,up:()=>rh});var ua={};ue(ua,{down:()=>oh,up:()=>nh});var ca={};ue(ca,{down:()=>ah,up:()=>sh});var la={};ue(la,{down:()=>uh,up:()=>dh});var ma={};ue(ma,{down:()=>lh,up:()=>ch});var pa={};ue(pa,{down:()=>ph,up:()=>mh});var fa={};ue(fa,{down:()=>hh,up:()=>fh});var ha={};ue(ha,{down:()=>yh,up:()=>_h});var _a={};ue(_a,{down:()=>Nh,up:()=>xh});var ya={};ue(ya,{down:()=>wh,up:()=>gh});var xa={};ue(xa,{down:()=>bh,up:()=>vh});var Na={};ue(Na,{down:()=>Eh,up:()=>Ch});var ga={};ue(ga,{down:()=>kh,up:()=>Th});var wa={};ue(wa,{down:()=>Dh,up:()=>Sh});var va={};ue(va,{down:()=>Rh,up:()=>Oh});var ba={};ue(ba,{down:()=>Ph,up:()=>Ih});var Ca={};ue(Ca,{down:()=>Ah,up:()=>Lh});var Ea={};ue(Ea,{down:()=>Wh,up:()=>Bh});var Ta={};ue(Ta,{down:()=>qh,up:()=>Mh});var ka={};ue(ka,{down:()=>Kh,up:()=>Fh});var Da={};ue(Da,{down:()=>Gh,up:()=>$h});var Oa={};ue(Oa,{down:()=>Vh,up:()=>Uh});var Ra={};ue(Ra,{down:()=>zh,up:()=>Qh});var Ia={};ue(Ia,{down:()=>jh,up:()=>Jh});var Pa={};ue(Pa,{down:()=>Yh,up:()=>Hh});import{randomUUID as hc}from"crypto";class a2{next(){return hc()}}var B=new a2;function po(n,o,s=B){return`${n}_${o.now()}_${s.next()}`}function ge(n){return typeof n>"u"||n===void 0}function w(n){return typeof n==="string"}function Ct(n){return typeof n==="number"}function qt(n){return typeof n==="boolean"}function Xt(n){return n===null}function $a(n){return n instanceof Date}function Zt(n){return typeof n==="bigint"}function W(n){return typeof n==="function"}function M(n){return typeof n==="object"&&n!==null}function Ga(n){return n[n.length-1]}function d(n){return Object.freeze(n)}function Ur(n){if(se(n))return n;else return[n]}function se(n){return Array.isArray(n)}function X(n){return n}function Ua(n){return n instanceof Error?n.message:String(n)}var E=d({is(n){return n.kind==="AlterTableNode"},create(n){return d({kind:"AlterTableNode",table:n})},cloneWithTableProps(n,o){return d({...n,...o})},cloneWithColumnAlteration(n,o){return d({...n,columnAlterations:n.columnAlterations?[...n.columnAlterations,o]:[o]})}});var ot=d({is(n){return n.kind==="IdentifierNode"},create(n){return d({kind:"IdentifierNode",name:n})}});var Pe=d({is(n){return n.kind==="CreateIndexNode"},create(n){return d({kind:"CreateIndexNode",name:ot.create(n)})},cloneWith(n,o){return d({...n,...o})},cloneWithColumns(n,o){return d({...n,columns:[...n.columns||[],...o]})}});var Ii=d({is(n){return n.kind==="CreateSchemaNode"},create(n,o){return d({kind:"CreateSchemaNode",schema:ot.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var Va=["preserve rows","delete rows","drop"],Z=d({is(n){return n.kind==="CreateTableNode"},create(n){return d({kind:"CreateTableNode",table:n,columns:d([])})},cloneWithColumn(n,o){return d({...n,columns:d([...n.columns,o])})},cloneWithConstraint(n,o){return d({...n,constraints:n.constraints?d([...n.constraints,o]):d([o])})},cloneWithIndex(n,o){return d({...n,indexes:n.indexes?d([...n.indexes,o]):d([o])})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):d([o])})},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):d([o])})},cloneWith(n,o){return d({...n,...o})}});var ae=d({is(n){return n.kind==="SchemableIdentifierNode"},create(n){return d({kind:"SchemableIdentifierNode",identifier:ot.create(n)})},createWithSchema(n,o){return d({kind:"SchemableIdentifierNode",schema:ot.create(n),identifier:ot.create(o)})}});var Et=d({is(n){return n.kind==="DropIndexNode"},create(n,o){return d({kind:"DropIndexNode",name:ae.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var Qr=d({is(n){return n.kind==="DropSchemaNode"},create(n,o){return d({kind:"DropSchemaNode",schema:ot.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var er=d({is(n){return n.kind==="DropTableNode"},create(n,o){return d({kind:"DropTableNode",table:n,...o})},cloneWith(n,o){return d({...n,...o})}});var Ts=d({is(n){return n.kind==="AliasNode"},create(n,o){return d({kind:"AliasNode",node:n,alias:o})}});var Oc=d({is(n){return n.kind==="TableNode"},create(n){return d({kind:"TableNode",table:ae.create(n)})},createWithSchema(n,o){return d({kind:"TableNode",table:ae.createWithSchema(n,o)})}});function D(n){return M(n)&&W(n.toOperationNode)}function Pi(n){return M(n)&&"expressionType"in n&&D(n)}function Qa(n){return M(n)&&"expression"in n&&w(n.alias)&&D(n)}var Je=d({is(n){return n.kind==="SelectModifierNode"},create(n,o){return d({kind:"SelectModifierNode",modifier:n,of:o})},createWithExpression(n){return d({kind:"SelectModifierNode",rawModifier:n})}});var me=d({is(n){return n.kind==="AndNode"},create(n,o){return d({kind:"AndNode",left:n,right:o})}});var Le=d({is(n){return n.kind==="OrNode"},create(n,o){return d({kind:"OrNode",left:n,right:o})}});var Ai=d({is(n){return n.kind==="OnNode"},create(n){return d({kind:"OnNode",on:n})},cloneWithOperation(n,o,s){return d({...n,on:o==="And"?me.create(n.on,s):Le.create(n.on,s)})}});var Ae=d({is(n){return n.kind==="JoinNode"},create(n,o){return d({kind:"JoinNode",joinType:n,table:o,on:void 0})},createWithOn(n,o,s){return d({kind:"JoinNode",joinType:n,table:o,on:Ai.create(s)})},cloneWithOn(n,o){return d({...n,on:n.on?Ai.cloneWithOperation(n.on,"And",o):Ai.create(o)})}});var Tt=d({is(n){return n.kind==="BinaryOperationNode"},create(n,o,s){return d({kind:"BinaryOperationNode",leftOperand:n,operator:o,rightOperand:s})}});var za=d({"=":!0,"==":!0,"!=":!0,"<>":!0,">":!0,">=":!0,"<":!0,"<=":!0,in:!0,"not in":!0,is:!0,"is not":!0,like:!0,"not like":!0,match:!0,ilike:!0,"not ilike":!0,"@>":!0,"<@":!0,"^@":!0,"&&":!0,"?":!0,"?&":!0,"?|":!0,"!<":!0,"!>":!0,"<=>":!0,"!~":!0,"~":!0,"~*":!0,"!~*":!0,"@@":!0,"@@@":!0,"!!":!0,"<->":!0,regexp:!0,"is distinct from":!0,"is not distinct from":!0}),ox=Object.keys(za),ja=d({"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"&":!0,"|":!0,"#":!0,"<<":!0,">>":!0}),sx=Object.keys(ja),Ha=d({"->":!0,"->>":!0}),_c=Object.keys(Ha),Xa=d({...za,...ja,"||":!0}),yc=Object.keys(Xa),Za=d({exists:!0,"not exists":!0}),ax=Object.keys(Za),ed=d({...Za,"-":!0,not:!0}),xc=Object.keys(ed),dx=[...yc,..._c,...xc,"between","between symmetric"],we=d({is(n){return n.kind==="OperatorNode"},create(n){return d({kind:"OperatorNode",operator:n})}});function td(n){return w(n)&&Xa[n]}function rd(n){return w(n)&&Ha[n]}function id(n){return w(n)&&ed[n]}var tr=d({is(n){return n.kind==="ColumnNode"},create(n){return d({kind:"ColumnNode",column:ot.create(n)})}});var rr=d({is(n){return n.kind==="SelectAllNode"},create(){return d({kind:"SelectAllNode"})}});var xb=d({is(n){return n.kind==="ReferenceNode"},create(n,o){return d({kind:"ReferenceNode",table:o,column:n})},createSelectAll(n){return d({kind:"ReferenceNode",table:n,column:rr.create()})}});class In{#e;get dynamicReference(){return this.#e}get refType(){return}constructor(n){this.#e=n}toOperationNode(){return Pn(this.#e)}}function Bi(n){return M(n)&&D(n)&&w(n.dynamicReference)}var We=d({is(n){return n.kind==="OrderByItemNode"},create(n,o){return d({kind:"OrderByItemNode",orderBy:n,direction:o})},cloneWith(n,o){return d({...n,...o})}});var k=d({is(n){return n.kind==="RawNode"},create(n,o){return d({kind:"RawNode",sqlFragments:d(n),parameters:d(o)})},createWithSql(n){return k.create([n],[])},createWithChild(n){return k.create(["",""],[n])},createWithChildren(n){return k.create(Array(n.length+1).fill(""),n)}});var nd=d({is(n){return n.kind==="CollateNode"},create(n){return d({kind:"CollateNode",collation:ot.create(n)})}});class kt{#e;constructor(n){this.#e=d(n)}desc(){return new kt({node:We.cloneWith(this.#e.node,{direction:k.createWithSql("desc")})})}asc(){return new kt({node:We.cloneWith(this.#e.node,{direction:k.createWithSql("asc")})})}nullsLast(){return new kt({node:We.cloneWith(this.#e.node,{nulls:"last"})})}nullsFirst(){return new kt({node:We.cloneWith(this.#e.node,{nulls:"first"})})}collate(n){return new kt({node:We.cloneWith(this.#e.node,{collation:nd.create(n)})})}toOperationNode(){return this.#e.node}}var od=new Set;function ir(n){if(od.has(n))return;od.add(n),console.log(n)}function An(n){return n==="asc"||n==="desc"}function ve(n){if(n.length===2)return[Ln(n[0],n[1])];if(n.length===1){let[o]=n;if(Array.isArray(o))return ir("orderBy(array) is deprecated, use multiple orderBy calls instead."),o.map((s)=>Ln(s));return[Ln(o)]}throw Error(`Invalid number of arguments at order by! expected 1-2, received ${n.length}`)}function Ln(n,o){let s=Nc(n);if(We.is(s)){if(o)throw Error("Cannot specify direction twice!");return s}return sd(s,o)}function Nc(n){if(ct(n))return ee(n);if(Bi(n))return n.toOperationNode();let[o,s]=n.split(" ");if(s)return ir("`orderBy('column asc')` is deprecated. Use `orderBy('column', 'asc')` instead."),sd(pe(o),s);return pe(n)}function sd(n,o){if(typeof o==="string"){if(!An(o))throw Error(`Invalid order by direction: ${o}`);return We.create(n,k.createWithSql(o))}if(Pi(o))return ir("`orderBy(..., expr)` is deprecated. Use `orderBy(..., 'asc')` or `orderBy(..., (ob) => ...)` instead."),We.create(n,o.toOperationNode());let s=We.create(n);if(!o)return s;return o(new kt({node:s})).toOperationNode()}var nr=d({is(n){return n.kind==="JSONReferenceNode"},create(n,o){return d({kind:"JSONReferenceNode",reference:n,traversal:o})},cloneWithTraversal(n,o){return d({...n,traversal:o})}});var Wi=d({is(n){return n.kind==="JSONOperatorChainNode"},create(n){return d({kind:"JSONOperatorChainNode",operator:n,values:d([])})},cloneWithValue(n,o){return d({...n,values:d([...n.values,o])})}});var St=d({is(n){return n.kind==="JSONPathNode"},create(n){return d({kind:"JSONPathNode",inOperator:n,pathLegs:d([])})},cloneWithLeg(n,o){return d({...n,pathLegs:d([...n.pathLegs,o])})}});function Pn(n){if(w(n))return pe(n);return n.toOperationNode()}function lt(n){if(se(n))return n.map((o)=>j(o));else return[j(n)]}function j(n){if(ct(n))return ee(n);return Pn(n)}function ad(n,o){if(rd(o))return nr.create(pe(n),Wi.create(we.create(o)));if(o==="->$"||o==="->>$")return nr.create(pe(n),St.create(we.create(o.slice(0,-1))));throw Error(`Invalid JSON operator: ${o}`)}function pe(n){if(!n.includes("."))return xb.create(tr.create(n));let s=n.split(".").map(Wn);if(s.length===3)return gc(s);if(s.length===2)return wc(s);throw Error(`invalid column reference ${n}`)}function dd(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Wn);return Ts.create(pe(s),ot.create(a))}else return pe(n)}function Bn(n){return tr.create(n)}function or(n){if(n.includes(" ")){let[s,a]=n.split(" ").map(Wn);if(!An(a))throw Error(`invalid order direction "${a}" next to "${s}"`);return ve([s,a])[0]}else return Bn(n)}function gc(n){let[o,s,a]=n;return xb.create(tr.create(a),Oc.createWithSchema(o,s))}function wc(n){let[o,s]=n;return xb.create(tr.create(s),Oc.create(o))}function Wn(n){return n.trim()}var Mi=d({is(n){return n.kind==="PrimitiveValueListNode"},create(n){return d({kind:"PrimitiveValueListNode",values:d([...n])})}});var Dt=d({is(n){return n.kind==="ValueListNode"},create(n){return d({kind:"ValueListNode",values:d(n)})}});var Gn=d({is(n){return n.kind==="ValueNode"},create(n){return d({kind:"ValueNode",value:n})},createImmediate(n){return d({kind:"ValueNode",value:n,immediate:!0})}});function ud(n){if(se(n))return vc(n);return O(n)}function O(n){if(ct(n))return ee(n);return Gn.create(n)}function qi(n){return Ct(n)||qt(n)||Xt(n)}function zr(n){if(!qi(n))throw Error(`unsafe immediate value ${JSON.stringify(n)}`);return Gn.createImmediate(n)}function vc(n){if(n.some(ct))return Dt.create(n.map((o)=>O(o)));return Mi.create(n)}var be=d({is(n){return n.kind==="ParensNode"},create(n){return d({kind:"ParensNode",node:n})}});function P(n){if(n.length===3)return Ki(n[0],n[1],n[2]);else if(n.length===1)return O(n[0]);throw Error(`invalid arguments: ${JSON.stringify(n)}`)}function Ki(n,o,s){if(bc(o)&&ld(s))return Tt.create(j(n),Mn(o),Gn.createImmediate(s));return Tt.create(j(n),Mn(o),ud(s))}function z(n,o,s){return Tt.create(j(n),Mn(o),j(s))}function qn(n,o){return sr(Object.entries(n).filter(([,s])=>!ge(s)).map(([s,a])=>Ki(s,ld(a)?"is":"=",a)),o)}function sr(n,o,s=!0){let a=o==="and"?me.create:Le.create;if(n.length===0)return Tt.create(Gn.createImmediate(1),we.create("="),Gn.createImmediate(o==="and"?1:0));let c=cd(n[0]);for(let p=1;p<n.length;++p)c=a(c,cd(n[p]));if(n.length>1&&s)return be.create(c);return c}function bc(n){return n==="is"||n==="is not"}function ld(n){return Xt(n)||qt(n)}function Mn(n){if(td(n))return we.create(n);if(D(n))return n.toOperationNode();throw Error(`invalid operator ${JSON.stringify(n)}`)}function cd(n){return D(n)?n.toOperationNode():n}var mt=d({is(n){return n.kind==="OrderByNode"},create(n){return d({kind:"OrderByNode",items:d([...n])})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var Fn=d({is(n){return n.kind==="PartitionByNode"},create(n){return d({kind:"PartitionByNode",items:d(n)})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var Jr=d({is(n){return n.kind==="OverNode"},create(){return d({kind:"OverNode"})},cloneWithOrderByItems(n,o){return d({...n,orderBy:n.orderBy?mt.cloneWithItems(n.orderBy,o):mt.create(o)})},cloneWithPartitionByItems(n,o){return d({...n,partitionBy:n.partitionBy?Fn.cloneWithItems(n.partitionBy,o):Fn.create(o)})}});var Ft=d({is(n){return n.kind==="FromNode"},create(n){return d({kind:"FromNode",froms:d(n)})},cloneWithFroms(n,o){return d({...n,froms:d([...n.froms,...o])})}});var Kn=d({is(n){return n.kind==="GroupByNode"},create(n){return d({kind:"GroupByNode",items:d(n)})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var $n=d({is(n){return n.kind==="HavingNode"},create(n){return d({kind:"HavingNode",having:n})},cloneWithOperation(n,o,s){return d({...n,having:o==="And"?me.create(n.having,s):Le.create(n.having,s)})}});var K=d({is(n){return n.kind==="InsertQueryNode"},create(n,o,s){return d({kind:"InsertQueryNode",into:n,...o&&{with:o},replace:s})},createWithoutInto(){return d({kind:"InsertQueryNode"})},cloneWith(n,o){return d({...n,...o})}});var $i=d({is(n){return n.kind==="ListNode"},create(n){return d({kind:"ListNode",items:d(n)})}});var je=d({is(n){return n.kind==="UpdateQueryNode"},create(n,o){return d({kind:"UpdateQueryNode",table:n.length===1?n[0]:$i.create(n),...o&&{with:o}})},createWithoutTable(){return d({kind:"UpdateQueryNode"})},cloneWithFromItems(n,o){return d({...n,from:n.from?Ft.cloneWithFroms(n.from,o):Ft.create(o)})},cloneWithUpdates(n,o){return d({...n,updates:n.updates?d([...n.updates,...o]):o})},cloneWithLimit(n,o){return d({...n,limit:o})}});var jr=d({is(n){return n.kind==="UsingNode"},create(n){return d({kind:"UsingNode",tables:d(n)})},cloneWithTables(n,o){return d({...n,tables:d([...n.tables,...o])})}});var Ot=d({is(n){return n.kind==="DeleteQueryNode"},create(n,o){return d({kind:"DeleteQueryNode",from:Ft.create(n),...o&&{with:o}})},cloneWithOrderByItems:(n,o)=>g.cloneWithOrderByItems(n,o),cloneWithoutOrderBy:(n)=>g.cloneWithoutOrderBy(n),cloneWithLimit(n,o){return d({...n,limit:o})},cloneWithoutLimit(n){return d({...n,limit:void 0})},cloneWithUsing(n,o){return d({...n,using:n.using!==void 0?jr.cloneWithTables(n.using,o):jr.create(o)})}});var ie=d({is(n){return n.kind==="WhereNode"},create(n){return d({kind:"WhereNode",where:n})},cloneWithOperation(n,o,s){return d({...n,where:o==="And"?me.create(n.where,s):Le.create(n.where,s)})}});var Un=d({is(n){return n.kind==="ReturningNode"},create(n){return d({kind:"ReturningNode",selections:d(n)})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})}});var md=d({is(n){return n.kind==="ExplainNode"},create(n,o){return d({kind:"ExplainNode",format:n,options:o})}});var fe=d({is(n){return n.kind==="WhenNode"},create(n){return d({kind:"WhenNode",condition:n})},cloneWithResult(n,o){return d({...n,result:o})}});var Ce=d({is(n){return n.kind==="MergeQueryNode"},create(n,o){return d({kind:"MergeQueryNode",into:n,...o&&{with:o}})},cloneWithUsing(n,o){return d({...n,using:o})},cloneWithWhen(n,o){return d({...n,whens:n.whens?d([...n.whens,o]):d([o])})},cloneWithThen(n,o){return d({...n,whens:n.whens?d([...n.whens.slice(0,-1),fe.cloneWithResult(n.whens[n.whens.length-1],o)]):void 0})}});var Vn=d({is(n){return n.kind==="OutputNode"},create(n){return d({kind:"OutputNode",selections:d(n)})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})}});var g=d({is(n){return S.is(n)||K.is(n)||je.is(n)||Ot.is(n)||Ce.is(n)},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):d([o])})},cloneWithWhere(n,o){return d({...n,where:n.where?ie.cloneWithOperation(n.where,"And",o):ie.create(o)})},cloneWithJoin(n,o){return d({...n,joins:n.joins?d([...n.joins,o]):d([o])})},cloneWithReturning(n,o){return d({...n,returning:n.returning?Un.cloneWithSelections(n.returning,o):Un.create(o)})},cloneWithoutReturning(n){return d({...n,returning:void 0})},cloneWithoutWhere(n){return d({...n,where:void 0})},cloneWithExplain(n,o,s){return d({...n,explain:md.create(o,s?.toOperationNode())})},cloneWithTop(n,o){return d({...n,top:o})},cloneWithOutput(n,o){return d({...n,output:n.output?Vn.cloneWithSelections(n.output,o):Vn.create(o)})},cloneWithOrderByItems(n,o){return d({...n,orderBy:n.orderBy?mt.cloneWithItems(n.orderBy,o):mt.create(o)})},cloneWithoutOrderBy(n){return d({...n,orderBy:void 0})}});var S=d({is(n){return n.kind==="SelectQueryNode"},create(n){return d({kind:"SelectQueryNode",...n&&{with:n}})},createFrom(n,o){return d({kind:"SelectQueryNode",from:Ft.create(n),...o&&{with:o}})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})},cloneWithDistinctOn(n,o){return d({...n,distinctOn:n.distinctOn?d([...n.distinctOn,...o]):d(o)})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):d([o])})},cloneWithOrderByItems:(n,o)=>g.cloneWithOrderByItems(n,o),cloneWithGroupByItems(n,o){return d({...n,groupBy:n.groupBy?Kn.cloneWithItems(n.groupBy,o):Kn.create(o)})},cloneWithLimit(n,o){return d({...n,limit:o})},cloneWithOffset(n,o){return d({...n,offset:o})},cloneWithFetch(n,o){return d({...n,fetch:o})},cloneWithHaving(n,o){return d({...n,having:n.having?$n.cloneWithOperation(n.having,"And",o):$n.create(o)})},cloneWithSetOperations(n,o){return d({...n,setOperations:n.setOperations?d([...n.setOperations,...o]):d([...o])})},cloneWithoutSelections(n){return d({...n,selections:[]})},cloneWithoutLimit(n){return d({...n,limit:void 0})},cloneWithoutOffset(n){return d({...n,offset:void 0})},cloneWithoutOrderBy:(n)=>g.cloneWithoutOrderBy(n),cloneWithoutGroupBy(n){return d({...n,groupBy:void 0})}});class ar{#e;constructor(n){this.#e=d(n)}on(...n){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,P(n))})}onRef(n,o,s){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,z(n,o,s))})}onTrue(){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,k.createWithSql("true"))})}$call(n){return n(this)}toOperationNode(){return this.#e.joinNode}}var pd=d({is(n){return n.kind==="PartitionByItemNode"},create(n){return d({kind:"PartitionByItemNode",partitionBy:n})}});function fd(n){return lt(n).map(pd.create)}class dr{#e;constructor(n){this.#e=d(n)}orderBy(...n){return new dr({overNode:Jr.cloneWithOrderByItems(this.#e.overNode,ve(n))})}clearOrderBy(){return new dr({overNode:g.cloneWithoutOrderBy(this.#e.overNode)})}partitionBy(n){return new dr({overNode:Jr.cloneWithPartitionByItems(this.#e.overNode,fd(n))})}$call(n){return n(this)}toOperationNode(){return this.#e.overNode}}var ur=d({is(n){return n.kind==="SelectionNode"},create(n){return d({kind:"SelectionNode",selection:n})},createSelectAll(){return d({kind:"SelectionNode",selection:rr.create()})},createSelectAllFromTable(n){return d({kind:"SelectionNode",selection:xb.createSelectAll(n)})}});function H(n){if(W(n))return H(n(Me()));else if(se(n))return n.map((o)=>hd(o));else return[hd(n)]}function hd(n){if(w(n))return ur.create(dd(n));else if(Bi(n))return ur.create(n.toOperationNode());else return ur.create(Gi(n))}function te(n){if(!n)return[ur.createSelectAll()];else if(Array.isArray(n))return n.map(_d);else return[_d(n)]}function _d(n){if(w(n))return ur.createSelectAllFromTable(T(n));throw Error(`invalid value selectAll expression: ${JSON.stringify(n)}`)}var yd=d({is(n){return n.kind==="ValuesNode"},create(n){return d({kind:"ValuesNode",values:d(n)})}});var xd=d({is(n){return n.kind==="DefaultInsertValueNode"},create(){return d({kind:"DefaultInsertValueNode"})}});function Ui(n){let o=W(n)?n(Me()):n,s=se(o)?o:d([o]);return Cc(s)}function Cc(n){let o=Ec(n);return[d([...o.keys()].map(tr.create)),yd.create(n.map((s)=>Tc(s,o)))]}function Ec(n){let o=new Map;for(let s of n){let a=Object.keys(s);for(let c of a)if(!o.has(c)&&s[c]!==void 0)o.set(c,o.size)}return o}function Tc(n,o){let s=Object.keys(n),a=Array.from({length:o.size}),c=!1,p=s.length;for(let _ of s){let y=o.get(_);if(ge(y)){p--;continue}let x=n[_];if(ge(x)||ct(x))c=!0;a[y]=x}if(p<o.size||c){let _=xd.create();return Dt.create(a.map((y)=>ge(y)?_:O(y)))}return Mi.create(a)}var Qn=d({is(n){return n.kind==="ColumnUpdateNode"},create(n,o){return d({kind:"ColumnUpdateNode",column:n,value:o})}});function Nd(...n){if(n.length===2)return[Qn.create(j(n[0]),O(n[1]))];return Hr(n[0])}function Hr(n){let o=W(n)?n(Me()):n;return Object.entries(o).filter(([s,a])=>a!==void 0).map(([s,a])=>Qn.create(tr.create(s),O(a)))}var gd=d({is(n){return n.kind==="OnDuplicateKeyNode"},create(n){return d({kind:"OnDuplicateKeyNode",updates:n})}});class zn{insertId;numInsertedOrUpdatedRows;constructor(n,o){this.insertId=n,this.numInsertedOrUpdatedRows=o}}class qe extends Error{node;constructor(n){super("no result");this.node=n}}function He(n){return Object.prototype.hasOwnProperty.call(n,"prototype")}var ce=d({is(n){return n.kind==="OnConflictNode"},create(){return d({kind:"OnConflictNode"})},cloneWith(n,o){return d({...n,...o})},cloneWithIndexWhere(n,o){return d({...n,indexWhere:n.indexWhere?ie.cloneWithOperation(n.indexWhere,"And",o):ie.create(o)})},cloneWithIndexOrWhere(n,o){return d({...n,indexWhere:n.indexWhere?ie.cloneWithOperation(n.indexWhere,"Or",o):ie.create(o)})},cloneWithUpdateWhere(n,o){return d({...n,updateWhere:n.updateWhere?ie.cloneWithOperation(n.updateWhere,"And",o):ie.create(o)})},cloneWithUpdateOrWhere(n,o){return d({...n,updateWhere:n.updateWhere?ie.cloneWithOperation(n.updateWhere,"Or",o):ie.create(o)})},cloneWithoutIndexWhere(n){return d({...n,indexWhere:void 0})},cloneWithoutUpdateWhere(n){return d({...n,updateWhere:void 0})}});class Ye{#e;constructor(n){this.#e=d(n)}column(n){let o=tr.create(n);return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?d([...this.#e.onConflictNode.columns,o]):d([o])})})}columns(n){let o=n.map(tr.create);return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?d([...this.#e.onConflictNode.columns,...o]):d(o)})})}constraint(n){return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{constraint:ot.create(n)})})}expression(n){return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{indexExpression:n.toOperationNode()})})}where(...n){return new Ye({...this.#e,onConflictNode:ce.cloneWithIndexWhere(this.#e.onConflictNode,P(n))})}whereRef(n,o,s){return new Ye({...this.#e,onConflictNode:ce.cloneWithIndexWhere(this.#e.onConflictNode,z(n,o,s))})}clearWhere(){return new Ye({...this.#e,onConflictNode:ce.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new vd({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(n){return new Yr({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{updates:Hr(n)})})}$call(n){return n(this)}}class vd{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.onConflictNode}}class Yr{#e;constructor(n){this.#e=d(n)}where(...n){return new Yr({...this.#e,onConflictNode:ce.cloneWithUpdateWhere(this.#e.onConflictNode,P(n))})}whereRef(n,o,s){return new Yr({...this.#e,onConflictNode:ce.cloneWithUpdateWhere(this.#e.onConflictNode,z(n,o,s))})}clearWhere(){return new Yr({...this.#e,onConflictNode:ce.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(n){return n(this)}toOperationNode(){return this.#e.onConflictNode}}var bd=d({is(n){return n.kind==="TopNode"},create(n,o){return d({kind:"TopNode",expression:n,modifiers:o})}});function Fe(n,o){if(!Ct(n)&&!Zt(n))throw Error(`Invalid top expression: ${n}`);if(!ge(o)&&!kc(o))throw Error(`Invalid top modifiers: ${o}`);return bd.create(n,o)}function kc(n){return n==="percent"||n==="with ties"||n==="percent with ties"}var Kt=d({is(n){return n.kind==="OrActionNode"},create(n){return d({kind:"OrActionNode",action:n})}});class R{#e;constructor(n){this.#e=d(n)}values(n){let[o,s]=Ui(n);return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{columns:o,values:s})})}columns(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{columns:d(n.map(tr.create))})})}expression(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{values:ee(n)})})}defaultValues(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{defaultValues:!0})})}modifyEnd(n){return new R({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}ignore(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("ignore")})})}orIgnore(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("ignore")})})}orAbort(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("abort")})})}orFail(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("fail")})})}orReplace(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("replace")})})}orRollback(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("rollback")})})}top(n,o){return new R({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}onConflict(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{onConflict:n(new Ye({onConflictNode:ce.create()})).toOperationNode()})})}onDuplicateKeyUpdate(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{onDuplicateKey:gd.create(Hr(n))})})}returning(n){return new R({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(){return new R({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te())})}output(n){return new R({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new R({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}clearReturning(){return new R({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new R({...this.#e})}$castTo(){return new R(this.#e)}$narrowType(){return new R(this.#e)}$assertType(){return new R(this.#e)}withPlugin(n){return new R({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new zn(s.insertId,s.numAffectedRows??BigInt(0))]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new R({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}class Jn{numDeletedRows;constructor(n){this.numDeletedRows=n}}var cr=d({is(n){return n.kind==="LimitNode"},create(n){return d({kind:"LimitNode",limit:n})}});var G;class Vi{#e;constructor(n){this.#e=d(n)}where(...n){return new G({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new G({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new G({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new G({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}using(n){return new G({...this.#e,queryNode:Ot.cloneWithUsing(this.#e.queryNode,Ke(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}#t(n,o){return new G({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}returning(n){return new G({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new G({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new G({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new G({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}clearReturning(){return new G({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new G({...this.#e,queryNode:Ot.cloneWithoutLimit(this.#e.queryNode)})}orderBy(...n){return new G({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}clearOrderBy(){return new G({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new G({...this.#e,queryNode:Ot.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}modifyEnd(n){return new G({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new G({...this.#e})}$castTo(){return new G(this.#e)}$narrowType(){return new G(this.#e)}$assertType(){return new G(this.#e)}withPlugin(n){return new G({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new Jn(s.numAffectedRows??BigInt(0))]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new G({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}G=Vi;class jn{numUpdatedRows;numChangedRows;constructor(n,o){this.numUpdatedRows=n,this.numChangedRows=o}}var U;class lr{#e;constructor(n){this.#e=d(n)}where(...n){return new U({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new U({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new U({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new U({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}from(n){return new U({...this.#e,queryNode:je.cloneWithFromItems(this.#e.queryNode,Ke(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}#t(n,o){return new U({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}orderBy(...n){return new U({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}clearOrderBy(){return new U({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new U({...this.#e,queryNode:je.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}set(...n){return new U({...this.#e,queryNode:je.cloneWithUpdates(this.#e.queryNode,Nd(...n))})}returning(n){return new U({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new U({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new U({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new U({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}modifyEnd(n){return new U({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}clearReturning(){return new U({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new U({...this.#e})}$castTo(){return new U(this.#e)}$narrowType(){return new U(this.#e)}$assertType(){return new U(this.#e)}withPlugin(n){return new U({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new jn(s.numAffectedRows??BigInt(0),s.numChangedRows)]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new U({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}U=lr;var Hn=d({is(n){return n.kind==="CommonTableExpressionNameNode"},create(n,o){return d({kind:"CommonTableExpressionNameNode",table:Oc.create(n),columns:o?d(o.map(tr.create)):void 0})}});var mr=d({is(n){return n.kind==="CommonTableExpressionNode"},create(n,o){return d({kind:"CommonTableExpressionNode",name:n,expression:o})},cloneWith(n,o){return d({...n,...o})}});class Xr{#e;constructor(n){this.#e=d(n)}materialized(){return new Xr({...this.#e,node:mr.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new Xr({...this.#e,node:mr.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}}function Xn(n,o){let s=D(o)?o.toOperationNode():o(Ed()).toOperationNode();if(W(n))return n(Sc(s)).toOperationNode();return mr.create(Cd(n),s)}function Sc(n){return(o)=>new Xr({node:mr.create(Cd(o),n)})}function Cd(n){if(n.includes("(")){let o=n.split(/[\(\)]/),s=o[0],a=o[1].split(",").map((c)=>c.trim());return Hn.create(s,a)}else return Hn.create(n)}var Zr=d({is(n){return n.kind==="WithNode"},create(n,o){return d({kind:"WithNode",expressions:d([n]),...o})},cloneWithExpression(n,o){return d({...n,expressions:d([...n.expressions,o])})}});var Td=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"];function kd(n){let o="";for(let s=0;s<n;++s)o+=Dc();return o}function Dc(){return Td[~~(Math.random()*Td.length)]}function b(){return new Sd}class Sd{#e;get queryId(){if(this.#e===void 0)this.#e=kd(8);return this.#e}}class ei{nodeStack=[];#e=d({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),RenameConstraintNode:this.transformRenameConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),RefreshMaterializedViewNode:this.transformRefreshMaterializedView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this),OrActionNode:this.transformOrAction.bind(this),CollateNode:this.transformCollate.bind(this),AlterTypeNode:this.transformAlterType.bind(this),AddValueNode:this.transformAddValue.bind(this),RenameValueNode:this.transformRenameValue.bind(this)});transformNode(n,o){if(!n)return n;this.nodeStack.push(n);let s=this.transformNodeImpl(n,o);return this.nodeStack.pop(),d(s)}transformNodeImpl(n,o){return this.#e[n.kind](n,o)}transformNodeList(n,o){if(!n)return n;return d(n.map((s)=>this.transformNode(s,o)))}transformSelectQuery(n,o){return{kind:"SelectQueryNode",from:this.transformNode(n.from,o),selections:this.transformNodeList(n.selections,o),distinctOn:this.transformNodeList(n.distinctOn,o),joins:this.transformNodeList(n.joins,o),groupBy:this.transformNode(n.groupBy,o),orderBy:this.transformNode(n.orderBy,o),where:this.transformNode(n.where,o),frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),limit:this.transformNode(n.limit,o),offset:this.transformNode(n.offset,o),with:this.transformNode(n.with,o),having:this.transformNode(n.having,o),explain:this.transformNode(n.explain,o),setOperations:this.transformNodeList(n.setOperations,o),fetch:this.transformNode(n.fetch,o),top:this.transformNode(n.top,o)}}transformSelection(n,o){return{kind:"SelectionNode",selection:this.transformNode(n.selection,o)}}transformColumn(n,o){return{kind:"ColumnNode",column:this.transformNode(n.column,o)}}transformAlias(n,o){return{kind:"AliasNode",node:this.transformNode(n.node,o),alias:this.transformNode(n.alias,o)}}transformTable(n,o){return{kind:"TableNode",table:this.transformNode(n.table,o)}}transformFrom(n,o){return{kind:"FromNode",froms:this.transformNodeList(n.froms,o)}}transformReference(n,o){return{kind:"ReferenceNode",column:this.transformNode(n.column,o),table:this.transformNode(n.table,o)}}transformAnd(n,o){return{kind:"AndNode",left:this.transformNode(n.left,o),right:this.transformNode(n.right,o)}}transformOr(n,o){return{kind:"OrNode",left:this.transformNode(n.left,o),right:this.transformNode(n.right,o)}}transformValueList(n,o){return{kind:"ValueListNode",values:this.transformNodeList(n.values,o)}}transformParens(n,o){return{kind:"ParensNode",node:this.transformNode(n.node,o)}}transformJoin(n,o){return{kind:"JoinNode",joinType:n.joinType,table:this.transformNode(n.table,o),on:this.transformNode(n.on,o)}}transformRaw(n,o){return{kind:"RawNode",sqlFragments:d([...n.sqlFragments]),parameters:this.transformNodeList(n.parameters,o)}}transformWhere(n,o){return{kind:"WhereNode",where:this.transformNode(n.where,o)}}transformInsertQuery(n,o){return{kind:"InsertQueryNode",into:this.transformNode(n.into,o),columns:this.transformNodeList(n.columns,o),values:this.transformNode(n.values,o),returning:this.transformNode(n.returning,o),onConflict:this.transformNode(n.onConflict,o),onDuplicateKey:this.transformNode(n.onDuplicateKey,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),orAction:this.transformNode(n.orAction,o),replace:n.replace,explain:this.transformNode(n.explain,o),defaultValues:n.defaultValues,top:this.transformNode(n.top,o),output:this.transformNode(n.output,o)}}transformValues(n,o){return{kind:"ValuesNode",values:this.transformNodeList(n.values,o)}}transformDeleteQuery(n,o){return{kind:"DeleteQueryNode",from:this.transformNode(n.from,o),using:this.transformNode(n.using,o),joins:this.transformNodeList(n.joins,o),where:this.transformNode(n.where,o),returning:this.transformNode(n.returning,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),orderBy:this.transformNode(n.orderBy,o),limit:this.transformNode(n.limit,o),explain:this.transformNode(n.explain,o),top:this.transformNode(n.top,o),output:this.transformNode(n.output,o)}}transformReturning(n,o){return{kind:"ReturningNode",selections:this.transformNodeList(n.selections,o)}}transformCreateTable(n,o){return{kind:"CreateTableNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),constraints:this.transformNodeList(n.constraints,o),indexes:this.transformNodeList(n.indexes,o),temporary:n.temporary,ifNotExists:n.ifNotExists,onCommit:n.onCommit,frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),selectQuery:this.transformNode(n.selectQuery,o)}}transformColumnDefinition(n,o){return{kind:"ColumnDefinitionNode",column:this.transformNode(n.column,o),dataType:this.transformNode(n.dataType,o),references:this.transformNode(n.references,o),primaryKey:n.primaryKey,autoIncrement:n.autoIncrement,unique:n.unique,notNull:n.notNull,unsigned:n.unsigned,defaultTo:this.transformNode(n.defaultTo,o),check:this.transformNode(n.check,o),generated:this.transformNode(n.generated,o),frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),nullsNotDistinct:n.nullsNotDistinct,identity:n.identity,ifNotExists:n.ifNotExists}}transformAddColumn(n,o){return{kind:"AddColumnNode",column:this.transformNode(n.column,o)}}transformDropTable(n,o){return{kind:"DropTableNode",table:this.transformNode(n.table,o),ifExists:n.ifExists,cascade:n.cascade,temporary:n.temporary}}transformOrderBy(n,o){return{kind:"OrderByNode",items:this.transformNodeList(n.items,o)}}transformOrderByItem(n,o){return{kind:"OrderByItemNode",orderBy:this.transformNode(n.orderBy,o),direction:this.transformNode(n.direction,o),collation:this.transformNode(n.collation,o),nulls:n.nulls}}transformGroupBy(n,o){return{kind:"GroupByNode",items:this.transformNodeList(n.items,o)}}transformGroupByItem(n,o){return{kind:"GroupByItemNode",groupBy:this.transformNode(n.groupBy,o)}}transformUpdateQuery(n,o){return{kind:"UpdateQueryNode",table:this.transformNode(n.table,o),from:this.transformNode(n.from,o),joins:this.transformNodeList(n.joins,o),where:this.transformNode(n.where,o),updates:this.transformNodeList(n.updates,o),returning:this.transformNode(n.returning,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),explain:this.transformNode(n.explain,o),limit:this.transformNode(n.limit,o),top:this.transformNode(n.top,o),output:this.transformNode(n.output,o),orderBy:this.transformNode(n.orderBy,o)}}transformColumnUpdate(n,o){return{kind:"ColumnUpdateNode",column:this.transformNode(n.column,o),value:this.transformNode(n.value,o)}}transformLimit(n,o){return{kind:"LimitNode",limit:this.transformNode(n.limit,o)}}transformOffset(n,o){return{kind:"OffsetNode",offset:this.transformNode(n.offset,o)}}transformOnConflict(n,o){return{kind:"OnConflictNode",columns:this.transformNodeList(n.columns,o),constraint:this.transformNode(n.constraint,o),indexExpression:this.transformNode(n.indexExpression,o),indexWhere:this.transformNode(n.indexWhere,o),updates:this.transformNodeList(n.updates,o),updateWhere:this.transformNode(n.updateWhere,o),doNothing:n.doNothing}}transformOnDuplicateKey(n,o){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(n.updates,o)}}transformCreateIndex(n,o){return{kind:"CreateIndexNode",name:this.transformNode(n.name,o),table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),unique:n.unique,using:this.transformNode(n.using,o),ifNotExists:n.ifNotExists,where:this.transformNode(n.where,o),nullsNotDistinct:n.nullsNotDistinct}}transformList(n,o){return{kind:"ListNode",items:this.transformNodeList(n.items,o)}}transformDropIndex(n,o){return{kind:"DropIndexNode",name:this.transformNode(n.name,o),table:this.transformNode(n.table,o),ifExists:n.ifExists,cascade:n.cascade}}transformPrimaryKeyConstraint(n,o){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(n.columns,o),name:this.transformNode(n.name,o),deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformUniqueConstraint(n,o){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(n.columns,o),name:this.transformNode(n.name,o),nullsNotDistinct:n.nullsNotDistinct,deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformForeignKeyConstraint(n,o){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(n.columns,o),references:this.transformNode(n.references,o),name:this.transformNode(n.name,o),onDelete:n.onDelete,onUpdate:n.onUpdate,deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformSetOperation(n,o){return{kind:"SetOperationNode",operator:n.operator,expression:this.transformNode(n.expression,o),all:n.all}}transformReferences(n,o){return{kind:"ReferencesNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),onDelete:n.onDelete,onUpdate:n.onUpdate}}transformCheckConstraint(n,o){return{kind:"CheckConstraintNode",expression:this.transformNode(n.expression,o),name:this.transformNode(n.name,o)}}transformWith(n,o){return{kind:"WithNode",expressions:this.transformNodeList(n.expressions,o),recursive:n.recursive}}transformCommonTableExpression(n,o){return{kind:"CommonTableExpressionNode",name:this.transformNode(n.name,o),materialized:n.materialized,expression:this.transformNode(n.expression,o)}}transformCommonTableExpressionName(n,o){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o)}}transformHaving(n,o){return{kind:"HavingNode",having:this.transformNode(n.having,o)}}transformCreateSchema(n,o){return{kind:"CreateSchemaNode",schema:this.transformNode(n.schema,o),ifNotExists:n.ifNotExists}}transformDropSchema(n,o){return{kind:"DropSchemaNode",schema:this.transformNode(n.schema,o),ifExists:n.ifExists,cascade:n.cascade}}transformAlterTable(n,o){return{kind:"AlterTableNode",table:this.transformNode(n.table,o),renameTo:this.transformNode(n.renameTo,o),setSchema:this.transformNode(n.setSchema,o),columnAlterations:this.transformNodeList(n.columnAlterations,o),addConstraint:this.transformNode(n.addConstraint,o),dropConstraint:this.transformNode(n.dropConstraint,o),renameConstraint:this.transformNode(n.renameConstraint,o),addIndex:this.transformNode(n.addIndex,o),dropIndex:this.transformNode(n.dropIndex,o)}}transformDropColumn(n,o){return{kind:"DropColumnNode",column:this.transformNode(n.column,o),ifExists:n.ifExists}}transformRenameColumn(n,o){return{kind:"RenameColumnNode",column:this.transformNode(n.column,o),renameTo:this.transformNode(n.renameTo,o)}}transformAlterColumn(n,o){return{kind:"AlterColumnNode",column:this.transformNode(n.column,o),dataType:this.transformNode(n.dataType,o),dataTypeExpression:this.transformNode(n.dataTypeExpression,o),setDefault:this.transformNode(n.setDefault,o),dropDefault:n.dropDefault,setNotNull:n.setNotNull,dropNotNull:n.dropNotNull}}transformModifyColumn(n,o){return{kind:"ModifyColumnNode",column:this.transformNode(n.column,o)}}transformAddConstraint(n,o){return{kind:"AddConstraintNode",constraint:this.transformNode(n.constraint,o)}}transformDropConstraint(n,o){return{kind:"DropConstraintNode",constraintName:this.transformNode(n.constraintName,o),ifExists:n.ifExists,modifier:n.modifier}}transformRenameConstraint(n,o){return{kind:"RenameConstraintNode",oldName:this.transformNode(n.oldName,o),newName:this.transformNode(n.newName,o)}}transformCreateView(n,o){return{kind:"CreateViewNode",name:this.transformNode(n.name,o),temporary:n.temporary,orReplace:n.orReplace,ifNotExists:n.ifNotExists,materialized:n.materialized,columns:this.transformNodeList(n.columns,o),as:this.transformNode(n.as,o)}}transformRefreshMaterializedView(n,o){return{kind:"RefreshMaterializedViewNode",name:this.transformNode(n.name,o),concurrently:n.concurrently,withNoData:n.withNoData}}transformDropView(n,o){return{kind:"DropViewNode",name:this.transformNode(n.name,o),ifExists:n.ifExists,materialized:n.materialized,cascade:n.cascade}}transformGenerated(n,o){return{kind:"GeneratedNode",byDefault:n.byDefault,always:n.always,identity:n.identity,stored:n.stored,expression:this.transformNode(n.expression,o)}}transformDefaultValue(n,o){return{kind:"DefaultValueNode",defaultValue:this.transformNode(n.defaultValue,o)}}transformOn(n,o){return{kind:"OnNode",on:this.transformNode(n.on,o)}}transformSelectModifier(n,o){return{kind:"SelectModifierNode",modifier:n.modifier,rawModifier:this.transformNode(n.rawModifier,o),of:this.transformNodeList(n.of,o)}}transformCreateType(n,o){return{kind:"CreateTypeNode",name:this.transformNode(n.name,o),enum:this.transformNode(n.enum,o)}}transformDropType(n,o){return{kind:"DropTypeNode",name:this.transformNode(n.name,o),additionalNames:this.transformNodeList(n.additionalNames,o),cascade:n.cascade,ifExists:n.ifExists}}transformExplain(n,o){return{kind:"ExplainNode",format:n.format,options:this.transformNode(n.options,o)}}transformSchemableIdentifier(n,o){return{kind:"SchemableIdentifierNode",schema:this.transformNode(n.schema,o),identifier:this.transformNode(n.identifier,o)}}transformAggregateFunction(n,o){return{kind:"AggregateFunctionNode",func:n.func,aggregated:this.transformNodeList(n.aggregated,o),distinct:n.distinct,orderBy:this.transformNode(n.orderBy,o),withinGroup:this.transformNode(n.withinGroup,o),filter:this.transformNode(n.filter,o),over:this.transformNode(n.over,o)}}transformOver(n,o){return{kind:"OverNode",orderBy:this.transformNode(n.orderBy,o),partitionBy:this.transformNode(n.partitionBy,o)}}transformPartitionBy(n,o){return{kind:"PartitionByNode",items:this.transformNodeList(n.items,o)}}transformPartitionByItem(n,o){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(n.partitionBy,o)}}transformBinaryOperation(n,o){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(n.leftOperand,o),operator:this.transformNode(n.operator,o),rightOperand:this.transformNode(n.rightOperand,o)}}transformUnaryOperation(n,o){return{kind:"UnaryOperationNode",operator:this.transformNode(n.operator,o),operand:this.transformNode(n.operand,o)}}transformUsing(n,o){return{kind:"UsingNode",tables:this.transformNodeList(n.tables,o)}}transformFunction(n,o){return{kind:"FunctionNode",func:n.func,arguments:this.transformNodeList(n.arguments,o)}}transformCase(n,o){return{kind:"CaseNode",value:this.transformNode(n.value,o),when:this.transformNodeList(n.when,o),else:this.transformNode(n.else,o),isStatement:n.isStatement}}transformWhen(n,o){return{kind:"WhenNode",condition:this.transformNode(n.condition,o),result:this.transformNode(n.result,o)}}transformJSONReference(n,o){return{kind:"JSONReferenceNode",reference:this.transformNode(n.reference,o),traversal:this.transformNode(n.traversal,o)}}transformJSONPath(n,o){return{kind:"JSONPathNode",inOperator:this.transformNode(n.inOperator,o),pathLegs:this.transformNodeList(n.pathLegs,o)}}transformJSONPathLeg(n,o){return{kind:"JSONPathLegNode",type:n.type,value:n.value}}transformJSONOperatorChain(n,o){return{kind:"JSONOperatorChainNode",operator:this.transformNode(n.operator,o),values:this.transformNodeList(n.values,o)}}transformTuple(n,o){return{kind:"TupleNode",values:this.transformNodeList(n.values,o)}}transformMergeQuery(n,o){return{kind:"MergeQueryNode",into:this.transformNode(n.into,o),using:this.transformNode(n.using,o),whens:this.transformNodeList(n.whens,o),with:this.transformNode(n.with,o),top:this.transformNode(n.top,o),endModifiers:this.transformNodeList(n.endModifiers,o),output:this.transformNode(n.output,o),returning:this.transformNode(n.returning,o)}}transformMatched(n,o){return{kind:"MatchedNode",not:n.not,bySource:n.bySource}}transformAddIndex(n,o){return{kind:"AddIndexNode",name:this.transformNode(n.name,o),columns:this.transformNodeList(n.columns,o),unique:n.unique,using:this.transformNode(n.using,o),ifNotExists:n.ifNotExists}}transformCast(n,o){return{kind:"CastNode",expression:this.transformNode(n.expression,o),dataType:this.transformNode(n.dataType,o)}}transformFetch(n,o){return{kind:"FetchNode",rowCount:this.transformNode(n.rowCount,o),modifier:n.modifier}}transformTop(n,o){return{kind:"TopNode",expression:n.expression,modifiers:n.modifiers}}transformOutput(n,o){return{kind:"OutputNode",selections:this.transformNodeList(n.selections,o)}}transformAlterType(n,o){return{kind:"AlterTypeNode",name:this.transformNode(n.name,o),addValue:this.transformNode(n.addValue,o),renameTo:this.transformNode(n.renameTo,o),renameValue:this.transformNode(n.renameValue,o),setSchema:this.transformNode(n.setSchema,o)}}transformAddValue(n,o){return{kind:"AddValueNode",value:this.transformNode(n.value,o),ifNotExists:n.ifNotExists,isBefore:n.isBefore,neighborValue:this.transformNode(n.neighborValue,o)}}transformRenameValue(n,o){return{kind:"RenameValueNode",oldValue:this.transformNode(n.oldValue,o),newValue:this.transformNode(n.newValue,o)}}transformDataType(n,o){return n}transformSelectAll(n,o){return n}transformIdentifier(n,o){return n}transformValue(n,o){return n}transformPrimitiveValueList(n,o){return n}transformOperator(n,o){return n}transformDefaultInsertValue(n,o){return n}transformOrAction(n,o){return n}transformCollate(n,o){return n}}function Dd(n){return M(n)&&w(n.kind)}var Rc={AlterTableNode:!0,AlterTypeNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,RefreshMaterializedViewNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0};function Od(n){return Dd(n)&&Rc[n.kind]===!0}var Ic=d({json_agg:!0,to_json:!0});class Zn extends ei{#e;#t=new Set;#r=new Set;constructor(n){super();this.#e=n}transformNodeImpl(n,o){if(!Od(n))return super.transformNodeImpl(n,o);let s=this.#a(n);for(let p of s)this.#r.add(p);let a=this.#o(n);for(let p of a)this.#t.add(p);let c=super.transformNodeImpl(n,o);for(let p of a)this.#t.delete(p);for(let p of s)this.#r.delete(p);return c}transformSchemableIdentifier(n,o){let s=super.transformSchemableIdentifier(n,o);if(s.schema||!this.#t.has(n.identifier.name))return s;return{...s,schema:ot.create(this.#e)}}transformReferences(n,o){let s=super.transformReferences(n,o);if(s.table.table.schema)return s;return{...s,table:Oc.createWithSchema(this.#e,s.table.table.identifier.name)}}transformAggregateFunction(n,o){return{...super.transformAggregateFunction({...n,aggregated:[]},o),aggregated:this.#i(n,o,"aggregated")}}transformFunction(n,o){return{...super.transformFunction({...n,arguments:[]},o),arguments:this.#i(n,o,"arguments")}}transformSelectModifier(n,o){return{...super.transformSelectModifier({...n,of:void 0},o),of:n.of?.map((s)=>Oc.is(s)&&!s.table.schema?{...s,table:this.transformIdentifier(s.table.identifier,o)}:this.transformNode(s,o))}}#i(n,o,s){return Ic[n.func]?n[s].map((a)=>!Oc.is(a)||a.table.schema?this.transformNode(a,o):{...a,table:this.transformIdentifier(a.table.identifier,o)}):this.transformNodeList(n[s],o)}#o(n){let o=new Set;if("name"in n&&n.name&&ae.is(n.name))this.#s(n.name,o);if("from"in n&&n.from)for(let s of n.from.froms)this.#n(s,o);if("into"in n&&n.into)this.#n(n.into,o);if("table"in n&&n.table)this.#n(n.table,o);if("joins"in n&&n.joins)for(let s of n.joins)this.#n(s.table,o);if("using"in n&&n.using)if(Ae.is(n.using))this.#n(n.using.table,o);else this.#n(n.using,o);return o}#a(n){let o=new Set;if("with"in n&&n.with)this.#c(n.with,o);return o}#n(n,o){if(Oc.is(n))return this.#s(n.table,o);if(Ts.is(n)&&Oc.is(n.node))return this.#s(n.node.table,o);if($i.is(n)){for(let s of n.items)this.#n(s,o);return}if(jr.is(n)){for(let s of n.tables)this.#n(s,o);return}}#s(n,o){let s=n.identifier.name;if(!this.#t.has(s)&&!this.#r.has(s))o.add(s)}#c(n,o){for(let s of n.expressions){let a=s.name.table.table.identifier.name;if(!this.#r.has(a))o.add(a)}}}class $e{#e;constructor(n){this.#e=new Zn(n)}transformQuery(n){return this.#e.transformNode(n.node,n.queryId)}async transformResult(n){return n.result}}var Rd=d({is(n){return n.kind==="MatchedNode"},create(n,o=!1){return d({kind:"MatchedNode",not:n,bySource:o})}});function eo(n,o,s){return fe.create(sr([Rd.create(!n.isMatched,n.bySource),...o&&o.length>0?[o.length===3&&s?z(o[0],o[1],o[2]):P(o)]:[]],"and",!1))}function pr(n){if(w(n))return k.create([n],[]);if(D(n))return n.toOperationNode();return n}class pt{#e;#t;#r;constructor(){this.#e=new Promise((n,o)=>{this.#r=o,this.#t=n})}get promise(){return this.#e}resolve=(n)=>{this.#t?.(n),this.#t=this.#r=void 0};reject=(n)=>{this.#r?.(n),this.#r=this.#t=void 0}}async function fr(n,o){let s=new pt,a=new pt;return n.provideConnection(async(c)=>(s.resolve(c),await a.promise),o).catch((c)=>s.reject(c)),d({connection:await s.promise,release:a.resolve})}function Pd(n="ignore query",o,s){if(n==="ignore query")return;if(n==="cancel query"){let a=o.cancelQuery;if(!a)s(),Id(n,o.killSession?"kill session":void 0);return a.bind(o)}if(n==="kill session"){let a=o.killSession;if(!a)s(),Id(n,o.cancelQuery?"cancel query":void 0);return a.bind(o)}throw s(),Error(`Unexpected \`inflightQueryAbortStrategy\`: "${n}"`)}function Id(n,o){throw Error(`This dialect doesn't support \`inflightQueryAbortStrategy\` "${n}". Use "ignore query"${o?` or "${o}"`:""} instead.`)}function ft(n,o,s){if(n?.aborted)s?.(),It(n.reason,o)}function It(n,o){throw Pc(n,o),n}var Ee={};async function hr(n,o,s,a){if(!o)return n;ft(o,`before ${s}`,a);let{promise:c,resolve:p}=new pt,h=()=>p(Ee);o.addEventListener("abort",h);try{ft(o,`before ${s}`,a);let _=await Promise.race([n,c]);if(_!==Ee)return _;a?.(),It(o.reason,`during ${s}`)}finally{o.removeEventListener("abort",h),p(Ee)}}function Xe(n){return(o)=>console.error(`\`${n}\` failed in the background after abortion: ${Ua(o)}`)}function Pc(n,o){if(n!==null&&typeof n==="object"&&!Object.isFrozen(n))Object.defineProperty(n,"__kysely_timing__",{configurable:!0,enumerable:!1,value:o,writable:!1})}var Lc=d([]);class ti{#e;constructor(n=Lc){this.#e=n}get plugins(){return this.#e}transformQuery(n,o){for(let s of this.#e){let a=s.transformQuery({node:n,queryId:o});if(a.kind===n.kind)n=a;else throw Error(["KyselyPlugin.transformQuery must return a node","of the same kind that was given to it.",`The plugin was given a ${n.kind}`,`but it returned a ${a.kind}`].join(" "))}return n}async executeQuery(n,o){let{inflightQueryAbortStrategy:s="ignore query",signal:a}=o||{};if(!a){let N=await this.provideConnection(async(C)=>await C.executeQuery(n),o);return await this.#t(N,n.queryId)}ft(a,"before query execution"),o=d({signal:a});let{connection:c,release:p}=await fr(this,o),h=this.provideConnection.bind(this),{promise:_,resolve:y}=new pt,x=()=>y(Ee);a.addEventListener("abort",x,{once:!0});try{ft(a,"before query execution",p);let N=Pd(s,c,p);if(N&&c.collectSessionInfo){ft(a,"before query execution",p);let ut=c.collectSessionInfo();if(await Promise.race([_,ut]).catch((fc)=>{throw p(),fc})===Ee)ut.catch(Xe("collectSessionInfo")).finally(p),It(a.reason,"before query execution")}let C=c.executeQuery(n,o),V=await Promise.race([_,C]).catch((ut)=>{throw p(),ut});if(V===Ee)Promise.allSettled([C.catch(Xe("query")),N?.(h).catch(Xe("inflightQueryAbortHandler"))]).finally(p),It(a.reason,"during query execution");else p();let re=this.#t(V,n.queryId,o),de=await Promise.race([_,re]);if(de===Ee)re.catch(Xe("plugins.transformResult")),It(a.reason,"during result transformation");return de}finally{y(Ee),a.removeEventListener("abort",x)}}async*stream(n,o,s){let{signal:a}=s||{};if(!a){let{connection:V,release:re}=await fr(this);try{for await(let de of V.streamQuery(n,o))yield await this.#t(de,n.queryId,s)}finally{re()}return}s=d({signal:a}),ft(a,"before connection acquisition");let{connection:c,release:p}=await fr(this,s),{promise:h,resolve:_}=new pt,y=()=>_(Ee);a.addEventListener("abort",y,{once:!0});let x,N;ft(a,"before query streaming",p);let{queryId:C}=n;try{x=c.streamQuery(n,o,s);while(!0){ft(a,"during query streaming");let V=x.next(),re=await Promise.race([h,V]);if(re===Ee)N=V.catch(Xe("iterator.next")),It(a.reason,"during query streaming");if(re.done)break;let de=this.#t(re.value,C,s),ut=await Promise.race([h,de]);if(ut===Ee)N=de.catch(Xe("plugins.transformResult")),It(a.reason,"during result transformation");yield ut}}finally{_(Ee),a.removeEventListener("abort",y);let V=(x?.return?.()||Promise.resolve()).finally(()=>N).finally(p);if(!N)await V}}async#t(n,o,s){let{signal:a}=s||{};for(let c of this.#e)n=await c.transformResult(d({queryId:o,result:n,signal:a}));return n}}class yr extends ti{get adapter(){throw Error("this query cannot be compiled to SQL")}compileQuery(){throw Error("this query cannot be compiled to SQL")}provideConnection(){throw Error("this query cannot be executed")}withConnectionProvider(){throw Error("this query cannot have a connection provider")}withPlugin(n){return new yr([...this.plugins,n])}withPlugins(n){return new yr([...this.plugins,...n])}withPluginAtFront(n){return new yr([n,...this.plugins])}withoutPlugins(){return new yr([])}}var Pt=new yr;class to{numChangedRows;constructor(n){this.numChangedRows=n}}class ht{#e;constructor(n){this.#e=d(n)}modifyEnd(n){return new ht({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new ht({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}using(...n){return new he({...this.#e,queryNode:Ce.cloneWithUsing(this.#e.queryNode,Rt("Using",n))})}returning(n){return new ht({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new ht({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new ht({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new ht({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}}class he{#e;constructor(n){this.#e=d(n)}modifyEnd(n){return new he({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new he({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}whenMatched(){return this.#t([])}whenMatchedAnd(...n){return this.#t(n)}whenMatchedAndRef(n,o,s){return this.#t([n,o,s],!0)}#t(n,o){return new ro({...this.#e,queryNode:Ce.cloneWithWhen(this.#e.queryNode,eo({isMatched:!0},n,o))})}whenNotMatched(){return this.#r([])}whenNotMatchedAnd(...n){return this.#r(n)}whenNotMatchedAndRef(n,o,s){return this.#r([n,o,s],!0)}whenNotMatchedBySource(){return this.#r([],!1,!0)}whenNotMatchedBySourceAnd(...n){return this.#r(n,!1,!0)}whenNotMatchedBySourceAndRef(n,o,s){return this.#r([n,o,s],!0,!0)}returning(n){return new he({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new he({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new he({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new he({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}#r(n,o=!1,s=!1){let a={...this.#e,queryNode:Ce.cloneWithWhen(this.#e.queryNode,eo({isMatched:!1,bySource:s},n,o))};return new(s?ro:Ld)(a)}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new he({...this.#e})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new to(s.numAffectedRows)]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}}class ro{#e;constructor(n){this.#e=d(n)}thenDelete(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("delete"))})}thenDoNothing(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenUpdate(n){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr(n(new lr({queryId:this.#e.queryId,executor:Pt,queryNode:je.createWithoutTable()}))))})}thenUpdateSet(...n){return this.thenUpdate((o)=>o.set(...n))}}class Ld{#e;constructor(n){this.#e=d(n)}thenDoNothing(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenInsertValues(n){let[o,s]=Ui(n);return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr(K.cloneWith(K.createWithoutInto(),{columns:o,values:s})))})}}class Ze{#e;constructor(n){this.#e=d(n)}selectFrom(n){return ri({queryId:b(),executor:this.#e.executor,queryNode:S.createFrom(Ke(n),this.#e.withNode)})}selectNoFrom(n){return ri({queryId:b(),executor:this.#e.executor,queryNode:S.cloneWithSelections(S.create(this.#e.withNode),H(n))})}insertInto(n){return new R({queryId:b(),executor:this.#e.executor,queryNode:K.create(T(n),this.#e.withNode)})}replaceInto(n){return new R({queryId:b(),executor:this.#e.executor,queryNode:K.create(T(n),this.#e.withNode,!0)})}deleteFrom(n){return new Vi({queryId:b(),executor:this.#e.executor,queryNode:Ot.create(Ke(n),this.#e.withNode)})}updateTable(n){return new lr({queryId:b(),executor:this.#e.executor,queryNode:je.create(Ke(n),this.#e.withNode)})}mergeInto(n){return new ht({queryId:b(),executor:this.#e.executor,queryNode:Ce.create(io(n),this.#e.withNode)})}with(n,o){let s=Xn(n,o);return new Ze({...this.#e,withNode:this.#e.withNode?Zr.cloneWithExpression(this.#e.withNode,s):Zr.create(s)})}withRecursive(n,o){let s=Xn(n,o);return new Ze({...this.#e,withNode:this.#e.withNode?Zr.cloneWithExpression(this.#e.withNode,s):Zr.create(s,{recursive:!0})})}withPlugin(n){return new Ze({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Ze({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Ze({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}}function Ed(){return new Ze({executor:Pt})}function Ad(n,o){return new ar({joinNode:Ae.create(n,$t(o))})}function Bd(){return new dr({overNode:Jr.create()})}function Rt(n,o){if(o.length===3)return Bc(n,o[0],o[1],o[2]);else if(o.length===2)return Ac(n,o[0],o[1]);else if(o.length===1)return Wc(n,o[0]);else throw Error("not implemented")}function Ac(n,o,s){return s(Ad(n,o)).toOperationNode()}function Bc(n,o,s,a){return Ae.createWithOn(n,$t(o),z(s,"=",a))}function Wc(n,o){return Ae.create(n,$t(o))}var Wd=d({is(n){return n.kind==="OffsetNode"},create(n){return d({kind:"OffsetNode",offset:n})}});var Md=d({is(n){return n.kind==="GroupByItemNode"},create(n){return d({kind:"GroupByItemNode",groupBy:n})}});function qd(n){return n=W(n)?n(Me()):n,lt(n).map(Md.create)}var Qi=d({is(n){return n.kind==="SetOperationNode"},create(n,o,s){return d({kind:"SetOperationNode",operator:n,expression:o,all:s})}});function Gt(n,o,s){if(W(o))o=o(no());if(!se(o))o=[o];return o.map((a)=>Qi.create(n,ee(a),s))}class Ir{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}or(...n){return new zi(Le.create(this.#e,P(n)))}and(...n){return new Ji(me.create(this.#e,P(n)))}$castTo(){return new Ir(this.#e)}$notNull(){return new Ir(this.#e)}toOperationNode(){return this.#e}}class ji{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Ts.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}class zi{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}or(...n){return new zi(Le.create(this.#e,P(n)))}$castTo(){return new zi(this.#e)}toOperationNode(){return be.create(this.#e)}}class Ji{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}and(...n){return new Ji(me.create(this.#e,P(n)))}$castTo(){return new Ji(this.#e)}toOperationNode(){return be.create(this.#e)}}var Fd=d({is(n){return n.kind==="FetchNode"},create(n,o){return{kind:"FetchNode",rowCount:Gn.create(n),modifier:o}}});function Kd(n,o){if(!Ct(n)&&!Zt(n))throw Error(`Invalid fetch row count: ${n}`);if(!qc(o))throw Error(`Invalid fetch modifier: ${o}`);return Fd.create(n,o)}function qc(n){return n==="only"||n==="with ties"}var v;class oo{#e;constructor(n){this.#e=d(n)}get expressionType(){return}get isSelectQueryBuilder(){return!0}where(...n){return new v({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new v({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}having(...n){return new v({...this.#e,queryNode:S.cloneWithHaving(this.#e.queryNode,P(n))})}havingRef(n,o,s){return new v({...this.#e,queryNode:S.cloneWithHaving(this.#e.queryNode,z(n,o,s))})}select(n){return new v({...this.#e,queryNode:S.cloneWithSelections(this.#e.queryNode,H(n))})}distinctOn(n){return new v({...this.#e,queryNode:S.cloneWithDistinctOn(this.#e.queryNode,lt(n))})}modifyFront(n){return new v({...this.#e,queryNode:S.cloneWithFrontModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}modifyEnd(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}distinct(){return new v({...this.#e,queryNode:S.cloneWithFrontModifier(this.#e.queryNode,Je.create("Distinct"))})}forUpdate(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForUpdate",n?Ur(n).map(T):void 0))})}forShare(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForShare",n?Ur(n).map(T):void 0))})}forKeyShare(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForKeyShare",n?Ur(n).map(T):void 0))})}forNoKeyUpdate(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForNoKeyUpdate",n?Ur(n).map(T):void 0))})}skipLocked(){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("SkipLocked"))})}noWait(){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("NoWait"))})}selectAll(n){return new v({...this.#e,queryNode:S.cloneWithSelections(this.#e.queryNode,te(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}crossJoin(...n){return this.#t("CrossJoin",n)}innerJoinLateral(...n){return this.#t("LateralInnerJoin",n)}leftJoinLateral(...n){return this.#t("LateralLeftJoin",n)}crossJoinLateral(...n){return this.#t("LateralCrossJoin",n)}crossApply(...n){return this.#t("CrossApply",n)}outerApply(...n){return this.#t("OuterApply",n)}#t(n,o){return new v({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}orderBy(...n){return new v({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}groupBy(n){return new v({...this.#e,queryNode:S.cloneWithGroupByItems(this.#e.queryNode,qd(n))})}limit(n){return new v({...this.#e,queryNode:S.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}offset(n){return new v({...this.#e,queryNode:S.cloneWithOffset(this.#e.queryNode,Wd.create(O(n)))})}fetch(n,o="only"){return new v({...this.#e,queryNode:S.cloneWithFetch(this.#e.queryNode,Kd(n,o))})}top(n,o){return new v({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}union(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("union",n,!1))})}unionAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("union",n,!0))})}intersect(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("intersect",n,!1))})}intersectAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("intersect",n,!0))})}except(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("except",n,!1))})}exceptAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("except",n,!0))})}as(n){return new $d(this,n)}clearSelect(){return new v({...this.#e,queryNode:S.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new v({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new v({...this.#e,queryNode:S.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new v({...this.#e,queryNode:S.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new v({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new v({...this.#e,queryNode:S.cloneWithoutGroupBy(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new v({...this.#e})}$castTo(){return new v(this.#e)}$narrowType(){return new v(this.#e)}$assertType(){return new v(this.#e)}$asTuple(){return new Ir(this.toOperationNode())}$asScalar(){return new Ir(this.toOperationNode())}withPlugin(n){return new v({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile();return(await this.#e.executor.executeQuery(o,n)).rows}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new v({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}v=oo;function ri(n){return new oo(n)}class $d{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return Ts.create(this.#e.toOperationNode(),ot.create(this.#t))}}var et=d({is(n){return n.kind==="AggregateFunctionNode"},create(n,o=[]){return d({kind:"AggregateFunctionNode",func:n,aggregated:o})},cloneWithDistinct(n){return d({...n,distinct:!0})},cloneWithOrderBy(n,o,s=!1){let a=s?"withinGroup":"orderBy";return d({...n,[a]:n[a]?mt.cloneWithItems(n[a],o):mt.create(o)})},cloneWithFilter(n,o){return d({...n,filter:n.filter?ie.cloneWithOperation(n.filter,"And",o):ie.create(o)})},cloneWithOrFilter(n,o){return d({...n,filter:n.filter?ie.cloneWithOperation(n.filter,"Or",o):ie.create(o)})},cloneWithOver(n,o){return d({...n,over:o})}});var so=d({is(n){return n.kind==="FunctionNode"},create(n,o){return d({kind:"FunctionNode",func:n,arguments:o})}});class ye{#e;constructor(n){this.#e=d(n)}get expressionType(){return}as(n){return new Gd(this,n)}distinct(){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithDistinct(this.#e.aggregateFunctionNode)})}orderBy(...n){return new ye({...this.#e,aggregateFunctionNode:g.cloneWithOrderByItems(this.#e.aggregateFunctionNode,ve(n))})}clearOrderBy(){return new ye({...this.#e,aggregateFunctionNode:g.cloneWithoutOrderBy(this.#e.aggregateFunctionNode)})}withinGroupOrderBy(...n){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithOrderBy(this.#e.aggregateFunctionNode,ve(n),!0)})}filterWhere(...n){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,P(n))})}filterWhereRef(n,o,s){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,z(n,o,s))})}over(n){let o=Bd();return new ye({...this.#e,aggregateFunctionNode:et.cloneWithOver(this.#e.aggregateFunctionNode,(n?n(o):o).toOperationNode())})}$call(n){return n(this)}$castTo(){return new ye(this.#e)}$notNull(){return new ye(this.#e)}toOperationNode(){return this.#e.aggregateFunctionNode}}class Gd{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Ts.create(this.#e.toOperationNode(),ot.create(this.#t))}}function Hi(){let n=(s,a)=>new Ir(so.create(s,lt(a??[]))),o=(s,a)=>new ye({aggregateFunctionNode:et.create(s,a?lt(a):void 0)});return Object.assign(n,{agg:o,avg(s){return o("avg",[s])},coalesce(...s){return n("coalesce",s)},count(s){return o("count",[s])},countAll(s){return new ye({aggregateFunctionNode:et.create("count",te(s))})},max(s){return o("max",[s])},min(s){return o("min",[s])},sum(s){return o("sum",[s])},any(s){return n("any",[s])},jsonAgg(s){return new ye({aggregateFunctionNode:et.create("json_agg",[w(s)?T(s):s.toOperationNode()])})},toJson(s){return new Ir(so.create("to_json",[w(s)?T(s):s.toOperationNode()]))}})}var Ud=d({is(n){return n.kind==="UnaryOperationNode"},create(n,o){return d({kind:"UnaryOperationNode",operator:n,operand:o})}});function Vd(n,o){if(id(n))return Ud.create(we.create(n),j(o));throw Error(`invalid unary operator ${JSON.stringify(n)}`)}var ne=d({is(n){return n.kind==="CaseNode"},create(n){return d({kind:"CaseNode",value:n})},cloneWithWhen(n,o){return d({...n,when:d(n.when?[...n.when,o]:[o])})},cloneWithThen(n,o){return d({...n,when:n.when?d([...n.when.slice(0,-1),fe.cloneWithResult(n.when[n.when.length-1],o)]):void 0})},cloneWith(n,o){return d({...n,...o})}});class ni{#e;constructor(n){this.#e=d(n)}when(...n){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(P(n)))})}whenRef(n,o,s){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(z(n,o,s)))})}}class ii{#e;constructor(n){this.#e=d(n)}then(n){return new ao({...this.#e,node:ne.cloneWithThen(this.#e.node,qi(n)?zr(n):O(n))})}thenRef(n){return new ao({...this.#e,node:ne.cloneWithThen(this.#e.node,j(n))})}}class ao{#e;constructor(n){this.#e=d(n)}when(...n){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(P(n)))})}whenRef(n,o,s){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(z(n,o,s)))})}else(n){return new uo({...this.#e,node:ne.cloneWith(this.#e.node,{else:qi(n)?zr(n):O(n)})})}elseRef(n){return new uo({...this.#e,node:ne.cloneWith(this.#e.node,{else:j(n)})})}end(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!0}))}}class uo{#e;constructor(n){this.#e=d(n)}end(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!0}))}}var co=d({is(n){return n.kind==="JSONPathLegNode"},create(n,o){return d({kind:"JSONPathLegNode",type:n,value:o})}});var Fc=/^#-\d+$/;class si{#e;constructor(n){this.#e=n}at(n){if(typeof n!=="number"&&typeof n!=="string"||typeof n==="number"&&!Number.isInteger(n)||typeof n==="string"&&n!=="last"&&!Fc.test(n))throw Error(`Unexpected index value in .at(...): ${n}`);return this.#t("ArrayLocation",n)}key(n){return this.#t("Member",n)}#t(n,o){if(nr.is(this.#e))return new oi(nr.cloneWithTraversal(this.#e,St.is(this.#e.traversal)?St.cloneWithLeg(this.#e.traversal,co.create(n,o)):Wi.cloneWithValue(this.#e.traversal,Gn.createImmediate(o))));return new oi(St.cloneWithLeg(this.#e,co.create(n,o)))}}class oi extends si{#e;constructor(n){super(n);this.#e=n}get expressionType(){return}as(n){return new Qd(this,n)}$castTo(){return new oi(this.#e)}$notNull(){return new oi(this.#e)}toOperationNode(){return this.#e}}class Qd{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Ts.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}var lo=d({is(n){return n.kind==="TupleNode"},create(n){return d({kind:"TupleNode",values:d(n)})}});var Kc=d({bigint:!0,bigserial:!0,binary:!0,blob:!0,boolean:!0,bytea:!0,char:!0,date:!0,datemultirange:!0,daterange:!0,datetime:!0,datetime2:!0,decimal:!0,"double precision":!0,float4:!0,float8:!0,int2:!0,int4:!0,int4multirange:!0,int4range:!0,int8:!0,int8multirange:!0,int8range:!0,integer:!0,json:!0,jsonb:!0,numeric:!0,nummultirange:!0,numrange:!0,real:!0,serial:!0,smallint:!0,text:!0,time:!0,timestamp:!0,timestamptz:!0,timetz:!0,tsmultirange:!0,tsrange:!0,tstzmultirange:!0,tstzrange:!0,uuid:!0,varbinary:!0,varchar:!0}),$c=d([/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^datetime2\(\d+\)$/,/^varbinary\(\d+\)$/]),zd=d({is(n){return n.kind==="DataTypeNode"},create(n){return d({kind:"DataTypeNode",dataType:n})}});function Jd(n){return Kc[n]||$c.some((o)=>o.test(n))}function Ge(n){if(D(n))return n.toOperationNode();if(Jd(n))return zd.create(n);throw Error(`invalid column data type ${JSON.stringify(n)}`)}var jd=d({is(n){return n.kind==="CastNode"},create(n,o){return d({kind:"CastNode",expression:n,dataType:o})}});function no(n=Pt){function o(c,p,h){return new Ir(Ki(c,p,h))}function s(c,p){return new Ir(Vd(c,p))}let a=Object.assign(o,{fn:void 0,eb:void 0,selectFrom(c){return ri({queryId:b(),executor:n,queryNode:S.createFrom(Ke(c))})},case(c){return new ni({node:ne.create(ge(c)?void 0:j(c))})},ref(c,p){if(ge(p))return new Ir(pe(c));return new si(ad(c,p))},jsonPath(){return new si(St.create())},table(c){return new Ir(T(c))},val(c){return new Ir(O(c))},refTuple(...c){return new Ir(lo.create(c.map(j)))},tuple(...c){return new Ir(lo.create(c.map(O)))},lit(c){return new Ir(zr(c))},unary:s,not(c){return s("not",c)},exists(c){return s("exists",c)},neg(c){return s("-",c)},between(c,p,h){return new Ir(Tt.create(j(c),we.create("between"),me.create(O(p),O(h))))},betweenSymmetric(c,p,h){return new Ir(Tt.create(j(c),we.create("between symmetric"),me.create(O(p),O(h))))},and(c){if(se(c))return new Ir(sr(c,"and"));return new Ir(qn(c,"and"))},or(c){if(se(c))return new Ir(sr(c,"or"));return new Ir(qn(c,"or"))},parens(...c){let p=P(c);if(be.is(p))return new Ir(p);else return new Ir(be.create(p))},cast(c,p){return new Ir(jd.create(j(c),Ge(p)))}});return a.fn=Hi(),a.eb=a,a}function Me(n){return no()}function ee(n){if(D(n))return n.toOperationNode();else if(W(n))return n(Me()).toOperationNode();throw Error(`invalid expression: ${JSON.stringify(n)}`)}function Gi(n){if(D(n))return n.toOperationNode();else if(W(n))return n(Me()).toOperationNode();throw Error(`invalid aliased expression: ${JSON.stringify(n)}`)}function ct(n){return Pi(n)||Qa(n)||W(n)}class mo{#e;get table(){return this.#e}constructor(n){this.#e=n}as(n){return new Hd(this.#e,n)}}class Hd{#e;#t;get table(){return this.#e}get alias(){return this.#t}constructor(n,o){this.#e=n,this.#t=o}toOperationNode(){return Ts.create(T(this.#e),ot.create(this.#t))}}function Yd(n){return M(n)&&D(n)&&w(n.table)&&w(n.alias)}function Ke(n){if(se(n))return n.map((o)=>$t(o));else return[$t(n)]}function $t(n){if(w(n))return io(n);else if(Yd(n))return n.toOperationNode();else return Gi(n)}function io(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Xd);return Ts.create(T(s),ot.create(a))}else return T(n)}function T(n){if(n.includes(".")){let[s,a]=n.split(".").map(Xd);return Oc.createWithSchema(s,a)}else return Oc.create(n)}function Xd(n){return n.trim()}var fo=d({is(n){return n.kind==="AddColumnNode"},create(n){return d({kind:"AddColumnNode",column:n})}});var L=d({is(n){return n.kind==="ColumnDefinitionNode"},create(n,o){return d({kind:"ColumnDefinitionNode",column:tr.create(n),dataType:o})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):[o]})},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):[o]})},cloneWith(n,o){return d({...n,...o})}});var ai=d({is(n){return n.kind==="DropColumnNode"},create(n){return d({kind:"DropColumnNode",column:tr.create(n)})},cloneWith(n,o){return d({...n,...o})}});var ho=d({is(n){return n.kind==="RenameColumnNode"},create(n,o){return d({kind:"RenameColumnNode",column:tr.create(n),renameTo:tr.create(o)})}});var xr=d({is(n){return n.kind==="CheckConstraintNode"},create(n,o){return d({kind:"CheckConstraintNode",expression:n,name:o?ot.create(o):void 0})}});var Zd=d({cascade:!0,"no action":!0,restrict:!0,"set default":!0,"set null":!0}),vS=Object.keys(Zd),Nr=d({is(n){return n.kind==="ReferencesNode"},create(n,o){return d({kind:"ReferencesNode",table:n,columns:d([...o])})},cloneWithOnDelete(n,o){return d({...n,onDelete:o})},cloneWithOnUpdate(n,o){return d({...n,onUpdate:o})}});function eu(n){return w(n)&&Zd[n]}function Yi(n){return D(n)?n.toOperationNode():Gn.createImmediate(n)}var di=d({is(n){return n.kind==="GeneratedNode"},create(n){return d({kind:"GeneratedNode",...n})},createWithExpression(n){return d({kind:"GeneratedNode",always:!0,expression:n})},cloneWith(n,o){return d({...n,...o})}});var tu=d({is(n){return n.kind==="DefaultValueNode"},create(n){return d({kind:"DefaultValueNode",defaultValue:n})}});function gr(n){if(eu(n))return n;throw Error(`invalid OnModifyForeignAction ${n}`)}class A{#e;constructor(n){this.#e=n}autoIncrement(){return new A(L.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new A(L.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new A(L.cloneWith(this.#e,{primaryKey:!0}))}references(n){let o=pe(n);if(!o.table||rr.is(o.column))throw Error(`invalid call references('${n}'). The reference must have format table.column or schema.table.column`);return new A(L.cloneWith(this.#e,{references:Nr.create(o.table,[o.column])}))}onDelete(n){if(!this.#e.references)throw Error("on delete constraint can only be added for foreign keys");return new A(L.cloneWith(this.#e,{references:Nr.cloneWithOnDelete(this.#e.references,gr(n))}))}onUpdate(n){if(!this.#e.references)throw Error("on update constraint can only be added for foreign keys");return new A(L.cloneWith(this.#e,{references:Nr.cloneWithOnUpdate(this.#e.references,gr(n))}))}unique(){return new A(L.cloneWith(this.#e,{unique:!0}))}notNull(){return new A(L.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new A(L.cloneWith(this.#e,{unsigned:!0}))}defaultTo(n){return new A(L.cloneWith(this.#e,{defaultTo:tu.create(Yi(n))}))}check(n){return new A(L.cloneWith(this.#e,{check:xr.create(n.toOperationNode())}))}generatedAlwaysAs(n){return new A(L.cloneWith(this.#e,{generated:di.createWithExpression(n.toOperationNode())}))}generatedAlwaysAsIdentity(){return new A(L.cloneWith(this.#e,{generated:di.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new A(L.cloneWith(this.#e,{generated:di.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw Error("stored() can only be called after generatedAlwaysAs");return new A(L.cloneWith(this.#e,{generated:di.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(n){return new A(L.cloneWithFrontModifier(this.#e,n.toOperationNode()))}nullsNotDistinct(){return new A(L.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new A(L.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(n){return new A(L.cloneWithEndModifier(this.#e,n.toOperationNode()))}$call(n){return n(this)}toOperationNode(){return this.#e}}var _o=d({is(n){return n.kind==="ModifyColumnNode"},create(n){return d({kind:"ModifyColumnNode",column:n})}});var Ue=d({is(n){return n.kind==="ForeignKeyConstraintNode"},create(n,o,s,a){return d({kind:"ForeignKeyConstraintNode",columns:n,references:Nr.create(o,s),name:a?ot.create(a):void 0})},cloneWith(n,o){return d({...n,...o})}});class Ve{#e;constructor(n){this.#e=n}onDelete(n){return new Ve(Ue.cloneWith(this.#e,{onDelete:gr(n)}))}onUpdate(n){return new Ve(Ue.cloneWith(this.#e,{onUpdate:gr(n)}))}deferrable(){return new Ve(Ue.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new Ve(Ue.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new Ve(Ue.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new Ve(Ue.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}var wr=d({is(n){return n.kind==="AddConstraintNode"},create(n){return d({kind:"AddConstraintNode",constraint:n})}});var tt=d({is(n){return n.kind==="UniqueConstraintNode"},create(n,o,s){if(w(n.at(0)))ir("`UniqueConstraintNode.create(columns: string[], ...)` is deprecated - pass `ColumnNode[]` instead."),n=n.map(tr.create);return d({kind:"UniqueConstraintNode",columns:d(n),name:o?ot.create(o):void 0,nullsNotDistinct:s})},cloneWith(n,o){return d({...n,...o})}});var vr=d({is(n){return n.kind==="DropConstraintNode"},create(n){return d({kind:"DropConstraintNode",constraintName:ot.create(n)})},cloneWith(n,o){return d({...n,...o})}});var br=d({is(n){return n.kind==="AlterColumnNode"},create(n,o,s){return d({kind:"AlterColumnNode",column:tr.create(n),[o]:s})}});class Xi{#e;constructor(n){this.#e=n}setDataType(n){return new Cr(br.create(this.#e,"dataType",Ge(n)))}setDefault(n){return new Cr(br.create(this.#e,"setDefault",Yi(n)))}dropDefault(){return new Cr(br.create(this.#e,"dropDefault",!0))}setNotNull(){return new Cr(br.create(this.#e,"setNotNull",!0))}dropNotNull(){return new Cr(br.create(this.#e,"dropNotNull",!0))}$call(n){return n(this)}}class Cr{#e;constructor(n){this.#e=n}toOperationNode(){return this.#e}}class Lt{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class _t{#e;constructor(n){this.#e=d(n)}onDelete(n){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(n)})}onUpdate(n){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(n)})}deferrable(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Ut{#e;constructor(n){this.#e=d(n)}ifExists(){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.cloneWith(this.#e.node.dropConstraint,{modifier:"restrict"})})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var yt=d({is(n){return n.kind==="PrimaryKeyConstraintNode"},create(n,o){return d({kind:"PrimaryKeyConstraintNode",columns:d(n.map(tr.create)),name:o?ot.create(o):void 0})},cloneWith(n,o){return d({...n,...o})}});var Te=d({is(n){return n.kind==="AddIndexNode"},create(n){return d({kind:"AddIndexNode",name:ot.create(n)})},cloneWith(n,o){return d({...n,...o})},cloneWithColumns(n,o){return d({...n,columns:[...n.columns||[],...o]})}});class At{#e;constructor(n){this.#e=d(n)}unique(){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,[w(n)?or(n):n.toOperationNode()])})})}columns(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,n.map((o)=>w(o)?or(o):o.toOperationNode()))})})}expression(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,[n.toOperationNode()])})})}using(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWith(this.#e.node.addIndex,{using:k.createWithSql(n)})})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class rt{#e;constructor(n){this.#e=n}nullsNotDistinct(){return new rt(tt.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new rt(tt.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new rt(tt.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new rt(tt.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new rt(tt.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class xt{#e;constructor(n){this.#e=n}deferrable(){return new xt(yt.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new xt(yt.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new xt(yt.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new xt(yt.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class ui{#e;constructor(n){this.#e=n}$call(n){return n(this)}toOperationNode(){return this.#e}}var ru=d({is(n){return n.kind==="RenameConstraintNode"},create(n,o){return d({kind:"RenameConstraintNode",oldName:ot.create(n),newName:ot.create(o)})}});class ci{#e;constructor(n){this.#e=d({...n})}ifExists(){return new ci({...this.#e,node:ai.cloneWith(this.#e.node,{ifExists:!0})})}toOperationNode(){return this.#e.node}}class yo{#e;constructor(n){this.#e=d(n)}renameTo(n){return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{renameTo:T(n)})})}setSchema(n){return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{setSchema:ot.create(n)})})}alterColumn(n,o){let s=o(new Xi(n));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=X){let s=o(new ci({node:ai.create(n)}));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,fo.create(a.toOperationNode()))})}modifyColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,_o.create(a.toOperationNode()))})}addUniqueConstraint(n,o,s=X){let a=s(new rt(tt.create(o.map((c)=>w(c)?tr.create(c):ee(c)),n)));return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(a.toOperationNode())})})}addCheckConstraint(n,o,s=X){let a=s(new ui(xr.create(o.toOperationNode(),n)));return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(a.toOperationNode())})})}addForeignKeyConstraint(n,o,s,a,c=X){let p=c(new Ve(Ue.create(o.map(tr.create),T(s),a.map(tr.create),n)));return new _t({...this.#e,constraintBuilder:p})}addPrimaryKeyConstraint(n,o,s=X){let a=s(new xt(yt.create(o,n)));return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(a.toOperationNode())})})}dropConstraint(n){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.create(n)})})}renameConstraint(n,o){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{renameConstraint:ru.create(n,o)})})}addIndex(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.create(n)})})}dropIndex(n){return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropIndex:Et.create(n)})})}$call(n){return n(this)}}class Qe{#e;constructor(n){this.#e=d(n)}alterColumn(n,o){let s=o(new Xi(n));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=X){let s=o(new ci({node:ai.create(n)}));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,fo.create(a.toOperationNode()))})}modifyColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,_o.create(a.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class li extends ei{transformPrimitiveValueList(n){return Dt.create(n.values.map(Gn.createImmediate))}transformValue(n){return Gn.createImmediate(n.value)}}class ke{#e;constructor(n){this.#e=d(n)}ifNotExists(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(n){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{table:T(n)})})}column(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,[w(n)?or(n):n.toOperationNode()])})}columns(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,n.map((o)=>w(o)?or(o):o.toOperationNode()))})}expression(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,[n.toOperationNode()])})}using(n){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{using:k.createWithSql(n)})})}where(...n){let o=new li;return new ke({...this.#e,node:g.cloneWithWhere(this.#e.node,o.transformNode(P(n),this.#e.queryId))})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Zi{#e;constructor(n){this.#e=d(n)}ifNotExists(){return new Zi({...this.#e,node:Ii.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}function iu(n){if(Va.includes(n))return n;throw Error(`invalid OnCommitAction ${n}`)}class en{#e;constructor(n){this.#e=n}using(n){return new en(Te.cloneWith(this.#e,{using:k.createWithSql(n)}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class le{#e;constructor(n){this.#e=d(n)}temporary(){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{temporary:!0})})}onCommit(n){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{onCommit:iu(n)})})}ifNotExists(){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new le({...this.#e,node:Z.cloneWithColumn(this.#e.node,a.toOperationNode())})}addPrimaryKeyConstraint(n,o,s=X){let a=s(new xt(yt.create(o,n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addUniqueConstraint(n,o,s=X){let a=s(new rt(tt.create(o.map((c)=>w(c)?tr.create(c):ee(c)),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addIndex(n,o,s=X){let a=s(new en(Te.cloneWithColumns(Te.create(n),o.map((c)=>w(c)?tr.create(c):ee(c)))));return new le({...this.#e,node:Z.cloneWithIndex(this.#e.node,a.toOperationNode())})}addCheckConstraint(n,o,s=X){let a=s(new ui(xr.create(o.toOperationNode(),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addForeignKeyConstraint(n,o,s,a,c=X){let p=c(new Ve(Ue.create(o.map(tr.create),T(s),a.map(tr.create),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,p.toOperationNode())})}modifyFront(n){return new le({...this.#e,node:Z.cloneWithFrontModifier(this.#e.node,n.toOperationNode())})}modifyEnd(n){return new le({...this.#e,node:Z.cloneWithEndModifier(this.#e.node,n.toOperationNode())})}as(n){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{selectQuery:ee(n)})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Er{#e;constructor(n){this.#e=d(n)}on(n){return new Er({...this.#e,node:Et.cloneWith(this.#e.node,{table:T(n)})})}ifExists(){return new Er({...this.#e,node:Et.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Er({...this.#e,node:Et.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class mi{#e;constructor(n){this.#e=d(n)}ifExists(){return new mi({...this.#e,node:Qr.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new mi({...this.#e,node:Qr.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Tr{#e;constructor(n){this.#e=d(n)}temporary(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{temporary:!0})})}ifExists(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var ze=d({is(n){return n.kind==="CreateViewNode"},create(n){return d({kind:"CreateViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class xo{#e=new li;transformQuery(n){return this.#e.transformNode(n.node,n.queryId)}transformResult(n){return Promise.resolve(n.result)}}class Nt{#e;constructor(n){this.#e=d(n)}temporary(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{orReplace:!0})})}columns(n){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{columns:n.map(Bn)})})}as(n){let o=n.withPlugin(new xo).toOperationNode();return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{as:o})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var kr=d({is(n){return n.kind==="DropViewNode"},create(n){return d({kind:"DropViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class Sr{#e;constructor(n){this.#e=d(n)}materialized(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var tn=d({is(n){return n.kind==="CreateTypeNode"},create(n){return d({kind:"CreateTypeNode",name:n})},cloneWithEnum(n,o){return d({...n,enum:Dt.create(o.map(Gn.createImmediate))})}});class rn{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(n){return new rn({...this.#e,node:tn.cloneWithEnum(this.#e.node,n)})}$call(n){return n(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var pi=d({is(n){return n.kind==="DropTypeNode"},create(n){if(!Array.isArray(n))n=[n];return d({kind:"DropTypeNode",name:n[0],additionalNames:n.slice(1)})},cloneWith(n,o){return d({...n,...o})}});class fi{#e;constructor(n){this.#e=d(n)}ifExists(){return new fi({...this.#e,node:pi.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new fi({...this.#e,node:pi.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}function nn(n){if(n.includes(".")){let s=n.split(".").map(Gc);if(s.length===2)return ae.createWithSchema(s[0],s[1]);else throw Error(`invalid schemable identifier ${n}`)}else return ae.create(n)}function nu(n){if(!Array.isArray(n))n=[n];return n.map(nn)}function Gc(n){return n.trim()}var Dr=d({is(n){return n.kind==="RefreshMaterializedViewNode"},create(n){return d({kind:"RefreshMaterializedViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class Or{#e;constructor(n){this.#e=d(n)}concurrently(){return new Or({...this.#e,node:Dr.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new Or({...this.#e,node:Dr.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new Or({...this.#e,node:Dr.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var it=d({is(n){return n.kind==="AlterTypeNode"},create(n){return d({kind:"AlterTypeNode",name:n})},cloneWith(n,o){return d({...n,...o})}});var hi=d({is(n){return n.kind==="AddValueNode"},create(n){return d({kind:"AddValueNode",value:n})},cloneWith(n,o){return d({...n,...o})}});class Vt{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){return await this.#e.executor.executeQuery(this.compile(),n)}}var No;class on extends Vt{#e;constructor(n){super(n);this.#e=n}ifNotExists(){return new No({...this.#e,node:it.cloneWith(this.#e.node,{addValue:hi.cloneWith(this.#e.node.addValue,{ifNotExists:!0})})})}before(n){return this.#t(n,!0)}after(n){return this.#t(n,!1)}#t(n,o){return new No({...this.#e,node:it.cloneWith(this.#e.node,{addValue:hi.cloneWith(this.#e.node.addValue,{isBefore:o,neighborValue:Gn.createImmediate(n)})})})}}No=on;var ou=d({is(n){return n.kind==="RenameValueNode"},create(n,o){return d({kind:"RenameValueNode",oldValue:n,newValue:o})}});class go{#e;constructor(n){this.#e=d(n)}addValue(n){return new on({...this.#e,node:it.cloneWith(this.#e.node,{addValue:hi.create(Gn.createImmediate(n))})})}renameTo(n){return new Vt({...this.#e,node:it.cloneWith(this.#e.node,{renameTo:ot.create(n)})})}renameValue(n,o){return new Vt({...this.#e,node:it.cloneWith(this.#e.node,{renameValue:ou.create(Gn.createImmediate(n),Gn.createImmediate(o))})})}setSchema(n){return new Vt({...this.#e,node:it.cloneWith(this.#e.node,{setSchema:ot.create(n)})})}}class Rr{#e;constructor(n){this.#e=n}createTable(n){return new le({queryId:b(),executor:this.#e,node:Z.create(T(n))})}dropTable(n){return new Tr({queryId:b(),executor:this.#e,node:er.create(T(n))})}createIndex(n){return new ke({queryId:b(),executor:this.#e,node:Pe.create(n)})}dropIndex(n){return new Er({queryId:b(),executor:this.#e,node:Et.create(n)})}createSchema(n){return new Zi({queryId:b(),executor:this.#e,node:Ii.create(n)})}dropSchema(n){return new mi({queryId:b(),executor:this.#e,node:Qr.create(n)})}alterTable(n){return new yo({queryId:b(),executor:this.#e,node:E.create(T(n))})}createView(n){return new Nt({queryId:b(),executor:this.#e,node:ze.create(n)})}refreshMaterializedView(n){return new Or({queryId:b(),executor:this.#e,node:Dr.create(n)})}dropView(n){return new Sr({queryId:b(),executor:this.#e,node:kr.create(n)})}createType(n){return new rn({queryId:b(),executor:this.#e,node:tn.create(nn(n))})}alterType(n){return new go({executor:this.#e,node:it.create(nn(n)),queryId:b()})}dropType(n){return new fi({queryId:b(),executor:this.#e,node:pi.create(nu(n))})}withPlugin(n){return new Rr(this.#e.withPlugin(n))}withoutPlugins(){return new Rr(this.#e.withoutPlugins())}withSchema(n){return new Rr(this.#e.withPluginAtFront(new $e(n)))}}class wo{ref(n){return new In(n)}table(n){return new mo(n)}}class vo{#e;constructor(n){this.#e=n}async provideConnection(n,o){let s=await this.#e.acquireConnection(o);try{return await n(s)}finally{await this.#e.releaseConnection(s,o)}}}class Bt extends ti{#e;#t;#r;constructor(n,o,s,a=[]){super(a);this.#e=n,this.#t=o,this.#r=s}get adapter(){return this.#t}compileQuery(n,o){return this.#e.compileQuery(n,o)}provideConnection(n,o){return this.#r.provideConnection(n,o)}withPlugins(n){return new Bt(this.#e,this.#t,this.#r,[...this.plugins,...n])}withPlugin(n){return new Bt(this.#e,this.#t,this.#r,[...this.plugins,n])}withPluginAtFront(n){return new Bt(this.#e,this.#t,this.#r,[n,...this.plugins])}withConnectionProvider(n){return new Bt(this.#e,this.#t,n,[...this.plugins])}withoutPlugins(){return new Bt(this.#e,this.#t,this.#r,[])}}function sn(){if(typeof performance<"u"&&W(performance.now))return performance.now();else return Date.now()}class bo{#e;#t;async obtainLock(){while(this.#e)await this.#e;this.#e=new Promise((n)=>{this.#t=n})}releaseLock(){let n=this.#t;this.#e=void 0,this.#t=void 0,n?.()}}class Co{#e;#t;#r;#i;#o;#a=new WeakSet;#n;constructor(n,o,s){if(this.#e=n,this.#i=!1,this.#t=s,o.supportsMultipleConnections===!1)this.#n=new bo}async init(n){if(this.#o)throw Error("driver has already been destroyed");this.#r??=this.#e.init(n).then(()=>{this.#i=!0}).catch((o)=>{throw this.#r=void 0,o}),await hr(this.#r,n?.signal,"init")}async acquireConnection(n){if(this.#o)throw Error("driver has already been destroyed");if(!this.#i)await this.init(n);if(this.#n){let a=this.#n.obtainLock();await hr(a,n?.signal,"acquireConnection:mutex",()=>a.then(()=>this.#n?.releaseLock()))}let o=this.#e.acquireConnection(n),s=await hr(o,n?.signal,"acquireConnection:acquire",()=>o?.then((a)=>this.releaseConnection(a).catch(Xe("driver.releaseConnection"))).catch(Xe("driver.acquireConnection")));if(!this.#a.has(s)){if(this.#s())this.#c(s);this.#a.add(s)}return s}async releaseConnection(n,o){await this.#e.releaseConnection(n,o),this.#n?.releaseLock()}async beginTransaction(n,o){return await this.#e.beginTransaction(n,o)}async commitTransaction(n){return await this.#e.commitTransaction(n)}async rollbackTransaction(n){return await this.#e.rollbackTransaction(n)}async savepoint(n,o,s){if(this.#e.savepoint)return await this.#e.savepoint(n,o,s);throw Error("The `savepoint` method is not supported by this driver")}async rollbackToSavepoint(n,o,s){if(this.#e.rollbackToSavepoint)return await this.#e.rollbackToSavepoint(n,o,s);throw Error("The `rollbackToSavepoint` method is not supported by this driver")}async releaseSavepoint(n,o,s){if(this.#e.releaseSavepoint)return await this.#e.releaseSavepoint(n,o,s);throw Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(n){if(!this.#r)return;await hr(this.#r,n?.signal,"destroy:initPromise"),this.#o??=this.#e.destroy(n).catch((o)=>{throw this.#o=void 0,o}),await hr(this.#o,n?.signal,"destroy")}#s(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#c(n){let{executeQuery:o,streamQuery:s}=n,a=this;n.executeQuery=async(c,p)=>{let h,_=sn();try{return await o.call(n,c,p)}catch(y){throw h=y,await a.#l(y,c,_),y}finally{if(!h)await a.#d(c,_)}},n.streamQuery=async function*(c,p,h){let _,y=sn();try{for await(let x of s.call(n,c,p,h))yield x}catch(x){throw _=x,await a.#l(x,c,y),x}finally{if(!_)await a.#d(c,y,!0)}}}async#l(n,o,s){await this.#t.error(()=>({level:"error",error:n,query:o,queryDurationMillis:this.#m(s)}))}async#d(n,o,s=!1){await this.#t.query(()=>({level:"query",isStream:s,query:n,queryDurationMillis:this.#m(o)}))}#m(n){return sn()-n}}var Uc=Symbol.for("kysely.AbortedTransactionError");function Eo(n){return M(n)&&Uc in n}var Vc=()=>{};class _i{#e;#t;constructor(n){this.#e=n}async provideConnection(n){while(this.#t)await this.#t.catch(Vc);return this.#t=this.#r(n).finally(()=>{this.#t=void 0}),this.#t}async#r(n){return await n(this.#e)}}var Qc=["read only","read write"],zc=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function To(n){if(n.accessMode&&!Qc.includes(n.accessMode))throw Error(`invalid transaction access mode ${n.accessMode}`);if(n.isolationLevel&&!zc.includes(n.isolationLevel))throw Error(`invalid transaction isolation level ${n.isolationLevel}`)}var Jc=["query","error"],DP=d(Jc);class ko{#e;#t;constructor(n){if(W(n))this.#t=n,this.#e=d({query:!0,error:!0});else this.#t=jc,this.#e=d({query:n.includes("query"),error:n.includes("error")})}isLevelEnabled(n){return this.#e[n]}async query(n){if(this.#e.query)await this.#t(n())}async error(n){if(this.#e.error)await this.#t(n())}}function jc(n){if(n.level==="query"){let o=`kysely:query:${n.isStream?"stream:":""}`;console.log(`${o} ${n.query.sql}`),console.log(`${o} duration: ${n.queryDurationMillis.toFixed(1)}ms`)}else if(n.level==="error")if(n.error instanceof Error)console.error(`kysely:error: ${n.error.stack??n.error.message}`);else console.error(`kysely:error: ${JSON.stringify({error:n.error,query:n.query.sql,queryDurationMillis:n.queryDurationMillis})}`)}function su(n){return M(n)&&W(n.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class Mc extends Ze{#e;constructor(n){let o,s;if(Hc(n))o={executor:n.executor},s={...n};else{let a=n.dialect,c=a.createDriver(),p=a.createQueryCompiler(),h=a.createAdapter(),_=new ko(n.log??[]),y=new Co(c,h,_),x=new vo(y),N=new Bt(p,h,x,n.plugins??[]);o={executor:N},s={config:n,executor:N,dialect:a,driver:y}}super(o);this.#e=d(s)}get schema(){return new Rr(this.#e.executor)}get dynamic(){return new wo}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(n){return new ni({node:ne.create(ge(n)?void 0:ee(n))})}get fn(){return Hi()}transaction(){return new dn({...this.#e})}startTransaction(){return new un({...this.#e})}connection(){return new au({...this.#e})}withPlugin(n){return new Mc({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Mc({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Mc({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}$extendTables(){return new Mc({...this.#e})}$omitTables(){return new Mc({...this.#e})}$pickTables(){return new Mc({...this.#e})}withTables(){return this.$extendTables()}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}async executeQuery(n,o){let s=su(n)?n.compile():n;return await this.#e.executor.executeQuery(s,o)}async[Symbol.asyncDispose](){await this.destroy()}}class nt extends Mc{#e;constructor(n){super(n);this.#e=n}get isTransaction(){return!0}transaction(){throw Error("calling the transaction method for a Transaction is not supported")}startTransaction(){throw Error("calling the controlled transaction method for a Transaction is not supported")}connection(){throw Error("calling the connection method for a Transaction is not supported")}destroy(){throw Error("calling the destroy method for a Transaction is not supported")}withPlugin(n){return new nt({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new nt({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new nt({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}withTables(){return new nt({...this.#e})}$extendTables(){return new nt({...this.#e})}$omitTables(){return new nt({...this.#e})}$pickTables(){return new nt({...this.#e})}}function Hc(n){return M(n)&&M(n.config)&&M(n.driver)&&M(n.executor)&&M(n.dialect)}class au{#e;constructor(n){this.#e=d(n)}async execute(n,o){return this.#e.executor.provideConnection(async(s)=>{let a=this.#e.executor.withConnectionProvider(new _i(s)),c=new Mc({...this.#e,executor:a});return await n(c)},d({signal:o?.signal}))}}class dn{#e;constructor(n){this.#e=d(n)}setAccessMode(n){return new dn({...this.#e,accessMode:n})}setIsolationLevel(n){return new dn({...this.#e,isolationLevel:n})}async execute(n){let{isolationLevel:o,accessMode:s,...a}=this.#e,c={isolationLevel:o,accessMode:s};return To(c),this.#e.executor.provideConnection(async(p)=>{let h={status:"active"},_=new gt(this.#e.executor.withConnectionProvider(new _i(p)),h),y=new nt({...a,executor:_}),x=!1;try{await this.#e.driver.beginTransaction(p,c),x=!0;let N=await n(y);return await this.#e.driver.commitTransaction(p),h.status="committed",N}catch(N){if(Eo(N))h.status="aborted";else if(x)await this.#e.driver.rollbackTransaction(p),h.status="rolled back";throw N}})}}class un{#e;constructor(n){this.#e=d(n)}setAccessMode(n){return new un({...this.#e,accessMode:n})}setIsolationLevel(n){return new un({...this.#e,isolationLevel:n})}async execute(){let{isolationLevel:n,accessMode:o,...s}=this.#e,a={isolationLevel:n,accessMode:o};To(a);let c=await fr(this.#e.executor);try{await this.#e.driver.beginTransaction(c.connection,a)}catch(p){throw c.release(),p}return new De({...s,connection:c,transactionState:{status:"active"},executor:this.#e.executor.withConnectionProvider(new _i(c.connection))})}}class De extends nt{#e;#t;constructor(n){n={...n,executor:new gt(n.executor,n.transactionState)};let{connection:o,transactionState:s,...a}=n;super(a);this.#e=d(n);let c=b();this.#t=(p)=>n.executor.compileQuery(p,c)}get isCommitted(){return this.#e.transactionState.status==="committed"}get isRolledBack(){return this.#e.transactionState.status==="rolled back"||this.#e.transactionState.status==="aborted"}commit(){return new Pr(async()=>{await this.#e.executor.provideConnection(async(n)=>{try{await this.#e.driver.commitTransaction(n)}catch(o){if(Eo(o))this.#e.transactionState.status="aborted",this.#e.connection.release();throw o}this.#e.transactionState.status="committed",this.#e.connection.release()})})}rollback(){return new Pr(async()=>{if(this.#e.transactionState.status==="aborted")return;await this.#e.executor.provideConnection(async(n)=>{try{await this.#e.driver.rollbackTransaction(n)}finally{this.#e.transactionState.status="rolled back",this.#e.connection.release()}})})}savepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.savepoint?.(o,n,this.#t)}),new De({...this.#e})))}rollbackToSavepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.rollbackToSavepoint?.(o,n,this.#t)}),new De({...this.#e})))}releaseSavepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.releaseSavepoint?.(o,n,this.#t)}),new De({...this.#e})))}withPlugin(n){return new De({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new De({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new De({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}withTables(){return new De({...this.#e})}$extendTables(){return new De({...this.#e})}$omitTables(){return new De({...this.#e})}$pickTables(){return new De({...this.#e})}}class Pr{#e;constructor(n){this.#e=n}async execute(){return await this.#e()}}function an(n){if(n.status==="committed")throw Error("Transaction is already committed");if(n.status!=="active")throw Error("Transaction is already rolled back")}class gt{#e;#t;constructor(n,o){this.#e=n instanceof gt?n.#e:n,this.#t=o}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(n,o){return this.#e.transformQuery(n,o)}compileQuery(n,o){return this.#e.compileQuery(n,o)}provideConnection(n,o){return an(this.#t),this.#e.provideConnection(async(s)=>(an(this.#t),await n(s)),o)}executeQuery(n,o){return an(this.#t),this.#e.withConnectionProvider(this).executeQuery(n,o)}stream(n,o,s){return an(this.#t),this.#e.withConnectionProvider(this).stream(n,o,s)}withConnectionProvider(n){return new gt(this.#e.withConnectionProvider(n),this.#t)}withPlugin(n){return new gt(this.#e.withPlugin(n),this.#t)}withPlugins(n){return new gt(this.#e.withPlugins(n),this.#t)}withPluginAtFront(n){return new gt(this.#e.withPluginAtFront(n),this.#t)}withoutPlugins(){return new gt(this.#e.withoutPlugins(),this.#t)}}class yi{#e;constructor(n){this.#e=d(n)}get expressionType(){return}get isRawBuilder(){return!0}as(n){return new du(this,n)}$castTo(){return new yi({...this.#e})}$notNull(){return new yi(this.#e)}withPlugin(n){return new yi({...this.#e,plugins:this.#e.plugins!==void 0?d([...this.#e.plugins,n]):d([n])})}toOperationNode(){return this.#r(this.#t())}compile(n){return this.#i(this.#t(n))}async execute(n,o){let s=this.#t(n);return s.executeQuery(this.#i(s),o)}#t(n){let o=n!==void 0?n.getExecutor():Pt;return this.#e.plugins!==void 0?o.withPlugins(this.#e.plugins):o}#r(n){return n.transformQuery(this.#e.rawNode,this.#e.queryId)}#i(n){return n.compileQuery(this.#r(n),this.#e.queryId)}}function vt(n){return new yi(n)}class du{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}get rawBuilder(){return this.#e}toOperationNode(){return Ts.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}var m=Object.assign((n,...o)=>vt({queryId:b(),rawNode:k.create(n,o?.map(uu)??[])}),{ref(n){return vt({queryId:b(),rawNode:k.createWithChild(pe(n))})},val(n){return vt({queryId:b(),rawNode:k.createWithChild(O(n))})},table(n){return vt({queryId:b(),rawNode:k.createWithChild(T(n))})},id(...n){let o=Array(n.length+1).fill(".");return o[0]="",o[o.length-1]="",vt({queryId:b(),rawNode:k.create(o,n.map(ot.create))})},lit(n){return vt({queryId:b(),rawNode:k.createWithChild(Gn.createImmediate(n))})},raw(n){return vt({queryId:b(),rawNode:k.createWithSql(n)})},join(n,o=m`, `){let s=Array(Math.max(2*n.length-1,0)),a=o.toOperationNode();for(let c=0;c<n.length;++c)if(s[2*c]=uu(n[c]),c!==n.length-1)s[2*c+1]=a;return vt({queryId:b(),rawNode:k.createWithChildren(s)})}});function uu(n){if(D(n))return n.toOperationNode();return O(n)}class So{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=d({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this),AlterTypeNode:this.visitAlterType.bind(this),AddValueNode:this.visitAddValue.bind(this),RenameValueNode:this.visitRenameValue.bind(this)});visitNode=(n)=>{this.nodeStack.push(n),this.#e[n.kind](n),this.nodeStack.pop()}}var Yc=/'/g,Xc=/['"]/g;class Do extends So{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(n,o){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(n),d({query:n,queryId:o,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!K.is(this.parentNode)&&!Z.is(this.parentNode)&&!ze.is(this.parentNode)&&!Qi.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("select"),n.distinctOn)this.append(" "),this.compileDistinctOn(n.distinctOn);if(n.frontModifiers?.length)this.append(" "),this.compileList(n.frontModifiers," ");if(n.top)this.append(" "),this.visitNode(n.top);if(n.selections)this.append(" "),this.compileList(n.selections);if(n.from)this.append(" "),this.visitNode(n.from);if(n.joins)this.append(" "),this.compileList(n.joins," ");if(n.where)this.append(" "),this.visitNode(n.where);if(n.groupBy)this.append(" "),this.visitNode(n.groupBy);if(n.having)this.append(" "),this.visitNode(n.having);if(n.setOperations)this.append(" "),this.compileList(n.setOperations," ");if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(n.offset)this.append(" "),this.visitNode(n.offset);if(n.fetch)this.append(" "),this.visitNode(n.fetch);if(n.endModifiers?.length)this.append(" "),this.compileList(this.sortSelectModifiers(n.endModifiers)," ");if(o)this.append(")")}visitFrom(n){this.append("from "),this.compileList(n.froms)}visitSelection(n){this.visitNode(n.selection)}visitColumn(n){this.visitNode(n.column)}compileDistinctOn(n){this.append("distinct on ("),this.compileList(n),this.append(")")}compileList(n,o=", "){let s=n.length-1;for(let a=0;a<=s;a++)if(this.visitNode(n[a]),a<s)this.append(o)}visitWhere(n){this.append("where "),this.visitNode(n.where)}visitHaving(n){this.append("having "),this.visitNode(n.having)}visitInsertQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode)&&!fe.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append(n.replace?"replace":"insert"),n.orAction)this.append(" "),this.visitNode(n.orAction);if(n.top)this.append(" "),this.visitNode(n.top);if(n.into)this.append(" into "),this.visitNode(n.into);if(n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.output)this.append(" "),this.visitNode(n.output);if(n.values)this.append(" "),this.visitNode(n.values);if(n.defaultValues)this.append(" "),this.append("default values");if(n.onConflict)this.append(" "),this.visitNode(n.onConflict);if(n.onDuplicateKey)this.append(" "),this.visitNode(n.onDuplicateKey);if(n.returning)this.append(" "),this.visitNode(n.returning);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitValues(n){this.append("values "),this.compileList(n.values)}visitDeleteQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("delete "),n.top)this.visitNode(n.top),this.append(" ");if(this.visitNode(n.from),n.output)this.append(" "),this.visitNode(n.output);if(n.using)this.append(" "),this.visitNode(n.using);if(n.joins)this.append(" "),this.compileList(n.joins," ");if(n.where)this.append(" "),this.visitNode(n.where);if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitReturning(n){this.append("returning "),this.compileList(n.selections)}visitAlias(n){this.visitNode(n.node),this.append(" as "),this.visitNode(n.alias)}visitReference(n){if(n.table)this.visitNode(n.table),this.append(".");this.visitNode(n.column)}visitSelectAll(n){this.append("*")}visitIdentifier(n){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(n),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(n){if(!w(n.name))throw Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(n.name))}visitAnd(n){this.visitNode(n.left),this.append(" and "),this.visitNode(n.right)}visitOr(n){this.visitNode(n.left),this.append(" or "),this.visitNode(n.right)}visitValue(n){if(n.immediate)this.appendImmediateValue(n.value);else this.appendValue(n.value)}visitValueList(n){this.append("("),this.compileList(n.values),this.append(")")}visitTuple(n){this.append("("),this.compileList(n.values),this.append(")")}visitPrimitiveValueList(n){this.append("(");let{values:o}=n;for(let s=0;s<o.length;++s)if(this.appendValue(o[s]),s!==o.length-1)this.append(", ");this.append(")")}visitParens(n){this.append("("),this.visitNode(n.node),this.append(")")}visitJoin(n){if(this.append(el[n.joinType]),this.append(" "),this.visitNode(n.table),n.on)this.append(" "),this.visitNode(n.on)}visitOn(n){this.append("on "),this.visitNode(n.on)}visitRaw(n){let{sqlFragments:o,parameters:s}=n;for(let a=0;a<o.length;++a)if(this.append(o[a]),s.length>a)this.visitNode(s[a])}visitOperator(n){this.append(n.operator)}visitTable(n){this.visitNode(n.table)}visitSchemableIdentifier(n){if(n.schema)this.visitNode(n.schema),this.append(".");this.visitNode(n.identifier)}visitCreateTable(n){if(this.append("create "),n.frontModifiers?.length)this.compileList(n.frontModifiers," "),this.append(" ");if(n.temporary)this.append("temporary ");if(this.append("table "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.table),!n.selectQuery)this.append(" ("),this.compileList([...n.columns,...n.constraints??[],...n.indexes??[]]),this.append(")");if(n.onCommit)this.append(" on commit "),this.append(n.onCommit);if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ");if(n.selectQuery)this.append(" as "),this.visitNode(n.selectQuery)}visitColumnDefinition(n){if(n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.column),this.append(" "),this.visitNode(n.dataType),n.unsigned)this.append(" unsigned");if(n.frontModifiers&&n.frontModifiers.length>0)this.append(" "),this.compileList(n.frontModifiers," ");if(n.generated)this.append(" "),this.visitNode(n.generated);if(n.identity)this.append(" identity");if(n.defaultTo)this.append(" "),this.visitNode(n.defaultTo);if(n.notNull)this.append(" not null");if(n.unique)this.append(" unique");if(n.nullsNotDistinct)this.append(" nulls not distinct");if(n.primaryKey)this.append(" primary key");if(n.autoIncrement)this.append(" "),this.append(this.getAutoIncrement());if(n.references)this.append(" "),this.visitNode(n.references);if(n.check)this.append(" "),this.visitNode(n.check);if(n.endModifiers&&n.endModifiers.length>0)this.append(" "),this.compileList(n.endModifiers," ")}getAutoIncrement(){return"auto_increment"}visitReferences(n){if(this.append("references "),this.visitNode(n.table),this.append(" ("),this.compileList(n.columns),this.append(")"),n.onDelete)this.append(" on delete "),this.append(n.onDelete);if(n.onUpdate)this.append(" on update "),this.append(n.onUpdate)}visitDropTable(n){if(this.append("drop "),n.temporary)this.append("temporary ");if(this.append("table "),n.ifExists)this.append("if exists ");if(this.visitNode(n.table),n.cascade)this.append(" cascade")}visitDataType(n){this.append(n.dataType)}visitOrderBy(n){this.append("order by "),this.compileList(n.items)}visitOrderByItem(n){if(this.visitNode(n.orderBy),n.collation)this.append(" "),this.visitNode(n.collation);if(n.direction)this.append(" "),this.visitNode(n.direction);if(n.nulls)this.append(" nulls "),this.append(n.nulls)}visitGroupBy(n){this.append("group by "),this.compileList(n.items)}visitGroupByItem(n){this.visitNode(n.groupBy)}visitUpdateQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode)&&!fe.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("update "),n.top)this.visitNode(n.top),this.append(" ");if(n.table)this.visitNode(n.table),this.append(" ");if(this.append("set "),n.updates)this.compileList(n.updates);if(n.output)this.append(" "),this.visitNode(n.output);if(n.from)this.append(" "),this.visitNode(n.from);if(n.joins){if(!n.from)throw Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(n.joins," ")}if(n.where)this.append(" "),this.visitNode(n.where);if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitColumnUpdate(n){this.visitNode(n.column),this.append(" = "),this.visitNode(n.value)}visitLimit(n){this.append("limit "),this.visitNode(n.limit)}visitOffset(n){this.append("offset "),this.visitNode(n.offset)}visitOnConflict(n){if(this.append("on conflict"),n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");else if(n.constraint)this.append(" on constraint "),this.visitNode(n.constraint);else if(n.indexExpression)this.append(" ("),this.visitNode(n.indexExpression),this.append(")");if(n.indexWhere)this.append(" "),this.visitNode(n.indexWhere);if(n.doNothing===!0)this.append(" do nothing");else if(n.updates){if(this.append(" do update set "),this.compileList(n.updates),n.updateWhere)this.append(" "),this.visitNode(n.updateWhere)}}visitOnDuplicateKey(n){this.append("on duplicate key update "),this.compileList(n.updates)}visitCreateIndex(n){if(this.append("create "),n.unique)this.append("unique ");if(this.append("index "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.name),n.table)this.append(" on "),this.visitNode(n.table);if(n.using)this.append(" using "),this.visitNode(n.using);if(n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.nullsNotDistinct)this.append(" nulls not distinct");if(n.where)this.append(" "),this.visitNode(n.where)}visitDropIndex(n){if(this.append("drop index "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.table)this.append(" on "),this.visitNode(n.table);if(n.cascade)this.append(" cascade")}visitCreateSchema(n){if(this.append("create schema "),n.ifNotExists)this.append("if not exists ");this.visitNode(n.schema)}visitDropSchema(n){if(this.append("drop schema "),n.ifExists)this.append("if exists ");if(this.visitNode(n.schema),n.cascade)this.append(" cascade")}visitPrimaryKeyConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");this.append("primary key ("),this.compileList(n.columns),this.append(")"),this.buildDeferrable(n)}buildDeferrable(n){if(n.deferrable!==void 0)if(n.deferrable)this.append(" deferrable");else this.append(" not deferrable");if(n.initiallyDeferred!==void 0)if(n.initiallyDeferred)this.append(" initially deferred");else this.append(" initially immediate")}visitUniqueConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");if(this.append("unique"),n.nullsNotDistinct)this.append(" nulls not distinct");this.append(" ("),this.compileList(n.columns),this.append(")"),this.buildDeferrable(n)}visitCheckConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");this.append("check ("),this.visitNode(n.expression),this.append(")")}visitForeignKeyConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");if(this.append("foreign key ("),this.compileList(n.columns),this.append(") "),this.visitNode(n.references),n.onDelete)this.append(" on delete "),this.append(n.onDelete);if(n.onUpdate)this.append(" on update "),this.append(n.onUpdate);this.buildDeferrable(n)}visitList(n){this.compileList(n.items)}visitWith(n){if(this.append("with "),n.recursive)this.append("recursive ");this.compileList(n.expressions)}visitCommonTableExpression(n){if(this.visitNode(n.name),this.append(" as "),qt(n.materialized)){if(!n.materialized)this.append("not ");this.append("materialized ")}this.visitNode(n.expression)}visitCommonTableExpressionName(n){if(this.visitNode(n.table),n.columns)this.append("("),this.compileList(n.columns),this.append(")")}visitAlterTable(n){if(this.append("alter table "),this.visitNode(n.table),this.append(" "),n.renameTo)this.append("rename to "),this.visitNode(n.renameTo);if(n.setSchema)this.append("set schema "),this.visitNode(n.setSchema);if(n.addConstraint)this.visitNode(n.addConstraint);if(n.dropConstraint)this.visitNode(n.dropConstraint);if(n.renameConstraint)this.visitNode(n.renameConstraint);if(n.columnAlterations)this.compileColumnAlterations(n.columnAlterations);if(n.addIndex)this.visitNode(n.addIndex);if(n.dropIndex)this.visitNode(n.dropIndex)}visitAddColumn(n){this.append("add column "),this.visitNode(n.column)}visitRenameColumn(n){this.append("rename column "),this.visitNode(n.column),this.append(" to "),this.visitNode(n.renameTo)}visitDropColumn(n){if(this.append("drop column "),n.ifExists)this.append("if exists ");this.visitNode(n.column)}visitAlterColumn(n){if(this.append("alter column "),this.visitNode(n.column),this.append(" "),n.dataType){if(this.announcesNewColumnDataType())this.append("type ");if(this.visitNode(n.dataType),n.dataTypeExpression)this.append("using "),this.visitNode(n.dataTypeExpression)}if(n.setDefault)this.append("set default "),this.visitNode(n.setDefault);if(n.dropDefault)this.append("drop default");if(n.setNotNull)this.append("set not null");if(n.dropNotNull)this.append("drop not null")}visitModifyColumn(n){this.append("modify column "),this.visitNode(n.column)}visitAddConstraint(n){this.append("add "),this.visitNode(n.constraint)}visitDropConstraint(n){if(this.append("drop constraint "),n.ifExists)this.append("if exists ");if(this.visitNode(n.constraintName),n.modifier==="cascade")this.append(" cascade");else if(n.modifier==="restrict")this.append(" restrict")}visitRenameConstraint(n){this.append("rename constraint "),this.visitNode(n.oldName),this.append(" to "),this.visitNode(n.newName)}visitSetOperation(n){if(this.append(n.operator),this.append(" "),n.all)this.append("all ");this.visitNode(n.expression)}visitCreateView(n){if(this.append("create "),n.orReplace)this.append("or replace ");if(n.materialized)this.append("materialized ");if(n.temporary)this.append("temporary ");if(this.append("view "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.name),this.append(" "),n.columns)this.append("("),this.compileList(n.columns),this.append(") ");if(n.as)this.append("as "),this.visitNode(n.as)}visitRefreshMaterializedView(n){if(this.append("refresh materialized view "),n.concurrently)this.append("concurrently ");if(this.visitNode(n.name),n.withNoData)this.append(" with no data");else this.append(" with data")}visitDropView(n){if(this.append("drop "),n.materialized)this.append("materialized ");if(this.append("view "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.cascade)this.append(" cascade")}visitGenerated(n){if(this.append("generated "),n.always)this.append("always ");if(n.byDefault)this.append("by default ");if(this.append("as "),n.identity)this.append("identity");if(n.expression)this.append("("),this.visitNode(n.expression),this.append(")");if(n.stored)this.append(" stored")}visitDefaultValue(n){this.append("default "),this.visitNode(n.defaultValue)}visitSelectModifier(n){if(n.rawModifier)this.visitNode(n.rawModifier);else this.append(Zc[n.modifier]);if(n.of)this.append(" of "),this.compileList(n.of,", ")}visitCreateType(n){if(this.append("create type "),this.visitNode(n.name),n.enum)this.append(" as enum "),this.visitNode(n.enum)}visitDropType(n){if(this.append("drop type "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.additionalNames?.length)this.append(", "),this.compileList(n.additionalNames);if(n.cascade)this.append(" cascade")}visitAlterType(n){if(this.append("alter type "),this.visitNode(n.name),this.append(" "),n.addValue)this.visitNode(n.addValue);else if(n.renameTo)this.append("rename to "),this.visitNode(n.renameTo);else if(n.renameValue)this.visitNode(n.renameValue);else if(n.setSchema)this.append("set schema "),this.visitNode(n.setSchema)}visitAddValue(n){if(this.append("add value "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.value),n.neighborValue)this.append(n.isBefore?" before ":" after "),this.visitNode(n.neighborValue)}visitRenameValue(n){this.append("rename value "),this.visitNode(n.oldValue),this.append(" to "),this.visitNode(n.newValue)}visitExplain(n){if(this.append("explain"),n.options||n.format){if(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),n.options){if(this.visitNode(n.options),n.format)this.append(this.getExplainOptionsDelimiter())}if(n.format)this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(n.format);this.append(this.getRightExplainOptionsWrapper())}}visitDefaultInsertValue(n){this.append("default")}visitAggregateFunction(n){if(this.append(n.func),this.append("("),n.distinct)this.append("distinct ");if(this.compileList(n.aggregated),n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(this.append(")"),n.withinGroup)this.append(" within group ("),this.visitNode(n.withinGroup),this.append(")");if(n.filter)this.append(" filter("),this.visitNode(n.filter),this.append(")");if(n.over)this.append(" "),this.visitNode(n.over)}visitOver(n){if(this.append("over("),n.partitionBy){if(this.visitNode(n.partitionBy),n.orderBy)this.append(" ")}if(n.orderBy)this.visitNode(n.orderBy);this.append(")")}visitPartitionBy(n){this.append("partition by "),this.compileList(n.items)}visitPartitionByItem(n){this.visitNode(n.partitionBy)}visitBinaryOperation(n){this.visitNode(n.leftOperand),this.append(" "),this.visitNode(n.operator),this.append(" "),this.visitNode(n.rightOperand)}visitUnaryOperation(n){if(this.visitNode(n.operator),!this.isMinusOperator(n.operator))this.append(" ");this.visitNode(n.operand)}isMinusOperator(n){return we.is(n)&&n.operator==="-"}visitUsing(n){this.append("using "),this.compileList(n.tables)}visitFunction(n){this.append(n.func),this.append("("),this.compileList(n.arguments),this.append(")")}visitCase(n){if(this.append("case"),n.value)this.append(" "),this.visitNode(n.value);if(n.when)this.append(" "),this.compileList(n.when," ");if(n.else)this.append(" else "),this.visitNode(n.else);if(this.append(" end"),n.isStatement)this.append(" case")}visitWhen(n){if(this.append("when "),this.visitNode(n.condition),n.result)this.append(" then "),this.visitNode(n.result)}visitJSONReference(n){this.visitNode(n.reference),this.visitNode(n.traversal)}visitJSONPath(n){if(n.inOperator)this.visitNode(n.inOperator);this.append("'$");for(let o of n.pathLegs)this.visitNode(o);this.append("'")}visitJSONPathLeg(n){let o=n.type==="ArrayLocation",s=String(n.value);if(o)this.append("["),this.append(this.sanitizeStringLiteral(s)),this.append("]");else this.append('."'),this.append(this.sanitizeJSONPathMemberValue(s)),this.append('"')}visitJSONOperatorChain(n){for(let o=0,s=n.values.length;o<s;o++){if(o===s-1)this.visitNode(n.operator);else this.append("->");this.visitNode(n.values[o])}}visitMergeQuery(n){if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("merge "),n.top)this.visitNode(n.top),this.append(" ");if(this.append("into "),this.visitNode(n.into),n.using)this.append(" "),this.visitNode(n.using);if(n.whens)this.append(" "),this.compileList(n.whens," ");if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.output)this.append(" "),this.visitNode(n.output);if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitMatched(n){if(n.not)this.append("not ");if(this.append("matched"),n.bySource)this.append(" by source")}visitAddIndex(n){if(!this.parentNode||!Z.is(this.parentNode))this.append("add ");if(n.unique)this.append("unique ");if(this.append("index "),this.visitNode(n.name),n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.using)this.append(" using "),this.visitNode(n.using)}visitCast(n){this.append("cast("),this.visitNode(n.expression),this.append(" as "),this.visitNode(n.dataType),this.append(")")}visitFetch(n){this.append("fetch next "),this.visitNode(n.rowCount),this.append(` rows ${n.modifier}`)}visitOutput(n){this.append("output "),this.compileList(n.selections)}visitTop(n){if(this.append(`top(${n.expression})`),n.modifiers)this.append(` ${n.modifiers}`)}visitOrAction(n){this.append(n.action)}visitCollate(n){this.append("collate "),this.visitNode(n.collation)}append(n){this.#e+=n}appendValue(n){this.addParameter(n),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(n){let o=this.getLeftIdentifierWrapper(),s=this.getRightIdentifierWrapper(),a="";for(let c of n)if(a+=c,c===o)a+=o;else if(c===s)a+=s;return a}sanitizeStringLiteral(n){return n.replace(Yc,"''")}sanitizeJSONPathMemberValue(n){return n.replace(Xc,(o)=>o==="'"?"''":"\\\"")}addParameter(n){this.#t.push(n)}appendImmediateValue(n){if(w(n))this.appendStringLiteral(n);else if(Ct(n)||qt(n)||Zt(n))this.append(n.toString());else if(Xt(n))this.append("null");else if($a(n))this.appendImmediateValue(n.toISOString());else throw Error(`invalid immediate value ${n}`)}appendStringLiteral(n){this.append("'"),this.append(this.sanitizeStringLiteral(n)),this.append("'")}sortSelectModifiers(n){return d(n.toSorted((o,s)=>o.modifier&&s.modifier?cu[o.modifier]-cu[s.modifier]:1))}compileColumnAlterations(n){this.compileList(n)}announcesNewColumnDataType(){return!0}}var Zc=d({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),cu=d({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),el=d({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"});var cn=d({raw(n,o=[]){return d({sql:n,query:k.createWithSql(n),parameters:d(o),queryId:b()})}});class Oo{get supportsCreateIfNotExists(){return!0}get supportsMultipleConnections(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}var tl=/"/g,rl=/[\\'"]/g;class xi extends Do{visitOrAction(n){this.append("or "),this.append(n.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(n){return n.replace(tl,'""')}sanitizeJSONPathMemberValue(n){return n.replace(rl,(o)=>o==="\\"?"\\\\":o==="'"?"''":"\\\"")}visitDefaultInsertValue(n){this.append("null")}}class Ro{transformQuery(n){return n.node}async transformResult(n){return n.result}}var oe="kysely_migration",pn="kysely_migration_lock",il=!1,Io="migration_lock",qL=d({__noMigrations__:!0});class RO{#e;constructor(n){this.#e=d(n)}async getMigrations(){let o=await this.#p(this.#i)?await this.#e.db.withPlugin(this.#n).selectFrom(this.#i).select(["name","timestamp"]).$narrowType().execute():[];return(await this.#f()).map(({name:a,...c})=>{let p=o.find((h)=>h.name===a);return{name:a,migration:c,executedAt:p?new Date(p.timestamp):void 0}})}async migrateToLatest(n){return this.#t(()=>({direction:"Up",step:1/0}),n)}async migrateTo(n,o){return this.#t(({migrations:s,executedMigrations:a,pendingMigrations:c})=>{if(M(n)&&n.__noMigrations__===!0)return{direction:"Down",step:1/0};if(!s.find((_)=>_.name===n))throw Error(`migration "${n}" doesn't exist`);let p=a.indexOf(n),h=c.findIndex((_)=>_.name===n);if(p!==-1)return{direction:"Down",step:a.length-p-1};if(h!==-1)return{direction:"Up",step:h+1};throw Error(`migration "${n}" isn't executed or pending`)},o)}async migrateUp(n){return this.#t(()=>({direction:"Up",step:1}),n)}async migrateDown(n){return this.#t(()=>({direction:"Down",step:1}),n)}async#t(n,o){try{return await this.#s(),await this.#c(),await this.#l(),await this.#d(),await this.#x(n,o)}catch(s){if(s instanceof ln)return s.resultSet;return{error:s}}}get#r(){return this.#e.migrationTableSchema}get#i(){return this.#e.migrationTableName??oe}get#o(){return this.#e.migrationLockTableName??pn}get#a(){return this.#e.allowUnorderedMigrations??il}get#n(){if(this.#r)return new $e(this.#r);return new Ro}async#s(){if(!this.#r)return;if(await this.#m())return;try{await this.#h(this.#e.db.schema.createSchema(this.#r))}catch(o){if(!await this.#m())throw o}}async#c(){if(await this.#p(this.#i))return;try{await this.#h(this.#e.db.schema.withPlugin(this.#n).createTable(this.#i).addColumn("name","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("timestamp","varchar(255)",(o)=>o.notNull()))}catch(o){if(!await this.#p(this.#i))throw o}}async#l(){if(await this.#p(this.#o))return;try{await this.#h(this.#e.db.schema.withPlugin(this.#n).createTable(this.#o).addColumn("id","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("is_locked","integer",(o)=>o.notNull().defaultTo(0)))}catch(o){if(!await this.#p(this.#o))throw o}}async#d(){if(await this.#u())return;try{await this.#e.db.withPlugin(this.#n).insertInto(this.#o).values({id:Io,is_locked:0}).execute()}catch(o){if(!await this.#u())throw o}}async#m(){return(await this.#e.db.introspection.getSchemas()).some((o)=>o.name===this.#r)}async#p(n){let o=this.#r;return(await this.#e.db.introspection.getTables({withInternalKyselyTables:!0})).some((a)=>a.name===n&&(!o||a.schema===o))}async#u(){return!!await this.#e.db.withPlugin(this.#n).selectFrom(this.#o).where("id","=",Io).select("id").executeTakeFirst()}async#x(n,o){let s=this.#e.db.getExecutor().adapter,a=d({lockTable:this.#e.migrationLockTableName??pn,lockRowId:Io,lockTableSchema:this.#e.migrationTableSchema}),c=async(_)=>{let y=await this.#N(_);if(y.migrations.length===0)return{results:[]};let{direction:x,step:N}=n(y);if(N<=0)return{results:[]};if(x==="Down")return await this.#C(_,y,N);else if(x==="Up")return await this.#E(_,y,N);return{results:[]}},p=async(_,y)=>{try{return await s.acquireMigrationLock(_,a),await y(_)}finally{await s.releaseMigrationLock(_,a)}},h=o?.disableTransactions??this.#e.disableTransactions;if(this.#e.db.isTransaction){if(!s.supportsTransactionalDdl)throw Error("Transactional DDL is not supported in this dialect. Passing a transaction to this migrator would result in failure or unexpected behavior.");if(h)throw Error("`disableTransactions` is true but the migrator was given a transaction. Passing a transaction to this migrator would result in failure or unexpected behavior.");return p(this.#e.db,c)}if(s.supportsTransactionalDdl&&!h)return this.#e.db.connection().execute((_)=>p(_,(y)=>y.transaction().execute((x)=>c(x))));return this.#e.db.connection().execute((_)=>p(_,c))}async#N(n){let o=await this.#f(),s=await this.#v(n);if(this.#b(o,s),!this.#a)this.#w(o,s);let a=this.#g(o,s);return d({migrations:o,executedMigrations:s,lastMigration:Ga(s),pendingMigrations:a})}#g(n,o){return n.filter((s)=>!o.includes(s.name))}async#f(){let n=await this.#e.provider.getMigrations();return Object.keys(n).sort().map((o)=>({...n[o],name:o}))}async#v(n){let o=await n.withPlugin(this.#n).selectFrom(this.#i).select(["name","timestamp"]).$narrowType().execute(),s=this.#e.nameComparator||((a,c)=>a.localeCompare(c));return o.sort((a,c)=>{if(a.timestamp===c.timestamp)return s(a.name,c.name);return new Date(a.timestamp).getTime()-new Date(c.timestamp).getTime()}).map((a)=>a.name)}#b(n,o){for(let s of o)if(!n.some((a)=>a.name===s))throw Error(`corrupted migrations: previously executed migration ${s} is missing`)}#w(n,o){for(let s=0;s<o.length;++s)if(n[s].name!==o[s])throw Error(`corrupted migrations: expected previously executed migration ${o[s]} to be at index ${s} but ${n[s].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)}async#C(n,o,s){let a=o.executedMigrations.toReversed().slice(0,s).map((p)=>o.migrations.find((h)=>h.name===p)),c=a.map((p)=>({migrationName:p.name,direction:"Down",status:"NotExecuted"}));for(let p=0;p<c.length;++p){let h=a[p];try{if(h.down)await h.down(n),await n.withPlugin(this.#n).deleteFrom(this.#i).where("name","=",h.name).execute(),c[p]={migrationName:h.name,direction:"Down",status:"Success"}}catch(_){throw c[p]={migrationName:h.name,direction:"Down",status:"Error"},new ln({error:_,results:c})}}return{results:c}}async#E(n,o,s){let c=o.pendingMigrations.slice(0,s).map((p)=>({migrationName:p.name,direction:"Up",status:"NotExecuted"}));for(let p=0;p<c.length;p++){let h=o.pendingMigrations[p];try{await h.up(n),await n.withPlugin(this.#n).insertInto(this.#i).values({name:h.name,timestamp:new Date().toISOString()}).execute(),c[p]={migrationName:h.name,direction:"Up",status:"Success"}}catch(_){throw c[p]={migrationName:h.name,direction:"Up",status:"Error"},new ln({error:_,results:c})}}return{results:c}}async#h(n){if(this.#e.db.getExecutor().adapter.supportsCreateIfNotExists)n=n.ifNotExists();await n.execute()}}class ln extends Error{#e;constructor(n){super();this.#e=n}get resultSet(){return this.#e}}class gi{#e;constructor(n){this.#e=n}async getSchemas(){return[]}async getTables(n={withInternalKyselyTables:!1}){return await this.#r(n)}#t(n,o){let s=n.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").select(["name","sql","type"]).orderBy("name");if(!o.withInternalKyselyTables)s=s.where("name","!=",oe).where("name","!=",pn);return s}async#r(n){let o=await this.#t(this.#e,n).execute(),s=await this.#e.with("table_list",(c)=>this.#t(c,n)).selectFrom(["table_list as tl",m`pragma_table_info(tl.name)`.as("p")]).select(["tl.name as table","p.cid","p.name","p.type","p.notnull","p.dflt_value","p.pk"]).orderBy("tl.name").orderBy("p.cid").execute(),a={};for(let c of s)a[c.table]??=[],a[c.table].push(c);return o.map(({name:c,sql:p,type:h})=>{let _=p?.split(/[\(\),]/)?.find((x)=>x.toLowerCase().includes("autoincrement"))?.trimStart()?.split(/\s+/)?.[0]?.replace(/["`]/g,""),y=a[c]??[];if(!_){let x=y.filter((N)=>N.pk>0);if(x.length===1&&x[0].type.toLowerCase()==="integer")_=x[0].name}return{name:c,isView:h==="view",isForeign:!1,columns:y.map((x)=>({name:x.name,dataType:x.type,isNullable:!x.notnull,isAutoIncrementing:x.name===_,hasDefaultValue:x.dflt_value!=null,comment:void 0}))}})}}class rE extends Oo{get supportsMultipleConnections(){return!1}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(n,o){}async releaseMigrationLock(n,o){}}class Po{#e;constructor(n){this.#e=n}async getMigrations(){let n={},o=await this.#e.fs.readdir(this.#e.migrationFolder);for(let s of o){if(!this.hasExpectedExtension(s)){this.#e.onFileIgnored?.(s,"Extension");continue}let a=this.#e.path.join(this.#e.migrationFolder,s),c=this.#e.import?await this.#e.import(a):await import(a),p=s.substring(0,s.lastIndexOf("."));if(lu(c?.default))n[p]=c.default;else if(lu(c))n[p]=c;else this.#e.onFileIgnored?.(s,"NotMigration")}return n}hasExpectedExtension(n){return n.endsWith(".js")||n.endsWith(".ts")&&!n.endsWith(".d.ts")||n.endsWith(".mjs")||n.endsWith(".mts")&&!n.endsWith(".d.mts")||n.endsWith(".cjs")||n.endsWith(".cts")&&!n.endsWith(".d.cts")}}function lu(n){return M(n)&&W(n.up)}class wi{async acquire(){}async release(){}}import{readFileSync as ol}from"fs";import{execFileSync as nl}from"child_process";var mu=(n,o,s)=>nl(n,o,{encoding:"utf-8",timeout:s.timeout,env:s.env});var pu="darwin-utc";function wd(n){if(n===void 0)return{};return n.startsWith("darwin-utc:")?{processGenerationTokenUtc:n}:{processGenerationToken:n}}function _r(n){if(typeof n.processGenerationTokenUtc==="string")return n.processGenerationTokenUtc;return typeof n.processGenerationToken==="string"?n.processGenerationToken:void 0}var sl="/proc/sys/kernel/random/boot_id",al=pu,dl="darwin",c2={LC_ALL:"C",TZ:"UTC"},ul=1000,cl=["pid","startedAt","version","buildId","entryScript"];function k9(n,o){let s=_r(o);return cl.every((a)=>o[a]===n[a])&&(s===void 0||s===n.processGenerationToken)}function j$(n){let o=n.trim().replace(/\s+/g," ");return o.length>0?`${al}:${o}`:void 0}function fu(n){let o=n.indexOf(":");return o<0?"":n.slice(0,o)}function Ya(n,o){if(n===o)return"same";let s=fu(n);return s===fu(o)&&s!==dl?"different":"incomparable"}function ll(n,o){let s=n.lastIndexOf(")");if(s<0)return;let c=n.slice(s+1).trim().split(/\s+/)[19],p=o.trim();if(!p||!c||!/^\d+$/.test(c))return;return`linux:${p}:${c}`}function ml(n=ol){let o;return(s)=>{try{let a=n(`/proc/${s}/stat`,"utf-8");return o??=n(sl,"utf-8"),ll(a,o)}catch(a){e.debug(`Unable to read Linux process generation token for PID ${s}: ${a}`);return}}}var Gg=ml(),pl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],fl=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hl(n){if(!Number.isFinite(n)||!Number.isInteger(n)||n<=0)return;let o=new Date(n*1000);if(!Number.isFinite(o.getTime()))return;let s=[o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds()].map((a)=>String(a).padStart(2,"0")).join(":");return`${pl[o.getUTCDay()]} ${fl[o.getUTCMonth()]} ${o.getUTCDate()} ${s} ${String(o.getUTCFullYear()).padStart(4,"0")}`}function _l(n,o){if(o<16||n.byteLength<16)return;let s=Number(new DataView(n.buffer,n.byteOffset,16).getBigInt64(0,!0));return s>0&&Number.isSafeInteger(s)?s:void 0}function yl(){let{dlopen:n,ptr:o,FFIType:s}=wt("bun:ffi"),a=n("/usr/lib/libSystem.B.dylib",{sysctl:{args:[s.ptr,s.u32,s.ptr,s.ptr,s.ptr,s.u64],returns:s.i32}}),c=new Int32Array([1,14,1,0]),p=new Uint8Array(648),h=new BigUint64Array(1);return{readStartSeconds(_){try{return c[3]=_,h[0]=BigInt(p.byteLength),a.symbols.sysctl(o(c),c.length,o(p),o(h),null,0)===0?_l(p,Number(h[0])):void 0}catch(y){e.debug(`Unable to read Darwin sysctl process start: ${r(y)}`);return}}}}var hu=!1,Lo;function _u(){if(process.platform!=="darwin"||hu)return Lo;hu=!0;try{Lo=yl()}catch(n){e.debug(`Unable to load Darwin sysctl process start reader: ${r(n)}`)}return Lo}function Wae(n=process.platform){if(n==="linux")return!0;return n==="darwin"&&_u()!==void 0}function Nl(n={}){let{startReader:o={readStartSeconds:(c)=>_u()?.readStartSeconds(c)},runCommand:s=mu,captureDisabled:a=()=>mn.processGenerationCaptureDisabled?.()??!1}=n;return(c)=>{if(!a())try{let p=o.readStartSeconds(c),h=p===void 0?void 0:hl(p);if(h!==void 0)return j$(h)}catch(p){e.debug(`Unable to capture Darwin process start: ${r(p)}`)}return yu(c,s)}}var gl=Nl();function Yg(n,o){return o===void 0?gl(n):yu(n,o)}function yu(n,o){try{return j$(o("ps",["-p",String(n),"-o","lstart="],{timeout:ul,env:{...process.env,...c2}}))}catch(s){e.debug(`Unable to read Darwin process generation token for PID ${n}: ${s}`);return}}function wl(n={}){let{platform:o=process.platform,pid:s=process.pid,readLinuxProcessGenerationToken:a=Gg,readDarwinProcessGenerationToken:c=Yg}=n,p=!1,h;return()=>{if(p)return h;p=!0;try{if(o==="linux")h=a(s);else if(o==="darwin")h=c(s)}catch(_){e.debug(`Unable to read current daemon process generation token: ${_}`)}return h}}var vl=wl(),bf=()=>mn.processGenerationCaptureDisabled?.()?void 0:vl();function Sa(n){if(process.platform==="darwin")return Yg(n);if(process.platform==="linux")return Gg(n);return}function bl(n={}){let o=n.platform??process.platform,s=n.now??(()=>i.now()),a=n.captureDisabled??(()=>mn.processGenerationCaptureDisabled?.()??!1),c=n.sameVerdictTtlMs??1000,p=new Map,h=new Map,_=new Map;function y(x){try{return(o==="linux"?n.readLinuxProcessGenerationToken??Gg:o==="darwin"?n.readDarwinProcessGenerationToken??Yg:void 0)?.(x)}catch(N){e.debug(`Lock owner process generation unreadable: ${r(N)}`);return}}return{current(x){if(a())return;let N=s();for(let[re,de]of p)if(N-de.at>=c)p.delete(re);for(let[re,de]of h)if(N-de>=c)h.delete(re);if(h.has(x))return;let C=p.get(x);if(C)return C.token;let V=y(x);if(V!==void 0)p.set(x,{token:V,at:s()});else h.set(x,s());return V},compare(x,N){if(a())return _.clear(),"unknown";let C=s();for(let[ut,Ka]of _)if(C-Ka.at>=c)_.delete(ut);let V=_.get(x);if(V!==void 0){if(V.token===void 0)return"unknown";if(V.token===N)return"same"}_.delete(x);let re=y(x);if(re===void 0)return _.set(x,{at:s()}),"unknown";let de=Ya(N,re);if(de==="same")_.set(x,{token:N,at:C});return de==="incomparable"?"unknown":de}}}var Ht=bl();import{existsSync as im,realpathSync as Mu}from"fs";import{basename as nm,dirname as om,join as sm}from"path";var xu=new Set;function Yn(n,o,s){return Sf(n,o,s)??s.fallback}function Sf(n,o,s={}){let{env:a=process.env,log:c=e}=s,{name:p,raw:h}=El(n,o,a);if(h==="")return;let _=Cb(h);if(_!==void 0&&_>=(s.min??1))return _;Tl(c,p,h,s);return}function El(n,o,s){if(s[n]!==void 0||o===void 0)return{name:n,raw:(s[n]??"").trim()};return{name:o,raw:(s[o]??"").trim()}}function Cb(n){let o=/^\d+$/.test(n)?Number(n):NaN;return Number.isSafeInteger(o)&&o>0?o:void 0}function Tl(n,o,s,a){let c=`${o}=${s}`;if(xu.has(c))return;xu.add(c);let p=a.min!==void 0?` of at least ${a.min}`:"";n.warn(`Ignoring ${o}=${JSON.stringify(s)}: expected a plain integer${p}; using the default${a.fallback===void 0?"":` ${a.fallback}`}`)}function zs(n,o=process.env,s={}){return Yn(n.name,n.legacyName,{fallback:s.fallback??n.fallback??0,min:n.min,env:o,log:s.log??e})}var vi=(n)=>at(n,{debugLog:e.debug}),Ao=1e4,bi=Ao,Bo=64,Wo=8,Mo=300000,qo=64,Fo=64,Nu=3;function Jg(n,o,s,a){if(a!==void 0)return`${n}
|
|
2
|
+
import{yn,i,$i,Se,Q,l,st,e}from"./chunk-r0vp315h.js";import{h,Y,I,$e}from"./chunk-5wk1t46v.js";import{r,t,u}from"./chunk-2b39zyxc.js";import{ue,Pt}from"./chunk-j69g8b50.js";var rs={};ue(rs,{down:()=>hm,up:()=>fm});var is={};ue(is,{down:()=>ym,up:()=>_m});var ns={};ue(ns,{down:()=>km,up:()=>xm});var os={};ue(os,{down:()=>Dm,up:()=>Sm});var ss={};ue(ss,{down:()=>Rm,up:()=>Om});var as={};ue(as,{down:()=>Pm,up:()=>Im});var ds={};ue(ds,{down:()=>Am,up:()=>Lm});var us={};ue(us,{down:()=>Wm,up:()=>Bm});var cs={};ue(cs,{down:()=>qm,up:()=>Mm});var ls={};ue(ls,{down:()=>Km,up:()=>Fm});var ms={};ue(ms,{down:()=>Gm,up:()=>$m});var ps={};ue(ps,{down:()=>Vm,up:()=>Um});var fs={};ue(fs,{down:()=>zm,up:()=>Qm});var hs={};ue(hs,{down:()=>jm,up:()=>Jm});var _s={};ue(_s,{down:()=>Xm,up:()=>Ym});var ys={};ue(ys,{down:()=>ep,up:()=>Zm});var xs={};ue(xs,{down:()=>rp,up:()=>tp});var Ns={};ue(Ns,{down:()=>op,up:()=>np});var ws={};ue(ws,{down:()=>ap,up:()=>sp});var vs={};ue(vs,{down:()=>up,up:()=>dp});var bs={};ue(bs,{down:()=>_p,up:()=>cp});var Cs={};ue(Cs,{down:()=>xp,up:()=>yp});var Ts={};ue(Ts,{down:()=>wp,up:()=>gp});var Ss={};ue(Ss,{down:()=>bp,up:()=>vp});var Ds={};ue(Ds,{down:()=>Ep,up:()=>Cp});var Os={};ue(Os,{down:()=>kp,up:()=>Tp});var Rs={};ue(Rs,{down:()=>Dp,up:()=>Sp});var Is={};ue(Is,{down:()=>Ip,up:()=>Rp});var Ps={};ue(Ps,{down:()=>Ap,up:()=>Lp});var Ls={};ue(Ls,{down:()=>Mp,up:()=>Wp});var As={};ue(As,{down:()=>Fp,up:()=>qp});var Bs={};ue(Bs,{down:()=>$p,up:()=>Kp});var Ws={};ue(Ws,{down:()=>Vp,up:()=>Up});var Ms={};ue(Ms,{down:()=>Jp,up:()=>zp});var qs={};ue(qs,{down:()=>Yp,up:()=>Hp});var Fs={};ue(Fs,{down:()=>of,up:()=>Xp});var Ks={};ue(Ks,{down:()=>af,up:()=>sf});var $s={};ue($s,{down:()=>_f,up:()=>cf});var Gs={};ue(Gs,{down:()=>xf,up:()=>yf});var Us={};ue(Us,{down:()=>wf,up:()=>gf});var Vs={};ue(Vs,{down:()=>bf,up:()=>vf});var Qs={};ue(Qs,{down:()=>Ef,up:()=>Cf});var zs={};ue(zs,{down:()=>kf,up:()=>Tf});var Js={};ue(Js,{down:()=>Df,up:()=>Sf});var js={};ue(js,{down:()=>If,up:()=>Rf});var Hs={};ue(Hs,{down:()=>Lf,up:()=>Pf});var Ys={};ue(Ys,{down:()=>Bf,up:()=>Af});var Xs={};ue(Xs,{down:()=>qf,up:()=>Wf});var ea={};ue(ea,{down:()=>Kf,up:()=>Ff});var ta={};ue(ta,{down:()=>Gf,up:()=>$f});var ra={};ue(ra,{down:()=>Vf,up:()=>Uf});var ia={};ue(ia,{down:()=>zf,up:()=>Qf});var na={};ue(na,{down:()=>jf,up:()=>Jf});var oa={};ue(oa,{down:()=>Yf,up:()=>Hf});var sa={};ue(sa,{down:()=>Zf,up:()=>Xf});var aa={};ue(aa,{down:()=>th,up:()=>eh});var da={};ue(da,{down:()=>ih,up:()=>rh});var ua={};ue(ua,{down:()=>oh,up:()=>nh});var ca={};ue(ca,{down:()=>ah,up:()=>sh});var la={};ue(la,{down:()=>uh,up:()=>dh});var ma={};ue(ma,{down:()=>lh,up:()=>ch});var pa={};ue(pa,{down:()=>ph,up:()=>mh});var fa={};ue(fa,{down:()=>hh,up:()=>fh});var ha={};ue(ha,{down:()=>yh,up:()=>_h});var _a={};ue(_a,{down:()=>Nh,up:()=>xh});var ya={};ue(ya,{down:()=>wh,up:()=>gh});var xa={};ue(xa,{down:()=>bh,up:()=>vh});var Na={};ue(Na,{down:()=>Eh,up:()=>Ch});var ga={};ue(ga,{down:()=>kh,up:()=>Th});var wa={};ue(wa,{down:()=>Dh,up:()=>Sh});var va={};ue(va,{down:()=>Rh,up:()=>Oh});var ba={};ue(ba,{down:()=>Ph,up:()=>Ih});var Ca={};ue(Ca,{down:()=>Ah,up:()=>Lh});var Ea={};ue(Ea,{down:()=>Wh,up:()=>Bh});var ka={};ue(ka,{down:()=>qh,up:()=>Mh});var Sa={};ue(Sa,{down:()=>Kh,up:()=>Fh});var Da={};ue(Da,{down:()=>Gh,up:()=>$h});var Oa={};ue(Oa,{down:()=>Vh,up:()=>Uh});var Ra={};ue(Ra,{down:()=>zh,up:()=>Qh});var Ia={};ue(Ia,{down:()=>jh,up:()=>Jh});var Pa={};ue(Pa,{down:()=>Yh,up:()=>Hh});import{randomUUID as hc}from"crypto";class I2{next(){return hc()}}var B=new I2;function fo(n,o,s=B){return`${n}_${o.now()}_${s.next()}`}function ge(n){return typeof n>"u"||n===void 0}function w(n){return typeof n==="string"}function bt(n){return typeof n==="number"}function Ft(n){return typeof n==="boolean"}function Xt(n){return n===null}function $a(n){return n instanceof Date}function Zt(n){return typeof n==="bigint"}function W(n){return typeof n==="function"}function M(n){return typeof n==="object"&&n!==null}function Ga(n){return n[n.length-1]}function d(n){return Object.freeze(n)}function Ur(n){if(se(n))return n;else return[n]}function se(n){return Array.isArray(n)}function X(n){return n}function Ua(n){return n instanceof Error?n.message:String(n)}var E=d({is(n){return n.kind==="AlterTableNode"},create(n){return d({kind:"AlterTableNode",table:n})},cloneWithTableProps(n,o){return d({...n,...o})},cloneWithColumnAlteration(n,o){return d({...n,columnAlterations:n.columnAlterations?[...n.columnAlterations,o]:[o]})}});var ot=d({is(n){return n.kind==="IdentifierNode"},create(n){return d({kind:"IdentifierNode",name:n})}});var Pe=d({is(n){return n.kind==="CreateIndexNode"},create(n){return d({kind:"CreateIndexNode",name:ot.create(n)})},cloneWith(n,o){return d({...n,...o})},cloneWithColumns(n,o){return d({...n,columns:[...n.columns||[],...o]})}});var Ii=d({is(n){return n.kind==="CreateSchemaNode"},create(n,o){return d({kind:"CreateSchemaNode",schema:ot.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var Va=["preserve rows","delete rows","drop"],Z=d({is(n){return n.kind==="CreateTableNode"},create(n){return d({kind:"CreateTableNode",table:n,columns:d([])})},cloneWithColumn(n,o){return d({...n,columns:d([...n.columns,o])})},cloneWithConstraint(n,o){return d({...n,constraints:n.constraints?d([...n.constraints,o]):d([o])})},cloneWithIndex(n,o){return d({...n,indexes:n.indexes?d([...n.indexes,o]):d([o])})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):d([o])})},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):d([o])})},cloneWith(n,o){return d({...n,...o})}});var ae=d({is(n){return n.kind==="SchemableIdentifierNode"},create(n){return d({kind:"SchemableIdentifierNode",identifier:ot.create(n)})},createWithSchema(n,o){return d({kind:"SchemableIdentifierNode",schema:ot.create(n),identifier:ot.create(o)})}});var Ct=d({is(n){return n.kind==="DropIndexNode"},create(n,o){return d({kind:"DropIndexNode",name:ae.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var Vr=d({is(n){return n.kind==="DropSchemaNode"},create(n,o){return d({kind:"DropSchemaNode",schema:ot.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var er=d({is(n){return n.kind==="DropTableNode"},create(n,o){return d({kind:"DropTableNode",table:n,...o})},cloneWith(n,o){return d({...n,...o})}});var ks=d({is(n){return n.kind==="AliasNode"},create(n,o){return d({kind:"AliasNode",node:n,alias:o})}});var $c=d({is(n){return n.kind==="TableNode"},create(n){return d({kind:"TableNode",table:ae.create(n)})},createWithSchema(n,o){return d({kind:"TableNode",table:ae.createWithSchema(n,o)})}});function D(n){return M(n)&&W(n.toOperationNode)}function Pi(n){return M(n)&&"expressionType"in n&&D(n)}function za(n){return M(n)&&"expression"in n&&w(n.alias)&&D(n)}var Je=d({is(n){return n.kind==="SelectModifierNode"},create(n,o){return d({kind:"SelectModifierNode",modifier:n,of:o})},createWithExpression(n){return d({kind:"SelectModifierNode",rawModifier:n})}});var me=d({is(n){return n.kind==="AndNode"},create(n,o){return d({kind:"AndNode",left:n,right:o})}});var Le=d({is(n){return n.kind==="OrNode"},create(n,o){return d({kind:"OrNode",left:n,right:o})}});var Li=d({is(n){return n.kind==="OnNode"},create(n){return d({kind:"OnNode",on:n})},cloneWithOperation(n,o,s){return d({...n,on:o==="And"?me.create(n.on,s):Le.create(n.on,s)})}});var Ae=d({is(n){return n.kind==="JoinNode"},create(n,o){return d({kind:"JoinNode",joinType:n,table:o,on:void 0})},createWithOn(n,o,s){return d({kind:"JoinNode",joinType:n,table:o,on:Li.create(s)})},cloneWithOn(n,o){return d({...n,on:n.on?Li.cloneWithOperation(n.on,"And",o):Li.create(o)})}});var Et=d({is(n){return n.kind==="BinaryOperationNode"},create(n,o,s){return d({kind:"BinaryOperationNode",leftOperand:n,operator:o,rightOperand:s})}});var Ja=d({"=":!0,"==":!0,"!=":!0,"<>":!0,">":!0,">=":!0,"<":!0,"<=":!0,in:!0,"not in":!0,is:!0,"is not":!0,like:!0,"not like":!0,match:!0,ilike:!0,"not ilike":!0,"@>":!0,"<@":!0,"^@":!0,"&&":!0,"?":!0,"?&":!0,"?|":!0,"!<":!0,"!>":!0,"<=>":!0,"!~":!0,"~":!0,"~*":!0,"!~*":!0,"@@":!0,"@@@":!0,"!!":!0,"<->":!0,regexp:!0,"is distinct from":!0,"is not distinct from":!0}),dx=Object.keys(Ja),ja=d({"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"&":!0,"|":!0,"#":!0,"<<":!0,">>":!0}),ux=Object.keys(ja),Ha=d({"->":!0,"->>":!0}),_c=Object.keys(Ha),Ya=d({...Ja,...ja,"||":!0}),yc=Object.keys(Ya),Xa=d({exists:!0,"not exists":!0}),cx=Object.keys(Xa),ed=d({...Xa,"-":!0,not:!0}),xc=Object.keys(ed),lx=[...yc,..._c,...xc,"between","between symmetric"],we=d({is(n){return n.kind==="OperatorNode"},create(n){return d({kind:"OperatorNode",operator:n})}});function td(n){return w(n)&&Ya[n]}function rd(n){return w(n)&&Ha[n]}function id(n){return w(n)&&ed[n]}var nr=d({is(n){return n.kind==="ColumnNode"},create(n){return d({kind:"ColumnNode",column:ot.create(n)})}});var tr=d({is(n){return n.kind==="SelectAllNode"},create(){return d({kind:"SelectAllNode"})}});var zb=d({is(n){return n.kind==="ReferenceNode"},create(n,o){return d({kind:"ReferenceNode",table:o,column:n})},createSelectAll(n){return d({kind:"ReferenceNode",table:n,column:tr.create()})}});class In{#e;get dynamicReference(){return this.#e}get refType(){return}constructor(n){this.#e=n}toOperationNode(){return Pn(this.#e)}}function Ai(n){return M(n)&&D(n)&&w(n.dynamicReference)}var Be=d({is(n){return n.kind==="OrderByItemNode"},create(n,o){return d({kind:"OrderByItemNode",orderBy:n,direction:o})},cloneWith(n,o){return d({...n,...o})}});var k=d({is(n){return n.kind==="RawNode"},create(n,o){return d({kind:"RawNode",sqlFragments:d(n),parameters:d(o)})},createWithSql(n){return k.create([n],[])},createWithChild(n){return k.create(["",""],[n])},createWithChildren(n){return k.create(Array(n.length+1).fill(""),n)}});var nd=d({is(n){return n.kind==="CollateNode"},create(n){return d({kind:"CollateNode",collation:ot.create(n)})}});class Tt{#e;constructor(n){this.#e=d(n)}desc(){return new Tt({node:Be.cloneWith(this.#e.node,{direction:k.createWithSql("desc")})})}asc(){return new Tt({node:Be.cloneWith(this.#e.node,{direction:k.createWithSql("asc")})})}nullsLast(){return new Tt({node:Be.cloneWith(this.#e.node,{nulls:"last"})})}nullsFirst(){return new Tt({node:Be.cloneWith(this.#e.node,{nulls:"first"})})}collate(n){return new Tt({node:Be.cloneWith(this.#e.node,{collation:nd.create(n)})})}toOperationNode(){return this.#e.node}}var od=new Set;function rr(n){if(od.has(n))return;od.add(n),console.log(n)}function An(n){return n==="asc"||n==="desc"}function ve(n){if(n.length===2)return[Ln(n[0],n[1])];if(n.length===1){let[o]=n;if(Array.isArray(o))return rr("orderBy(array) is deprecated, use multiple orderBy calls instead."),o.map((s)=>Ln(s));return[Ln(o)]}throw Error(`Invalid number of arguments at order by! expected 1-2, received ${n.length}`)}function Ln(n,o){let s=Nc(n);if(Be.is(s)){if(o)throw Error("Cannot specify direction twice!");return s}return sd(s,o)}function Nc(n){if(ct(n))return ee(n);if(Ai(n))return n.toOperationNode();let[o,s]=n.split(" ");if(s)return rr("`orderBy('column asc')` is deprecated. Use `orderBy('column', 'asc')` instead."),sd(pe(o),s);return pe(n)}function sd(n,o){if(typeof o==="string"){if(!An(o))throw Error(`Invalid order by direction: ${o}`);return Be.create(n,k.createWithSql(o))}if(Pi(o))return rr("`orderBy(..., expr)` is deprecated. Use `orderBy(..., 'asc')` or `orderBy(..., (ob) => ...)` instead."),Be.create(n,o.toOperationNode());let s=Be.create(n);if(!o)return s;return o(new Tt({node:s})).toOperationNode()}var ir=d({is(n){return n.kind==="JSONReferenceNode"},create(n,o){return d({kind:"JSONReferenceNode",reference:n,traversal:o})},cloneWithTraversal(n,o){return d({...n,traversal:o})}});var Wi=d({is(n){return n.kind==="JSONOperatorChainNode"},create(n){return d({kind:"JSONOperatorChainNode",operator:n,values:d([])})},cloneWithValue(n,o){return d({...n,values:d([...n.values,o])})}});var St=d({is(n){return n.kind==="JSONPathNode"},create(n){return d({kind:"JSONPathNode",inOperator:n,pathLegs:d([])})},cloneWithLeg(n,o){return d({...n,pathLegs:d([...n.pathLegs,o])})}});function Pn(n){if(w(n))return pe(n);return n.toOperationNode()}function lt(n){if(se(n))return n.map((o)=>j(o));else return[j(n)]}function j(n){if(ct(n))return ee(n);return Pn(n)}function ad(n,o){if(rd(o))return ir.create(pe(n),Wi.create(we.create(o)));if(o==="->$"||o==="->>$")return ir.create(pe(n),St.create(we.create(o.slice(0,-1))));throw Error(`Invalid JSON operator: ${o}`)}function pe(n){if(!n.includes("."))return zb.create(nr.create(n));let s=n.split(".").map(Mn);if(s.length===3)return gc(s);if(s.length===2)return wc(s);throw Error(`invalid column reference ${n}`)}function dd(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Mn);return ks.create(pe(s),ot.create(a))}else return pe(n)}function Bn(n){return nr.create(n)}function or(n){if(n.includes(" ")){let[s,a]=n.split(" ").map(Mn);if(!An(a))throw Error(`invalid order direction "${a}" next to "${s}"`);return ve([s,a])[0]}else return Bn(n)}function gc(n){let[o,s,a]=n;return zb.create(nr.create(a),$c.createWithSchema(o,s))}function wc(n){let[o,s]=n;return zb.create(nr.create(s),$c.create(o))}function Mn(n){return n.trim()}var Mi=d({is(n){return n.kind==="PrimitiveValueListNode"},create(n){return d({kind:"PrimitiveValueListNode",values:d([...n])})}});var Dt=d({is(n){return n.kind==="ValueListNode"},create(n){return d({kind:"ValueListNode",values:d(n)})}});var Qn=d({is(n){return n.kind==="ValueNode"},create(n){return d({kind:"ValueNode",value:n})},createImmediate(n){return d({kind:"ValueNode",value:n,immediate:!0})}});function ud(n){if(se(n))return vc(n);return O(n)}function O(n){if(ct(n))return ee(n);return Qn.create(n)}function qi(n){return bt(n)||Ft(n)||Xt(n)}function Qr(n){if(!qi(n))throw Error(`unsafe immediate value ${JSON.stringify(n)}`);return Qn.createImmediate(n)}function vc(n){if(n.some(ct))return Dt.create(n.map((o)=>O(o)));return Mi.create(n)}var be=d({is(n){return n.kind==="ParensNode"},create(n){return d({kind:"ParensNode",node:n})}});function P(n){if(n.length===3)return Fi(n[0],n[1],n[2]);else if(n.length===1)return O(n[0]);throw Error(`invalid arguments: ${JSON.stringify(n)}`)}function Fi(n,o,s){if(bc(o)&&ld(s))return Et.create(j(n),qn(o),Qn.createImmediate(s));return Et.create(j(n),qn(o),ud(s))}function z(n,o,s){return Et.create(j(n),qn(o),j(s))}function Fn(n,o){return sr(Object.entries(n).filter(([,s])=>!ge(s)).map(([s,a])=>Fi(s,ld(a)?"is":"=",a)),o)}function sr(n,o,s=!0){let a=o==="and"?me.create:Le.create;if(n.length===0)return Et.create(Qn.createImmediate(1),we.create("="),Qn.createImmediate(o==="and"?1:0));let c=cd(n[0]);for(let m=1;m<n.length;++m)c=a(c,cd(n[m]));if(n.length>1&&s)return be.create(c);return c}function bc(n){return n==="is"||n==="is not"}function ld(n){return Xt(n)||Ft(n)}function qn(n){if(td(n))return we.create(n);if(D(n))return n.toOperationNode();throw Error(`invalid operator ${JSON.stringify(n)}`)}function cd(n){return D(n)?n.toOperationNode():n}var mt=d({is(n){return n.kind==="OrderByNode"},create(n){return d({kind:"OrderByNode",items:d([...n])})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var Kn=d({is(n){return n.kind==="PartitionByNode"},create(n){return d({kind:"PartitionByNode",items:d(n)})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var zr=d({is(n){return n.kind==="OverNode"},create(){return d({kind:"OverNode"})},cloneWithOrderByItems(n,o){return d({...n,orderBy:n.orderBy?mt.cloneWithItems(n.orderBy,o):mt.create(o)})},cloneWithPartitionByItems(n,o){return d({...n,partitionBy:n.partitionBy?Kn.cloneWithItems(n.partitionBy,o):Kn.create(o)})}});var Kt=d({is(n){return n.kind==="FromNode"},create(n){return d({kind:"FromNode",froms:d(n)})},cloneWithFroms(n,o){return d({...n,froms:d([...n.froms,...o])})}});var $n=d({is(n){return n.kind==="GroupByNode"},create(n){return d({kind:"GroupByNode",items:d(n)})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var Gn=d({is(n){return n.kind==="HavingNode"},create(n){return d({kind:"HavingNode",having:n})},cloneWithOperation(n,o,s){return d({...n,having:o==="And"?me.create(n.having,s):Le.create(n.having,s)})}});var K=d({is(n){return n.kind==="InsertQueryNode"},create(n,o,s){return d({kind:"InsertQueryNode",into:n,...o&&{with:o},replace:s})},createWithoutInto(){return d({kind:"InsertQueryNode"})},cloneWith(n,o){return d({...n,...o})}});var Ki=d({is(n){return n.kind==="ListNode"},create(n){return d({kind:"ListNode",items:d(n)})}});var je=d({is(n){return n.kind==="UpdateQueryNode"},create(n,o){return d({kind:"UpdateQueryNode",table:n.length===1?n[0]:Ki.create(n),...o&&{with:o}})},createWithoutTable(){return d({kind:"UpdateQueryNode"})},cloneWithFromItems(n,o){return d({...n,from:n.from?Kt.cloneWithFroms(n.from,o):Kt.create(o)})},cloneWithUpdates(n,o){return d({...n,updates:n.updates?d([...n.updates,...o]):o})},cloneWithLimit(n,o){return d({...n,limit:o})}});var Jr=d({is(n){return n.kind==="UsingNode"},create(n){return d({kind:"UsingNode",tables:d(n)})},cloneWithTables(n,o){return d({...n,tables:d([...n.tables,...o])})}});var Ot=d({is(n){return n.kind==="DeleteQueryNode"},create(n,o){return d({kind:"DeleteQueryNode",from:Kt.create(n),...o&&{with:o}})},cloneWithOrderByItems:(n,o)=>g.cloneWithOrderByItems(n,o),cloneWithoutOrderBy:(n)=>g.cloneWithoutOrderBy(n),cloneWithLimit(n,o){return d({...n,limit:o})},cloneWithoutLimit(n){return d({...n,limit:void 0})},cloneWithUsing(n,o){return d({...n,using:n.using!==void 0?Jr.cloneWithTables(n.using,o):Jr.create(o)})}});var ie=d({is(n){return n.kind==="WhereNode"},create(n){return d({kind:"WhereNode",where:n})},cloneWithOperation(n,o,s){return d({...n,where:o==="And"?me.create(n.where,s):Le.create(n.where,s)})}});var Un=d({is(n){return n.kind==="ReturningNode"},create(n){return d({kind:"ReturningNode",selections:d(n)})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})}});var md=d({is(n){return n.kind==="ExplainNode"},create(n,o){return d({kind:"ExplainNode",format:n,options:o})}});var fe=d({is(n){return n.kind==="WhenNode"},create(n){return d({kind:"WhenNode",condition:n})},cloneWithResult(n,o){return d({...n,result:o})}});var Ce=d({is(n){return n.kind==="MergeQueryNode"},create(n,o){return d({kind:"MergeQueryNode",into:n,...o&&{with:o}})},cloneWithUsing(n,o){return d({...n,using:o})},cloneWithWhen(n,o){return d({...n,whens:n.whens?d([...n.whens,o]):d([o])})},cloneWithThen(n,o){return d({...n,whens:n.whens?d([...n.whens.slice(0,-1),fe.cloneWithResult(n.whens[n.whens.length-1],o)]):void 0})}});var Vn=d({is(n){return n.kind==="OutputNode"},create(n){return d({kind:"OutputNode",selections:d(n)})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})}});var g=d({is(n){return S.is(n)||K.is(n)||je.is(n)||Ot.is(n)||Ce.is(n)},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):d([o])})},cloneWithWhere(n,o){return d({...n,where:n.where?ie.cloneWithOperation(n.where,"And",o):ie.create(o)})},cloneWithJoin(n,o){return d({...n,joins:n.joins?d([...n.joins,o]):d([o])})},cloneWithReturning(n,o){return d({...n,returning:n.returning?Un.cloneWithSelections(n.returning,o):Un.create(o)})},cloneWithoutReturning(n){return d({...n,returning:void 0})},cloneWithoutWhere(n){return d({...n,where:void 0})},cloneWithExplain(n,o,s){return d({...n,explain:md.create(o,s?.toOperationNode())})},cloneWithTop(n,o){return d({...n,top:o})},cloneWithOutput(n,o){return d({...n,output:n.output?Vn.cloneWithSelections(n.output,o):Vn.create(o)})},cloneWithOrderByItems(n,o){return d({...n,orderBy:n.orderBy?mt.cloneWithItems(n.orderBy,o):mt.create(o)})},cloneWithoutOrderBy(n){return d({...n,orderBy:void 0})}});var S=d({is(n){return n.kind==="SelectQueryNode"},create(n){return d({kind:"SelectQueryNode",...n&&{with:n}})},createFrom(n,o){return d({kind:"SelectQueryNode",from:Kt.create(n),...o&&{with:o}})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})},cloneWithDistinctOn(n,o){return d({...n,distinctOn:n.distinctOn?d([...n.distinctOn,...o]):d(o)})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):d([o])})},cloneWithOrderByItems:(n,o)=>g.cloneWithOrderByItems(n,o),cloneWithGroupByItems(n,o){return d({...n,groupBy:n.groupBy?$n.cloneWithItems(n.groupBy,o):$n.create(o)})},cloneWithLimit(n,o){return d({...n,limit:o})},cloneWithOffset(n,o){return d({...n,offset:o})},cloneWithFetch(n,o){return d({...n,fetch:o})},cloneWithHaving(n,o){return d({...n,having:n.having?Gn.cloneWithOperation(n.having,"And",o):Gn.create(o)})},cloneWithSetOperations(n,o){return d({...n,setOperations:n.setOperations?d([...n.setOperations,...o]):d([...o])})},cloneWithoutSelections(n){return d({...n,selections:[]})},cloneWithoutLimit(n){return d({...n,limit:void 0})},cloneWithoutOffset(n){return d({...n,offset:void 0})},cloneWithoutOrderBy:(n)=>g.cloneWithoutOrderBy(n),cloneWithoutGroupBy(n){return d({...n,groupBy:void 0})}});class ar{#e;constructor(n){this.#e=d(n)}on(...n){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,P(n))})}onRef(n,o,s){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,z(n,o,s))})}onTrue(){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,k.createWithSql("true"))})}$call(n){return n(this)}toOperationNode(){return this.#e.joinNode}}var pd=d({is(n){return n.kind==="PartitionByItemNode"},create(n){return d({kind:"PartitionByItemNode",partitionBy:n})}});function fd(n){return lt(n).map(pd.create)}class dr{#e;constructor(n){this.#e=d(n)}orderBy(...n){return new dr({overNode:zr.cloneWithOrderByItems(this.#e.overNode,ve(n))})}clearOrderBy(){return new dr({overNode:g.cloneWithoutOrderBy(this.#e.overNode)})}partitionBy(n){return new dr({overNode:zr.cloneWithPartitionByItems(this.#e.overNode,fd(n))})}$call(n){return n(this)}toOperationNode(){return this.#e.overNode}}var ur=d({is(n){return n.kind==="SelectionNode"},create(n){return d({kind:"SelectionNode",selection:n})},createSelectAll(){return d({kind:"SelectionNode",selection:tr.create()})},createSelectAllFromTable(n){return d({kind:"SelectionNode",selection:zb.createSelectAll(n)})}});function H(n){if(W(n))return H(n(We()));else if(se(n))return n.map((o)=>hd(o));else return[hd(n)]}function hd(n){if(w(n))return ur.create(dd(n));else if(Ai(n))return ur.create(n.toOperationNode());else return ur.create(Gi(n))}function te(n){if(!n)return[ur.createSelectAll()];else if(Array.isArray(n))return n.map(yd);else return[yd(n)]}function yd(n){if(w(n))return ur.createSelectAllFromTable(T(n));throw Error(`invalid value selectAll expression: ${JSON.stringify(n)}`)}var xd=d({is(n){return n.kind==="ValuesNode"},create(n){return d({kind:"ValuesNode",values:d(n)})}});var Nd=d({is(n){return n.kind==="DefaultInsertValueNode"},create(){return d({kind:"DefaultInsertValueNode"})}});function Ui(n){let o=W(n)?n(We()):n,s=se(o)?o:d([o]);return Cc(s)}function Cc(n){let o=Ec(n);return[d([...o.keys()].map(nr.create)),xd.create(n.map((s)=>Tc(s,o)))]}function Ec(n){let o=new Map;for(let s of n){let a=Object.keys(s);for(let c of a)if(!o.has(c)&&s[c]!==void 0)o.set(c,o.size)}return o}function Tc(n,o){let s=Object.keys(n),a=Array.from({length:o.size}),c=!1,m=s.length;for(let _ of s){let y=o.get(_);if(ge(y)){m--;continue}let x=n[_];if(ge(x)||ct(x))c=!0;a[y]=x}if(m<o.size||c){let _=Nd.create();return Dt.create(a.map((y)=>ge(y)?_:O(y)))}return Mi.create(a)}var zn=d({is(n){return n.kind==="ColumnUpdateNode"},create(n,o){return d({kind:"ColumnUpdateNode",column:n,value:o})}});function gd(...n){if(n.length===2)return[zn.create(j(n[0]),O(n[1]))];return Hr(n[0])}function Hr(n){let o=W(n)?n(We()):n;return Object.entries(o).filter(([s,a])=>a!==void 0).map(([s,a])=>zn.create(nr.create(s),O(a)))}var wd=d({is(n){return n.kind==="OnDuplicateKeyNode"},create(n){return d({kind:"OnDuplicateKeyNode",updates:n})}});class Jn{insertId;numInsertedOrUpdatedRows;constructor(n,o){this.insertId=n,this.numInsertedOrUpdatedRows=o}}class Me extends Error{node;constructor(n){super("no result");this.node=n}}function He(n){return Object.prototype.hasOwnProperty.call(n,"prototype")}var ce=d({is(n){return n.kind==="OnConflictNode"},create(){return d({kind:"OnConflictNode"})},cloneWith(n,o){return d({...n,...o})},cloneWithIndexWhere(n,o){return d({...n,indexWhere:n.indexWhere?ie.cloneWithOperation(n.indexWhere,"And",o):ie.create(o)})},cloneWithIndexOrWhere(n,o){return d({...n,indexWhere:n.indexWhere?ie.cloneWithOperation(n.indexWhere,"Or",o):ie.create(o)})},cloneWithUpdateWhere(n,o){return d({...n,updateWhere:n.updateWhere?ie.cloneWithOperation(n.updateWhere,"And",o):ie.create(o)})},cloneWithUpdateOrWhere(n,o){return d({...n,updateWhere:n.updateWhere?ie.cloneWithOperation(n.updateWhere,"Or",o):ie.create(o)})},cloneWithoutIndexWhere(n){return d({...n,indexWhere:void 0})},cloneWithoutUpdateWhere(n){return d({...n,updateWhere:void 0})}});class Ye{#e;constructor(n){this.#e=d(n)}column(n){let o=nr.create(n);return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?d([...this.#e.onConflictNode.columns,o]):d([o])})})}columns(n){let o=n.map(nr.create);return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?d([...this.#e.onConflictNode.columns,...o]):d(o)})})}constraint(n){return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{constraint:ot.create(n)})})}expression(n){return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{indexExpression:n.toOperationNode()})})}where(...n){return new Ye({...this.#e,onConflictNode:ce.cloneWithIndexWhere(this.#e.onConflictNode,P(n))})}whereRef(n,o,s){return new Ye({...this.#e,onConflictNode:ce.cloneWithIndexWhere(this.#e.onConflictNode,z(n,o,s))})}clearWhere(){return new Ye({...this.#e,onConflictNode:ce.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new vd({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(n){return new Yr({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{updates:Hr(n)})})}$call(n){return n(this)}}class vd{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.onConflictNode}}class Yr{#e;constructor(n){this.#e=d(n)}where(...n){return new Yr({...this.#e,onConflictNode:ce.cloneWithUpdateWhere(this.#e.onConflictNode,P(n))})}whereRef(n,o,s){return new Yr({...this.#e,onConflictNode:ce.cloneWithUpdateWhere(this.#e.onConflictNode,z(n,o,s))})}clearWhere(){return new Yr({...this.#e,onConflictNode:ce.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(n){return n(this)}toOperationNode(){return this.#e.onConflictNode}}var bd=d({is(n){return n.kind==="TopNode"},create(n,o){return d({kind:"TopNode",expression:n,modifiers:o})}});function qe(n,o){if(!bt(n)&&!Zt(n))throw Error(`Invalid top expression: ${n}`);if(!ge(o)&&!kc(o))throw Error(`Invalid top modifiers: ${o}`);return bd.create(n,o)}function kc(n){return n==="percent"||n==="with ties"||n==="percent with ties"}var $t=d({is(n){return n.kind==="OrActionNode"},create(n){return d({kind:"OrActionNode",action:n})}});class R{#e;constructor(n){this.#e=d(n)}values(n){let[o,s]=Ui(n);return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{columns:o,values:s})})}columns(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{columns:d(n.map(nr.create))})})}expression(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{values:ee(n)})})}defaultValues(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{defaultValues:!0})})}modifyEnd(n){return new R({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}ignore(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:$t.create("ignore")})})}orIgnore(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:$t.create("ignore")})})}orAbort(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:$t.create("abort")})})}orFail(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:$t.create("fail")})})}orReplace(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:$t.create("replace")})})}orRollback(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:$t.create("rollback")})})}top(n,o){return new R({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,qe(n,o))})}onConflict(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{onConflict:n(new Ye({onConflictNode:ce.create()})).toOperationNode()})})}onDuplicateKeyUpdate(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{onDuplicateKey:wd.create(Hr(n))})})}returning(n){return new R({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(){return new R({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te())})}output(n){return new R({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new R({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}clearReturning(){return new R({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new R({...this.#e})}$castTo(){return new R(this.#e)}$narrowType(){return new R(this.#e)}$assertType(){return new R(this.#e)}withPlugin(n){return new R({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new Jn(s.insertId,s.numAffectedRows??BigInt(0))]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??Me;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new R({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}class jn{numDeletedRows;constructor(n){this.numDeletedRows=n}}var cr=d({is(n){return n.kind==="LimitNode"},create(n){return d({kind:"LimitNode",limit:n})}});var G;class Vi{#e;constructor(n){this.#e=d(n)}where(...n){return new G({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new G({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new G({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new G({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,qe(n,o))})}using(n){return new G({...this.#e,queryNode:Ot.cloneWithUsing(this.#e.queryNode,Fe(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}#t(n,o){return new G({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}returning(n){return new G({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new G({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new G({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new G({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}clearReturning(){return new G({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new G({...this.#e,queryNode:Ot.cloneWithoutLimit(this.#e.queryNode)})}orderBy(...n){return new G({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}clearOrderBy(){return new G({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new G({...this.#e,queryNode:Ot.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}modifyEnd(n){return new G({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new G({...this.#e})}$castTo(){return new G(this.#e)}$narrowType(){return new G(this.#e)}$assertType(){return new G(this.#e)}withPlugin(n){return new G({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new jn(s.numAffectedRows??BigInt(0))]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??Me;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new G({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}G=Vi;class Hn{numUpdatedRows;numChangedRows;constructor(n,o){this.numUpdatedRows=n,this.numChangedRows=o}}var U;class lr{#e;constructor(n){this.#e=d(n)}where(...n){return new U({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new U({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new U({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new U({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,qe(n,o))})}from(n){return new U({...this.#e,queryNode:je.cloneWithFromItems(this.#e.queryNode,Fe(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}#t(n,o){return new U({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}orderBy(...n){return new U({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}clearOrderBy(){return new U({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new U({...this.#e,queryNode:je.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}set(...n){return new U({...this.#e,queryNode:je.cloneWithUpdates(this.#e.queryNode,gd(...n))})}returning(n){return new U({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new U({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new U({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new U({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}modifyEnd(n){return new U({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}clearReturning(){return new U({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new U({...this.#e})}$castTo(){return new U(this.#e)}$narrowType(){return new U(this.#e)}$assertType(){return new U(this.#e)}withPlugin(n){return new U({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new Hn(s.numAffectedRows??BigInt(0),s.numChangedRows)]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??Me;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new U({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}U=lr;var Yn=d({is(n){return n.kind==="CommonTableExpressionNameNode"},create(n,o){return d({kind:"CommonTableExpressionNameNode",table:$c.create(n),columns:o?d(o.map(nr.create)):void 0})}});var mr=d({is(n){return n.kind==="CommonTableExpressionNode"},create(n,o){return d({kind:"CommonTableExpressionNode",name:n,expression:o})},cloneWith(n,o){return d({...n,...o})}});class Xr{#e;constructor(n){this.#e=d(n)}materialized(){return new Xr({...this.#e,node:mr.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new Xr({...this.#e,node:mr.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}}function Xn(n,o){let s=D(o)?o.toOperationNode():o(Ed()).toOperationNode();if(W(n))return n(Sc(s)).toOperationNode();return mr.create(Cd(n),s)}function Sc(n){return(o)=>new Xr({node:mr.create(Cd(o),n)})}function Cd(n){if(n.includes("(")){let o=n.split(/[\(\)]/),s=o[0],a=o[1].split(",").map((c)=>c.trim());return Yn.create(s,a)}else return Yn.create(n)}var Zr=d({is(n){return n.kind==="WithNode"},create(n,o){return d({kind:"WithNode",expressions:d([n]),...o})},cloneWithExpression(n,o){return d({...n,expressions:d([...n.expressions,o])})}});var Td=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"];function kd(n){let o="";for(let s=0;s<n;++s)o+=Dc();return o}function Dc(){return Td[~~(Math.random()*Td.length)]}function b(){return new Sd}class Sd{#e;get queryId(){if(this.#e===void 0)this.#e=kd(8);return this.#e}}class ri{nodeStack=[];#e=d({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),RenameConstraintNode:this.transformRenameConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),RefreshMaterializedViewNode:this.transformRefreshMaterializedView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this),OrActionNode:this.transformOrAction.bind(this),CollateNode:this.transformCollate.bind(this),AlterTypeNode:this.transformAlterType.bind(this),AddValueNode:this.transformAddValue.bind(this),RenameValueNode:this.transformRenameValue.bind(this)});transformNode(n,o){if(!n)return n;this.nodeStack.push(n);let s=this.transformNodeImpl(n,o);return this.nodeStack.pop(),d(s)}transformNodeImpl(n,o){return this.#e[n.kind](n,o)}transformNodeList(n,o){if(!n)return n;return d(n.map((s)=>this.transformNode(s,o)))}transformSelectQuery(n,o){return{kind:"SelectQueryNode",from:this.transformNode(n.from,o),selections:this.transformNodeList(n.selections,o),distinctOn:this.transformNodeList(n.distinctOn,o),joins:this.transformNodeList(n.joins,o),groupBy:this.transformNode(n.groupBy,o),orderBy:this.transformNode(n.orderBy,o),where:this.transformNode(n.where,o),frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),limit:this.transformNode(n.limit,o),offset:this.transformNode(n.offset,o),with:this.transformNode(n.with,o),having:this.transformNode(n.having,o),explain:this.transformNode(n.explain,o),setOperations:this.transformNodeList(n.setOperations,o),fetch:this.transformNode(n.fetch,o),top:this.transformNode(n.top,o)}}transformSelection(n,o){return{kind:"SelectionNode",selection:this.transformNode(n.selection,o)}}transformColumn(n,o){return{kind:"ColumnNode",column:this.transformNode(n.column,o)}}transformAlias(n,o){return{kind:"AliasNode",node:this.transformNode(n.node,o),alias:this.transformNode(n.alias,o)}}transformTable(n,o){return{kind:"TableNode",table:this.transformNode(n.table,o)}}transformFrom(n,o){return{kind:"FromNode",froms:this.transformNodeList(n.froms,o)}}transformReference(n,o){return{kind:"ReferenceNode",column:this.transformNode(n.column,o),table:this.transformNode(n.table,o)}}transformAnd(n,o){return{kind:"AndNode",left:this.transformNode(n.left,o),right:this.transformNode(n.right,o)}}transformOr(n,o){return{kind:"OrNode",left:this.transformNode(n.left,o),right:this.transformNode(n.right,o)}}transformValueList(n,o){return{kind:"ValueListNode",values:this.transformNodeList(n.values,o)}}transformParens(n,o){return{kind:"ParensNode",node:this.transformNode(n.node,o)}}transformJoin(n,o){return{kind:"JoinNode",joinType:n.joinType,table:this.transformNode(n.table,o),on:this.transformNode(n.on,o)}}transformRaw(n,o){return{kind:"RawNode",sqlFragments:d([...n.sqlFragments]),parameters:this.transformNodeList(n.parameters,o)}}transformWhere(n,o){return{kind:"WhereNode",where:this.transformNode(n.where,o)}}transformInsertQuery(n,o){return{kind:"InsertQueryNode",into:this.transformNode(n.into,o),columns:this.transformNodeList(n.columns,o),values:this.transformNode(n.values,o),returning:this.transformNode(n.returning,o),onConflict:this.transformNode(n.onConflict,o),onDuplicateKey:this.transformNode(n.onDuplicateKey,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),orAction:this.transformNode(n.orAction,o),replace:n.replace,explain:this.transformNode(n.explain,o),defaultValues:n.defaultValues,top:this.transformNode(n.top,o),output:this.transformNode(n.output,o)}}transformValues(n,o){return{kind:"ValuesNode",values:this.transformNodeList(n.values,o)}}transformDeleteQuery(n,o){return{kind:"DeleteQueryNode",from:this.transformNode(n.from,o),using:this.transformNode(n.using,o),joins:this.transformNodeList(n.joins,o),where:this.transformNode(n.where,o),returning:this.transformNode(n.returning,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),orderBy:this.transformNode(n.orderBy,o),limit:this.transformNode(n.limit,o),explain:this.transformNode(n.explain,o),top:this.transformNode(n.top,o),output:this.transformNode(n.output,o)}}transformReturning(n,o){return{kind:"ReturningNode",selections:this.transformNodeList(n.selections,o)}}transformCreateTable(n,o){return{kind:"CreateTableNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),constraints:this.transformNodeList(n.constraints,o),indexes:this.transformNodeList(n.indexes,o),temporary:n.temporary,ifNotExists:n.ifNotExists,onCommit:n.onCommit,frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),selectQuery:this.transformNode(n.selectQuery,o)}}transformColumnDefinition(n,o){return{kind:"ColumnDefinitionNode",column:this.transformNode(n.column,o),dataType:this.transformNode(n.dataType,o),references:this.transformNode(n.references,o),primaryKey:n.primaryKey,autoIncrement:n.autoIncrement,unique:n.unique,notNull:n.notNull,unsigned:n.unsigned,defaultTo:this.transformNode(n.defaultTo,o),check:this.transformNode(n.check,o),generated:this.transformNode(n.generated,o),frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),nullsNotDistinct:n.nullsNotDistinct,identity:n.identity,ifNotExists:n.ifNotExists}}transformAddColumn(n,o){return{kind:"AddColumnNode",column:this.transformNode(n.column,o)}}transformDropTable(n,o){return{kind:"DropTableNode",table:this.transformNode(n.table,o),ifExists:n.ifExists,cascade:n.cascade,temporary:n.temporary}}transformOrderBy(n,o){return{kind:"OrderByNode",items:this.transformNodeList(n.items,o)}}transformOrderByItem(n,o){return{kind:"OrderByItemNode",orderBy:this.transformNode(n.orderBy,o),direction:this.transformNode(n.direction,o),collation:this.transformNode(n.collation,o),nulls:n.nulls}}transformGroupBy(n,o){return{kind:"GroupByNode",items:this.transformNodeList(n.items,o)}}transformGroupByItem(n,o){return{kind:"GroupByItemNode",groupBy:this.transformNode(n.groupBy,o)}}transformUpdateQuery(n,o){return{kind:"UpdateQueryNode",table:this.transformNode(n.table,o),from:this.transformNode(n.from,o),joins:this.transformNodeList(n.joins,o),where:this.transformNode(n.where,o),updates:this.transformNodeList(n.updates,o),returning:this.transformNode(n.returning,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),explain:this.transformNode(n.explain,o),limit:this.transformNode(n.limit,o),top:this.transformNode(n.top,o),output:this.transformNode(n.output,o),orderBy:this.transformNode(n.orderBy,o)}}transformColumnUpdate(n,o){return{kind:"ColumnUpdateNode",column:this.transformNode(n.column,o),value:this.transformNode(n.value,o)}}transformLimit(n,o){return{kind:"LimitNode",limit:this.transformNode(n.limit,o)}}transformOffset(n,o){return{kind:"OffsetNode",offset:this.transformNode(n.offset,o)}}transformOnConflict(n,o){return{kind:"OnConflictNode",columns:this.transformNodeList(n.columns,o),constraint:this.transformNode(n.constraint,o),indexExpression:this.transformNode(n.indexExpression,o),indexWhere:this.transformNode(n.indexWhere,o),updates:this.transformNodeList(n.updates,o),updateWhere:this.transformNode(n.updateWhere,o),doNothing:n.doNothing}}transformOnDuplicateKey(n,o){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(n.updates,o)}}transformCreateIndex(n,o){return{kind:"CreateIndexNode",name:this.transformNode(n.name,o),table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),unique:n.unique,using:this.transformNode(n.using,o),ifNotExists:n.ifNotExists,where:this.transformNode(n.where,o),nullsNotDistinct:n.nullsNotDistinct}}transformList(n,o){return{kind:"ListNode",items:this.transformNodeList(n.items,o)}}transformDropIndex(n,o){return{kind:"DropIndexNode",name:this.transformNode(n.name,o),table:this.transformNode(n.table,o),ifExists:n.ifExists,cascade:n.cascade}}transformPrimaryKeyConstraint(n,o){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(n.columns,o),name:this.transformNode(n.name,o),deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformUniqueConstraint(n,o){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(n.columns,o),name:this.transformNode(n.name,o),nullsNotDistinct:n.nullsNotDistinct,deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformForeignKeyConstraint(n,o){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(n.columns,o),references:this.transformNode(n.references,o),name:this.transformNode(n.name,o),onDelete:n.onDelete,onUpdate:n.onUpdate,deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformSetOperation(n,o){return{kind:"SetOperationNode",operator:n.operator,expression:this.transformNode(n.expression,o),all:n.all}}transformReferences(n,o){return{kind:"ReferencesNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),onDelete:n.onDelete,onUpdate:n.onUpdate}}transformCheckConstraint(n,o){return{kind:"CheckConstraintNode",expression:this.transformNode(n.expression,o),name:this.transformNode(n.name,o)}}transformWith(n,o){return{kind:"WithNode",expressions:this.transformNodeList(n.expressions,o),recursive:n.recursive}}transformCommonTableExpression(n,o){return{kind:"CommonTableExpressionNode",name:this.transformNode(n.name,o),materialized:n.materialized,expression:this.transformNode(n.expression,o)}}transformCommonTableExpressionName(n,o){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o)}}transformHaving(n,o){return{kind:"HavingNode",having:this.transformNode(n.having,o)}}transformCreateSchema(n,o){return{kind:"CreateSchemaNode",schema:this.transformNode(n.schema,o),ifNotExists:n.ifNotExists}}transformDropSchema(n,o){return{kind:"DropSchemaNode",schema:this.transformNode(n.schema,o),ifExists:n.ifExists,cascade:n.cascade}}transformAlterTable(n,o){return{kind:"AlterTableNode",table:this.transformNode(n.table,o),renameTo:this.transformNode(n.renameTo,o),setSchema:this.transformNode(n.setSchema,o),columnAlterations:this.transformNodeList(n.columnAlterations,o),addConstraint:this.transformNode(n.addConstraint,o),dropConstraint:this.transformNode(n.dropConstraint,o),renameConstraint:this.transformNode(n.renameConstraint,o),addIndex:this.transformNode(n.addIndex,o),dropIndex:this.transformNode(n.dropIndex,o)}}transformDropColumn(n,o){return{kind:"DropColumnNode",column:this.transformNode(n.column,o),ifExists:n.ifExists}}transformRenameColumn(n,o){return{kind:"RenameColumnNode",column:this.transformNode(n.column,o),renameTo:this.transformNode(n.renameTo,o)}}transformAlterColumn(n,o){return{kind:"AlterColumnNode",column:this.transformNode(n.column,o),dataType:this.transformNode(n.dataType,o),dataTypeExpression:this.transformNode(n.dataTypeExpression,o),setDefault:this.transformNode(n.setDefault,o),dropDefault:n.dropDefault,setNotNull:n.setNotNull,dropNotNull:n.dropNotNull}}transformModifyColumn(n,o){return{kind:"ModifyColumnNode",column:this.transformNode(n.column,o)}}transformAddConstraint(n,o){return{kind:"AddConstraintNode",constraint:this.transformNode(n.constraint,o)}}transformDropConstraint(n,o){return{kind:"DropConstraintNode",constraintName:this.transformNode(n.constraintName,o),ifExists:n.ifExists,modifier:n.modifier}}transformRenameConstraint(n,o){return{kind:"RenameConstraintNode",oldName:this.transformNode(n.oldName,o),newName:this.transformNode(n.newName,o)}}transformCreateView(n,o){return{kind:"CreateViewNode",name:this.transformNode(n.name,o),temporary:n.temporary,orReplace:n.orReplace,ifNotExists:n.ifNotExists,materialized:n.materialized,columns:this.transformNodeList(n.columns,o),as:this.transformNode(n.as,o)}}transformRefreshMaterializedView(n,o){return{kind:"RefreshMaterializedViewNode",name:this.transformNode(n.name,o),concurrently:n.concurrently,withNoData:n.withNoData}}transformDropView(n,o){return{kind:"DropViewNode",name:this.transformNode(n.name,o),ifExists:n.ifExists,materialized:n.materialized,cascade:n.cascade}}transformGenerated(n,o){return{kind:"GeneratedNode",byDefault:n.byDefault,always:n.always,identity:n.identity,stored:n.stored,expression:this.transformNode(n.expression,o)}}transformDefaultValue(n,o){return{kind:"DefaultValueNode",defaultValue:this.transformNode(n.defaultValue,o)}}transformOn(n,o){return{kind:"OnNode",on:this.transformNode(n.on,o)}}transformSelectModifier(n,o){return{kind:"SelectModifierNode",modifier:n.modifier,rawModifier:this.transformNode(n.rawModifier,o),of:this.transformNodeList(n.of,o)}}transformCreateType(n,o){return{kind:"CreateTypeNode",name:this.transformNode(n.name,o),enum:this.transformNode(n.enum,o)}}transformDropType(n,o){return{kind:"DropTypeNode",name:this.transformNode(n.name,o),additionalNames:this.transformNodeList(n.additionalNames,o),cascade:n.cascade,ifExists:n.ifExists}}transformExplain(n,o){return{kind:"ExplainNode",format:n.format,options:this.transformNode(n.options,o)}}transformSchemableIdentifier(n,o){return{kind:"SchemableIdentifierNode",schema:this.transformNode(n.schema,o),identifier:this.transformNode(n.identifier,o)}}transformAggregateFunction(n,o){return{kind:"AggregateFunctionNode",func:n.func,aggregated:this.transformNodeList(n.aggregated,o),distinct:n.distinct,orderBy:this.transformNode(n.orderBy,o),withinGroup:this.transformNode(n.withinGroup,o),filter:this.transformNode(n.filter,o),over:this.transformNode(n.over,o)}}transformOver(n,o){return{kind:"OverNode",orderBy:this.transformNode(n.orderBy,o),partitionBy:this.transformNode(n.partitionBy,o)}}transformPartitionBy(n,o){return{kind:"PartitionByNode",items:this.transformNodeList(n.items,o)}}transformPartitionByItem(n,o){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(n.partitionBy,o)}}transformBinaryOperation(n,o){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(n.leftOperand,o),operator:this.transformNode(n.operator,o),rightOperand:this.transformNode(n.rightOperand,o)}}transformUnaryOperation(n,o){return{kind:"UnaryOperationNode",operator:this.transformNode(n.operator,o),operand:this.transformNode(n.operand,o)}}transformUsing(n,o){return{kind:"UsingNode",tables:this.transformNodeList(n.tables,o)}}transformFunction(n,o){return{kind:"FunctionNode",func:n.func,arguments:this.transformNodeList(n.arguments,o)}}transformCase(n,o){return{kind:"CaseNode",value:this.transformNode(n.value,o),when:this.transformNodeList(n.when,o),else:this.transformNode(n.else,o),isStatement:n.isStatement}}transformWhen(n,o){return{kind:"WhenNode",condition:this.transformNode(n.condition,o),result:this.transformNode(n.result,o)}}transformJSONReference(n,o){return{kind:"JSONReferenceNode",reference:this.transformNode(n.reference,o),traversal:this.transformNode(n.traversal,o)}}transformJSONPath(n,o){return{kind:"JSONPathNode",inOperator:this.transformNode(n.inOperator,o),pathLegs:this.transformNodeList(n.pathLegs,o)}}transformJSONPathLeg(n,o){return{kind:"JSONPathLegNode",type:n.type,value:n.value}}transformJSONOperatorChain(n,o){return{kind:"JSONOperatorChainNode",operator:this.transformNode(n.operator,o),values:this.transformNodeList(n.values,o)}}transformTuple(n,o){return{kind:"TupleNode",values:this.transformNodeList(n.values,o)}}transformMergeQuery(n,o){return{kind:"MergeQueryNode",into:this.transformNode(n.into,o),using:this.transformNode(n.using,o),whens:this.transformNodeList(n.whens,o),with:this.transformNode(n.with,o),top:this.transformNode(n.top,o),endModifiers:this.transformNodeList(n.endModifiers,o),output:this.transformNode(n.output,o),returning:this.transformNode(n.returning,o)}}transformMatched(n,o){return{kind:"MatchedNode",not:n.not,bySource:n.bySource}}transformAddIndex(n,o){return{kind:"AddIndexNode",name:this.transformNode(n.name,o),columns:this.transformNodeList(n.columns,o),unique:n.unique,using:this.transformNode(n.using,o),ifNotExists:n.ifNotExists}}transformCast(n,o){return{kind:"CastNode",expression:this.transformNode(n.expression,o),dataType:this.transformNode(n.dataType,o)}}transformFetch(n,o){return{kind:"FetchNode",rowCount:this.transformNode(n.rowCount,o),modifier:n.modifier}}transformTop(n,o){return{kind:"TopNode",expression:n.expression,modifiers:n.modifiers}}transformOutput(n,o){return{kind:"OutputNode",selections:this.transformNodeList(n.selections,o)}}transformAlterType(n,o){return{kind:"AlterTypeNode",name:this.transformNode(n.name,o),addValue:this.transformNode(n.addValue,o),renameTo:this.transformNode(n.renameTo,o),renameValue:this.transformNode(n.renameValue,o),setSchema:this.transformNode(n.setSchema,o)}}transformAddValue(n,o){return{kind:"AddValueNode",value:this.transformNode(n.value,o),ifNotExists:n.ifNotExists,isBefore:n.isBefore,neighborValue:this.transformNode(n.neighborValue,o)}}transformRenameValue(n,o){return{kind:"RenameValueNode",oldValue:this.transformNode(n.oldValue,o),newValue:this.transformNode(n.newValue,o)}}transformDataType(n,o){return n}transformSelectAll(n,o){return n}transformIdentifier(n,o){return n}transformValue(n,o){return n}transformPrimitiveValueList(n,o){return n}transformOperator(n,o){return n}transformDefaultInsertValue(n,o){return n}transformOrAction(n,o){return n}transformCollate(n,o){return n}}function Dd(n){return M(n)&&w(n.kind)}var Oc={AlterTableNode:!0,AlterTypeNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,RefreshMaterializedViewNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0};function Od(n){return Dd(n)&&Oc[n.kind]===!0}var Rc=d({json_agg:!0,to_json:!0});class Zn extends ri{#e;#t=new Set;#r=new Set;constructor(n){super();this.#e=n}transformNodeImpl(n,o){if(!Od(n))return super.transformNodeImpl(n,o);let s=this.#a(n);for(let m of s)this.#r.add(m);let a=this.#o(n);for(let m of a)this.#t.add(m);let c=super.transformNodeImpl(n,o);for(let m of a)this.#t.delete(m);for(let m of s)this.#r.delete(m);return c}transformSchemableIdentifier(n,o){let s=super.transformSchemableIdentifier(n,o);if(s.schema||!this.#t.has(n.identifier.name))return s;return{...s,schema:ot.create(this.#e)}}transformReferences(n,o){let s=super.transformReferences(n,o);if(s.table.table.schema)return s;return{...s,table:$c.createWithSchema(this.#e,s.table.table.identifier.name)}}transformAggregateFunction(n,o){return{...super.transformAggregateFunction({...n,aggregated:[]},o),aggregated:this.#i(n,o,"aggregated")}}transformFunction(n,o){return{...super.transformFunction({...n,arguments:[]},o),arguments:this.#i(n,o,"arguments")}}transformSelectModifier(n,o){return{...super.transformSelectModifier({...n,of:void 0},o),of:n.of?.map((s)=>$c.is(s)&&!s.table.schema?{...s,table:this.transformIdentifier(s.table.identifier,o)}:this.transformNode(s,o))}}#i(n,o,s){return Rc[n.func]?n[s].map((a)=>!$c.is(a)||a.table.schema?this.transformNode(a,o):{...a,table:this.transformIdentifier(a.table.identifier,o)}):this.transformNodeList(n[s],o)}#o(n){let o=new Set;if("name"in n&&n.name&&ae.is(n.name))this.#s(n.name,o);if("from"in n&&n.from)for(let s of n.from.froms)this.#n(s,o);if("into"in n&&n.into)this.#n(n.into,o);if("table"in n&&n.table)this.#n(n.table,o);if("joins"in n&&n.joins)for(let s of n.joins)this.#n(s.table,o);if("using"in n&&n.using)if(Ae.is(n.using))this.#n(n.using.table,o);else this.#n(n.using,o);return o}#a(n){let o=new Set;if("with"in n&&n.with)this.#c(n.with,o);return o}#n(n,o){if($c.is(n))return this.#s(n.table,o);if(ks.is(n)&&$c.is(n.node))return this.#s(n.node.table,o);if(Ki.is(n)){for(let s of n.items)this.#n(s,o);return}if(Jr.is(n)){for(let s of n.tables)this.#n(s,o);return}}#s(n,o){let s=n.identifier.name;if(!this.#t.has(s)&&!this.#r.has(s))o.add(s)}#c(n,o){for(let s of n.expressions){let a=s.name.table.table.identifier.name;if(!this.#r.has(a))o.add(a)}}}class Ke{#e;constructor(n){this.#e=new Zn(n)}transformQuery(n){return this.#e.transformNode(n.node,n.queryId)}async transformResult(n){return n.result}}var Rd=d({is(n){return n.kind==="MatchedNode"},create(n,o=!1){return d({kind:"MatchedNode",not:n,bySource:o})}});function eo(n,o,s){return fe.create(sr([Rd.create(!n.isMatched,n.bySource),...o&&o.length>0?[o.length===3&&s?z(o[0],o[1],o[2]):P(o)]:[]],"and",!1))}function pr(n){if(w(n))return k.create([n],[]);if(D(n))return n.toOperationNode();return n}class pt{#e;#t;#r;constructor(){this.#e=new Promise((n,o)=>{this.#r=o,this.#t=n})}get promise(){return this.#e}resolve=(n)=>{this.#t?.(n),this.#t=this.#r=void 0};reject=(n)=>{this.#r?.(n),this.#r=this.#t=void 0}}async function fr(n,o){let s=new pt,a=new pt;return n.provideConnection(async(c)=>(s.resolve(c),await a.promise),o).catch((c)=>s.reject(c)),d({connection:await s.promise,release:a.resolve})}function Pd(n="ignore query",o,s){if(n==="ignore query")return;if(n==="cancel query"){let a=o.cancelQuery;if(!a)s(),Id(n,o.killSession?"kill session":void 0);return a.bind(o)}if(n==="kill session"){let a=o.killSession;if(!a)s(),Id(n,o.cancelQuery?"cancel query":void 0);return a.bind(o)}throw s(),Error(`Unexpected \`inflightQueryAbortStrategy\`: "${n}"`)}function Id(n,o){throw Error(`This dialect doesn't support \`inflightQueryAbortStrategy\` "${n}". Use "ignore query"${o?` or "${o}"`:""} instead.`)}function ft(n,o,s){if(n?.aborted)s?.(),It(n.reason,o)}function It(n,o){throw Ic(n,o),n}var Ee={};async function hr(n,o,s,a){if(!o)return n;ft(o,`before ${s}`,a);let{promise:c,resolve:m}=new pt,p=()=>m(Ee);o.addEventListener("abort",p);try{ft(o,`before ${s}`,a);let _=await Promise.race([n,c]);if(_!==Ee)return _;a?.(),It(o.reason,`during ${s}`)}finally{o.removeEventListener("abort",p),m(Ee)}}function Xe(n){return(o)=>console.error(`\`${n}\` failed in the background after abortion: ${Ua(o)}`)}function Ic(n,o){if(n!==null&&typeof n==="object"&&!Object.isFrozen(n))Object.defineProperty(n,"__kysely_timing__",{configurable:!0,enumerable:!1,value:o,writable:!1})}var Pc=d([]);class ii{#e;constructor(n=Pc){this.#e=n}get plugins(){return this.#e}transformQuery(n,o){for(let s of this.#e){let a=s.transformQuery({node:n,queryId:o});if(a.kind===n.kind)n=a;else throw Error(["KyselyPlugin.transformQuery must return a node","of the same kind that was given to it.",`The plugin was given a ${n.kind}`,`but it returned a ${a.kind}`].join(" "))}return n}async executeQuery(n,o){let{inflightQueryAbortStrategy:s="ignore query",signal:a}=o||{};if(!a){let N=await this.provideConnection(async(C)=>await C.executeQuery(n),o);return await this.#t(N,n.queryId)}ft(a,"before query execution"),o=d({signal:a});let{connection:c,release:m}=await fr(this,o),p=this.provideConnection.bind(this),{promise:_,resolve:y}=new pt,x=()=>y(Ee);a.addEventListener("abort",x,{once:!0});try{ft(a,"before query execution",m);let N=Pd(s,c,m);if(N&&c.collectSessionInfo){ft(a,"before query execution",m);let ut=c.collectSessionInfo();if(await Promise.race([_,ut]).catch((fc)=>{throw m(),fc})===Ee)ut.catch(Xe("collectSessionInfo")).finally(m),It(a.reason,"before query execution")}let C=c.executeQuery(n,o),V=await Promise.race([_,C]).catch((ut)=>{throw m(),ut});if(V===Ee)Promise.allSettled([C.catch(Xe("query")),N?.(p).catch(Xe("inflightQueryAbortHandler"))]).finally(m),It(a.reason,"during query execution");else m();let re=this.#t(V,n.queryId,o),de=await Promise.race([_,re]);if(de===Ee)re.catch(Xe("plugins.transformResult")),It(a.reason,"during result transformation");return de}finally{y(Ee),a.removeEventListener("abort",x)}}async*stream(n,o,s){let{signal:a}=s||{};if(!a){let{connection:V,release:re}=await fr(this);try{for await(let de of V.streamQuery(n,o))yield await this.#t(de,n.queryId,s)}finally{re()}return}s=d({signal:a}),ft(a,"before connection acquisition");let{connection:c,release:m}=await fr(this,s),{promise:p,resolve:_}=new pt,y=()=>_(Ee);a.addEventListener("abort",y,{once:!0});let x,N;ft(a,"before query streaming",m);let{queryId:C}=n;try{x=c.streamQuery(n,o,s);while(!0){ft(a,"during query streaming");let V=x.next(),re=await Promise.race([p,V]);if(re===Ee)N=V.catch(Xe("iterator.next")),It(a.reason,"during query streaming");if(re.done)break;let de=this.#t(re.value,C,s),ut=await Promise.race([p,de]);if(ut===Ee)N=de.catch(Xe("plugins.transformResult")),It(a.reason,"during result transformation");yield ut}}finally{_(Ee),a.removeEventListener("abort",y);let V=(x?.return?.()||Promise.resolve()).finally(()=>N).finally(m);if(!N)await V}}async#t(n,o,s){let{signal:a}=s||{};for(let c of this.#e)n=await c.transformResult(d({queryId:o,result:n,signal:a}));return n}}class _r extends ii{get adapter(){throw Error("this query cannot be compiled to SQL")}compileQuery(){throw Error("this query cannot be compiled to SQL")}provideConnection(){throw Error("this query cannot be executed")}withConnectionProvider(){throw Error("this query cannot have a connection provider")}withPlugin(n){return new _r([...this.plugins,n])}withPlugins(n){return new _r([...this.plugins,...n])}withPluginAtFront(n){return new _r([n,...this.plugins])}withoutPlugins(){return new _r([])}}var Lt=new _r;class to{numChangedRows;constructor(n){this.numChangedRows=n}}class ht{#e;constructor(n){this.#e=d(n)}modifyEnd(n){return new ht({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new ht({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,qe(n,o))})}using(...n){return new he({...this.#e,queryNode:Ce.cloneWithUsing(this.#e.queryNode,Rt("Using",n))})}returning(n){return new ht({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new ht({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new ht({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new ht({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}}class he{#e;constructor(n){this.#e=d(n)}modifyEnd(n){return new he({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new he({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,qe(n,o))})}whenMatched(){return this.#t([])}whenMatchedAnd(...n){return this.#t(n)}whenMatchedAndRef(n,o,s){return this.#t([n,o,s],!0)}#t(n,o){return new ro({...this.#e,queryNode:Ce.cloneWithWhen(this.#e.queryNode,eo({isMatched:!0},n,o))})}whenNotMatched(){return this.#r([])}whenNotMatchedAnd(...n){return this.#r(n)}whenNotMatchedAndRef(n,o,s){return this.#r([n,o,s],!0)}whenNotMatchedBySource(){return this.#r([],!1,!0)}whenNotMatchedBySourceAnd(...n){return this.#r(n,!1,!0)}whenNotMatchedBySourceAndRef(n,o,s){return this.#r([n,o,s],!0,!0)}returning(n){return new he({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new he({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new he({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new he({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}#r(n,o=!1,s=!1){let a={...this.#e,queryNode:Ce.cloneWithWhen(this.#e.queryNode,eo({isMatched:!1,bySource:s},n,o))};return new(s?ro:Ld)(a)}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new he({...this.#e})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new to(s.numAffectedRows)]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??Me;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}}class ro{#e;constructor(n){this.#e=d(n)}thenDelete(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("delete"))})}thenDoNothing(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenUpdate(n){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr(n(new lr({queryId:this.#e.queryId,executor:Lt,queryNode:je.createWithoutTable()}))))})}thenUpdateSet(...n){return this.thenUpdate((o)=>o.set(...n))}}class Ld{#e;constructor(n){this.#e=d(n)}thenDoNothing(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenInsertValues(n){let[o,s]=Ui(n);return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr(K.cloneWith(K.createWithoutInto(),{columns:o,values:s})))})}}class Ze{#e;constructor(n){this.#e=d(n)}selectFrom(n){return ni({queryId:b(),executor:this.#e.executor,queryNode:S.createFrom(Fe(n),this.#e.withNode)})}selectNoFrom(n){return ni({queryId:b(),executor:this.#e.executor,queryNode:S.cloneWithSelections(S.create(this.#e.withNode),H(n))})}insertInto(n){return new R({queryId:b(),executor:this.#e.executor,queryNode:K.create(T(n),this.#e.withNode)})}replaceInto(n){return new R({queryId:b(),executor:this.#e.executor,queryNode:K.create(T(n),this.#e.withNode,!0)})}deleteFrom(n){return new Vi({queryId:b(),executor:this.#e.executor,queryNode:Ot.create(Fe(n),this.#e.withNode)})}updateTable(n){return new lr({queryId:b(),executor:this.#e.executor,queryNode:je.create(Fe(n),this.#e.withNode)})}mergeInto(n){return new ht({queryId:b(),executor:this.#e.executor,queryNode:Ce.create(io(n),this.#e.withNode)})}with(n,o){let s=Xn(n,o);return new Ze({...this.#e,withNode:this.#e.withNode?Zr.cloneWithExpression(this.#e.withNode,s):Zr.create(s)})}withRecursive(n,o){let s=Xn(n,o);return new Ze({...this.#e,withNode:this.#e.withNode?Zr.cloneWithExpression(this.#e.withNode,s):Zr.create(s,{recursive:!0})})}withPlugin(n){return new Ze({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Ze({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Ze({...this.#e,executor:this.#e.executor.withPluginAtFront(new Ke(n))})}}function Ed(){return new Ze({executor:Lt})}function Ad(n,o){return new ar({joinNode:Ae.create(n,Gt(o))})}function Bd(){return new dr({overNode:zr.create()})}function Rt(n,o){if(o.length===3)return Ac(n,o[0],o[1],o[2]);else if(o.length===2)return Lc(n,o[0],o[1]);else if(o.length===1)return Bc(n,o[0]);else throw Error("not implemented")}function Lc(n,o,s){return s(Ad(n,o)).toOperationNode()}function Ac(n,o,s,a){return Ae.createWithOn(n,Gt(o),z(s,"=",a))}function Bc(n,o){return Ae.create(n,Gt(o))}var Wd=d({is(n){return n.kind==="OffsetNode"},create(n){return d({kind:"OffsetNode",offset:n})}});var Md=d({is(n){return n.kind==="GroupByItemNode"},create(n){return d({kind:"GroupByItemNode",groupBy:n})}});function qd(n){return n=W(n)?n(We()):n,lt(n).map(Md.create)}var Qi=d({is(n){return n.kind==="SetOperationNode"},create(n,o,s){return d({kind:"SetOperationNode",operator:n,expression:o,all:s})}});function Ut(n,o,s){if(W(o))o=o(no());if(!se(o))o=[o];return o.map((a)=>Qi.create(n,ee(a),s))}class Cr{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}or(...n){return new zi(Le.create(this.#e,P(n)))}and(...n){return new Ji(me.create(this.#e,P(n)))}$castTo(){return new Cr(this.#e)}$notNull(){return new Cr(this.#e)}toOperationNode(){return this.#e}}class ji{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return ks.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}class zi{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}or(...n){return new zi(Le.create(this.#e,P(n)))}$castTo(){return new zi(this.#e)}toOperationNode(){return be.create(this.#e)}}class Ji{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}and(...n){return new Ji(me.create(this.#e,P(n)))}$castTo(){return new Ji(this.#e)}toOperationNode(){return be.create(this.#e)}}var Fd=d({is(n){return n.kind==="FetchNode"},create(n,o){return{kind:"FetchNode",rowCount:Qn.create(n),modifier:o}}});function Kd(n,o){if(!bt(n)&&!Zt(n))throw Error(`Invalid fetch row count: ${n}`);if(!Wc(o))throw Error(`Invalid fetch modifier: ${o}`);return Fd.create(n,o)}function Wc(n){return n==="only"||n==="with ties"}var v;class oo{#e;constructor(n){this.#e=d(n)}get expressionType(){return}get isSelectQueryBuilder(){return!0}where(...n){return new v({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new v({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}having(...n){return new v({...this.#e,queryNode:S.cloneWithHaving(this.#e.queryNode,P(n))})}havingRef(n,o,s){return new v({...this.#e,queryNode:S.cloneWithHaving(this.#e.queryNode,z(n,o,s))})}select(n){return new v({...this.#e,queryNode:S.cloneWithSelections(this.#e.queryNode,H(n))})}distinctOn(n){return new v({...this.#e,queryNode:S.cloneWithDistinctOn(this.#e.queryNode,lt(n))})}modifyFront(n){return new v({...this.#e,queryNode:S.cloneWithFrontModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}modifyEnd(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}distinct(){return new v({...this.#e,queryNode:S.cloneWithFrontModifier(this.#e.queryNode,Je.create("Distinct"))})}forUpdate(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForUpdate",n?Ur(n).map(T):void 0))})}forShare(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForShare",n?Ur(n).map(T):void 0))})}forKeyShare(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForKeyShare",n?Ur(n).map(T):void 0))})}forNoKeyUpdate(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForNoKeyUpdate",n?Ur(n).map(T):void 0))})}skipLocked(){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("SkipLocked"))})}noWait(){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("NoWait"))})}selectAll(n){return new v({...this.#e,queryNode:S.cloneWithSelections(this.#e.queryNode,te(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}crossJoin(...n){return this.#t("CrossJoin",n)}innerJoinLateral(...n){return this.#t("LateralInnerJoin",n)}leftJoinLateral(...n){return this.#t("LateralLeftJoin",n)}crossJoinLateral(...n){return this.#t("LateralCrossJoin",n)}crossApply(...n){return this.#t("CrossApply",n)}outerApply(...n){return this.#t("OuterApply",n)}#t(n,o){return new v({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}orderBy(...n){return new v({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}groupBy(n){return new v({...this.#e,queryNode:S.cloneWithGroupByItems(this.#e.queryNode,qd(n))})}limit(n){return new v({...this.#e,queryNode:S.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}offset(n){return new v({...this.#e,queryNode:S.cloneWithOffset(this.#e.queryNode,Wd.create(O(n)))})}fetch(n,o="only"){return new v({...this.#e,queryNode:S.cloneWithFetch(this.#e.queryNode,Kd(n,o))})}top(n,o){return new v({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,qe(n,o))})}union(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Ut("union",n,!1))})}unionAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Ut("union",n,!0))})}intersect(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Ut("intersect",n,!1))})}intersectAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Ut("intersect",n,!0))})}except(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Ut("except",n,!1))})}exceptAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Ut("except",n,!0))})}as(n){return new $d(this,n)}clearSelect(){return new v({...this.#e,queryNode:S.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new v({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new v({...this.#e,queryNode:S.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new v({...this.#e,queryNode:S.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new v({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new v({...this.#e,queryNode:S.cloneWithoutGroupBy(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new v({...this.#e})}$castTo(){return new v(this.#e)}$narrowType(){return new v(this.#e)}$assertType(){return new v(this.#e)}$asTuple(){return new Cr(this.toOperationNode())}$asScalar(){return new Cr(this.toOperationNode())}withPlugin(n){return new v({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile();return(await this.#e.executor.executeQuery(o,n)).rows}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??Me;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new v({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}v=oo;function ni(n){return new oo(n)}class $d{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return ks.create(this.#e.toOperationNode(),ot.create(this.#t))}}var et=d({is(n){return n.kind==="AggregateFunctionNode"},create(n,o=[]){return d({kind:"AggregateFunctionNode",func:n,aggregated:o})},cloneWithDistinct(n){return d({...n,distinct:!0})},cloneWithOrderBy(n,o,s=!1){let a=s?"withinGroup":"orderBy";return d({...n,[a]:n[a]?mt.cloneWithItems(n[a],o):mt.create(o)})},cloneWithFilter(n,o){return d({...n,filter:n.filter?ie.cloneWithOperation(n.filter,"And",o):ie.create(o)})},cloneWithOrFilter(n,o){return d({...n,filter:n.filter?ie.cloneWithOperation(n.filter,"Or",o):ie.create(o)})},cloneWithOver(n,o){return d({...n,over:o})}});var so=d({is(n){return n.kind==="FunctionNode"},create(n,o){return d({kind:"FunctionNode",func:n,arguments:o})}});class ye{#e;constructor(n){this.#e=d(n)}get expressionType(){return}as(n){return new Gd(this,n)}distinct(){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithDistinct(this.#e.aggregateFunctionNode)})}orderBy(...n){return new ye({...this.#e,aggregateFunctionNode:g.cloneWithOrderByItems(this.#e.aggregateFunctionNode,ve(n))})}clearOrderBy(){return new ye({...this.#e,aggregateFunctionNode:g.cloneWithoutOrderBy(this.#e.aggregateFunctionNode)})}withinGroupOrderBy(...n){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithOrderBy(this.#e.aggregateFunctionNode,ve(n),!0)})}filterWhere(...n){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,P(n))})}filterWhereRef(n,o,s){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,z(n,o,s))})}over(n){let o=Bd();return new ye({...this.#e,aggregateFunctionNode:et.cloneWithOver(this.#e.aggregateFunctionNode,(n?n(o):o).toOperationNode())})}$call(n){return n(this)}$castTo(){return new ye(this.#e)}$notNull(){return new ye(this.#e)}toOperationNode(){return this.#e.aggregateFunctionNode}}class Gd{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return ks.create(this.#e.toOperationNode(),ot.create(this.#t))}}function Hi(){let n=(s,a)=>new Cr(so.create(s,lt(a??[]))),o=(s,a)=>new ye({aggregateFunctionNode:et.create(s,a?lt(a):void 0)});return Object.assign(n,{agg:o,avg(s){return o("avg",[s])},coalesce(...s){return n("coalesce",s)},count(s){return o("count",[s])},countAll(s){return new ye({aggregateFunctionNode:et.create("count",te(s))})},max(s){return o("max",[s])},min(s){return o("min",[s])},sum(s){return o("sum",[s])},any(s){return n("any",[s])},jsonAgg(s){return new ye({aggregateFunctionNode:et.create("json_agg",[w(s)?T(s):s.toOperationNode()])})},toJson(s){return new Cr(so.create("to_json",[w(s)?T(s):s.toOperationNode()]))}})}var Ud=d({is(n){return n.kind==="UnaryOperationNode"},create(n,o){return d({kind:"UnaryOperationNode",operator:n,operand:o})}});function Vd(n,o){if(id(n))return Ud.create(we.create(n),j(o));throw Error(`invalid unary operator ${JSON.stringify(n)}`)}var ne=d({is(n){return n.kind==="CaseNode"},create(n){return d({kind:"CaseNode",value:n})},cloneWithWhen(n,o){return d({...n,when:d(n.when?[...n.when,o]:[o])})},cloneWithThen(n,o){return d({...n,when:n.when?d([...n.when.slice(0,-1),fe.cloneWithResult(n.when[n.when.length-1],o)]):void 0})},cloneWith(n,o){return d({...n,...o})}});class si{#e;constructor(n){this.#e=d(n)}when(...n){return new oi({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(P(n)))})}whenRef(n,o,s){return new oi({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(z(n,o,s)))})}}class oi{#e;constructor(n){this.#e=d(n)}then(n){return new ao({...this.#e,node:ne.cloneWithThen(this.#e.node,qi(n)?Qr(n):O(n))})}thenRef(n){return new ao({...this.#e,node:ne.cloneWithThen(this.#e.node,j(n))})}}class ao{#e;constructor(n){this.#e=d(n)}when(...n){return new oi({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(P(n)))})}whenRef(n,o,s){return new oi({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(z(n,o,s)))})}else(n){return new uo({...this.#e,node:ne.cloneWith(this.#e.node,{else:qi(n)?Qr(n):O(n)})})}elseRef(n){return new uo({...this.#e,node:ne.cloneWith(this.#e.node,{else:j(n)})})}end(){return new Cr(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Cr(ne.cloneWith(this.#e.node,{isStatement:!0}))}}class uo{#e;constructor(n){this.#e=d(n)}end(){return new Cr(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Cr(ne.cloneWith(this.#e.node,{isStatement:!0}))}}var co=d({is(n){return n.kind==="JSONPathLegNode"},create(n,o){return d({kind:"JSONPathLegNode",type:n,value:o})}});var Mc=/^#-\d+$/;class di{#e;constructor(n){this.#e=n}at(n){if(typeof n!=="number"&&typeof n!=="string"||typeof n==="number"&&!Number.isInteger(n)||typeof n==="string"&&n!=="last"&&!Mc.test(n))throw Error(`Unexpected index value in .at(...): ${n}`);return this.#t("ArrayLocation",n)}key(n){return this.#t("Member",n)}#t(n,o){if(ir.is(this.#e))return new ai(ir.cloneWithTraversal(this.#e,St.is(this.#e.traversal)?St.cloneWithLeg(this.#e.traversal,co.create(n,o)):Wi.cloneWithValue(this.#e.traversal,Qn.createImmediate(o))));return new ai(St.cloneWithLeg(this.#e,co.create(n,o)))}}class ai extends di{#e;constructor(n){super(n);this.#e=n}get expressionType(){return}as(n){return new Qd(this,n)}$castTo(){return new ai(this.#e)}$notNull(){return new ai(this.#e)}toOperationNode(){return this.#e}}class Qd{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return ks.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}var lo=d({is(n){return n.kind==="TupleNode"},create(n){return d({kind:"TupleNode",values:d(n)})}});var qc=d({bigint:!0,bigserial:!0,binary:!0,blob:!0,boolean:!0,bytea:!0,char:!0,date:!0,datemultirange:!0,daterange:!0,datetime:!0,datetime2:!0,decimal:!0,"double precision":!0,float4:!0,float8:!0,int2:!0,int4:!0,int4multirange:!0,int4range:!0,int8:!0,int8multirange:!0,int8range:!0,integer:!0,json:!0,jsonb:!0,numeric:!0,nummultirange:!0,numrange:!0,real:!0,serial:!0,smallint:!0,text:!0,time:!0,timestamp:!0,timestamptz:!0,timetz:!0,tsmultirange:!0,tsrange:!0,tstzmultirange:!0,tstzrange:!0,uuid:!0,varbinary:!0,varchar:!0}),Fc=d([/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^datetime2\(\d+\)$/,/^varbinary\(\d+\)$/]),zd=d({is(n){return n.kind==="DataTypeNode"},create(n){return d({kind:"DataTypeNode",dataType:n})}});function Jd(n){return qc[n]||Fc.some((o)=>o.test(n))}function Ge(n){if(D(n))return n.toOperationNode();if(Jd(n))return zd.create(n);throw Error(`invalid column data type ${JSON.stringify(n)}`)}var jd=d({is(n){return n.kind==="CastNode"},create(n,o){return d({kind:"CastNode",expression:n,dataType:o})}});function no(n=Lt){function o(c,m,p){return new Cr(Fi(c,m,p))}function s(c,m){return new Cr(Vd(c,m))}let a=Object.assign(o,{fn:void 0,eb:void 0,selectFrom(c){return ni({queryId:b(),executor:n,queryNode:S.createFrom(Fe(c))})},case(c){return new si({node:ne.create(ge(c)?void 0:j(c))})},ref(c,m){if(ge(m))return new Cr(pe(c));return new di(ad(c,m))},jsonPath(){return new di(St.create())},table(c){return new Cr(T(c))},val(c){return new Cr(O(c))},refTuple(...c){return new Cr(lo.create(c.map(j)))},tuple(...c){return new Cr(lo.create(c.map(O)))},lit(c){return new Cr(Qr(c))},unary:s,not(c){return s("not",c)},exists(c){return s("exists",c)},neg(c){return s("-",c)},between(c,m,p){return new Cr(Et.create(j(c),we.create("between"),me.create(O(m),O(p))))},betweenSymmetric(c,m,p){return new Cr(Et.create(j(c),we.create("between symmetric"),me.create(O(m),O(p))))},and(c){if(se(c))return new Cr(sr(c,"and"));return new Cr(Fn(c,"and"))},or(c){if(se(c))return new Cr(sr(c,"or"));return new Cr(Fn(c,"or"))},parens(...c){let m=P(c);if(be.is(m))return new Cr(m);else return new Cr(be.create(m))},cast(c,m){return new Cr(jd.create(j(c),Ge(m)))}});return a.fn=Hi(),a.eb=a,a}function We(n){return no()}function ee(n){if(D(n))return n.toOperationNode();else if(W(n))return n(We()).toOperationNode();throw Error(`invalid expression: ${JSON.stringify(n)}`)}function Gi(n){if(D(n))return n.toOperationNode();else if(W(n))return n(We()).toOperationNode();throw Error(`invalid aliased expression: ${JSON.stringify(n)}`)}function ct(n){return Pi(n)||za(n)||W(n)}class mo{#e;get table(){return this.#e}constructor(n){this.#e=n}as(n){return new Hd(this.#e,n)}}class Hd{#e;#t;get table(){return this.#e}get alias(){return this.#t}constructor(n,o){this.#e=n,this.#t=o}toOperationNode(){return ks.create(T(this.#e),ot.create(this.#t))}}function Yd(n){return M(n)&&D(n)&&w(n.table)&&w(n.alias)}function Fe(n){if(se(n))return n.map((o)=>Gt(o));else return[Gt(n)]}function Gt(n){if(w(n))return io(n);else if(Yd(n))return n.toOperationNode();else return Gi(n)}function io(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Xd);return ks.create(T(s),ot.create(a))}else return T(n)}function T(n){if(n.includes(".")){let[s,a]=n.split(".").map(Xd);return $c.createWithSchema(s,a)}else return $c.create(n)}function Xd(n){return n.trim()}var po=d({is(n){return n.kind==="AddColumnNode"},create(n){return d({kind:"AddColumnNode",column:n})}});var L=d({is(n){return n.kind==="ColumnDefinitionNode"},create(n,o){return d({kind:"ColumnDefinitionNode",column:nr.create(n),dataType:o})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):[o]})},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):[o]})},cloneWith(n,o){return d({...n,...o})}});var ui=d({is(n){return n.kind==="DropColumnNode"},create(n){return d({kind:"DropColumnNode",column:nr.create(n)})},cloneWith(n,o){return d({...n,...o})}});var ho=d({is(n){return n.kind==="RenameColumnNode"},create(n,o){return d({kind:"RenameColumnNode",column:nr.create(n),renameTo:nr.create(o)})}});var yr=d({is(n){return n.kind==="CheckConstraintNode"},create(n,o){return d({kind:"CheckConstraintNode",expression:n,name:o?ot.create(o):void 0})}});var Zd=d({cascade:!0,"no action":!0,restrict:!0,"set default":!0,"set null":!0}),vS=Object.keys(Zd),xr=d({is(n){return n.kind==="ReferencesNode"},create(n,o){return d({kind:"ReferencesNode",table:n,columns:d([...o])})},cloneWithOnDelete(n,o){return d({...n,onDelete:o})},cloneWithOnUpdate(n,o){return d({...n,onUpdate:o})}});function eu(n){return w(n)&&Zd[n]}function Yi(n){return D(n)?n.toOperationNode():Qn.createImmediate(n)}var ci=d({is(n){return n.kind==="GeneratedNode"},create(n){return d({kind:"GeneratedNode",...n})},createWithExpression(n){return d({kind:"GeneratedNode",always:!0,expression:n})},cloneWith(n,o){return d({...n,...o})}});var tu=d({is(n){return n.kind==="DefaultValueNode"},create(n){return d({kind:"DefaultValueNode",defaultValue:n})}});function Nr(n){if(eu(n))return n;throw Error(`invalid OnModifyForeignAction ${n}`)}class A{#e;constructor(n){this.#e=n}autoIncrement(){return new A(L.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new A(L.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new A(L.cloneWith(this.#e,{primaryKey:!0}))}references(n){let o=pe(n);if(!o.table||tr.is(o.column))throw Error(`invalid call references('${n}'). The reference must have format table.column or schema.table.column`);return new A(L.cloneWith(this.#e,{references:xr.create(o.table,[o.column])}))}onDelete(n){if(!this.#e.references)throw Error("on delete constraint can only be added for foreign keys");return new A(L.cloneWith(this.#e,{references:xr.cloneWithOnDelete(this.#e.references,Nr(n))}))}onUpdate(n){if(!this.#e.references)throw Error("on update constraint can only be added for foreign keys");return new A(L.cloneWith(this.#e,{references:xr.cloneWithOnUpdate(this.#e.references,Nr(n))}))}unique(){return new A(L.cloneWith(this.#e,{unique:!0}))}notNull(){return new A(L.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new A(L.cloneWith(this.#e,{unsigned:!0}))}defaultTo(n){return new A(L.cloneWith(this.#e,{defaultTo:tu.create(Yi(n))}))}check(n){return new A(L.cloneWith(this.#e,{check:yr.create(n.toOperationNode())}))}generatedAlwaysAs(n){return new A(L.cloneWith(this.#e,{generated:ci.createWithExpression(n.toOperationNode())}))}generatedAlwaysAsIdentity(){return new A(L.cloneWith(this.#e,{generated:ci.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new A(L.cloneWith(this.#e,{generated:ci.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw Error("stored() can only be called after generatedAlwaysAs");return new A(L.cloneWith(this.#e,{generated:ci.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(n){return new A(L.cloneWithFrontModifier(this.#e,n.toOperationNode()))}nullsNotDistinct(){return new A(L.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new A(L.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(n){return new A(L.cloneWithEndModifier(this.#e,n.toOperationNode()))}$call(n){return n(this)}toOperationNode(){return this.#e}}var _o=d({is(n){return n.kind==="ModifyColumnNode"},create(n){return d({kind:"ModifyColumnNode",column:n})}});var Ue=d({is(n){return n.kind==="ForeignKeyConstraintNode"},create(n,o,s,a){return d({kind:"ForeignKeyConstraintNode",columns:n,references:xr.create(o,s),name:a?ot.create(a):void 0})},cloneWith(n,o){return d({...n,...o})}});class Ve{#e;constructor(n){this.#e=n}onDelete(n){return new Ve(Ue.cloneWith(this.#e,{onDelete:Nr(n)}))}onUpdate(n){return new Ve(Ue.cloneWith(this.#e,{onUpdate:Nr(n)}))}deferrable(){return new Ve(Ue.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new Ve(Ue.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new Ve(Ue.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new Ve(Ue.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}var gr=d({is(n){return n.kind==="AddConstraintNode"},create(n){return d({kind:"AddConstraintNode",constraint:n})}});var tt=d({is(n){return n.kind==="UniqueConstraintNode"},create(n,o,s){if(w(n.at(0)))rr("`UniqueConstraintNode.create(columns: string[], ...)` is deprecated - pass `ColumnNode[]` instead."),n=n.map(nr.create);return d({kind:"UniqueConstraintNode",columns:d(n),name:o?ot.create(o):void 0,nullsNotDistinct:s})},cloneWith(n,o){return d({...n,...o})}});var wr=d({is(n){return n.kind==="DropConstraintNode"},create(n){return d({kind:"DropConstraintNode",constraintName:ot.create(n)})},cloneWith(n,o){return d({...n,...o})}});var vr=d({is(n){return n.kind==="AlterColumnNode"},create(n,o,s){return d({kind:"AlterColumnNode",column:nr.create(n),[o]:s})}});class Xi{#e;constructor(n){this.#e=n}setDataType(n){return new br(vr.create(this.#e,"dataType",Ge(n)))}setDefault(n){return new br(vr.create(this.#e,"setDefault",Yi(n)))}dropDefault(){return new br(vr.create(this.#e,"dropDefault",!0))}setNotNull(){return new br(vr.create(this.#e,"setNotNull",!0))}dropNotNull(){return new br(vr.create(this.#e,"dropNotNull",!0))}$call(n){return n(this)}}class br{#e;constructor(n){this.#e=n}toOperationNode(){return this.#e}}class At{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class _t{#e;constructor(n){this.#e=d(n)}onDelete(n){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(n)})}onUpdate(n){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(n)})}deferrable(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(E.cloneWithTableProps(this.#e.node,{addConstraint:gr.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Vt{#e;constructor(n){this.#e=d(n)}ifExists(){return new Vt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:wr.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new Vt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:wr.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new Vt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:wr.cloneWith(this.#e.node.dropConstraint,{modifier:"restrict"})})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var yt=d({is(n){return n.kind==="PrimaryKeyConstraintNode"},create(n,o){return d({kind:"PrimaryKeyConstraintNode",columns:d(n.map(nr.create)),name:o?ot.create(o):void 0})},cloneWith(n,o){return d({...n,...o})}});var Te=d({is(n){return n.kind==="AddIndexNode"},create(n){return d({kind:"AddIndexNode",name:ot.create(n)})},cloneWith(n,o){return d({...n,...o})},cloneWithColumns(n,o){return d({...n,columns:[...n.columns||[],...o]})}});class Bt{#e;constructor(n){this.#e=d(n)}unique(){return new Bt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(n){return new Bt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,[w(n)?or(n):n.toOperationNode()])})})}columns(n){return new Bt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,n.map((o)=>w(o)?or(o):o.toOperationNode()))})})}expression(n){return new Bt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,[n.toOperationNode()])})})}using(n){return new Bt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWith(this.#e.node.addIndex,{using:k.createWithSql(n)})})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class rt{#e;constructor(n){this.#e=n}nullsNotDistinct(){return new rt(tt.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new rt(tt.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new rt(tt.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new rt(tt.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new rt(tt.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class xt{#e;constructor(n){this.#e=n}deferrable(){return new xt(yt.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new xt(yt.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new xt(yt.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new xt(yt.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class li{#e;constructor(n){this.#e=n}$call(n){return n(this)}toOperationNode(){return this.#e}}var ru=d({is(n){return n.kind==="RenameConstraintNode"},create(n,o){return d({kind:"RenameConstraintNode",oldName:ot.create(n),newName:ot.create(o)})}});class mi{#e;constructor(n){this.#e=d({...n})}ifExists(){return new mi({...this.#e,node:ui.cloneWith(this.#e.node,{ifExists:!0})})}toOperationNode(){return this.#e.node}}class yo{#e;constructor(n){this.#e=d(n)}renameTo(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{renameTo:T(n)})})}setSchema(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{setSchema:ot.create(n)})})}alterColumn(n,o){let s=o(new Xi(n));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=X){let s=o(new mi({node:ui.create(n)}));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,po.create(a.toOperationNode()))})}modifyColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,_o.create(a.toOperationNode()))})}addUniqueConstraint(n,o,s=X){let a=s(new rt(tt.create(o.map((c)=>w(c)?nr.create(c):ee(c)),n)));return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:gr.create(a.toOperationNode())})})}addCheckConstraint(n,o,s=X){let a=s(new li(yr.create(o.toOperationNode(),n)));return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:gr.create(a.toOperationNode())})})}addForeignKeyConstraint(n,o,s,a,c=X){let m=c(new Ve(Ue.create(o.map(nr.create),T(s),a.map(nr.create),n)));return new _t({...this.#e,constraintBuilder:m})}addPrimaryKeyConstraint(n,o,s=X){let a=s(new xt(yt.create(o,n)));return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:gr.create(a.toOperationNode())})})}dropConstraint(n){return new Vt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:wr.create(n)})})}renameConstraint(n,o){return new Vt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{renameConstraint:ru.create(n,o)})})}addIndex(n){return new Bt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.create(n)})})}dropIndex(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropIndex:Ct.create(n)})})}$call(n){return n(this)}}class Qe{#e;constructor(n){this.#e=d(n)}alterColumn(n,o){let s=o(new Xi(n));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=X){let s=o(new mi({node:ui.create(n)}));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,po.create(a.toOperationNode()))})}modifyColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,_o.create(a.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class pi extends ri{transformPrimitiveValueList(n){return Dt.create(n.values.map(Qn.createImmediate))}transformValue(n){return Qn.createImmediate(n.value)}}class ke{#e;constructor(n){this.#e=d(n)}ifNotExists(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(n){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{table:T(n)})})}column(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,[w(n)?or(n):n.toOperationNode()])})}columns(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,n.map((o)=>w(o)?or(o):o.toOperationNode()))})}expression(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,[n.toOperationNode()])})}using(n){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{using:k.createWithSql(n)})})}where(...n){let o=new pi;return new ke({...this.#e,node:g.cloneWithWhere(this.#e.node,o.transformNode(P(n),this.#e.queryId))})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Zi{#e;constructor(n){this.#e=d(n)}ifNotExists(){return new Zi({...this.#e,node:Ii.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}function iu(n){if(Va.includes(n))return n;throw Error(`invalid OnCommitAction ${n}`)}class en{#e;constructor(n){this.#e=n}using(n){return new en(Te.cloneWith(this.#e,{using:k.createWithSql(n)}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class le{#e;constructor(n){this.#e=d(n)}temporary(){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{temporary:!0})})}onCommit(n){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{onCommit:iu(n)})})}ifNotExists(){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new le({...this.#e,node:Z.cloneWithColumn(this.#e.node,a.toOperationNode())})}addPrimaryKeyConstraint(n,o,s=X){let a=s(new xt(yt.create(o,n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addUniqueConstraint(n,o,s=X){let a=s(new rt(tt.create(o.map((c)=>w(c)?nr.create(c):ee(c)),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addIndex(n,o,s=X){let a=s(new en(Te.cloneWithColumns(Te.create(n),o.map((c)=>w(c)?nr.create(c):ee(c)))));return new le({...this.#e,node:Z.cloneWithIndex(this.#e.node,a.toOperationNode())})}addCheckConstraint(n,o,s=X){let a=s(new li(yr.create(o.toOperationNode(),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addForeignKeyConstraint(n,o,s,a,c=X){let m=c(new Ve(Ue.create(o.map(nr.create),T(s),a.map(nr.create),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,m.toOperationNode())})}modifyFront(n){return new le({...this.#e,node:Z.cloneWithFrontModifier(this.#e.node,n.toOperationNode())})}modifyEnd(n){return new le({...this.#e,node:Z.cloneWithEndModifier(this.#e.node,n.toOperationNode())})}as(n){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{selectQuery:ee(n)})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Er{#e;constructor(n){this.#e=d(n)}on(n){return new Er({...this.#e,node:Ct.cloneWith(this.#e.node,{table:T(n)})})}ifExists(){return new Er({...this.#e,node:Ct.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Er({...this.#e,node:Ct.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class fi{#e;constructor(n){this.#e=d(n)}ifExists(){return new fi({...this.#e,node:Vr.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new fi({...this.#e,node:Vr.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Tr{#e;constructor(n){this.#e=d(n)}temporary(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{temporary:!0})})}ifExists(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var ze=d({is(n){return n.kind==="CreateViewNode"},create(n){return d({kind:"CreateViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class xo{#e=new pi;transformQuery(n){return this.#e.transformNode(n.node,n.queryId)}transformResult(n){return Promise.resolve(n.result)}}class Nt{#e;constructor(n){this.#e=d(n)}temporary(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{orReplace:!0})})}columns(n){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{columns:n.map(Bn)})})}as(n){let o=n.withPlugin(new xo).toOperationNode();return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{as:o})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var kr=d({is(n){return n.kind==="DropViewNode"},create(n){return d({kind:"DropViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class Sr{#e;constructor(n){this.#e=d(n)}materialized(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var tn=d({is(n){return n.kind==="CreateTypeNode"},create(n){return d({kind:"CreateTypeNode",name:n})},cloneWithEnum(n,o){return d({...n,enum:Dt.create(o.map(Qn.createImmediate))})}});class rn{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(n){return new rn({...this.#e,node:tn.cloneWithEnum(this.#e.node,n)})}$call(n){return n(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var hi=d({is(n){return n.kind==="DropTypeNode"},create(n){if(!Array.isArray(n))n=[n];return d({kind:"DropTypeNode",name:n[0],additionalNames:n.slice(1)})},cloneWith(n,o){return d({...n,...o})}});class _i{#e;constructor(n){this.#e=d(n)}ifExists(){return new _i({...this.#e,node:hi.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new _i({...this.#e,node:hi.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}function nn(n){if(n.includes(".")){let s=n.split(".").map(Kc);if(s.length===2)return ae.createWithSchema(s[0],s[1]);else throw Error(`invalid schemable identifier ${n}`)}else return ae.create(n)}function nu(n){if(!Array.isArray(n))n=[n];return n.map(nn)}function Kc(n){return n.trim()}var Or=d({is(n){return n.kind==="RefreshMaterializedViewNode"},create(n){return d({kind:"RefreshMaterializedViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class Rr{#e;constructor(n){this.#e=d(n)}concurrently(){return new Rr({...this.#e,node:Or.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new Rr({...this.#e,node:Or.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new Rr({...this.#e,node:Or.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var it=d({is(n){return n.kind==="AlterTypeNode"},create(n){return d({kind:"AlterTypeNode",name:n})},cloneWith(n,o){return d({...n,...o})}});var yi=d({is(n){return n.kind==="AddValueNode"},create(n){return d({kind:"AddValueNode",value:n})},cloneWith(n,o){return d({...n,...o})}});class Qt{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){return await this.#e.executor.executeQuery(this.compile(),n)}}var No;class on extends Qt{#e;constructor(n){super(n);this.#e=n}ifNotExists(){return new No({...this.#e,node:it.cloneWith(this.#e.node,{addValue:yi.cloneWith(this.#e.node.addValue,{ifNotExists:!0})})})}before(n){return this.#t(n,!0)}after(n){return this.#t(n,!1)}#t(n,o){return new No({...this.#e,node:it.cloneWith(this.#e.node,{addValue:yi.cloneWith(this.#e.node.addValue,{isBefore:o,neighborValue:Qn.createImmediate(n)})})})}}No=on;var ou=d({is(n){return n.kind==="RenameValueNode"},create(n,o){return d({kind:"RenameValueNode",oldValue:n,newValue:o})}});class go{#e;constructor(n){this.#e=d(n)}addValue(n){return new on({...this.#e,node:it.cloneWith(this.#e.node,{addValue:yi.create(Qn.createImmediate(n))})})}renameTo(n){return new Qt({...this.#e,node:it.cloneWith(this.#e.node,{renameTo:ot.create(n)})})}renameValue(n,o){return new Qt({...this.#e,node:it.cloneWith(this.#e.node,{renameValue:ou.create(Qn.createImmediate(n),Qn.createImmediate(o))})})}setSchema(n){return new Qt({...this.#e,node:it.cloneWith(this.#e.node,{setSchema:ot.create(n)})})}}class Ir{#e;constructor(n){this.#e=n}createTable(n){return new le({queryId:b(),executor:this.#e,node:Z.create(T(n))})}dropTable(n){return new Tr({queryId:b(),executor:this.#e,node:er.create(T(n))})}createIndex(n){return new ke({queryId:b(),executor:this.#e,node:Pe.create(n)})}dropIndex(n){return new Er({queryId:b(),executor:this.#e,node:Ct.create(n)})}createSchema(n){return new Zi({queryId:b(),executor:this.#e,node:Ii.create(n)})}dropSchema(n){return new fi({queryId:b(),executor:this.#e,node:Vr.create(n)})}alterTable(n){return new yo({queryId:b(),executor:this.#e,node:E.create(T(n))})}createView(n){return new Nt({queryId:b(),executor:this.#e,node:ze.create(n)})}refreshMaterializedView(n){return new Rr({queryId:b(),executor:this.#e,node:Or.create(n)})}dropView(n){return new Sr({queryId:b(),executor:this.#e,node:kr.create(n)})}createType(n){return new rn({queryId:b(),executor:this.#e,node:tn.create(nn(n))})}alterType(n){return new go({executor:this.#e,node:it.create(nn(n)),queryId:b()})}dropType(n){return new _i({queryId:b(),executor:this.#e,node:hi.create(nu(n))})}withPlugin(n){return new Ir(this.#e.withPlugin(n))}withoutPlugins(){return new Ir(this.#e.withoutPlugins())}withSchema(n){return new Ir(this.#e.withPluginAtFront(new Ke(n)))}}class wo{ref(n){return new In(n)}table(n){return new mo(n)}}class vo{#e;constructor(n){this.#e=n}async provideConnection(n,o){let s=await this.#e.acquireConnection(o);try{return await n(s)}finally{await this.#e.releaseConnection(s,o)}}}class Wt extends ii{#e;#t;#r;constructor(n,o,s,a=[]){super(a);this.#e=n,this.#t=o,this.#r=s}get adapter(){return this.#t}compileQuery(n,o){return this.#e.compileQuery(n,o)}provideConnection(n,o){return this.#r.provideConnection(n,o)}withPlugins(n){return new Wt(this.#e,this.#t,this.#r,[...this.plugins,...n])}withPlugin(n){return new Wt(this.#e,this.#t,this.#r,[...this.plugins,n])}withPluginAtFront(n){return new Wt(this.#e,this.#t,this.#r,[n,...this.plugins])}withConnectionProvider(n){return new Wt(this.#e,this.#t,n,[...this.plugins])}withoutPlugins(){return new Wt(this.#e,this.#t,this.#r,[])}}function sn(){if(typeof performance<"u"&&W(performance.now))return performance.now();else return Date.now()}class bo{#e;#t;async obtainLock(){while(this.#e)await this.#e;this.#e=new Promise((n)=>{this.#t=n})}releaseLock(){let n=this.#t;this.#e=void 0,this.#t=void 0,n?.()}}class Co{#e;#t;#r;#i;#o;#a=new WeakSet;#n;constructor(n,o,s){if(this.#e=n,this.#i=!1,this.#t=s,o.supportsMultipleConnections===!1)this.#n=new bo}async init(n){if(this.#o)throw Error("driver has already been destroyed");this.#r??=this.#e.init(n).then(()=>{this.#i=!0}).catch((o)=>{throw this.#r=void 0,o}),await hr(this.#r,n?.signal,"init")}async acquireConnection(n){if(this.#o)throw Error("driver has already been destroyed");if(!this.#i)await this.init(n);if(this.#n){let a=this.#n.obtainLock();await hr(a,n?.signal,"acquireConnection:mutex",()=>a.then(()=>this.#n?.releaseLock()))}let o=this.#e.acquireConnection(n),s=await hr(o,n?.signal,"acquireConnection:acquire",()=>o?.then((a)=>this.releaseConnection(a).catch(Xe("driver.releaseConnection"))).catch(Xe("driver.acquireConnection")));if(!this.#a.has(s)){if(this.#s())this.#c(s);this.#a.add(s)}return s}async releaseConnection(n,o){await this.#e.releaseConnection(n,o),this.#n?.releaseLock()}async beginTransaction(n,o){return await this.#e.beginTransaction(n,o)}async commitTransaction(n){return await this.#e.commitTransaction(n)}async rollbackTransaction(n){return await this.#e.rollbackTransaction(n)}async savepoint(n,o,s){if(this.#e.savepoint)return await this.#e.savepoint(n,o,s);throw Error("The `savepoint` method is not supported by this driver")}async rollbackToSavepoint(n,o,s){if(this.#e.rollbackToSavepoint)return await this.#e.rollbackToSavepoint(n,o,s);throw Error("The `rollbackToSavepoint` method is not supported by this driver")}async releaseSavepoint(n,o,s){if(this.#e.releaseSavepoint)return await this.#e.releaseSavepoint(n,o,s);throw Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(n){if(!this.#r)return;await hr(this.#r,n?.signal,"destroy:initPromise"),this.#o??=this.#e.destroy(n).catch((o)=>{throw this.#o=void 0,o}),await hr(this.#o,n?.signal,"destroy")}#s(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#c(n){let{executeQuery:o,streamQuery:s}=n,a=this;n.executeQuery=async(c,m)=>{let p,_=sn();try{return await o.call(n,c,m)}catch(y){throw p=y,await a.#l(y,c,_),y}finally{if(!p)await a.#d(c,_)}},n.streamQuery=async function*(c,m,p){let _,y=sn();try{for await(let x of s.call(n,c,m,p))yield x}catch(x){throw _=x,await a.#l(x,c,y),x}finally{if(!_)await a.#d(c,y,!0)}}}async#l(n,o,s){await this.#t.error(()=>({level:"error",error:n,query:o,queryDurationMillis:this.#m(s)}))}async#d(n,o,s=!1){await this.#t.query(()=>({level:"query",isStream:s,query:n,queryDurationMillis:this.#m(o)}))}#m(n){return sn()-n}}var Gc=Symbol.for("kysely.AbortedTransactionError");function Eo(n){return M(n)&&Gc in n}var Vc=()=>{};class xi{#e;#t;constructor(n){this.#e=n}async provideConnection(n){while(this.#t)await this.#t.catch(Vc);return this.#t=this.#r(n).finally(()=>{this.#t=void 0}),this.#t}async#r(n){return await n(this.#e)}}var Qc=["read only","read write"],zc=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function To(n){if(n.accessMode&&!Qc.includes(n.accessMode))throw Error(`invalid transaction access mode ${n.accessMode}`);if(n.isolationLevel&&!zc.includes(n.isolationLevel))throw Error(`invalid transaction isolation level ${n.isolationLevel}`)}var Jc=["query","error"],SP=d(Jc);class ko{#e;#t;constructor(n){if(W(n))this.#t=n,this.#e=d({query:!0,error:!0});else this.#t=jc,this.#e=d({query:n.includes("query"),error:n.includes("error")})}isLevelEnabled(n){return this.#e[n]}async query(n){if(this.#e.query)await this.#t(n())}async error(n){if(this.#e.error)await this.#t(n())}}function jc(n){if(n.level==="query"){let o=`kysely:query:${n.isStream?"stream:":""}`;console.log(`${o} ${n.query.sql}`),console.log(`${o} duration: ${n.queryDurationMillis.toFixed(1)}ms`)}else if(n.level==="error")if(n.error instanceof Error)console.error(`kysely:error: ${n.error.stack??n.error.message}`);else console.error(`kysely:error: ${JSON.stringify({error:n.error,query:n.query.sql,queryDurationMillis:n.queryDurationMillis})}`)}function su(n){return M(n)&&W(n.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class Uc extends Ze{#e;constructor(n){let o,s;if(Hc(n))o={executor:n.executor},s={...n};else{let a=n.dialect,c=a.createDriver(),m=a.createQueryCompiler(),p=a.createAdapter(),_=new ko(n.log??[]),y=new Co(c,p,_),x=new vo(y),N=new Wt(m,p,x,n.plugins??[]);o={executor:N},s={config:n,executor:N,dialect:a,driver:y}}super(o);this.#e=d(s)}get schema(){return new Ir(this.#e.executor)}get dynamic(){return new wo}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(n){return new si({node:ne.create(ge(n)?void 0:ee(n))})}get fn(){return Hi()}transaction(){return new dn({...this.#e})}startTransaction(){return new un({...this.#e})}connection(){return new au({...this.#e})}withPlugin(n){return new Uc({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Uc({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Uc({...this.#e,executor:this.#e.executor.withPluginAtFront(new Ke(n))})}$extendTables(){return new Uc({...this.#e})}$omitTables(){return new Uc({...this.#e})}$pickTables(){return new Uc({...this.#e})}withTables(){return this.$extendTables()}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}async executeQuery(n,o){let s=su(n)?n.compile():n;return await this.#e.executor.executeQuery(s,o)}async[Symbol.asyncDispose](){await this.destroy()}}class nt extends Uc{#e;constructor(n){super(n);this.#e=n}get isTransaction(){return!0}transaction(){throw Error("calling the transaction method for a Transaction is not supported")}startTransaction(){throw Error("calling the controlled transaction method for a Transaction is not supported")}connection(){throw Error("calling the connection method for a Transaction is not supported")}destroy(){throw Error("calling the destroy method for a Transaction is not supported")}withPlugin(n){return new nt({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new nt({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new nt({...this.#e,executor:this.#e.executor.withPluginAtFront(new Ke(n))})}withTables(){return new nt({...this.#e})}$extendTables(){return new nt({...this.#e})}$omitTables(){return new nt({...this.#e})}$pickTables(){return new nt({...this.#e})}}function Hc(n){return M(n)&&M(n.config)&&M(n.driver)&&M(n.executor)&&M(n.dialect)}class au{#e;constructor(n){this.#e=d(n)}async execute(n,o){return this.#e.executor.provideConnection(async(s)=>{let a=this.#e.executor.withConnectionProvider(new xi(s)),c=new Uc({...this.#e,executor:a});return await n(c)},d({signal:o?.signal}))}}class dn{#e;constructor(n){this.#e=d(n)}setAccessMode(n){return new dn({...this.#e,accessMode:n})}setIsolationLevel(n){return new dn({...this.#e,isolationLevel:n})}async execute(n){let{isolationLevel:o,accessMode:s,...a}=this.#e,c={isolationLevel:o,accessMode:s};return To(c),this.#e.executor.provideConnection(async(m)=>{let p={status:"active"},_=new gt(this.#e.executor.withConnectionProvider(new xi(m)),p),y=new nt({...a,executor:_}),x=!1;try{await this.#e.driver.beginTransaction(m,c),x=!0;let N=await n(y);return await this.#e.driver.commitTransaction(m),p.status="committed",N}catch(N){if(Eo(N))p.status="aborted";else if(x)await this.#e.driver.rollbackTransaction(m),p.status="rolled back";throw N}})}}class un{#e;constructor(n){this.#e=d(n)}setAccessMode(n){return new un({...this.#e,accessMode:n})}setIsolationLevel(n){return new un({...this.#e,isolationLevel:n})}async execute(){let{isolationLevel:n,accessMode:o,...s}=this.#e,a={isolationLevel:n,accessMode:o};To(a);let c=await fr(this.#e.executor);try{await this.#e.driver.beginTransaction(c.connection,a)}catch(m){throw c.release(),m}return new De({...s,connection:c,transactionState:{status:"active"},executor:this.#e.executor.withConnectionProvider(new xi(c.connection))})}}class De extends nt{#e;#t;constructor(n){n={...n,executor:new gt(n.executor,n.transactionState)};let{connection:o,transactionState:s,...a}=n;super(a);this.#e=d(n);let c=b();this.#t=(m)=>n.executor.compileQuery(m,c)}get isCommitted(){return this.#e.transactionState.status==="committed"}get isRolledBack(){return this.#e.transactionState.status==="rolled back"||this.#e.transactionState.status==="aborted"}commit(){return new Pr(async()=>{await this.#e.executor.provideConnection(async(n)=>{try{await this.#e.driver.commitTransaction(n)}catch(o){if(Eo(o))this.#e.transactionState.status="aborted",this.#e.connection.release();throw o}this.#e.transactionState.status="committed",this.#e.connection.release()})})}rollback(){return new Pr(async()=>{if(this.#e.transactionState.status==="aborted")return;await this.#e.executor.provideConnection(async(n)=>{try{await this.#e.driver.rollbackTransaction(n)}finally{this.#e.transactionState.status="rolled back",this.#e.connection.release()}})})}savepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.savepoint?.(o,n,this.#t)}),new De({...this.#e})))}rollbackToSavepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.rollbackToSavepoint?.(o,n,this.#t)}),new De({...this.#e})))}releaseSavepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.releaseSavepoint?.(o,n,this.#t)}),new De({...this.#e})))}withPlugin(n){return new De({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new De({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new De({...this.#e,executor:this.#e.executor.withPluginAtFront(new Ke(n))})}withTables(){return new De({...this.#e})}$extendTables(){return new De({...this.#e})}$omitTables(){return new De({...this.#e})}$pickTables(){return new De({...this.#e})}}class Pr{#e;constructor(n){this.#e=n}async execute(){return await this.#e()}}function an(n){if(n.status==="committed")throw Error("Transaction is already committed");if(n.status!=="active")throw Error("Transaction is already rolled back")}class gt{#e;#t;constructor(n,o){this.#e=n instanceof gt?n.#e:n,this.#t=o}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(n,o){return this.#e.transformQuery(n,o)}compileQuery(n,o){return this.#e.compileQuery(n,o)}provideConnection(n,o){return an(this.#t),this.#e.provideConnection(async(s)=>(an(this.#t),await n(s)),o)}executeQuery(n,o){return an(this.#t),this.#e.withConnectionProvider(this).executeQuery(n,o)}stream(n,o,s){return an(this.#t),this.#e.withConnectionProvider(this).stream(n,o,s)}withConnectionProvider(n){return new gt(this.#e.withConnectionProvider(n),this.#t)}withPlugin(n){return new gt(this.#e.withPlugin(n),this.#t)}withPlugins(n){return new gt(this.#e.withPlugins(n),this.#t)}withPluginAtFront(n){return new gt(this.#e.withPluginAtFront(n),this.#t)}withoutPlugins(){return new gt(this.#e.withoutPlugins(),this.#t)}}class Ni{#e;constructor(n){this.#e=d(n)}get expressionType(){return}get isRawBuilder(){return!0}as(n){return new du(this,n)}$castTo(){return new Ni({...this.#e})}$notNull(){return new Ni(this.#e)}withPlugin(n){return new Ni({...this.#e,plugins:this.#e.plugins!==void 0?d([...this.#e.plugins,n]):d([n])})}toOperationNode(){return this.#r(this.#t())}compile(n){return this.#i(this.#t(n))}async execute(n,o){let s=this.#t(n);return s.executeQuery(this.#i(s),o)}#t(n){let o=n!==void 0?n.getExecutor():Lt;return this.#e.plugins!==void 0?o.withPlugins(this.#e.plugins):o}#r(n){return n.transformQuery(this.#e.rawNode,this.#e.queryId)}#i(n){return n.compileQuery(this.#r(n),this.#e.queryId)}}function wt(n){return new Ni(n)}class du{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}get rawBuilder(){return this.#e}toOperationNode(){return ks.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}var f=Object.assign((n,...o)=>wt({queryId:b(),rawNode:k.create(n,o?.map(uu)??[])}),{ref(n){return wt({queryId:b(),rawNode:k.createWithChild(pe(n))})},val(n){return wt({queryId:b(),rawNode:k.createWithChild(O(n))})},table(n){return wt({queryId:b(),rawNode:k.createWithChild(T(n))})},id(...n){let o=Array(n.length+1).fill(".");return o[0]="",o[o.length-1]="",wt({queryId:b(),rawNode:k.create(o,n.map(ot.create))})},lit(n){return wt({queryId:b(),rawNode:k.createWithChild(Qn.createImmediate(n))})},raw(n){return wt({queryId:b(),rawNode:k.createWithSql(n)})},join(n,o=f`, `){let s=Array(Math.max(2*n.length-1,0)),a=o.toOperationNode();for(let c=0;c<n.length;++c)if(s[2*c]=uu(n[c]),c!==n.length-1)s[2*c+1]=a;return wt({queryId:b(),rawNode:k.createWithChildren(s)})}});function uu(n){if(D(n))return n.toOperationNode();return O(n)}class So{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=d({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this),AlterTypeNode:this.visitAlterType.bind(this),AddValueNode:this.visitAddValue.bind(this),RenameValueNode:this.visitRenameValue.bind(this)});visitNode=(n)=>{this.nodeStack.push(n),this.#e[n.kind](n),this.nodeStack.pop()}}var Yc=/'/g,Xc=/['"]/g;class Do extends So{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(n,o){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(n),d({query:n,queryId:o,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!K.is(this.parentNode)&&!Z.is(this.parentNode)&&!ze.is(this.parentNode)&&!Qi.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("select"),n.distinctOn)this.append(" "),this.compileDistinctOn(n.distinctOn);if(n.frontModifiers?.length)this.append(" "),this.compileList(n.frontModifiers," ");if(n.top)this.append(" "),this.visitNode(n.top);if(n.selections)this.append(" "),this.compileList(n.selections);if(n.from)this.append(" "),this.visitNode(n.from);if(n.joins)this.append(" "),this.compileList(n.joins," ");if(n.where)this.append(" "),this.visitNode(n.where);if(n.groupBy)this.append(" "),this.visitNode(n.groupBy);if(n.having)this.append(" "),this.visitNode(n.having);if(n.setOperations)this.append(" "),this.compileList(n.setOperations," ");if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(n.offset)this.append(" "),this.visitNode(n.offset);if(n.fetch)this.append(" "),this.visitNode(n.fetch);if(n.endModifiers?.length)this.append(" "),this.compileList(this.sortSelectModifiers(n.endModifiers)," ");if(o)this.append(")")}visitFrom(n){this.append("from "),this.compileList(n.froms)}visitSelection(n){this.visitNode(n.selection)}visitColumn(n){this.visitNode(n.column)}compileDistinctOn(n){this.append("distinct on ("),this.compileList(n),this.append(")")}compileList(n,o=", "){let s=n.length-1;for(let a=0;a<=s;a++)if(this.visitNode(n[a]),a<s)this.append(o)}visitWhere(n){this.append("where "),this.visitNode(n.where)}visitHaving(n){this.append("having "),this.visitNode(n.having)}visitInsertQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode)&&!fe.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append(n.replace?"replace":"insert"),n.orAction)this.append(" "),this.visitNode(n.orAction);if(n.top)this.append(" "),this.visitNode(n.top);if(n.into)this.append(" into "),this.visitNode(n.into);if(n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.output)this.append(" "),this.visitNode(n.output);if(n.values)this.append(" "),this.visitNode(n.values);if(n.defaultValues)this.append(" "),this.append("default values");if(n.onConflict)this.append(" "),this.visitNode(n.onConflict);if(n.onDuplicateKey)this.append(" "),this.visitNode(n.onDuplicateKey);if(n.returning)this.append(" "),this.visitNode(n.returning);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitValues(n){this.append("values "),this.compileList(n.values)}visitDeleteQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("delete "),n.top)this.visitNode(n.top),this.append(" ");if(this.visitNode(n.from),n.output)this.append(" "),this.visitNode(n.output);if(n.using)this.append(" "),this.visitNode(n.using);if(n.joins)this.append(" "),this.compileList(n.joins," ");if(n.where)this.append(" "),this.visitNode(n.where);if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitReturning(n){this.append("returning "),this.compileList(n.selections)}visitAlias(n){this.visitNode(n.node),this.append(" as "),this.visitNode(n.alias)}visitReference(n){if(n.table)this.visitNode(n.table),this.append(".");this.visitNode(n.column)}visitSelectAll(n){this.append("*")}visitIdentifier(n){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(n),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(n){if(!w(n.name))throw Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(n.name))}visitAnd(n){this.visitNode(n.left),this.append(" and "),this.visitNode(n.right)}visitOr(n){this.visitNode(n.left),this.append(" or "),this.visitNode(n.right)}visitValue(n){if(n.immediate)this.appendImmediateValue(n.value);else this.appendValue(n.value)}visitValueList(n){this.append("("),this.compileList(n.values),this.append(")")}visitTuple(n){this.append("("),this.compileList(n.values),this.append(")")}visitPrimitiveValueList(n){this.append("(");let{values:o}=n;for(let s=0;s<o.length;++s)if(this.appendValue(o[s]),s!==o.length-1)this.append(", ");this.append(")")}visitParens(n){this.append("("),this.visitNode(n.node),this.append(")")}visitJoin(n){if(this.append(el[n.joinType]),this.append(" "),this.visitNode(n.table),n.on)this.append(" "),this.visitNode(n.on)}visitOn(n){this.append("on "),this.visitNode(n.on)}visitRaw(n){let{sqlFragments:o,parameters:s}=n;for(let a=0;a<o.length;++a)if(this.append(o[a]),s.length>a)this.visitNode(s[a])}visitOperator(n){this.append(n.operator)}visitTable(n){this.visitNode(n.table)}visitSchemableIdentifier(n){if(n.schema)this.visitNode(n.schema),this.append(".");this.visitNode(n.identifier)}visitCreateTable(n){if(this.append("create "),n.frontModifiers?.length)this.compileList(n.frontModifiers," "),this.append(" ");if(n.temporary)this.append("temporary ");if(this.append("table "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.table),!n.selectQuery)this.append(" ("),this.compileList([...n.columns,...n.constraints??[],...n.indexes??[]]),this.append(")");if(n.onCommit)this.append(" on commit "),this.append(n.onCommit);if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ");if(n.selectQuery)this.append(" as "),this.visitNode(n.selectQuery)}visitColumnDefinition(n){if(n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.column),this.append(" "),this.visitNode(n.dataType),n.unsigned)this.append(" unsigned");if(n.frontModifiers&&n.frontModifiers.length>0)this.append(" "),this.compileList(n.frontModifiers," ");if(n.generated)this.append(" "),this.visitNode(n.generated);if(n.identity)this.append(" identity");if(n.defaultTo)this.append(" "),this.visitNode(n.defaultTo);if(n.notNull)this.append(" not null");if(n.unique)this.append(" unique");if(n.nullsNotDistinct)this.append(" nulls not distinct");if(n.primaryKey)this.append(" primary key");if(n.autoIncrement)this.append(" "),this.append(this.getAutoIncrement());if(n.references)this.append(" "),this.visitNode(n.references);if(n.check)this.append(" "),this.visitNode(n.check);if(n.endModifiers&&n.endModifiers.length>0)this.append(" "),this.compileList(n.endModifiers," ")}getAutoIncrement(){return"auto_increment"}visitReferences(n){if(this.append("references "),this.visitNode(n.table),this.append(" ("),this.compileList(n.columns),this.append(")"),n.onDelete)this.append(" on delete "),this.append(n.onDelete);if(n.onUpdate)this.append(" on update "),this.append(n.onUpdate)}visitDropTable(n){if(this.append("drop "),n.temporary)this.append("temporary ");if(this.append("table "),n.ifExists)this.append("if exists ");if(this.visitNode(n.table),n.cascade)this.append(" cascade")}visitDataType(n){this.append(n.dataType)}visitOrderBy(n){this.append("order by "),this.compileList(n.items)}visitOrderByItem(n){if(this.visitNode(n.orderBy),n.collation)this.append(" "),this.visitNode(n.collation);if(n.direction)this.append(" "),this.visitNode(n.direction);if(n.nulls)this.append(" nulls "),this.append(n.nulls)}visitGroupBy(n){this.append("group by "),this.compileList(n.items)}visitGroupByItem(n){this.visitNode(n.groupBy)}visitUpdateQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode)&&!fe.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("update "),n.top)this.visitNode(n.top),this.append(" ");if(n.table)this.visitNode(n.table),this.append(" ");if(this.append("set "),n.updates)this.compileList(n.updates);if(n.output)this.append(" "),this.visitNode(n.output);if(n.from)this.append(" "),this.visitNode(n.from);if(n.joins){if(!n.from)throw Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(n.joins," ")}if(n.where)this.append(" "),this.visitNode(n.where);if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitColumnUpdate(n){this.visitNode(n.column),this.append(" = "),this.visitNode(n.value)}visitLimit(n){this.append("limit "),this.visitNode(n.limit)}visitOffset(n){this.append("offset "),this.visitNode(n.offset)}visitOnConflict(n){if(this.append("on conflict"),n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");else if(n.constraint)this.append(" on constraint "),this.visitNode(n.constraint);else if(n.indexExpression)this.append(" ("),this.visitNode(n.indexExpression),this.append(")");if(n.indexWhere)this.append(" "),this.visitNode(n.indexWhere);if(n.doNothing===!0)this.append(" do nothing");else if(n.updates){if(this.append(" do update set "),this.compileList(n.updates),n.updateWhere)this.append(" "),this.visitNode(n.updateWhere)}}visitOnDuplicateKey(n){this.append("on duplicate key update "),this.compileList(n.updates)}visitCreateIndex(n){if(this.append("create "),n.unique)this.append("unique ");if(this.append("index "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.name),n.table)this.append(" on "),this.visitNode(n.table);if(n.using)this.append(" using "),this.visitNode(n.using);if(n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.nullsNotDistinct)this.append(" nulls not distinct");if(n.where)this.append(" "),this.visitNode(n.where)}visitDropIndex(n){if(this.append("drop index "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.table)this.append(" on "),this.visitNode(n.table);if(n.cascade)this.append(" cascade")}visitCreateSchema(n){if(this.append("create schema "),n.ifNotExists)this.append("if not exists ");this.visitNode(n.schema)}visitDropSchema(n){if(this.append("drop schema "),n.ifExists)this.append("if exists ");if(this.visitNode(n.schema),n.cascade)this.append(" cascade")}visitPrimaryKeyConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");this.append("primary key ("),this.compileList(n.columns),this.append(")"),this.buildDeferrable(n)}buildDeferrable(n){if(n.deferrable!==void 0)if(n.deferrable)this.append(" deferrable");else this.append(" not deferrable");if(n.initiallyDeferred!==void 0)if(n.initiallyDeferred)this.append(" initially deferred");else this.append(" initially immediate")}visitUniqueConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");if(this.append("unique"),n.nullsNotDistinct)this.append(" nulls not distinct");this.append(" ("),this.compileList(n.columns),this.append(")"),this.buildDeferrable(n)}visitCheckConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");this.append("check ("),this.visitNode(n.expression),this.append(")")}visitForeignKeyConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");if(this.append("foreign key ("),this.compileList(n.columns),this.append(") "),this.visitNode(n.references),n.onDelete)this.append(" on delete "),this.append(n.onDelete);if(n.onUpdate)this.append(" on update "),this.append(n.onUpdate);this.buildDeferrable(n)}visitList(n){this.compileList(n.items)}visitWith(n){if(this.append("with "),n.recursive)this.append("recursive ");this.compileList(n.expressions)}visitCommonTableExpression(n){if(this.visitNode(n.name),this.append(" as "),Ft(n.materialized)){if(!n.materialized)this.append("not ");this.append("materialized ")}this.visitNode(n.expression)}visitCommonTableExpressionName(n){if(this.visitNode(n.table),n.columns)this.append("("),this.compileList(n.columns),this.append(")")}visitAlterTable(n){if(this.append("alter table "),this.visitNode(n.table),this.append(" "),n.renameTo)this.append("rename to "),this.visitNode(n.renameTo);if(n.setSchema)this.append("set schema "),this.visitNode(n.setSchema);if(n.addConstraint)this.visitNode(n.addConstraint);if(n.dropConstraint)this.visitNode(n.dropConstraint);if(n.renameConstraint)this.visitNode(n.renameConstraint);if(n.columnAlterations)this.compileColumnAlterations(n.columnAlterations);if(n.addIndex)this.visitNode(n.addIndex);if(n.dropIndex)this.visitNode(n.dropIndex)}visitAddColumn(n){this.append("add column "),this.visitNode(n.column)}visitRenameColumn(n){this.append("rename column "),this.visitNode(n.column),this.append(" to "),this.visitNode(n.renameTo)}visitDropColumn(n){if(this.append("drop column "),n.ifExists)this.append("if exists ");this.visitNode(n.column)}visitAlterColumn(n){if(this.append("alter column "),this.visitNode(n.column),this.append(" "),n.dataType){if(this.announcesNewColumnDataType())this.append("type ");if(this.visitNode(n.dataType),n.dataTypeExpression)this.append("using "),this.visitNode(n.dataTypeExpression)}if(n.setDefault)this.append("set default "),this.visitNode(n.setDefault);if(n.dropDefault)this.append("drop default");if(n.setNotNull)this.append("set not null");if(n.dropNotNull)this.append("drop not null")}visitModifyColumn(n){this.append("modify column "),this.visitNode(n.column)}visitAddConstraint(n){this.append("add "),this.visitNode(n.constraint)}visitDropConstraint(n){if(this.append("drop constraint "),n.ifExists)this.append("if exists ");if(this.visitNode(n.constraintName),n.modifier==="cascade")this.append(" cascade");else if(n.modifier==="restrict")this.append(" restrict")}visitRenameConstraint(n){this.append("rename constraint "),this.visitNode(n.oldName),this.append(" to "),this.visitNode(n.newName)}visitSetOperation(n){if(this.append(n.operator),this.append(" "),n.all)this.append("all ");this.visitNode(n.expression)}visitCreateView(n){if(this.append("create "),n.orReplace)this.append("or replace ");if(n.materialized)this.append("materialized ");if(n.temporary)this.append("temporary ");if(this.append("view "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.name),this.append(" "),n.columns)this.append("("),this.compileList(n.columns),this.append(") ");if(n.as)this.append("as "),this.visitNode(n.as)}visitRefreshMaterializedView(n){if(this.append("refresh materialized view "),n.concurrently)this.append("concurrently ");if(this.visitNode(n.name),n.withNoData)this.append(" with no data");else this.append(" with data")}visitDropView(n){if(this.append("drop "),n.materialized)this.append("materialized ");if(this.append("view "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.cascade)this.append(" cascade")}visitGenerated(n){if(this.append("generated "),n.always)this.append("always ");if(n.byDefault)this.append("by default ");if(this.append("as "),n.identity)this.append("identity");if(n.expression)this.append("("),this.visitNode(n.expression),this.append(")");if(n.stored)this.append(" stored")}visitDefaultValue(n){this.append("default "),this.visitNode(n.defaultValue)}visitSelectModifier(n){if(n.rawModifier)this.visitNode(n.rawModifier);else this.append(Zc[n.modifier]);if(n.of)this.append(" of "),this.compileList(n.of,", ")}visitCreateType(n){if(this.append("create type "),this.visitNode(n.name),n.enum)this.append(" as enum "),this.visitNode(n.enum)}visitDropType(n){if(this.append("drop type "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.additionalNames?.length)this.append(", "),this.compileList(n.additionalNames);if(n.cascade)this.append(" cascade")}visitAlterType(n){if(this.append("alter type "),this.visitNode(n.name),this.append(" "),n.addValue)this.visitNode(n.addValue);else if(n.renameTo)this.append("rename to "),this.visitNode(n.renameTo);else if(n.renameValue)this.visitNode(n.renameValue);else if(n.setSchema)this.append("set schema "),this.visitNode(n.setSchema)}visitAddValue(n){if(this.append("add value "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.value),n.neighborValue)this.append(n.isBefore?" before ":" after "),this.visitNode(n.neighborValue)}visitRenameValue(n){this.append("rename value "),this.visitNode(n.oldValue),this.append(" to "),this.visitNode(n.newValue)}visitExplain(n){if(this.append("explain"),n.options||n.format){if(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),n.options){if(this.visitNode(n.options),n.format)this.append(this.getExplainOptionsDelimiter())}if(n.format)this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(n.format);this.append(this.getRightExplainOptionsWrapper())}}visitDefaultInsertValue(n){this.append("default")}visitAggregateFunction(n){if(this.append(n.func),this.append("("),n.distinct)this.append("distinct ");if(this.compileList(n.aggregated),n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(this.append(")"),n.withinGroup)this.append(" within group ("),this.visitNode(n.withinGroup),this.append(")");if(n.filter)this.append(" filter("),this.visitNode(n.filter),this.append(")");if(n.over)this.append(" "),this.visitNode(n.over)}visitOver(n){if(this.append("over("),n.partitionBy){if(this.visitNode(n.partitionBy),n.orderBy)this.append(" ")}if(n.orderBy)this.visitNode(n.orderBy);this.append(")")}visitPartitionBy(n){this.append("partition by "),this.compileList(n.items)}visitPartitionByItem(n){this.visitNode(n.partitionBy)}visitBinaryOperation(n){this.visitNode(n.leftOperand),this.append(" "),this.visitNode(n.operator),this.append(" "),this.visitNode(n.rightOperand)}visitUnaryOperation(n){if(this.visitNode(n.operator),!this.isMinusOperator(n.operator))this.append(" ");this.visitNode(n.operand)}isMinusOperator(n){return we.is(n)&&n.operator==="-"}visitUsing(n){this.append("using "),this.compileList(n.tables)}visitFunction(n){this.append(n.func),this.append("("),this.compileList(n.arguments),this.append(")")}visitCase(n){if(this.append("case"),n.value)this.append(" "),this.visitNode(n.value);if(n.when)this.append(" "),this.compileList(n.when," ");if(n.else)this.append(" else "),this.visitNode(n.else);if(this.append(" end"),n.isStatement)this.append(" case")}visitWhen(n){if(this.append("when "),this.visitNode(n.condition),n.result)this.append(" then "),this.visitNode(n.result)}visitJSONReference(n){this.visitNode(n.reference),this.visitNode(n.traversal)}visitJSONPath(n){if(n.inOperator)this.visitNode(n.inOperator);this.append("'$");for(let o of n.pathLegs)this.visitNode(o);this.append("'")}visitJSONPathLeg(n){let o=n.type==="ArrayLocation",s=String(n.value);if(o)this.append("["),this.append(this.sanitizeStringLiteral(s)),this.append("]");else this.append('."'),this.append(this.sanitizeJSONPathMemberValue(s)),this.append('"')}visitJSONOperatorChain(n){for(let o=0,s=n.values.length;o<s;o++){if(o===s-1)this.visitNode(n.operator);else this.append("->");this.visitNode(n.values[o])}}visitMergeQuery(n){if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("merge "),n.top)this.visitNode(n.top),this.append(" ");if(this.append("into "),this.visitNode(n.into),n.using)this.append(" "),this.visitNode(n.using);if(n.whens)this.append(" "),this.compileList(n.whens," ");if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.output)this.append(" "),this.visitNode(n.output);if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitMatched(n){if(n.not)this.append("not ");if(this.append("matched"),n.bySource)this.append(" by source")}visitAddIndex(n){if(!this.parentNode||!Z.is(this.parentNode))this.append("add ");if(n.unique)this.append("unique ");if(this.append("index "),this.visitNode(n.name),n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.using)this.append(" using "),this.visitNode(n.using)}visitCast(n){this.append("cast("),this.visitNode(n.expression),this.append(" as "),this.visitNode(n.dataType),this.append(")")}visitFetch(n){this.append("fetch next "),this.visitNode(n.rowCount),this.append(` rows ${n.modifier}`)}visitOutput(n){this.append("output "),this.compileList(n.selections)}visitTop(n){if(this.append(`top(${n.expression})`),n.modifiers)this.append(` ${n.modifiers}`)}visitOrAction(n){this.append(n.action)}visitCollate(n){this.append("collate "),this.visitNode(n.collation)}append(n){this.#e+=n}appendValue(n){this.addParameter(n),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(n){let o=this.getLeftIdentifierWrapper(),s=this.getRightIdentifierWrapper(),a="";for(let c of n)if(a+=c,c===o)a+=o;else if(c===s)a+=s;return a}sanitizeStringLiteral(n){return n.replace(Yc,"''")}sanitizeJSONPathMemberValue(n){return n.replace(Xc,(o)=>o==="'"?"''":"\\\"")}addParameter(n){this.#t.push(n)}appendImmediateValue(n){if(w(n))this.appendStringLiteral(n);else if(bt(n)||Ft(n)||Zt(n))this.append(n.toString());else if(Xt(n))this.append("null");else if($a(n))this.appendImmediateValue(n.toISOString());else throw Error(`invalid immediate value ${n}`)}appendStringLiteral(n){this.append("'"),this.append(this.sanitizeStringLiteral(n)),this.append("'")}sortSelectModifiers(n){return d(n.toSorted((o,s)=>o.modifier&&s.modifier?cu[o.modifier]-cu[s.modifier]:1))}compileColumnAlterations(n){this.compileList(n)}announcesNewColumnDataType(){return!0}}var Zc=d({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),cu=d({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),el=d({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"});var cn=d({raw(n,o=[]){return d({sql:n,query:k.createWithSql(n),parameters:d(o),queryId:b()})}});class Oo{get supportsCreateIfNotExists(){return!0}get supportsMultipleConnections(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}var tl=/"/g,rl=/[\\'"]/g;class gi extends Do{visitOrAction(n){this.append("or "),this.append(n.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(n){return n.replace(tl,'""')}sanitizeJSONPathMemberValue(n){return n.replace(rl,(o)=>o==="\\"?"\\\\":o==="'"?"''":"\\\"")}visitDefaultInsertValue(n){this.append("null")}}class Ro{transformQuery(n){return n.node}async transformResult(n){return n.result}}var oe="kysely_migration",mn="kysely_migration_lock",il=!1,Io="migration_lock",qL=d({__noMigrations__:!0});class qO{#e;constructor(n){this.#e=d(n)}async getMigrations(){let o=await this.#p(this.#i)?await this.#e.db.withPlugin(this.#n).selectFrom(this.#i).select(["name","timestamp"]).$narrowType().execute():[];return(await this.#f()).map(({name:a,...c})=>{let m=o.find((p)=>p.name===a);return{name:a,migration:c,executedAt:m?new Date(m.timestamp):void 0}})}async migrateToLatest(n){return this.#t(()=>({direction:"Up",step:1/0}),n)}async migrateTo(n,o){return this.#t(({migrations:s,executedMigrations:a,pendingMigrations:c})=>{if(M(n)&&n.__noMigrations__===!0)return{direction:"Down",step:1/0};if(!s.find((_)=>_.name===n))throw Error(`migration "${n}" doesn't exist`);let m=a.indexOf(n),p=c.findIndex((_)=>_.name===n);if(m!==-1)return{direction:"Down",step:a.length-m-1};if(p!==-1)return{direction:"Up",step:p+1};throw Error(`migration "${n}" isn't executed or pending`)},o)}async migrateUp(n){return this.#t(()=>({direction:"Up",step:1}),n)}async migrateDown(n){return this.#t(()=>({direction:"Down",step:1}),n)}async#t(n,o){try{return await this.#s(),await this.#c(),await this.#l(),await this.#d(),await this.#x(n,o)}catch(s){if(s instanceof ln)return s.resultSet;return{error:s}}}get#r(){return this.#e.migrationTableSchema}get#i(){return this.#e.migrationTableName??oe}get#o(){return this.#e.migrationLockTableName??mn}get#a(){return this.#e.allowUnorderedMigrations??il}get#n(){if(this.#r)return new Ke(this.#r);return new Ro}async#s(){if(!this.#r)return;if(await this.#m())return;try{await this.#h(this.#e.db.schema.createSchema(this.#r))}catch(o){if(!await this.#m())throw o}}async#c(){if(await this.#p(this.#i))return;try{await this.#h(this.#e.db.schema.withPlugin(this.#n).createTable(this.#i).addColumn("name","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("timestamp","varchar(255)",(o)=>o.notNull()))}catch(o){if(!await this.#p(this.#i))throw o}}async#l(){if(await this.#p(this.#o))return;try{await this.#h(this.#e.db.schema.withPlugin(this.#n).createTable(this.#o).addColumn("id","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("is_locked","integer",(o)=>o.notNull().defaultTo(0)))}catch(o){if(!await this.#p(this.#o))throw o}}async#d(){if(await this.#u())return;try{await this.#e.db.withPlugin(this.#n).insertInto(this.#o).values({id:Io,is_locked:0}).execute()}catch(o){if(!await this.#u())throw o}}async#m(){return(await this.#e.db.introspection.getSchemas()).some((o)=>o.name===this.#r)}async#p(n){let o=this.#r;return(await this.#e.db.introspection.getTables({withInternalKyselyTables:!0})).some((a)=>a.name===n&&(!o||a.schema===o))}async#u(){return!!await this.#e.db.withPlugin(this.#n).selectFrom(this.#o).where("id","=",Io).select("id").executeTakeFirst()}async#x(n,o){let s=this.#e.db.getExecutor().adapter,a=d({lockTable:this.#e.migrationLockTableName??mn,lockRowId:Io,lockTableSchema:this.#e.migrationTableSchema}),c=async(_)=>{let y=await this.#N(_);if(y.migrations.length===0)return{results:[]};let{direction:x,step:N}=n(y);if(N<=0)return{results:[]};if(x==="Down")return await this.#C(_,y,N);else if(x==="Up")return await this.#E(_,y,N);return{results:[]}},m=async(_,y)=>{try{return await s.acquireMigrationLock(_,a),await y(_)}finally{await s.releaseMigrationLock(_,a)}},p=o?.disableTransactions??this.#e.disableTransactions;if(this.#e.db.isTransaction){if(!s.supportsTransactionalDdl)throw Error("Transactional DDL is not supported in this dialect. Passing a transaction to this migrator would result in failure or unexpected behavior.");if(p)throw Error("`disableTransactions` is true but the migrator was given a transaction. Passing a transaction to this migrator would result in failure or unexpected behavior.");return m(this.#e.db,c)}if(s.supportsTransactionalDdl&&!p)return this.#e.db.connection().execute((_)=>m(_,(y)=>y.transaction().execute((x)=>c(x))));return this.#e.db.connection().execute((_)=>m(_,c))}async#N(n){let o=await this.#f(),s=await this.#v(n);if(this.#b(o,s),!this.#a)this.#w(o,s);let a=this.#g(o,s);return d({migrations:o,executedMigrations:s,lastMigration:Ga(s),pendingMigrations:a})}#g(n,o){return n.filter((s)=>!o.includes(s.name))}async#f(){let n=await this.#e.provider.getMigrations();return Object.keys(n).sort().map((o)=>({...n[o],name:o}))}async#v(n){let o=await n.withPlugin(this.#n).selectFrom(this.#i).select(["name","timestamp"]).$narrowType().execute(),s=this.#e.nameComparator||((a,c)=>a.localeCompare(c));return o.sort((a,c)=>{if(a.timestamp===c.timestamp)return s(a.name,c.name);return new Date(a.timestamp).getTime()-new Date(c.timestamp).getTime()}).map((a)=>a.name)}#b(n,o){for(let s of o)if(!n.some((a)=>a.name===s))throw Error(`corrupted migrations: previously executed migration ${s} is missing`)}#w(n,o){for(let s=0;s<o.length;++s)if(n[s].name!==o[s])throw Error(`corrupted migrations: expected previously executed migration ${o[s]} to be at index ${s} but ${n[s].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)}async#C(n,o,s){let a=o.executedMigrations.toReversed().slice(0,s).map((m)=>o.migrations.find((p)=>p.name===m)),c=a.map((m)=>({migrationName:m.name,direction:"Down",status:"NotExecuted"}));for(let m=0;m<c.length;++m){let p=a[m];try{if(p.down)await p.down(n),await n.withPlugin(this.#n).deleteFrom(this.#i).where("name","=",p.name).execute(),c[m]={migrationName:p.name,direction:"Down",status:"Success"}}catch(_){throw c[m]={migrationName:p.name,direction:"Down",status:"Error"},new ln({error:_,results:c})}}return{results:c}}async#E(n,o,s){let c=o.pendingMigrations.slice(0,s).map((m)=>({migrationName:m.name,direction:"Up",status:"NotExecuted"}));for(let m=0;m<c.length;m++){let p=o.pendingMigrations[m];try{await p.up(n),await n.withPlugin(this.#n).insertInto(this.#i).values({name:p.name,timestamp:new Date().toISOString()}).execute(),c[m]={migrationName:p.name,direction:"Up",status:"Success"}}catch(_){throw c[m]={migrationName:p.name,direction:"Up",status:"Error"},new ln({error:_,results:c})}}return{results:c}}async#h(n){if(this.#e.db.getExecutor().adapter.supportsCreateIfNotExists)n=n.ifNotExists();await n.execute()}}class ln extends Error{#e;constructor(n){super();this.#e=n}get resultSet(){return this.#e}}class wi{#e;constructor(n){this.#e=n}async getSchemas(){return[]}async getTables(n={withInternalKyselyTables:!1}){return await this.#r(n)}#t(n,o){let s=n.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").select(["name","sql","type"]).orderBy("name");if(!o.withInternalKyselyTables)s=s.where("name","!=",oe).where("name","!=",mn);return s}async#r(n){let o=await this.#t(this.#e,n).execute(),s=await this.#e.with("table_list",(c)=>this.#t(c,n)).selectFrom(["table_list as tl",f`pragma_table_info(tl.name)`.as("p")]).select(["tl.name as table","p.cid","p.name","p.type","p.notnull","p.dflt_value","p.pk"]).orderBy("tl.name").orderBy("p.cid").execute(),a={};for(let c of s)a[c.table]??=[],a[c.table].push(c);return o.map(({name:c,sql:m,type:p})=>{let _=m?.split(/[\(\),]/)?.find((x)=>x.toLowerCase().includes("autoincrement"))?.trimStart()?.split(/\s+/)?.[0]?.replace(/["`]/g,""),y=a[c]??[];if(!_){let x=y.filter((N)=>N.pk>0);if(x.length===1&&x[0].type.toLowerCase()==="integer")_=x[0].name}return{name:c,isView:p==="view",isForeign:!1,columns:y.map((x)=>({name:x.name,dataType:x.type,isNullable:!x.notnull,isAutoIncrementing:x.name===_,hasDefaultValue:x.dflt_value!=null,comment:void 0}))}})}}class bE extends Oo{get supportsMultipleConnections(){return!1}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(n,o){}async releaseMigrationLock(n,o){}}class Po{#e;constructor(n){this.#e=n}async getMigrations(){let n={},o=await this.#e.fs.readdir(this.#e.migrationFolder);for(let s of o){if(!this.hasExpectedExtension(s)){this.#e.onFileIgnored?.(s,"Extension");continue}let a=this.#e.path.join(this.#e.migrationFolder,s),c=this.#e.import?await this.#e.import(a):await import(a),m=s.substring(0,s.lastIndexOf("."));if(lu(c?.default))n[m]=c.default;else if(lu(c))n[m]=c;else this.#e.onFileIgnored?.(s,"NotMigration")}return n}hasExpectedExtension(n){return n.endsWith(".js")||n.endsWith(".ts")&&!n.endsWith(".d.ts")||n.endsWith(".mjs")||n.endsWith(".mts")&&!n.endsWith(".d.mts")||n.endsWith(".cjs")||n.endsWith(".cts")&&!n.endsWith(".d.cts")}}function lu(n){return M(n)&&W(n.up)}class vi{async acquire(){}async release(){}}import{readFileSync as ol}from"fs";import{execFileSync as nl}from"child_process";var mu=(n,o,s)=>nl(n,o,{encoding:"utf-8",timeout:s.timeout,env:s.env});var pu="darwin-utc";function _d(n){if(n===void 0)return{};return n.startsWith("darwin-utc:")?{processGenerationTokenUtc:n}:{processGenerationToken:n}}function Dr(n){if(typeof n.processGenerationTokenUtc==="string")return n.processGenerationTokenUtc;return typeof n.processGenerationToken==="string"?n.processGenerationToken:void 0}var sl="/proc/sys/kernel/random/boot_id",al=pu,dl="darwin",_2={LC_ALL:"C",TZ:"UTC"},ul=1000,cl=["pid","startedAt","version","buildId","entryScript"];function G9(n,o){let s=Dr(o);return cl.every((a)=>o[a]===n[a])&&(s===void 0||s===n.processGenerationToken)}function dU(n){let o=n.trim().replace(/\s+/g," ");return o.length>0?`${al}:${o}`:void 0}function fu(n){let o=n.indexOf(":");return o<0?"":n.slice(0,o)}function Za(n,o){if(n===o)return"same";let s=fu(n);return s===fu(o)&&s!==dl?"different":"incomparable"}function ll(n,o){let s=n.lastIndexOf(")");if(s<0)return;let c=n.slice(s+1).trim().split(/\s+/)[19],m=o.trim();if(!m||!c||!/^\d+$/.test(c))return;return`linux:${m}:${c}`}function ml(n=ol){let o;return(s)=>{try{let a=n(`/proc/${s}/stat`,"utf-8");return o??=n(sl,"utf-8"),ll(a,o)}catch(a){e.debug(`Unable to read Linux process generation token for PID ${s}: ${a}`);return}}}var py=ml(),pl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],fl=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hl(n){if(!Number.isFinite(n)||!Number.isInteger(n)||n<=0)return;let o=new Date(n*1000);if(!Number.isFinite(o.getTime()))return;let s=[o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds()].map((a)=>String(a).padStart(2,"0")).join(":");return`${pl[o.getUTCDay()]} ${fl[o.getUTCMonth()]} ${o.getUTCDate()} ${s} ${String(o.getUTCFullYear()).padStart(4,"0")}`}function _l(n,o){if(o<16||n.byteLength<16)return;let s=Number(new DataView(n.buffer,n.byteOffset,16).getBigInt64(0,!0));return s>0&&Number.isSafeInteger(s)?s:void 0}function yl(){let{dlopen:n,ptr:o,FFIType:s}=Pt("bun:ffi"),a=n("/usr/lib/libSystem.B.dylib",{sysctl:{args:[s.ptr,s.u32,s.ptr,s.ptr,s.ptr,s.u64],returns:s.i32}}),c=new Int32Array([1,14,1,0]),m=new Uint8Array(648),p=new BigUint64Array(1);return{readStartSeconds(_){try{return c[3]=_,p[0]=BigInt(m.byteLength),a.symbols.sysctl(o(c),c.length,o(m),o(p),null,0)===0?_l(m,Number(p[0])):void 0}catch(y){e.debug(`Unable to read Darwin sysctl process start: ${r(y)}`);return}}}}var hu=!1,Lo;function _u(){if(process.platform!=="darwin"||hu)return Lo;hu=!0;try{Lo=yl()}catch(n){e.debug(`Unable to load Darwin sysctl process start reader: ${r(n)}`)}return Lo}function Ace(n=process.platform){if(n==="linux")return!0;return n==="darwin"&&_u()!==void 0}function xl(n={}){let{startReader:o={readStartSeconds:(c)=>_u()?.readStartSeconds(c)},runCommand:s=mu,captureDisabled:a=()=>yn.processGenerationCaptureDisabled?.()??!1}=n;return(c)=>{if(!a())try{let m=o.readStartSeconds(c),p=m===void 0?void 0:hl(m);if(p!==void 0)return dU(p)}catch(m){e.debug(`Unable to capture Darwin process start: ${r(m)}`)}return yu(c,s)}}var Nl=xl();function my(n,o){return o===void 0?Nl(n):yu(n,o)}function yu(n,o){try{return dU(o("ps",["-p",String(n),"-o","lstart="],{timeout:ul,env:{...process.env,..._2}}))}catch(s){e.debug(`Unable to read Darwin process generation token for PID ${n}: ${s}`);return}}function gl(n={}){let{platform:o=process.platform,pid:s=process.pid,readLinuxProcessGenerationToken:a=py,readDarwinProcessGenerationToken:c=my}=n,m=!1,p;return()=>{if(m)return p;m=!0;try{if(o==="linux")p=a(s);else if(o==="darwin")p=c(s)}catch(_){e.debug(`Unable to read current daemon process generation token: ${_}`)}return p}}var wl=gl(),Mf=()=>yn.processGenerationCaptureDisabled?.()?void 0:wl();function Ta(n){if(process.platform==="darwin")return my(n);if(process.platform==="linux")return py(n);return}function vl(n={}){let o=n.platform??process.platform,s=n.now??(()=>i.now()),a=n.captureDisabled??(()=>yn.processGenerationCaptureDisabled?.()??!1),c=n.sameVerdictTtlMs??1000,m=new Map,p=new Map,_=new Map;function y(x){try{return(o==="linux"?n.readLinuxProcessGenerationToken??py:o==="darwin"?n.readDarwinProcessGenerationToken??my:void 0)?.(x)}catch(N){e.debug(`Lock owner process generation unreadable: ${r(N)}`);return}}return{current(x){if(a())return;let N=s();for(let[re,de]of m)if(N-de.at>=c)m.delete(re);for(let[re,de]of p)if(N-de>=c)p.delete(re);if(p.has(x))return;let C=m.get(x);if(C)return C.token;let V=y(x);if(V!==void 0)m.set(x,{token:V,at:s()});else p.set(x,s());return V},compare(x,N){if(a())return _.clear(),"unknown";let C=s();for(let[ut,Ka]of _)if(C-Ka.at>=c)_.delete(ut);let V=_.get(x);if(V!==void 0){if(V.token===void 0)return"unknown";if(V.token===N)return"same"}_.delete(x);let re=y(x);if(re===void 0)return _.set(x,{at:s()}),"unknown";let de=Za(N,re);if(de==="same")_.set(x,{token:N,at:C});return de==="incomparable"?"unknown":de}}}var kt=vl();import{existsSync as im,realpathSync as Mu}from"fs";import{basename as nm,dirname as om,join as sm}from"path";var xu=new Set;function ei(n,o,s){return Nf(n,o,s)??s.fallback}function Nf(n,o,s={}){let{env:a=process.env,log:c=e}=s,{name:m,raw:p}=bl(n,o,a);if(p==="")return;let _=jb(p);if(_!==void 0&&_>=(s.min??1))return _;Cl(c,m,p,s);return}function bl(n,o,s){if(s[n]!==void 0||o===void 0)return{name:n,raw:(s[n]??"").trim()};return{name:o,raw:(s[o]??"").trim()}}function jb(n){let o=/^\d+$/.test(n)?Number(n):NaN;return Number.isSafeInteger(o)&&o>0?o:void 0}function Cl(n,o,s,a){let c=`${o}=${s}`;if(xu.has(c))return;xu.add(c);let m=a.min!==void 0?` of at least ${a.min}`:"";n.warn(`Ignoring ${o}=${JSON.stringify(s)}: expected a plain integer${m}; using the default${a.fallback===void 0?"":` ${a.fallback}`}`)}function Zs(n,o=process.env,s={}){return ei(n.name,n.legacyName,{fallback:s.fallback??n.fallback??0,min:n.min,env:o,log:s.log??e})}var bi=(n)=>st(n,{debugLog:e.debug}),Ao=1e4,Ci=Ao,Bo=64,Wo=8,Mo=300000,qo=64,Fo=64,Nu=3;function fy(n,o,s,a){if(a!==void 0)return`${n}
|
|
3
3
|
${o??""}
|
|
4
4
|
${s??""}
|
|
5
5
|
${a}`;if(s===void 0)return o===void 0?String(n):`${n}
|
|
6
6
|
${o}`;return`${n}
|
|
7
7
|
${o??""}
|
|
8
|
-
${s}`}function
|
|
9
|
-
`,4),
|
|
10
|
-
`)||s.includes("\r"))){e.debug("Ignoring invalid single-line lock owner generation token");return}return s}catch(s){e.debug(`Lock owner generation capture unavailable: ${r(s)}`);return}}var wu=8,bt=new WeakMap,_n=new WeakMap,yn=new WeakMap;function $o(n,o,s){return(yn.get(s)?.get(n)?.get(o)??0)>0}function vu(n,o,s,a){if(a.has(o))return;a.add(o);let c=yn.get(s);if(!c)c=new Map,yn.set(s,c);let p=c.get(n);if(!p)p=new Map,c.set(n,p);p.set(o,(p.get(o)??0)+1)}function Go(n,o,s){let a=yn.get(o),c=a?.get(n);for(let p of s){let h=(c?.get(p)??0)-1;if(h>0)c?.set(p,h);else c?.delete(p)}if(!c?.size)a?.delete(n)}function Ci(n,o,s){return Sl(n,o,s)||$o(n,o,s)}var Ko=new WeakSet;function Sl(n,o,s){return Ko.has(s)||_n.get(s)?.get(n)?.has(o)===!0}function bu(n,o,s){let a=_n.get(s);if(!a)a=new Map,_n.set(s,a);let c=a.get(n);if(!c)c=new Set,a.set(n,c);if(c.add(o),c.size>wu)Ko.add(s),c.delete(c.values().next().value);if(a.size>64)Ko.add(s),a.delete(a.keys().next().value)}function xn(n,o,s){let a=_n.get(o),c=a?.get(n);for(let p of c??[])if(s(p))c?.delete(p);if(!c?.size)a?.delete(n)}var Uo=new WeakMap;function Qt(n,o,s,a){let c=bt.get(o);if(!c)c=new Map,bt.set(o,c);let p=c.get(n);if(!p)p={publications:[],markers:new Set},c.set(n,p);let{publications:h,markers:_}=p;if(s&&!h.some((y)=>fn(y,s)))h.push(s);if(h.length>wu)h.shift();if(a)_.add(a);if(_.size>8)_.delete(_.values().next().value);if(c.size>64)c.delete(c.keys().next().value)}function zt(n,o,s){let a=bt.get(o),c=a?.get(n);if(!c)return;if(c.publications=c.publications.filter((p)=>!s(p)),!c.publications.length&&!c.markers.size)a?.delete(n)}var st={releaseMarkerCounter:0,publicationCounter:0};import*as J from"fs";function Dl(n){return Number(n/1000000000n)*1000+Number(n%1000000000n)/1e6}var Ni={mkdir:(n)=>{J.mkdirSync(n,{recursive:!0})},list:(n)=>Li(n),openExclusive:(n)=>J.openSync(n,"wx",384),write:(n,o)=>J.writeFileSync(n,o),close:(n)=>J.closeSync(n),writeFile:(n,o)=>J.writeFileSync(n,o,{flag:"wx",mode:384}),readText:(n)=>J.readFileSync(n,"utf-8"),stat:(n)=>{let{ino:o,mtimeNs:s}=J.statSync(n,{bigint:!0});return{ino:o,mtimeMs:Dl(s)}},rename:(n,o)=>J.renameSync(n,o),link:(n,o)=>J.linkSync(n,o),unlink:(n)=>J.unlinkSync(n),exists:(n)=>J.existsSync(n)};import{dirname as Ol,basename as Cu}from"path";var Eu=/^.+\.(\d+)\.\d+\.[^.]+\.tmp$/;function*Rl(n,o,s,{fileSystem:a,now:c}){let p=`${s}:${n}`,h=Uo.get(a);if(!h)h=new Map,Uo.set(a,h);let _=h.get(p);if(!_||c-_.listedAt>=Mo||c<_.listedAt){if(!_&&h.size>=Fo){let y=h.keys().next().value;if(y!==void 0)h.delete(y)}_={listedAt:c,candidates:[]},h.set(p,_);try{yield{op:"list",path:n};let y=a.list(n).sort().filter((x)=>Eu.exec(x)?.[1]===s);_.candidates=[...y.filter((x)=>x.startsWith(o)),...y.filter((x)=>!x.startsWith(o))].slice(0,qo)}catch(y){e.debug(`Lock tmp listing unavailable at ${n}: ${r(y)}`,y)}}return _.candidates}function*Vo(n,o){let s=o.fileSystem??Ni,a=Ol(n),c=String(o.pid??process.pid),p=`${Cu(n)}.`,h=yield*Rl(a,p,c,{fileSystem:s,now:(o.now??Date.now)()}),_=0;for(let y of[...h]){if(!y.startsWith(p)||Eu.exec(y)?.[1]!==c)continue;let x=n.slice(0,n.length-Cu(n).length)+y,N=yield*Il(x,o);if(N===!1)continue;let C=h.indexOf(y);if(C===-1)continue;if(h.splice(C,1),N===void 0)continue;if(yield*Oe(x,s),++_===Wo)break}}function*Il(n,o){try{yield{op:"stat",path:n};let{mtimeMs:s}=(o.fileSystem??Ni).stat(n);return(o.now??Date.now)()-s>bi}catch(s){e.debug(`Lock tmp age unavailable at ${n}: ${r(s)}`,s);return}}function*Ne(n,o){try{yield{op:"stat",path:n};let{ino:s,mtimeMs:a}=o.stat(n);yield{op:"readText",path:n};let c=o.readText(n);return{ino:s,mtimeMs:a,raw:c}}catch(s){e.debug(`Lock sample failed at ${n}: ${r(s)}`,s);return}}function*dt(n,o){try{return yield{op:"readText",path:n},o.readText(n)}catch(s){e.debug(`Lock read failed at ${n}: ${r(s)}`,s);return}}function*Nn(n,o,s,a=!1){try{return yield{op:"rename",path:n},s.rename(n,o),!0}catch(c){if(a&&c.code!=="ENOENT")e.warn(`Lock rename failed at ${n}: ${r(c)}`,c);else e.debug(`Lock rename failed at ${n}: ${r(c)}`,c);return!1}}function*Tu(n,o,s){let a=s.fileSystem??Ni,c=s.pid??process.pid,p=s.idGenerator??B,h=`${n}.${c}.${++st.publicationCounter}.${p.next()}.tmp`;try{return yield*Oe(h,a),yield{op:"writeFile",path:h},a.writeFile(h,o),yield{op:"rename",path:h},a.rename(h,n),!0}catch(_){return e.warn(`Reclaim guard install failed at ${n}: ${r(_)}`,_),!1}finally{yield*Oe(h,a)}}function*Wr(n,o,s){try{yield{op:"link",path:n},s.link(o,n)}catch(a){if(a.code==="EEXIST")e.debug(`Lock restore destination occupied at ${n}: ${r(a)}`);else if(e.warn(`Displaced lock link restore failed at ${n}: ${r(a)}`,a),!(yield*Pl(n,o,s))){yield*Wt(n,o,s);return}}yield*Oe(o,s)}function*Pl(n,o,s){let a=yield*dt(o,s);if(a===void 0)return e.warn(`Displaced lock exclusive copy could not read ${o}`),!1;return(yield*Du(n,a,s,"Displaced lock exclusive copy"))!=="failed"}function*Mr(n,o){let s;try{yield{op:"stat",path:n},s=o.stat(n)}catch(c){if(c.code==="ENOENT")return e.debug(`Retained lock absent at ${n}: ${r(c)}`),"absent";return e.warn(`Retained lock stat failed at ${n}: ${r(c)}`,c),"unreadable"}let a=yield*dt(n,o);return a===void 0?"unreadable":{...s,raw:a}}function*Wt(n,o,s){let a=`${n}.displaced`,c=yield*Mr(a,s);if(c==="absent"){try{yield{op:"rename",path:o},s.rename(o,a),e.warn(`Displaced lock restore failed at ${n}; retained at ${a}; lock state is held-unknown`)}catch(p){e.warn(`Displaced lock retention failed at ${n}; retaining ${o}: ${r(p)}`,p)}return}if(c!=="unreadable"&&q(yield*Ne(o,s),c)){yield*Oe(o,s);return}e.warn(`Displaced lock retention blocked at ${a}; retaining ${o}; lock state is held-unknown`)}function*qr(n,o,s){try{return yield{op:"stat",path:n},{...s.stat(n),raw:o}}catch(a){e.debug(`Lock publication identity unavailable at ${n}: ${r(a)}`,a);return}}function*Qo(n,o){try{yield{op:"link",path:n},o.link(`${n}.displaced`,n)}catch(s){e.debug(`Retained lock completion skipped at ${n}: ${r(s)}`,s)}}function*Oe(n,o){try{yield{op:"unlink",path:n},o.unlink(n)}catch(s){if(s.code==="ENOENT")e.debug(`Lock cleanup already complete at ${n}: ${r(s)}`);else e.warn(`Lock cleanup failed at ${n}: ${r(s)}`,s)}}function*ku(n,o){try{yield{op:"unlink",path:n},o.unlink(n)}catch(s){if(s.code!=="ENOENT")throw u(s,`Failed to remove stale lock marker at ${n}`);e.debug(`Stale marker already removed at ${n}: ${r(s)}`)}}function*Re(n,o){for(let s=0;s<Nu;s++)try{return yield n,{value:o()}}catch(a){if(e.debug(`Lock ${n.op} attempt failed at ${n.path}: ${r(a)}`,a),a.code==="ENOENT")return"missing"}return"failed"}function*gn(n,o){let s=yield*Re({op:"readText",path:n},()=>o.readText(n));if(s==="failed")e.warn(`Lock release read failed at ${n}; lock left in place`,s);return s}function*Ei(n,o){let s=yield*gn(n,o);return typeof s==="string"?void 0:s.value}function*Fr(n,o,s){let a=yield*Re({op:"rename",path:n},()=>s.rename(n,o));if(a==="failed")e.warn(`Lock release claim failed at ${n}; lock left in place`,a);return typeof a!=="string"}function*zo(n,o,s,{fileSystem:a,idGenerator:c=B,postPublish:p}){let h=`${n}.${s}.${++st.publicationCounter}.${c.next()}.tmp`,_=!1;try{try{yield*Oe(h,a),yield{op:"writeFile",path:h},a.writeFile(h,o),yield{op:"link",path:n},_=!0,a.link(h,n)}catch(y){if(_&&y.code==="EEXIST")return e.debug(`Lock publication contended at ${n}: ${r(y)}`),"contended";return e.warn(`Atomic lock publication failed at ${n}: ${r(y)}`,y),{error:y}}if(p)yield*p(h);return"created"}finally{yield*Oe(h,a)}}function*Su(n,o,s,{fileSystem:a,idGenerator:c=B}){let p=yield*zo(n,o,s,{fileSystem:a,idGenerator:c});if(typeof p==="string")return p;return yield*Du(n,o,a,"Reclaim guard")}function*Du(n,o,s,a){let c;try{yield{op:"openExclusive",path:n},c=s.openExclusive(n);try{yield{op:"write",path:n},s.write(c,o)}finally{yield{op:"close",path:n},s.close(c)}return"created"}catch(p){if(c===void 0&&p.code==="EEXIST")return e.debug(`${a} already held at ${n}: ${r(p)}`),"contended";if(e.warn(`${a} creation failed at ${n}: ${r(p)}`,p),c!==void 0)yield*Oe(n,s);return"failed"}}function*Ou(n,o,s){let a;try{yield{op:"openExclusive",path:n},a=s.openExclusive(n)}catch(c){if(c.code!=="EEXIST")throw u(c,`Failed to create exclusive lock file at ${n}`);return e.debug(`Legacy lock already held at ${n}: ${r(c)}`),!1}try{return yield{op:"write",path:n},s.write(a,o),!0}finally{yield{op:"close",path:n},s.close(a)}}import{createHash as Ll}from"crypto";function Kr(n,o){let s=Ll("sha256").update(o.raw).digest("hex").slice(0,32);return`${n}.reclaim.${Number(o.ino)}.${o.mtimeMs}.${s}`}function*wn(n,o,s){let a=o.fileSystem??Ni,c=o.pid??process.pid,p=Jg(c,o.ownerToken,void 0,s),h=[];for(let _=0;_<Bo;_++){let y=`${n}.${_}`,x=yield*Su(y,p,c,{fileSystem:a,idGenerator:o.idGenerator});if(x==="created"){if(!(yield*Al(n,h,a))){yield*Mt(y,p,a);return}let C=_>0&&(yield*Bl(n,_,p,o));return{k:_,content:p,compacted:C}}if(x==="failed")return;let N=yield*Ne(y,a);if(N===void 0||Wl(N,o))return;h.push(N)}e.warn(`Reclaim guard chain exhausted at ${n}`);return}function*Al(n,o,s){for(let[a,c]of o.entries())if(!q(yield*Ne(`${n}.${a}`,s),c))return!1;return!0}function*Mt(n,o,s){let a=yield*Re({op:"readText",path:n},()=>s.readText(n));if((typeof a==="string"?void 0:a.value)!==o)return e.debug(`Reclaim guard release skipped at ${n}: content changed or unavailable`),!1;return yield*Ru(n,s)}function*Ru(n,o){let s,a=yield*Re({op:"unlink",path:n},()=>{try{o.unlink(n)}catch(c){throw s=c,c}});if(typeof a!=="string")return!0;if(a==="missing")return e.debug(`Reclaim guard already removed at ${n}: ${r(s)}`),!0;return e.warn(`Reclaim guard removal failed at ${n}: ${r(s)}`,s),!1}function*Bl(n,o,s,a){let c=a.fileSystem??Ni;if(!(yield*Tu(`${n}.0`,s,a)))return!1;if(yield*Mt(`${n}.${o}`,s,c)){for(let p=o-1;p>0;p--)if(!(yield*Ru(`${n}.${p}`,c)))break}return!0}function Wl(n,o){let s=ks(n.raw.trim());if(!Number.isNaN(s.pid)){if(s.pid!==(o.pid??process.pid)&&!(o.isProcessRunning??vi)(s.pid))return!1;let c=oP(o.ownerGeneration,s.pid,s.generation);if(c!=="unknown")return c==="same"}return!((o.now??Date.now)()-n.mtimeMs>bi)}function*Iu(n,o,s){let a=s.fileSystem??Ni,c=`${n}.displaced`;if(!q(yield*Ne(c,a),o))return;let p=`${n}.${s.pid??process.pid}.reclaim`;if(!(yield*Nn(c,p,a)))return;if(!q(yield*Ne(p,a),o)){yield*Wt(n,p,a);return}yield*Oe(p,a)}function*Ml(n,o,s,a){let c=s.fileSystem??Ni,p=Kr(n,o),h=yield*wn(p,s,a);if(h===void 0)return;try{yield*Iu(n,o,s)}finally{if(yield*Mt(`${p}.${h.k}`,h.content,c),h.compacted)yield*Mt(`${p}.0`,h.content,c)}}function*Jo(n,o,s,a){let{reclaimed:c,publishedContent:p,tmp:h}=a,_=o.fileSystem??Ni,y=yield*Mr(`${n}.displaced`,_);if(y==="absent")return!0;let x=o.pid??process.pid,N=(h?yield*qr(h,p,_):void 0)??{raw:p},C=yield*ql(n,y,N,{pid:x,fileSystem:_});if(C==="absent")return!0;if(typeof C==="string"||!xe(N)||!q(N,C)){if($l(C,c,p,o))return yield*Gl(n,N,x,_);if(yield*Vl(n,C,o,{generation:s,reclaimed:c}))return!0}return yield*Fl(n,C,N,{pid:x,fileSystem:_})}function*ql(n,o,s,{pid:a,fileSystem:c}){if(typeof o!=="string"&&xe(s)&&q(s,o))return zt(n,c,(p)=>fn(p,s)),o;return yield*jo(n,o,a,{fileSystem:c})}function*Fl(n,o,s,{pid:a,fileSystem:c}){let p=yield*Ql(n,o,s.raw,{fileSystem:c,publication:xe(s)?s:void 0});if(p==="absent")return yield*Qo(n,c),!0;if(p==="same")return!0;if(p==="older"){if(xe(s))Qt(n,c,s);return!1}if(p==="blocked"&&xe(s))return yield*Kl(n,s,a,c),!1;return yield*jl(n,s,a,c),yield*Qo(n,c),!1}function*Kl(n,o,s,a){let c=yield*Ti(n,`${n}.displaced`,o,{pid:s,fileSystem:a}),p=yield*Ti(n,n,o,{pid:s,fileSystem:a});if(c!=="removed"||p!=="removed")Qt(n,a,o)}function*jo(n,o,s,{fileSystem:a,keepEntry:c=!1}){if(typeof o==="string")return o;let p=bt.get(a)?.get(n)?.publications.find((y)=>xe(y)&&(q(y,o)||y.raw===o.raw&&!Ci(n,y.raw,a)));if(p===void 0||!xe(p))return o;let h=`${n}.displaced`;if(!(q(p,o)?(yield*Ti(n,h,p,{pid:s,fileSystem:a}))==="removed":(yield*Xo(n,h,p.raw,{pid:s,fileSystem:a,protectGenuine:!0}))==="removed"))return o;if(!c&&!q(p,o))zt(n,a,(y)=>y===p);return yield*Mr(h,a)}function $l(n,o,s,a){return typeof n!=="string"&&n.raw===s&&!(o!==void 0&&q(n,o))&&Ar(n,a)}function*Gl(n,o,s,a){let c=yield*Ul(n,o.raw,s,a);if((yield*dt(n,a))===o.raw)return!0;if(!c)Qt(n,a,{raw:o.raw});if(xe(o))Qt(n,a,o);return!1}function*Ul(n,o,s,a){let c=`${n}.${s}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(`${n}.displaced`,c,a)))return!1;if((yield*Ei(c,a))!==o)return yield*Wt(n,c,a),!1;return yield*bn(n,c,a),!0}function*Vl(n,o,s,{generation:a,reclaimed:c}={}){if(typeof o!=="string"){if(c!==void 0&&q(o,c))return yield*Iu(n,c,s),!0;if(Ar(o,s)){if(!(c!==void 0&&Kr(n,c)===Kr(n,o)))yield*Ml(n,o,s,a);return!0}}return!1}function*Ql(n,o,s,{fileSystem:a,publication:c}){if(typeof o==="string"||o.raw!==s)return"other";if(!q(c,o))return(yield*dt(n,a))===s?"other":"older";try{yield{op:"readText",path:n};let p=a.readText(n);if(p!==s)return"blocked";return yield{op:"stat",path:n},q({...a.stat(n),raw:p},o)?"same":"blocked"}catch(p){if(p.code==="ENOENT")return e.debug(`Own retained publication has no peer at ${n}: ${r(p)}`),"absent";return e.warn(`Own retained publication cannot read ${n}: ${r(p)}`,p),"blocked"}}function*vn(n,o,s){let a=bt.get(s)?.get(n);if(!a)return;for(let c of[...a.markers])a.markers.delete(c),yield*bn(n,c,s);for(let c of[...a.publications])if(yield*zl(n,c,o,s))zt(n,s,(p)=>p===c);zt(n,s,()=>!1)}function*zl(n,o,s,a){if(!xe(o)){if($o(n,o.raw,a))return!1;return(yield*Pu(n,o.raw,s,{fileSystem:a,protectGenuine:!0}))==="removed"}let c=yield*qr(n,o.raw,a);if(!q(c,o)){if(c===void 0)return!1;return yield*Jl(n,n,o.raw,{pid:s,fileSystem:a})}let p=yield*Ti(n,`${n}.displaced`,o,{pid:s,fileSystem:a});return(yield*Ti(n,n,o,{pid:s,fileSystem:a}))==="removed"&&p!=="unverified"}function*Jl(n,o,s,{pid:a,fileSystem:c}){if(Ci(n,s,c)||(yield*dt(o,c))!==s)return!1;let p=yield*Mr(`${n}.displaced`,c),h=p==="absent"?p:yield*jo(n,p,a,{fileSystem:c,keepEntry:!0});return(yield*Xo(n,o,s,{pid:a,fileSystem:c,protectGenuine:!0}))==="removed"&&h!=="unreadable"&&(h==="absent"||h.raw!==s)}function*Ti(n,o,s,{pid:a,fileSystem:c}){if(!q(yield*qr(o,s.raw,c),s))return"elsewhere";if((yield*dt(o,c))!==s.raw)return"unverified";let p=`${n}.${a}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(o,p,c)))return"unverified";if(!q(yield*Ne(p,c),s)){if(o===n)yield*Wr(n,p,c);else yield*Wt(n,p,c);return"unverified"}return yield*bn(n,p,c),"removed"}function*Ho(n,o,s,a){if(!bt.get(a)?.get(n)?.publications?.some((h)=>xe(h)&&h.raw===s))return;let p=yield*qr(o,s,a);zt(n,a,(h)=>q(p,gu(h)))}function*Yo(n,o,s,a){bu(n,o,s);let p=(bt.get(s)?.get(n)?.publications??[]).filter((_)=>_.raw===o);if(!p.length)return;let h=p.some(xe)?yield*qr(a,o,s):void 0;zt(n,s,(_)=>p.includes(_)&&(!xe(_)||q(h,_)))}function*jl(n,o,s,a){let c=yield*Pu(n,o.raw,s,{fileSystem:a});if(c==="removed")return;if(Qt(n,a,o),c==="failed")e.warn(`Lock back-out failed at ${n}; cleanup pending in this process`);else e.debug(`Lock back-out did not find its publication at ${n}; removal pending`)}function*Pu(n,o,s,{fileSystem:a,protectGenuine:c=!1}){let p=yield*Re({op:"readText",path:n},()=>a.readText(n));if(typeof p==="string")return p==="missing"?"unfound":"failed";if(p.value!==o)return"unfound";return yield*Xo(n,n,o,{pid:s,fileSystem:a,protectGenuine:c})}function*Xo(n,o,s,{pid:a,fileSystem:c,protectGenuine:p=!1}){let h=`${n}.${a}.release.${++st.releaseMarkerCounter}`,_=yield*Re({op:"rename",path:o},()=>{if(p&&Ci(n,s,c))return!1;return c.rename(o,h),!0});if(typeof _==="string")return _==="missing"?"unfound":"failed";if(!_.value)return"unfound";let y=yield*Re({op:"readText",path:h},()=>c.readText(h));if(typeof y==="string"||y.value!==s||p&&Ci(n,s,c)){if(o===n)yield*Wr(n,h,c);else yield*Wt(n,h,c);return y==="failed"?"failed":"unfound"}return yield*bn(n,h,c),"removed"}function*bn(n,o,s){if((yield*Re({op:"unlink",path:o},()=>s.unlink(o)))!=="failed")return;Qt(n,s,void 0,o),e.warn(`Lock back-out marker cleanup failed at ${n}; cleanup pending in this process`)}function*Lu(n,o,s){if(!bt.get(s)?.get(n)?.publications?.some(xe))return;let c=yield*Mr(`${n}.displaced`,s);if(c!=="absent")yield*jo(n,c,o,{fileSystem:s})}import{dirname as Zo}from"path";function Fi(n,o={}){return Lr(Hl(n,o))}function*Hl(n,o={}){let s={...o,publications:new Set};try{return yield*Yl(n,s)}finally{Go(n,o.fileSystem??Ni,s.publications)}}function*Yl(n,o){let s=o.pid??process.pid,a=o.fileSystem??Ni;yield*vn(n,s,a);let c=yield*Ne(n,a);if(c){let _=hn(o.ownerGeneration,s);if(!Ar(c,o))return!1;return yield*es(n,o,c,{generation:_})}let p=yield*Wu(n,s,o);if(p.blocked)return!1;if(p.acquired)return!0;let h=yield*Ne(n,o.fileSystem??Ni);if(!h||!Ar(h,o))return!1;return yield*es(n,o,h,{generation:p.generation,sweep:!p.swept})}function*es(n,o,s,{generation:a,sweep:c}={}){let p=o.fileSystem??Ni,h=o.pid??process.pid,_=Kr(n,s);if(c!==!1)yield*Vo(n,o);let y=yield*wn(_,o,a);if(y===void 0)return!1;try{if(!q(yield*Ne(n,p),s))return!1;let x=`${n}.${h}.reclaim`;if(!(yield*Nn(n,x,p)))return!1;if(!q(yield*Ne(x,p),s))return yield*Wr(n,x,p),!1;yield*ku(x,p);for(let N=y.compacted?1:0;N<y.k;N++)yield*Oe(`${_}.${N}`,p);return(yield*Wu(n,h,o,{sweep:!1,reclaimed:s})).acquired}finally{if(yield*Mt(`${_}.${y.k}`,y.content,p),y.compacted)yield*Mt(`${_}.0`,y.content,p)}}function K$(n,o=vi,s,a=Ni){let c=Lr(Au(n,a))?.trim();if(c===void 0)return;let{pid:p,generation:h}=ks(c);if(Number.isNaN(p)||!o(p))return;if(h!==void 0&&s!==void 0&&oP(s,p,h)==="different")return;return p}function xl(n,o=Ni){let s=Lr(Au(n,o))?.trim();if(s===void 0||s.length===0)return;return ks(s)}function*Au(n,o){return(yield*dt(n,o))??(yield*dt(`${n}.displaced`,o))}function nE(n,o,s={}){return Lr(Xl(n,o,s))}function*Xl(n,o,s){let a={...s,publications:new Set};try{return yield*Zl(n,o,a)}finally{Go(n,s.fileSystem??Ni,a.publications)}}function*Zl(n,o,s){let a=s.fileSystem??Ni;yield*vn(n,s.pid??process.pid,a);let c=yield*Ne(n,a);if(!c)return!1;let p=ks(c.raw.trim());if(p.pid!==o.pid||p.token!==o.token)return!1;let h=hn(s.ownerGeneration,s.pid??process.pid);return yield*es(n,s,c,{generation:h})}function ki(n,o=process.pid,s,a=Ni){Lr(em(n,o,s,a))}function*em(n,o=process.pid,s,a=Ni){yield*vn(n,o,a);let c=yield*tm(n,o,s,a),p=yield*rm(n,o,s,a);if(c&&p)xn(n,a,(h)=>Br(ks(h.trim()),o,s))}function*tm(n,o,s,a){let c=`${n}.displaced`,p=yield*gn(c,a);if(p==="missing")return!0;let h=typeof p==="string"?void 0:p.value;if(h===void 0||!Br(ks(h.trim()),o,s))return!1;let _=`${n}.${o}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(c,_,a)))return!1;let y=yield*Ei(_,a);if(y===void 0||!Br(ks(y.trim()),o,s))return yield*Wt(n,_,a),!1;if(yield*Ho(n,_,y,a),yield*Bu(n,_,a))xn(n,a,(x)=>x===y);return!1}function*rm(n,o,s,a){let c=yield*gn(n,a);if(c==="missing")return!0;let p=typeof c==="string"?void 0:c.value;if(p===void 0)return!1;if(!Br(ks(p.trim()),o,s))return!1;let h=`${n}.${o}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(n,h,a)))return!1;let _=yield*Ei(h,a);if(_===void 0||!Br(ks(_.trim()),o,s))return yield*Wr(n,h,a),!1;if(yield*Ho(n,h,_,a),yield*Bu(n,h,a))xn(n,a,(y)=>y===_);return!1}function*Bu(n,o,s){if((yield*Re({op:"unlink",path:o},()=>s.unlink(o)))!=="failed")return!0;e.warn(`Failed to release exclusive lock at ${n}; marker unlink exhausted`);try{yield{op:"link",path:n},s.link(o,n)}catch(c){e.warn(`Could not restore unreleased lock at ${n}: ${r(c)}`,c)}return!1}function*Wu(n,o,s,{sweep:a=!0,reclaimed:c}={}){let p=s.fileSystem??Ni;try{yield{op:"mkdir",path:Zo(n)},p.mkdir(Zo(n))}catch(h){if(h.code==="EEXIST")return e.debug(`Lock parent already occupied at ${Zo(n)}: ${r(h)}`,h),{acquired:!1,generation:void 0,swept:!1};throw u(h,`Failed to create exclusive lock file at ${n}`)}if(a)yield*Vo(n,s);try{let h=hn(s.ownerGeneration,o),_=Jg(o,s.ownerToken,s.metadata,h);yield*Lu(n,o,p),vu(n,_,p,s.publications);let y=!1,x=yield*zo(n,_,o,{fileSystem:p,idGenerator:s.idGenerator,postPublish:function*(C){if(y=yield*Jo(n,s,h,{reclaimed:c,publishedContent:_,tmp:C}),y)yield*Yo(n,_,p,C)}});if(!(typeof x==="string"?x==="created":yield*Ou(n,_,p)))return{acquired:!1,generation:h,swept:a};if(typeof x!=="string"){if(y=yield*Jo(n,s,h,{reclaimed:c,publishedContent:_}),y)yield*Yo(n,_,p,n)}return{acquired:y,generation:h,swept:a,blocked:!y}}catch(h){throw u(h,`Failed to create exclusive lock file at ${n}`)}}var am=B.next(),dm=100,um=60000;class qu{lockFilePath;timer;pollIntervalMs;timeoutMs;isProcessRunning;ownerGeneration;pid;ownerToken;constructor(n,o={}){this.lockFilePath=n;this.timer=o.timer??i,this.pollIntervalMs=Math.max(1,o.pollIntervalMs??dm),this.timeoutMs=o.timeoutMs??um,this.isProcessRunning=o.isProcessRunning,this.ownerGeneration=o.ownerGeneration,this.pid=o.pid??process.pid,this.ownerToken=o.ownerToken??am}async acquire(){let n=this.timer.now()+this.timeoutMs;for(;;){if(this.tryAcquire())return;if(this.timer.now()>=n)throw new t(`Timed out after ${this.timeoutMs}ms waiting for the database migration lock at ${this.lockFilePath}. Another process is likely migrating this database \u2014 `+"you may be sharing one DB across worktrees/instances. Point each instance at a distinct database via AUTOMOBILE_DB_PATH, or stop the other opener.");await this.timer.sleep(this.pollIntervalMs)}}async release(){ki(this.lockFilePath,this.pid,this.ownerToken)}tryAcquire(){return Fi(this.lockFilePath,{pid:this.pid,isProcessRunning:this.isProcessRunning,ownerGeneration:this.ownerGeneration,reclaimOwnPid:!0,ownerToken:this.ownerToken})}}function cm(n){let o=n;try{o=im(n)?Mu(n):sm(Mu(om(n)),nm(n))}catch(s){e.debug(`Migration lock realpath unavailable: ${r(s)}`)}return`${o}.migrate.lock`}var lm=":memory:";function iE(n){return n===lm}var Fu=f.ALLOW_IN_MEMORY_DB.name;function Ku(n=process.env){return Be(f.ALLOW_IN_MEMORY_DB,n)}function d2(n){return iE(n)?new wi:pm(n)}function mm(n=process.env){return Sf(f.MIGRATION_LOCK_TIMEOUT_MS.name,f.MIGRATION_LOCK_TIMEOUT_MS.legacyName,{env:n})}function pm(n){let o=cm(n),s=mm();return e.debug(`Migration lock keyed to ${o}`),new qu(o,{timeoutMs:s,ownerGeneration:Ht})}class ts extends t{}import*as Ri from"path";import*as cc from"os";import*as Rn from"fs";import{existsSync as Zh,promises as e_}from"fs";import*as Gr from"path";import{fileURLToPath as t_}from"url";function $u(n){return n}async function fm(n){await n.schema.createTable("device_configs").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull().unique()).addColumn("platform","text",(o)=>o.notNull()).addColumn("active_mode","text").addColumn("config_json","text",(o)=>o.notNull().defaultTo("{}")).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_device_configs_device_id").ifNotExists().on("device_configs").column("device_id").execute()}async function hm(n){await n.schema.dropTable("device_configs").execute()}async function _m(n){await n.schema.createTable("performance_thresholds").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("refresh_rate","integer",(o)=>o.notNull()).addColumn("frame_time_threshold_ms","real",(o)=>o.notNull()).addColumn("p50_threshold_ms","real",(o)=>o.notNull()).addColumn("p90_threshold_ms","real",(o)=>o.notNull()).addColumn("p95_threshold_ms","real",(o)=>o.notNull()).addColumn("p99_threshold_ms","real",(o)=>o.notNull()).addColumn("jank_count_threshold","integer",(o)=>o.notNull()).addColumn("cpu_usage_threshold_percent","real",(o)=>o.notNull()).addColumn("touch_latency_threshold_ms","real",(o)=>o.notNull()).addColumn("weight","real",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("ttl_hours","integer",(o)=>o.notNull().defaultTo(24)).execute(),await n.schema.createIndex("idx_performance_thresholds_device_id").ifNotExists().on("performance_thresholds").column("device_id").execute(),await n.schema.createIndex("idx_performance_thresholds_session_id").ifNotExists().on("performance_thresholds").column("session_id").execute(),await n.schema.createIndex("idx_performance_thresholds_device_created").ifNotExists().on("performance_thresholds").columns(["device_id","created_at"]).execute(),await n.schema.createTable("performance_audit_results").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("p50_ms","real").addColumn("p90_ms","real").addColumn("p95_ms","real").addColumn("p99_ms","real").addColumn("jank_count","integer").addColumn("missed_vsync_count","integer").addColumn("slow_ui_thread_count","integer").addColumn("frame_deadline_missed_count","integer").addColumn("cpu_usage_percent","real").addColumn("touch_latency_ms","real").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_performance_audit_results_device_timestamp").ifNotExists().on("performance_audit_results").columns(["device_id","timestamp"]).execute()}async function ym(n){await n.schema.dropTable("performance_audit_results").execute(),await n.schema.dropTable("performance_thresholds").execute()}async function xm(n){await Nm(n),await gm(n),await wm(n),await vm(n),await bm(n),await Cm(n),await Em(n),await Tm(n)}async function Nm(n){await n.schema.createTable("navigation_apps").ifNotExists().addColumn("app_id","text",(o)=>o.primaryKey()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function gm(n){await n.schema.createTable("navigation_nodes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("screen_name","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("visit_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("back_stack_depth","integer").addColumn("task_id","integer").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_nodes_app_screen").ifNotExists().on("navigation_nodes").columns(["app_id","screen_name"]).unique().execute()}async function wm(n){await n.schema.createTable("navigation_edges").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("to_screen","text",(o)=>o.notNull()).addColumn("tool_name","text").addColumn("tool_args","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_edges_app").ifNotExists().on("navigation_edges").column("app_id").execute(),await n.schema.createIndex("idx_navigation_edges_from").ifNotExists().on("navigation_edges").column("from_screen").execute(),await n.schema.createIndex("idx_navigation_edges_to").ifNotExists().on("navigation_edges").column("to_screen").execute()}async function vm(n){await n.schema.createTable("ui_elements").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("text","text").addColumn("resource_id","text").addColumn("content_description","text").addColumn("class_name","text").addColumn("bounds_left","integer").addColumn("bounds_top","integer").addColumn("bounds_right","integer").addColumn("bounds_bottom","integer").addColumn("clickable","integer").addColumn("scrollable","integer").addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_ui_elements_app").ifNotExists().on("ui_elements").column("app_id").execute()}async function bm(n){await n.schema.createTable("edge_ui_elements").ifNotExists().addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("ui_element_id","integer",(o)=>o.notNull().references("ui_elements.id").onDelete("cascade")).addColumn("selection_order","integer",(o)=>o.notNull().defaultTo(0)).execute(),await n.schema.createIndex("idx_edge_ui_elements_pk").ifNotExists().on("edge_ui_elements").columns(["edge_id","ui_element_id"]).unique().execute()}async function Cm(n){await n.schema.createTable("node_modals").ifNotExists().addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("modal_identifier","text",(o)=>o.notNull()).addColumn("stack_level","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_node_modals_pk").ifNotExists().on("node_modals").columns(["node_id","stack_level"]).unique().execute()}async function Em(n){await n.schema.createTable("edge_modals").ifNotExists().addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("position","text",(o)=>o.notNull()).addColumn("modal_identifier","text",(o)=>o.notNull()).addColumn("stack_level","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_edge_modals_pk").ifNotExists().on("edge_modals").columns(["edge_id","position","stack_level"]).unique().execute()}async function Tm(n){await n.schema.createTable("scroll_positions").ifNotExists().addColumn("edge_id","integer",(o)=>o.primaryKey().references("navigation_edges.id").onDelete("cascade")).addColumn("target_element_id","integer",(o)=>o.notNull().references("ui_elements.id")).addColumn("container_element_id","integer",(o)=>o.references("ui_elements.id")).addColumn("direction","text",(o)=>o.notNull()).addColumn("speed","text").addColumn("swipe_count","integer").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function km(n){await n.schema.dropTable("scroll_positions").execute(),await n.schema.dropTable("edge_modals").execute(),await n.schema.dropTable("node_modals").execute(),await n.schema.dropTable("edge_ui_elements").execute(),await n.schema.dropTable("ui_elements").execute(),await n.schema.dropTable("navigation_edges").execute(),await n.schema.dropTable("navigation_nodes").execute(),await n.schema.dropTable("navigation_apps").execute()}async function Sm(n){await n.schema.createTable("accessibility_baselines").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("screen_id","text",(o)=>o.notNull().unique()).addColumn("violations_json","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_accessibility_baselines_screen_id").ifNotExists().on("accessibility_baselines").column("screen_id").execute(),await n.schema.createIndex("idx_accessibility_baselines_updated_at").ifNotExists().on("accessibility_baselines").column("updated_at").execute()}async function Dm(n){await n.schema.dropTable("accessibility_baselines").execute()}async function Om(n){await n.schema.createTable("memory_thresholds").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("heap_growth_threshold_mb","real",(o)=>o.notNull()).addColumn("native_heap_growth_threshold_mb","real",(o)=>o.notNull()).addColumn("gc_count_threshold","integer",(o)=>o.notNull()).addColumn("gc_duration_threshold_ms","real",(o)=>o.notNull()).addColumn("unreachable_objects_threshold","integer",(o)=>o.notNull()).addColumn("weight","real",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("ttl_hours","integer",(o)=>o.notNull().defaultTo(24)).execute(),await n.schema.createIndex("idx_memory_thresholds_device_package").ifNotExists().on("memory_thresholds").columns(["device_id","package_name"]).execute(),await n.schema.createTable("memory_baselines").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("java_heap_baseline_mb","real",(o)=>o.notNull()).addColumn("native_heap_baseline_mb","real",(o)=>o.notNull()).addColumn("gc_count_baseline","real",(o)=>o.notNull()).addColumn("gc_duration_baseline_ms","real",(o)=>o.notNull()).addColumn("unreachable_objects_baseline","real",(o)=>o.notNull()).addColumn("sample_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("last_updated","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_memory_baselines_device_package_tool").ifNotExists().on("memory_baselines").columns(["device_id","package_name","tool_name"]).unique().execute(),await n.schema.createTable("memory_audit_results").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text").addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("pre_java_heap_mb","real").addColumn("pre_native_heap_mb","real").addColumn("pre_total_pss_mb","real").addColumn("post_java_heap_mb","real").addColumn("post_native_heap_mb","real").addColumn("post_total_pss_mb","real").addColumn("java_heap_growth_mb","real").addColumn("native_heap_growth_mb","real").addColumn("total_pss_growth_mb","real").addColumn("gc_count","integer").addColumn("gc_total_duration_ms","real").addColumn("unreachable_objects_count","integer").addColumn("violations_json","text").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_memory_audit_results_device_timestamp").ifNotExists().on("memory_audit_results").columns(["device_id","timestamp"]).execute(),await n.schema.createIndex("idx_memory_audit_results_package_timestamp").ifNotExists().on("memory_audit_results").columns(["package_name","timestamp"]).execute(),await n.schema.createIndex("idx_memory_audit_results_passed").ifNotExists().on("memory_audit_results").column("passed").execute()}async function Rm(n){await n.schema.dropTable("memory_audit_results").execute(),await n.schema.dropTable("memory_baselines").execute(),await n.schema.dropTable("memory_thresholds").execute()}async function Im(n){await n.schema.createTable("recomposition_metrics").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("composable_id","text",(o)=>o.notNull()).addColumn("composable_name","text").addColumn("resource_id","text").addColumn("test_tag","text").addColumn("total_count","integer",(o)=>o.notNull()).addColumn("skip_count","integer",(o)=>o.notNull()).addColumn("rolling_1s_avg","real").addColumn("duration_ms","real").addColumn("likely_cause","text").addColumn("parent_chain_json","text").addColumn("stable_annotated","integer").addColumn("remembered_count","integer").addColumn("timestamp","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(CURRENT_TIMESTAMP)`)).execute(),await n.schema.createIndex("idx_recomposition_metrics_timestamp").ifNotExists().on("recomposition_metrics").column("timestamp").execute(),await n.schema.createIndex("idx_recomposition_metrics_composable").ifNotExists().on("recomposition_metrics").columns(["package_name","composable_id","timestamp"]).execute()}async function Pm(n){await n.schema.dropTable("recomposition_metrics").execute()}async function Lm(n){await n.schema.createTable("prediction_outcomes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("prediction_id","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("predicted_screen","text",(o)=>o.notNull()).addColumn("actual_screen","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text",(o)=>o.notNull().defaultTo("")).addColumn("predicted_elements","text").addColumn("found_elements","text").addColumn("confidence","real",(o)=>o.notNull()).addColumn("match_score","real",(o)=>o.notNull()).addColumn("correct","integer",(o)=>o.notNull()).addColumn("partial_match","integer",(o)=>o.notNull()).addColumn("error_type","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_prediction_outcomes_app").ifNotExists().on("prediction_outcomes").column("app_id").execute(),await n.schema.createIndex("idx_prediction_outcomes_from").ifNotExists().on("prediction_outcomes").column("from_screen").execute(),await n.schema.createIndex("idx_prediction_outcomes_predicted").ifNotExists().on("prediction_outcomes").column("predicted_screen").execute(),await n.schema.createIndex("idx_prediction_outcomes_tool").ifNotExists().on("prediction_outcomes").column("tool_name").execute(),await n.schema.createTable("prediction_transition_stats").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("to_screen","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text",(o)=>o.notNull().defaultTo("")).addColumn("attempts","integer",(o)=>o.notNull()).addColumn("successes","integer",(o)=>o.notNull()).addColumn("total_confidence","real",(o)=>o.notNull()).addColumn("brier_score_sum","real",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_prediction_transition_key").ifNotExists().on("prediction_transition_stats").columns(["app_id","from_screen","to_screen","tool_name","tool_args"]).unique().execute()}async function Am(n){await n.schema.dropTable("prediction_transition_stats").execute(),await n.schema.dropTable("prediction_outcomes").execute()}async function Bm(n){await n.schema.createTable("feature_flags").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("enabled","integer",(o)=>o.notNull().defaultTo(0)).addColumn("config_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function Wm(n){await n.schema.dropTable("feature_flags").execute()}async function Mm(n){await n.schema.createTable("test_executions").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("test_class","text",(o)=>o.notNull()).addColumn("test_method","text",(o)=>o.notNull()).addColumn("duration_ms","integer",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("device_id","text").addColumn("device_name","text").addColumn("device_platform","text").addColumn("device_type","text").addColumn("app_version","text").addColumn("git_commit","text").addColumn("target_sdk","integer").addColumn("jdk_version","text").addColumn("jvm_target","text").addColumn("gradle_version","text").addColumn("is_ci","integer").addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_executions_lookup").ifNotExists().on("test_executions").columns(["test_class","test_method"]).execute(),await n.schema.createIndex("idx_test_executions_timestamp").ifNotExists().on("test_executions").column("timestamp").execute()}async function qm(n){await n.schema.dropTable("test_executions").execute()}async function Fm(n){await n.schema.createTable("tool_calls").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_tool_calls_timestamp").ifNotExists().on("tool_calls").column("timestamp").execute(),await n.schema.createIndex("idx_tool_calls_session_uuid").ifNotExists().on("tool_calls").column("session_uuid").execute()}async function Km(n){await n.schema.dropTable("tool_calls").execute()}async function $m(n){await n.schema.createTable("test_coverage_sessions").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_uuid","text",(o)=>o.notNull().unique()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("start_time","integer",(o)=>o.notNull()).addColumn("end_time","integer").addColumn("total_nodes_visited","integer",(o)=>o.notNull().defaultTo(0)).addColumn("total_edges_traversed","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_coverage_sessions_uuid").ifNotExists().on("test_coverage_sessions").column("session_uuid").execute(),await n.schema.createIndex("idx_test_coverage_sessions_app").ifNotExists().on("test_coverage_sessions").column("app_id").execute(),await n.schema.createTable("test_node_coverage").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_id","integer",(o)=>o.notNull().references("test_coverage_sessions.id").onDelete("cascade")).addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("visit_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("first_visit_time","integer",(o)=>o.notNull()).addColumn("last_visit_time","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_node_coverage_session_node").ifNotExists().on("test_node_coverage").columns(["session_id","node_id"]).unique().execute(),await n.schema.createIndex("idx_test_node_coverage_session").ifNotExists().on("test_node_coverage").column("session_id").execute(),await n.schema.createTable("test_edge_coverage").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_id","integer",(o)=>o.notNull().references("test_coverage_sessions.id").onDelete("cascade")).addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("traversal_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("first_traversal_time","integer",(o)=>o.notNull()).addColumn("last_traversal_time","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_edge_coverage_session_edge").ifNotExists().on("test_edge_coverage").columns(["session_id","edge_id"]).unique().execute(),await n.schema.createIndex("idx_test_edge_coverage_session").ifNotExists().on("test_edge_coverage").column("session_id").execute()}async function Gm(n){await n.schema.dropTable("test_edge_coverage").execute(),await n.schema.dropTable("test_node_coverage").execute(),await n.schema.dropTable("test_coverage_sessions").execute()}async function Um(n){await n.schema.createTable("video_recordings").ifNotExists().addColumn("recording_id","text",(o)=>o.primaryKey()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("platform","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("output_name","text").addColumn("file_name","text",(o)=>o.notNull()).addColumn("file_path","text",(o)=>o.notNull()).addColumn("format","text",(o)=>o.notNull()).addColumn("size_bytes","integer",(o)=>o.notNull().defaultTo(0)).addColumn("duration_ms","integer").addColumn("codec","text").addColumn("created_at","text",(o)=>o.notNull()).addColumn("started_at","text",(o)=>o.notNull()).addColumn("ended_at","text").addColumn("last_accessed_at","text",(o)=>o.notNull()).addColumn("config_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_video_recordings_status").ifNotExists().on("video_recordings").column("status").execute(),await n.schema.createIndex("idx_video_recordings_device_status").ifNotExists().on("video_recordings").columns(["device_id","status"]).execute(),await n.schema.createIndex("idx_video_recordings_last_accessed_at").ifNotExists().on("video_recordings").column("last_accessed_at").execute(),await n.schema.createIndex("idx_video_recordings_created_at").ifNotExists().on("video_recordings").column("created_at").execute(),await n.schema.createTable("video_recording_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function Vm(n){await n.schema.dropTable("video_recordings").execute(),await n.schema.dropTable("video_recording_configs").execute()}async function Qm(n){await n.schema.createTable("device_snapshots").ifNotExists().addColumn("snapshot_name","text",(o)=>o.primaryKey()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("device_name","text",(o)=>o.notNull()).addColumn("platform","text",(o)=>o.notNull()).addColumn("snapshot_type","text",(o)=>o.notNull()).addColumn("include_app_data","integer",(o)=>o.notNull()).addColumn("include_settings","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull()).addColumn("last_accessed_at","text",(o)=>o.notNull()).addColumn("size_bytes","integer",(o)=>o.notNull().defaultTo(0)).addColumn("manifest_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_device_snapshots_device_id").ifNotExists().on("device_snapshots").column("device_id").execute(),await n.schema.createIndex("idx_device_snapshots_last_accessed_at").ifNotExists().on("device_snapshots").column("last_accessed_at").execute(),await n.schema.createIndex("idx_device_snapshots_created_at").ifNotExists().on("device_snapshots").column("created_at").execute(),await n.schema.createTable("device_snapshot_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function zm(n){await n.schema.dropTable("device_snapshots").execute(),await n.schema.dropTable("device_snapshot_configs").execute()}async function Jm(n){await n.schema.createTable("installed_apps").ifNotExists().addColumn("device_id","text",(o)=>o.notNull()).addColumn("user_id","integer",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("is_system","integer",(o)=>o.notNull().defaultTo(0)).addColumn("installed_at","integer",(o)=>o.notNull()).addColumn("last_verified_at","integer",(o)=>o.notNull()).addPrimaryKeyConstraint("installed_apps_pk",["device_id","user_id","package_name"]).execute(),await n.schema.createIndex("idx_installed_apps_lookup").ifNotExists().on("installed_apps").columns(["device_id","package_name"]).execute(),await n.schema.createIndex("idx_installed_apps_last_verified").ifNotExists().on("installed_apps").columns(["device_id","last_verified_at"]).execute()}async function jm(n){await n.schema.dropTable("installed_apps").execute()}async function Hm(n,o,s){return(await m`
|
|
8
|
+
${s}`}function Es(n){let[o,s,a,c]=n.split(`
|
|
9
|
+
`,4),m=Number.parseInt(o,10),_={pid:Number.isInteger(m)&&m>0?m:NaN,token:s||void 0};if(a)_.metadata=a;if(c)_.generation=c;return _}function Lr(n){let o=n.next();while(!o.done)o=n.next();return o.value}function Ar(n,o){let s=Es(n.raw.trim());if(Number.isNaN(s.pid)){let a=(o.now??Date.now)()-n.mtimeMs;return a>=0&&a>(o.ownerlessReclaimAgeMs??Ao)}return El(s.pid,s.token,o.pid??process.pid,{ownerToken:o.ownerToken,reclaimOwnPid:o.reclaimOwnPid??!1})||!(o.isProcessRunning??bi)(s.pid)||AP(o.ownerGeneration,s.pid,s.generation)==="different"}function q(n,o){return n?.ino===o.ino&&n.mtimeMs===o.mtimeMs&&n.raw===o.raw}function El(n,o,s,{ownerToken:a,reclaimOwnPid:c}){return c&&n===s&&(a===void 0||(o??"")!==a)}function xe(n){return n.ino!==void 0&&n.mtimeMs!==void 0}function pn(n,o){return n.raw===o.raw&&n.ino===o.ino&&n.mtimeMs===o.mtimeMs}function gu(n){return{raw:n.raw,ino:n.ino??-1n,mtimeMs:n.mtimeMs??NaN}}function Br(n,o,s){if(n.pid!==o)return!1;return s===void 0||n.token===void 0||n.token===s}function AP(n,o,s){if(n===void 0||s===void 0)return"unknown";try{return n.compare(o,s)}catch(a){return e.debug(`Lock owner generation comparison unavailable: ${r(a)}`),"unknown"}}function fn(n,o){try{let s=n?.current(o);if(s!==void 0&&(s.length===0||s.includes(`
|
|
10
|
+
`)||s.includes("\r"))){e.debug("Ignoring invalid single-line lock owner generation token");return}return s}catch(s){e.debug(`Lock owner generation capture unavailable: ${r(s)}`);return}}var wu=8,vt=new WeakMap,hn=new WeakMap,_n=new WeakMap;function $o(n,o,s){return(_n.get(s)?.get(n)?.get(o)??0)>0}function vu(n,o,s,a){if(a.has(o))return;a.add(o);let c=_n.get(s);if(!c)c=new Map,_n.set(s,c);let m=c.get(n);if(!m)m=new Map,c.set(n,m);m.set(o,(m.get(o)??0)+1)}function Go(n,o,s){let a=_n.get(o),c=a?.get(n);for(let m of s){let p=(c?.get(m)??0)-1;if(p>0)c?.set(m,p);else c?.delete(m)}if(!c?.size)a?.delete(n)}function Ei(n,o,s){return Tl(n,o,s)||$o(n,o,s)}var Ko=new WeakSet;function Tl(n,o,s){return Ko.has(s)||hn.get(s)?.get(n)?.has(o)===!0}function bu(n,o,s){let a=hn.get(s);if(!a)a=new Map,hn.set(s,a);let c=a.get(n);if(!c)c=new Set,a.set(n,c);if(c.add(o),c.size>wu)Ko.add(s),c.delete(c.values().next().value);if(a.size>64)Ko.add(s),a.delete(a.keys().next().value)}function xn(n,o,s){let a=hn.get(o),c=a?.get(n);for(let m of c??[])if(s(m))c?.delete(m);if(!c?.size)a?.delete(n)}var Uo=new WeakMap;function zt(n,o,s,a){let c=vt.get(o);if(!c)c=new Map,vt.set(o,c);let m=c.get(n);if(!m)m={publications:[],markers:new Set},c.set(n,m);let{publications:p,markers:_}=m;if(s&&!p.some((y)=>pn(y,s)))p.push(s);if(p.length>wu)p.shift();if(a)_.add(a);if(_.size>8)_.delete(_.values().next().value);if(c.size>64)c.delete(c.keys().next().value)}function jt(n,o,s){let a=vt.get(o),c=a?.get(n);if(!c)return;if(c.publications=c.publications.filter((m)=>!s(m)),!c.publications.length&&!c.markers.size)a?.delete(n)}var at={releaseMarkerCounter:0,publicationCounter:0};import*as J from"fs";function kl(n){return Number(n/1000000000n)*1000+Number(n%1000000000n)/1e6}var Bi={mkdir:(n)=>{J.mkdirSync(n,{recursive:!0})},list:(n)=>$i(n),openExclusive:(n)=>J.openSync(n,"wx",384),write:(n,o)=>J.writeFileSync(n,o),close:(n)=>J.closeSync(n),writeFile:(n,o)=>J.writeFileSync(n,o,{flag:"wx",mode:384}),readText:(n)=>J.readFileSync(n,"utf-8"),stat:(n)=>{let{ino:o,mtimeNs:s}=J.statSync(n,{bigint:!0});return{ino:o,mtimeMs:kl(s)}},rename:(n,o)=>J.renameSync(n,o),link:(n,o)=>J.linkSync(n,o),unlink:(n)=>J.unlinkSync(n),exists:(n)=>J.existsSync(n)};import{dirname as Sl,basename as Cu}from"path";var Eu=/^.+\.(\d+)\.\d+\.[^.]+\.tmp$/;function*Dl(n,o,s,{fileSystem:a,now:c}){let m=`${s}:${n}`,p=Uo.get(a);if(!p)p=new Map,Uo.set(a,p);let _=p.get(m);if(!_||c-_.listedAt>=Mo||c<_.listedAt){if(!_&&p.size>=Fo){let y=p.keys().next().value;if(y!==void 0)p.delete(y)}_={listedAt:c,candidates:[]},p.set(m,_);try{yield{op:"list",path:n};let y=a.list(n).sort().filter((x)=>Eu.exec(x)?.[1]===s);_.candidates=[...y.filter((x)=>x.startsWith(o)),...y.filter((x)=>!x.startsWith(o))].slice(0,qo)}catch(y){e.debug(`Lock tmp listing unavailable at ${n}: ${r(y)}`,y)}}return _.candidates}function*Vo(n,o){let s=o.fileSystem??Bi,a=Sl(n),c=String(o.pid??process.pid),m=`${Cu(n)}.`,p=yield*Dl(a,m,c,{fileSystem:s,now:(o.now??Date.now)()}),_=0;for(let y of[...p]){if(!y.startsWith(m)||Eu.exec(y)?.[1]!==c)continue;let x=n.slice(0,n.length-Cu(n).length)+y,N=yield*Ol(x,o);if(N===!1)continue;let C=p.indexOf(y);if(C===-1)continue;if(p.splice(C,1),N===void 0)continue;if(yield*Oe(x,s),++_===Wo)break}}function*Ol(n,o){try{yield{op:"stat",path:n};let{mtimeMs:s}=(o.fileSystem??Bi).stat(n);return(o.now??Date.now)()-s>Ci}catch(s){e.debug(`Lock tmp age unavailable at ${n}: ${r(s)}`,s);return}}function*Ne(n,o){try{yield{op:"stat",path:n};let{ino:s,mtimeMs:a}=o.stat(n);yield{op:"readText",path:n};let c=o.readText(n);return{ino:s,mtimeMs:a,raw:c}}catch(s){e.debug(`Lock sample failed at ${n}: ${r(s)}`,s);return}}function*dt(n,o){try{return yield{op:"readText",path:n},o.readText(n)}catch(s){e.debug(`Lock read failed at ${n}: ${r(s)}`,s);return}}function*Nn(n,o,s,a=!1){try{return yield{op:"rename",path:n},s.rename(n,o),!0}catch(c){if(a&&c.code!=="ENOENT")e.warn(`Lock rename failed at ${n}: ${r(c)}`,c);else e.debug(`Lock rename failed at ${n}: ${r(c)}`,c);return!1}}function*Tu(n,o,s){let a=s.fileSystem??Bi,c=s.pid??process.pid,m=s.idGenerator??B,p=`${n}.${c}.${++at.publicationCounter}.${m.next()}.tmp`;try{return yield*Oe(p,a),yield{op:"writeFile",path:p},a.writeFile(p,o),yield{op:"rename",path:p},a.rename(p,n),!0}catch(_){return e.warn(`Reclaim guard install failed at ${n}: ${r(_)}`,_),!1}finally{yield*Oe(p,a)}}function*Wr(n,o,s){try{yield{op:"link",path:n},s.link(o,n)}catch(a){if(a.code==="EEXIST")e.debug(`Lock restore destination occupied at ${n}: ${r(a)}`);else if(e.warn(`Displaced lock link restore failed at ${n}: ${r(a)}`,a),!(yield*Rl(n,o,s))){yield*Mt(n,o,s);return}}yield*Oe(o,s)}function*Rl(n,o,s){let a=yield*dt(o,s);if(a===void 0)return e.warn(`Displaced lock exclusive copy could not read ${o}`),!1;return(yield*Du(n,a,s,"Displaced lock exclusive copy"))!=="failed"}function*Mr(n,o){let s;try{yield{op:"stat",path:n},s=o.stat(n)}catch(c){if(c.code==="ENOENT")return e.debug(`Retained lock absent at ${n}: ${r(c)}`),"absent";return e.warn(`Retained lock stat failed at ${n}: ${r(c)}`,c),"unreadable"}let a=yield*dt(n,o);return a===void 0?"unreadable":{...s,raw:a}}function*Mt(n,o,s){let a=`${n}.displaced`,c=yield*Mr(a,s);if(c==="absent"){try{yield{op:"rename",path:o},s.rename(o,a),e.warn(`Displaced lock restore failed at ${n}; retained at ${a}; lock state is held-unknown`)}catch(m){e.warn(`Displaced lock retention failed at ${n}; retaining ${o}: ${r(m)}`,m)}return}if(c!=="unreadable"&&q(yield*Ne(o,s),c)){yield*Oe(o,s);return}e.warn(`Displaced lock retention blocked at ${a}; retaining ${o}; lock state is held-unknown`)}function*qr(n,o,s){try{return yield{op:"stat",path:n},{...s.stat(n),raw:o}}catch(a){e.debug(`Lock publication identity unavailable at ${n}: ${r(a)}`,a);return}}function*Qo(n,o){try{yield{op:"link",path:n},o.link(`${n}.displaced`,n)}catch(s){e.debug(`Retained lock completion skipped at ${n}: ${r(s)}`,s)}}function*Oe(n,o){try{yield{op:"unlink",path:n},o.unlink(n)}catch(s){if(s.code==="ENOENT")e.debug(`Lock cleanup already complete at ${n}: ${r(s)}`);else e.warn(`Lock cleanup failed at ${n}: ${r(s)}`,s)}}function*ku(n,o){try{yield{op:"unlink",path:n},o.unlink(n)}catch(s){if(s.code!=="ENOENT")throw u(s,`Failed to remove stale lock marker at ${n}`);e.debug(`Stale marker already removed at ${n}: ${r(s)}`)}}function*Re(n,o){for(let s=0;s<Nu;s++)try{return yield n,{value:o()}}catch(a){if(e.debug(`Lock ${n.op} attempt failed at ${n.path}: ${r(a)}`,a),a.code==="ENOENT")return"missing"}return"failed"}function*gn(n,o){let s=yield*Re({op:"readText",path:n},()=>o.readText(n));if(s==="failed")e.warn(`Lock release read failed at ${n}; lock left in place`,s);return s}function*Ti(n,o){let s=yield*gn(n,o);return typeof s==="string"?void 0:s.value}function*Fr(n,o,s){let a=yield*Re({op:"rename",path:n},()=>s.rename(n,o));if(a==="failed")e.warn(`Lock release claim failed at ${n}; lock left in place`,a);return typeof a!=="string"}function*zo(n,o,s,{fileSystem:a,idGenerator:c=B,postPublish:m}){let p=`${n}.${s}.${++at.publicationCounter}.${c.next()}.tmp`,_=!1;try{try{yield*Oe(p,a),yield{op:"writeFile",path:p},a.writeFile(p,o),yield{op:"link",path:n},_=!0,a.link(p,n)}catch(y){if(_&&y.code==="EEXIST")return e.debug(`Lock publication contended at ${n}: ${r(y)}`),"contended";return e.warn(`Atomic lock publication failed at ${n}: ${r(y)}`,y),{error:y}}if(m)yield*m(p);return"created"}finally{yield*Oe(p,a)}}function*Su(n,o,s,{fileSystem:a,idGenerator:c=B}){let m=yield*zo(n,o,s,{fileSystem:a,idGenerator:c});if(typeof m==="string")return m;return yield*Du(n,o,a,"Reclaim guard")}function*Du(n,o,s,a){let c;try{yield{op:"openExclusive",path:n},c=s.openExclusive(n);try{yield{op:"write",path:n},s.write(c,o)}finally{yield{op:"close",path:n},s.close(c)}return"created"}catch(m){if(c===void 0&&m.code==="EEXIST")return e.debug(`${a} already held at ${n}: ${r(m)}`),"contended";if(e.warn(`${a} creation failed at ${n}: ${r(m)}`,m),c!==void 0)yield*Oe(n,s);return"failed"}}function*Ou(n,o,s){let a;try{yield{op:"openExclusive",path:n},a=s.openExclusive(n)}catch(c){if(c.code!=="EEXIST")throw u(c,`Failed to create exclusive lock file at ${n}`);return e.debug(`Legacy lock already held at ${n}: ${r(c)}`),!1}try{return yield{op:"write",path:n},s.write(a,o),!0}finally{yield{op:"close",path:n},s.close(a)}}import{createHash as Il}from"crypto";function Kr(n,o){let s=Il("sha256").update(o.raw).digest("hex").slice(0,32);return`${n}.reclaim.${Number(o.ino)}.${o.mtimeMs}.${s}`}function*wn(n,o,s){let a=o.fileSystem??Bi,c=o.pid??process.pid,m=fy(c,o.ownerToken,void 0,s),p=[];for(let _=0;_<Bo;_++){let y=`${n}.${_}`,x=yield*Su(y,m,c,{fileSystem:a,idGenerator:o.idGenerator});if(x==="created"){if(!(yield*Pl(n,p,a))){yield*qt(y,m,a);return}let C=_>0&&(yield*Ll(n,_,m,o));return{k:_,content:m,compacted:C}}if(x==="failed")return;let N=yield*Ne(y,a);if(N===void 0||Al(N,o))return;p.push(N)}e.warn(`Reclaim guard chain exhausted at ${n}`);return}function*Pl(n,o,s){for(let[a,c]of o.entries())if(!q(yield*Ne(`${n}.${a}`,s),c))return!1;return!0}function*qt(n,o,s){let a=yield*Re({op:"readText",path:n},()=>s.readText(n));if((typeof a==="string"?void 0:a.value)!==o)return e.debug(`Reclaim guard release skipped at ${n}: content changed or unavailable`),!1;return yield*Ru(n,s)}function*Ru(n,o){let s,a=yield*Re({op:"unlink",path:n},()=>{try{o.unlink(n)}catch(c){throw s=c,c}});if(typeof a!=="string")return!0;if(a==="missing")return e.debug(`Reclaim guard already removed at ${n}: ${r(s)}`),!0;return e.warn(`Reclaim guard removal failed at ${n}: ${r(s)}`,s),!1}function*Ll(n,o,s,a){let c=a.fileSystem??Bi;if(!(yield*Tu(`${n}.0`,s,a)))return!1;if(yield*qt(`${n}.${o}`,s,c)){for(let m=o-1;m>0;m--)if(!(yield*Ru(`${n}.${m}`,c)))break}return!0}function Al(n,o){let s=Es(n.raw.trim());if(!Number.isNaN(s.pid)){if(s.pid!==(o.pid??process.pid)&&!(o.isProcessRunning??bi)(s.pid))return!1;let c=AP(o.ownerGeneration,s.pid,s.generation);if(c!=="unknown")return c==="same"}return!((o.now??Date.now)()-n.mtimeMs>Ci)}function*Iu(n,o,s){let a=s.fileSystem??Bi,c=`${n}.displaced`;if(!q(yield*Ne(c,a),o))return;let m=`${n}.${s.pid??process.pid}.reclaim`;if(!(yield*Nn(c,m,a)))return;if(!q(yield*Ne(m,a),o)){yield*Mt(n,m,a);return}yield*Oe(m,a)}function*Bl(n,o,s,a){let c=s.fileSystem??Bi,m=Kr(n,o),p=yield*wn(m,s,a);if(p===void 0)return;try{yield*Iu(n,o,s)}finally{if(yield*qt(`${m}.${p.k}`,p.content,c),p.compacted)yield*qt(`${m}.0`,p.content,c)}}function*Jo(n,o,s,a){let{reclaimed:c,publishedContent:m,tmp:p}=a,_=o.fileSystem??Bi,y=yield*Mr(`${n}.displaced`,_);if(y==="absent")return!0;let x=o.pid??process.pid,N=(p?yield*qr(p,m,_):void 0)??{raw:m},C=yield*Wl(n,y,N,{pid:x,fileSystem:_});if(C==="absent")return!0;if(typeof C==="string"||!xe(N)||!q(N,C)){if(Fl(C,c,m,o))return yield*Kl(n,N,x,_);if(yield*Vl(n,C,o,{generation:s,reclaimed:c}))return!0}return yield*Ml(n,C,N,{pid:x,fileSystem:_})}function*Wl(n,o,s,{pid:a,fileSystem:c}){if(typeof o!=="string"&&xe(s)&&q(s,o))return jt(n,c,(m)=>pn(m,s)),o;return yield*jo(n,o,a,{fileSystem:c})}function*Ml(n,o,s,{pid:a,fileSystem:c}){let m=yield*Ql(n,o,s.raw,{fileSystem:c,publication:xe(s)?s:void 0});if(m==="absent")return yield*Qo(n,c),!0;if(m==="same")return!0;if(m==="older"){if(xe(s))zt(n,c,s);return!1}if(m==="blocked"&&xe(s))return yield*ql(n,s,a,c),!1;return yield*jl(n,s,a,c),yield*Qo(n,c),!1}function*ql(n,o,s,a){let c=yield*ki(n,`${n}.displaced`,o,{pid:s,fileSystem:a}),m=yield*ki(n,n,o,{pid:s,fileSystem:a});if(c!=="removed"||m!=="removed")zt(n,a,o)}function*jo(n,o,s,{fileSystem:a,keepEntry:c=!1}){if(typeof o==="string")return o;let m=vt.get(a)?.get(n)?.publications.find((y)=>xe(y)&&(q(y,o)||y.raw===o.raw&&!Ei(n,y.raw,a)));if(m===void 0||!xe(m))return o;let p=`${n}.displaced`;if(!(q(m,o)?(yield*ki(n,p,m,{pid:s,fileSystem:a}))==="removed":(yield*Xo(n,p,m.raw,{pid:s,fileSystem:a,protectGenuine:!0}))==="removed"))return o;if(!c&&!q(m,o))jt(n,a,(y)=>y===m);return yield*Mr(p,a)}function Fl(n,o,s,a){return typeof n!=="string"&&n.raw===s&&!(o!==void 0&&q(n,o))&&Ar(n,a)}function*Kl(n,o,s,a){let c=yield*Gl(n,o.raw,s,a);if((yield*dt(n,a))===o.raw)return!0;if(!c)zt(n,a,{raw:o.raw});if(xe(o))zt(n,a,o);return!1}function*Gl(n,o,s,a){let c=`${n}.${s}.release.${++at.releaseMarkerCounter}`;if(!(yield*Fr(`${n}.displaced`,c,a)))return!1;if((yield*Ti(c,a))!==o)return yield*Mt(n,c,a),!1;return yield*bn(n,c,a),!0}function*Vl(n,o,s,{generation:a,reclaimed:c}={}){if(typeof o!=="string"){if(c!==void 0&&q(o,c))return yield*Iu(n,c,s),!0;if(Ar(o,s)){if(!(c!==void 0&&Kr(n,c)===Kr(n,o)))yield*Bl(n,o,s,a);return!0}}return!1}function*Ql(n,o,s,{fileSystem:a,publication:c}){if(typeof o==="string"||o.raw!==s)return"other";if(!q(c,o))return(yield*dt(n,a))===s?"other":"older";try{yield{op:"readText",path:n};let m=a.readText(n);if(m!==s)return"blocked";return yield{op:"stat",path:n},q({...a.stat(n),raw:m},o)?"same":"blocked"}catch(m){if(m.code==="ENOENT")return e.debug(`Own retained publication has no peer at ${n}: ${r(m)}`),"absent";return e.warn(`Own retained publication cannot read ${n}: ${r(m)}`,m),"blocked"}}function*vn(n,o,s){let a=vt.get(s)?.get(n);if(!a)return;for(let c of[...a.markers])a.markers.delete(c),yield*bn(n,c,s);for(let c of[...a.publications])if(yield*zl(n,c,o,s))jt(n,s,(m)=>m===c);jt(n,s,()=>!1)}function*zl(n,o,s,a){if(!xe(o)){if($o(n,o.raw,a))return!1;return(yield*Pu(n,o.raw,s,{fileSystem:a,protectGenuine:!0}))==="removed"}let c=yield*qr(n,o.raw,a);if(!q(c,o)){if(c===void 0)return!1;return yield*Jl(n,n,o.raw,{pid:s,fileSystem:a})}let m=yield*ki(n,`${n}.displaced`,o,{pid:s,fileSystem:a});return(yield*ki(n,n,o,{pid:s,fileSystem:a}))==="removed"&&m!=="unverified"}function*Jl(n,o,s,{pid:a,fileSystem:c}){if(Ei(n,s,c)||(yield*dt(o,c))!==s)return!1;let m=yield*Mr(`${n}.displaced`,c),p=m==="absent"?m:yield*jo(n,m,a,{fileSystem:c,keepEntry:!0});return(yield*Xo(n,o,s,{pid:a,fileSystem:c,protectGenuine:!0}))==="removed"&&p!=="unreadable"&&(p==="absent"||p.raw!==s)}function*ki(n,o,s,{pid:a,fileSystem:c}){if(!q(yield*qr(o,s.raw,c),s))return"elsewhere";if((yield*dt(o,c))!==s.raw)return"unverified";let m=`${n}.${a}.release.${++at.releaseMarkerCounter}`;if(!(yield*Fr(o,m,c)))return"unverified";if(!q(yield*Ne(m,c),s)){if(o===n)yield*Wr(n,m,c);else yield*Mt(n,m,c);return"unverified"}return yield*bn(n,m,c),"removed"}function*Ho(n,o,s,a){if(!vt.get(a)?.get(n)?.publications?.some((p)=>xe(p)&&p.raw===s))return;let m=yield*qr(o,s,a);jt(n,a,(p)=>q(m,gu(p)))}function*Yo(n,o,s,a){bu(n,o,s);let m=(vt.get(s)?.get(n)?.publications??[]).filter((_)=>_.raw===o);if(!m.length)return;let p=m.some(xe)?yield*qr(a,o,s):void 0;jt(n,s,(_)=>m.includes(_)&&(!xe(_)||q(p,_)))}function*jl(n,o,s,a){let c=yield*Pu(n,o.raw,s,{fileSystem:a});if(c==="removed")return;if(zt(n,a,o),c==="failed")e.warn(`Lock back-out failed at ${n}; cleanup pending in this process`);else e.debug(`Lock back-out did not find its publication at ${n}; removal pending`)}function*Pu(n,o,s,{fileSystem:a,protectGenuine:c=!1}){let m=yield*Re({op:"readText",path:n},()=>a.readText(n));if(typeof m==="string")return m==="missing"?"unfound":"failed";if(m.value!==o)return"unfound";return yield*Xo(n,n,o,{pid:s,fileSystem:a,protectGenuine:c})}function*Xo(n,o,s,{pid:a,fileSystem:c,protectGenuine:m=!1}){let p=`${n}.${a}.release.${++at.releaseMarkerCounter}`,_=yield*Re({op:"rename",path:o},()=>{if(m&&Ei(n,s,c))return!1;return c.rename(o,p),!0});if(typeof _==="string")return _==="missing"?"unfound":"failed";if(!_.value)return"unfound";let y=yield*Re({op:"readText",path:p},()=>c.readText(p));if(typeof y==="string"||y.value!==s||m&&Ei(n,s,c)){if(o===n)yield*Wr(n,p,c);else yield*Mt(n,p,c);return y==="failed"?"failed":"unfound"}return yield*bn(n,p,c),"removed"}function*bn(n,o,s){if((yield*Re({op:"unlink",path:o},()=>s.unlink(o)))!=="failed")return;zt(n,s,void 0,o),e.warn(`Lock back-out marker cleanup failed at ${n}; cleanup pending in this process`)}function*Lu(n,o,s){if(!vt.get(s)?.get(n)?.publications?.some(xe))return;let c=yield*Mr(`${n}.displaced`,s);if(c!=="absent")yield*jo(n,c,o,{fileSystem:s})}import{dirname as Zo}from"path";function ti(n,o={}){return Lr(Hl(n,o))}function*Hl(n,o={}){let s={...o,publications:new Set};try{return yield*Yl(n,s)}finally{Go(n,o.fileSystem??Bi,s.publications)}}function*Yl(n,o){let s=o.pid??process.pid,a=o.fileSystem??Bi;yield*vn(n,s,a);let c=yield*Ne(n,a);if(c){let _=fn(o.ownerGeneration,s);if(!Ar(c,o))return!1;return yield*es(n,o,c,{generation:_})}let m=yield*Wu(n,s,o);if(m.blocked)return!1;if(m.acquired)return!0;let p=yield*Ne(n,o.fileSystem??Bi);if(!p||!Ar(p,o))return!1;return yield*es(n,o,p,{generation:m.generation,sweep:!m.swept})}function*es(n,o,s,{generation:a,sweep:c}={}){let m=o.fileSystem??Bi,p=o.pid??process.pid,_=Kr(n,s);if(c!==!1)yield*Vo(n,o);let y=yield*wn(_,o,a);if(y===void 0)return!1;try{if(!q(yield*Ne(n,m),s))return!1;let x=`${n}.${p}.reclaim`;if(!(yield*Nn(n,x,m)))return!1;if(!q(yield*Ne(x,m),s))return yield*Wr(n,x,m),!1;yield*ku(x,m);for(let N=y.compacted?1:0;N<y.k;N++)yield*Oe(`${_}.${N}`,m);return(yield*Wu(n,p,o,{sweep:!1,reclaimed:s})).acquired}finally{if(yield*qt(`${_}.${y.k}`,y.content,m),y.compacted)yield*qt(`${_}.0`,y.content,m)}}function lU(n,o=bi,s,a=Bi){let c=Lr(Au(n,a))?.trim();if(c===void 0)return;let{pid:m,generation:p}=Es(c);if(Number.isNaN(m)||!o(m))return;if(p!==void 0&&s!==void 0&&AP(s,m,p)==="different")return;return m}function $l(n,o=Bi){let s=Lr(Au(n,o))?.trim();if(s===void 0||s.length===0)return;return Es(s)}function*Au(n,o){return(yield*dt(n,o))??(yield*dt(`${n}.displaced`,o))}function SE(n,o,s={}){return Lr(Xl(n,o,s))}function*Xl(n,o,s){let a={...s,publications:new Set};try{return yield*Zl(n,o,a)}finally{Go(n,s.fileSystem??Bi,a.publications)}}function*Zl(n,o,s){let a=s.fileSystem??Bi;yield*vn(n,s.pid??process.pid,a);let c=yield*Ne(n,a);if(!c)return!1;let m=Es(c.raw.trim());if(m.pid!==o.pid||m.token!==o.token)return!1;let p=fn(s.ownerGeneration,s.pid??process.pid);return yield*es(n,s,c,{generation:p})}function Wn(n,o=process.pid,s,a=Bi){Lr(em(n,o,s,a))}function*em(n,o=process.pid,s,a=Bi){yield*vn(n,o,a);let c=yield*tm(n,o,s,a),m=yield*rm(n,o,s,a);if(c&&m)xn(n,a,(p)=>Br(Es(p.trim()),o,s))}function*tm(n,o,s,a){let c=`${n}.displaced`,m=yield*gn(c,a);if(m==="missing")return!0;let p=typeof m==="string"?void 0:m.value;if(p===void 0||!Br(Es(p.trim()),o,s))return!1;let _=`${n}.${o}.release.${++at.releaseMarkerCounter}`;if(!(yield*Fr(c,_,a)))return!1;let y=yield*Ti(_,a);if(y===void 0||!Br(Es(y.trim()),o,s))return yield*Mt(n,_,a),!1;if(yield*Ho(n,_,y,a),yield*Bu(n,_,a))xn(n,a,(x)=>x===y);return!1}function*rm(n,o,s,a){let c=yield*gn(n,a);if(c==="missing")return!0;let m=typeof c==="string"?void 0:c.value;if(m===void 0)return!1;if(!Br(Es(m.trim()),o,s))return!1;let p=`${n}.${o}.release.${++at.releaseMarkerCounter}`;if(!(yield*Fr(n,p,a)))return!1;let _=yield*Ti(p,a);if(_===void 0||!Br(Es(_.trim()),o,s))return yield*Wr(n,p,a),!1;if(yield*Ho(n,p,_,a),yield*Bu(n,p,a))xn(n,a,(y)=>y===_);return!1}function*Bu(n,o,s){if((yield*Re({op:"unlink",path:o},()=>s.unlink(o)))!=="failed")return!0;e.warn(`Failed to release exclusive lock at ${n}; marker unlink exhausted`);try{yield{op:"link",path:n},s.link(o,n)}catch(c){e.warn(`Could not restore unreleased lock at ${n}: ${r(c)}`,c)}return!1}function*Wu(n,o,s,{sweep:a=!0,reclaimed:c}={}){let m=s.fileSystem??Bi;try{yield{op:"mkdir",path:Zo(n)},m.mkdir(Zo(n))}catch(p){if(p.code==="EEXIST")return e.debug(`Lock parent already occupied at ${Zo(n)}: ${r(p)}`,p),{acquired:!1,generation:void 0,swept:!1};throw u(p,`Failed to create exclusive lock file at ${n}`)}if(a)yield*Vo(n,s);try{let p=fn(s.ownerGeneration,o),_=fy(o,s.ownerToken,s.metadata,p);yield*Lu(n,o,m),vu(n,_,m,s.publications);let y=!1,x=yield*zo(n,_,o,{fileSystem:m,idGenerator:s.idGenerator,postPublish:function*(C){if(y=yield*Jo(n,s,p,{reclaimed:c,publishedContent:_,tmp:C}),y)yield*Yo(n,_,m,C)}});if(!(typeof x==="string"?x==="created":yield*Ou(n,_,m)))return{acquired:!1,generation:p,swept:a};if(typeof x!=="string"){if(y=yield*Jo(n,s,p,{reclaimed:c,publishedContent:_}),y)yield*Yo(n,_,m,n)}return{acquired:y,generation:p,swept:a,blocked:!y}}catch(p){throw u(p,`Failed to create exclusive lock file at ${n}`)}}var am=B.next(),dm=100,um=60000;class qu{lockFilePath;timer;pollIntervalMs;timeoutMs;isProcessRunning;ownerGeneration;pid;ownerToken;constructor(n,o={}){this.lockFilePath=n;this.timer=o.timer??i,this.pollIntervalMs=Math.max(1,o.pollIntervalMs??dm),this.timeoutMs=o.timeoutMs??um,this.isProcessRunning=o.isProcessRunning,this.ownerGeneration=o.ownerGeneration,this.pid=o.pid??process.pid,this.ownerToken=o.ownerToken??am}async acquire(){let n=this.timer.now()+this.timeoutMs;for(;;){if(this.tryAcquire())return;if(this.timer.now()>=n)throw new t(`Timed out after ${this.timeoutMs}ms waiting for the database migration lock at ${this.lockFilePath}. Another process is likely migrating this database \u2014 `+"you may be sharing one DB across worktrees/instances. Point each instance at a distinct database via AUTOMOBILE_DB_PATH, or stop the other opener.");await this.timer.sleep(this.pollIntervalMs)}}async release(){Wn(this.lockFilePath,this.pid,this.ownerToken)}tryAcquire(){return ti(this.lockFilePath,{pid:this.pid,isProcessRunning:this.isProcessRunning,ownerGeneration:this.ownerGeneration,reclaimOwnPid:!0,ownerToken:this.ownerToken})}}function cm(n){let o=n;try{o=im(n)?Mu(n):sm(Mu(om(n)),nm(n))}catch(s){e.debug(`Migration lock realpath unavailable: ${r(s)}`)}return`${o}.migrate.lock`}var lm=":memory:";function wE(n){return n===lm}var Fu=h.ALLOW_IN_MEMORY_DB.name;function Ku(n=process.env){return $e(h.ALLOW_IN_MEMORY_DB,n)}function x2(n){return wE(n)?new vi:pm(n)}function mm(n=process.env){return Nf(h.MIGRATION_LOCK_TIMEOUT_MS.name,h.MIGRATION_LOCK_TIMEOUT_MS.legacyName,{env:n})}function pm(n){let o=cm(n),s=mm();return e.debug(`Migration lock keyed to ${o}`),new qu(o,{timeoutMs:s,ownerGeneration:kt})}class ts extends t{}import*as Ri from"path";import*as cc from"os";import*as Rn from"fs";import{existsSync as Zh,promises as e_}from"fs";import*as Gr from"path";import{fileURLToPath as t_}from"url";function $u(n){return n}async function fm(n){await n.schema.createTable("device_configs").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull().unique()).addColumn("platform","text",(o)=>o.notNull()).addColumn("active_mode","text").addColumn("config_json","text",(o)=>o.notNull().defaultTo("{}")).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_device_configs_device_id").ifNotExists().on("device_configs").column("device_id").execute()}async function hm(n){await n.schema.dropTable("device_configs").execute()}async function _m(n){await n.schema.createTable("performance_thresholds").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("refresh_rate","integer",(o)=>o.notNull()).addColumn("frame_time_threshold_ms","real",(o)=>o.notNull()).addColumn("p50_threshold_ms","real",(o)=>o.notNull()).addColumn("p90_threshold_ms","real",(o)=>o.notNull()).addColumn("p95_threshold_ms","real",(o)=>o.notNull()).addColumn("p99_threshold_ms","real",(o)=>o.notNull()).addColumn("jank_count_threshold","integer",(o)=>o.notNull()).addColumn("cpu_usage_threshold_percent","real",(o)=>o.notNull()).addColumn("touch_latency_threshold_ms","real",(o)=>o.notNull()).addColumn("weight","real",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("ttl_hours","integer",(o)=>o.notNull().defaultTo(24)).execute(),await n.schema.createIndex("idx_performance_thresholds_device_id").ifNotExists().on("performance_thresholds").column("device_id").execute(),await n.schema.createIndex("idx_performance_thresholds_session_id").ifNotExists().on("performance_thresholds").column("session_id").execute(),await n.schema.createIndex("idx_performance_thresholds_device_created").ifNotExists().on("performance_thresholds").columns(["device_id","created_at"]).execute(),await n.schema.createTable("performance_audit_results").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("p50_ms","real").addColumn("p90_ms","real").addColumn("p95_ms","real").addColumn("p99_ms","real").addColumn("jank_count","integer").addColumn("missed_vsync_count","integer").addColumn("slow_ui_thread_count","integer").addColumn("frame_deadline_missed_count","integer").addColumn("cpu_usage_percent","real").addColumn("touch_latency_ms","real").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_performance_audit_results_device_timestamp").ifNotExists().on("performance_audit_results").columns(["device_id","timestamp"]).execute()}async function ym(n){await n.schema.dropTable("performance_audit_results").execute(),await n.schema.dropTable("performance_thresholds").execute()}async function xm(n){await Nm(n),await gm(n),await wm(n),await vm(n),await bm(n),await Cm(n),await Em(n),await Tm(n)}async function Nm(n){await n.schema.createTable("navigation_apps").ifNotExists().addColumn("app_id","text",(o)=>o.primaryKey()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function gm(n){await n.schema.createTable("navigation_nodes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("screen_name","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("visit_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("back_stack_depth","integer").addColumn("task_id","integer").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_nodes_app_screen").ifNotExists().on("navigation_nodes").columns(["app_id","screen_name"]).unique().execute()}async function wm(n){await n.schema.createTable("navigation_edges").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("to_screen","text",(o)=>o.notNull()).addColumn("tool_name","text").addColumn("tool_args","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_edges_app").ifNotExists().on("navigation_edges").column("app_id").execute(),await n.schema.createIndex("idx_navigation_edges_from").ifNotExists().on("navigation_edges").column("from_screen").execute(),await n.schema.createIndex("idx_navigation_edges_to").ifNotExists().on("navigation_edges").column("to_screen").execute()}async function vm(n){await n.schema.createTable("ui_elements").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("text","text").addColumn("resource_id","text").addColumn("content_description","text").addColumn("class_name","text").addColumn("bounds_left","integer").addColumn("bounds_top","integer").addColumn("bounds_right","integer").addColumn("bounds_bottom","integer").addColumn("clickable","integer").addColumn("scrollable","integer").addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_ui_elements_app").ifNotExists().on("ui_elements").column("app_id").execute()}async function bm(n){await n.schema.createTable("edge_ui_elements").ifNotExists().addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("ui_element_id","integer",(o)=>o.notNull().references("ui_elements.id").onDelete("cascade")).addColumn("selection_order","integer",(o)=>o.notNull().defaultTo(0)).execute(),await n.schema.createIndex("idx_edge_ui_elements_pk").ifNotExists().on("edge_ui_elements").columns(["edge_id","ui_element_id"]).unique().execute()}async function Cm(n){await n.schema.createTable("node_modals").ifNotExists().addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("modal_identifier","text",(o)=>o.notNull()).addColumn("stack_level","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_node_modals_pk").ifNotExists().on("node_modals").columns(["node_id","stack_level"]).unique().execute()}async function Em(n){await n.schema.createTable("edge_modals").ifNotExists().addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("position","text",(o)=>o.notNull()).addColumn("modal_identifier","text",(o)=>o.notNull()).addColumn("stack_level","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_edge_modals_pk").ifNotExists().on("edge_modals").columns(["edge_id","position","stack_level"]).unique().execute()}async function Tm(n){await n.schema.createTable("scroll_positions").ifNotExists().addColumn("edge_id","integer",(o)=>o.primaryKey().references("navigation_edges.id").onDelete("cascade")).addColumn("target_element_id","integer",(o)=>o.notNull().references("ui_elements.id")).addColumn("container_element_id","integer",(o)=>o.references("ui_elements.id")).addColumn("direction","text",(o)=>o.notNull()).addColumn("speed","text").addColumn("swipe_count","integer").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function km(n){await n.schema.dropTable("scroll_positions").execute(),await n.schema.dropTable("edge_modals").execute(),await n.schema.dropTable("node_modals").execute(),await n.schema.dropTable("edge_ui_elements").execute(),await n.schema.dropTable("ui_elements").execute(),await n.schema.dropTable("navigation_edges").execute(),await n.schema.dropTable("navigation_nodes").execute(),await n.schema.dropTable("navigation_apps").execute()}async function Sm(n){await n.schema.createTable("accessibility_baselines").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("screen_id","text",(o)=>o.notNull().unique()).addColumn("violations_json","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_accessibility_baselines_screen_id").ifNotExists().on("accessibility_baselines").column("screen_id").execute(),await n.schema.createIndex("idx_accessibility_baselines_updated_at").ifNotExists().on("accessibility_baselines").column("updated_at").execute()}async function Dm(n){await n.schema.dropTable("accessibility_baselines").execute()}async function Om(n){await n.schema.createTable("memory_thresholds").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("heap_growth_threshold_mb","real",(o)=>o.notNull()).addColumn("native_heap_growth_threshold_mb","real",(o)=>o.notNull()).addColumn("gc_count_threshold","integer",(o)=>o.notNull()).addColumn("gc_duration_threshold_ms","real",(o)=>o.notNull()).addColumn("unreachable_objects_threshold","integer",(o)=>o.notNull()).addColumn("weight","real",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("ttl_hours","integer",(o)=>o.notNull().defaultTo(24)).execute(),await n.schema.createIndex("idx_memory_thresholds_device_package").ifNotExists().on("memory_thresholds").columns(["device_id","package_name"]).execute(),await n.schema.createTable("memory_baselines").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("java_heap_baseline_mb","real",(o)=>o.notNull()).addColumn("native_heap_baseline_mb","real",(o)=>o.notNull()).addColumn("gc_count_baseline","real",(o)=>o.notNull()).addColumn("gc_duration_baseline_ms","real",(o)=>o.notNull()).addColumn("unreachable_objects_baseline","real",(o)=>o.notNull()).addColumn("sample_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("last_updated","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_memory_baselines_device_package_tool").ifNotExists().on("memory_baselines").columns(["device_id","package_name","tool_name"]).unique().execute(),await n.schema.createTable("memory_audit_results").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text").addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("pre_java_heap_mb","real").addColumn("pre_native_heap_mb","real").addColumn("pre_total_pss_mb","real").addColumn("post_java_heap_mb","real").addColumn("post_native_heap_mb","real").addColumn("post_total_pss_mb","real").addColumn("java_heap_growth_mb","real").addColumn("native_heap_growth_mb","real").addColumn("total_pss_growth_mb","real").addColumn("gc_count","integer").addColumn("gc_total_duration_ms","real").addColumn("unreachable_objects_count","integer").addColumn("violations_json","text").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_memory_audit_results_device_timestamp").ifNotExists().on("memory_audit_results").columns(["device_id","timestamp"]).execute(),await n.schema.createIndex("idx_memory_audit_results_package_timestamp").ifNotExists().on("memory_audit_results").columns(["package_name","timestamp"]).execute(),await n.schema.createIndex("idx_memory_audit_results_passed").ifNotExists().on("memory_audit_results").column("passed").execute()}async function Rm(n){await n.schema.dropTable("memory_audit_results").execute(),await n.schema.dropTable("memory_baselines").execute(),await n.schema.dropTable("memory_thresholds").execute()}async function Im(n){await n.schema.createTable("recomposition_metrics").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("composable_id","text",(o)=>o.notNull()).addColumn("composable_name","text").addColumn("resource_id","text").addColumn("test_tag","text").addColumn("total_count","integer",(o)=>o.notNull()).addColumn("skip_count","integer",(o)=>o.notNull()).addColumn("rolling_1s_avg","real").addColumn("duration_ms","real").addColumn("likely_cause","text").addColumn("parent_chain_json","text").addColumn("stable_annotated","integer").addColumn("remembered_count","integer").addColumn("timestamp","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(CURRENT_TIMESTAMP)`)).execute(),await n.schema.createIndex("idx_recomposition_metrics_timestamp").ifNotExists().on("recomposition_metrics").column("timestamp").execute(),await n.schema.createIndex("idx_recomposition_metrics_composable").ifNotExists().on("recomposition_metrics").columns(["package_name","composable_id","timestamp"]).execute()}async function Pm(n){await n.schema.dropTable("recomposition_metrics").execute()}async function Lm(n){await n.schema.createTable("prediction_outcomes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("prediction_id","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("predicted_screen","text",(o)=>o.notNull()).addColumn("actual_screen","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text",(o)=>o.notNull().defaultTo("")).addColumn("predicted_elements","text").addColumn("found_elements","text").addColumn("confidence","real",(o)=>o.notNull()).addColumn("match_score","real",(o)=>o.notNull()).addColumn("correct","integer",(o)=>o.notNull()).addColumn("partial_match","integer",(o)=>o.notNull()).addColumn("error_type","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_prediction_outcomes_app").ifNotExists().on("prediction_outcomes").column("app_id").execute(),await n.schema.createIndex("idx_prediction_outcomes_from").ifNotExists().on("prediction_outcomes").column("from_screen").execute(),await n.schema.createIndex("idx_prediction_outcomes_predicted").ifNotExists().on("prediction_outcomes").column("predicted_screen").execute(),await n.schema.createIndex("idx_prediction_outcomes_tool").ifNotExists().on("prediction_outcomes").column("tool_name").execute(),await n.schema.createTable("prediction_transition_stats").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("to_screen","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text",(o)=>o.notNull().defaultTo("")).addColumn("attempts","integer",(o)=>o.notNull()).addColumn("successes","integer",(o)=>o.notNull()).addColumn("total_confidence","real",(o)=>o.notNull()).addColumn("brier_score_sum","real",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_prediction_transition_key").ifNotExists().on("prediction_transition_stats").columns(["app_id","from_screen","to_screen","tool_name","tool_args"]).unique().execute()}async function Am(n){await n.schema.dropTable("prediction_transition_stats").execute(),await n.schema.dropTable("prediction_outcomes").execute()}async function Bm(n){await n.schema.createTable("feature_flags").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("enabled","integer",(o)=>o.notNull().defaultTo(0)).addColumn("config_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function Wm(n){await n.schema.dropTable("feature_flags").execute()}async function Mm(n){await n.schema.createTable("test_executions").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("test_class","text",(o)=>o.notNull()).addColumn("test_method","text",(o)=>o.notNull()).addColumn("duration_ms","integer",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("device_id","text").addColumn("device_name","text").addColumn("device_platform","text").addColumn("device_type","text").addColumn("app_version","text").addColumn("git_commit","text").addColumn("target_sdk","integer").addColumn("jdk_version","text").addColumn("jvm_target","text").addColumn("gradle_version","text").addColumn("is_ci","integer").addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_executions_lookup").ifNotExists().on("test_executions").columns(["test_class","test_method"]).execute(),await n.schema.createIndex("idx_test_executions_timestamp").ifNotExists().on("test_executions").column("timestamp").execute()}async function qm(n){await n.schema.dropTable("test_executions").execute()}async function Fm(n){await n.schema.createTable("tool_calls").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_tool_calls_timestamp").ifNotExists().on("tool_calls").column("timestamp").execute(),await n.schema.createIndex("idx_tool_calls_session_uuid").ifNotExists().on("tool_calls").column("session_uuid").execute()}async function Km(n){await n.schema.dropTable("tool_calls").execute()}async function $m(n){await n.schema.createTable("test_coverage_sessions").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_uuid","text",(o)=>o.notNull().unique()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("start_time","integer",(o)=>o.notNull()).addColumn("end_time","integer").addColumn("total_nodes_visited","integer",(o)=>o.notNull().defaultTo(0)).addColumn("total_edges_traversed","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_coverage_sessions_uuid").ifNotExists().on("test_coverage_sessions").column("session_uuid").execute(),await n.schema.createIndex("idx_test_coverage_sessions_app").ifNotExists().on("test_coverage_sessions").column("app_id").execute(),await n.schema.createTable("test_node_coverage").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_id","integer",(o)=>o.notNull().references("test_coverage_sessions.id").onDelete("cascade")).addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("visit_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("first_visit_time","integer",(o)=>o.notNull()).addColumn("last_visit_time","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_node_coverage_session_node").ifNotExists().on("test_node_coverage").columns(["session_id","node_id"]).unique().execute(),await n.schema.createIndex("idx_test_node_coverage_session").ifNotExists().on("test_node_coverage").column("session_id").execute(),await n.schema.createTable("test_edge_coverage").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_id","integer",(o)=>o.notNull().references("test_coverage_sessions.id").onDelete("cascade")).addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("traversal_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("first_traversal_time","integer",(o)=>o.notNull()).addColumn("last_traversal_time","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_edge_coverage_session_edge").ifNotExists().on("test_edge_coverage").columns(["session_id","edge_id"]).unique().execute(),await n.schema.createIndex("idx_test_edge_coverage_session").ifNotExists().on("test_edge_coverage").column("session_id").execute()}async function Gm(n){await n.schema.dropTable("test_edge_coverage").execute(),await n.schema.dropTable("test_node_coverage").execute(),await n.schema.dropTable("test_coverage_sessions").execute()}async function Um(n){await n.schema.createTable("video_recordings").ifNotExists().addColumn("recording_id","text",(o)=>o.primaryKey()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("platform","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("output_name","text").addColumn("file_name","text",(o)=>o.notNull()).addColumn("file_path","text",(o)=>o.notNull()).addColumn("format","text",(o)=>o.notNull()).addColumn("size_bytes","integer",(o)=>o.notNull().defaultTo(0)).addColumn("duration_ms","integer").addColumn("codec","text").addColumn("created_at","text",(o)=>o.notNull()).addColumn("started_at","text",(o)=>o.notNull()).addColumn("ended_at","text").addColumn("last_accessed_at","text",(o)=>o.notNull()).addColumn("config_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_video_recordings_status").ifNotExists().on("video_recordings").column("status").execute(),await n.schema.createIndex("idx_video_recordings_device_status").ifNotExists().on("video_recordings").columns(["device_id","status"]).execute(),await n.schema.createIndex("idx_video_recordings_last_accessed_at").ifNotExists().on("video_recordings").column("last_accessed_at").execute(),await n.schema.createIndex("idx_video_recordings_created_at").ifNotExists().on("video_recordings").column("created_at").execute(),await n.schema.createTable("video_recording_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function Vm(n){await n.schema.dropTable("video_recordings").execute(),await n.schema.dropTable("video_recording_configs").execute()}async function Qm(n){await n.schema.createTable("device_snapshots").ifNotExists().addColumn("snapshot_name","text",(o)=>o.primaryKey()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("device_name","text",(o)=>o.notNull()).addColumn("platform","text",(o)=>o.notNull()).addColumn("snapshot_type","text",(o)=>o.notNull()).addColumn("include_app_data","integer",(o)=>o.notNull()).addColumn("include_settings","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull()).addColumn("last_accessed_at","text",(o)=>o.notNull()).addColumn("size_bytes","integer",(o)=>o.notNull().defaultTo(0)).addColumn("manifest_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_device_snapshots_device_id").ifNotExists().on("device_snapshots").column("device_id").execute(),await n.schema.createIndex("idx_device_snapshots_last_accessed_at").ifNotExists().on("device_snapshots").column("last_accessed_at").execute(),await n.schema.createIndex("idx_device_snapshots_created_at").ifNotExists().on("device_snapshots").column("created_at").execute(),await n.schema.createTable("device_snapshot_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function zm(n){await n.schema.dropTable("device_snapshots").execute(),await n.schema.dropTable("device_snapshot_configs").execute()}async function Jm(n){await n.schema.createTable("installed_apps").ifNotExists().addColumn("device_id","text",(o)=>o.notNull()).addColumn("user_id","integer",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("is_system","integer",(o)=>o.notNull().defaultTo(0)).addColumn("installed_at","integer",(o)=>o.notNull()).addColumn("last_verified_at","integer",(o)=>o.notNull()).addPrimaryKeyConstraint("installed_apps_pk",["device_id","user_id","package_name"]).execute(),await n.schema.createIndex("idx_installed_apps_lookup").ifNotExists().on("installed_apps").columns(["device_id","package_name"]).execute(),await n.schema.createIndex("idx_installed_apps_last_verified").ifNotExists().on("installed_apps").columns(["device_id","last_verified_at"]).execute()}async function jm(n){await n.schema.dropTable("installed_apps").execute()}async function Hm(n,o,s){return(await f`
|
|
11
11
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
12
|
-
`.execute(n)).rows.length>0}async function Ym(n){if(!await Hm(n,"video_recordings","highlights_json"))await n.schema.alterTable("video_recordings").addColumn("highlights_json","text").execute()}async function Xm(n){await n.schema.alterTable("video_recordings").dropColumn("highlights_json").execute()}async function Zm(n){await n.schema.alterTable("installed_apps").addColumn("daemon_session_id","text").execute(),await n.schema.alterTable("installed_apps").addColumn("device_session_start","integer").execute(),await n.schema.createIndex("idx_installed_apps_session").ifNotExists().on("installed_apps").columns(["daemon_session_id","device_session_start"]).execute()}async function ep(n){await n.schema.dropIndex("idx_installed_apps_session").execute(),await n.schema.alterTable("installed_apps").dropColumn("daemon_session_id").execute(),await n.schema.alterTable("installed_apps").dropColumn("device_session_start").execute()}async function tp(n){await n.schema.createTable("appearance_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(
|
|
12
|
+
`.execute(n)).rows.length>0}async function Ym(n){if(!await Hm(n,"video_recordings","highlights_json"))await n.schema.alterTable("video_recordings").addColumn("highlights_json","text").execute()}async function Xm(n){await n.schema.alterTable("video_recordings").dropColumn("highlights_json").execute()}async function Zm(n){await n.schema.alterTable("installed_apps").addColumn("daemon_session_id","text").execute(),await n.schema.alterTable("installed_apps").addColumn("device_session_start","integer").execute(),await n.schema.createIndex("idx_installed_apps_session").ifNotExists().on("installed_apps").columns(["daemon_session_id","device_session_start"]).execute()}async function ep(n){await n.schema.dropIndex("idx_installed_apps_session").execute(),await n.schema.alterTable("installed_apps").dropColumn("daemon_session_id").execute(),await n.schema.alterTable("installed_apps").dropColumn("device_session_start").execute()}async function tp(n){await n.schema.createTable("appearance_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function rp(n){await n.schema.dropTable("appearance_configs").execute()}async function ip(n,o,s){return(await f`
|
|
13
13
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
14
|
-
`.execute(n)).rows.length>0}async function np(n){if(!await ip(n,"navigation_nodes","screenshot_path"))await n.schema.alterTable("navigation_nodes").addColumn("screenshot_path","text").execute()}async function op(n){await n.schema.alterTable("navigation_nodes").dropColumn("screenshot_path").execute()}async function gs(n,o,s){return(await
|
|
14
|
+
`.execute(n)).rows.length>0}async function np(n){if(!await ip(n,"navigation_nodes","screenshot_path"))await n.schema.alterTable("navigation_nodes").addColumn("screenshot_path","text").execute()}async function op(n){await n.schema.alterTable("navigation_nodes").dropColumn("screenshot_path").execute()}async function gs(n,o,s){return(await f`
|
|
15
15
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
16
|
-
`.execute(n)).rows.length>0}async function Gu(n,o){return(await
|
|
16
|
+
`.execute(n)).rows.length>0}async function Gu(n,o){return(await f`
|
|
17
17
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
18
|
-
`.execute(n)).rows.length>0}async function sp(n){if(!await gs(n,"test_executions","error_message"))await n.schema.alterTable("test_executions").addColumn("error_message","text").execute();if(!await gs(n,"test_executions","video_path"))await n.schema.alterTable("test_executions").addColumn("video_path","text").execute();if(!await gs(n,"test_executions","snapshot_path"))await n.schema.alterTable("test_executions").addColumn("snapshot_path","text").execute();if(!await Gu(n,"test_execution_steps"))await n.schema.createTable("test_execution_steps").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("execution_id","integer",(o)=>o.notNull().references("test_executions.id").onDelete("cascade")).addColumn("step_index","integer",(o)=>o.notNull()).addColumn("action","text",(o)=>o.notNull()).addColumn("target","text").addColumn("status","text",(o)=>o.notNull()).addColumn("duration_ms","integer",(o)=>o.notNull()).addColumn("screen_name","text").addColumn("screenshot_path","text").addColumn("error_message","text").addColumn("details_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
18
|
+
`.execute(n)).rows.length>0}async function sp(n){if(!await gs(n,"test_executions","error_message"))await n.schema.alterTable("test_executions").addColumn("error_message","text").execute();if(!await gs(n,"test_executions","video_path"))await n.schema.alterTable("test_executions").addColumn("video_path","text").execute();if(!await gs(n,"test_executions","snapshot_path"))await n.schema.alterTable("test_executions").addColumn("snapshot_path","text").execute();if(!await Gu(n,"test_execution_steps"))await n.schema.createTable("test_execution_steps").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("execution_id","integer",(o)=>o.notNull().references("test_executions.id").onDelete("cascade")).addColumn("step_index","integer",(o)=>o.notNull()).addColumn("action","text",(o)=>o.notNull()).addColumn("target","text").addColumn("status","text",(o)=>o.notNull()).addColumn("duration_ms","integer",(o)=>o.notNull()).addColumn("screen_name","text").addColumn("screenshot_path","text").addColumn("error_message","text").addColumn("details_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_execution_steps_execution").ifNotExists().on("test_execution_steps").column("execution_id").execute();if(!await Gu(n,"test_execution_screens"))await n.schema.createTable("test_execution_screens").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("execution_id","integer",(o)=>o.notNull().references("test_executions.id").onDelete("cascade")).addColumn("screen_name","text",(o)=>o.notNull()).addColumn("visit_order","integer",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_execution_screens_execution").ifNotExists().on("test_execution_screens").column("execution_id").execute()}async function ap(n){await n.schema.dropTable("test_execution_screens").execute(),await n.schema.dropTable("test_execution_steps").execute()}async function Ht(n,o,s){return(await f`
|
|
19
19
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
20
|
-
`.execute(n)).rows.length>0}async function Uu(n,o){return(await
|
|
20
|
+
`.execute(n)).rows.length>0}async function Uu(n,o){return(await f`
|
|
21
21
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
22
|
-
`.execute(n)).rows.length>0}async function dp(n){if(!await
|
|
22
|
+
`.execute(n)).rows.length>0}async function dp(n){if(!await Ht(n,"tool_calls","status"))await n.schema.alterTable("tool_calls").addColumn("status","text",(o)=>o.defaultTo("success")).execute();if(!await Ht(n,"tool_calls","error_message"))await n.schema.alterTable("tool_calls").addColumn("error_message","text").execute();if(!await Ht(n,"tool_calls","error_type"))await n.schema.alterTable("tool_calls").addColumn("error_type","text").execute();if(!await Ht(n,"tool_calls","device_id"))await n.schema.alterTable("tool_calls").addColumn("device_id","text").execute();if(!await Ht(n,"tool_calls","package_name"))await n.schema.alterTable("tool_calls").addColumn("package_name","text").execute();if(!await Ht(n,"tool_calls","duration_ms"))await n.schema.alterTable("tool_calls").addColumn("duration_ms","integer").execute();if(!await Ht(n,"tool_calls","tool_args"))await n.schema.alterTable("tool_calls").addColumn("tool_args","text").execute();if(await n.schema.createIndex("idx_tool_calls_status").ifNotExists().on("tool_calls").column("status").ifNotExists().execute(),!await Uu(n,"crashes"))await n.schema.createTable("crashes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("crash_type","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("process_name","text").addColumn("pid","integer").addColumn("exception_class","text").addColumn("exception_message","text").addColumn("stacktrace","text").addColumn("signal","text").addColumn("fault_address","text").addColumn("tombstone_path","text").addColumn("detection_source","text",(o)=>o.notNull()).addColumn("raw_log","text").addColumn("navigation_node_id","integer",(o)=>o.references("navigation_nodes.id").onDelete("set null")).addColumn("test_execution_id","integer",(o)=>o.references("test_executions.id").onDelete("set null")).addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_crashes_device_id").ifNotExists().on("crashes").column("device_id").execute(),await n.schema.createIndex("idx_crashes_package_name").ifNotExists().on("crashes").column("package_name").execute(),await n.schema.createIndex("idx_crashes_timestamp").ifNotExists().on("crashes").column("timestamp").execute(),await n.schema.createIndex("idx_crashes_navigation_node").ifNotExists().on("crashes").column("navigation_node_id").execute(),await n.schema.createIndex("idx_crashes_test_execution").ifNotExists().on("crashes").column("test_execution_id").execute();if(!await Uu(n,"anrs"))await n.schema.createTable("anrs").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("process_name","text").addColumn("pid","integer").addColumn("reason","text").addColumn("activity","text").addColumn("wait_duration_ms","integer").addColumn("cpu_usage","text").addColumn("main_thread_state","text").addColumn("stacktrace","text").addColumn("detection_source","text",(o)=>o.notNull()).addColumn("raw_log","text").addColumn("navigation_node_id","integer",(o)=>o.references("navigation_nodes.id").onDelete("set null")).addColumn("test_execution_id","integer",(o)=>o.references("test_executions.id").onDelete("set null")).addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_anrs_device_id").ifNotExists().on("anrs").column("device_id").execute(),await n.schema.createIndex("idx_anrs_package_name").ifNotExists().on("anrs").column("package_name").execute(),await n.schema.createIndex("idx_anrs_timestamp").ifNotExists().on("anrs").column("timestamp").execute(),await n.schema.createIndex("idx_anrs_navigation_node").ifNotExists().on("anrs").column("navigation_node_id").execute(),await n.schema.createIndex("idx_anrs_test_execution").ifNotExists().on("anrs").column("test_execution_id").execute()}async function up(n){await n.schema.dropTable("anrs").ifExists().execute(),await n.schema.dropTable("crashes").ifExists().execute()}async function Si(n,o){return(await f`
|
|
23
23
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
24
|
-
`.execute(n)).rows.length>0}async function cp(n){await lp(n),await mp(n),await pp(n),await fp(n),await hp(n)}async function lp(n){if(!await Si(n,"failure_groups"))await n.schema.createTable("failure_groups").ifNotExists().addColumn("id","text",(o)=>o.primaryKey()).addColumn("type","text",(o)=>o.notNull()).addColumn("signature","text",(o)=>o.notNull()).addColumn("title","text",(o)=>o.notNull()).addColumn("message","text",(o)=>o.notNull()).addColumn("severity","text",(o)=>o.notNull()).addColumn("first_occurrence","integer",(o)=>o.notNull()).addColumn("last_occurrence","integer",(o)=>o.notNull()).addColumn("total_count","integer",(o)=>o.notNull().defaultTo(0)).addColumn("unique_sessions","integer",(o)=>o.notNull().defaultTo(0)).addColumn("stack_trace_json","text").addColumn("tool_call_info_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
24
|
+
`.execute(n)).rows.length>0}async function cp(n){await lp(n),await mp(n),await pp(n),await fp(n),await hp(n)}async function lp(n){if(!await Si(n,"failure_groups"))await n.schema.createTable("failure_groups").ifNotExists().addColumn("id","text",(o)=>o.primaryKey()).addColumn("type","text",(o)=>o.notNull()).addColumn("signature","text",(o)=>o.notNull()).addColumn("title","text",(o)=>o.notNull()).addColumn("message","text",(o)=>o.notNull()).addColumn("severity","text",(o)=>o.notNull()).addColumn("first_occurrence","integer",(o)=>o.notNull()).addColumn("last_occurrence","integer",(o)=>o.notNull()).addColumn("total_count","integer",(o)=>o.notNull().defaultTo(0)).addColumn("unique_sessions","integer",(o)=>o.notNull().defaultTo(0)).addColumn("stack_trace_json","text").addColumn("tool_call_info_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_groups_type").ifNotExists().on("failure_groups").column("type").execute(),await n.schema.createIndex("idx_failure_groups_signature").ifNotExists().on("failure_groups").column("signature").execute(),await n.schema.createIndex("idx_failure_groups_last_occurrence").ifNotExists().on("failure_groups").column("last_occurrence").execute()}async function mp(n){if(!await Si(n,"failure_occurrences"))await n.schema.createTable("failure_occurrences").ifNotExists().addColumn("id","text",(o)=>o.primaryKey()).addColumn("group_id","text",(o)=>o.notNull().references("failure_groups.id").onDelete("cascade")).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("device_id","text").addColumn("device_model","text",(o)=>o.notNull()).addColumn("os","text",(o)=>o.notNull()).addColumn("app_version","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("screen_at_failure","text").addColumn("test_name","text").addColumn("test_execution_id","integer").addColumn("error_code","text").addColumn("duration_ms","integer").addColumn("tool_args_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_occurrences_group").ifNotExists().on("failure_occurrences").column("group_id").execute(),await n.schema.createIndex("idx_failure_occurrences_timestamp").ifNotExists().on("failure_occurrences").column("timestamp").execute(),await n.schema.createIndex("idx_failure_occurrences_session").ifNotExists().on("failure_occurrences").column("session_id").execute(),await n.schema.createIndex("idx_failure_occurrences_device").ifNotExists().on("failure_occurrences").column("device_id").execute()}async function pp(n){if(!await Si(n,"failure_occurrence_screens"))await n.schema.createTable("failure_occurrence_screens").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("occurrence_id","text",(o)=>o.notNull().references("failure_occurrences.id").onDelete("cascade")).addColumn("screen_name","text",(o)=>o.notNull()).addColumn("visit_order","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_occurrence_screens_occurrence").ifNotExists().on("failure_occurrence_screens").column("occurrence_id").execute()}async function fp(n){if(!await Si(n,"failure_captures"))await n.schema.createTable("failure_captures").ifNotExists().addColumn("id","text",(o)=>o.primaryKey()).addColumn("occurrence_id","text",(o)=>o.notNull().references("failure_occurrences.id").onDelete("cascade")).addColumn("type","text",(o)=>o.notNull()).addColumn("path","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("device_model","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_captures_occurrence").ifNotExists().on("failure_captures").column("occurrence_id").execute()}async function hp(n){if(!await Si(n,"failure_notifications"))await n.schema.createTable("failure_notifications").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("occurrence_id","text",(o)=>o.notNull().references("failure_occurrences.id").onDelete("cascade")).addColumn("group_id","text",(o)=>o.notNull()).addColumn("type","text",(o)=>o.notNull()).addColumn("severity","text",(o)=>o.notNull()).addColumn("title","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("acknowledged","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_notifications_timestamp").ifNotExists().on("failure_notifications").column("timestamp").execute(),await n.schema.createIndex("idx_failure_notifications_acknowledged").ifNotExists().on("failure_notifications").column("acknowledged").execute()}async function _p(n){await n.schema.dropTable("failure_notifications").ifExists().execute(),await n.schema.dropTable("failure_captures").ifExists().execute(),await n.schema.dropTable("failure_occurrence_screens").ifExists().execute(),await n.schema.dropTable("failure_occurrences").ifExists().execute(),await n.schema.dropTable("failure_groups").ifExists().execute()}async function yp(n){await n.deleteFrom("navigation_edges").execute(),await n.deleteFrom("navigation_nodes").execute(),await n.schema.createTable("navigation_node_fingerprints").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("fingerprint_hash","text",(o)=>o.notNull()).addColumn("fingerprint_data","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("occurrence_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_node_fingerprints_app_hash").ifNotExists().on("navigation_node_fingerprints").columns(["app_id","fingerprint_hash"]).unique().execute(),await n.schema.createIndex("idx_navigation_node_fingerprints_node").ifNotExists().on("navigation_node_fingerprints").column("node_id").execute(),await n.schema.createTable("navigation_suggestions").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("fingerprint_hash","text",(o)=>o.notNull()).addColumn("fingerprint_data","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("occurrence_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("promoted_to_fingerprint_id","integer",(o)=>o.references("navigation_node_fingerprints.id").onDelete("set null")).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_suggestions_app_hash").ifNotExists().on("navigation_suggestions").columns(["app_id","fingerprint_hash"]).unique().execute(),await n.schema.createIndex("idx_navigation_suggestions_app").ifNotExists().on("navigation_suggestions").column("app_id").execute()}async function xp(n){await n.schema.dropTable("navigation_suggestions").execute(),await n.schema.dropTable("navigation_node_fingerprints").execute()}async function Np(n,o,s){return(await f`
|
|
25
25
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
26
|
-
`.execute(n)).rows.length>0}async function Cn(n,o,s,a){if(await Np(n,o,s))return;await n.schema.alterTable(o).addColumn(s,a).execute()}async function gp(n){await Cn(n,"performance_audit_results","time_to_first_frame_ms","real"),await Cn(n,"performance_audit_results","time_to_interactive_ms","real"),await Cn(n,"performance_audit_results","frame_rate_fps","real"),await Cn(n,"performance_audit_results","node_id","integer"),await n.schema.createIndex("idx_performance_audit_results_node_id").ifNotExists().on("performance_audit_results").column("node_id").execute(),await n.schema.createIndex("idx_performance_audit_results_package_timestamp").ifNotExists().on("performance_audit_results").columns(["package_name","timestamp"]).execute()}async function wp(n){await n.schema.dropIndex("idx_performance_audit_results_package_timestamp").execute(),await n.schema.dropIndex("idx_performance_audit_results_node_id").execute(),await n.schema.createTable("performance_audit_results_backup").addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("p50_ms","real").addColumn("p90_ms","real").addColumn("p95_ms","real").addColumn("p99_ms","real").addColumn("jank_count","integer").addColumn("missed_vsync_count","integer").addColumn("slow_ui_thread_count","integer").addColumn("frame_deadline_missed_count","integer").addColumn("cpu_usage_percent","real").addColumn("touch_latency_ms","real").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
26
|
+
`.execute(n)).rows.length>0}async function Cn(n,o,s,a){if(await Np(n,o,s))return;await n.schema.alterTable(o).addColumn(s,a).execute()}async function gp(n){await Cn(n,"performance_audit_results","time_to_first_frame_ms","real"),await Cn(n,"performance_audit_results","time_to_interactive_ms","real"),await Cn(n,"performance_audit_results","frame_rate_fps","real"),await Cn(n,"performance_audit_results","node_id","integer"),await n.schema.createIndex("idx_performance_audit_results_node_id").ifNotExists().on("performance_audit_results").column("node_id").execute(),await n.schema.createIndex("idx_performance_audit_results_package_timestamp").ifNotExists().on("performance_audit_results").columns(["package_name","timestamp"]).execute()}async function wp(n){await n.schema.dropIndex("idx_performance_audit_results_package_timestamp").execute(),await n.schema.dropIndex("idx_performance_audit_results_node_id").execute(),await n.schema.createTable("performance_audit_results_backup").addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("p50_ms","real").addColumn("p90_ms","real").addColumn("p95_ms","real").addColumn("p99_ms","real").addColumn("jank_count","integer").addColumn("missed_vsync_count","integer").addColumn("slow_ui_thread_count","integer").addColumn("frame_deadline_missed_count","integer").addColumn("cpu_usage_percent","real").addColumn("touch_latency_ms","real").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await f`
|
|
27
27
|
INSERT INTO performance_audit_results_backup
|
|
28
28
|
SELECT id, device_id, session_id, package_name, timestamp, passed,
|
|
29
29
|
p50_ms, p90_ms, p95_ms, p99_ms, jank_count, missed_vsync_count,
|
|
30
30
|
slow_ui_thread_count, frame_deadline_missed_count, cpu_usage_percent,
|
|
31
31
|
touch_latency_ms, diagnostics_json, created_at
|
|
32
32
|
FROM performance_audit_results
|
|
33
|
-
`.execute(n),await n.schema.dropTable("performance_audit_results").execute(),await
|
|
33
|
+
`.execute(n),await n.schema.dropTable("performance_audit_results").execute(),await f`ALTER TABLE performance_audit_results_backup RENAME TO performance_audit_results`.execute(n),await n.schema.createIndex("idx_performance_audit_results_device_timestamp").on("performance_audit_results").columns(["device_id","timestamp"]).execute()}async function En(n,o){return(await f`
|
|
34
34
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
35
|
-
`.execute(n)).rows.length>0}async function vp(n){if(!await En(n,"network_events"))await n.schema.createTable("network_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("url","text",(o)=>o.notNull()).addColumn("method","text",(o)=>o.notNull()).addColumn("status_code","integer",(o)=>o.notNull().defaultTo(0)).addColumn("duration_ms","integer",(o)=>o.notNull().defaultTo(0)).addColumn("request_body_size","integer",(o)=>o.defaultTo(-1)).addColumn("response_body_size","integer",(o)=>o.defaultTo(-1)).addColumn("protocol","text").addColumn("host","text").addColumn("path","text").addColumn("error","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
35
|
+
`.execute(n)).rows.length>0}async function vp(n){if(!await En(n,"network_events"))await n.schema.createTable("network_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("url","text",(o)=>o.notNull()).addColumn("method","text",(o)=>o.notNull()).addColumn("status_code","integer",(o)=>o.notNull().defaultTo(0)).addColumn("duration_ms","integer",(o)=>o.notNull().defaultTo(0)).addColumn("request_body_size","integer",(o)=>o.defaultTo(-1)).addColumn("response_body_size","integer",(o)=>o.defaultTo(-1)).addColumn("protocol","text").addColumn("host","text").addColumn("path","text").addColumn("error","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_network_events_timestamp").ifNotExists().on("network_events").column("timestamp").execute(),await n.schema.createIndex("idx_network_events_host").ifNotExists().on("network_events").column("host").execute(),await n.schema.createIndex("idx_network_events_device").ifNotExists().on("network_events").column("device_id").execute();if(!await En(n,"log_events"))await n.schema.createTable("log_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("level","integer",(o)=>o.notNull()).addColumn("tag","text",(o)=>o.notNull()).addColumn("message","text",(o)=>o.notNull()).addColumn("filter_name","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_log_events_timestamp").ifNotExists().on("log_events").column("timestamp").execute(),await n.schema.createIndex("idx_log_events_tag").ifNotExists().on("log_events").column("tag").execute(),await n.schema.createIndex("idx_log_events_device").ifNotExists().on("log_events").column("device_id").execute();if(!await En(n,"custom_events"))await n.schema.createTable("custom_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("name","text",(o)=>o.notNull()).addColumn("properties_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_custom_events_timestamp").ifNotExists().on("custom_events").column("timestamp").execute(),await n.schema.createIndex("idx_custom_events_name").ifNotExists().on("custom_events").column("name").execute(),await n.schema.createIndex("idx_custom_events_device").ifNotExists().on("custom_events").column("device_id").execute();if(!await En(n,"os_events"))await n.schema.createTable("os_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("category","text",(o)=>o.notNull()).addColumn("kind","text",(o)=>o.notNull()).addColumn("details_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_os_events_timestamp").ifNotExists().on("os_events").column("timestamp").execute(),await n.schema.createIndex("idx_os_events_category").ifNotExists().on("os_events").column("category").execute(),await n.schema.createIndex("idx_os_events_device").ifNotExists().on("os_events").column("device_id").execute()}async function bp(n){await n.schema.dropTable("os_events").ifExists().execute(),await n.schema.dropTable("custom_events").ifExists().execute(),await n.schema.dropTable("log_events").ifExists().execute(),await n.schema.dropTable("network_events").ifExists().execute()}async function Cp(n){await n.schema.createTable("navigation_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("destination","text",(o)=>o.notNull()).addColumn("source","text").addColumn("arguments_json","text").addColumn("metadata_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_events_timestamp").ifNotExists().on("navigation_events").column("timestamp").execute(),await n.schema.createIndex("idx_navigation_events_device").ifNotExists().on("navigation_events").column("device_id").execute()}async function Ep(n){await n.schema.dropTable("navigation_events").ifExists().execute()}async function Tp(n){await n.schema.createTable("storage_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("file_name","text",(o)=>o.notNull()).addColumn("key","text").addColumn("value","text").addColumn("value_type","text").addColumn("change_type","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_storage_events_timestamp").ifNotExists().on("storage_events").column("timestamp").execute(),await n.schema.createIndex("idx_storage_events_device").ifNotExists().on("storage_events").column("device_id").execute()}async function kp(n){await n.schema.dropTable("storage_events").ifExists().execute()}async function Sp(n){await n.schema.createTable("layout_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("sub_type","text",(o)=>o.notNull()).addColumn("composable_name","text").addColumn("composable_id","text").addColumn("recomposition_count","integer").addColumn("duration_ms","integer").addColumn("likely_cause","text").addColumn("details_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_layout_events_timestamp").ifNotExists().on("layout_events").column("timestamp").execute(),await n.schema.createIndex("idx_layout_events_device").ifNotExists().on("layout_events").column("device_id").execute()}async function Dp(n){await n.schema.dropTable("layout_events").ifExists().execute()}async function Op(n,o,s){return(await f`
|
|
36
36
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
37
|
-
`.execute(n)).rows.length>0}async function
|
|
37
|
+
`.execute(n)).rows.length>0}async function Rp(n){if(!await Op(n,"storage_events","previous_value"))await n.schema.alterTable("storage_events").addColumn("previous_value","text").execute()}async function Ip(n){await n.schema.alterTable("storage_events").dropColumn("previous_value").execute()}async function Pp(n,o,s){return(await f`
|
|
38
38
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
39
|
-
`.execute(n)).rows.length>0}async function
|
|
39
|
+
`.execute(n)).rows.length>0}async function Lp(n){if(!await Pp(n,"layout_events","screen_name"))await n.schema.alterTable("layout_events").addColumn("screen_name","text").execute()}async function Ap(n){await n.schema.alterTable("layout_events").dropColumn("screen_name").execute()}async function Bp(n,o,s){return(await f`
|
|
40
40
|
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
41
|
-
`.execute(n)).rows.length>0}async function
|
|
41
|
+
`.execute(n)).rows.length>0}async function Wp(n){let o=["request_headers_json","response_headers_json","request_body","response_body","content_type"];for(let s of o)if(!await Bp(n,"network_events",s))await n.schema.alterTable("network_events").addColumn(s,"text").execute()}async function Mp(n){}async function qp(n){await n.schema.dropTable("custom_events").ifExists().execute()}async function Fp(n){await n.schema.createTable("custom_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("name","text",(o)=>o.notNull()).addColumn("properties_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_custom_events_timestamp").ifNotExists().on("custom_events").column("timestamp").execute(),await n.schema.createIndex("idx_custom_events_name").ifNotExists().on("custom_events").column("name").execute(),await n.schema.createIndex("idx_custom_events_device").ifNotExists().on("custom_events").column("device_id").execute()}async function Kp(n){await n.schema.createTable("device_sessions").ifNotExists().addColumn("session_uuid","text",(o)=>o.primaryKey()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("platform","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("source","text").addColumn("autolock_enabled","integer",(o)=>o.notNull().defaultTo(0)).addColumn("mcp_session_id","text").addColumn("daemon_session_id","text").addColumn("created_at_ms","integer",(o)=>o.notNull()).addColumn("last_used_at_ms","integer",(o)=>o.notNull()).addColumn("expires_at_ms","integer",(o)=>o.notNull()).addColumn("released_at_ms","integer").addColumn("release_reason","text").addColumn("session_timeout_ms","integer",(o)=>o.notNull()).addColumn("heartbeat_timeout_ms","integer",(o)=>o.notNull()).addColumn("has_received_heartbeat","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_device_sessions_device_id").ifNotExists().on("device_sessions").column("device_id").execute(),await n.schema.createIndex("idx_device_sessions_status").ifNotExists().on("device_sessions").column("status").execute(),await n.schema.createIndex("idx_device_sessions_mcp_session").ifNotExists().on("device_sessions").column("mcp_session_id").execute()}async function $p(n){await n.schema.dropTable("device_sessions").execute()}async function Up(n){await n.transaction().execute(async(o)=>{await f`
|
|
42
42
|
UPDATE failure_occurrences
|
|
43
43
|
SET group_id = (
|
|
44
44
|
SELECT k.id FROM failure_groups k
|
|
@@ -57,7 +57,7 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
57
57
|
LIMIT 1
|
|
58
58
|
)
|
|
59
59
|
)
|
|
60
|
-
`.execute(o),await
|
|
60
|
+
`.execute(o),await f`
|
|
61
61
|
UPDATE failure_notifications
|
|
62
62
|
SET group_id = (
|
|
63
63
|
SELECT k.id FROM failure_groups k
|
|
@@ -76,7 +76,7 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
76
76
|
LIMIT 1
|
|
77
77
|
)
|
|
78
78
|
)
|
|
79
|
-
`.execute(o),await
|
|
79
|
+
`.execute(o),await f`
|
|
80
80
|
UPDATE failure_groups
|
|
81
81
|
SET
|
|
82
82
|
total_count = (
|
|
@@ -102,7 +102,7 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
102
102
|
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
103
103
|
LIMIT 1
|
|
104
104
|
)
|
|
105
|
-
`.execute(o),await
|
|
105
|
+
`.execute(o),await f`
|
|
106
106
|
DELETE FROM failure_groups
|
|
107
107
|
WHERE id <> (
|
|
108
108
|
SELECT k.id FROM failure_groups k
|
|
@@ -110,57 +110,57 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
110
110
|
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
111
111
|
LIMIT 1
|
|
112
112
|
)
|
|
113
|
-
`.execute(o),await
|
|
113
|
+
`.execute(o),await f`DROP INDEX IF EXISTS idx_failure_groups_signature`.execute(o),await f`
|
|
114
114
|
CREATE UNIQUE INDEX IF NOT EXISTS idx_failure_groups_signature
|
|
115
115
|
ON failure_groups (signature)
|
|
116
|
-
`.execute(o),await
|
|
116
|
+
`.execute(o),await f`
|
|
117
117
|
CREATE INDEX IF NOT EXISTS idx_failure_occurrences_group_session
|
|
118
118
|
ON failure_occurrences (group_id, session_id)
|
|
119
|
-
`.execute(o)})}async function Vp(n){await n.transaction().execute(async(o)=>{await
|
|
119
|
+
`.execute(o)})}async function Vp(n){await n.transaction().execute(async(o)=>{await f`DROP INDEX IF EXISTS idx_failure_occurrences_group_session`.execute(o),await f`DROP INDEX IF EXISTS idx_failure_groups_signature`.execute(o),await f`
|
|
120
120
|
CREATE INDEX IF NOT EXISTS idx_failure_groups_signature
|
|
121
121
|
ON failure_groups (signature)
|
|
122
|
-
`.execute(o)})}var $r=["network_events","log_events","os_events","navigation_events","storage_events","layout_events"];async function Qp(n,o){return(await
|
|
122
|
+
`.execute(o)})}var $r=["network_events","log_events","os_events","navigation_events","storage_events","layout_events"];async function Qp(n,o){return(await f`
|
|
123
123
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
124
|
-
`.execute(n)).rows.length>0}async function zp(n){for(let o of $r){if(!await Qp(n,o))continue;await n.schema.createIndex(`idx_${o}_device_timestamp`).ifNotExists().on(o).columns(["device_id","timestamp"]).execute()}}async function Jp(n){for(let o of $r)await n.schema.dropIndex(`idx_${o}_device_timestamp`).ifExists().execute()}async function jp(n,o){return(await
|
|
124
|
+
`.execute(n)).rows.length>0}async function zp(n){for(let o of $r){if(!await Qp(n,o))continue;await n.schema.createIndex(`idx_${o}_device_timestamp`).ifNotExists().on(o).columns(["device_id","timestamp"]).execute()}}async function Jp(n){for(let o of $r)await n.schema.dropIndex(`idx_${o}_device_timestamp`).ifExists().execute()}async function jp(n,o){return(await f`
|
|
125
125
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
126
|
-
`.execute(n)).rows.length>0}async function Hp(n){for(let o of $r)await n.schema.dropIndex(`idx_${o}_device`).ifExists().execute()}async function Yp(n){for(let o of $r){if(!await jp(n,o))continue;await n.schema.createIndex(`idx_${o}_device`).ifNotExists().on(o).column("device_id").execute()}}var Di={"'datetime(''now'')'":{corrected:"(datetime('now'))",poisonedValue:"datetime('now')"},"'CURRENT_TIMESTAMP'":{corrected:"CURRENT_TIMESTAMP",poisonedValue:"CURRENT_TIMESTAMP"}};async function Xp(n){let o=await Zp(n);if(o.length===0)return;await
|
|
126
|
+
`.execute(n)).rows.length>0}async function Hp(n){for(let o of $r)await n.schema.dropIndex(`idx_${o}_device`).ifExists().execute()}async function Yp(n){for(let o of $r){if(!await jp(n,o))continue;await n.schema.createIndex(`idx_${o}_device`).ifNotExists().on(o).column("device_id").execute()}}var Di={"'datetime(''now'')'":{corrected:"(datetime('now'))",poisonedValue:"datetime('now')"},"'CURRENT_TIMESTAMP'":{corrected:"CURRENT_TIMESTAMP",poisonedValue:"CURRENT_TIMESTAMP"}};async function Xp(n){let o=await Zp(n);if(o.length===0)return;await f`PRAGMA foreign_keys = OFF`.execute(n);try{await n.transaction().execute(async(s)=>{await ef(s,o)})}finally{await f`PRAGMA foreign_keys = ON`.execute(n)}}async function Zp(n){let o=await f`
|
|
127
127
|
SELECT name FROM sqlite_master
|
|
128
128
|
WHERE type = 'table' AND name NOT LIKE 'sqlite_%'
|
|
129
|
-
`.execute(n),s=[];for(let{name:a}of o.rows)if((await
|
|
130
|
-
SELECT dflt_value FROM pragma_table_info(${
|
|
131
|
-
`.execute(n)).rows.some((
|
|
132
|
-
SELECT name, dflt_value FROM pragma_table_info(${
|
|
133
|
-
`.execute(n)).rows.filter((
|
|
134
|
-
UPDATE ${
|
|
135
|
-
SET ${
|
|
136
|
-
WHERE ${
|
|
137
|
-
`.execute(n)}}}async function tf(n,o){let a=(await
|
|
129
|
+
`.execute(n),s=[];for(let{name:a}of o.rows)if((await f`
|
|
130
|
+
SELECT dflt_value FROM pragma_table_info(${f.lit(a)})
|
|
131
|
+
`.execute(n)).rows.some((m)=>m.dflt_value!==null&&(m.dflt_value in Di)))s.push(a);return s}async function ef(n,o){for(let s of o){let c=(await f`
|
|
132
|
+
SELECT name, dflt_value FROM pragma_table_info(${f.lit(s)})
|
|
133
|
+
`.execute(n)).rows.filter((m)=>m.dflt_value!==null&&(m.dflt_value in Di));if(c.length===0)continue;await tf(n,s);for(let m of c){let{poisonedValue:p}=Di[m.dflt_value];await f`
|
|
134
|
+
UPDATE ${f.ref(s)}
|
|
135
|
+
SET ${f.ref(m.name)} = datetime('now')
|
|
136
|
+
WHERE ${f.ref(m.name)} = ${p}
|
|
137
|
+
`.execute(n)}}}async function tf(n,o){let a=(await f`
|
|
138
138
|
SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
139
|
-
`.execute(n)).rows[0]?.sql;if(!a)return;let c=`__rebuild_${o}`,
|
|
139
|
+
`.execute(n)).rows[0]?.sql;if(!a)return;let c=`__rebuild_${o}`,m=nf(a,o,c);for(let y of Object.keys(Di))m=m.split(y).join(Di[y].corrected);let p=await f`
|
|
140
140
|
SELECT sql FROM sqlite_master
|
|
141
141
|
WHERE tbl_name = ${o} AND type IN ('index', 'trigger') AND sql IS NOT NULL
|
|
142
|
-
`.execute(n),_=await rf(n,o);await
|
|
142
|
+
`.execute(n),_=await rf(n,o);await f.raw(m).execute(n),await f`INSERT INTO ${f.ref(c)} SELECT * FROM ${f.ref(o)}`.execute(n),await f`DROP TABLE ${f.ref(o)}`.execute(n),await f`ALTER TABLE ${f.ref(c)} RENAME TO ${f.ref(o)}`.execute(n);for(let{sql:y}of p.rows)if(y)await f.raw(y).execute(n);if(_!==void 0)await f`DELETE FROM sqlite_sequence WHERE name = ${o}`.execute(n),await f`INSERT INTO sqlite_sequence (name, seq) VALUES (${o}, ${_})`.execute(n)}async function rf(n,o){if((await f`
|
|
143
143
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'sqlite_sequence'
|
|
144
|
-
`.execute(n)).rows.length===0)return;return(await
|
|
144
|
+
`.execute(n)).rows.length===0)return;return(await f`
|
|
145
145
|
SELECT seq FROM sqlite_sequence WHERE name = ${o}
|
|
146
|
-
`.execute(n)).rows[0]?.seq}function nf(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,p
|
|
147
|
-
SELECT name, dflt_value FROM pragma_table_info(${
|
|
148
|
-
`.execute(n)).rows.find((c)=>c.name==="updated_at");return a!==void 0&&a.dflt_value===null}async function mf(n,o){let a=(await
|
|
146
|
+
`.execute(n)).rows[0]?.seq}function nf(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,m,p)=>(m??p)===o?`${c}"${s}"`:a)}async function of(){}async function sf(n){await n.schema.createIndex("idx_storage_events_key_lookup").ifNotExists().on("storage_events").columns(["device_id","file_name","key","timestamp"]).execute()}async function af(n){await n.schema.dropIndex("idx_storage_events_key_lookup").ifExists().execute()}var df=["device_configs","navigation_apps","prediction_transition_stats","accessibility_baselines","feature_flags","video_recording_configs","device_snapshot_configs","appearance_configs"],uf="(datetime('now'))";async function cf(n){let o=[];for(let s of df)if(await lf(n,s))o.push(s);if(o.length===0)return;await f`PRAGMA foreign_keys = OFF`.execute(n);try{await n.transaction().execute(async(s)=>{for(let a of o)await mf(s,a)})}finally{await f`PRAGMA foreign_keys = ON`.execute(n)}}async function lf(n,o){let a=(await f`
|
|
147
|
+
SELECT name, dflt_value FROM pragma_table_info(${f.lit(o)})
|
|
148
|
+
`.execute(n)).rows.find((c)=>c.name==="updated_at");return a!==void 0&&a.dflt_value===null}async function mf(n,o){let a=(await f`
|
|
149
149
|
SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
150
|
-
`.execute(n)).rows[0]?.sql;if(!a)return;let c=`__rebuild_${o}`,
|
|
150
|
+
`.execute(n)).rows[0]?.sql;if(!a)return;let c=`__rebuild_${o}`,m=ff(hf(a,o,c)),p=await f`
|
|
151
151
|
SELECT sql FROM sqlite_master
|
|
152
152
|
WHERE tbl_name = ${o} AND type IN ('index', 'trigger') AND sql IS NOT NULL
|
|
153
|
-
`.execute(n),_=await pf(n,o);await
|
|
153
|
+
`.execute(n),_=await pf(n,o);await f.raw(m).execute(n),await f`INSERT INTO ${f.ref(c)} SELECT * FROM ${f.ref(o)}`.execute(n),await f`DROP TABLE ${f.ref(o)}`.execute(n),await f`ALTER TABLE ${f.ref(c)} RENAME TO ${f.ref(o)}`.execute(n);for(let{sql:y}of p.rows)if(y)await f.raw(y).execute(n);if(_!==void 0)await f`DELETE FROM sqlite_sequence WHERE name = ${o}`.execute(n),await f`INSERT INTO sqlite_sequence (name, seq) VALUES (${o}, ${_})`.execute(n)}async function pf(n,o){if((await f`
|
|
154
154
|
SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'sqlite_sequence'
|
|
155
|
-
`.execute(n)).rows.length===0)return;return(await
|
|
155
|
+
`.execute(n)).rows.length===0)return;return(await f`
|
|
156
156
|
SELECT seq FROM sqlite_sequence WHERE name = ${o}
|
|
157
|
-
`.execute(n)).rows[0]?.seq}function ff(n){return n.replace(/("updated_at"\s+\w+)(\s+not\s+null)/i,`$1 default ${uf}$2`)}function hf(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,p
|
|
157
|
+
`.execute(n)).rows[0]?.seq}function ff(n){return n.replace(/("updated_at"\s+\w+)(\s+not\s+null)/i,`$1 default ${uf}$2`)}function hf(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,m,p)=>(m??p)===o?`${c}"${s}"`:a)}async function _f(){}async function yf(n){await n.schema.createTable("device_locks").ifNotExists().addColumn("device_id","text",(o)=>o.primaryKey()).addColumn("lock_type","text",(o)=>o.notNull()).addColumn("lock_credential","text").addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function xf(n){await n.schema.dropTable("device_locks").execute()}async function gf(n){await n.schema.createTable("session_tool_capabilities").ifNotExists().addColumn("session_uuid","text",(o)=>o.notNull()).addColumn("capability","text",(o)=>o.notNull()).addColumn("enabled","integer",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addPrimaryKeyConstraint("session_tool_capabilities_pk",["session_uuid","capability"]).execute()}async function wf(n){await n.schema.dropTable("session_tool_capabilities").ifExists().execute()}async function vf(n){if((await f`
|
|
158
158
|
SELECT name FROM pragma_table_info('video_recordings')
|
|
159
159
|
WHERE name = 'owner_session_uuid'
|
|
160
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn("owner_session_uuid","text").execute();await n.schema.createIndex("idx_video_recordings_owner_session").ifNotExists().on("video_recordings").column("owner_session_uuid").execute()}async function
|
|
160
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn("owner_session_uuid","text").execute();await n.schema.createIndex("idx_video_recordings_owner_session").ifNotExists().on("video_recordings").column("owner_session_uuid").execute()}async function bf(n){await n.schema.dropIndex("idx_video_recordings_owner_session").execute(),await n.schema.alterTable("video_recordings").dropColumn("owner_session_uuid").execute()}async function Cf(n){await n.schema.createTable("navigation_build_keys").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("version_code","integer",(o)=>o.notNull()).addColumn("content_hash","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_build_keys_unique").ifNotExists().on("navigation_build_keys").columns(["app_id","version_code","content_hash"]).unique().execute(),await n.schema.createTable("navigation_node_observations").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("build_key_id","integer",(o)=>o.notNull().references("navigation_build_keys.id").onDelete("cascade")).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_node_observations_unique").ifNotExists().on("navigation_node_observations").columns(["node_id","build_key_id","device_id","session_uuid"]).unique().execute(),await n.schema.createIndex("idx_navigation_node_observations_build").ifNotExists().on("navigation_node_observations").column("build_key_id").execute(),await n.schema.createIndex("idx_navigation_node_observations_device").ifNotExists().on("navigation_node_observations").column("device_id").execute(),await n.schema.createTable("navigation_edge_observations").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("build_key_id","integer",(o)=>o.notNull().references("navigation_build_keys.id").onDelete("cascade")).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_edge_observations_unique").ifNotExists().on("navigation_edge_observations").columns(["edge_id","build_key_id","device_id","session_uuid"]).unique().execute(),await n.schema.createIndex("idx_navigation_edge_observations_build").ifNotExists().on("navigation_edge_observations").column("build_key_id").execute(),await n.schema.createIndex("idx_navigation_edge_observations_device").ifNotExists().on("navigation_edge_observations").column("device_id").execute(),await f`
|
|
161
161
|
INSERT OR IGNORE INTO navigation_build_keys (app_id, version_code, content_hash)
|
|
162
162
|
SELECT app_id, 0, '' FROM navigation_apps
|
|
163
|
-
`.execute(n),await
|
|
163
|
+
`.execute(n),await f`
|
|
164
164
|
INSERT OR IGNORE INTO navigation_node_observations
|
|
165
165
|
(node_id, build_key_id, device_id, session_uuid, first_seen_at, last_seen_at)
|
|
166
166
|
SELECT n.id, bk.id, 'legacy', 'legacy',
|
|
@@ -168,20 +168,20 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
168
168
|
FROM navigation_nodes n
|
|
169
169
|
JOIN navigation_build_keys bk
|
|
170
170
|
ON bk.app_id = n.app_id AND bk.version_code = 0 AND bk.content_hash = ''
|
|
171
|
-
`.execute(n),await
|
|
171
|
+
`.execute(n),await f`
|
|
172
172
|
INSERT OR IGNORE INTO navigation_edge_observations
|
|
173
173
|
(edge_id, build_key_id, device_id, session_uuid, first_seen_at, last_seen_at)
|
|
174
174
|
SELECT e.id, bk.id, 'legacy', 'legacy', e.timestamp, e.timestamp
|
|
175
175
|
FROM navigation_edges e
|
|
176
176
|
JOIN navigation_build_keys bk
|
|
177
177
|
ON bk.app_id = e.app_id AND bk.version_code = 0 AND bk.content_hash = ''
|
|
178
|
-
`.execute(n)}async function Ef(n){await n.schema.dropTable("navigation_edge_observations").execute(),await n.schema.dropTable("navigation_node_observations").execute(),await n.schema.dropTable("navigation_build_keys").execute()}async function Tf(n){await n.schema.createTable("emulator_loss_incidents").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("incident_id","text",(o)=>o.notNull().unique()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("observed_at_ms","integer",(o)=>o.notNull()).addColumn("updated_at_ms","integer",(o)=>o.notNull()).addColumn("revision","integer",(o)=>o.notNull().defaultTo(0)).addColumn("incident_json","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
178
|
+
`.execute(n)}async function Ef(n){await n.schema.dropTable("navigation_edge_observations").execute(),await n.schema.dropTable("navigation_node_observations").execute(),await n.schema.dropTable("navigation_build_keys").execute()}async function Tf(n){await n.schema.createTable("emulator_loss_incidents").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("incident_id","text",(o)=>o.notNull().unique()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("observed_at_ms","integer",(o)=>o.notNull()).addColumn("updated_at_ms","integer",(o)=>o.notNull()).addColumn("revision","integer",(o)=>o.notNull().defaultTo(0)).addColumn("incident_json","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_emulator_loss_incidents_observed").ifNotExists().on("emulator_loss_incidents").columns(["observed_at_ms","id"]).execute(),await n.schema.createIndex("idx_emulator_loss_incidents_device").ifNotExists().on("emulator_loss_incidents").column("device_id").execute()}async function kf(n){await n.schema.dropTable("emulator_loss_incidents").execute()}async function Sf(n){await n.schema.createTable("provision_device_operations").ifNotExists().addColumn("operation_id","text",(o)=>o.primaryKey()).addColumn("request_fingerprint","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("result_json","text").addColumn("error_code","text").addColumn("error_message","text").addColumn("creation_started","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function Df(n){await n.schema.dropTable("provision_device_operations").execute()}var Of={clipboard:["clipboard","selectAllText"],"advanced-interaction":["openLink","imeAction","dragAndDrop","pinchOn","shake","rotate"],"app-permissions":["getAppPermissions","setAppPermissions"],"device-settings":["changeLocalization","getDeviceState","setDeviceState"],"device-control":["provisionDevice"],"app-data-interop":["putAppFile","getPreference","setPreference","sqlQuery","setKeyValue","removeKeyValue","clearKeyValueFile"],notifications:["systemTray","postNotification","getNotificationPolicy","setNotificationPolicy"],telephony:["phoneCall","sendSms"],"accessibility-tools":["accessibility","accessibilityFocus"],"screen-artifacts":["videoRecording","deviceSnapshot","highlight"],"test-authoring":["executePlan","startTestRecording","exportPlan","recordSteps","barrier","criticalSection"],"network-inspection":["network","mockNetwork","clearMockNetwork","getNetworkGraph"],"app-routing":["getDeepLinks"],"navigation-modeling":["navigateTo","getNavigationGraph","explore"],"biometric-auth":["biometricAuth"]};async function Rf(n){if(await n.schema.createTable("session_tool_overrides").ifNotExists().addColumn("session_uuid","text",(a)=>a.notNull()).addColumn("tool_name","text",(a)=>a.notNull()).addColumn("enabled","integer",(a)=>a.notNull()).addColumn("updated_at","text",(a)=>a.notNull().defaultTo(f`(datetime('now'))`)).addPrimaryKeyConstraint("session_tool_overrides_pk",["session_uuid","tool_name"]).execute(),(await f`
|
|
179
179
|
select name from sqlite_master
|
|
180
180
|
where type = 'table' and name = 'session_tool_capabilities'
|
|
181
|
-
`.execute(n)).rows.length===0)return;let s=await
|
|
181
|
+
`.execute(n)).rows.length===0)return;let s=await f`
|
|
182
182
|
select session_uuid, capability, enabled, updated_at
|
|
183
183
|
from session_tool_capabilities
|
|
184
|
-
`.execute(n);for(let a of s.rows)for(let c of
|
|
184
|
+
`.execute(n);for(let a of s.rows)for(let c of Of[a.capability]??[])await f`
|
|
185
185
|
insert into session_tool_overrides (
|
|
186
186
|
session_uuid,
|
|
187
187
|
tool_name,
|
|
@@ -196,10 +196,10 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
196
196
|
on conflict(session_uuid, tool_name) do update set
|
|
197
197
|
enabled = excluded.enabled,
|
|
198
198
|
updated_at = excluded.updated_at
|
|
199
|
-
`.execute(n);await n.schema.dropTable("session_tool_capabilities").execute()}async function
|
|
199
|
+
`.execute(n);await n.schema.dropTable("session_tool_capabilities").execute()}async function If(n){await n.schema.createTable("session_tool_capabilities").ifNotExists().addColumn("session_uuid","text",(o)=>o.notNull()).addColumn("capability","text",(o)=>o.notNull()).addColumn("enabled","integer",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addPrimaryKeyConstraint("session_tool_capabilities_pk",["session_uuid","capability"]).execute(),await n.schema.dropTable("session_tool_overrides").ifExists().execute()}var Vu=["navigation_node_observations","navigation_edge_observations"];async function Pf(n){for(let o of Vu)await n.schema.createIndex(`idx_${o}_seen_id`).ifNotExists().on(o).columns(["last_seen_at","id"]).execute()}async function Lf(n){for(let o of Vu)await n.schema.dropIndex(`idx_${o}_seen_id`).ifExists().execute()}async function Af(n){await n.schema.createTable("device_teardown_operations").ifNotExists().addColumn("operation_id","text",(o)=>o.primaryKey()).addColumn("request_fingerprint","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("result_json","text").addColumn("expires_at_ms","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function Bf(n){await n.schema.dropTable("device_teardown_operations").execute()}async function Wf(n){if((await f`
|
|
200
200
|
SELECT name FROM pragma_table_info('device_teardown_operations')
|
|
201
201
|
WHERE name = 'owner_token'
|
|
202
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("device_teardown_operations").addColumn("owner_token","text",(s)=>s.notNull().defaultTo(
|
|
202
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("device_teardown_operations").addColumn("owner_token","text",(s)=>s.notNull().defaultTo(f`''`)).execute()}async function qf(n){await n.schema.alterTable("device_teardown_operations").dropColumn("owner_token").execute()}async function Ff(n){await f`
|
|
203
203
|
insert into session_tool_overrides (
|
|
204
204
|
session_uuid,
|
|
205
205
|
tool_name,
|
|
@@ -210,22 +210,22 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
210
210
|
from session_tool_overrides
|
|
211
211
|
where tool_name = 'provisionDevice'
|
|
212
212
|
on conflict(session_uuid, tool_name) do nothing
|
|
213
|
-
`.execute(n)}async function Kf(n){}async function $f(n){if((await
|
|
213
|
+
`.execute(n)}async function Kf(n){}async function $f(n){if((await f`
|
|
214
214
|
SELECT name FROM pragma_table_info('installed_apps') WHERE name = 'profile_type'
|
|
215
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("installed_apps").addColumn("profile_type","text").execute()}async function Gf(n){await n.schema.alterTable("installed_apps").dropColumn("profile_type").execute()}async function Uf(n){await n.schema.createTable("tool_selection_profile_provenance").ifNotExists().addColumn("profile_uuid","text",(o)=>o.primaryKey()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
215
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("installed_apps").addColumn("profile_type","text").execute()}async function Gf(n){await n.schema.alterTable("installed_apps").dropColumn("profile_type").execute()}async function Uf(n){await n.schema.createTable("tool_selection_profile_provenance").ifNotExists().addColumn("profile_uuid","text",(o)=>o.primaryKey()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute()}async function Vf(n){await n.schema.dropTable("tool_selection_profile_provenance").ifExists().execute()}async function Qf(n){if((await f`
|
|
216
216
|
SELECT name FROM pragma_table_info('provision_device_operations')
|
|
217
217
|
WHERE name = 'expires_at_ms'
|
|
218
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("provision_device_operations").addColumn("expires_at_ms","integer",(s)=>s.notNull().defaultTo(0)).execute()}async function zf(n){await n.schema.alterTable("provision_device_operations").dropColumn("expires_at_ms").execute()}async function Jf(n){if((await
|
|
218
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("provision_device_operations").addColumn("expires_at_ms","integer",(s)=>s.notNull().defaultTo(0)).execute()}async function zf(n){await n.schema.alterTable("provision_device_operations").dropColumn("expires_at_ms").execute()}async function Jf(n){if((await f`
|
|
219
219
|
SELECT name FROM pragma_table_info('provision_device_operations')
|
|
220
220
|
WHERE name = 'attempt_id'
|
|
221
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("provision_device_operations").addColumn("attempt_id","text",(s)=>s.notNull().defaultTo("")).execute()}async function jf(n){await n.schema.alterTable("provision_device_operations").dropColumn("attempt_id").execute()}async function Hf(n){await n.schema.createIndex("idx_device_sessions_released_at_ms").ifNotExists().on("device_sessions").column("released_at_ms").execute()}async function Yf(n){await n.schema.dropIndex("idx_device_sessions_released_at_ms").ifExists().execute()}async function Xf(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_snapshots").addColumn("size_unknown","integer",(s)=>s.notNull().defaultTo(0)).execute(),await o.schema.alterTable("device_snapshots").addColumn("pending_reclaim","integer",(s)=>s.notNull().defaultTo(0)).execute(),await o.schema.alterTable("device_snapshots").addColumn("pending_reclaim_reason","text").execute(),await
|
|
221
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("provision_device_operations").addColumn("attempt_id","text",(s)=>s.notNull().defaultTo("")).execute()}async function jf(n){await n.schema.alterTable("provision_device_operations").dropColumn("attempt_id").execute()}async function Hf(n){await n.schema.createIndex("idx_device_sessions_released_at_ms").ifNotExists().on("device_sessions").column("released_at_ms").execute()}async function Yf(n){await n.schema.dropIndex("idx_device_sessions_released_at_ms").ifExists().execute()}async function Xf(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_snapshots").addColumn("size_unknown","integer",(s)=>s.notNull().defaultTo(0)).execute(),await o.schema.alterTable("device_snapshots").addColumn("pending_reclaim","integer",(s)=>s.notNull().defaultTo(0)).execute(),await o.schema.alterTable("device_snapshots").addColumn("pending_reclaim_reason","text").execute(),await f`
|
|
222
222
|
UPDATE device_snapshots
|
|
223
223
|
SET size_unknown = 1
|
|
224
224
|
WHERE platform = 'android' AND snapshot_type = 'vm'
|
|
225
|
-
`.execute(o)})}async function Zf(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_snapshots").dropColumn("pending_reclaim_reason").execute(),await o.schema.alterTable("device_snapshots").dropColumn("pending_reclaim").execute(),await o.schema.alterTable("device_snapshots").dropColumn("size_unknown").execute()})}async function eh(n){await n.schema.alterTable("device_sessions").addColumn("stable_device_id","text").execute()}async function th(n){await n.schema.alterTable("device_sessions").dropColumn("stable_device_id").execute()}async function rh(n){await n.transaction().execute(async(o)=>{if((await
|
|
225
|
+
`.execute(o)})}async function Zf(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_snapshots").dropColumn("pending_reclaim_reason").execute(),await o.schema.alterTable("device_snapshots").dropColumn("pending_reclaim").execute(),await o.schema.alterTable("device_snapshots").dropColumn("size_unknown").execute()})}async function eh(n){await n.schema.alterTable("device_sessions").addColumn("stable_device_id","text").execute()}async function th(n){await n.schema.alterTable("device_sessions").dropColumn("stable_device_id").execute()}async function rh(n){await n.transaction().execute(async(o)=>{if((await f`
|
|
226
226
|
SELECT name FROM pragma_table_info('device_sessions')
|
|
227
227
|
WHERE name = 'stable_identity_generation'
|
|
228
|
-
`.execute(o)).rows.length===0)await o.schema.alterTable("device_sessions").addColumn("stable_identity_generation","integer",(a)=>a.notNull().defaultTo(0)).execute();await
|
|
228
|
+
`.execute(o)).rows.length===0)await o.schema.alterTable("device_sessions").addColumn("stable_identity_generation","integer",(a)=>a.notNull().defaultTo(0)).execute();await f`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await f`
|
|
229
229
|
CREATE TRIGGER clear_stale_device_session_identity
|
|
230
230
|
AFTER UPDATE OF device_id ON device_sessions
|
|
231
231
|
WHEN NEW.device_id IS NOT OLD.device_id
|
|
@@ -235,10 +235,10 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
235
235
|
SET stable_device_id = NULL
|
|
236
236
|
WHERE session_uuid = NEW.session_uuid;
|
|
237
237
|
END
|
|
238
|
-
`.execute(o)})}async function ih(n){await n.transaction().execute(async(o)=>{await
|
|
238
|
+
`.execute(o)})}async function ih(n){await n.transaction().execute(async(o)=>{await f`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await o.schema.alterTable("device_sessions").dropColumn("stable_identity_generation").execute()})}async function nh(n){await n.schema.alterTable("device_sessions").addColumn("liveness_owner_token","text").execute()}async function oh(n){await n.schema.alterTable("device_sessions").dropColumn("liveness_owner_token").execute()}async function sh(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_sessions").addColumn("heartbeat_timeout_source","text").execute(),await o.schema.alterTable("device_sessions").addColumn("liveness_policy","text").execute(),await o.schema.alterTable("device_sessions").addColumn("pre_cli_heartbeat_timeout_ms","integer").execute(),await o.schema.alterTable("device_sessions").addColumn("pre_cli_heartbeat_timeout_source","text").execute(),await o.schema.alterTable("device_sessions").addColumn("pre_cli_session_timeout_ms","integer").execute()})}async function ah(n){await n.schema.alterTable("device_sessions").dropColumn("pre_cli_session_timeout_ms").execute(),await n.schema.alterTable("device_sessions").dropColumn("pre_cli_heartbeat_timeout_source").execute(),await n.schema.alterTable("device_sessions").dropColumn("pre_cli_heartbeat_timeout_ms").execute(),await n.schema.alterTable("device_sessions").dropColumn("liveness_policy").execute(),await n.schema.alterTable("device_sessions").dropColumn("heartbeat_timeout_source").execute()}async function dh(n){await n.transaction().execute(async(o)=>{if((await f`
|
|
239
239
|
SELECT name FROM pragma_table_info('device_sessions')
|
|
240
240
|
WHERE name = 'liveness_contract_generation'
|
|
241
|
-
`.execute(o)).rows.length===0)await o.schema.alterTable("device_sessions").addColumn("liveness_contract_generation","integer",(a)=>a.notNull().defaultTo(0)).execute();await
|
|
241
|
+
`.execute(o)).rows.length===0)await o.schema.alterTable("device_sessions").addColumn("liveness_contract_generation","integer",(a)=>a.notNull().defaultTo(0)).execute();await f`DROP TRIGGER IF EXISTS clear_stale_device_session_liveness_contract`.execute(o),await f`
|
|
242
242
|
CREATE TRIGGER clear_stale_device_session_liveness_contract
|
|
243
243
|
AFTER UPDATE OF session_timeout_ms, heartbeat_timeout_ms, has_received_heartbeat ON device_sessions
|
|
244
244
|
WHEN NEW.liveness_contract_generation = OLD.liveness_contract_generation
|
|
@@ -251,10 +251,10 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
251
251
|
pre_cli_session_timeout_ms = NULL
|
|
252
252
|
WHERE session_uuid = NEW.session_uuid;
|
|
253
253
|
END
|
|
254
|
-
`.execute(o)})}async function uh(n){await n.transaction().execute(async(o)=>{await
|
|
254
|
+
`.execute(o)})}async function uh(n){await n.transaction().execute(async(o)=>{await f`DROP TRIGGER IF EXISTS clear_stale_device_session_liveness_contract`.execute(o),await o.schema.alterTable("device_sessions").dropColumn("liveness_contract_generation").execute()})}async function ch(n){await n.transaction().execute(async(o)=>{if((await f`
|
|
255
255
|
SELECT name FROM pragma_table_info('device_sessions')
|
|
256
256
|
WHERE name = 'stable_identity_generation'
|
|
257
|
-
`.execute(o)).rows.length===0)await o.schema.alterTable("device_sessions").addColumn("stable_identity_generation","integer",(a)=>a.notNull().defaultTo(0)).execute();await
|
|
257
|
+
`.execute(o)).rows.length===0)await o.schema.alterTable("device_sessions").addColumn("stable_identity_generation","integer",(a)=>a.notNull().defaultTo(0)).execute();await f`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await f`
|
|
258
258
|
CREATE TRIGGER clear_stale_device_session_identity
|
|
259
259
|
AFTER UPDATE OF device_id, stable_device_id ON device_sessions
|
|
260
260
|
WHEN NEW.stable_identity_generation = OLD.stable_identity_generation
|
|
@@ -264,7 +264,7 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
264
264
|
SET stable_device_id = NULL
|
|
265
265
|
WHERE session_uuid = NEW.session_uuid;
|
|
266
266
|
END
|
|
267
|
-
`.execute(o)})}async function lh(n){await n.transaction().execute(async(o)=>{await
|
|
267
|
+
`.execute(o)})}async function lh(n){await n.transaction().execute(async(o)=>{await f`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await f`
|
|
268
268
|
CREATE TRIGGER clear_stale_device_session_identity
|
|
269
269
|
AFTER UPDATE OF device_id ON device_sessions
|
|
270
270
|
WHEN NEW.device_id IS NOT OLD.device_id
|
|
@@ -274,52 +274,52 @@ ${s}`}function ks(n){let[o,s,a,c]=n.split(`
|
|
|
274
274
|
SET stable_device_id = NULL
|
|
275
275
|
WHERE session_uuid = NEW.session_uuid;
|
|
276
276
|
END
|
|
277
|
-
`.execute(o)})}async function mh(n){if((await
|
|
277
|
+
`.execute(o)})}async function mh(n){if((await f`
|
|
278
278
|
SELECT name FROM pragma_table_info('provision_device_operations')
|
|
279
279
|
WHERE name = 'lifecycle_json'
|
|
280
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("provision_device_operations").addColumn("lifecycle_json","text").execute();await n.schema.createTable("provisioned_device_transport_tombstones").ifNotExists().addColumn("device_id","text",(s)=>s.primaryKey()).addColumn("stable_id","text",(s)=>s.notNull()).addColumn("reason","text",(s)=>s.notNull()).addColumn("retired_at_ms","integer",(s)=>s.notNull()).execute()}async function ph(n){await n.schema.dropTable("provisioned_device_transport_tombstones").ifExists().execute(),await n.schema.alterTable("provision_device_operations").dropColumn("lifecycle_json").execute()}async function fh(n){await n.schema.createTable("navigation_suggestion_observations").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("suggestion_id","integer",(o)=>o.notNull().references("navigation_suggestions.id").onDelete("cascade")).addColumn("build_key_id","integer",(o)=>o.notNull().references("navigation_build_keys.id").onDelete("cascade")).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
280
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("provision_device_operations").addColumn("lifecycle_json","text").execute();await n.schema.createTable("provisioned_device_transport_tombstones").ifNotExists().addColumn("device_id","text",(s)=>s.primaryKey()).addColumn("stable_id","text",(s)=>s.notNull()).addColumn("reason","text",(s)=>s.notNull()).addColumn("retired_at_ms","integer",(s)=>s.notNull()).execute()}async function ph(n){await n.schema.dropTable("provisioned_device_transport_tombstones").ifExists().execute(),await n.schema.alterTable("provision_device_operations").dropColumn("lifecycle_json").execute()}async function fh(n){await n.schema.createTable("navigation_suggestion_observations").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("suggestion_id","integer",(o)=>o.notNull().references("navigation_suggestions.id").onDelete("cascade")).addColumn("build_key_id","integer",(o)=>o.notNull().references("navigation_build_keys.id").onDelete("cascade")).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_suggestion_observations_unique").ifNotExists().on("navigation_suggestion_observations").columns(["suggestion_id","build_key_id","device_id","session_uuid"]).unique().execute(),await n.schema.createIndex("idx_navigation_suggestion_observations_build").ifNotExists().on("navigation_suggestion_observations").column("build_key_id").execute()}async function hh(n){await n.schema.dropTable("navigation_suggestion_observations").ifExists().execute()}async function _h(n){for(let o of["recorded_panel_json","display_transitions_json"])if((await f`
|
|
281
281
|
SELECT name FROM pragma_table_info('video_recordings') WHERE name = ${o}
|
|
282
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn(o,"text").execute()}async function yh(n){await n.schema.alterTable("video_recordings").dropColumn("display_transitions_json").execute(),await n.schema.alterTable("video_recordings").dropColumn("recorded_panel_json").execute()}async function xh(n){for(let[o,s]of[["request_id","text"],["connection_id","text"],["direction","text"],["metadata_json","text"],["sequence_number","integer"]])if((await
|
|
282
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn(o,"text").execute()}async function yh(n){await n.schema.alterTable("video_recordings").dropColumn("display_transitions_json").execute(),await n.schema.alterTable("video_recordings").dropColumn("recorded_panel_json").execute()}async function xh(n){for(let[o,s]of[["request_id","text"],["connection_id","text"],["direction","text"],["metadata_json","text"],["sequence_number","integer"]])if((await f`
|
|
283
283
|
SELECT name FROM pragma_table_info('network_events') WHERE name = ${o}
|
|
284
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("network_events").addColumn(o,s).execute()}async function Nh(n){for(let o of["sequence_number","metadata_json","direction","connection_id","request_id"])await n.schema.alterTable("network_events").dropColumn(o).execute()}async function gh(n){if((await
|
|
284
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("network_events").addColumn(o,s).execute()}async function Nh(n){for(let o of["sequence_number","metadata_json","direction","connection_id","request_id"])await n.schema.alterTable("network_events").dropColumn(o).execute()}async function gh(n){if((await f`
|
|
285
285
|
SELECT name FROM pragma_table_info('device_locks') WHERE name = 'device_identity'
|
|
286
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("device_locks").addColumn("device_identity","text").execute()}async function wh(n){await n.schema.alterTable("device_locks").dropColumn("device_identity").execute()}async function vh(n){await n.schema.createIndex("idx_storage_events_key_lookup_id").ifNotExists().on("storage_events").columns(["device_id","file_name","key"]).execute()}async function bh(n){await n.schema.dropIndex("idx_storage_events_key_lookup_id").ifExists().execute()}async function Ch(n){await n.schema.createIndex("idx_test_edge_coverage_edge").ifNotExists().on("test_edge_coverage").column("edge_id").execute()}async function Eh(n){await n.schema.dropIndex("idx_test_edge_coverage_edge").ifExists().execute()}async function Th(n){await n.schema.createTable("device_resource_applications").ifNotExists().addColumn("identity_key","text",(o)=>o.primaryKey()).addColumn("udid","text",(o)=>o.notNull()).addColumn("runtime_id","text",(o)=>o.notNull()).addColumn("device_type_id","text",(o)=>o.notNull()).addColumn("resources_json","text",(o)=>o.notNull()).addColumn("profile_fingerprint","text",(o)=>o.notNull()).addColumn("updated_at_ms","integer",(o)=>o.notNull()).execute()}async function kh(n){await n.schema.dropTable("device_resource_applications").ifExists().execute()}async function Sh(n){await n.schema.dropTable("provision_device_operations").ifExists().execute()}async function Dh(n){await n.schema.createTable("provision_device_operations").ifNotExists().addColumn("operation_id","text",(o)=>o.primaryKey()).addColumn("request_fingerprint","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("result_json","text").addColumn("error_code","text").addColumn("error_message","text").addColumn("creation_started","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(
|
|
287
|
-
AND EXISTS (SELECT 1 FROM feature_flags WHERE key = 'tool-call-recording')`.execute(n),await
|
|
288
|
-
WHERE key = 'mcp-recording'`.execute(n),await
|
|
286
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("device_locks").addColumn("device_identity","text").execute()}async function wh(n){await n.schema.alterTable("device_locks").dropColumn("device_identity").execute()}async function vh(n){await n.schema.createIndex("idx_storage_events_key_lookup_id").ifNotExists().on("storage_events").columns(["device_id","file_name","key"]).execute()}async function bh(n){await n.schema.dropIndex("idx_storage_events_key_lookup_id").ifExists().execute()}async function Ch(n){await n.schema.createIndex("idx_test_edge_coverage_edge").ifNotExists().on("test_edge_coverage").column("edge_id").execute()}async function Eh(n){await n.schema.dropIndex("idx_test_edge_coverage_edge").ifExists().execute()}async function Th(n){await n.schema.createTable("device_resource_applications").ifNotExists().addColumn("identity_key","text",(o)=>o.primaryKey()).addColumn("udid","text",(o)=>o.notNull()).addColumn("runtime_id","text",(o)=>o.notNull()).addColumn("device_type_id","text",(o)=>o.notNull()).addColumn("resources_json","text",(o)=>o.notNull()).addColumn("profile_fingerprint","text",(o)=>o.notNull()).addColumn("updated_at_ms","integer",(o)=>o.notNull()).execute()}async function kh(n){await n.schema.dropTable("device_resource_applications").ifExists().execute()}async function Sh(n){await n.schema.dropTable("provision_device_operations").ifExists().execute()}async function Dh(n){await n.schema.createTable("provision_device_operations").ifNotExists().addColumn("operation_id","text",(o)=>o.primaryKey()).addColumn("request_fingerprint","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("result_json","text").addColumn("error_code","text").addColumn("error_message","text").addColumn("creation_started","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("expires_at_ms","integer",(o)=>o.notNull().defaultTo(0)).addColumn("attempt_id","text",(o)=>o.notNull().defaultTo("")).addColumn("lifecycle_json","text").execute()}async function Oh(n){await n.schema.dropTable("device_teardown_operations").ifExists().execute()}async function Rh(n){await n.schema.createTable("device_teardown_operations").ifNotExists().addColumn("operation_id","text",(o)=>o.primaryKey()).addColumn("request_fingerprint","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("result_json","text").addColumn("expires_at_ms","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(f`(datetime('now'))`)).addColumn("owner_token","text",(o)=>o.notNull().defaultTo(f`''`)).execute()}async function Ih(n){await f`DELETE FROM feature_flags WHERE key = 'mcp-recording'
|
|
287
|
+
AND EXISTS (SELECT 1 FROM feature_flags WHERE key = 'tool-call-recording')`.execute(n),await f`UPDATE feature_flags SET key = 'tool-call-recording'
|
|
288
|
+
WHERE key = 'mcp-recording'`.execute(n),await f`DELETE FROM session_tool_overrides WHERE tool_name = 'recordSteps'
|
|
289
289
|
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
290
290
|
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
291
|
-
AND destination.tool_name = 'recordToolCalls')`.execute(n),await
|
|
292
|
-
WHERE tool_name = 'recordSteps'`.execute(n),await
|
|
291
|
+
AND destination.tool_name = 'recordToolCalls')`.execute(n),await f`UPDATE session_tool_overrides SET tool_name = 'recordToolCalls'
|
|
292
|
+
WHERE tool_name = 'recordSteps'`.execute(n),await f`DELETE FROM session_tool_overrides WHERE tool_name = 'startTestRecording'
|
|
293
293
|
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
294
294
|
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
295
|
-
AND destination.tool_name = 'recordDeviceGestures')`.execute(n),await
|
|
296
|
-
WHERE tool_name = 'startTestRecording'`.execute(n)}async function Ph(n){await
|
|
297
|
-
AND EXISTS (SELECT 1 FROM feature_flags WHERE key = 'mcp-recording')`.execute(n),await
|
|
298
|
-
WHERE key = 'tool-call-recording'`.execute(n),await
|
|
295
|
+
AND destination.tool_name = 'recordDeviceGestures')`.execute(n),await f`UPDATE session_tool_overrides SET tool_name = 'recordDeviceGestures'
|
|
296
|
+
WHERE tool_name = 'startTestRecording'`.execute(n)}async function Ph(n){await f`DELETE FROM feature_flags WHERE key = 'tool-call-recording'
|
|
297
|
+
AND EXISTS (SELECT 1 FROM feature_flags WHERE key = 'mcp-recording')`.execute(n),await f`UPDATE feature_flags SET key = 'mcp-recording'
|
|
298
|
+
WHERE key = 'tool-call-recording'`.execute(n),await f`DELETE FROM session_tool_overrides WHERE tool_name = 'recordToolCalls'
|
|
299
299
|
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
300
300
|
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
301
|
-
AND destination.tool_name = 'recordSteps')`.execute(n),await
|
|
302
|
-
WHERE tool_name = 'recordToolCalls'`.execute(n),await
|
|
301
|
+
AND destination.tool_name = 'recordSteps')`.execute(n),await f`UPDATE session_tool_overrides SET tool_name = 'recordSteps'
|
|
302
|
+
WHERE tool_name = 'recordToolCalls'`.execute(n),await f`DELETE FROM session_tool_overrides WHERE tool_name = 'recordDeviceGestures'
|
|
303
303
|
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
304
304
|
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
305
|
-
AND destination.tool_name = 'startTestRecording')`.execute(n),await
|
|
306
|
-
WHERE tool_name = 'recordDeviceGestures'`.execute(n)}async function Lh(n){if((await
|
|
305
|
+
AND destination.tool_name = 'startTestRecording')`.execute(n),await f`UPDATE session_tool_overrides SET tool_name = 'startTestRecording'
|
|
306
|
+
WHERE tool_name = 'recordDeviceGestures'`.execute(n)}async function Lh(n){if((await f`
|
|
307
307
|
SELECT name FROM pragma_table_info('video_recordings') WHERE name = 'capture_teardown_json'
|
|
308
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn("capture_teardown_json","text").execute()}async function Ah(n){await n.schema.alterTable("video_recordings").dropColumn("capture_teardown_json").execute()}async function Bh(n){if((await
|
|
308
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn("capture_teardown_json","text").execute()}async function Ah(n){await n.schema.alterTable("video_recordings").dropColumn("capture_teardown_json").execute()}async function Bh(n){if((await f`
|
|
309
309
|
SELECT name FROM pragma_table_info('video_recordings') WHERE name = 'recorder_daemon_session_id'
|
|
310
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn("recorder_daemon_session_id","text").execute()}async function Wh(n){await n.schema.alterTable("video_recordings").dropColumn("recorder_daemon_session_id").execute()}async function Mh(n){if((await
|
|
310
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("video_recordings").addColumn("recorder_daemon_session_id","text").execute()}async function Wh(n){await n.schema.alterTable("video_recordings").dropColumn("recorder_daemon_session_id").execute()}async function Mh(n){if((await f`
|
|
311
311
|
SELECT name FROM pragma_table_info('device_sessions') WHERE name = 'activity_seq'
|
|
312
|
-
`.execute(n)).rows.length===0)await n.schema.alterTable("device_sessions").addColumn("activity_seq","integer",(s)=>s.notNull().defaultTo(0)).execute()}async function qh(n){await n.schema.alterTable("device_sessions").dropColumn("activity_seq").execute()}async function Fh(n){await n.schema.createTable("prototype_test_sessions").ifNotExists().addColumn("test_session_id","text",(o)=>o.primaryKey()).addColumn("prototype_id","text",(o)=>o.notNull()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text").addColumn("cohort","text").addColumn("goal","text").addColumn("start_screen","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("started_at_ms","integer",(o)=>o.notNull()).addColumn("ended_at_ms","integer").addColumn("ended_reason","text").addColumn("dropped_count","integer",(o)=>o.notNull().defaultTo(0)).execute(),await n.schema.createTable("prototype_test_session_steps").ifNotExists().addColumn("test_session_id","text",(o)=>o.notNull().references("prototype_test_sessions.test_session_id").onDelete("cascade")).addColumn("seq","integer",(o)=>o.notNull()).addColumn("event_sequence","integer",(o)=>o.notNull()).addColumn("at_ms","integer",(o)=>o.notNull()).addColumn("kind","text",(o)=>o.notNull()).addColumn("name","text").addColumn("screen","text",(o)=>o.notNull()).addColumn("detail_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_prototype_test_session_steps_seq").ifNotExists().on("prototype_test_session_steps").columns(["test_session_id","seq"]).unique().execute(),await n.schema.createIndex("idx_prototype_test_sessions_active").ifNotExists().on("prototype_test_sessions").columns(["device_id","prototype_id","status"]).execute()}async function Kh(n){await n.schema.dropTable("prototype_test_session_steps").ifExists().execute(),await n.schema.dropTable("prototype_test_sessions").ifExists().execute()}async function $h(n){await n.schema.createTable("mcp_tasks").ifNotExists().addColumn("task_id","text",(o)=>o.primaryKey()).addColumn("owner_key","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("status_message","text").addColumn("instance_id","text",(o)=>o.notNull()).addColumn("poll_interval_ms","integer",(o)=>o.notNull()).addColumn("retention_ms","integer",(o)=>o.notNull()).addColumn("created_at_ms","integer",(o)=>o.notNull()).addColumn("last_updated_at_ms","integer",(o)=>o.notNull()).addColumn("terminal_at_ms","integer").addColumn("expires_at_ms","integer").addColumn("input_requests_json","text").addColumn("result_json","text").addColumn("error_json","text").execute(),await n.schema.createIndex("idx_mcp_tasks_expires_at").ifNotExists().on("mcp_tasks").column("expires_at_ms").execute(),await n.schema.createIndex("idx_mcp_tasks_status_instance").ifNotExists().on("mcp_tasks").columns(["status","instance_id"]).execute()}async function Gh(n){await n.schema.dropTable("mcp_tasks").ifExists().execute()}var Qu=[["has_audio_track","integer"],["warnings_json","text"]];async function Uh(n){let o=await
|
|
312
|
+
`.execute(n)).rows.length===0)await n.schema.alterTable("device_sessions").addColumn("activity_seq","integer",(s)=>s.notNull().defaultTo(0)).execute()}async function qh(n){await n.schema.alterTable("device_sessions").dropColumn("activity_seq").execute()}async function Fh(n){await n.schema.createTable("prototype_test_sessions").ifNotExists().addColumn("test_session_id","text",(o)=>o.primaryKey()).addColumn("prototype_id","text",(o)=>o.notNull()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text").addColumn("cohort","text").addColumn("goal","text").addColumn("start_screen","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("started_at_ms","integer",(o)=>o.notNull()).addColumn("ended_at_ms","integer").addColumn("ended_reason","text").addColumn("dropped_count","integer",(o)=>o.notNull().defaultTo(0)).execute(),await n.schema.createTable("prototype_test_session_steps").ifNotExists().addColumn("test_session_id","text",(o)=>o.notNull().references("prototype_test_sessions.test_session_id").onDelete("cascade")).addColumn("seq","integer",(o)=>o.notNull()).addColumn("event_sequence","integer",(o)=>o.notNull()).addColumn("at_ms","integer",(o)=>o.notNull()).addColumn("kind","text",(o)=>o.notNull()).addColumn("name","text").addColumn("screen","text",(o)=>o.notNull()).addColumn("detail_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_prototype_test_session_steps_seq").ifNotExists().on("prototype_test_session_steps").columns(["test_session_id","seq"]).unique().execute(),await n.schema.createIndex("idx_prototype_test_sessions_active").ifNotExists().on("prototype_test_sessions").columns(["device_id","prototype_id","status"]).execute()}async function Kh(n){await n.schema.dropTable("prototype_test_session_steps").ifExists().execute(),await n.schema.dropTable("prototype_test_sessions").ifExists().execute()}async function $h(n){await n.schema.createTable("mcp_tasks").ifNotExists().addColumn("task_id","text",(o)=>o.primaryKey()).addColumn("owner_key","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("status_message","text").addColumn("instance_id","text",(o)=>o.notNull()).addColumn("poll_interval_ms","integer",(o)=>o.notNull()).addColumn("retention_ms","integer",(o)=>o.notNull()).addColumn("created_at_ms","integer",(o)=>o.notNull()).addColumn("last_updated_at_ms","integer",(o)=>o.notNull()).addColumn("terminal_at_ms","integer").addColumn("expires_at_ms","integer").addColumn("input_requests_json","text").addColumn("result_json","text").addColumn("error_json","text").execute(),await n.schema.createIndex("idx_mcp_tasks_expires_at").ifNotExists().on("mcp_tasks").column("expires_at_ms").execute(),await n.schema.createIndex("idx_mcp_tasks_status_instance").ifNotExists().on("mcp_tasks").columns(["status","instance_id"]).execute()}async function Gh(n){await n.schema.dropTable("mcp_tasks").ifExists().execute()}var Qu=[["has_audio_track","integer"],["warnings_json","text"]];async function Uh(n){let o=await f`
|
|
313
313
|
SELECT name FROM pragma_table_info('video_recordings')
|
|
314
|
-
`.execute(n),s=new Set(o.rows.map((a)=>a.name));for(let[a,c]of Qu)if(!s.has(a))await n.schema.alterTable("video_recordings").addColumn(a,c).execute()}async function Vh(n){for(let[o]of Qu)await n.schema.alterTable("video_recordings").dropColumn(o).execute()}async function Qh(n){await
|
|
315
|
-
WHERE key = 'tool-call-recording' AND enabled = 0`.execute(n)}async function zh(n){await
|
|
316
|
-
WHERE key = 'tool-call-recording' AND enabled = 1`.execute(n)}var zu=["git_branch","git_sha"];async function Jh(n){let o=await
|
|
314
|
+
`.execute(n),s=new Set(o.rows.map((a)=>a.name));for(let[a,c]of Qu)if(!s.has(a))await n.schema.alterTable("video_recordings").addColumn(a,c).execute()}async function Vh(n){for(let[o]of Qu)await n.schema.alterTable("video_recordings").dropColumn(o).execute()}async function Qh(n){await f`UPDATE feature_flags SET enabled = 1
|
|
315
|
+
WHERE key = 'tool-call-recording' AND enabled = 0`.execute(n)}async function zh(n){await f`UPDATE feature_flags SET enabled = 0
|
|
316
|
+
WHERE key = 'tool-call-recording' AND enabled = 1`.execute(n)}var zu=["git_branch","git_sha"];async function Jh(n){let o=await f`
|
|
317
317
|
SELECT name FROM pragma_table_info('navigation_build_keys')
|
|
318
|
-
`.execute(n),s=new Set(o.rows.map((a)=>a.name));for(let a of zu)if(!s.has(a))await n.schema.alterTable("navigation_build_keys").addColumn(a,"text").execute()}async function jh(n){for(let o of zu)await n.schema.alterTable("navigation_build_keys").dropColumn(o).execute()}async function Hh(n){if(!(await
|
|
318
|
+
`.execute(n),s=new Set(o.rows.map((a)=>a.name));for(let a of zu)if(!s.has(a))await n.schema.alterTable("navigation_build_keys").addColumn(a,"text").execute()}async function jh(n){for(let o of zu)await n.schema.alterTable("navigation_build_keys").dropColumn(o).execute()}async function Hh(n){if(!(await f`
|
|
319
319
|
SELECT name FROM pragma_table_info('performance_audit_results')
|
|
320
|
-
`.execute(n)).rows.some((s)=>s.name==="device_session_uuid"))await n.schema.alterTable("performance_audit_results").addColumn("device_session_uuid","text").execute()}async function Yh(n){await n.schema.alterTable("performance_audit_results").dropColumn("device_session_uuid").execute()}var Xh={"2025_12_28_000_initial_schema":rs,"2025_12_30_000_performance_thresholds":is,"2025_12_30_001_navigation_graph":ns,"2025_12_31_000_accessibility_baselines":os,"2025_12_31_001_memory_audit":ss,"2026_01_01_000_recomposition_metrics":as,"2026_01_02_000_prediction_history":ds,"2026_01_03_000_feature_flags":us,"2026_01_03_000_test_executions":cs,"2026_01_05_000_tool_calls":ls,"2026_01_08_000_test_coverage":ms,"2026_01_09_000_video_recordings":ps,"2026_01_10_000_device_snapshots":fs,"2026_01_11_000_installed_apps":hs,"2026_01_11_000_video_recording_highlights":_s,"2026_01_13_000_installed_apps_session_tracking":ys,"2026_01_14_000_appearance_config":xs,"2026_01_25_000_navigation_screenshots":Ns,"2026_01_25_001_test_run_details":ws,"2026_01_27_000_crash_anr_monitoring":vs,"2026_01_27_000_failures":bs,"2026_01_29_000_named_nodes":Cs,"2026_01_30_000_performance_live_metrics":Es,"2026_03_15_000_telemetry_events":Ss,"2026_03_18_000_navigation_events":Ds,"2026_03_19_000_storage_events":Os,"2026_03_19_001_layout_events":Rs,"2026_03_19_002_storage_events_previous_value":Is,"2026_03_19_003_layout_events_screen_name":Ps,"2026_03_20_000_network_event_details":Ls,"2026_04_01_000_drop_custom_events":As,"2026_04_02_000_device_sessions":Bs,"2026_07_01_000_failure_groups_signature_unique":Ws,"2026_07_02_000_event_composite_indexes":Ms,"2026_07_03_000_drop_redundant_device_indexes":qs,"2026_07_03_000_repair_datetime_now_defaults":Fs,"2026_07_04_000_storage_events_key_lookup":Ks,"2026_07_05_000_repair_updated_at_defaults":$s,"2026_07_24_000_device_locks":Gs,"2026_07_27_000_session_tool_capabilities":Us,"2026_07_31_000_video_recordings_owner_session":Vs,"2026_08_02_000_navigation_provenance":Qs,"2026_08_17_000_emulator_loss_incidents":Js,"2026_08_22_000_provision_device_operations":js,"2026_08_22_001_session_tool_overrides":Hs,"2026_08_22_002_navigation_observation_eviction_index":Ys,"2026_08_22_003_device_teardown_operations":Xs,"2026_08_23_000_device_teardown_operation_owner":Zs,"2026_08_23_001_default_existing_delete_device_disabled":ea,"2026_08_24_000_installed_apps_profile_type":ta,"2026_09_06_000_tool_selection_profile_provenance":ra,"2026_09_08_000_provision_device_operations_expiry":ia,"2026_09_10_000_provision_device_operation_attempt":na,"2026_09_10_001_device_session_retention_index":oa,"2026_09_13_000_device_snapshot_vm_reclaim":sa,"2026_09_14_000_device_session_stable_identity":aa,"2026_09_14_001_device_session_identity_writer_fence":da,"2026_09_16_000_device_session_liveness_owner":ua,"2026_09_16_001_device_session_liveness_contract":ca,"2026_09_17_000_device_session_liveness_writer_fence":la,"2026_09_17_001_device_session_identity_fence_same_serial":ma,"2026_09_20_000_provision_device_lifecycle_outcome":pa,"2026_09_29_000_navigation_suggestion_provenance":fa,"2026_09_30_000_video_recording_display":ha,"2026_09_30_001_network_capture_fields":_a,"2026_10_05_000_device_locks_device_identity":ya,"2026_10_05_001_storage_events_key_lookup_insertion_order":xa,"2026_10_05_002_test_edge_coverage_edge_id_index":Na,"2026_10_09_000_device_resource_applications":ga,"2026_10_09_001_drop_provision_device_operations":wa,"2026_10_09_002_drop_device_teardown_operations":va,"2026_10_12_000_rename_recording_tool_names":ba,"2026_10_12_001_video_recording_capture_teardown":Ca,"2026_10_13_000_video_recording_recorder_daemon":Ea,"2026_10_15_000_device_session_activity_seq":Ta,"2026_10_18_000_mcp_tasks":Da,"2026_10_26_000_prototype_test_sessions":ka,"2026_10_29_000_video_recording_audio_state":Oa,"2026_11_04_000_tool_call_recording_default_on":Ra,"2026_11_07_000_navigation_build_source_revision":Ia,"2026_11_11_000_performance_audit_device_session_uuid":Pa},Ju={getMigrations:async()=>({...Xh})};var r_=new Set(["0","false","no","off"]),i_=`${oe}_lock`;function n_(n=process.env){let o=I(f.MIGRATIONS_DIR,n);if(o)return Se(o,n);let s=Gr.dirname(t_(import.meta.url)),a=[Gr.join(s,"migrations"),Gr.join(s,"db","migrations")];for(let c of a)if(Zh(c))return c;throw Error(`Migrations folder not found. Checked: ${a.join(", ")}`)}function Yu(n){return I(f.MIGRATION_RECOVERY,n)?.trim()}function ju(n){let o=Yu(n);if(!o)return!0;return!r_.has(o.toLowerCase())}function o_(n){return Yu(n)==="1"}function Hu(n){return n instanceof Error&&n.message.includes("corrupted migrations")}async function Aa(n,o){return await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","=",o).executeTakeFirst()!==void 0}async function Xu(n){await n.schema.createTable(oe).addColumn("name","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("timestamp","varchar(255)",(o)=>o.notNull()).ifNotExists().execute()}async function s_(n,o,s=i){if(!await Aa(n,oe))return{pruned:[],kept:[]};let c=await o.getMigrations(),p=new Set(c.map((N)=>N.name)),h=await n.selectFrom(oe).select(["name","timestamp"]).execute(),_=h.filter((N)=>!p.has(N.name)).map((N)=>N.name),y=new Set(h.filter((N)=>p.has(N.name)).map((N)=>N.name)),x=c.map((N)=>N.name).filter((N)=>y.has(N));return await Xu(n),await n.transaction().execute(async(N)=>{if(await N.deleteFrom(oe).execute(),x.length>0){let C=s.now();await N.insertInto(oe).values(x.map((V,re)=>({name:V,timestamp:new Date(C+re).toISOString()}))).execute()}}),{pruned:_,kept:x}}function a_(n,o){if(n.length===0)return!1;let s=new Set(n),a=new Set(o);for(let p of n)if(!a.has(p))return!1;let c=n[n.length-1];for(let p of o)if(!s.has(p)&&p<=c)return!1;return!0}async function d_(n,o){if(!await Aa(n,oe))return!1;let s=(await o.getMigrations()).map((p)=>p.name),c=(await m`select name from ${m.table(oe)}`.execute(n)).rows.map((p)=>p.name);return a_(s,c)}async function u_(n,o){let s=await m`select count(*) as count from ${m.table(o)}`.execute(n);return Number(s.rows[0]?.count??0)}async function c_(n,o,s=u_){for(let a of o)try{if(await s(n,a)>0)return!0}catch(c){return e.warn(`Row-count during migration recovery failed for table "${a}"; assuming the database is populated and refusing the destructive reset.`,c),!0}return!1}async function l_(n,o){await n.transaction().execute(async(s)=>{await m`PRAGMA defer_foreign_keys = ON`.execute(s);for(let a of o)await s.schema.dropTable(a).ifExists().execute()})}async function m_(n){if(!await Aa(n,oe))return null;return(await n.selectFrom(oe).select(["name","timestamp"]).execute()).map((s)=>({name:String(s.name),timestamp:String(s.timestamp)}))}async function p_(n,o){await Xu(n),await n.transaction().execute(async(s)=>{if(await s.deleteFrom(oe).execute(),o.length>0)await s.insertInto(oe).values(o).execute()})}async function f_(n,o,s,a){let p=(await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","not like","sqlite_%").execute()).map((y)=>String(y.name)),h=p.filter((y)=>y!==oe&&y!==i_),_=await c_(n,h);if(_&&a)await p_(n,a);if(_&&!o_(s))throw new t("Refusing to drop a populated database during migration recovery. The safe migration-history rebuild was already attempted and the migrations are still corrupted (most likely an out-of-order or renamed migration). Your data and the "+"original migration history have been left untouched \u2014 fix the migration "+"ordering/name, or set AUTOMOBILE_MIGRATION_RECOVERY=1 to allow a destructive reset (a timestamped backup of the database is written first).");if(_){if(!o.backup)throw new t("Refusing to drop a populated database during migration recovery: no backup mechanism is available to preserve the data before the destructive reset.");await o.backup()}await l_(n,p)}async function La(n){let o=await n.migrateToLatest();if(o.results){for(let s of o.results)if(s.status==="Success")e.info(`Migration "${s.migrationName}" executed successfully`);else if(s.status==="Error")e.error(`Migration "${s.migrationName}" failed`)}return o}async function h_(n,o,s,a){let{env:c}=a;if(Hu(s)&&ju(c)){if(await d_(n,o)){e.info("Migration ledger records migrations newer than this build ships and all known migrations are already applied; a newer build migrated this database. Leaving migration history untouched (issue #5684).");return}let p=await __(n,o,s,a);if(p.error)throw e.error("Failed to run migrations after recovery:",p.error),p.error;e.info("All migrations completed successfully");return}if(Hu(s)&&!ju(c))e.error("Corrupted migrations detected. Set AUTOMOBILE_MIGRATION_RECOVERY=1 to enable automatic recovery or reset the local database state.");throw e.error("Failed to run migrations:",s),s}async function __(n,o,s,a){let{env:c}=a;e.warn(`Corrupted migrations detected: ${s.message}`),e.warn("Attempting automatic recovery by rebuilding migration history (destructive). Set AUTOMOBILE_MIGRATION_RECOVERY=0 to disable.");let p=await m_(n),h=await s_(n,o);if(h.pruned.length>0)e.warn(`Pruned missing migrations from history (destructive): ${h.pruned.join(", ")}`);else e.warn("Rebuilt migration history table to match existing migrations (destructive).");let _=await La(o);if(!_.error)return _;return e.warn("Migration recovery failed after rebuild. Resetting database state (destructive)."),await f_(n,a,c,p),_=await La(o),_}async function Zu(n,o={}){let s=o.env??process.env,a=o.lock??new wi;await a.acquire();try{let c=new RO({db:n,provider:o.provider??(I(f.MIGRATIONS_DIR,s)?new Po({fs:e_,path:Gr,migrationFolder:n_(s)}):Ju)}),{error:p}=await La(c);if(p){await h_($u(n),c,p,{...o,env:s});return}e.info("All migrations completed successfully")}finally{await a.release()}}var y_=/\.(?:test|spec)\.[cm]?[jt]sx?$/;function l2(){return globalThis.Bun?.main??process.argv[1]}function u2(n,o){return I(Y.NODE_ENV,n)==="test"&&o!==void 0&&y_.test(o)}var x_=[/sqlite_busy/i,/database is locked/i,/database table is locked/i,/\bebusy\b/i,/\beagain\b/i,/resource (?:busy|temporarily unavailable)/i];function N_(n){try{return String(n??"")}catch(o){return e.debug(`Could not stringify error-like value for classification: ${o}`),""}}function E9(n){let o=n instanceof Error?n.message:N_(n),s=n?.code,a=typeof s==="string"?`${s} ${o}`:o;for(let c of x_)if(c.test(a))return"transient";return"permanent"}var g_=["SQLITE_BUSY","SQLITE_LOCKED"],w_="SQLITE_CONSTRAINT";function Ja(n){let o=v_(n);if(o!==void 0){if(g_.some((s)=>o.startsWith(s)))return"retryable";if(o.startsWith(w_))return"constraint";return"fatal"}return E9(n)==="transient"?"retryable":"fatal"}function v_(n){let o=ec(n);if(o!==void 0)return o;let s=n?.cause;return ec(s)}function ec(n){let o=n?.code;return typeof o==="string"?o:void 0}class tc{next(){let n=new Uint32Array(1);return crypto.getRandomValues(n),n[0]/4294967296}pick(n){return b_(()=>this.next(),n)}}var Cl=new tc,b_=(n,o)=>{if(o.length===0)throw Error("Random.pick cannot pick from an empty array");return o[Math.floor(n()*o.length)]};var C_=200,E_=3,Tn=5000,T_=Q({initialDelayMs:5,multiplier:2,maxDelayMs:50}),kn=300000,rc="begin immediate";function k_(n){return Math.max(0,n?.minAttemptMs??0)}class Sn{#e;#t;#r=null;#i=null;#o=0;#a=[];#n=0;#s=new Map;#c=null;#l=null;#d=!1;#m;#p;#u;#x;#N;#g;#f=null;constructor(n,o,s,a){this.#e=n,this.#r=typeof n==="function"?null:n,this.#t=o,this.#m=Math.max(1,s?.maxAttempts??E_),this.#p=s?.backoff??T_,this.#u=s?.timer??i,this.#x=s?.totalWaitMs??Tn,this.#N=s?.random??Cl,this.#g=k_(s),this.#v(a)}#v(n){if(n&&n>0)this.#f=this.#u.setInterval(()=>this.#b(),n),this.#f.unref?.()}#b(){if(this.#d||!this.#r||this.#i!==null||this.#a.length>0||this.#o>0)return;try{this.#r.exec("PRAGMA optimize;")}catch(n){e.debug(`periodic PRAGMA optimize failed: ${n}`)}}async beginTransaction(n){if(this.#B(),this.#i===n)throw new t("Nested transactions are not supported by BunSqliteDialect");await this.#k("txn",n);try{await this.#w(cn.raw(rc),n,!0)}catch(o){throw this.#i=null,this.#y(),o}}async commitTransaction(n){try{await this.executeQuery(cn.raw("commit"),n)}finally{this.#T(n)}}async rollbackTransaction(n){try{await this.executeQuery(cn.raw("rollback"),n),this.#_()}finally{this.#T(n)}}async executeQuery(n,o){return this.#w(n,o,!1)}async#w(n,o,s){await this.#W(o);let{sql:a,parameters:c}=n,p=this.#u.now()+this.#x;try{for(let h=1;;h++){let _=this.#u.now();try{return await this.#S(a,c)}catch(y){let x=this.#C(y,h,a,{isBegin:s,retryDeadlineMs:p,attemptStartMs:_});await this.#u.sleep(x)}}}finally{this.#o-=1,this.#y()}}#C(n,o,s,{isBegin:a,retryDeadlineMs:c,attemptStartMs:p}){if(!this.#E(n,o,a,c))throw n;let h=this.#u.now(),_=Math.min(p+this.#g,c)-h,y=Math.max(this.#h(o),Math.ceil(_)),x=`SQLite busy/locked (attempt ${o}/${this.#m}); retrying in ${y}ms: ${s}`;if(o===1)e.warn(x);else e.debug(x);return y}#E(n,o,s,a){if(o>=this.#m)return!1;if(this.#d)return!1;if(this.#i!==null&&!s)return!1;if(this.#u.now()>=a)return!1;return Ja(n)==="retryable"}#h(n){let o=this.#p.delayForAttempt(n);return Math.floor(this.#N.next()*(o+1))}async#S(n,o){if(this.#d)throw Error("Cannot use a closed database");try{if(await this.#t?.(),this.#d)throw Error("Cannot use a closed database");let s=this.#O(),a=this.#P(n),c=a?s.prepare(n):this.#R(s,n),p=n.trim().toLowerCase(),h=p.startsWith("select"),_=/\breturning\b/.test(p);return this.#D(c,o,{isSelect:h,hasReturning:_,schemaChanging:a})}catch(s){let a=JSON.stringify(o,(c,p)=>typeof p==="bigint"?p.toString():p);throw Error(`Query failed: ${s}
|
|
320
|
+
`.execute(n)).rows.some((s)=>s.name==="device_session_uuid"))await n.schema.alterTable("performance_audit_results").addColumn("device_session_uuid","text").execute()}async function Yh(n){await n.schema.alterTable("performance_audit_results").dropColumn("device_session_uuid").execute()}var Xh={"2025_12_28_000_initial_schema":rs,"2025_12_30_000_performance_thresholds":is,"2025_12_30_001_navigation_graph":ns,"2025_12_31_000_accessibility_baselines":os,"2025_12_31_001_memory_audit":ss,"2026_01_01_000_recomposition_metrics":as,"2026_01_02_000_prediction_history":ds,"2026_01_03_000_feature_flags":us,"2026_01_03_000_test_executions":cs,"2026_01_05_000_tool_calls":ls,"2026_01_08_000_test_coverage":ms,"2026_01_09_000_video_recordings":ps,"2026_01_10_000_device_snapshots":fs,"2026_01_11_000_installed_apps":hs,"2026_01_11_000_video_recording_highlights":_s,"2026_01_13_000_installed_apps_session_tracking":ys,"2026_01_14_000_appearance_config":xs,"2026_01_25_000_navigation_screenshots":Ns,"2026_01_25_001_test_run_details":ws,"2026_01_27_000_crash_anr_monitoring":vs,"2026_01_27_000_failures":bs,"2026_01_29_000_named_nodes":Cs,"2026_01_30_000_performance_live_metrics":Ts,"2026_03_15_000_telemetry_events":Ss,"2026_03_18_000_navigation_events":Ds,"2026_03_19_000_storage_events":Os,"2026_03_19_001_layout_events":Rs,"2026_03_19_002_storage_events_previous_value":Is,"2026_03_19_003_layout_events_screen_name":Ps,"2026_03_20_000_network_event_details":Ls,"2026_04_01_000_drop_custom_events":As,"2026_04_02_000_device_sessions":Bs,"2026_07_01_000_failure_groups_signature_unique":Ws,"2026_07_02_000_event_composite_indexes":Ms,"2026_07_03_000_drop_redundant_device_indexes":qs,"2026_07_03_000_repair_datetime_now_defaults":Fs,"2026_07_04_000_storage_events_key_lookup":Ks,"2026_07_05_000_repair_updated_at_defaults":$s,"2026_07_24_000_device_locks":Gs,"2026_07_27_000_session_tool_capabilities":Us,"2026_07_31_000_video_recordings_owner_session":Vs,"2026_08_02_000_navigation_provenance":Qs,"2026_08_17_000_emulator_loss_incidents":zs,"2026_08_22_000_provision_device_operations":Js,"2026_08_22_001_session_tool_overrides":js,"2026_08_22_002_navigation_observation_eviction_index":Hs,"2026_08_22_003_device_teardown_operations":Ys,"2026_08_23_000_device_teardown_operation_owner":Xs,"2026_08_23_001_default_existing_delete_device_disabled":ea,"2026_08_24_000_installed_apps_profile_type":ta,"2026_09_06_000_tool_selection_profile_provenance":ra,"2026_09_08_000_provision_device_operations_expiry":ia,"2026_09_10_000_provision_device_operation_attempt":na,"2026_09_10_001_device_session_retention_index":oa,"2026_09_13_000_device_snapshot_vm_reclaim":sa,"2026_09_14_000_device_session_stable_identity":aa,"2026_09_14_001_device_session_identity_writer_fence":da,"2026_09_16_000_device_session_liveness_owner":ua,"2026_09_16_001_device_session_liveness_contract":ca,"2026_09_17_000_device_session_liveness_writer_fence":la,"2026_09_17_001_device_session_identity_fence_same_serial":ma,"2026_09_20_000_provision_device_lifecycle_outcome":pa,"2026_09_29_000_navigation_suggestion_provenance":fa,"2026_09_30_000_video_recording_display":ha,"2026_09_30_001_network_capture_fields":_a,"2026_10_05_000_device_locks_device_identity":ya,"2026_10_05_001_storage_events_key_lookup_insertion_order":xa,"2026_10_05_002_test_edge_coverage_edge_id_index":Na,"2026_10_09_000_device_resource_applications":ga,"2026_10_09_001_drop_provision_device_operations":wa,"2026_10_09_002_drop_device_teardown_operations":va,"2026_10_12_000_rename_recording_tool_names":ba,"2026_10_12_001_video_recording_capture_teardown":Ca,"2026_10_13_000_video_recording_recorder_daemon":Ea,"2026_10_15_000_device_session_activity_seq":ka,"2026_10_18_000_mcp_tasks":Da,"2026_10_26_000_prototype_test_sessions":Sa,"2026_10_29_000_video_recording_audio_state":Oa,"2026_11_04_000_tool_call_recording_default_on":Ra,"2026_11_07_000_navigation_build_source_revision":Ia,"2026_11_11_000_performance_audit_device_session_uuid":Pa},Ju={getMigrations:async()=>({...Xh})};var r_=new Set(["0","false","no","off"]),i_=`${oe}_lock`;function n_(n=process.env){let o=I(h.MIGRATIONS_DIR,n);if(o)return Se(o,n);let s=Gr.dirname(t_(import.meta.url)),a=[Gr.join(s,"migrations"),Gr.join(s,"db","migrations")];for(let c of a)if(Zh(c))return c;throw Error(`Migrations folder not found. Checked: ${a.join(", ")}`)}function Yu(n){return I(h.MIGRATION_RECOVERY,n)?.trim()}function ju(n){let o=Yu(n);if(!o)return!0;return!r_.has(o.toLowerCase())}function o_(n){return Yu(n)==="1"}function Hu(n){return n instanceof Error&&n.message.includes("corrupted migrations")}async function Aa(n,o){return await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","=",o).executeTakeFirst()!==void 0}async function Xu(n){await n.schema.createTable(oe).addColumn("name","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("timestamp","varchar(255)",(o)=>o.notNull()).ifNotExists().execute()}async function s_(n,o,s=i){if(!await Aa(n,oe))return{pruned:[],kept:[]};let c=await o.getMigrations(),m=new Set(c.map((N)=>N.name)),p=await n.selectFrom(oe).select(["name","timestamp"]).execute(),_=p.filter((N)=>!m.has(N.name)).map((N)=>N.name),y=new Set(p.filter((N)=>m.has(N.name)).map((N)=>N.name)),x=c.map((N)=>N.name).filter((N)=>y.has(N));return await Xu(n),await n.transaction().execute(async(N)=>{if(await N.deleteFrom(oe).execute(),x.length>0){let C=s.now();await N.insertInto(oe).values(x.map((V,re)=>({name:V,timestamp:new Date(C+re).toISOString()}))).execute()}}),{pruned:_,kept:x}}function a_(n,o){if(n.length===0)return!1;let s=new Set(n),a=new Set(o);for(let m of n)if(!a.has(m))return!1;let c=n[n.length-1];for(let m of o)if(!s.has(m)&&m<=c)return!1;return!0}async function d_(n,o){if(!await Aa(n,oe))return!1;let s=(await o.getMigrations()).map((m)=>m.name),c=(await f`select name from ${f.table(oe)}`.execute(n)).rows.map((m)=>m.name);return a_(s,c)}async function u_(n,o){let s=await f`select count(*) as count from ${f.table(o)}`.execute(n);return Number(s.rows[0]?.count??0)}async function c_(n,o,s=u_){for(let a of o)try{if(await s(n,a)>0)return!0}catch(c){return e.warn(`Row-count during migration recovery failed for table "${a}"; assuming the database is populated and refusing the destructive reset.`,c),!0}return!1}async function l_(n,o){await n.transaction().execute(async(s)=>{await f`PRAGMA defer_foreign_keys = ON`.execute(s);for(let a of o)await s.schema.dropTable(a).ifExists().execute()})}async function m_(n){if(!await Aa(n,oe))return null;return(await n.selectFrom(oe).select(["name","timestamp"]).execute()).map((s)=>({name:String(s.name),timestamp:String(s.timestamp)}))}async function p_(n,o){await Xu(n),await n.transaction().execute(async(s)=>{if(await s.deleteFrom(oe).execute(),o.length>0)await s.insertInto(oe).values(o).execute()})}async function f_(n,o,s,a){let m=(await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","not like","sqlite_%").execute()).map((y)=>String(y.name)),p=m.filter((y)=>y!==oe&&y!==i_),_=await c_(n,p);if(_&&a)await p_(n,a);if(_&&!o_(s))throw new t("Refusing to drop a populated database during migration recovery. The safe migration-history rebuild was already attempted and the migrations are still corrupted (most likely an out-of-order or renamed migration). Your data and the "+"original migration history have been left untouched \u2014 fix the migration "+"ordering/name, or set AUTOMOBILE_MIGRATION_RECOVERY=1 to allow a destructive reset (a timestamped backup of the database is written first).");if(_){if(!o.backup)throw new t("Refusing to drop a populated database during migration recovery: no backup mechanism is available to preserve the data before the destructive reset.");await o.backup()}await l_(n,m)}async function La(n){let o=await n.migrateToLatest();if(o.results){for(let s of o.results)if(s.status==="Success")e.info(`Migration "${s.migrationName}" executed successfully`);else if(s.status==="Error")e.error(`Migration "${s.migrationName}" failed`)}return o}async function h_(n,o,s,a){let{env:c}=a;if(Hu(s)&&ju(c)){if(await d_(n,o)){e.info("Migration ledger records migrations newer than this build ships and all known migrations are already applied; a newer build migrated this database. Leaving migration history untouched (issue #5684).");return}let m=await __(n,o,s,a);if(m.error)throw e.error("Failed to run migrations after recovery:",m.error),m.error;e.info("All migrations completed successfully");return}if(Hu(s)&&!ju(c))e.error("Corrupted migrations detected. Set AUTOMOBILE_MIGRATION_RECOVERY=1 to enable automatic recovery or reset the local database state.");throw e.error("Failed to run migrations:",s),s}async function __(n,o,s,a){let{env:c}=a;e.warn(`Corrupted migrations detected: ${s.message}`),e.warn("Attempting automatic recovery by rebuilding migration history (destructive). Set AUTOMOBILE_MIGRATION_RECOVERY=0 to disable.");let m=await m_(n),p=await s_(n,o);if(p.pruned.length>0)e.warn(`Pruned missing migrations from history (destructive): ${p.pruned.join(", ")}`);else e.warn("Rebuilt migration history table to match existing migrations (destructive).");let _=await La(o);if(!_.error)return _;return e.warn("Migration recovery failed after rebuild. Resetting database state (destructive)."),await f_(n,a,c,m),_=await La(o),_}async function Zu(n,o={}){let s=o.env??process.env,a=o.lock??new vi;await a.acquire();try{let c=new qO({db:n,provider:o.provider??(I(h.MIGRATIONS_DIR,s)?new Po({fs:e_,path:Gr,migrationFolder:n_(s)}):Ju)}),{error:m}=await La(c);if(m){await h_($u(n),c,m,{...o,env:s});return}e.info("All migrations completed successfully")}finally{await a.release()}}var y_=/\.(?:test|spec)\.[cm]?[jt]sx?$/;function C2(){return globalThis.Bun?.main??process.argv[1]}function D2(n,o){return I(Y.NODE_ENV,n)==="test"&&o!==void 0&&y_.test(o)}var x_=[/sqlite_busy/i,/database is locked/i,/database table is locked/i,/\bebusy\b/i,/\beagain\b/i,/resource (?:busy|temporarily unavailable)/i];function N_(n){try{return String(n??"")}catch(o){return e.debug(`Could not stringify error-like value for classification: ${o}`),""}}function Y9(n){let o=n instanceof Error?n.message:N_(n),s=n?.code,a=typeof s==="string"?`${s} ${o}`:o;for(let c of x_)if(c.test(a))return"transient";return"permanent"}var g_=["SQLITE_BUSY","SQLITE_LOCKED"],w_="SQLITE_CONSTRAINT";function Qa(n){let o=v_(n);if(o!==void 0){if(g_.some((s)=>o.startsWith(s)))return"retryable";if(o.startsWith(w_))return"constraint";return"fatal"}return Y9(n)==="transient"?"retryable":"fatal"}function v_(n){let o=ec(n);if(o!==void 0)return o;let s=n?.cause;return ec(s)}function ec(n){let o=n?.code;return typeof o==="string"?o:void 0}class tc{next(){let n=new Uint32Array(1);return crypto.getRandomValues(n),n[0]/4294967296}pick(n){return b_(()=>this.next(),n)}}var Ul=new tc,b_=(n,o)=>{if(o.length===0)throw Error("Random.pick cannot pick from an empty array");return o[Math.floor(n()*o.length)]};var C_=200,E_=3,Tn=5000,T_=Q({initialDelayMs:5,multiplier:2,maxDelayMs:50}),kn=300000,rc="begin immediate";function k_(n){return Math.max(0,n?.minAttemptMs??0)}class Sn{#e;#t;#r=null;#i=null;#o=0;#a=[];#n=0;#s=new Map;#c=null;#l=null;#d=!1;#m;#p;#u;#x;#N;#g;#f=null;constructor(n,o,s,a){this.#e=n,this.#r=typeof n==="function"?null:n,this.#t=o,this.#m=Math.max(1,s?.maxAttempts??E_),this.#p=s?.backoff??T_,this.#u=s?.timer??i,this.#x=s?.totalWaitMs??Tn,this.#N=s?.random??Ul,this.#g=k_(s),this.#v(a)}#v(n){if(n&&n>0)this.#f=this.#u.setInterval(()=>this.#b(),n),this.#f.unref?.()}#b(){if(this.#d||!this.#r||this.#i!==null||this.#a.length>0||this.#o>0)return;try{this.#r.exec("PRAGMA optimize;")}catch(n){e.debug(`periodic PRAGMA optimize failed: ${n}`)}}async beginTransaction(n){if(this.#B(),this.#i===n)throw new t("Nested transactions are not supported by BunSqliteDialect");await this.#k("txn",n);try{await this.#w(cn.raw(rc),n,!0)}catch(o){throw this.#i=null,this.#y(),o}}async commitTransaction(n){try{await this.executeQuery(cn.raw("commit"),n)}finally{this.#T(n)}}async rollbackTransaction(n){try{await this.executeQuery(cn.raw("rollback"),n),this.#_()}finally{this.#T(n)}}async executeQuery(n,o){return this.#w(n,o,!1)}async#w(n,o,s){await this.#W(o);let{sql:a,parameters:c}=n,m=this.#u.now()+this.#x;try{for(let p=1;;p++){let _=this.#u.now();try{return await this.#S(a,c)}catch(y){let x=this.#C(y,p,a,{isBegin:s,retryDeadlineMs:m,attemptStartMs:_});await this.#u.sleep(x)}}}finally{this.#o-=1,this.#y()}}#C(n,o,s,{isBegin:a,retryDeadlineMs:c,attemptStartMs:m}){if(!this.#E(n,o,a,c))throw n;let p=this.#u.now(),_=Math.min(m+this.#g,c)-p,y=Math.max(this.#h(o),Math.ceil(_)),x=`SQLite busy/locked (attempt ${o}/${this.#m}); retrying in ${y}ms: ${s}`;if(o===1)e.warn(x);else e.debug(x);return y}#E(n,o,s,a){if(o>=this.#m)return!1;if(this.#d)return!1;if(this.#i!==null&&!s)return!1;if(this.#u.now()>=a)return!1;return Qa(n)==="retryable"}#h(n){let o=this.#p.delayForAttempt(n);return Math.floor(this.#N.next()*(o+1))}async#S(n,o){if(this.#d)throw Error("Cannot use a closed database");try{if(await this.#t?.(),this.#d)throw Error("Cannot use a closed database");let s=this.#O(),a=this.#P(n),c=a?s.prepare(n):this.#R(s,n),m=n.trim().toLowerCase(),p=m.startsWith("select"),_=/\breturning\b/.test(m);return this.#D(c,o,{isSelect:p,hasReturning:_,schemaChanging:a})}catch(s){let a=JSON.stringify(o,(c,m)=>typeof m==="bigint"?m.toString():m);throw Error(`Query failed: ${s}
|
|
321
321
|
SQL: ${n}
|
|
322
|
-
Parameters: ${a}`,{cause:s})}}#D(n,o,{isSelect:s,hasReturning:a,schemaChanging:c}){try{if(s||a){let p=n.all(...o),h={rows:p,numAffectedRows:a?BigInt(p.length):void 0};if(c)this.#_();return h}else{let p=n.run(...o),h={rows:[],numAffectedRows:BigInt(p.changes),insertId:p.lastInsertRowid!==void 0?BigInt(p.lastInsertRowid):void 0};if(c)this.#_();return h}}finally{if(c)n.finalize()}}close(){if(this.#d=!0,this.#f)this.#u.clearInterval(this.#f),this.#f=null;if(this.#_(),this.#l?.finalize(),this.#l=null,this.#r){try{this.#r.exec("PRAGMA optimize;")}catch(n){e.debug(`PRAGMA optimize on close failed: ${n}`)}try{this.#r.exec("PRAGMA wal_checkpoint(TRUNCATE);")}catch(n){e.debug(`WAL checkpoint on close failed: ${n}`)}this.#r.close(),this.#r=null}this.#y()}#O(){if(!this.#r)this.#r=typeof this.#e==="function"?this.#e():this.#e;return this.#r}#R(n,o){if(this.#c===null||this.#s.has(o))this.#L(n);let s=this.#s.get(o);if(s)return this.#s.delete(o),this.#s.set(o,s),s;return this.#I(n,o)}#I(n,o){let s=n.prepare(o);if(this.#s.set(o,s),this.#s.size>C_){let a=this.#s.keys().next().value;if(a!==void 0){let c=this.#s.get(a);this.#s.delete(a),c?.finalize()}}return s}#P(n){return/^(?:create|alter|drop)\b/i.test(n.trim())}#_(){for(let n of this.#s.values())n.finalize();this.#s.clear(),this.#c=null}#L(n){let o=this.#A(n);if(this.#c!==o)this.#_(),this.#c=o}#A(n){this.#l??=n.prepare("PRAGMA schema_version");let o=this.#l.get();if(o?.schema_version===void 0)throw Error("PRAGMA schema_version did not return a schema_version value");return Number(o.schema_version)}#B(){if(this.#d)throw Error("Cannot use a closed database")}async#W(n){if(this.#i===n){this.#o+=1;return}await this.#k("query",n)}#T(n){if(this.#i===n)this.#i=null,this.#y()}#k(n,o){return new Promise((s,a)=>{this.#a.push({kind:n,owner:o,resolve:s,reject:a}),this.#y()})}#y(){while(this.#a.length>0){let n=this.#a[0];if(this.#d){this.#a.shift(),this.#n+=1,n.reject(Error("Cannot use a closed database"));continue}if(n.kind==="txn"){if(this.#i===null&&this.#o===0)this.#a.shift(),this.#i=n.owner,this.#n+=1,n.resolve();return}if(this.#i===null){this.#a.shift(),this.#o+=1,this.#n+=1,n.resolve();continue}return}}get resumeCount(){return this.#n}get queuedWaiterCount(){return this.#a.length}}class Dn{#e;#t=Symbol("BunSqliteConnectionLease");constructor(n){this.#e=n}async beginTransaction(){await this.#e.beginTransaction(this.#t)}async commitTransaction(){await this.#e.commitTransaction(this.#t)}async rollbackTransaction(){await this.#e.rollbackTransaction(this.#t)}async executeQuery(n){return this.#e.executeQuery(n,this.#t)}async*streamQuery(){yield await Promise.reject(Error("Streaming is not supported by BunSqliteDialect"))}}class Ba{#e;#t;constructor(n){this.#e=n}async init(){this.#t=new Sn(this.#e.database,this.#e.beforeQuery,this.#e.retry,this.#e.optimizeIntervalMs)}async acquireConnection(){if(!this.#t)throw Error("BunSqliteDriver not initialized");return new Dn(this.#t)}async beginTransaction(n,o){await this.#r(n).beginTransaction()}async commitTransaction(n){await this.#r(n).commitTransaction()}async rollbackTransaction(n){await this.#r(n).rollbackTransaction()}async releaseConnection(){}async destroy(){this.#t?.close()}#r(n){if(!(n instanceof Dn))throw Error("Invalid Bun SQLite connection");return n}}class PO{#e;constructor(n){this.#e=n}createDriver(){return new Ba(this.#e)}createQueryCompiler(){return new xi}createAdapter(){return new rE}createIntrospector(n){return new gi(n)}}var Db="AUTOMOBILE_INCOMPLETE_EXTRACTION",AO=75,S_=["kysely"];function ic(n){let o=n?.code;return typeof o==="string"?o:void 0}function nc(n){if(typeof n==="string")return n;let o=n?.message;return typeof o==="string"?o:""}var D_=new Set(["MODULE_NOT_FOUND","ERR_MODULE_NOT_FOUND"]),oc=/Cannot find (?:package|module) ['"]([^'"]+)['"]/i;function O_(n){let o=ic(n);if(o&&D_.has(o))return!0;return oc.test(nc(n))}function Wa(n){let o=oc.exec(nc(n));return o?o[1]:null}function sc(n){if(!O_(n))return!1;let o=Wa(n);return o!==null&&S_.includes(o)}function ac(n,o){let a=`Database startup migrations cannot load their dependencies: ${n?`the package '${n}' could not be resolved`:"a required migration dependency could not be resolved"}. `+"This is most commonly an incomplete package extraction \u2014 a half-linked "+"`bunx` node_modules where the shared cache has the package but it was not linked into this run's tree. If you are running via `bunx`, remove the incomplete extraction directory and re-run: a fresh extraction from the healthy shared cache produces a complete tree and the daemon starts normally. Otherwise, reinstall so the package is present in node_modules.",c=Error(a,o===void 0?void 0:{cause:o});return c.code="AUTOMOBILE_INCOMPLETE_EXTRACTION",c}function p2(n){return ic(n)==="AUTOMOBILE_INCOMPLETE_EXTRACTION"}var dc=Symbol("database write drain timeout");class ioe{#e=0;#t=!1;#r=Promise.resolve();#i;#o;constructor(n=i){this.#o=n}isDraining(){return this.#t}inFlightCount(){return this.#e}async track(n){if(this.#t){e.debug("[DbWriteBarrier] Skipping best-effort DB write during shutdown drain");return}this.#a();try{return await n()}finally{this.#n()}}trackExisting(n){let o=Promise.resolve(n);if(this.#t)return e.debug("[DbWriteBarrier] Not tracking an in-flight DB write during shutdown drain"),o.then(()=>{return},()=>{return});return this.#a(),o.then((s)=>(this.#n(),s),()=>{this.#n();return})}#a(){if(this.#e++===0)this.#r=new Promise((n)=>{this.#i=n})}#n(){if(--this.#e===0)this.#i?.(),this.#i=void 0}beginDrain(){this.#t=!0}async drain(n){if(this.beginDrain(),this.#e===0)return!0;let o=this.#r.then(()=>!0);try{return await l(o,{timer:this.#o,timeoutMs:n,label:"Database write drain",timeoutError:()=>dc})}catch(s){if(s===dc)return!1;throw s}}}var On=null;function Yt(){if(!On)On=new ioe;return On}function ooe(){On=null}var uc=Symbol("bounded promise timeout"),Ma=null,G$=5000,qa=250,R_=Math.ceil(Tn/qa)+1,I_=4194304,P_=16384,L_=67108864,A_="MEMORY";function B_(){return typeof process.versions?.bun==="string"}function W_(){if(!B_())throw Error("bun:sqlite is only available when running under Bun.");if(!Ma){let n=wt("bun:sqlite");Ma=n.Database}return Ma}function M_(n,o=G$){n.exec(`PRAGMA busy_timeout = ${o};`),n.exec("PRAGMA journal_mode = WAL;"),n.exec(`PRAGMA journal_size_limit = ${I_};`),n.exec(`PRAGMA cache_size = -${P_};`),n.exec(`PRAGMA mmap_size = ${L_};`),n.exec(`PRAGMA temp_store = ${A_};`),n.exec("PRAGMA synchronous = NORMAL;"),n.exec("PRAGMA foreign_keys = ON;")}var q_=Ri.join(cc.homedir(),".auto-mobile");function F_(n=process.env,o=q_){let s=I(f.DB_PATH,n);if(s){if(iE(s)){if(!Ku(n))throw new t("AUTOMOBILE_DB_PATH=:memory: is not a valid production database. A SQLite `:memory:` DB is private per connection, so startup migrations run on a separate in-memory database and the daemon's connection is left "+"migrated-but-empty \u2014 the first query (e.g. `tool_calls`) would fail with "+`\`no such table\`. Point AUTOMOBILE_DB_PATH at a real file (or unset it to use ~/.auto-mobile/auto-mobile.db). The \`:memory:\` sentinel is for lifecycle tests only; set ${Fu}=1 to opt in from a test.`);return s}return Se(s)}let a=I(f.DB_DIR,n),c=a?Se(a):o;return Ri.join(c,"auto-mobile.db")}function K_(n){return u2(n,l2())}var $_=[f.DB_PATH.name,f.DB_PATH.legacyName,f.DB_DIR.name,f.DB_DIR.legacyName];function G_(n){return $_.some((o)=>{let s=n[o];return s!==void 0&&s!==""})}function U_(n,o){if(!K_(n))return;if(iE(o)||G_(n))return;throw new t(`Unit test resolved the real file-backed database at ${o}. Unit tests must not touch the user's real ~/.auto-mobile DB: its first-use migrations + file IO run on real wall-clock time and race async-write assertions (issue #3063). Inject an in-memory DB via createTestDatabase() (and NavigationGraphManager.setInstanceForTesting / TelemetryRecorder spies for singletons), or, if the test must exercise real file behavior, set AUTOMOBILE_DB_DIR to a temp dir or AUTOMOBILE_DB_PATH=':memory:' explicitly.`)}class lc{resolvedDbPath=null;migrationsRun=!1;migrationsPromise=null;migrationsError=null;migrationsGeneration=0;reset(){this.resolvedDbPath=null,this.migrationsRun=!1,this.migrationsPromise=null,this.migrationsError=null,this.migrationsGeneration+=1}}var F=new lc;function Fa(){if(F.resolvedDbPath===null){let n=F_();U_(process.env,n),F.resolvedDbPath=n}return F.resolvedDbPath}var jt=null,Oae="Database startup migrations failed; refusing to run queries until the daemon restarts.";function V_(n){if(sc(n))return ac(Wa(n),n);let o=r(n);return Error(`${Oae} Cause: ${o}`,{cause:n})}async function Q_(){if(F.migrationsRun)return;if(F.migrationsPromise)await F.migrationsPromise;if(F.migrationsError)throw F.migrationsError}function z_(n,o){return new Mc({dialect:new PO({database:()=>mc(n),beforeQuery:o,optimizeIntervalMs:kn})})}function mc(n,o=G$){let a=new(W_())(n);return M_(a,o),a}async function J_(n,o){try{let s=new Date().toISOString().replace(/[:.]/g,"-"),a=`${o}.corrupt-backup-${s}-${process.pid}`;await m`VACUUM INTO ${a}`.execute(n),e.warn(`Wrote pre-reset database backup to ${a}`)}catch(s){throw u(s,"Failed to back up the database before migration reset")}}async function j_(n){let o=z_(n);try{await Zu(o,{lock:d2(n),backup:()=>J_(o,n)})}catch(s){throw e.error("Failed to run migrations on database initialization:",s),s}finally{await o.destroy()}}function pc(n){if(!F.migrationsRun&&!F.migrationsPromise){let o=F.migrationsGeneration;F.migrationsPromise=j_(n).then(()=>{if(o!==F.migrationsGeneration)return;F.migrationsRun=!0,F.migrationsError=null},(s)=>{if(o!==F.migrationsGeneration)return;F.migrationsError=V_(s)})}}function H_(n){if(iE(n))return;let o=Ri.dirname(n);if(!Rn.existsSync(o))Rn.mkdirSync(o,{recursive:!0})}function Y_(n){let o=!1,s=()=>{if(!o)return;if(Ie)throw Oi();throw Error("Cannot use a closed database")},a=new PO({database:()=>(s(),mc(n,qa)),beforeQuery:Q_,retry:{maxAttempts:R_,minAttemptMs:qa},optimizeIntervalMs:kn}),c=a.createDriver(),p={createDriver:()=>c,createQueryCompiler:()=>a.createQueryCompiler(),createAdapter:()=>a.createAdapter(),createIntrospector:(N)=>a.createIntrospector(N)},h={dialect:p},_=new Mc(h),y=_.getExecutor();return new Mc({config:h,dialect:p,driver:{init:(N)=>c.init(N),acquireConnection:(N)=>c.acquireConnection(N),beginTransaction:(N,C)=>c.beginTransaction(N,C),commitTransaction:(N)=>c.commitTransaction(N),rollbackTransaction:(N)=>c.rollbackTransaction(N),releaseConnection:(N,C)=>c.releaseConnection(N,C),destroy:async()=>{o=!0,await _.destroy()}},executor:y.withConnectionProvider({provideConnection:async(N,C)=>(s(),y.provideConnection(async(V)=>(s(),N(V)),C))})})}function _e(){if(Ie)return Ie.refusingDb??=new Mc({dialect:iy}),Ie.refusingDb;if(!jt){let n=Fa();H_(n),jt=Y_(n),pc(n)}return jt}async function TO(){if(Ie)throw Oi();if(F.migrationsRun)return;if(!jt)_e();if(pc(Fa()),await F.migrationsPromise,F.migrationsError)throw F.migrationsError}function I9(){return F.migrationsError}function X_(){F.reset(),ooe()}async function _9(n,o=i){return Z_(F.migrationsPromise,n,o)}async function Z_(n,o,s=i){if(!n)return!0;try{return await l(n.then(()=>!0),{timer:s,timeoutMs:o,label:"Database migration wait",timeoutError:()=>uc})}catch(a){if(a===uc)return!1;throw a}}var ey=5,Ie=null;function Oi(){let n=new ts("The database was closed for shutdown; refusing to reopen it for a late query. The work that issued this query outlived the shutdown and its write was not stored.");if(!Ie)return n;if(Ie.refusals+=1,Ie.refusals<=ey)e.warn(`[Database] Refused database access #${Ie.refusals} after the shutdown close`,n);return n}function x9(){return Ie?.refusals??0}var ty={executeQuery:async()=>{throw Oi()},streamQuery:()=>{throw Oi()}},ry={init:async()=>{},acquireConnection:async()=>ty,beginTransaction:async()=>{throw Oi()},commitTransaction:async()=>{},rollbackTransaction:async()=>{},releaseConnection:async()=>{},destroy:async()=>{}},iy={createDriver:()=>ry,createQueryCompiler:()=>new xi,createAdapter:()=>new rE,createIntrospector:(n)=>new gi(n)};async function C9(n={}){if(n.forShutdown)Ie??={refusals:0,refusingDb:null};else Ie=null;if(jt)await jt.destroy(),jt=null;X_()}function Dp(){return Fa()}function Vr(n){return new Date(n.now()).toISOString()}
|
|
323
|
-
export{
|
|
322
|
+
Parameters: ${a}`,{cause:s})}}#D(n,o,{isSelect:s,hasReturning:a,schemaChanging:c}){try{if(s||a){let m=n.all(...o),p={rows:m,numAffectedRows:a?BigInt(m.length):void 0};if(c)this.#_();return p}else{let m=n.run(...o),p={rows:[],numAffectedRows:BigInt(m.changes),insertId:m.lastInsertRowid!==void 0?BigInt(m.lastInsertRowid):void 0};if(c)this.#_();return p}}finally{if(c)n.finalize()}}close(){if(this.#d=!0,this.#f)this.#u.clearInterval(this.#f),this.#f=null;if(this.#_(),this.#l?.finalize(),this.#l=null,this.#r){try{this.#r.exec("PRAGMA optimize;")}catch(n){e.debug(`PRAGMA optimize on close failed: ${n}`)}try{this.#r.exec("PRAGMA wal_checkpoint(TRUNCATE);")}catch(n){e.debug(`WAL checkpoint on close failed: ${n}`)}this.#r.close(),this.#r=null}this.#y()}#O(){if(!this.#r)this.#r=typeof this.#e==="function"?this.#e():this.#e;return this.#r}#R(n,o){if(this.#c===null||this.#s.has(o))this.#L(n);let s=this.#s.get(o);if(s)return this.#s.delete(o),this.#s.set(o,s),s;return this.#I(n,o)}#I(n,o){let s=n.prepare(o);if(this.#s.set(o,s),this.#s.size>C_){let a=this.#s.keys().next().value;if(a!==void 0){let c=this.#s.get(a);this.#s.delete(a),c?.finalize()}}return s}#P(n){return/^(?:create|alter|drop)\b/i.test(n.trim())}#_(){for(let n of this.#s.values())n.finalize();this.#s.clear(),this.#c=null}#L(n){let o=this.#A(n);if(this.#c!==o)this.#_(),this.#c=o}#A(n){this.#l??=n.prepare("PRAGMA schema_version");let o=this.#l.get();if(o?.schema_version===void 0)throw Error("PRAGMA schema_version did not return a schema_version value");return Number(o.schema_version)}#B(){if(this.#d)throw Error("Cannot use a closed database")}async#W(n){if(this.#i===n){this.#o+=1;return}await this.#k("query",n)}#T(n){if(this.#i===n)this.#i=null,this.#y()}#k(n,o){return new Promise((s,a)=>{this.#a.push({kind:n,owner:o,resolve:s,reject:a}),this.#y()})}#y(){while(this.#a.length>0){let n=this.#a[0];if(this.#d){this.#a.shift(),this.#n+=1,n.reject(Error("Cannot use a closed database"));continue}if(n.kind==="txn"){if(this.#i===null&&this.#o===0)this.#a.shift(),this.#i=n.owner,this.#n+=1,n.resolve();return}if(this.#i===null){this.#a.shift(),this.#o+=1,this.#n+=1,n.resolve();continue}return}}get resumeCount(){return this.#n}get queuedWaiterCount(){return this.#a.length}}class Dn{#e;#t=Symbol("BunSqliteConnectionLease");constructor(n){this.#e=n}async beginTransaction(){await this.#e.beginTransaction(this.#t)}async commitTransaction(){await this.#e.commitTransaction(this.#t)}async rollbackTransaction(){await this.#e.rollbackTransaction(this.#t)}async executeQuery(n){return this.#e.executeQuery(n,this.#t)}async*streamQuery(){yield await Promise.reject(Error("Streaming is not supported by BunSqliteDialect"))}}class Ba{#e;#t;constructor(n){this.#e=n}async init(){this.#t=new Sn(this.#e.database,this.#e.beforeQuery,this.#e.retry,this.#e.optimizeIntervalMs)}async acquireConnection(){if(!this.#t)throw Error("BunSqliteDriver not initialized");return new Dn(this.#t)}async beginTransaction(n,o){await this.#r(n).beginTransaction()}async commitTransaction(n){await this.#r(n).commitTransaction()}async rollbackTransaction(n){await this.#r(n).rollbackTransaction()}async releaseConnection(){}async destroy(){this.#t?.close()}#r(n){if(!(n instanceof Dn))throw Error("Invalid Bun SQLite connection");return n}}class VO{#e;constructor(n){this.#e=n}createDriver(){return new Ba(this.#e)}createQueryCompiler(){return new gi}createAdapter(){return new bE}createIntrospector(n){return new wi(n)}}var Kb="AUTOMOBILE_INCOMPLETE_EXTRACTION",WO=75,S_=["kysely"];function ic(n){let o=n?.code;return typeof o==="string"?o:void 0}function nc(n){if(typeof n==="string")return n;let o=n?.message;return typeof o==="string"?o:""}var D_=new Set(["MODULE_NOT_FOUND","ERR_MODULE_NOT_FOUND"]),oc=/Cannot find (?:package|module) ['"]([^'"]+)['"]/i;function O_(n){let o=ic(n);if(o&&D_.has(o))return!0;return oc.test(nc(n))}function Wa(n){let o=oc.exec(nc(n));return o?o[1]:null}function sc(n){if(!O_(n))return!1;let o=Wa(n);return o!==null&&S_.includes(o)}function ac(n,o){let a=`Database startup migrations cannot load their dependencies: ${n?`the package '${n}' could not be resolved`:"a required migration dependency could not be resolved"}. `+"This is most commonly an incomplete package extraction \u2014 a half-linked "+"`bunx` node_modules where the shared cache has the package but it was not linked into this run's tree. If you are running via `bunx`, remove the incomplete extraction directory and re-run: a fresh extraction from the healthy shared cache produces a complete tree and the daemon starts normally. Otherwise, reinstall so the package is present in node_modules.",c=Error(a,o===void 0?void 0:{cause:o});return c.code="AUTOMOBILE_INCOMPLETE_EXTRACTION",c}function O2(n){return ic(n)==="AUTOMOBILE_INCOMPLETE_EXTRACTION"}var dc=Symbol("database write drain timeout");class Boe{#e=0;#t=!1;#r=Promise.resolve();#i;#o;constructor(n=i){this.#o=n}isDraining(){return this.#t}inFlightCount(){return this.#e}async track(n){if(this.#t){e.debug("[DbWriteBarrier] Skipping best-effort DB write during shutdown drain");return}this.#a();try{return await n()}finally{this.#n()}}trackExisting(n){let o=Promise.resolve(n);if(this.#t)return e.debug("[DbWriteBarrier] Not tracking an in-flight DB write during shutdown drain"),o.then(()=>{return},()=>{return});return this.#a(),o.then((s)=>(this.#n(),s),()=>{this.#n();return})}#a(){if(this.#e++===0)this.#r=new Promise((n)=>{this.#i=n})}#n(){if(--this.#e===0)this.#i?.(),this.#i=void 0}beginDrain(){this.#t=!0}async drain(n){if(this.beginDrain(),this.#e===0)return!0;let o=this.#r.then(()=>!0);try{return await l(o,{timer:this.#o,timeoutMs:n,label:"Database write drain",timeoutError:()=>dc})}catch(s){if(s===dc)return!1;throw s}}}var On=null;function Jt(){if(!On)On=new Boe;return On}function $oe(){On=null}var uc=Symbol("bounded promise timeout"),Ma=null,uU=5000,qa=250,R_=Math.ceil(Tn/qa)+1,I_=4194304,P_=16384,L_=67108864,A_="MEMORY";function B_(){return typeof process.versions?.bun==="string"}function W_(){if(!B_())throw Error("bun:sqlite is only available when running under Bun.");if(!Ma){let n=Pt("bun:sqlite");Ma=n.Database}return Ma}function M_(n,o=uU){n.exec(`PRAGMA busy_timeout = ${o};`),n.exec("PRAGMA journal_mode = WAL;"),n.exec(`PRAGMA journal_size_limit = ${I_};`),n.exec(`PRAGMA cache_size = -${P_};`),n.exec(`PRAGMA mmap_size = ${L_};`),n.exec(`PRAGMA temp_store = ${A_};`),n.exec("PRAGMA synchronous = NORMAL;"),n.exec("PRAGMA foreign_keys = ON;")}var q_=Ri.join(cc.homedir(),".auto-mobile");function F_(n=process.env,o=q_){let s=I(h.DB_PATH,n);if(s){if(wE(s)){if(!Ku(n))throw new t("AUTOMOBILE_DB_PATH=:memory: is not a valid production database. A SQLite `:memory:` DB is private per connection, so startup migrations run on a separate in-memory database and the daemon's connection is left "+"migrated-but-empty \u2014 the first query (e.g. `tool_calls`) would fail with "+`\`no such table\`. Point AUTOMOBILE_DB_PATH at a real file (or unset it to use ~/.auto-mobile/auto-mobile.db). The \`:memory:\` sentinel is for lifecycle tests only; set ${Fu}=1 to opt in from a test.`);return s}return Se(s)}let a=I(h.DB_DIR,n),c=a?Se(a):o;return Ri.join(c,"auto-mobile.db")}function K_(n){return D2(n,C2())}var $_=[h.DB_PATH.name,h.DB_PATH.legacyName,h.DB_DIR.name,h.DB_DIR.legacyName];function G_(n){return $_.some((o)=>{let s=n[o];return s!==void 0&&s!==""})}function U_(n,o){if(!K_(n))return;if(wE(o)||G_(n))return;throw new t(`Unit test resolved the real file-backed database at ${o}. Unit tests must not touch the user's real ~/.auto-mobile DB: its first-use migrations + file IO run on real wall-clock time and race async-write assertions (issue #3063). Inject an in-memory DB via createTestDatabase() (and NavigationGraphManager.setInstanceForTesting / TelemetryRecorder spies for singletons), or, if the test must exercise real file behavior, set AUTOMOBILE_DB_DIR to a temp dir or AUTOMOBILE_DB_PATH=':memory:' explicitly.`)}class lc{resolvedDbPath=null;migrationsRun=!1;migrationsPromise=null;migrationsError=null;migrationsGeneration=0;reset(){this.resolvedDbPath=null,this.migrationsRun=!1,this.migrationsPromise=null,this.migrationsError=null,this.migrationsGeneration+=1}}var F=new lc;function Fa(){if(F.resolvedDbPath===null){let n=F_();U_(process.env,n),F.resolvedDbPath=n}return F.resolvedDbPath}var Yt=null,mce="Database startup migrations failed; refusing to run queries until the daemon restarts.";function V_(n){if(sc(n))return ac(Wa(n),n);let o=r(n);return Error(`${mce} Cause: ${o}`,{cause:n})}async function Q_(){if(F.migrationsRun)return;if(F.migrationsPromise)await F.migrationsPromise;if(F.migrationsError)throw F.migrationsError}function z_(n,o){return new Uc({dialect:new VO({database:()=>mc(n),beforeQuery:o,optimizeIntervalMs:kn})})}function mc(n,o=uU){let a=new(W_())(n);return M_(a,o),a}async function J_(n,o){try{let s=new Date().toISOString().replace(/[:.]/g,"-"),a=`${o}.corrupt-backup-${s}-${process.pid}`;await f`VACUUM INTO ${a}`.execute(n),e.warn(`Wrote pre-reset database backup to ${a}`)}catch(s){throw u(s,"Failed to back up the database before migration reset")}}async function j_(n){let o=z_(n);try{await Zu(o,{lock:x2(n),backup:()=>J_(o,n)})}catch(s){throw e.error("Failed to run migrations on database initialization:",s),s}finally{await o.destroy()}}function pc(n){if(!F.migrationsRun&&!F.migrationsPromise){let o=F.migrationsGeneration;F.migrationsPromise=j_(n).then(()=>{if(o!==F.migrationsGeneration)return;F.migrationsRun=!0,F.migrationsError=null},(s)=>{if(o!==F.migrationsGeneration)return;F.migrationsError=V_(s)})}}function H_(n){if(wE(n))return;let o=Ri.dirname(n);if(!Rn.existsSync(o))Rn.mkdirSync(o,{recursive:!0})}function Y_(n){let o=!1,s=()=>{if(!o)return;if(Ie)throw Oi();throw Error("Cannot use a closed database")},a=new VO({database:()=>(s(),mc(n,qa)),beforeQuery:Q_,retry:{maxAttempts:R_,minAttemptMs:qa},optimizeIntervalMs:kn}),c=a.createDriver(),m={createDriver:()=>c,createQueryCompiler:()=>a.createQueryCompiler(),createAdapter:()=>a.createAdapter(),createIntrospector:(N)=>a.createIntrospector(N)},p={dialect:m},_=new Uc(p),y=_.getExecutor();return new Uc({config:p,dialect:m,driver:{init:(N)=>c.init(N),acquireConnection:(N)=>c.acquireConnection(N),beginTransaction:(N,C)=>c.beginTransaction(N,C),commitTransaction:(N)=>c.commitTransaction(N),rollbackTransaction:(N)=>c.rollbackTransaction(N),releaseConnection:(N,C)=>c.releaseConnection(N,C),destroy:async()=>{o=!0,await _.destroy()}},executor:y.withConnectionProvider({provideConnection:async(N,C)=>(s(),y.provideConnection(async(V)=>(s(),N(V)),C))})})}function _e(){if(Ie)return Ie.refusingDb??=new Uc({dialect:iy}),Ie.refusingDb;if(!Yt){let n=Fa();H_(n),Yt=Y_(n),pc(n)}return Yt}async function zO(){if(Ie)throw Oi();if(F.migrationsRun)return;if(!Yt)_e();if(pc(Fa()),await F.migrationsPromise,F.migrationsError)throw F.migrationsError}function J9(){return F.migrationsError}function X_(){F.reset(),$oe()}async function X9(n,o=i){return Z_(F.migrationsPromise,n,o)}async function Z_(n,o,s=i){if(!n)return!0;try{return await l(n.then(()=>!0),{timer:s,timeoutMs:o,label:"Database migration wait",timeoutError:()=>uc})}catch(a){if(a===uc)return!1;throw a}}var ey=5,Ie=null;function Oi(){let n=new ts("The database was closed for shutdown; refusing to reopen it for a late query. The work that issued this query outlived the shutdown and its write was not stored.");if(!Ie)return n;if(Ie.refusals+=1,Ie.refusals<=ey)e.warn(`[Database] Refused database access #${Ie.refusals} after the shutdown close`,n);return n}function Z9(){return Ie?.refusals??0}var ty={executeQuery:async()=>{throw Oi()},streamQuery:()=>{throw Oi()}},ry={init:async()=>{},acquireConnection:async()=>ty,beginTransaction:async()=>{throw Oi()},commitTransaction:async()=>{},rollbackTransaction:async()=>{},releaseConnection:async()=>{},destroy:async()=>{}},iy={createDriver:()=>ry,createQueryCompiler:()=>new gi,createAdapter:()=>new bE,createIntrospector:(n)=>new wi(n)};async function Q9(n={}){if(n.forShutdown)Ie??={refusals:0,refusingDb:null};else Ie=null;if(Yt)await Yt.destroy(),Yt=null;X_()}function Gp(){return Fa()}function jr(n){return new Date(n.now()).toISOString()}
|
|
323
|
+
export{I2,B,fo,ot,ks,$c,nr,zb,Qn,Cr,Uc,f,qO,bE,_d,Dr,_2,G9,dU,Za,py,Ace,my,Mf,Ta,kt,ei,Nf,jb,Zs,fy,Es,AP,Bi,ti,lU,$l,SE,Wn,wE,x2,C2,D2,Y9,Qa,Ul,VO,Kb,WO,O2,Boe,Jt,$oe,uU,mce,_e,zO,J9,X9,Z9,Q9,Gp,jr};
|
|
324
324
|
|
|
325
|
-
//# debugId=
|
|
325
|
+
//# debugId=D950E4B6EC6EECF464756E2164756E21
|