@kaeawc/auto-mobile 0.0.92 → 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/schemas/test-plan.schema.json +370 -52
- package/dist/src/ble-peripheral.py +153 -0
- package/dist/src/{chunk-r14wwk37.js → chunk-026y62r9.js} +12 -12
- package/dist/src/chunk-0jyfg947.js +4 -0
- package/dist/src/{chunk-950qcq1e.js → chunk-0zfpp1wh.js} +4 -4
- package/dist/src/chunk-13qxf7ym.js +7 -0
- package/dist/src/chunk-1scenrk7.js +4 -0
- package/dist/src/chunk-1vb5ph1k.js +4 -0
- package/dist/src/chunk-20g565q7.js +5 -0
- package/dist/src/chunk-21h6dhdm.js +5 -0
- package/dist/src/{chunk-2e6s75qv.js → chunk-25mfpthk.js} +8 -8
- package/dist/src/{chunk-9rkfyt6q.js → chunk-2b39zyxc.js} +3 -3
- package/dist/src/chunk-2gzd6wbd.js +4 -0
- package/dist/src/{chunk-eka89q3k.js → chunk-3dntffy9.js} +1 -1
- package/dist/src/chunk-3gfczcsn.js +4 -0
- package/dist/src/chunk-3h5jz1vb.js +9 -0
- package/dist/src/chunk-41zcy6b3.js +5 -0
- 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-5wk1t46v.js +5 -0
- package/dist/src/chunk-661c50hh.js +17 -0
- package/dist/src/chunk-68n6bjjd.js +21 -0
- package/dist/src/{chunk-zg67wjkh.js → chunk-69pmjdf2.js} +3 -3
- package/dist/src/chunk-6hrj3jt6.js +145 -0
- package/dist/src/{chunk-b4cxdzwy.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-7k7gjg2t.js +7 -0
- 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-r20pe1nv.js → chunk-96r3bpg7.js} +3 -3
- package/dist/src/chunk-97x887te.js +4 -0
- package/dist/src/{chunk-sz1a7p43.js → chunk-99a6tbvd.js} +1 -1
- package/dist/src/chunk-9p5d2994.js +5 -0
- package/dist/src/{chunk-w7zsh13a.js → chunk-9q265er0.js} +4 -4
- package/dist/src/chunk-9xgnrv5w.js +5 -0
- package/dist/src/chunk-9xgsmshb.js +5 -0
- package/dist/src/chunk-a02d1wgv.js +4 -0
- package/dist/src/{chunk-km0dy5vc.js → chunk-a9ps00a1.js} +10 -10
- package/dist/src/chunk-aewdveet.js +5 -0
- package/dist/src/chunk-b3tdtq7r.js +9 -0
- package/dist/src/chunk-bn7jx7a2.js +4 -0
- package/dist/src/chunk-bnyw27ja.js +4 -0
- package/dist/src/{chunk-s1zq65ny.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-cb1ga9rd.js +7 -0
- package/dist/src/chunk-cn7fwy7k.js +4 -0
- package/dist/src/chunk-cnvy4a64.js +4 -0
- package/dist/src/chunk-cqhw4yr6.js +5 -0
- package/dist/src/{chunk-v90es00d.js → chunk-ctmfshjc.js} +2 -2
- package/dist/src/chunk-ctwmhz13.js +4 -0
- package/dist/src/{chunk-qv2918jt.js → chunk-d3jx9bz5.js} +2 -2
- package/dist/src/{chunk-wry6skrm.js → chunk-d6rb08ga.js} +1 -1
- package/dist/src/chunk-ddqhj4eg.js +5 -0
- package/dist/src/{chunk-d57432wq.js → chunk-ddrhs1c3.js} +2 -2
- package/dist/src/chunk-dnjnh9p6.js +4 -0
- package/dist/src/{chunk-ajsrz473.js → chunk-dw5rwgya.js} +3 -3
- package/dist/src/chunk-e0870khr.js +5 -0
- 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-g2js4c2v.js +971 -0
- package/dist/src/chunk-g3af2qbk.js +5 -0
- package/dist/src/chunk-gadtna7s.js +11 -0
- package/dist/src/{chunk-c9nk1r78.js → chunk-gcyx407v.js} +3 -3
- package/dist/src/{chunk-jdqvcq0a.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-2v7tw1nj.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-kd9vfaxh.js +5 -0
- package/dist/src/{chunk-34zxqcmq.js → chunk-kdczmgwk.js} +3 -3
- package/dist/src/chunk-ke3wn14v.js +4 -0
- package/dist/src/chunk-kh5n7m6w.js +4 -0
- package/dist/src/{chunk-0dfnyfkh.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-stfzjr9y.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-9y5bcy28.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-qj1tbnv2.js +8 -0
- package/dist/src/chunk-qnh9egwr.js +4 -0
- package/dist/src/chunk-qy3khhf8.js +8 -0
- package/dist/src/chunk-r0vp315h.js +11 -0
- package/dist/src/chunk-r4j43b9s.js +237 -0
- package/dist/src/{chunk-4pfftt07.js → chunk-r54cxxze.js} +3 -3
- package/dist/src/chunk-r6pvhj33.js +325 -0
- 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-s3y3zfcx.js +14 -0
- package/dist/src/chunk-s4g43k75.js +5 -0
- package/dist/src/chunk-sfqe223f.js +311 -0
- package/dist/src/chunk-sqdrxjw5.js +7 -0
- package/dist/src/{chunk-0w1spptt.js → chunk-t54k47em.js} +4 -4
- package/dist/src/chunk-tek4pnvv.js +26 -0
- package/dist/src/chunk-tn74y7af.js +4 -0
- package/dist/src/chunk-tvq0nzam.js +5 -0
- package/dist/src/chunk-tx4f0h9c.js +6 -0
- 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-w5yypt53.js +42 -0
- package/dist/src/{chunk-r0f1q783.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-8en08r7q.js → chunk-wpe46vsa.js} +3 -3
- package/dist/src/chunk-wxdjeb4k.js +27 -0
- 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-jhnbfj19.js → chunk-xn9m3xc2.js} +5 -5
- package/dist/src/{chunk-a4k9rt7z.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/ios/CameraPosterInjection/Injection/CameraPosterInjection.m +466 -0
- package/package.json +4 -3
- package/schemas/test-plan.schema.json +370 -52
- package/dist/src/chunk-09442h7v.js +0 -4
- package/dist/src/chunk-0e4gm1kj.js +0 -5
- package/dist/src/chunk-0eb8576f.js +0 -4
- package/dist/src/chunk-0rjm4nx7.js +0 -5
- package/dist/src/chunk-1zmh2eak.js +0 -4
- package/dist/src/chunk-28k63ha3.js +0 -5
- package/dist/src/chunk-2d4wmp8b.js +0 -4
- package/dist/src/chunk-32jpxz2y.js +0 -323
- package/dist/src/chunk-3jmvqygr.js +0 -238
- package/dist/src/chunk-3swvfhqt.js +0 -5
- package/dist/src/chunk-44bt78m9.js +0 -5
- package/dist/src/chunk-488vt2bp.js +0 -4
- package/dist/src/chunk-4fgdhcwx.js +0 -5
- package/dist/src/chunk-4jp2se4w.js +0 -4
- package/dist/src/chunk-4vhr9e4t.js +0 -4
- package/dist/src/chunk-4xd6zs3y.js +0 -15
- package/dist/src/chunk-51567pg8.js +0 -4
- package/dist/src/chunk-5agqsfev.js +0 -4
- package/dist/src/chunk-5d706gmr.js +0 -4
- package/dist/src/chunk-5kd4rqk7.js +0 -5
- package/dist/src/chunk-61t538bm.js +0 -4
- package/dist/src/chunk-6d3mmqxt.js +0 -54
- package/dist/src/chunk-6hyt398x.js +0 -5
- package/dist/src/chunk-6mnr8kpm.js +0 -4
- package/dist/src/chunk-79q5xsdc.js +0 -42
- package/dist/src/chunk-7bdgand3.js +0 -4
- package/dist/src/chunk-84cp9dw5.js +0 -4
- package/dist/src/chunk-86f2h5ww.js +0 -5
- package/dist/src/chunk-8cghfzb2.js +0 -19
- package/dist/src/chunk-9tf2p9y9.js +0 -5
- package/dist/src/chunk-a2sc4jm0.js +0 -5
- package/dist/src/chunk-aa5ng3d1.js +0 -4
- package/dist/src/chunk-b3h0a6ca.js +0 -4
- package/dist/src/chunk-b6a737qt.js +0 -4
- package/dist/src/chunk-bn64x5z5.js +0 -5
- package/dist/src/chunk-bvh649za.js +0 -12
- package/dist/src/chunk-c9tyfg4j.js +0 -26
- package/dist/src/chunk-cfsdfqnm.js +0 -4
- package/dist/src/chunk-cxyf04jc.js +0 -7
- package/dist/src/chunk-da08tx5v.js +0 -4
- package/dist/src/chunk-f2tc08m2.js +0 -4
- package/dist/src/chunk-f8tnk179.js +0 -5
- package/dist/src/chunk-f9s1kkhx.js +0 -5
- package/dist/src/chunk-fbp8a4rx.js +0 -4
- package/dist/src/chunk-fd2z0sze.js +0 -4
- package/dist/src/chunk-fk927f4q.js +0 -54
- package/dist/src/chunk-fxmr3a0f.js +0 -4
- package/dist/src/chunk-gaqwhd44.js +0 -4
- package/dist/src/chunk-ggtd5x5a.js +0 -5
- package/dist/src/chunk-gndcfrm7.js +0 -4
- package/dist/src/chunk-h3n4adc6.js +0 -310
- package/dist/src/chunk-h5pjbb83.js +0 -4
- package/dist/src/chunk-hgnnh302.js +0 -4
- package/dist/src/chunk-hmke8nhx.js +0 -5
- package/dist/src/chunk-j2bx12hn.js +0 -4
- package/dist/src/chunk-j70y1a2g.js +0 -4
- package/dist/src/chunk-js1jpyxp.js +0 -6
- package/dist/src/chunk-kbjq0qvb.js +0 -4
- package/dist/src/chunk-kfwx57xd.js +0 -4
- package/dist/src/chunk-kzwctna2.js +0 -4
- package/dist/src/chunk-m9ehyehy.js +0 -4
- package/dist/src/chunk-mct91p1f.js +0 -4
- package/dist/src/chunk-mf9spd4g.js +0 -5
- package/dist/src/chunk-mgrcansb.js +0 -4
- package/dist/src/chunk-mqc1d0eb.js +0 -6
- package/dist/src/chunk-n1zmpk0z.js +0 -4
- package/dist/src/chunk-ncyjf63g.js +0 -4
- package/dist/src/chunk-nr64d21q.js +0 -973
- package/dist/src/chunk-nwm2pq5v.js +0 -168
- package/dist/src/chunk-pm06b05d.js +0 -9
- package/dist/src/chunk-q50s00ry.js +0 -4
- package/dist/src/chunk-qwye1958.js +0 -14
- package/dist/src/chunk-r8z9pfve.js +0 -5
- package/dist/src/chunk-rdpgkjf6.js +0 -4
- package/dist/src/chunk-rkr0dks9.js +0 -5
- package/dist/src/chunk-rn84t3sf.js +0 -11
- package/dist/src/chunk-s123kn7n.js +0 -4
- package/dist/src/chunk-s73qn3fx.js +0 -4
- package/dist/src/chunk-sjn0nj4p.js +0 -5
- package/dist/src/chunk-sns0c35v.js +0 -7
- package/dist/src/chunk-t4dr5c8v.js +0 -8
- package/dist/src/chunk-tc8k9c1j.js +0 -4
- package/dist/src/chunk-teznhase.js +0 -4
- package/dist/src/chunk-ty9xgmz4.js +0 -4
- package/dist/src/chunk-tyazf3sk.js +0 -145
- package/dist/src/chunk-v6npjrjm.js +0 -5
- package/dist/src/chunk-vbvtzkwz.js +0 -5
- package/dist/src/chunk-vefd8qee.js +0 -8
- package/dist/src/chunk-vs9r72ta.js +0 -17
- package/dist/src/chunk-w2mwa0jk.js +0 -4
- package/dist/src/chunk-w88k0bgr.js +0 -4
- package/dist/src/chunk-wzdt0enk.js +0 -4
- package/dist/src/chunk-xhhv854c.js +0 -4
- package/dist/src/chunk-y58270hd.js +0 -4
- package/dist/src/chunk-yk0hmbex.js +0 -4
- package/dist/src/chunk-ympy4fdz.js +0 -28
- package/dist/src/chunk-yw436axy.js +0 -4
- package/dist/src/chunk-z04jrpjy.js +0 -5
- package/dist/src/chunk-z2xznczw.js +0 -4
- package/dist/src/chunk-z4xnrgps.js +0 -4
- package/dist/src/chunk-z7csyszv.js +0 -4
- package/dist/src/chunk-z8t0v07j.js +0 -11
- package/dist/src/chunk-z916af47.js +0 -228
- package/dist/src/chunk-zcr8he8q.js +0 -5
- package/dist/src/chunk-zd9vmkzn.js +0 -9
- package/dist/src/chunk-zj939v0h.js +0 -5
- package/dist/src/chunk-zkdjwtc1.js +0 -4
- package/dist/src/chunk-zkv5kzt6.js +0 -4
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{cn,i,xi,Ae,te,l,nt,e}from"./chunk-z8t0v07j.js";import{g,K,E,$e}from"./chunk-mf9spd4g.js";import{r,t,u}from"./chunk-9rkfyt6q.js";import{de,vt}from"./chunk-2v7tw1nj.js";var rs={};de(rs,{down:()=>fm,up:()=>pm});var is={};de(is,{down:()=>_m,up:()=>hm});var ns={};de(ns,{down:()=>Tm,up:()=>ym});var os={};de(os,{down:()=>Sm,up:()=>km});var ss={};de(ss,{down:()=>Om,up:()=>Dm});var as={};de(as,{down:()=>Im,up:()=>Rm});var ds={};de(ds,{down:()=>Lm,up:()=>Pm});var us={};de(us,{down:()=>Bm,up:()=>Am});var cs={};de(cs,{down:()=>Mm,up:()=>Wm});var ls={};de(ls,{down:()=>Fm,up:()=>qm});var ms={};de(ms,{down:()=>$m,up:()=>Km});var ps={};de(ps,{down:()=>Vm,up:()=>Um});var fs={};de(fs,{down:()=>zm,up:()=>Qm});var hs={};de(hs,{down:()=>jm,up:()=>Jm});var _s={};de(_s,{down:()=>Zm,up:()=>Xm});var ys={};de(ys,{down:()=>tp,up:()=>ep});var xs={};de(xs,{down:()=>ip,up:()=>rp});var Ns={};de(Ns,{down:()=>sp,up:()=>op});var ws={};de(ws,{down:()=>dp,up:()=>ap});var vs={};de(vs,{down:()=>lp,up:()=>cp});var Cs={};de(Cs,{down:()=>xp,up:()=>mp});var Es={};de(Es,{down:()=>gp,up:()=>Np});var Ts={};de(Ts,{down:()=>bp,up:()=>vp});var ks={};de(ks,{down:()=>Ep,up:()=>Cp});var Ds={};de(Ds,{down:()=>kp,up:()=>Tp});var Os={};de(Os,{down:()=>Dp,up:()=>Sp});var Rs={};de(Rs,{down:()=>Rp,up:()=>Op});var Is={};de(Is,{down:()=>Lp,up:()=>Pp});var Ps={};de(Ps,{down:()=>Wp,up:()=>Bp});var Ls={};de(Ls,{down:()=>Fp,up:()=>qp});var As={};de(As,{down:()=>$p,up:()=>Kp});var Bs={};de(Bs,{down:()=>Up,up:()=>Gp});var Ws={};de(Ws,{down:()=>Qp,up:()=>Vp});var Ms={};de(Ms,{down:()=>jp,up:()=>Jp});var qs={};de(qs,{down:()=>Xp,up:()=>Yp});var Fs={};de(Fs,{down:()=>sf,up:()=>Zp});var Ks={};de(Ks,{down:()=>df,up:()=>af});var Gs={};de(Gs,{down:()=>yf,up:()=>lf});var Us={};de(Us,{down:()=>Nf,up:()=>xf});var Vs={};de(Vs,{down:()=>wf,up:()=>gf});var Qs={};de(Qs,{down:()=>bf,up:()=>vf});var zs={};de(zs,{down:()=>Ef,up:()=>Cf});var Js={};de(Js,{down:()=>kf,up:()=>Tf});var js={};de(js,{down:()=>Df,up:()=>Sf});var Hs={};de(Hs,{down:()=>If,up:()=>Rf});var Ys={};de(Ys,{down:()=>Lf,up:()=>Pf});var Xs={};de(Xs,{down:()=>Bf,up:()=>Af});var Zs={};de(Zs,{down:()=>Mf,up:()=>Wf});var ea={};de(ea,{down:()=>Ff,up:()=>qf});var ta={};de(ta,{down:()=>$f,up:()=>Kf});var ra={};de(ra,{down:()=>Uf,up:()=>Gf});var ia={};de(ia,{down:()=>Qf,up:()=>Vf});var na={};de(na,{down:()=>Jf,up:()=>zf});var oa={};de(oa,{down:()=>Hf,up:()=>jf});var sa={};de(sa,{down:()=>Xf,up:()=>Yf});var aa={};de(aa,{down:()=>eh,up:()=>Zf});var da={};de(da,{down:()=>rh,up:()=>th});var ua={};de(ua,{down:()=>nh,up:()=>ih});var ca={};de(ca,{down:()=>sh,up:()=>oh});var ma={};de(ma,{down:()=>dh,up:()=>ah});var pa={};de(pa,{down:()=>ch,up:()=>uh});var fa={};de(fa,{down:()=>mh,up:()=>lh});var ha={};de(ha,{down:()=>fh,up:()=>ph});var _a={};de(_a,{down:()=>_h,up:()=>hh});var ya={};de(ya,{down:()=>xh,up:()=>yh});var xa={};de(xa,{down:()=>gh,up:()=>Nh});var Na={};de(Na,{down:()=>vh,up:()=>wh});var ga={};de(ga,{down:()=>Ch,up:()=>bh});var wa={};de(wa,{down:()=>Th,up:()=>Eh});var va={};de(va,{down:()=>Sh,up:()=>kh});var ba={};de(ba,{down:()=>Oh,up:()=>Dh});var Ca={};de(Ca,{down:()=>Ih,up:()=>Rh});var Ea={};de(Ea,{down:()=>Lh,up:()=>Ph});var Ta={};de(Ta,{down:()=>Bh,up:()=>Ah});var ka={};de(ka,{down:()=>Mh,up:()=>Wh});var Sa={};de(Sa,{down:()=>Fh,up:()=>qh});var Da={};de(Da,{down:()=>$h,up:()=>Kh});var Oa={};de(Oa,{down:()=>Uh,up:()=>Gh});var Ra={};de(Ra,{down:()=>Qh,up:()=>Vh});var Ia={};de(Ia,{down:()=>Jh,up:()=>zh});import{randomUUID as fc}from"crypto";class qz{next(){return fc()}}var L=new qz;function oo(n,o,s=L){return`${n}_${o.now()}_${s.next()}`}function Ne(n){return typeof n>"u"||n===void 0}function w(n){return typeof n==="string"}function Et(n){return typeof n==="number"}function Kt(n){return typeof n==="boolean"}function Zt(n){return n===null}function Ka(n){return n instanceof Date}function er(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 Vr(n){if(se(n))return n;else return[n]}function se(n){return Array.isArray(n)}function Y(n){return n}function Ua(n){return n instanceof Error?n.message:String(n)}var T=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 tt=d({is(n){return n.kind==="IdentifierNode"},create(n){return d({kind:"IdentifierNode",name:n})}});var Ie=d({is(n){return n.kind==="CreateIndexNode"},create(n){return d({kind:"CreateIndexNode",name:tt.create(n)})},cloneWith(n,o){return d({...n,...o})},cloneWithColumns(n,o){return d({...n,columns:[...n.columns||[],...o]})}});var Li=d({is(n){return n.kind==="CreateSchemaNode"},create(n,o){return d({kind:"CreateSchemaNode",schema:tt.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var Va=["preserve rows","delete rows","drop"],X=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:tt.create(n)})},createWithSchema(n,o){return d({kind:"SchemableIdentifierNode",schema:tt.create(n),identifier:tt.create(o)})}});var Tt=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:tt.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var tr=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 bs=d({is(n){return n.kind==="AliasNode"},create(n,o){return d({kind:"AliasNode",node:n,alias:o})}});var wc=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 O(n){return M(n)&&W(n.toOperationNode)}function Ai(n){return M(n)&&"expressionType"in n&&O(n)}function Qa(n){return M(n)&&"expression"in n&&w(n.alias)&&O(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 Pe=d({is(n){return n.kind==="OrNode"},create(n,o){return d({kind:"OrNode",left:n,right:o})}});var Bi=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):Pe.create(n.on,s)})}});var Le=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:Bi.create(s)})},cloneWithOn(n,o){return d({...n,on:n.on?Bi.cloneWithOperation(n.on,"And",o):Bi.create(o)})}});var kt=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}),tx=Object.keys(za),Ja=d({"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"&":!0,"|":!0,"#":!0,"<<":!0,">>":!0}),rx=Object.keys(Ja),ja=d({"->":!0,"->>":!0}),hc=Object.keys(ja),Ha=d({...za,...Ja,"||":!0}),_c=Object.keys(Ha),Ya=d({exists:!0,"not exists":!0}),ix=Object.keys(Ya),Xa=d({...Ya,"-":!0,not:!0}),yc=Object.keys(Xa),nx=[..._c,...hc,...yc,"between","between symmetric"],ge=d({is(n){return n.kind==="OperatorNode"},create(n){return d({kind:"OperatorNode",operator:n})}});function Za(n){return w(n)&&Ha[n]}function ed(n){return w(n)&&ja[n]}function td(n){return w(n)&&Xa[n]}var Yt=d({is(n){return n.kind==="ColumnNode"},create(n){return d({kind:"ColumnNode",column:tt.create(n)})}});var rr=d({is(n){return n.kind==="SelectAllNode"},create(){return d({kind:"SelectAllNode"})}});var tb=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 Wi(n){return M(n)&&O(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 S=d({is(n){return n.kind==="RawNode"},create(n,o){return d({kind:"RawNode",sqlFragments:d(n),parameters:d(o)})},createWithSql(n){return S.create([n],[])},createWithChild(n){return S.create(["",""],[n])},createWithChildren(n){return S.create(Array(n.length+1).fill(""),n)}});var rd=d({is(n){return n.kind==="CollateNode"},create(n){return d({kind:"CollateNode",collation:tt.create(n)})}});class St{#e;constructor(n){this.#e=d(n)}desc(){return new St({node:Be.cloneWith(this.#e.node,{direction:S.createWithSql("desc")})})}asc(){return new St({node:Be.cloneWith(this.#e.node,{direction:S.createWithSql("asc")})})}nullsLast(){return new St({node:Be.cloneWith(this.#e.node,{nulls:"last"})})}nullsFirst(){return new St({node:Be.cloneWith(this.#e.node,{nulls:"first"})})}collate(n){return new St({node:Be.cloneWith(this.#e.node,{collation:rd.create(n)})})}toOperationNode(){return this.#e.node}}var id=new Set;function ir(n){if(id.has(n))return;id.add(n),console.log(n)}function An(n){return n==="asc"||n==="desc"}function we(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=xc(n);if(Be.is(s)){if(o)throw Error("Cannot specify direction twice!");return s}return nd(s,o)}function xc(n){if(ct(n))return Z(n);if(Wi(n))return n.toOperationNode();let[o,s]=n.split(" ");if(s)return ir("`orderBy('column asc')` is deprecated. Use `orderBy('column', 'asc')` instead."),nd(pe(o),s);return pe(n)}function nd(n,o){if(typeof o==="string"){if(!An(o))throw Error(`Invalid order by direction: ${o}`);return Be.create(n,S.createWithSql(o))}if(Ai(o))return ir("`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 St({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 Mi=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 Dt=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 Z(n);return Pn(n)}function od(n,o){if(ed(o))return nr.create(pe(n),Mi.create(ge.create(o)));if(o==="->$"||o==="->>$")return nr.create(pe(n),Dt.create(ge.create(o.slice(0,-1))));throw Error(`Invalid JSON operator: ${o}`)}function pe(n){if(!n.includes("."))return tb.create(Yt.create(n));let s=n.split(".").map(Mn);if(s.length===3)return Nc(s);if(s.length===2)return gc(s);throw Error(`invalid column reference ${n}`)}function sd(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Mn);return bs.create(pe(s),tt.create(a))}else return pe(n)}function Bn(n){return Yt.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 we([s,a])[0]}else return Bn(n)}function Nc(n){let[o,s,a]=n;return tb.create(Yt.create(a),wc.createWithSchema(o,s))}function gc(n){let[o,s]=n;return tb.create(Yt.create(s),wc.create(o))}function Mn(n){return n.trim()}var qi=d({is(n){return n.kind==="PrimitiveValueListNode"},create(n){return d({kind:"PrimitiveValueListNode",values:d([...n])})}});var Ot=d({is(n){return n.kind==="ValueListNode"},create(n){return d({kind:"ValueListNode",values:d(n)})}});var Wn=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 dd(n){if(se(n))return vc(n);return R(n)}function R(n){if(ct(n))return Z(n);return Wn.create(n)}function Fi(n){return Et(n)||Kt(n)||Zt(n)}function zr(n){if(!Fi(n))throw Error(`unsafe immediate value ${JSON.stringify(n)}`);return Wn.createImmediate(n)}function vc(n){if(n.some(ct))return Ot.create(n.map((o)=>R(o)));return qi.create(n)}var ve=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 R(n[0]);throw Error(`invalid arguments: ${JSON.stringify(n)}`)}function Ki(n,o,s){if(bc(o)&&cd(s))return kt.create(j(n),qn(o),Wn.createImmediate(s));return kt.create(j(n),qn(o),dd(s))}function z(n,o,s){return kt.create(j(n),qn(o),j(s))}function Fn(n,o){return sr(Object.entries(n).filter(([,s])=>!Ne(s)).map(([s,a])=>Ki(s,cd(a)?"is":"=",a)),o)}function sr(n,o,s=!0){let a=o==="and"?me.create:Pe.create;if(n.length===0)return kt.create(Wn.createImmediate(1),ge.create("="),Wn.createImmediate(o==="and"?1:0));let c=ud(n[0]);for(let p=1;p<n.length;++p)c=a(c,ud(n[p]));if(n.length>1&&s)return ve.create(c);return c}function bc(n){return n==="is"||n==="is not"}function cd(n){return Zt(n)||Kt(n)}function qn(n){if(Za(n))return ge.create(n);if(O(n))return n.toOperationNode();throw Error(`invalid operator ${JSON.stringify(n)}`)}function ud(n){return O(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 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?Kn.cloneWithItems(n.partitionBy,o):Kn.create(o)})}});var $t=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):Pe.create(n.having,s)})}});var G=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?$t.cloneWithFroms(n.from,o):$t.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 Rt=d({is(n){return n.kind==="DeleteQueryNode"},create(n,o){return d({kind:"DeleteQueryNode",from:$t.create(n),...o&&{with:o}})},cloneWithOrderByItems:(n,o)=>N.cloneWithOrderByItems(n,o),cloneWithoutOrderBy:(n)=>N.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):Pe.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 ld=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 be=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 N=d({is(n){return D.is(n)||G.is(n)||je.is(n)||Rt.is(n)||be.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:ld.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 D=d({is(n){return n.kind==="SelectQueryNode"},create(n){return d({kind:"SelectQueryNode",...n&&{with:n}})},createFrom(n,o){return d({kind:"SelectQueryNode",from:$t.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)=>N.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)=>N.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:Le.cloneWithOn(this.#e.joinNode,P(n))})}onRef(n,o,s){return new ar({...this.#e,joinNode:Le.cloneWithOn(this.#e.joinNode,z(n,o,s))})}onTrue(){return new ar({...this.#e,joinNode:Le.cloneWithOn(this.#e.joinNode,S.createWithSql("true"))})}$call(n){return n(this)}toOperationNode(){return this.#e.joinNode}}var md=d({is(n){return n.kind==="PartitionByItemNode"},create(n){return d({kind:"PartitionByItemNode",partitionBy:n})}});function pd(n){return lt(n).map(md.create)}class dr{#e;constructor(n){this.#e=d(n)}orderBy(...n){return new dr({overNode:Jr.cloneWithOrderByItems(this.#e.overNode,we(n))})}clearOrderBy(){return new dr({overNode:N.cloneWithoutOrderBy(this.#e.overNode)})}partitionBy(n){return new dr({overNode:Jr.cloneWithPartitionByItems(this.#e.overNode,pd(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:tb.createSelectAll(n)})}});function H(n){if(W(n))return H(n(We()));else if(se(n))return n.map((o)=>fd(o));else return[fd(n)]}function fd(n){if(w(n))return ur.create(sd(n));else if(Wi(n))return ur.create(n.toOperationNode());else return ur.create(Gi(n))}function ee(n){if(!n)return[ur.createSelectAll()];else if(Array.isArray(n))return n.map(hd);else return[hd(n)]}function hd(n){if(w(n))return ur.createSelectAllFromTable(k(n));throw Error(`invalid value selectAll expression: ${JSON.stringify(n)}`)}var _d=d({is(n){return n.kind==="ValuesNode"},create(n){return d({kind:"ValuesNode",values:d(n)})}});var yd=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(Yt.create)),_d.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 h of s){let _=o.get(h);if(Ne(_)){p--;continue}let y=n[h];if(Ne(y)||ct(y))c=!0;a[_]=y}if(p<o.size||c){let h=yd.create();return Ot.create(a.map((_)=>Ne(_)?h:R(_)))}return qi.create(a)}var Qn=d({is(n){return n.kind==="ColumnUpdateNode"},create(n,o){return d({kind:"ColumnUpdateNode",column:n,value:o})}});function xd(...n){if(n.length===2)return[Qn.create(j(n[0]),R(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])=>Qn.create(Yt.create(s),R(a)))}var Nd=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=Yt.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(Yt.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:tt.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 gd({...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 gd{#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 wd=d({is(n){return n.kind==="TopNode"},create(n,o){return d({kind:"TopNode",expression:n,modifiers:o})}});function qe(n,o){if(!Et(n)&&!er(n))throw Error(`Invalid top expression: ${n}`);if(!Ne(o)&&!kc(o))throw Error(`Invalid top modifiers: ${o}`);return wd.create(n,o)}function kc(n){return n==="percent"||n==="with ties"||n==="percent with ties"}var Gt=d({is(n){return n.kind==="OrActionNode"},create(n){return d({kind:"OrActionNode",action:n})}});class I{#e;constructor(n){this.#e=d(n)}values(n){let[o,s]=Ui(n);return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{columns:o,values:s})})}columns(n){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{columns:d(n.map(Yt.create))})})}expression(n){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{values:Z(n)})})}defaultValues(){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{defaultValues:!0})})}modifyEnd(n){return new I({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}ignore(){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{orAction:Gt.create("ignore")})})}orIgnore(){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{orAction:Gt.create("ignore")})})}orAbort(){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{orAction:Gt.create("abort")})})}orFail(){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{orAction:Gt.create("fail")})})}orReplace(){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{orAction:Gt.create("replace")})})}orRollback(){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{orAction:Gt.create("rollback")})})}top(n,o){return new I({...this.#e,queryNode:N.cloneWithTop(this.#e.queryNode,qe(n,o))})}onConflict(n){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{onConflict:n(new Ye({onConflictNode:ce.create()})).toOperationNode()})})}onDuplicateKeyUpdate(n){return new I({...this.#e,queryNode:G.cloneWith(this.#e.queryNode,{onDuplicateKey:Nd.create(Hr(n))})})}returning(n){return new I({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(){return new I({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,ee())})}output(n){return new I({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new I({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,ee(n))})}clearReturning(){return new I({...this.#e,queryNode:N.cloneWithoutReturning(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new I({...this.#e})}$castTo(){return new I(this.#e)}$narrowType(){return new I(this.#e)}$assertType(){return new I(this.#e)}withPlugin(n){return new I({...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 I({...this.#e,queryNode:N.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 U;class Vi{#e;constructor(n){this.#e=d(n)}where(...n){return new U({...this.#e,queryNode:N.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new U({...this.#e,queryNode:N.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new U({...this.#e,queryNode:N.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new U({...this.#e,queryNode:N.cloneWithTop(this.#e.queryNode,qe(n,o))})}using(n){return new U({...this.#e,queryNode:Rt.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 U({...this.#e,queryNode:N.cloneWithJoin(this.#e.queryNode,It(n,o))})}returning(n){return new U({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new U({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,ee(n))})}output(n){return new U({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new U({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,ee(n))})}clearReturning(){return new U({...this.#e,queryNode:N.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new U({...this.#e,queryNode:Rt.cloneWithoutLimit(this.#e.queryNode)})}orderBy(...n){return new U({...this.#e,queryNode:N.cloneWithOrderByItems(this.#e.queryNode,we(n))})}clearOrderBy(){return new U({...this.#e,queryNode:N.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new U({...this.#e,queryNode:Rt.cloneWithLimit(this.#e.queryNode,cr.create(R(n)))})}modifyEnd(n){return new U({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}$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))]}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:N.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}U=Vi;class Hn{numUpdatedRows;numChangedRows;constructor(n,o){this.numUpdatedRows=n,this.numChangedRows=o}}var V;class lr{#e;constructor(n){this.#e=d(n)}where(...n){return new V({...this.#e,queryNode:N.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new V({...this.#e,queryNode:N.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new V({...this.#e,queryNode:N.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new V({...this.#e,queryNode:N.cloneWithTop(this.#e.queryNode,qe(n,o))})}from(n){return new V({...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 V({...this.#e,queryNode:N.cloneWithJoin(this.#e.queryNode,It(n,o))})}orderBy(...n){return new V({...this.#e,queryNode:N.cloneWithOrderByItems(this.#e.queryNode,we(n))})}clearOrderBy(){return new V({...this.#e,queryNode:N.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new V({...this.#e,queryNode:je.cloneWithLimit(this.#e.queryNode,cr.create(R(n)))})}set(...n){return new V({...this.#e,queryNode:je.cloneWithUpdates(this.#e.queryNode,xd(...n))})}returning(n){return new V({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new V({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,ee(n))})}output(n){return new V({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new V({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,ee(n))})}modifyEnd(n){return new V({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}clearReturning(){return new V({...this.#e,queryNode:N.cloneWithoutReturning(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)}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(),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 V({...this.#e,queryNode:N.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}V=lr;var Yn=d({is(n){return n.kind==="CommonTableExpressionNameNode"},create(n,o){return d({kind:"CommonTableExpressionNameNode",table:wc.create(n),columns:o?d(o.map(Yt.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=O(o)?o.toOperationNode():o(bd()).toOperationNode();if(W(n))return n(Sc(s)).toOperationNode();return mr.create(vd(n),s)}function Sc(n){return(o)=>new Xr({node:mr.create(vd(o),n)})}function vd(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 Cd=["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 Ed(n){let o="";for(let s=0;s<n;++s)o+=Dc();return o}function Dc(){return Cd[~~(Math.random()*Cd.length)]}function b(){return new Td}class Td{#e;get queryId(){if(this.#e===void 0)this.#e=Ed(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 kd(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 Sd(n){return kd(n)&&Oc[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(!Sd(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:tt.create(this.#e)}}transformReferences(n,o){let s=super.transformReferences(n,o);if(s.table.table.schema)return s;return{...s,table:wc.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)=>wc.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)=>!wc.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(Le.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.#u(n.with,o);return o}#n(n,o){if(wc.is(n))return this.#s(n.table,o);if(bs.is(n)&&wc.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)}#u(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 Dd=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([Dd.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 S.create([n],[]);if(O(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 Rd(n="ignore query",o,s){if(n==="ignore query")return;if(n==="cancel query"){let a=o.cancelQuery;if(!a)s(),Od(n,o.killSession?"kill session":void 0);return a.bind(o)}if(n==="kill session"){let a=o.killSession;if(!a)s(),Od(n,o.cancelQuery?"cancel query":void 0);return a.bind(o)}throw s(),Error(`Unexpected \`inflightQueryAbortStrategy\`: "${n}"`)}function Od(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?.(),Pt(n.reason,o)}function Pt(n,o){throw Pc(n,o),n}var Ce={};async function hr(n,o,s,a){if(!o)return n;ft(o,`before ${s}`,a);let{promise:c,resolve:p}=new pt,f=()=>p(Ce);o.addEventListener("abort",f);try{ft(o,`before ${s}`,a);let h=await Promise.race([n,c]);if(h!==Ce)return h;a?.(),Pt(o.reason,`during ${s}`)}finally{o.removeEventListener("abort",f),p(Ce)}}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 x=await this.provideConnection(async(C)=>await C.executeQuery(n),o);return await this.#t(x,n.queryId)}ft(a,"before query execution"),o=d({signal:a});let{connection:c,release:p}=await fr(this,o),f=this.provideConnection.bind(this),{promise:h,resolve:_}=new pt,y=()=>_(Ce);a.addEventListener("abort",y,{once:!0});try{ft(a,"before query execution",p);let x=Rd(s,c,p);if(x&&c.collectSessionInfo){ft(a,"before query execution",p);let ut=c.collectSessionInfo();if(await Promise.race([h,ut]).catch((pc)=>{throw p(),pc})===Ce)ut.catch(Xe("collectSessionInfo")).finally(p),Pt(a.reason,"before query execution")}let C=c.executeQuery(n,o),Q=await Promise.race([h,C]).catch((ut)=>{throw p(),ut});if(Q===Ce)Promise.allSettled([C.catch(Xe("query")),x?.(f).catch(Xe("inflightQueryAbortHandler"))]).finally(p),Pt(a.reason,"during query execution");else p();let re=this.#t(Q,n.queryId,o),ue=await Promise.race([h,re]);if(ue===Ce)re.catch(Xe("plugins.transformResult")),Pt(a.reason,"during result transformation");return ue}finally{_(Ce),a.removeEventListener("abort",y)}}async*stream(n,o,s){let{signal:a}=s||{};if(!a){let{connection:Q,release:re}=await fr(this);try{for await(let ue of Q.streamQuery(n,o))yield await this.#t(ue,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:f,resolve:h}=new pt,_=()=>h(Ce);a.addEventListener("abort",_,{once:!0});let y,x;ft(a,"before query streaming",p);let{queryId:C}=n;try{y=c.streamQuery(n,o,s);while(!0){ft(a,"during query streaming");let Q=y.next(),re=await Promise.race([f,Q]);if(re===Ce)x=Q.catch(Xe("iterator.next")),Pt(a.reason,"during query streaming");if(re.done)break;let ue=this.#t(re.value,C,s),ut=await Promise.race([f,ue]);if(ut===Ce)x=ue.catch(Xe("plugins.transformResult")),Pt(a.reason,"during result transformation");yield ut}}finally{h(Ce),a.removeEventListener("abort",_);let Q=(y?.return?.()||Promise.resolve()).finally(()=>x).finally(p);if(!x)await Q}}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 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 _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:N.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new ht({...this.#e,queryNode:N.cloneWithTop(this.#e.queryNode,qe(n,o))})}using(...n){return new he({...this.#e,queryNode:be.cloneWithUsing(this.#e.queryNode,It("Using",n))})}returning(n){return new ht({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new ht({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,ee(n))})}output(n){return new ht({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new ht({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,ee(n))})}}class he{#e;constructor(n){this.#e=d(n)}modifyEnd(n){return new he({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new he({...this.#e,queryNode:N.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:be.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:N.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new he({...this.#e,queryNode:N.cloneWithReturning(this.#e.queryNode,ee(n))})}output(n){return new he({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new he({...this.#e,queryNode:N.cloneWithOutput(this.#e.queryNode,ee(n))})}#r(n,o=!1,s=!1){let a={...this.#e,queryNode:be.cloneWithWhen(this.#e.queryNode,eo({isMatched:!1,bySource:s},n,o))};return new(s?ro:Id)(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:be.cloneWithThen(this.#e.queryNode,pr("delete"))})}thenDoNothing(){return new he({...this.#e,queryNode:be.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenUpdate(n){return new he({...this.#e,queryNode:be.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 Id{#e;constructor(n){this.#e=d(n)}thenDoNothing(){return new he({...this.#e,queryNode:be.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenInsertValues(n){let[o,s]=Ui(n);return new he({...this.#e,queryNode:be.cloneWithThen(this.#e.queryNode,pr(G.cloneWith(G.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:D.createFrom(Fe(n),this.#e.withNode)})}selectNoFrom(n){return ri({queryId:b(),executor:this.#e.executor,queryNode:D.cloneWithSelections(D.create(this.#e.withNode),H(n))})}insertInto(n){return new I({queryId:b(),executor:this.#e.executor,queryNode:G.create(k(n),this.#e.withNode)})}replaceInto(n){return new I({queryId:b(),executor:this.#e.executor,queryNode:G.create(k(n),this.#e.withNode,!0)})}deleteFrom(n){return new Vi({queryId:b(),executor:this.#e.executor,queryNode:Rt.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:be.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 bd(){return new Ze({executor:Lt})}function Pd(n,o){return new ar({joinNode:Le.create(n,Ut(o))})}function Ld(){return new dr({overNode:Jr.create()})}function It(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(Pd(n,o)).toOperationNode()}function Bc(n,o,s,a){return Le.createWithOn(n,Ut(o),z(s,"=",a))}function Wc(n,o){return Le.create(n,Ut(o))}var Ad=d({is(n){return n.kind==="OffsetNode"},create(n){return d({kind:"OffsetNode",offset:n})}});var Bd=d({is(n){return n.kind==="GroupByItemNode"},create(n){return d({kind:"GroupByItemNode",groupBy:n})}});function Wd(n){return n=W(n)?n(We()):n,lt(n).map(Bd.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 Vt(n,o,s){if(W(o))o=o(no());if(!se(o))o=[o];return o.map((a)=>Qi.create(n,Z(a),s))}class Er{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}or(...n){return new zi(Pe.create(this.#e,P(n)))}and(...n){return new Ji(me.create(this.#e,P(n)))}$castTo(){return new Er(this.#e)}$notNull(){return new Er(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 bs.create(this.#e.toOperationNode(),O(this.#t)?this.#t.toOperationNode():tt.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(Pe.create(this.#e,P(n)))}$castTo(){return new zi(this.#e)}toOperationNode(){return ve.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 ve.create(this.#e)}}var Md=d({is(n){return n.kind==="FetchNode"},create(n,o){return{kind:"FetchNode",rowCount:Wn.create(n),modifier:o}}});function qd(n,o){if(!Et(n)&&!er(n))throw Error(`Invalid fetch row count: ${n}`);if(!Mc(o))throw Error(`Invalid fetch modifier: ${o}`);return Md.create(n,o)}function Mc(n){return n==="only"||n==="with ties"}var v;class so{#e;constructor(n){this.#e=d(n)}get expressionType(){return}get isSelectQueryBuilder(){return!0}where(...n){return new v({...this.#e,queryNode:N.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new v({...this.#e,queryNode:N.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}having(...n){return new v({...this.#e,queryNode:D.cloneWithHaving(this.#e.queryNode,P(n))})}havingRef(n,o,s){return new v({...this.#e,queryNode:D.cloneWithHaving(this.#e.queryNode,z(n,o,s))})}select(n){return new v({...this.#e,queryNode:D.cloneWithSelections(this.#e.queryNode,H(n))})}distinctOn(n){return new v({...this.#e,queryNode:D.cloneWithDistinctOn(this.#e.queryNode,lt(n))})}modifyFront(n){return new v({...this.#e,queryNode:D.cloneWithFrontModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}modifyEnd(n){return new v({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}distinct(){return new v({...this.#e,queryNode:D.cloneWithFrontModifier(this.#e.queryNode,Je.create("Distinct"))})}forUpdate(n){return new v({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,Je.create("ForUpdate",n?Vr(n).map(k):void 0))})}forShare(n){return new v({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,Je.create("ForShare",n?Vr(n).map(k):void 0))})}forKeyShare(n){return new v({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,Je.create("ForKeyShare",n?Vr(n).map(k):void 0))})}forNoKeyUpdate(n){return new v({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,Je.create("ForNoKeyUpdate",n?Vr(n).map(k):void 0))})}skipLocked(){return new v({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,Je.create("SkipLocked"))})}noWait(){return new v({...this.#e,queryNode:N.cloneWithEndModifier(this.#e.queryNode,Je.create("NoWait"))})}selectAll(n){return new v({...this.#e,queryNode:D.cloneWithSelections(this.#e.queryNode,ee(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:N.cloneWithJoin(this.#e.queryNode,It(n,o))})}orderBy(...n){return new v({...this.#e,queryNode:N.cloneWithOrderByItems(this.#e.queryNode,we(n))})}groupBy(n){return new v({...this.#e,queryNode:D.cloneWithGroupByItems(this.#e.queryNode,Wd(n))})}limit(n){return new v({...this.#e,queryNode:D.cloneWithLimit(this.#e.queryNode,cr.create(R(n)))})}offset(n){return new v({...this.#e,queryNode:D.cloneWithOffset(this.#e.queryNode,Ad.create(R(n)))})}fetch(n,o="only"){return new v({...this.#e,queryNode:D.cloneWithFetch(this.#e.queryNode,qd(n,o))})}top(n,o){return new v({...this.#e,queryNode:N.cloneWithTop(this.#e.queryNode,qe(n,o))})}union(n){return new v({...this.#e,queryNode:D.cloneWithSetOperations(this.#e.queryNode,Vt("union",n,!1))})}unionAll(n){return new v({...this.#e,queryNode:D.cloneWithSetOperations(this.#e.queryNode,Vt("union",n,!0))})}intersect(n){return new v({...this.#e,queryNode:D.cloneWithSetOperations(this.#e.queryNode,Vt("intersect",n,!1))})}intersectAll(n){return new v({...this.#e,queryNode:D.cloneWithSetOperations(this.#e.queryNode,Vt("intersect",n,!0))})}except(n){return new v({...this.#e,queryNode:D.cloneWithSetOperations(this.#e.queryNode,Vt("except",n,!1))})}exceptAll(n){return new v({...this.#e,queryNode:D.cloneWithSetOperations(this.#e.queryNode,Vt("except",n,!0))})}as(n){return new Fd(this,n)}clearSelect(){return new v({...this.#e,queryNode:D.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new v({...this.#e,queryNode:N.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new v({...this.#e,queryNode:D.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new v({...this.#e,queryNode:D.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new v({...this.#e,queryNode:N.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new v({...this.#e,queryNode:D.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 Er(this.toOperationNode())}$asScalar(){return new Er(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:N.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}v=so;function ri(n){return new so(n)}class Fd{#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 bs.create(this.#e.toOperationNode(),tt.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 ao=d({is(n){return n.kind==="FunctionNode"},create(n,o){return d({kind:"FunctionNode",func:n,arguments:o})}});class _e{#e;constructor(n){this.#e=d(n)}get expressionType(){return}as(n){return new Kd(this,n)}distinct(){return new _e({...this.#e,aggregateFunctionNode:et.cloneWithDistinct(this.#e.aggregateFunctionNode)})}orderBy(...n){return new _e({...this.#e,aggregateFunctionNode:N.cloneWithOrderByItems(this.#e.aggregateFunctionNode,we(n))})}clearOrderBy(){return new _e({...this.#e,aggregateFunctionNode:N.cloneWithoutOrderBy(this.#e.aggregateFunctionNode)})}withinGroupOrderBy(...n){return new _e({...this.#e,aggregateFunctionNode:et.cloneWithOrderBy(this.#e.aggregateFunctionNode,we(n),!0)})}filterWhere(...n){return new _e({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,P(n))})}filterWhereRef(n,o,s){return new _e({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,z(n,o,s))})}over(n){let o=Ld();return new _e({...this.#e,aggregateFunctionNode:et.cloneWithOver(this.#e.aggregateFunctionNode,(n?n(o):o).toOperationNode())})}$call(n){return n(this)}$castTo(){return new _e(this.#e)}$notNull(){return new _e(this.#e)}toOperationNode(){return this.#e.aggregateFunctionNode}}class Kd{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return bs.create(this.#e.toOperationNode(),tt.create(this.#t))}}function Hi(){let n=(s,a)=>new Er(ao.create(s,lt(a??[]))),o=(s,a)=>new _e({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 _e({aggregateFunctionNode:et.create("count",ee(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 _e({aggregateFunctionNode:et.create("json_agg",[w(s)?k(s):s.toOperationNode()])})},toJson(s){return new Er(ao.create("to_json",[w(s)?k(s):s.toOperationNode()]))}})}var $d=d({is(n){return n.kind==="UnaryOperationNode"},create(n,o){return d({kind:"UnaryOperationNode",operator:n,operand:o})}});function Gd(n,o){if(td(n))return $d.create(ge.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 uo({...this.#e,node:ne.cloneWithThen(this.#e.node,Fi(n)?zr(n):R(n))})}thenRef(n){return new uo({...this.#e,node:ne.cloneWithThen(this.#e.node,j(n))})}}class uo{#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 co({...this.#e,node:ne.cloneWith(this.#e.node,{else:Fi(n)?zr(n):R(n)})})}elseRef(n){return new co({...this.#e,node:ne.cloneWith(this.#e.node,{else:j(n)})})}end(){return new Er(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Er(ne.cloneWith(this.#e.node,{isStatement:!0}))}}class co{#e;constructor(n){this.#e=d(n)}end(){return new Er(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Er(ne.cloneWith(this.#e.node,{isStatement:!0}))}}var lo=d({is(n){return n.kind==="JSONPathLegNode"},create(n,o){return d({kind:"JSONPathLegNode",type:n,value:o})}});var qc=/^#-\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"&&!qc.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,Dt.is(this.#e.traversal)?Dt.cloneWithLeg(this.#e.traversal,lo.create(n,o)):Mi.cloneWithValue(this.#e.traversal,Wn.createImmediate(o))));return new oi(Dt.cloneWithLeg(this.#e,lo.create(n,o)))}}class oi extends si{#e;constructor(n){super(n);this.#e=n}get expressionType(){return}as(n){return new Ud(this,n)}$castTo(){return new oi(this.#e)}$notNull(){return new oi(this.#e)}toOperationNode(){return this.#e}}class Ud{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return bs.create(this.#e.toOperationNode(),O(this.#t)?this.#t.toOperationNode():tt.create(this.#t))}}var mo=d({is(n){return n.kind==="TupleNode"},create(n){return d({kind:"TupleNode",values:d(n)})}});var Fc=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}),Kc=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+\)$/]),Vd=d({is(n){return n.kind==="DataTypeNode"},create(n){return d({kind:"DataTypeNode",dataType:n})}});function Qd(n){return Fc[n]||Kc.some((o)=>o.test(n))}function Ge(n){if(O(n))return n.toOperationNode();if(Qd(n))return Vd.create(n);throw Error(`invalid column data type ${JSON.stringify(n)}`)}var zd=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,p,f){return new Er(Ki(c,p,f))}function s(c,p){return new Er(Gd(c,p))}let a=Object.assign(o,{fn:void 0,eb:void 0,selectFrom(c){return ri({queryId:b(),executor:n,queryNode:D.createFrom(Fe(c))})},case(c){return new ni({node:ne.create(Ne(c)?void 0:j(c))})},ref(c,p){if(Ne(p))return new Er(pe(c));return new si(od(c,p))},jsonPath(){return new si(Dt.create())},table(c){return new Er(k(c))},val(c){return new Er(R(c))},refTuple(...c){return new Er(mo.create(c.map(j)))},tuple(...c){return new Er(mo.create(c.map(R)))},lit(c){return new Er(zr(c))},unary:s,not(c){return s("not",c)},exists(c){return s("exists",c)},neg(c){return s("-",c)},between(c,p,f){return new Er(kt.create(j(c),ge.create("between"),me.create(R(p),R(f))))},betweenSymmetric(c,p,f){return new Er(kt.create(j(c),ge.create("between symmetric"),me.create(R(p),R(f))))},and(c){if(se(c))return new Er(sr(c,"and"));return new Er(Fn(c,"and"))},or(c){if(se(c))return new Er(sr(c,"or"));return new Er(Fn(c,"or"))},parens(...c){let p=P(c);if(ve.is(p))return new Er(p);else return new Er(ve.create(p))},cast(c,p){return new Er(zd.create(j(c),Ge(p)))}});return a.fn=Hi(),a.eb=a,a}function We(n){return no()}function Z(n){if(O(n))return n.toOperationNode();else if(W(n))return n(We()).toOperationNode();throw Error(`invalid expression: ${JSON.stringify(n)}`)}function Gi(n){if(O(n))return n.toOperationNode();else if(W(n))return n(We()).toOperationNode();throw Error(`invalid aliased expression: ${JSON.stringify(n)}`)}function ct(n){return Ai(n)||Qa(n)||W(n)}class po{#e;get table(){return this.#e}constructor(n){this.#e=n}as(n){return new Jd(this.#e,n)}}class Jd{#e;#t;get table(){return this.#e}get alias(){return this.#t}constructor(n,o){this.#e=n,this.#t=o}toOperationNode(){return bs.create(k(this.#e),tt.create(this.#t))}}function jd(n){return M(n)&&O(n)&&w(n.table)&&w(n.alias)}function Fe(n){if(se(n))return n.map((o)=>Ut(o));else return[Ut(n)]}function Ut(n){if(w(n))return io(n);else if(jd(n))return n.toOperationNode();else return Gi(n)}function io(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Hd);return bs.create(k(s),tt.create(a))}else return k(n)}function k(n){if(n.includes(".")){let[s,a]=n.split(".").map(Hd);return wc.createWithSchema(s,a)}else return wc.create(n)}function Hd(n){return n.trim()}var fo=d({is(n){return n.kind==="AddColumnNode"},create(n){return d({kind:"AddColumnNode",column:n})}});var A=d({is(n){return n.kind==="ColumnDefinitionNode"},create(n,o){return d({kind:"ColumnDefinitionNode",column:Yt.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:Yt.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:Yt.create(n),renameTo:Yt.create(o)})}});var yr=d({is(n){return n.kind==="CheckConstraintNode"},create(n,o){return d({kind:"CheckConstraintNode",expression:n,name:o?tt.create(o):void 0})}});var Yd=d({cascade:!0,"no action":!0,restrict:!0,"set default":!0,"set null":!0}),xS=Object.keys(Yd),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 Xd(n){return w(n)&&Yd[n]}function Yi(n){return O(n)?n.toOperationNode():Wn.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 Zd=d({is(n){return n.kind==="DefaultValueNode"},create(n){return d({kind:"DefaultValueNode",defaultValue:n})}});function Nr(n){if(Xd(n))return n;throw Error(`invalid OnModifyForeignAction ${n}`)}class B{#e;constructor(n){this.#e=n}autoIncrement(){return new B(A.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new B(A.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new B(A.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 B(A.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 B(A.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 B(A.cloneWith(this.#e,{references:xr.cloneWithOnUpdate(this.#e.references,Nr(n))}))}unique(){return new B(A.cloneWith(this.#e,{unique:!0}))}notNull(){return new B(A.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new B(A.cloneWith(this.#e,{unsigned:!0}))}defaultTo(n){return new B(A.cloneWith(this.#e,{defaultTo:Zd.create(Yi(n))}))}check(n){return new B(A.cloneWith(this.#e,{check:yr.create(n.toOperationNode())}))}generatedAlwaysAs(n){return new B(A.cloneWith(this.#e,{generated:di.createWithExpression(n.toOperationNode())}))}generatedAlwaysAsIdentity(){return new B(A.cloneWith(this.#e,{generated:di.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new B(A.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 B(A.cloneWith(this.#e,{generated:di.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(n){return new B(A.cloneWithFrontModifier(this.#e,n.toOperationNode()))}nullsNotDistinct(){return new B(A.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new B(A.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(n){return new B(A.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?tt.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 rt=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(Yt.create);return d({kind:"UniqueConstraintNode",columns:d(n),name:o?tt.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:tt.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:Yt.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(T.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 Qt{#e;constructor(n){this.#e=d(n)}ifExists(){return new Qt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{dropConstraint:wr.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new Qt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{dropConstraint:wr.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new Qt({...this.#e,node:T.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(Yt.create)),name:o?tt.create(o):void 0})},cloneWith(n,o){return d({...n,...o})}});var Ee=d({is(n){return n.kind==="AddIndexNode"},create(n){return d({kind:"AddIndexNode",name:tt.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:T.cloneWithTableProps(this.#e.node,{addIndex:Ee.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(n){return new Bt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addIndex:Ee.cloneWithColumns(this.#e.node.addIndex,[w(n)?or(n):n.toOperationNode()])})})}columns(n){return new Bt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addIndex:Ee.cloneWithColumns(this.#e.node.addIndex,n.map((o)=>w(o)?or(o):o.toOperationNode()))})})}expression(n){return new Bt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addIndex:Ee.cloneWithColumns(this.#e.node.addIndex,[n.toOperationNode()])})})}using(n){return new Bt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addIndex:Ee.cloneWith(this.#e.node.addIndex,{using:S.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 it{#e;constructor(n){this.#e=n}nullsNotDistinct(){return new it(rt.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new it(rt.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new it(rt.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new it(rt.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new it(rt.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 eu=d({is(n){return n.kind==="RenameConstraintNode"},create(n,o){return d({kind:"RenameConstraintNode",oldName:tt.create(n),newName:tt.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 At({...this.#e,node:T.cloneWithTableProps(this.#e.node,{renameTo:k(n)})})}setSchema(n){return new At({...this.#e,node:T.cloneWithTableProps(this.#e.node,{setSchema:tt.create(n)})})}alterColumn(n,o){let s=o(new Xi(n));return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=Y){let s=o(new ci({node:ai.create(n)}));return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=Y){let a=s(new B(A.create(n,Ge(o))));return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,fo.create(a.toOperationNode()))})}modifyColumn(n,o,s=Y){let a=s(new B(A.create(n,Ge(o))));return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,_o.create(a.toOperationNode()))})}addUniqueConstraint(n,o,s=Y){let a=s(new it(rt.create(o.map((c)=>w(c)?Yt.create(c):Z(c)),n)));return new At({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addConstraint:gr.create(a.toOperationNode())})})}addCheckConstraint(n,o,s=Y){let a=s(new ui(yr.create(o.toOperationNode(),n)));return new At({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addConstraint:gr.create(a.toOperationNode())})})}addForeignKeyConstraint(n,o,s,a,c=Y){let p=c(new Ve(Ue.create(o.map(Yt.create),k(s),a.map(Yt.create),n)));return new _t({...this.#e,constraintBuilder:p})}addPrimaryKeyConstraint(n,o,s=Y){let a=s(new xt(yt.create(o,n)));return new At({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addConstraint:gr.create(a.toOperationNode())})})}dropConstraint(n){return new Qt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{dropConstraint:wr.create(n)})})}renameConstraint(n,o){return new Qt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{renameConstraint:eu.create(n,o)})})}addIndex(n){return new Bt({...this.#e,node:T.cloneWithTableProps(this.#e.node,{addIndex:Ee.create(n)})})}dropIndex(n){return new At({...this.#e,node:T.cloneWithTableProps(this.#e.node,{dropIndex:Tt.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:T.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=Y){let s=o(new ci({node:ai.create(n)}));return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=Y){let a=s(new B(A.create(n,Ge(o))));return new Qe({...this.#e,node:T.cloneWithColumnAlteration(this.#e.node,fo.create(a.toOperationNode()))})}modifyColumn(n,o,s=Y){let a=s(new B(A.create(n,Ge(o))));return new Qe({...this.#e,node:T.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 Ot.create(n.values.map(Wn.createImmediate))}transformValue(n){return Wn.createImmediate(n.value)}}class Te{#e;constructor(n){this.#e=d(n)}ifNotExists(){return new Te({...this.#e,node:Ie.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new Te({...this.#e,node:Ie.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new Te({...this.#e,node:Ie.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(n){return new Te({...this.#e,node:Ie.cloneWith(this.#e.node,{table:k(n)})})}column(n){return new Te({...this.#e,node:Ie.cloneWithColumns(this.#e.node,[w(n)?or(n):n.toOperationNode()])})}columns(n){return new Te({...this.#e,node:Ie.cloneWithColumns(this.#e.node,n.map((o)=>w(o)?or(o):o.toOperationNode()))})}expression(n){return new Te({...this.#e,node:Ie.cloneWithColumns(this.#e.node,[n.toOperationNode()])})}using(n){return new Te({...this.#e,node:Ie.cloneWith(this.#e.node,{using:S.createWithSql(n)})})}where(...n){let o=new li;return new Te({...this.#e,node:N.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:Li.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 tu(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(Ee.cloneWith(this.#e,{using:S.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:X.cloneWith(this.#e.node,{temporary:!0})})}onCommit(n){return new le({...this.#e,node:X.cloneWith(this.#e.node,{onCommit:tu(n)})})}ifNotExists(){return new le({...this.#e,node:X.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(n,o,s=Y){let a=s(new B(A.create(n,Ge(o))));return new le({...this.#e,node:X.cloneWithColumn(this.#e.node,a.toOperationNode())})}addPrimaryKeyConstraint(n,o,s=Y){let a=s(new xt(yt.create(o,n)));return new le({...this.#e,node:X.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addUniqueConstraint(n,o,s=Y){let a=s(new it(rt.create(o.map((c)=>w(c)?Yt.create(c):Z(c)),n)));return new le({...this.#e,node:X.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addIndex(n,o,s=Y){let a=s(new en(Ee.cloneWithColumns(Ee.create(n),o.map((c)=>w(c)?Yt.create(c):Z(c)))));return new le({...this.#e,node:X.cloneWithIndex(this.#e.node,a.toOperationNode())})}addCheckConstraint(n,o,s=Y){let a=s(new ui(yr.create(o.toOperationNode(),n)));return new le({...this.#e,node:X.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addForeignKeyConstraint(n,o,s,a,c=Y){let p=c(new Ve(Ue.create(o.map(Yt.create),k(s),a.map(Yt.create),n)));return new le({...this.#e,node:X.cloneWithConstraint(this.#e.node,p.toOperationNode())})}modifyFront(n){return new le({...this.#e,node:X.cloneWithFrontModifier(this.#e.node,n.toOperationNode())})}modifyEnd(n){return new le({...this.#e,node:X.cloneWithEndModifier(this.#e.node,n.toOperationNode())})}as(n){return new le({...this.#e,node:X.cloneWith(this.#e.node,{selectQuery:Z(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 Cr{#e;constructor(n){this.#e=d(n)}on(n){return new Cr({...this.#e,node:Tt.cloneWith(this.#e.node,{table:k(n)})})}ifExists(){return new Cr({...this.#e,node:Tt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Cr({...this.#e,node:Tt.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:tr.cloneWith(this.#e.node,{temporary:!0})})}ifExists(){return new Tr({...this.#e,node:tr.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Tr({...this.#e,node:tr.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 gt{#e;constructor(n){this.#e=d(n)}temporary(){return new gt({...this.#e,node:ze.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new gt({...this.#e,node:ze.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new gt({...this.#e,node:ze.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new gt({...this.#e,node:ze.cloneWith(this.#e.node,{orReplace:!0})})}columns(n){return new gt({...this.#e,node:ze.cloneWith(this.#e.node,{columns:n.map(Bn)})})}as(n){let o=n.withPlugin(new xo).toOperationNode();return new gt({...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:Ot.create(o.map(Wn.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($c);if(s.length===2)return ae.createWithSchema(s[0],s[1]);else throw Error(`invalid schemable identifier ${n}`)}else return ae.create(n)}function ru(n){if(!Array.isArray(n))n=[n];return n.map(nn)}function $c(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 ot=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 zt{#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 zt{#e;constructor(n){super(n);this.#e=n}ifNotExists(){return new No({...this.#e,node:ot.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:ot.cloneWith(this.#e.node,{addValue:hi.cloneWith(this.#e.node.addValue,{isBefore:o,neighborValue:Wn.createImmediate(n)})})})}}No=on;var iu=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:ot.cloneWith(this.#e.node,{addValue:hi.create(Wn.createImmediate(n))})})}renameTo(n){return new zt({...this.#e,node:ot.cloneWith(this.#e.node,{renameTo:tt.create(n)})})}renameValue(n,o){return new zt({...this.#e,node:ot.cloneWith(this.#e.node,{renameValue:iu.create(Wn.createImmediate(n),Wn.createImmediate(o))})})}setSchema(n){return new zt({...this.#e,node:ot.cloneWith(this.#e.node,{setSchema:tt.create(n)})})}}class Rr{#e;constructor(n){this.#e=n}createTable(n){return new le({queryId:b(),executor:this.#e,node:X.create(k(n))})}dropTable(n){return new Tr({queryId:b(),executor:this.#e,node:tr.create(k(n))})}createIndex(n){return new Te({queryId:b(),executor:this.#e,node:Ie.create(n)})}dropIndex(n){return new Cr({queryId:b(),executor:this.#e,node:Tt.create(n)})}createSchema(n){return new Zi({queryId:b(),executor:this.#e,node:Li.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:T.create(k(n))})}createView(n){return new gt({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:ot.create(nn(n)),queryId:b()})}dropType(n){return new fi({queryId:b(),executor:this.#e,node:pi.create(ru(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 Ke(n)))}}class wo{ref(n){return new In(n)}table(n){return new po(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 Mt 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 Mt(this.#e,this.#t,this.#r,[...this.plugins,...n])}withPlugin(n){return new Mt(this.#e,this.#t,this.#r,[...this.plugins,n])}withPluginAtFront(n){return new Mt(this.#e,this.#t,this.#r,[n,...this.plugins])}withConnectionProvider(n){return new Mt(this.#e,this.#t,n,[...this.plugins])}withoutPlugins(){return new Mt(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.#u(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")}#u(n){let{executeQuery:o,streamQuery:s}=n,a=this;n.executeQuery=async(c,p)=>{let f,h=sn();try{return await o.call(n,c,p)}catch(_){throw f=_,await a.#c(_,c,h),_}finally{if(!f)await a.#d(c,h)}},n.streamQuery=async function*(c,p,f){let h,_=sn();try{for await(let y of s.call(n,c,p,f))yield y}catch(y){throw h=y,await a.#c(y,c,_),y}finally{if(!h)await a.#d(c,_,!0)}}}async#c(n,o,s){await this.#t.error(()=>({level:"error",error:n,query:o,queryDurationMillis:this.#l(s)}))}async#d(n,o,s=!1){await this.#t.query(()=>({level:"query",isStream:s,query:n,queryDurationMillis:this.#l(o)}))}#l(n){return sn()-n}}var Gc=Symbol.for("kysely.AbortedTransactionError");function Eo(n){return M(n)&&Gc in n}var Uc=()=>{};class yi{#e;#t;constructor(n){this.#e=n}async provideConnection(n){while(this.#t)await this.#t.catch(Uc);return this.#t=this.#r(n).finally(()=>{this.#t=void 0}),this.#t}async#r(n){return await n(this.#e)}}var Vc=["read only","read write"],Qc=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function To(n){if(n.accessMode&&!Vc.includes(n.accessMode))throw Error(`invalid transaction access mode ${n.accessMode}`);if(n.isolationLevel&&!Qc.includes(n.isolationLevel))throw Error(`invalid transaction isolation level ${n.isolationLevel}`)}var zc=["query","error"],EP=d(zc);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 nu(n){return M(n)&&W(n.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class Rc extends Ze{#e;constructor(n){let o,s;if(jc(n))o={executor:n.executor},s={...n};else{let a=n.dialect,c=a.createDriver(),p=a.createQueryCompiler(),f=a.createAdapter(),h=new ko(n.log??[]),_=new Co(c,f,h),y=new vo(_),x=new Mt(p,f,y,n.plugins??[]);o={executor:x},s={config:n,executor:x,dialect:a,driver:_}}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(Ne(n)?void 0:Z(n))})}get fn(){return Hi()}transaction(){return new dn({...this.#e})}startTransaction(){return new un({...this.#e})}connection(){return new ou({...this.#e})}withPlugin(n){return new Rc({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Rc({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Rc({...this.#e,executor:this.#e.executor.withPluginAtFront(new Ke(n))})}$extendTables(){return new Rc({...this.#e})}$omitTables(){return new Rc({...this.#e})}$pickTables(){return new Rc({...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=nu(n)?n.compile():n;return await this.#e.executor.executeQuery(s,o)}async[Symbol.asyncDispose](){await this.destroy()}}class st extends Rc{#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 st({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new st({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new st({...this.#e,executor:this.#e.executor.withPluginAtFront(new Ke(n))})}withTables(){return new st({...this.#e})}$extendTables(){return new st({...this.#e})}$omitTables(){return new st({...this.#e})}$pickTables(){return new st({...this.#e})}}function jc(n){return M(n)&&M(n.config)&&M(n.driver)&&M(n.executor)&&M(n.dialect)}class ou{#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 yi(s)),c=new Rc({...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 f={status:"active"},h=new wt(this.#e.executor.withConnectionProvider(new yi(p)),f),_=new st({...a,executor:h}),y=!1;try{await this.#e.driver.beginTransaction(p,c),y=!0;let x=await n(_);return await this.#e.driver.commitTransaction(p),f.status="committed",x}catch(x){if(Eo(x))f.status="aborted";else if(y)await this.#e.driver.rollbackTransaction(p),f.status="rolled back";throw x}})}}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 Se({...s,connection:c,transactionState:{status:"active"},executor:this.#e.executor.withConnectionProvider(new yi(c.connection))})}}class Se extends st{#e;#t;constructor(n){n={...n,executor:new wt(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 Se({...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 Se({...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 Se({...this.#e})))}withPlugin(n){return new Se({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Se({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Se({...this.#e,executor:this.#e.executor.withPluginAtFront(new Ke(n))})}withTables(){return new Se({...this.#e})}$extendTables(){return new Se({...this.#e})}$omitTables(){return new Se({...this.#e})}$pickTables(){return new Se({...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 wt{#e;#t;constructor(n,o){this.#e=n instanceof wt?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 wt(this.#e.withConnectionProvider(n),this.#t)}withPlugin(n){return new wt(this.#e.withPlugin(n),this.#t)}withPlugins(n){return new wt(this.#e.withPlugins(n),this.#t)}withPluginAtFront(n){return new wt(this.#e.withPluginAtFront(n),this.#t)}withoutPlugins(){return new wt(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 su(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 bt(n){return new Ni(n)}class su{#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 bs.create(this.#e.toOperationNode(),O(this.#t)?this.#t.toOperationNode():tt.create(this.#t))}}var m=Object.assign((n,...o)=>bt({queryId:b(),rawNode:S.create(n,o?.map(au)??[])}),{ref(n){return bt({queryId:b(),rawNode:S.createWithChild(pe(n))})},val(n){return bt({queryId:b(),rawNode:S.createWithChild(R(n))})},table(n){return bt({queryId:b(),rawNode:S.createWithChild(k(n))})},id(...n){let o=Array(n.length+1).fill(".");return o[0]="",o[o.length-1]="",bt({queryId:b(),rawNode:S.create(o,n.map(tt.create))})},lit(n){return bt({queryId:b(),rawNode:S.createWithChild(Wn.createImmediate(n))})},raw(n){return bt({queryId:b(),rawNode:S.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]=au(n[c]),c!==n.length-1)s[2*c+1]=a;return bt({queryId:b(),rawNode:S.createWithChildren(s)})}});function au(n){if(O(n))return n.toOperationNode();return R(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 Hc=/'/g,Yc=/['"]/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&&!ve.is(this.parentNode)&&!G.is(this.parentNode)&&!X.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&&!ve.is(this.parentNode)&&!S.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&&!ve.is(this.parentNode)&&!S.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(Zc[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&&!ve.is(this.parentNode)&&!S.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 "),Kt(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(Xc[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 ge.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||!X.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(Hc,"''")}sanitizeJSONPathMemberValue(n){return n.replace(Yc,(o)=>o==="'"?"''":"\\\"")}addParameter(n){this.#t.push(n)}appendImmediateValue(n){if(w(n))this.appendStringLiteral(n);else if(Et(n)||Kt(n)||er(n))this.append(n.toString());else if(Zt(n))this.append("null");else if(Ka(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?du[o.modifier]-du[s.modifier]:1))}compileColumnAlterations(n){this.compileList(n)}announcesNewColumnDataType(){return!0}}var Xc=d({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),du=d({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),Zc=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 ln=d({raw(n,o=[]){return d({sql:n,query:S.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 el=/"/g,tl=/[\\'"]/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(el,'""')}sanitizeJSONPathMemberValue(n){return n.replace(tl,(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",rl=!1,Io="migration_lock",AL=d({__noMigrations__:!0});class ND{#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.#g()).map(({name:a,...c})=>{let p=o.find((f)=>f.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((h)=>h.name===n))throw Error(`migration "${n}" doesn't exist`);let p=a.indexOf(n),f=c.findIndex((h)=>h.name===n);if(p!==-1)return{direction:"Down",step:a.length-p-1};if(f!==-1)return{direction:"Up",step:f+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.#u(),await this.#c(),await this.#d(),await this.#x(n,o)}catch(s){if(s instanceof mn)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??rl}get#n(){if(this.#r)return new Ke(this.#r);return new Ro}async#s(){if(!this.#r)return;if(await this.#l())return;try{await this.#h(this.#e.db.schema.createSchema(this.#r))}catch(o){if(!await this.#l())throw o}}async#u(){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#c(){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.#m())return;try{await this.#e.db.withPlugin(this.#n).insertInto(this.#o).values({id:Io,is_locked:0}).execute()}catch(o){if(!await this.#m())throw o}}async#l(){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#m(){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(h)=>{let _=await this.#N(h);if(_.migrations.length===0)return{results:[]};let{direction:y,step:x}=n(_);if(x<=0)return{results:[]};if(y==="Down")return await this.#C(h,_,x);else if(y==="Up")return await this.#E(h,_,x);return{results:[]}},p=async(h,_)=>{try{return await s.acquireMigrationLock(h,a),await _(h)}finally{await s.releaseMigrationLock(h,a)}},f=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(f)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&&!f)return this.#e.db.connection().execute((h)=>p(h,(_)=>_.transaction().execute((y)=>c(y))));return this.#e.db.connection().execute((h)=>p(h,c))}async#N(n){let o=await this.#g(),s=await this.#v(n);if(this.#w(o,s),!this.#a)this.#b(o,s);let a=this.#f(o,s);return d({migrations:o,executedMigrations:s,lastMigration:Ga(s),pendingMigrations:a})}#f(n,o){return n.filter((s)=>!o.includes(s.name))}async#g(){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)}#w(n,o){for(let s of o)if(!n.some((a)=>a.name===s))throw Error(`corrupted migrations: previously executed migration ${s} is missing`)}#b(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((f)=>f.name===p)),c=a.map((p)=>({migrationName:p.name,direction:"Down",status:"NotExecuted"}));for(let p=0;p<c.length;++p){let f=a[p];try{if(f.down)await f.down(n),await n.withPlugin(this.#n).deleteFrom(this.#i).where("name","=",f.name).execute(),c[p]={migrationName:f.name,direction:"Down",status:"Success"}}catch(h){throw c[p]={migrationName:f.name,direction:"Down",status:"Error"},new mn({error:h,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 f=o.pendingMigrations[p];try{await f.up(n),await n.withPlugin(this.#n).insertInto(this.#i).values({name:f.name,timestamp:new Date().toISOString()}).execute(),c[p]={migrationName:f.name,direction:"Up",status:"Success"}}catch(h){throw c[p]={migrationName:f.name,direction:"Up",status:"Error"},new mn({error:h,results:c})}}return{results:c}}async#h(n){if(this.#e.db.getExecutor().adapter.supportsCreateIfNotExists)n=n.ifNotExists();await n.execute()}}class mn 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","!=",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:f})=>{let h=p?.split(/[\(\),]/)?.find((y)=>y.toLowerCase().includes("autoincrement"))?.trimStart()?.split(/\s+/)?.[0]?.replace(/["`]/g,""),_=a[c]??[];if(!h){let y=_.filter((x)=>x.pk>0);if(y.length===1&&y[0].type.toLowerCase()==="integer")h=y[0].name}return{name:c,isView:f==="view",isForeign:!1,columns:_.map((y)=>({name:y.name,dataType:y.type,isNullable:!y.notnull,isAutoIncrementing:y.name===h,hasDefaultValue:y.dflt_value!=null,comment:void 0}))}})}}class kk 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(uu(c?.default))n[p]=c.default;else if(uu(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 uu(n){return M(n)&&W(n.up)}class bi{async acquire(){}async release(){}}import{readFileSync as nl}from"fs";import{execFileSync as il}from"child_process";var cu=(n,o,s)=>il(n,o,{encoding:"utf-8",timeout:s.timeout,env:s.env});var lu="darwin-utc";function ad(n){if(n===void 0)return{};return n.startsWith("darwin-utc:")?{processGenerationTokenUtc:n}:{processGenerationToken:n}}function Ir(n){if(typeof n.processGenerationTokenUtc==="string")return n.processGenerationTokenUtc;return typeof n.processGenerationToken==="string"?n.processGenerationToken:void 0}var ol="/proc/sys/kernel/random/boot_id",sl=lu,al="darwin",Vz={LC_ALL:"C",TZ:"UTC"},dl=1000,ul=["pid","startedAt","version","buildId","entryScript"];function V3(n,o){let s=Ir(o);return ul.every((a)=>o[a]===n[a])&&(s===void 0||s===n.processGenerationToken)}function zB(n){let o=n.trim().replace(/\s+/g," ");return o.length>0?`${sl}:${o}`:void 0}function mu(n){let o=n.indexOf(":");return o<0?"":n.slice(0,o)}function Ba(n,o){if(n===o)return"same";let s=mu(n);return s===mu(o)&&s!==al?"different":"incomparable"}function cl(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 ll(n=nl){let o;return(s)=>{try{let a=n(`/proc/${s}/stat`,"utf-8");return o??=n(ol,"utf-8"),cl(a,o)}catch(a){e.debug(`Unable to read Linux process generation token for PID ${s}: ${a}`);return}}}var wg=ll(),ml=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],pl=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function _l(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`${ml[o.getUTCDay()]} ${pl[o.getUTCMonth()]} ${o.getUTCDate()} ${s} ${String(o.getUTCFullYear()).padStart(4,"0")}`}function yl(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 xl(){let{dlopen:n,ptr:o,FFIType:s}=vt("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),f=new BigUint64Array(1);return{readStartSeconds(h){try{return c[3]=h,f[0]=BigInt(p.byteLength),a.symbols.sysctl(o(c),c.length,o(p),o(f),null,0)===0?yl(p,Number(f[0])):void 0}catch(_){e.debug(`Unable to read Darwin sysctl process start: ${r(_)}`);return}}}}var pu=!1,Lo;function fu(){if(process.platform!=="darwin"||pu)return Lo;pu=!0;try{Lo=xl()}catch(n){e.debug(`Unable to load Darwin sysctl process start reader: ${r(n)}`)}return Lo}function Eoe(n=process.platform){if(n==="linux")return!0;return n==="darwin"&&fu()!==void 0}function Nl(n={}){let{startReader:o={readStartSeconds:(c)=>fu()?.readStartSeconds(c)},runCommand:s=cu,captureDisabled:a=()=>cn.processGenerationCaptureDisabled?.()??!1}=n;return(c)=>{if(!a())try{let p=o.readStartSeconds(c),f=p===void 0?void 0:_l(p);if(f!==void 0)return zB(f)}catch(p){e.debug(`Unable to capture Darwin process start: ${r(p)}`)}return hu(c,s)}}var gl=Nl();function Rg(n,o){return o===void 0?gl(n):hu(n,o)}function hu(n,o){try{return zB(o("ps",["-p",String(n),"-o","lstart="],{timeout:dl,env:{...process.env,...Vz}}))}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=wg,readDarwinProcessGenerationToken:c=Rg}=n,p=!1,f;return()=>{if(p)return f;p=!0;try{if(o==="linux")f=a(s);else if(o==="darwin")f=c(s)}catch(h){e.debug(`Unable to read current daemon process generation token: ${h}`)}return f}}var vl=wl(),Gm=()=>cn.processGenerationCaptureDisabled?.()?void 0:vl();function la(n){if(process.platform==="darwin")return Rg(n);if(process.platform==="linux")return wg(n);return}function bl(n={}){let o=n.platform??process.platform,s=n.now??(()=>i.now()),a=n.captureDisabled??(()=>cn.processGenerationCaptureDisabled?.()??!1),c=n.sameVerdictTtlMs??1000,p=new Map,f=new Map,h=new Map;function _(y){try{return(o==="linux"?n.readLinuxProcessGenerationToken??wg:o==="darwin"?n.readDarwinProcessGenerationToken??Rg:void 0)?.(y)}catch(x){e.debug(`Lock owner process generation unreadable: ${r(x)}`);return}}return{current(y){if(a())return;let x=s();for(let[re,ue]of p)if(x-ue.at>=c)p.delete(re);for(let[re,ue]of f)if(x-ue>=c)f.delete(re);if(f.has(y))return;let C=p.get(y);if(C)return C.token;let Q=_(y);if(Q!==void 0)p.set(y,{token:Q,at:s()});else f.set(y,s());return Q},compare(y,x){if(a())return h.clear(),"unknown";let C=s();for(let[ut,Fa]of h)if(C-Fa.at>=c)h.delete(ut);let Q=h.get(y);if(Q!==void 0){if(Q.token===void 0)return"unknown";if(Q.token===x)return"same"}h.delete(y);let re=_(y);if(re===void 0)return h.set(y,{at:s()}),"unknown";let ue=Ba(x,re);if(ue==="same")h.set(y,{token:x,at:C});return ue==="incomparable"?"unknown":ue}}}var Nt=bl();import{existsSync as rm,realpathSync as Bu}from"fs";import{basename as im,dirname as nm,join as om}from"path";var _u=new Set;function zn(n,o,s){return Ym(n,o,s)??s.fallback}function Ym(n,o,s={}){let{env:a=process.env,log:c=e}=s,{name:p,raw:f}=Cl(n,o,a);if(f==="")return;let h=rb(f);if(h!==void 0&&h>=(s.min??1))return h;El(c,p,f,s);return}function Cl(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 rb(n){let o=/^\d+$/.test(n)?Number(n):NaN;return Number.isSafeInteger(o)&&o>0?o:void 0}function El(n,o,s,a){let c=`${o}=${s}`;if(_u.has(c))return;_u.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 $s(n,o=process.env,s={}){return zn(n.name,n.legacyName,{fallback:s.fallback??n.fallback??0,min:n.min,env:o,log:s.log??e})}var Ci=(n)=>nt(n,{debugLog:e.debug}),Ao=1e4,Ei=Ao,Bo=64,Wo=8,Mo=300000,qo=64,Fo=64,yu=3;function Pg(n,o,s,a){if(a!==void 0)return`${n}
|
|
3
|
-
${o??""}
|
|
4
|
-
${s??""}
|
|
5
|
-
${a}`;if(s===void 0)return o===void 0?String(n):`${n}
|
|
6
|
-
${o}`;return`${n}
|
|
7
|
-
${o??""}
|
|
8
|
-
${s}`}function Ss(n){let[o,s,a,c]=n.split(`
|
|
9
|
-
`,4),p=Number.parseInt(o,10),h={pid:Number.isInteger(p)&&p>0?p:NaN,token:s||void 0};if(a)h.metadata=a;if(c)h.generation=c;return h}function Lr(n){let o=n.next();while(!o.done)o=n.next();return o.value}function Ar(n,o){let s=Ss(n.raw.trim());if(Number.isNaN(s.pid)){let a=(o.now??Date.now)()-n.mtimeMs;return a>=0&&a>(o.ownerlessReclaimAgeMs??Ao)}return Tl(s.pid,s.token,o.pid??process.pid,{ownerToken:o.ownerToken,reclaimOwnPid:o.reclaimOwnPid??!1})||!(o.isProcessRunning??Ci)(s.pid)||kR(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 Tl(n,o,s,{ownerToken:a,reclaimOwnPid:c}){return c&&n===s&&(a===void 0||(o??"")!==a)}function ye(n){return n.ino!==void 0&&n.mtimeMs!==void 0}function fn(n,o){return n.raw===o.raw&&n.ino===o.ino&&n.mtimeMs===o.mtimeMs}function xu(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 kR(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 hn(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 Nu=8,Ct=new WeakMap,_n=new WeakMap,yn=new WeakMap;function $o(n,o,s){return(yn.get(s)?.get(n)?.get(o)??0)>0}function gu(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 f=(c?.get(p)??0)-1;if(f>0)c?.set(p,f);else c?.delete(p)}if(!c?.size)a?.delete(n)}function Ti(n,o,s){return kl(n,o,s)||$o(n,o,s)}var Ko=new WeakSet;function kl(n,o,s){return Ko.has(s)||_n.get(s)?.get(n)?.has(o)===!0}function wu(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>Nu)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 Jt(n,o,s,a){let c=Ct.get(o);if(!c)c=new Map,Ct.set(o,c);let p=c.get(n);if(!p)p={publications:[],markers:new Set},c.set(n,p);let{publications:f,markers:h}=p;if(s&&!f.some((_)=>fn(_,s)))f.push(s);if(f.length>Nu)f.shift();if(a)h.add(a);if(h.size>8)h.delete(h.values().next().value);if(c.size>64)c.delete(c.keys().next().value)}function jt(n,o,s){let a=Ct.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 at={releaseMarkerCounter:0,publicationCounter:0};import*as J from"fs";function Sl(n){return Number(n/1000000000n)*1000+Number(n%1000000000n)/1e6}var Ii={mkdir:(n)=>{J.mkdirSync(n,{recursive:!0})},list:(n)=>xi(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:Sl(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 Dl,basename as vu}from"path";var bu=/^.+\.(\d+)\.\d+\.[^.]+\.tmp$/;function*Ol(n,o,s,{fileSystem:a,now:c}){let p=`${s}:${n}`,f=Uo.get(a);if(!f)f=new Map,Uo.set(a,f);let h=f.get(p);if(!h||c-h.listedAt>=Mo||c<h.listedAt){if(!h&&f.size>=Fo){let _=f.keys().next().value;if(_!==void 0)f.delete(_)}h={listedAt:c,candidates:[]},f.set(p,h);try{yield{op:"list",path:n};let _=a.list(n).sort().filter((y)=>bu.exec(y)?.[1]===s);h.candidates=[..._.filter((y)=>y.startsWith(o)),..._.filter((y)=>!y.startsWith(o))].slice(0,qo)}catch(_){e.debug(`Lock tmp listing unavailable at ${n}: ${r(_)}`,_)}}return h.candidates}function*Vo(n,o){let s=o.fileSystem??Ii,a=Dl(n),c=String(o.pid??process.pid),p=`${vu(n)}.`,f=yield*Ol(a,p,c,{fileSystem:s,now:(o.now??Date.now)()}),h=0;for(let _ of[...f]){if(!_.startsWith(p)||bu.exec(_)?.[1]!==c)continue;let y=n.slice(0,n.length-vu(n).length)+_,x=yield*Rl(y,o);if(x===!1)continue;let C=f.indexOf(_);if(C===-1)continue;if(f.splice(C,1),x===void 0)continue;if(yield*De(y,s),++h===Wo)break}}function*Rl(n,o){try{yield{op:"stat",path:n};let{mtimeMs:s}=(o.fileSystem??Ii).stat(n);return(o.now??Date.now)()-s>Ei}catch(s){e.debug(`Lock tmp age unavailable at ${n}: ${r(s)}`,s);return}}function*xe(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*Cu(n,o,s){let a=s.fileSystem??Ii,c=s.pid??process.pid,p=s.idGenerator??L,f=`${n}.${c}.${++at.publicationCounter}.${p.next()}.tmp`;try{return yield*De(f,a),yield{op:"writeFile",path:f},a.writeFile(f,o),yield{op:"rename",path:f},a.rename(f,n),!0}catch(h){return e.warn(`Reclaim guard install failed at ${n}: ${r(h)}`,h),!1}finally{yield*De(f,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*Il(n,o,s))){yield*qt(n,o,s);return}}yield*De(o,s)}function*Il(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*ku(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*qt(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*xe(o,s),c)){yield*De(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*De(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*Eu(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*Oe(n,o){for(let s=0;s<yu;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*Oe({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*ki(n,o){let s=yield*gn(n,o);return typeof s==="string"?void 0:s.value}function*Fr(n,o,s){let a=yield*Oe({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=L,postPublish:p}){let f=`${n}.${s}.${++at.publicationCounter}.${c.next()}.tmp`,h=!1;try{try{yield*De(f,a),yield{op:"writeFile",path:f},a.writeFile(f,o),yield{op:"link",path:n},h=!0,a.link(f,n)}catch(_){if(h&&_.code==="EEXIST")return e.debug(`Lock publication contended at ${n}: ${r(_)}`),"contended";return e.warn(`Atomic lock publication failed at ${n}: ${r(_)}`,_),{error:_}}if(p)yield*p(f);return"created"}finally{yield*De(f,a)}}function*Tu(n,o,s,{fileSystem:a,idGenerator:c=L}){let p=yield*zo(n,o,s,{fileSystem:a,idGenerator:c});if(typeof p==="string")return p;return yield*ku(n,o,a,"Reclaim guard")}function*ku(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*De(n,s);return"failed"}}function*Su(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 Pl}from"crypto";function Kr(n,o){let s=Pl("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??Ii,c=o.pid??process.pid,p=Pg(c,o.ownerToken,void 0,s),f=[];for(let h=0;h<Bo;h++){let _=`${n}.${h}`,y=yield*Tu(_,p,c,{fileSystem:a,idGenerator:o.idGenerator});if(y==="created"){if(!(yield*Ll(n,f,a))){yield*Ft(_,p,a);return}let C=h>0&&(yield*Al(n,h,p,o));return{k:h,content:p,compacted:C}}if(y==="failed")return;let x=yield*xe(_,a);if(x===void 0||Bl(x,o))return;f.push(x)}e.warn(`Reclaim guard chain exhausted at ${n}`);return}function*Ll(n,o,s){for(let[a,c]of o.entries())if(!q(yield*xe(`${n}.${a}`,s),c))return!1;return!0}function*Ft(n,o,s){let a=yield*Oe({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*Du(n,s)}function*Du(n,o){let s,a=yield*Oe({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*Al(n,o,s,a){let c=a.fileSystem??Ii;if(!(yield*Cu(`${n}.0`,s,a)))return!1;if(yield*Ft(`${n}.${o}`,s,c)){for(let p=o-1;p>0;p--)if(!(yield*Du(`${n}.${p}`,c)))break}return!0}function Bl(n,o){let s=Ss(n.raw.trim());if(!Number.isNaN(s.pid)){if(s.pid!==(o.pid??process.pid)&&!(o.isProcessRunning??Ci)(s.pid))return!1;let c=kR(o.ownerGeneration,s.pid,s.generation);if(c!=="unknown")return c==="same"}return!((o.now??Date.now)()-n.mtimeMs>Ei)}function*Ou(n,o,s){let a=s.fileSystem??Ii,c=`${n}.displaced`;if(!q(yield*xe(c,a),o))return;let p=`${n}.${s.pid??process.pid}.reclaim`;if(!(yield*Nn(c,p,a)))return;if(!q(yield*xe(p,a),o)){yield*qt(n,p,a);return}yield*De(p,a)}function*Wl(n,o,s,a){let c=s.fileSystem??Ii,p=Kr(n,o),f=yield*wn(p,s,a);if(f===void 0)return;try{yield*Ou(n,o,s)}finally{if(yield*Ft(`${p}.${f.k}`,f.content,c),f.compacted)yield*Ft(`${p}.0`,f.content,c)}}function*Jo(n,o,s,a){let{reclaimed:c,publishedContent:p,tmp:f}=a,h=o.fileSystem??Ii,_=yield*Mr(`${n}.displaced`,h);if(_==="absent")return!0;let y=o.pid??process.pid,x=(f?yield*qr(f,p,h):void 0)??{raw:p},C=yield*Ml(n,_,x,{pid:y,fileSystem:h});if(C==="absent")return!0;if(typeof C==="string"||!ye(x)||!q(x,C)){if(Kl(C,c,p,o))return yield*$l(n,x,y,h);if(yield*Ul(n,C,o,{generation:s,reclaimed:c}))return!0}return yield*ql(n,C,x,{pid:y,fileSystem:h})}function*Ml(n,o,s,{pid:a,fileSystem:c}){if(typeof o!=="string"&&ye(s)&&q(s,o))return jt(n,c,(p)=>fn(p,s)),o;return yield*jo(n,o,a,{fileSystem:c})}function*ql(n,o,s,{pid:a,fileSystem:c}){let p=yield*Vl(n,o,s.raw,{fileSystem:c,publication:ye(s)?s:void 0});if(p==="absent")return yield*Qo(n,c),!0;if(p==="same")return!0;if(p==="older"){if(ye(s))Jt(n,c,s);return!1}if(p==="blocked"&&ye(s))return yield*Fl(n,s,a,c),!1;return yield*Jl(n,s,a,c),yield*Qo(n,c),!1}function*Fl(n,o,s,a){let c=yield*Si(n,`${n}.displaced`,o,{pid:s,fileSystem:a}),p=yield*Si(n,n,o,{pid:s,fileSystem:a});if(c!=="removed"||p!=="removed")Jt(n,a,o)}function*jo(n,o,s,{fileSystem:a,keepEntry:c=!1}){if(typeof o==="string")return o;let p=Ct.get(a)?.get(n)?.publications.find((_)=>ye(_)&&(q(_,o)||_.raw===o.raw&&!Ti(n,_.raw,a)));if(p===void 0||!ye(p))return o;let f=`${n}.displaced`;if(!(q(p,o)?(yield*Si(n,f,p,{pid:s,fileSystem:a}))==="removed":(yield*Xo(n,f,p.raw,{pid:s,fileSystem:a,protectGenuine:!0}))==="removed"))return o;if(!c&&!q(p,o))jt(n,a,(_)=>_===p);return yield*Mr(f,a)}function Kl(n,o,s,a){return typeof n!=="string"&&n.raw===s&&!(o!==void 0&&q(n,o))&&Ar(n,a)}function*$l(n,o,s,a){let c=yield*Gl(n,o.raw,s,a);if((yield*dt(n,a))===o.raw)return!0;if(!c)Jt(n,a,{raw:o.raw});if(ye(o))Jt(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*ki(c,a))!==o)return yield*qt(n,c,a),!1;return yield*bn(n,c,a),!0}function*Ul(n,o,s,{generation:a,reclaimed:c}={}){if(typeof o!=="string"){if(c!==void 0&&q(o,c))return yield*Ou(n,c,s),!0;if(Ar(o,s)){if(!(c!==void 0&&Kr(n,c)===Kr(n,o)))yield*Wl(n,o,s,a);return!0}}return!1}function*Vl(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=Ct.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*Ql(n,c,o,s))jt(n,s,(p)=>p===c);jt(n,s,()=>!1)}function*Ql(n,o,s,a){if(!ye(o)){if($o(n,o.raw,a))return!1;return(yield*Ru(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*zl(n,n,o.raw,{pid:s,fileSystem:a})}let p=yield*Si(n,`${n}.displaced`,o,{pid:s,fileSystem:a});return(yield*Si(n,n,o,{pid:s,fileSystem:a}))==="removed"&&p!=="unverified"}function*zl(n,o,s,{pid:a,fileSystem:c}){if(Ti(n,s,c)||(yield*dt(o,c))!==s)return!1;let p=yield*Mr(`${n}.displaced`,c),f=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"&&f!=="unreadable"&&(f==="absent"||f.raw!==s)}function*Si(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.${++at.releaseMarkerCounter}`;if(!(yield*Fr(o,p,c)))return"unverified";if(!q(yield*xe(p,c),s)){if(o===n)yield*Wr(n,p,c);else yield*qt(n,p,c);return"unverified"}return yield*bn(n,p,c),"removed"}function*Ho(n,o,s,a){if(!Ct.get(a)?.get(n)?.publications?.some((f)=>ye(f)&&f.raw===s))return;let p=yield*qr(o,s,a);jt(n,a,(f)=>q(p,xu(f)))}function*Yo(n,o,s,a){wu(n,o,s);let p=(Ct.get(s)?.get(n)?.publications??[]).filter((h)=>h.raw===o);if(!p.length)return;let f=p.some(ye)?yield*qr(a,o,s):void 0;jt(n,s,(h)=>p.includes(h)&&(!ye(h)||q(f,h)))}function*Jl(n,o,s,a){let c=yield*Ru(n,o.raw,s,{fileSystem:a});if(c==="removed")return;if(Jt(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*Ru(n,o,s,{fileSystem:a,protectGenuine:c=!1}){let p=yield*Oe({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 f=`${n}.${a}.release.${++at.releaseMarkerCounter}`,h=yield*Oe({op:"rename",path:o},()=>{if(p&&Ti(n,s,c))return!1;return c.rename(o,f),!0});if(typeof h==="string")return h==="missing"?"unfound":"failed";if(!h.value)return"unfound";let _=yield*Oe({op:"readText",path:f},()=>c.readText(f));if(typeof _==="string"||_.value!==s||p&&Ti(n,s,c)){if(o===n)yield*Wr(n,f,c);else yield*qt(n,f,c);return _==="failed"?"failed":"unfound"}return yield*bn(n,f,c),"removed"}function*bn(n,o,s){if((yield*Oe({op:"unlink",path:o},()=>s.unlink(o)))!=="failed")return;Jt(n,s,void 0,o),e.warn(`Lock back-out marker cleanup failed at ${n}; cleanup pending in this process`)}function*Iu(n,o,s){if(!Ct.get(s)?.get(n)?.publications?.some(ye))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 _i(n,o={}){return Lr(jl(n,o))}function*jl(n,o={}){let s={...o,publications:new Set};try{return yield*Hl(n,s)}finally{Go(n,o.fileSystem??Ii,s.publications)}}function*Hl(n,o){let s=o.pid??process.pid,a=o.fileSystem??Ii;yield*vn(n,s,a);let c=yield*xe(n,a);if(c){let h=hn(o.ownerGeneration,s);if(!Ar(c,o))return!1;return yield*es(n,o,c,{generation:h})}let p=yield*Au(n,s,o);if(p.blocked)return!1;if(p.acquired)return!0;let f=yield*xe(n,o.fileSystem??Ii);if(!f||!Ar(f,o))return!1;return yield*es(n,o,f,{generation:p.generation,sweep:!p.swept})}function*es(n,o,s,{generation:a,sweep:c}={}){let p=o.fileSystem??Ii,f=o.pid??process.pid,h=Kr(n,s);if(c!==!1)yield*Vo(n,o);let _=yield*wn(h,o,a);if(_===void 0)return!1;try{if(!q(yield*xe(n,p),s))return!1;let y=`${n}.${f}.reclaim`;if(!(yield*Nn(n,y,p)))return!1;if(!q(yield*xe(y,p),s))return yield*Wr(n,y,p),!1;yield*Eu(y,p);for(let x=_.compacted?1:0;x<_.k;x++)yield*De(`${h}.${x}`,p);return(yield*Au(n,f,o,{sweep:!1,reclaimed:s})).acquired}finally{if(yield*Ft(`${h}.${_.k}`,_.content,p),_.compacted)yield*Ft(`${h}.0`,_.content,p)}}function jB(n,o=Ci,s,a=Ii){let c=Lr(Pu(n,a))?.trim();if(c===void 0)return;let{pid:p,generation:f}=Ss(c);if(Number.isNaN(p)||!o(p))return;if(f!==void 0&&s!==void 0&&kR(s,p,f)==="different")return;return p}function fl(n,o=Ii){let s=Lr(Pu(n,o))?.trim();if(s===void 0||s.length===0)return;return Ss(s)}function*Pu(n,o){return(yield*dt(n,o))??(yield*dt(`${n}.displaced`,o))}function Ek(n,o,s={}){return Lr(Yl(n,o,s))}function*Yl(n,o,s){let a={...s,publications:new Set};try{return yield*Xl(n,o,a)}finally{Go(n,s.fileSystem??Ii,a.publications)}}function*Xl(n,o,s){let a=s.fileSystem??Ii;yield*vn(n,s.pid??process.pid,a);let c=yield*xe(n,a);if(!c)return!1;let p=Ss(c.raw.trim());if(p.pid!==o.pid||p.token!==o.token)return!1;let f=hn(s.ownerGeneration,s.pid??process.pid);return yield*es(n,s,c,{generation:f})}function vi(n,o=process.pid,s,a=Ii){Lr(Zl(n,o,s,a))}function*Zl(n,o=process.pid,s,a=Ii){yield*vn(n,o,a);let c=yield*em(n,o,s,a),p=yield*tm(n,o,s,a);if(c&&p)xn(n,a,(f)=>Br(Ss(f.trim()),o,s))}function*em(n,o,s,a){let c=`${n}.displaced`,p=yield*gn(c,a);if(p==="missing")return!0;let f=typeof p==="string"?void 0:p.value;if(f===void 0||!Br(Ss(f.trim()),o,s))return!1;let h=`${n}.${o}.release.${++at.releaseMarkerCounter}`;if(!(yield*Fr(c,h,a)))return!1;let _=yield*ki(h,a);if(_===void 0||!Br(Ss(_.trim()),o,s))return yield*qt(n,h,a),!1;if(yield*Ho(n,h,_,a),yield*Lu(n,h,a))xn(n,a,(y)=>y===_);return!1}function*tm(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(Ss(p.trim()),o,s))return!1;let f=`${n}.${o}.release.${++at.releaseMarkerCounter}`;if(!(yield*Fr(n,f,a)))return!1;let h=yield*ki(f,a);if(h===void 0||!Br(Ss(h.trim()),o,s))return yield*Wr(n,f,a),!1;if(yield*Ho(n,f,h,a),yield*Lu(n,f,a))xn(n,a,(_)=>_===h);return!1}function*Lu(n,o,s){if((yield*Oe({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*Au(n,o,s,{sweep:a=!0,reclaimed:c}={}){let p=s.fileSystem??Ii;try{yield{op:"mkdir",path:Zo(n)},p.mkdir(Zo(n))}catch(f){if(f.code==="EEXIST")return e.debug(`Lock parent already occupied at ${Zo(n)}: ${r(f)}`,f),{acquired:!1,generation:void 0,swept:!1};throw u(f,`Failed to create exclusive lock file at ${n}`)}if(a)yield*Vo(n,s);try{let f=hn(s.ownerGeneration,o),h=Pg(o,s.ownerToken,s.metadata,f);yield*Iu(n,o,p),gu(n,h,p,s.publications);let _=!1,y=yield*zo(n,h,o,{fileSystem:p,idGenerator:s.idGenerator,postPublish:function*(C){if(_=yield*Jo(n,s,f,{reclaimed:c,publishedContent:h,tmp:C}),_)yield*Yo(n,h,p,C)}});if(!(typeof y==="string"?y==="created":yield*Su(n,h,p)))return{acquired:!1,generation:f,swept:a};if(typeof y!=="string"){if(_=yield*Jo(n,s,f,{reclaimed:c,publishedContent:h}),_)yield*Yo(n,h,p,n)}return{acquired:_,generation:f,swept:a,blocked:!_}}catch(f){throw u(f,`Failed to create exclusive lock file at ${n}`)}}var sm=L.next(),am=100,dm=60000;class Wu{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??am),this.timeoutMs=o.timeoutMs??dm,this.isProcessRunning=o.isProcessRunning,this.ownerGeneration=o.ownerGeneration,this.pid=o.pid??process.pid,this.ownerToken=o.ownerToken??sm}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(){vi(this.lockFilePath,this.pid,this.ownerToken)}tryAcquire(){return _i(this.lockFilePath,{pid:this.pid,isProcessRunning:this.isProcessRunning,ownerGeneration:this.ownerGeneration,reclaimOwnPid:!0,ownerToken:this.ownerToken})}}function um(n){let o=n;try{o=rm(n)?Bu(n):om(Bu(nm(n)),im(n))}catch(s){e.debug(`Migration lock realpath unavailable: ${r(s)}`)}return`${o}.migrate.lock`}var cm=":memory:";function Ik(n){return n===cm}var Mu=g.ALLOW_IN_MEMORY_DB.name;function qu(n=process.env){return $e(g.ALLOW_IN_MEMORY_DB,n)}function Wz(n){return Ik(n)?new bi:mm(n)}function lm(n=process.env){return Ym(g.MIGRATION_LOCK_TIMEOUT_MS.name,g.MIGRATION_LOCK_TIMEOUT_MS.legacyName,{env:n})}function mm(n){let o=um(n),s=lm();return e.debug(`Migration lock keyed to ${o}`),new Wu(o,{timeoutMs:s,ownerGeneration:Nt})}class ts extends t{}import*as Pi from"path";import*as dc from"os";import*as Rn from"fs";import{existsSync as Hh,promises as Yh}from"fs";import*as Ur from"path";import{fileURLToPath as Xh}from"url";function Fu(n){return n}async function pm(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 fm(n){await n.schema.dropTable("device_configs").execute()}async function hm(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 _m(n){await n.schema.dropTable("performance_audit_results").execute(),await n.schema.dropTable("performance_thresholds").execute()}async function ym(n){await xm(n),await Nm(n),await gm(n),await wm(n),await vm(n),await bm(n),await Cm(n),await Em(n)}async function xm(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 Nm(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 gm(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 wm(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 vm(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 bm(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 Cm(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 Em(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 Tm(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 km(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 Sm(n){await n.schema.dropTable("accessibility_baselines").execute()}async function Dm(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 Om(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 Rm(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 Im(n){await n.schema.dropTable("recomposition_metrics").execute()}async function Pm(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 Lm(n){await n.schema.dropTable("prediction_transition_stats").execute(),await n.schema.dropTable("prediction_outcomes").execute()}async function Am(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 Bm(n){await n.schema.dropTable("feature_flags").execute()}async function Wm(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 Mm(n){await n.schema.dropTable("test_executions").execute()}async function qm(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 Fm(n){await n.schema.dropTable("tool_calls").execute()}async function Km(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 $m(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`
|
|
11
|
-
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
12
|
-
`.execute(n)).rows.length>0}async function Xm(n){if(!await Hm(n,"video_recordings","highlights_json"))await n.schema.alterTable("video_recordings").addColumn("highlights_json","text").execute()}async function Zm(n){await n.schema.alterTable("video_recordings").dropColumn("highlights_json").execute()}async function ep(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 tp(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 rp(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(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function ip(n){await n.schema.dropTable("appearance_configs").execute()}async function np(n,o,s){return(await m`
|
|
13
|
-
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
14
|
-
`.execute(n)).rows.length>0}async function op(n){if(!await np(n,"navigation_nodes","screenshot_path"))await n.schema.alterTable("navigation_nodes").addColumn("screenshot_path","text").execute()}async function sp(n){await n.schema.alterTable("navigation_nodes").dropColumn("screenshot_path").execute()}async function gs(n,o,s){return(await m`
|
|
15
|
-
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
16
|
-
`.execute(n)).rows.length>0}async function Ku(n,o){return(await m`
|
|
17
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
18
|
-
`.execute(n)).rows.length>0}async function ap(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 Ku(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(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_execution_steps_execution").ifNotExists().on("test_execution_steps").column("execution_id").execute();if(!await Ku(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(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_execution_screens_execution").ifNotExists().on("test_execution_screens").column("execution_id").execute()}async function dp(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 m`
|
|
19
|
-
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
20
|
-
`.execute(n)).rows.length>0}async function $u(n,o){return(await m`
|
|
21
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
22
|
-
`.execute(n)).rows.length>0}async function cp(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 $u(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(m`(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 $u(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(m`(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 lp(n){await n.schema.dropTable("anrs").ifExists().execute(),await n.schema.dropTable("crashes").ifExists().execute()}async function Di(n,o){return(await m`
|
|
23
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
24
|
-
`.execute(n)).rows.length>0}async function mp(n){await pp(n),await fp(n),await hp(n),await _p(n),await yp(n)}async function pp(n){if(!await Di(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(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(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 fp(n){if(!await Di(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(m`(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 hp(n){if(!await Di(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(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_occurrence_screens_occurrence").ifNotExists().on("failure_occurrence_screens").column("occurrence_id").execute()}async function _p(n){if(!await Di(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(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_captures_occurrence").ifNotExists().on("failure_captures").column("occurrence_id").execute()}async function yp(n){if(!await Di(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(m`(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 xp(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 Np(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(m`(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(m`(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 gp(n){await n.schema.dropTable("navigation_suggestions").execute(),await n.schema.dropTable("navigation_node_fingerprints").execute()}async function wp(n,o,s){return(await m`
|
|
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 wp(n,o,s))return;await n.schema.alterTable(o).addColumn(s,a).execute()}async function vp(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 bp(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(m`(datetime('now'))`)).execute(),await m`
|
|
27
|
-
INSERT INTO performance_audit_results_backup
|
|
28
|
-
SELECT id, device_id, session_id, package_name, timestamp, passed,
|
|
29
|
-
p50_ms, p90_ms, p95_ms, p99_ms, jank_count, missed_vsync_count,
|
|
30
|
-
slow_ui_thread_count, frame_deadline_missed_count, cpu_usage_percent,
|
|
31
|
-
touch_latency_ms, diagnostics_json, created_at
|
|
32
|
-
FROM performance_audit_results
|
|
33
|
-
`.execute(n),await n.schema.dropTable("performance_audit_results").execute(),await m`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 m`
|
|
34
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
35
|
-
`.execute(n)).rows.length>0}async function Cp(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(m`(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(m`(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(m`(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(m`(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 Ep(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 Tp(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(m`(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 kp(n){await n.schema.dropTable("navigation_events").ifExists().execute()}async function Sp(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(m`(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 Dp(n){await n.schema.dropTable("storage_events").ifExists().execute()}async function Op(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(m`(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 Rp(n){await n.schema.dropTable("layout_events").ifExists().execute()}async function Ip(n,o,s){return(await m`
|
|
36
|
-
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
37
|
-
`.execute(n)).rows.length>0}async function Pp(n){if(!await Ip(n,"storage_events","previous_value"))await n.schema.alterTable("storage_events").addColumn("previous_value","text").execute()}async function Lp(n){await n.schema.alterTable("storage_events").dropColumn("previous_value").execute()}async function Ap(n,o,s){return(await m`
|
|
38
|
-
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
39
|
-
`.execute(n)).rows.length>0}async function Bp(n){if(!await Ap(n,"layout_events","screen_name"))await n.schema.alterTable("layout_events").addColumn("screen_name","text").execute()}async function Wp(n){await n.schema.alterTable("layout_events").dropColumn("screen_name").execute()}async function Mp(n,o,s){return(await m`
|
|
40
|
-
SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
|
|
41
|
-
`.execute(n)).rows.length>0}async function qp(n){let o=["request_headers_json","response_headers_json","request_body","response_body","content_type"];for(let s of o)if(!await Mp(n,"network_events",s))await n.schema.alterTable("network_events").addColumn(s,"text").execute()}async function Fp(n){}async function Kp(n){await n.schema.dropTable("custom_events").ifExists().execute()}async function $p(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(m`(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 Gp(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(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(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 Up(n){await n.schema.dropTable("device_sessions").execute()}async function Vp(n){await n.transaction().execute(async(o)=>{await m`
|
|
42
|
-
UPDATE failure_occurrences
|
|
43
|
-
SET group_id = (
|
|
44
|
-
SELECT k.id FROM failure_groups k
|
|
45
|
-
WHERE k.signature = (
|
|
46
|
-
SELECT g.signature FROM failure_groups g WHERE g.id = failure_occurrences.group_id
|
|
47
|
-
)
|
|
48
|
-
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
49
|
-
LIMIT 1
|
|
50
|
-
)
|
|
51
|
-
WHERE group_id IN (
|
|
52
|
-
SELECT g.id FROM failure_groups g
|
|
53
|
-
WHERE g.id <> (
|
|
54
|
-
SELECT k.id FROM failure_groups k
|
|
55
|
-
WHERE k.signature = g.signature
|
|
56
|
-
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
57
|
-
LIMIT 1
|
|
58
|
-
)
|
|
59
|
-
)
|
|
60
|
-
`.execute(o),await m`
|
|
61
|
-
UPDATE failure_notifications
|
|
62
|
-
SET group_id = (
|
|
63
|
-
SELECT k.id FROM failure_groups k
|
|
64
|
-
WHERE k.signature = (
|
|
65
|
-
SELECT g.signature FROM failure_groups g WHERE g.id = failure_notifications.group_id
|
|
66
|
-
)
|
|
67
|
-
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
68
|
-
LIMIT 1
|
|
69
|
-
)
|
|
70
|
-
WHERE group_id IN (
|
|
71
|
-
SELECT g.id FROM failure_groups g
|
|
72
|
-
WHERE g.id <> (
|
|
73
|
-
SELECT k.id FROM failure_groups k
|
|
74
|
-
WHERE k.signature = g.signature
|
|
75
|
-
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
76
|
-
LIMIT 1
|
|
77
|
-
)
|
|
78
|
-
)
|
|
79
|
-
`.execute(o),await m`
|
|
80
|
-
UPDATE failure_groups
|
|
81
|
-
SET
|
|
82
|
-
total_count = (
|
|
83
|
-
SELECT COALESCE(SUM(g2.total_count), 0)
|
|
84
|
-
FROM failure_groups g2
|
|
85
|
-
WHERE g2.signature = failure_groups.signature
|
|
86
|
-
),
|
|
87
|
-
last_occurrence = (
|
|
88
|
-
SELECT MAX(g2.last_occurrence)
|
|
89
|
-
FROM failure_groups g2
|
|
90
|
-
WHERE g2.signature = failure_groups.signature
|
|
91
|
-
),
|
|
92
|
-
unique_sessions = (
|
|
93
|
-
SELECT COUNT(DISTINCT o.session_id)
|
|
94
|
-
FROM failure_occurrences o
|
|
95
|
-
WHERE o.group_id = failure_groups.id
|
|
96
|
-
)
|
|
97
|
-
WHERE
|
|
98
|
-
(SELECT COUNT(*) FROM failure_groups d WHERE d.signature = failure_groups.signature) > 1
|
|
99
|
-
AND id = (
|
|
100
|
-
SELECT k.id FROM failure_groups k
|
|
101
|
-
WHERE k.signature = failure_groups.signature
|
|
102
|
-
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
103
|
-
LIMIT 1
|
|
104
|
-
)
|
|
105
|
-
`.execute(o),await m`
|
|
106
|
-
DELETE FROM failure_groups
|
|
107
|
-
WHERE id <> (
|
|
108
|
-
SELECT k.id FROM failure_groups k
|
|
109
|
-
WHERE k.signature = failure_groups.signature
|
|
110
|
-
ORDER BY k.first_occurrence ASC, k.id ASC
|
|
111
|
-
LIMIT 1
|
|
112
|
-
)
|
|
113
|
-
`.execute(o),await m`DROP INDEX IF EXISTS idx_failure_groups_signature`.execute(o),await m`
|
|
114
|
-
CREATE UNIQUE INDEX IF NOT EXISTS idx_failure_groups_signature
|
|
115
|
-
ON failure_groups (signature)
|
|
116
|
-
`.execute(o),await m`
|
|
117
|
-
CREATE INDEX IF NOT EXISTS idx_failure_occurrences_group_session
|
|
118
|
-
ON failure_occurrences (group_id, session_id)
|
|
119
|
-
`.execute(o)})}async function Qp(n){await n.transaction().execute(async(o)=>{await m`DROP INDEX IF EXISTS idx_failure_occurrences_group_session`.execute(o),await m`DROP INDEX IF EXISTS idx_failure_groups_signature`.execute(o),await m`
|
|
120
|
-
CREATE INDEX IF NOT EXISTS idx_failure_groups_signature
|
|
121
|
-
ON failure_groups (signature)
|
|
122
|
-
`.execute(o)})}var Gr=["network_events","log_events","os_events","navigation_events","storage_events","layout_events"];async function zp(n,o){return(await m`
|
|
123
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
124
|
-
`.execute(n)).rows.length>0}async function Jp(n){for(let o of Gr){if(!await zp(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 Gr)await n.schema.dropIndex(`idx_${o}_device_timestamp`).ifExists().execute()}async function Hp(n,o){return(await m`
|
|
125
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
|
|
126
|
-
`.execute(n)).rows.length>0}async function Yp(n){for(let o of Gr)await n.schema.dropIndex(`idx_${o}_device`).ifExists().execute()}async function Xp(n){for(let o of Gr){if(!await Hp(n,o))continue;await n.schema.createIndex(`idx_${o}_device`).ifNotExists().on(o).column("device_id").execute()}}var Oi={"'datetime(''now'')'":{corrected:"(datetime('now'))",poisonedValue:"datetime('now')"},"'CURRENT_TIMESTAMP'":{corrected:"CURRENT_TIMESTAMP",poisonedValue:"CURRENT_TIMESTAMP"}};async function Zp(n){let o=await ef(n);if(o.length===0)return;await m`PRAGMA foreign_keys = OFF`.execute(n);try{await n.transaction().execute(async(s)=>{await tf(s,o)})}finally{await m`PRAGMA foreign_keys = ON`.execute(n)}}async function ef(n){let o=await m`
|
|
127
|
-
SELECT name FROM sqlite_master
|
|
128
|
-
WHERE type = 'table' AND name NOT LIKE 'sqlite_%'
|
|
129
|
-
`.execute(n),s=[];for(let{name:a}of o.rows)if((await m`
|
|
130
|
-
SELECT dflt_value FROM pragma_table_info(${m.lit(a)})
|
|
131
|
-
`.execute(n)).rows.some((p)=>p.dflt_value!==null&&(p.dflt_value in Oi)))s.push(a);return s}async function tf(n,o){for(let s of o){let c=(await m`
|
|
132
|
-
SELECT name, dflt_value FROM pragma_table_info(${m.lit(s)})
|
|
133
|
-
`.execute(n)).rows.filter((p)=>p.dflt_value!==null&&(p.dflt_value in Oi));if(c.length===0)continue;await rf(n,s);for(let p of c){let{poisonedValue:f}=Oi[p.dflt_value];await m`
|
|
134
|
-
UPDATE ${m.ref(s)}
|
|
135
|
-
SET ${m.ref(p.name)} = datetime('now')
|
|
136
|
-
WHERE ${m.ref(p.name)} = ${f}
|
|
137
|
-
`.execute(n)}}}async function rf(n,o){let a=(await m`
|
|
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}`,p=of(a,o,c);for(let _ of Object.keys(Oi))p=p.split(_).join(Oi[_].corrected);let f=await m`
|
|
140
|
-
SELECT sql FROM sqlite_master
|
|
141
|
-
WHERE tbl_name = ${o} AND type IN ('index', 'trigger') AND sql IS NOT NULL
|
|
142
|
-
`.execute(n),h=await nf(n,o);await m.raw(p).execute(n),await m`INSERT INTO ${m.ref(c)} SELECT * FROM ${m.ref(o)}`.execute(n),await m`DROP TABLE ${m.ref(o)}`.execute(n),await m`ALTER TABLE ${m.ref(c)} RENAME TO ${m.ref(o)}`.execute(n);for(let{sql:_}of f.rows)if(_)await m.raw(_).execute(n);if(h!==void 0)await m`DELETE FROM sqlite_sequence WHERE name = ${o}`.execute(n),await m`INSERT INTO sqlite_sequence (name, seq) VALUES (${o}, ${h})`.execute(n)}async function nf(n,o){if((await m`
|
|
143
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'sqlite_sequence'
|
|
144
|
-
`.execute(n)).rows.length===0)return;return(await m`
|
|
145
|
-
SELECT seq FROM sqlite_sequence WHERE name = ${o}
|
|
146
|
-
`.execute(n)).rows[0]?.seq}function of(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,p,f)=>(p??f)===o?`${c}"${s}"`:a)}async function sf(){}async function af(n){await n.schema.createIndex("idx_storage_events_key_lookup").ifNotExists().on("storage_events").columns(["device_id","file_name","key","timestamp"]).execute()}async function df(n){await n.schema.dropIndex("idx_storage_events_key_lookup").ifExists().execute()}var uf=["device_configs","navigation_apps","prediction_transition_stats","accessibility_baselines","feature_flags","video_recording_configs","device_snapshot_configs","appearance_configs"],cf="(datetime('now'))";async function lf(n){let o=[];for(let s of uf)if(await mf(n,s))o.push(s);if(o.length===0)return;await m`PRAGMA foreign_keys = OFF`.execute(n);try{await n.transaction().execute(async(s)=>{for(let a of o)await pf(s,a)})}finally{await m`PRAGMA foreign_keys = ON`.execute(n)}}async function mf(n,o){let a=(await m`
|
|
147
|
-
SELECT name, dflt_value FROM pragma_table_info(${m.lit(o)})
|
|
148
|
-
`.execute(n)).rows.find((c)=>c.name==="updated_at");return a!==void 0&&a.dflt_value===null}async function pf(n,o){let a=(await m`
|
|
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}`,p=hf(_f(a,o,c)),f=await m`
|
|
151
|
-
SELECT sql FROM sqlite_master
|
|
152
|
-
WHERE tbl_name = ${o} AND type IN ('index', 'trigger') AND sql IS NOT NULL
|
|
153
|
-
`.execute(n),h=await ff(n,o);await m.raw(p).execute(n),await m`INSERT INTO ${m.ref(c)} SELECT * FROM ${m.ref(o)}`.execute(n),await m`DROP TABLE ${m.ref(o)}`.execute(n),await m`ALTER TABLE ${m.ref(c)} RENAME TO ${m.ref(o)}`.execute(n);for(let{sql:_}of f.rows)if(_)await m.raw(_).execute(n);if(h!==void 0)await m`DELETE FROM sqlite_sequence WHERE name = ${o}`.execute(n),await m`INSERT INTO sqlite_sequence (name, seq) VALUES (${o}, ${h})`.execute(n)}async function ff(n,o){if((await m`
|
|
154
|
-
SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'sqlite_sequence'
|
|
155
|
-
`.execute(n)).rows.length===0)return;return(await m`
|
|
156
|
-
SELECT seq FROM sqlite_sequence WHERE name = ${o}
|
|
157
|
-
`.execute(n)).rows[0]?.seq}function hf(n){return n.replace(/("updated_at"\s+\w+)(\s+not\s+null)/i,`$1 default ${cf}$2`)}function _f(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,p,f)=>(p??f)===o?`${c}"${s}"`:a)}async function yf(){}async function xf(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(m`(datetime('now'))`)).execute()}async function Nf(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(m`(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 m`
|
|
158
|
-
SELECT name FROM pragma_table_info('video_recordings')
|
|
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 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(m`(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(m`(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(m`(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 m`
|
|
161
|
-
INSERT OR IGNORE INTO navigation_build_keys (app_id, version_code, content_hash)
|
|
162
|
-
SELECT app_id, 0, '' FROM navigation_apps
|
|
163
|
-
`.execute(n),await m`
|
|
164
|
-
INSERT OR IGNORE INTO navigation_node_observations
|
|
165
|
-
(node_id, build_key_id, device_id, session_uuid, first_seen_at, last_seen_at)
|
|
166
|
-
SELECT n.id, bk.id, 'legacy', 'legacy',
|
|
167
|
-
min(n.first_seen_at, n.last_seen_at), max(n.first_seen_at, n.last_seen_at)
|
|
168
|
-
FROM navigation_nodes n
|
|
169
|
-
JOIN navigation_build_keys bk
|
|
170
|
-
ON bk.app_id = n.app_id AND bk.version_code = 0 AND bk.content_hash = ''
|
|
171
|
-
`.execute(n),await m`
|
|
172
|
-
INSERT OR IGNORE INTO navigation_edge_observations
|
|
173
|
-
(edge_id, build_key_id, device_id, session_uuid, first_seen_at, last_seen_at)
|
|
174
|
-
SELECT e.id, bk.id, 'legacy', 'legacy', e.timestamp, e.timestamp
|
|
175
|
-
FROM navigation_edges e
|
|
176
|
-
JOIN navigation_build_keys bk
|
|
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(m`(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(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(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(m`(datetime('now'))`)).addPrimaryKeyConstraint("session_tool_overrides_pk",["session_uuid","tool_name"]).execute(),(await m`
|
|
179
|
-
select name from sqlite_master
|
|
180
|
-
where type = 'table' and name = 'session_tool_capabilities'
|
|
181
|
-
`.execute(n)).rows.length===0)return;let s=await m`
|
|
182
|
-
select session_uuid, capability, enabled, updated_at
|
|
183
|
-
from session_tool_capabilities
|
|
184
|
-
`.execute(n);for(let a of s.rows)for(let c of Of[a.capability]??[])await m`
|
|
185
|
-
insert into session_tool_overrides (
|
|
186
|
-
session_uuid,
|
|
187
|
-
tool_name,
|
|
188
|
-
enabled,
|
|
189
|
-
updated_at
|
|
190
|
-
) values (
|
|
191
|
-
${a.session_uuid},
|
|
192
|
-
${c},
|
|
193
|
-
${a.enabled},
|
|
194
|
-
${a.updated_at}
|
|
195
|
-
)
|
|
196
|
-
on conflict(session_uuid, tool_name) do update set
|
|
197
|
-
enabled = excluded.enabled,
|
|
198
|
-
updated_at = excluded.updated_at
|
|
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(m`(datetime('now'))`)).addPrimaryKeyConstraint("session_tool_capabilities_pk",["session_uuid","capability"]).execute(),await n.schema.dropTable("session_tool_overrides").ifExists().execute()}var Gu=["navigation_node_observations","navigation_edge_observations"];async function Pf(n){for(let o of Gu)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 Gu)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(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function Bf(n){await n.schema.dropTable("device_teardown_operations").execute()}async function Wf(n){if((await m`
|
|
200
|
-
SELECT name FROM pragma_table_info('device_teardown_operations')
|
|
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(m`''`)).execute()}async function Mf(n){await n.schema.alterTable("device_teardown_operations").dropColumn("owner_token").execute()}async function qf(n){await m`
|
|
203
|
-
insert into session_tool_overrides (
|
|
204
|
-
session_uuid,
|
|
205
|
-
tool_name,
|
|
206
|
-
enabled,
|
|
207
|
-
updated_at
|
|
208
|
-
)
|
|
209
|
-
select session_uuid, 'deleteDevice', 0, updated_at
|
|
210
|
-
from session_tool_overrides
|
|
211
|
-
where tool_name = 'provisionDevice'
|
|
212
|
-
on conflict(session_uuid, tool_name) do nothing
|
|
213
|
-
`.execute(n)}async function Ff(n){}async function Kf(n){if((await m`
|
|
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 $f(n){await n.schema.alterTable("installed_apps").dropColumn("profile_type").execute()}async function Gf(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(m`(datetime('now'))`)).execute()}async function Uf(n){await n.schema.dropTable("tool_selection_profile_provenance").ifExists().execute()}async function Vf(n){if((await m`
|
|
216
|
-
SELECT name FROM pragma_table_info('provision_device_operations')
|
|
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 Qf(n){await n.schema.alterTable("provision_device_operations").dropColumn("expires_at_ms").execute()}async function zf(n){if((await m`
|
|
219
|
-
SELECT name FROM pragma_table_info('provision_device_operations')
|
|
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 jf(n){await n.schema.createIndex("idx_device_sessions_released_at_ms").ifNotExists().on("device_sessions").column("released_at_ms").execute()}async function Hf(n){await n.schema.dropIndex("idx_device_sessions_released_at_ms").ifExists().execute()}async function Yf(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 m`
|
|
222
|
-
UPDATE device_snapshots
|
|
223
|
-
SET size_unknown = 1
|
|
224
|
-
WHERE platform = 'android' AND snapshot_type = 'vm'
|
|
225
|
-
`.execute(o)})}async function Xf(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 Zf(n){await n.schema.alterTable("device_sessions").addColumn("stable_device_id","text").execute()}async function eh(n){await n.schema.alterTable("device_sessions").dropColumn("stable_device_id").execute()}async function th(n){await n.transaction().execute(async(o)=>{if((await m`
|
|
226
|
-
SELECT name FROM pragma_table_info('device_sessions')
|
|
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 m`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await m`
|
|
229
|
-
CREATE TRIGGER clear_stale_device_session_identity
|
|
230
|
-
AFTER UPDATE OF device_id ON device_sessions
|
|
231
|
-
WHEN NEW.device_id IS NOT OLD.device_id
|
|
232
|
-
AND NEW.stable_identity_generation = OLD.stable_identity_generation
|
|
233
|
-
BEGIN
|
|
234
|
-
UPDATE device_sessions
|
|
235
|
-
SET stable_device_id = NULL
|
|
236
|
-
WHERE session_uuid = NEW.session_uuid;
|
|
237
|
-
END
|
|
238
|
-
`.execute(o)})}async function rh(n){await n.transaction().execute(async(o)=>{await m`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await o.schema.alterTable("device_sessions").dropColumn("stable_identity_generation").execute()})}async function ih(n){await n.schema.alterTable("device_sessions").addColumn("liveness_owner_token","text").execute()}async function nh(n){await n.schema.alterTable("device_sessions").dropColumn("liveness_owner_token").execute()}async function oh(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 sh(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 ah(n){await n.transaction().execute(async(o)=>{if((await m`
|
|
239
|
-
SELECT name FROM pragma_table_info('device_sessions')
|
|
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 m`DROP TRIGGER IF EXISTS clear_stale_device_session_liveness_contract`.execute(o),await m`
|
|
242
|
-
CREATE TRIGGER clear_stale_device_session_liveness_contract
|
|
243
|
-
AFTER UPDATE OF session_timeout_ms, heartbeat_timeout_ms, has_received_heartbeat ON device_sessions
|
|
244
|
-
WHEN NEW.liveness_contract_generation = OLD.liveness_contract_generation
|
|
245
|
-
BEGIN
|
|
246
|
-
UPDATE device_sessions
|
|
247
|
-
SET heartbeat_timeout_source = NULL,
|
|
248
|
-
liveness_policy = NULL,
|
|
249
|
-
pre_cli_heartbeat_timeout_ms = NULL,
|
|
250
|
-
pre_cli_heartbeat_timeout_source = NULL,
|
|
251
|
-
pre_cli_session_timeout_ms = NULL
|
|
252
|
-
WHERE session_uuid = NEW.session_uuid;
|
|
253
|
-
END
|
|
254
|
-
`.execute(o)})}async function dh(n){await n.transaction().execute(async(o)=>{await m`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 uh(n){await n.transaction().execute(async(o)=>{if((await m`
|
|
255
|
-
SELECT name FROM pragma_table_info('device_sessions')
|
|
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 m`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await m`
|
|
258
|
-
CREATE TRIGGER clear_stale_device_session_identity
|
|
259
|
-
AFTER UPDATE OF device_id, stable_device_id ON device_sessions
|
|
260
|
-
WHEN NEW.stable_identity_generation = OLD.stable_identity_generation
|
|
261
|
-
AND OLD.stable_device_id IS NOT NULL
|
|
262
|
-
BEGIN
|
|
263
|
-
UPDATE device_sessions
|
|
264
|
-
SET stable_device_id = NULL
|
|
265
|
-
WHERE session_uuid = NEW.session_uuid;
|
|
266
|
-
END
|
|
267
|
-
`.execute(o)})}async function ch(n){await n.transaction().execute(async(o)=>{await m`DROP TRIGGER IF EXISTS clear_stale_device_session_identity`.execute(o),await m`
|
|
268
|
-
CREATE TRIGGER clear_stale_device_session_identity
|
|
269
|
-
AFTER UPDATE OF device_id ON device_sessions
|
|
270
|
-
WHEN NEW.device_id IS NOT OLD.device_id
|
|
271
|
-
AND NEW.stable_identity_generation = OLD.stable_identity_generation
|
|
272
|
-
BEGIN
|
|
273
|
-
UPDATE device_sessions
|
|
274
|
-
SET stable_device_id = NULL
|
|
275
|
-
WHERE session_uuid = NEW.session_uuid;
|
|
276
|
-
END
|
|
277
|
-
`.execute(o)})}async function lh(n){if((await m`
|
|
278
|
-
SELECT name FROM pragma_table_info('provision_device_operations')
|
|
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 mh(n){await n.schema.dropTable("provisioned_device_transport_tombstones").ifExists().execute(),await n.schema.alterTable("provision_device_operations").dropColumn("lifecycle_json").execute()}async function ph(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(m`(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 fh(n){await n.schema.dropTable("navigation_suggestion_observations").ifExists().execute()}async function hh(n){for(let o of["recorded_panel_json","display_transitions_json"])if((await m`
|
|
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 _h(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 yh(n){for(let[o,s]of[["request_id","text"],["connection_id","text"],["direction","text"],["metadata_json","text"],["sequence_number","integer"]])if((await m`
|
|
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 xh(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 Nh(n){if((await m`
|
|
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 gh(n){await n.schema.alterTable("device_locks").dropColumn("device_identity").execute()}async function wh(n){await n.schema.createIndex("idx_storage_events_key_lookup_id").ifNotExists().on("storage_events").columns(["device_id","file_name","key"]).execute()}async function vh(n){await n.schema.dropIndex("idx_storage_events_key_lookup_id").ifExists().execute()}async function bh(n){await n.schema.createIndex("idx_test_edge_coverage_edge").ifNotExists().on("test_edge_coverage").column("edge_id").execute()}async function Ch(n){await n.schema.dropIndex("idx_test_edge_coverage_edge").ifExists().execute()}async function Eh(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 Th(n){await n.schema.dropTable("device_resource_applications").ifExists().execute()}async function kh(n){await n.schema.dropTable("provision_device_operations").ifExists().execute()}async function Sh(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(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(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 Dh(n){await n.schema.dropTable("device_teardown_operations").ifExists().execute()}async function Oh(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(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("owner_token","text",(o)=>o.notNull().defaultTo(m`''`)).execute()}async function Rh(n){await m`DELETE FROM feature_flags WHERE key = 'mcp-recording'
|
|
287
|
-
AND EXISTS (SELECT 1 FROM feature_flags WHERE key = 'tool-call-recording')`.execute(n),await m`UPDATE feature_flags SET key = 'tool-call-recording'
|
|
288
|
-
WHERE key = 'mcp-recording'`.execute(n),await m`DELETE FROM session_tool_overrides WHERE tool_name = 'recordSteps'
|
|
289
|
-
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
290
|
-
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
291
|
-
AND destination.tool_name = 'recordToolCalls')`.execute(n),await m`UPDATE session_tool_overrides SET tool_name = 'recordToolCalls'
|
|
292
|
-
WHERE tool_name = 'recordSteps'`.execute(n),await m`DELETE FROM session_tool_overrides WHERE tool_name = 'startTestRecording'
|
|
293
|
-
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
294
|
-
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
295
|
-
AND destination.tool_name = 'recordDeviceGestures')`.execute(n),await m`UPDATE session_tool_overrides SET tool_name = 'recordDeviceGestures'
|
|
296
|
-
WHERE tool_name = 'startTestRecording'`.execute(n)}async function Ih(n){await m`DELETE FROM feature_flags WHERE key = 'tool-call-recording'
|
|
297
|
-
AND EXISTS (SELECT 1 FROM feature_flags WHERE key = 'mcp-recording')`.execute(n),await m`UPDATE feature_flags SET key = 'mcp-recording'
|
|
298
|
-
WHERE key = 'tool-call-recording'`.execute(n),await m`DELETE FROM session_tool_overrides WHERE tool_name = 'recordToolCalls'
|
|
299
|
-
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
300
|
-
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
301
|
-
AND destination.tool_name = 'recordSteps')`.execute(n),await m`UPDATE session_tool_overrides SET tool_name = 'recordSteps'
|
|
302
|
-
WHERE tool_name = 'recordToolCalls'`.execute(n),await m`DELETE FROM session_tool_overrides WHERE tool_name = 'recordDeviceGestures'
|
|
303
|
-
AND EXISTS (SELECT 1 FROM session_tool_overrides AS destination
|
|
304
|
-
WHERE destination.session_uuid = session_tool_overrides.session_uuid
|
|
305
|
-
AND destination.tool_name = 'startTestRecording')`.execute(n),await m`UPDATE session_tool_overrides SET tool_name = 'startTestRecording'
|
|
306
|
-
WHERE tool_name = 'recordDeviceGestures'`.execute(n)}async function Ph(n){if((await m`
|
|
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 Lh(n){await n.schema.alterTable("video_recordings").dropColumn("capture_teardown_json").execute()}async function Ah(n){if((await m`
|
|
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 Bh(n){await n.schema.alterTable("video_recordings").dropColumn("recorder_daemon_session_id").execute()}async function Wh(n){if((await m`
|
|
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 Mh(n){await n.schema.alterTable("device_sessions").dropColumn("activity_seq").execute()}async function qh(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 Fh(n){await n.schema.dropTable("prototype_test_session_steps").ifExists().execute(),await n.schema.dropTable("prototype_test_sessions").ifExists().execute()}async function Kh(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 $h(n){await n.schema.dropTable("mcp_tasks").ifExists().execute()}var Uu=[["has_audio_track","integer"],["warnings_json","text"]];async function Gh(n){let o=await m`
|
|
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 Uu)if(!s.has(a))await n.schema.alterTable("video_recordings").addColumn(a,c).execute()}async function Uh(n){for(let[o]of Uu)await n.schema.alterTable("video_recordings").dropColumn(o).execute()}async function Vh(n){await m`UPDATE feature_flags SET enabled = 1
|
|
315
|
-
WHERE key = 'tool-call-recording' AND enabled = 0`.execute(n)}async function Qh(n){await m`UPDATE feature_flags SET enabled = 0
|
|
316
|
-
WHERE key = 'tool-call-recording' AND enabled = 1`.execute(n)}var Vu=["git_branch","git_sha"];async function zh(n){let o=await m`
|
|
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 Vu)if(!s.has(a))await n.schema.alterTable("navigation_build_keys").addColumn(a,"text").execute()}async function Jh(n){for(let o of Vu)await n.schema.alterTable("navigation_build_keys").dropColumn(o).execute()}var jh={"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":Cs,"2026_01_29_000_named_nodes":Es,"2026_01_30_000_performance_live_metrics":Ts,"2026_03_15_000_telemetry_events":ks,"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":Gs,"2026_07_24_000_device_locks":Us,"2026_07_27_000_session_tool_capabilities":Vs,"2026_07_31_000_video_recordings_owner_session":Qs,"2026_08_02_000_navigation_provenance":zs,"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":ma,"2026_09_17_001_device_session_identity_fence_same_serial":pa,"2026_09_20_000_provision_device_lifecycle_outcome":fa,"2026_09_29_000_navigation_suggestion_provenance":ha,"2026_09_30_000_video_recording_display":_a,"2026_09_30_001_network_capture_fields":ya,"2026_10_05_000_device_locks_device_identity":xa,"2026_10_05_001_storage_events_key_lookup_insertion_order":Na,"2026_10_05_002_test_edge_coverage_edge_id_index":ga,"2026_10_09_000_device_resource_applications":wa,"2026_10_09_001_drop_provision_device_operations":va,"2026_10_09_002_drop_device_teardown_operations":ba,"2026_10_12_000_rename_recording_tool_names":Ca,"2026_10_12_001_video_recording_capture_teardown":Ea,"2026_10_13_000_video_recording_recorder_daemon":Ta,"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},Qu={getMigrations:async()=>({...jh})};var Zh=new Set(["0","false","no","off"]),e_=`${oe}_lock`;function t_(n=process.env){let o=E(g.MIGRATIONS_DIR,n);if(o)return Ae(o,n);let s=Ur.dirname(Xh(import.meta.url)),a=[Ur.join(s,"migrations"),Ur.join(s,"db","migrations")];for(let c of a)if(Hh(c))return c;throw Error(`Migrations folder not found. Checked: ${a.join(", ")}`)}function ju(n){return E(g.MIGRATION_RECOVERY,n)?.trim()}function zu(n){let o=ju(n);if(!o)return!0;return!Zh.has(o.toLowerCase())}function r_(n){return ju(n)==="1"}function Ju(n){return n instanceof Error&&n.message.includes("corrupted migrations")}async function La(n,o){return await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","=",o).executeTakeFirst()!==void 0}async function Hu(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 i_(n,o,s=i){if(!await La(n,oe))return{pruned:[],kept:[]};let c=await o.getMigrations(),p=new Set(c.map((x)=>x.name)),f=await n.selectFrom(oe).select(["name","timestamp"]).execute(),h=f.filter((x)=>!p.has(x.name)).map((x)=>x.name),_=new Set(f.filter((x)=>p.has(x.name)).map((x)=>x.name)),y=c.map((x)=>x.name).filter((x)=>_.has(x));return await Hu(n),await n.transaction().execute(async(x)=>{if(await x.deleteFrom(oe).execute(),y.length>0){let C=s.now();await x.insertInto(oe).values(y.map((Q,re)=>({name:Q,timestamp:new Date(C+re).toISOString()}))).execute()}}),{pruned:h,kept:y}}function n_(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 o_(n,o){if(!await La(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 n_(s,c)}async function s_(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 a_(n,o,s=s_){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 d_(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 u_(n){if(!await La(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 c_(n,o){await Hu(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 l_(n,o,s,a){let p=(await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","not like","sqlite_%").execute()).map((_)=>String(_.name)),f=p.filter((_)=>_!==oe&&_!==e_),h=await a_(n,f);if(h&&a)await c_(n,a);if(h&&!r_(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(h){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 d_(n,p)}async function Pa(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 m_(n,o,s,a){let{env:c}=a;if(Ju(s)&&zu(c)){if(await o_(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 p_(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(Ju(s)&&!zu(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 p_(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 u_(n),f=await i_(n,o);if(f.pruned.length>0)e.warn(`Pruned missing migrations from history (destructive): ${f.pruned.join(", ")}`);else e.warn("Rebuilt migration history table to match existing migrations (destructive).");let h=await Pa(o);if(!h.error)return h;return e.warn("Migration recovery failed after rebuild. Resetting database state (destructive)."),await l_(n,a,c,p),h=await Pa(o),h}async function Yu(n,o={}){let s=o.env??process.env,a=o.lock??new bi;await a.acquire();try{let c=new ND({db:n,provider:o.provider??(E(g.MIGRATIONS_DIR,s)?new Po({fs:Yh,path:Ur,migrationFolder:t_(s)}):Qu)}),{error:p}=await Pa(c);if(p){await m_(Fu(n),c,p,{...o,env:s});return}e.info("All migrations completed successfully")}finally{await a.release()}}var f_=/\.(?:test|spec)\.[cm]?[jt]sx?$/;function zz(){return globalThis.Bun?.main??process.argv[1]}function jz(n,o){return E(K.NODE_ENV,n)==="test"&&o!==void 0&&f_.test(o)}var h_=[/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){try{return String(n??"")}catch(o){return e.debug(`Could not stringify error-like value for classification: ${o}`),""}}function W3(n){let o=n instanceof Error?n.message:__(n),s=n?.code,a=typeof s==="string"?`${s} ${o}`:o;for(let c of h_)if(c.test(a))return"transient";return"permanent"}var y_=["SQLITE_BUSY","SQLITE_LOCKED"],x_="SQLITE_CONSTRAINT";function $a(n){let o=N_(n);if(o!==void 0){if(y_.some((s)=>o.startsWith(s)))return"retryable";if(o.startsWith(x_))return"constraint";return"fatal"}return W3(n)==="transient"?"retryable":"fatal"}function N_(n){let o=Xu(n);if(o!==void 0)return o;let s=n?.cause;return Xu(s)}function Xu(n){let o=n?.code;return typeof o==="string"?o:void 0}class Zu{next(){let n=new Uint32Array(1);return crypto.getRandomValues(n),n[0]/4294967296}pick(n){return g_(()=>this.next(),n)}}var hl=new Zu,g_=(n,o)=>{if(o.length===0)throw Error("Random.pick cannot pick from an empty array");return o[Math.floor(n()*o.length)]};var w_=200,v_=3,Tn=5000,b_=te({initialDelayMs:5,multiplier:2,maxDelayMs:50}),kn=300000,ec="begin immediate";class Sn{#e;#t;#r=null;#i=null;#o=0;#a=[];#n=0;#s=new Map;#u=null;#c=null;#d=!1;#l;#p;#m;#x;#N;#f=null;constructor(n,o,s,a){this.#e=n,this.#r=typeof n==="function"?null:n,this.#t=o,this.#l=Math.max(1,s?.maxAttempts??v_),this.#p=s?.backoff??b_,this.#m=s?.timer??i,this.#x=s?.totalWaitMs??Tn,this.#N=s?.random??hl,this.#g(a)}#g(n){if(n&&n>0)this.#f=this.#m.setInterval(()=>this.#v(),n),this.#f.unref?.()}#v(){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.#A(),this.#i===n)throw new t("Nested transactions are not supported by BunSqliteDialect");await this.#k("txn",n);try{await this.#w(ln.raw(ec),n,!0)}catch(o){throw this.#i=null,this.#y(),o}}async commitTransaction(n){try{await this.executeQuery(ln.raw("commit"),n)}finally{this.#T(n)}}async rollbackTransaction(n){try{await this.executeQuery(ln.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.#B(o);let{sql:a,parameters:c}=n,p=this.#m.now()+this.#x;try{for(let f=1;;f++)try{return await this.#h(a,c)}catch(h){let _=this.#b(h,f,a,{isBegin:s,retryDeadlineMs:p});await this.#m.sleep(_)}}finally{this.#o-=1,this.#y()}}#b(n,o,s,{isBegin:a,retryDeadlineMs:c}){if(!this.#C(n,o,a,c))throw n;let p=this.#E(o),f=`SQLite busy/locked (attempt ${o}/${this.#l}); retrying in ${p}ms: ${s}`;if(o===1)e.warn(f);else e.debug(f);return p}#C(n,o,s,a){if(o>=this.#l)return!1;if(this.#d)return!1;if(this.#i!==null&&!s)return!1;if(this.#m.now()>=a)return!1;return $a(n)==="retryable"}#E(n){let o=this.#p.delayForAttempt(n);return Math.floor(this.#N.next()*(o+1))}async#h(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.#D(),a=this.#I(n),c=a?s.prepare(n):this.#O(s,n),p=n.trim().toLowerCase(),f=p.startsWith("select"),h=/\breturning\b/.test(p);return this.#S(c,o,{isSelect:f,hasReturning:h,schemaChanging:a})}catch(s){let a=JSON.stringify(o,(c,p)=>typeof p==="bigint"?p.toString():p);throw Error(`Query failed: ${s}
|
|
319
|
-
SQL: ${n}
|
|
320
|
-
Parameters: ${a}`,{cause:s})}}#S(n,o,{isSelect:s,hasReturning:a,schemaChanging:c}){try{if(s||a){let p=n.all(...o),f={rows:p,numAffectedRows:a?BigInt(p.length):void 0};if(c)this.#_();return f}else{let p=n.run(...o),f={rows:[],numAffectedRows:BigInt(p.changes),insertId:p.lastInsertRowid!==void 0?BigInt(p.lastInsertRowid):void 0};if(c)this.#_();return f}}finally{if(c)n.finalize()}}close(){if(this.#d=!0,this.#f)this.#m.clearInterval(this.#f),this.#f=null;if(this.#_(),this.#c?.finalize(),this.#c=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()}#D(){if(!this.#r)this.#r=typeof this.#e==="function"?this.#e():this.#e;return this.#r}#O(n,o){if(this.#u===null||this.#s.has(o))this.#P(n);let s=this.#s.get(o);if(s)return this.#s.delete(o),this.#s.set(o,s),s;return this.#R(n,o)}#R(n,o){let s=n.prepare(o);if(this.#s.set(o,s),this.#s.size>w_){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}#I(n){return/^(?:create|alter|drop)\b/i.test(n.trim())}#_(){for(let n of this.#s.values())n.finalize();this.#s.clear(),this.#u=null}#P(n){let o=this.#L(n);if(this.#u!==o)this.#_(),this.#u=o}#L(n){this.#c??=n.prepare("PRAGMA schema_version");let o=this.#c.get();if(o?.schema_version===void 0)throw Error("PRAGMA schema_version did not return a schema_version value");return Number(o.schema_version)}#A(){if(this.#d)throw Error("Cannot use a closed database")}async#B(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 Aa{#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 FD{#e;constructor(n){this.#e=n}createDriver(){return new Aa(this.#e)}createQueryCompiler(){return new gi}createAdapter(){return new kk}createIntrospector(n){return new wi(n)}}var nb="AUTOMOBILE_INCOMPLETE_EXTRACTION",LD=75,C_=["kysely"];function tc(n){let o=n?.code;return typeof o==="string"?o:void 0}function rc(n){if(typeof n==="string")return n;let o=n?.message;return typeof o==="string"?o:""}var E_=new Set(["MODULE_NOT_FOUND","ERR_MODULE_NOT_FOUND"]),ic=/Cannot find (?:package|module) ['"]([^'"]+)['"]/i;function T_(n){let o=tc(n);if(o&&E_.has(o))return!0;return ic.test(rc(n))}function Wa(n){let o=ic.exec(rc(n));return o?o[1]:null}function nc(n){if(!T_(n))return!1;let o=Wa(n);return o!==null&&C_.includes(o)}function oc(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 Kz(n){return tc(n)==="AUTOMOBILE_INCOMPLETE_EXTRACTION"}var sc=Symbol("database write drain timeout");class Hre{#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:()=>sc})}catch(s){if(s===sc)return!1;throw s}}}var On=null;function Wt(){if(!On)On=new Hre;return On}function qre(){On=null}var ac=Symbol("bounded promise timeout"),Ma=null,KB=5000,uc=250,k_=Math.ceil(Tn/uc)+1,S_=4194304,D_=16384,O_=67108864,R_="MEMORY";function I_(){return typeof process.versions?.bun==="string"}function P_(){if(!I_())throw Error("bun:sqlite is only available when running under Bun.");if(!Ma){let n=vt("bun:sqlite");Ma=n.Database}return Ma}function L_(n,o=KB){n.exec(`PRAGMA busy_timeout = ${o};`),n.exec("PRAGMA journal_mode = WAL;"),n.exec(`PRAGMA journal_size_limit = ${S_};`),n.exec(`PRAGMA cache_size = -${D_};`),n.exec(`PRAGMA mmap_size = ${O_};`),n.exec(`PRAGMA temp_store = ${R_};`),n.exec("PRAGMA synchronous = NORMAL;"),n.exec("PRAGMA foreign_keys = ON;")}var A_=Pi.join(dc.homedir(),".auto-mobile");function B_(n=process.env,o=A_){let s=E(g.DB_PATH,n);if(s){if(Ik(s)){if(!qu(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 ${Mu}=1 to opt in from a test.`);return s}return Ae(s)}let a=E(g.DB_DIR,n),c=a?Ae(a):o;return Pi.join(c,"auto-mobile.db")}function W_(n){return jz(n,zz())}var M_=[g.DB_PATH.name,g.DB_PATH.legacyName,g.DB_DIR.name,g.DB_DIR.legacyName];function q_(n){return M_.some((o)=>{let s=n[o];return s!==void 0&&s!==""})}function F_(n,o){if(!W_(n))return;if(Ik(o)||q_(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 cc{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 cc;function qa(){if(F.resolvedDbPath===null){let n=B_();F_(process.env,n),F.resolvedDbPath=n}return F.resolvedDbPath}var Xt=null,goe="Database startup migrations failed; refusing to run queries until the daemon restarts.";function K_(n){if(nc(n))return oc(Wa(n),n);let o=r(n);return Error(`${goe} Cause: ${o}`,{cause:n})}async function $_(){if(F.migrationsRun)return;if(F.migrationsPromise)await F.migrationsPromise;if(F.migrationsError)throw F.migrationsError}function G_(n,o){return new Rc({dialect:new FD({database:()=>lc(n),beforeQuery:o,optimizeIntervalMs:kn})})}function lc(n,o=KB){let a=new(P_())(n);return L_(a,o),a}async function U_(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 V_(n){let o=G_(n);try{await Yu(o,{lock:Wz(n),backup:()=>U_(o,n)})}catch(s){throw e.error("Failed to run migrations on database initialization:",s),s}finally{await o.destroy()}}function mc(n){if(!F.migrationsRun&&!F.migrationsPromise){let o=F.migrationsGeneration;F.migrationsPromise=V_(n).then(()=>{if(o!==F.migrationsGeneration)return;F.migrationsRun=!0,F.migrationsError=null},(s)=>{if(o!==F.migrationsGeneration)return;F.migrationsError=K_(s)})}}function Q_(n){if(Ik(n))return;let o=Pi.dirname(n);if(!Rn.existsSync(o))Rn.mkdirSync(o,{recursive:!0})}function z_(n){let o=!1,s=()=>{if(!o)return;if(Re)throw Ri();throw Error("Cannot use a closed database")},a=new FD({database:()=>(s(),lc(n,uc)),beforeQuery:$_,retry:{maxAttempts:k_},optimizeIntervalMs:kn}),c=a.createDriver(),p={createDriver:()=>c,createQueryCompiler:()=>a.createQueryCompiler(),createAdapter:()=>a.createAdapter(),createIntrospector:(x)=>a.createIntrospector(x)},f={dialect:p},h=new Rc(f),_=h.getExecutor();return new Rc({config:f,dialect:p,driver:{init:(x)=>c.init(x),acquireConnection:(x)=>c.acquireConnection(x),beginTransaction:(x,C)=>c.beginTransaction(x,C),commitTransaction:(x)=>c.commitTransaction(x),rollbackTransaction:(x)=>c.rollbackTransaction(x),releaseConnection:(x,C)=>c.releaseConnection(x,C),destroy:async()=>{o=!0,await h.destroy()}},executor:_.withConnectionProvider({provideConnection:async(x,C)=>(s(),_.provideConnection(async(Q)=>(s(),x(Q)),C))})})}function ke(){if(Re)return Re.refusingDb??=new Rc({dialect:Z_}),Re.refusingDb;if(!Xt){let n=qa();Q_(n),Xt=z_(n),mc(n)}return Xt}async function BD(){if(Re)throw Ri();if(F.migrationsRun)return;if(!Xt)ke();if(mc(qa()),await F.migrationsPromise,F.migrationsError)throw F.migrationsError}function z3(){return F.migrationsError}function J_(){F.reset(),qre()}async function j3(n,o=i){return j_(F.migrationsPromise,n,o)}async function j_(n,o,s=i){if(!n)return!0;try{return await l(n.then(()=>!0),{timer:s,timeoutMs:o,label:"Database migration wait",timeoutError:()=>ac})}catch(a){if(a===ac)return!1;throw a}}var H_=5,Re=null;function Ri(){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(!Re)return n;if(Re.refusals+=1,Re.refusals<=H_)e.warn(`[Database] Refused database access #${Re.refusals} after the shutdown close`,n);return n}function K3(){return Re?.refusals??0}var Y_={executeQuery:async()=>{throw Ri()},streamQuery:()=>{throw Ri()}},X_={init:async()=>{},acquireConnection:async()=>Y_,beginTransaction:async()=>{throw Ri()},commitTransaction:async()=>{},rollbackTransaction:async()=>{},releaseConnection:async()=>{},destroy:async()=>{}},Z_={createDriver:()=>X_,createQueryCompiler:()=>new gi,createAdapter:()=>new kk,createIntrospector:(n)=>new wi(n)};async function G3(n={}){if(n.forShutdown)Re??={refusals:0,refusingDb:null};else Re=null;if(Xt)await Xt.destroy(),Xt=null;J_()}function up(){return qa()}function $r(n){return new Date(n.now()).toISOString()}
|
|
321
|
-
export{qz,L,oo,tt,bs,wc,Yt,tb,Wn,Er,Rc,m,ND,kk,ad,Ir,Vz,V3,zB,Ba,wg,Eoe,Rg,Gm,la,Nt,zn,Ym,rb,$s,Pg,Ss,kR,Ii,_i,jB,fl,Ek,vi,Ik,Wz,zz,jz,W3,$a,hl,FD,nb,LD,Kz,Hre,Wt,qre,KB,goe,ke,BD,z3,j3,K3,G3,up,$r};
|
|
322
|
-
|
|
323
|
-
//# debugId=495A2BE8C719922564756E2164756E21
|