@kaeawc/auto-mobile 0.0.92 → 0.0.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/dist/build-info.json +12 -12
  2. package/dist/schemas/test-plan.schema.json +370 -52
  3. package/dist/src/{chunk-jhnbfj19.js → chunk-00167wan.js} +5 -5
  4. package/dist/src/chunk-0jrrsnc9.js +6 -0
  5. package/dist/src/chunk-0n6swkwg.js +5 -0
  6. package/dist/src/chunk-0qsy1qsx.js +57 -0
  7. package/dist/src/chunk-11m8wj8j.js +237 -0
  8. package/dist/src/{chunk-4pfftt07.js → chunk-1p7xf5kb.js} +3 -3
  9. package/dist/src/chunk-23p5f095.js +4 -0
  10. package/dist/src/{chunk-a4k9rt7z.js → chunk-26k317v5.js} +3 -3
  11. package/dist/src/chunk-284ptqa4.js +7 -0
  12. package/dist/src/chunk-28re4xrg.js +4 -0
  13. package/dist/src/chunk-2f9rkmhx.js +5 -0
  14. package/dist/src/chunk-2fxdh48t.js +4 -0
  15. package/dist/src/chunk-2tbdrbt6.js +4 -0
  16. package/dist/src/chunk-2tqzq5qh.js +971 -0
  17. package/dist/src/chunk-32gvv9b4.js +21 -0
  18. package/dist/src/chunk-3f3t1x97.js +8 -0
  19. package/dist/src/chunk-3fspkbc7.js +4 -0
  20. package/dist/src/chunk-3qwrzxh0.js +11 -0
  21. package/dist/src/chunk-3sy6ahhz.js +26 -0
  22. package/dist/src/chunk-3vg455e6.js +4 -0
  23. package/dist/src/chunk-3xkpk44w.js +5 -0
  24. package/dist/src/chunk-3y6eykz9.js +4 -0
  25. package/dist/src/chunk-49bsqdx3.js +4 -0
  26. package/dist/src/chunk-4hw3665t.js +42 -0
  27. package/dist/src/chunk-58wzr3mt.js +5 -0
  28. package/dist/src/chunk-5d2hft6c.js +5 -0
  29. package/dist/src/chunk-5snsn9cf.js +4 -0
  30. package/dist/src/chunk-5tm9mn47.js +54 -0
  31. package/dist/src/chunk-5zc77a5t.js +4 -0
  32. package/dist/src/chunk-64j0majr.js +19 -0
  33. package/dist/src/chunk-65y8v4td.js +17 -0
  34. package/dist/src/chunk-6awz7vhq.js +5 -0
  35. package/dist/src/{chunk-stfzjr9y.js → chunk-6bznss4t.js} +5 -5
  36. package/dist/src/chunk-6ep7f5ge.js +4 -0
  37. package/dist/src/{chunk-0dfnyfkh.js → chunk-6wt9rgjf.js} +3 -3
  38. package/dist/src/chunk-6xmss8er.js +8 -0
  39. package/dist/src/chunk-710rxz9y.js +5 -0
  40. package/dist/src/chunk-7cs2da62.js +5 -0
  41. package/dist/src/chunk-7g103b54.js +4 -0
  42. package/dist/src/chunk-7j5vj4pa.js +4 -0
  43. package/dist/src/chunk-7rz9898k.js +5 -0
  44. package/dist/src/chunk-7tw8x05v.js +4 -0
  45. package/dist/src/chunk-7zy586cb.js +4 -0
  46. package/dist/src/{chunk-r0f1q783.js → chunk-8037tzzj.js} +3 -3
  47. package/dist/src/chunk-84nanf8s.js +5 -0
  48. package/dist/src/{chunk-950qcq1e.js → chunk-8g1922rp.js} +4 -4
  49. package/dist/src/chunk-8gvwcv2p.js +4 -0
  50. package/dist/src/{chunk-sz1a7p43.js → chunk-8ph29g99.js} +1 -1
  51. package/dist/src/chunk-8thrmfat.js +4 -0
  52. package/dist/src/chunk-8zgzzs7k.js +78 -0
  53. package/dist/src/chunk-97b1zmaq.js +4 -0
  54. package/dist/src/chunk-9fth9ayh.js +4 -0
  55. package/dist/src/chunk-9j6anhjr.js +4 -0
  56. package/dist/src/{chunk-w7zsh13a.js → chunk-aabchzxk.js} +4 -4
  57. package/dist/src/{chunk-wry6skrm.js → chunk-ayp07wbb.js} +1 -1
  58. package/dist/src/chunk-bfjwqk8q.js +4 -0
  59. package/dist/src/{chunk-jdqvcq0a.js → chunk-bfw6125s.js} +3 -3
  60. package/dist/src/chunk-bnhscm2n.js +4 -0
  61. package/dist/src/chunk-bxmsax22.js +5 -0
  62. package/dist/src/chunk-c1vs4g1n.js +4 -0
  63. package/dist/src/chunk-ct3e7yng.js +4 -0
  64. package/dist/src/{chunk-8en08r7q.js → chunk-cyy71ggq.js} +3 -3
  65. package/dist/src/chunk-ddzkz92z.js +4 -0
  66. package/dist/src/chunk-dgrbdpb7.js +9 -0
  67. package/dist/src/chunk-drdz8hee.js +5 -0
  68. package/dist/src/chunk-e98dqnc9.js +145 -0
  69. package/dist/src/chunk-eersndy7.js +5 -0
  70. package/dist/src/chunk-eggq53ks.js +4 -0
  71. package/dist/src/chunk-f2dya7cs.js +4 -0
  72. package/dist/src/chunk-fbakd6cw.js +4 -0
  73. package/dist/src/chunk-fgb98zjj.js +5 -0
  74. package/dist/src/chunk-fmpad823.js +5 -0
  75. package/dist/src/{chunk-v90es00d.js → chunk-g04bwyj3.js} +2 -2
  76. package/dist/src/chunk-g0xr8zw0.js +4 -0
  77. package/dist/src/chunk-g3rjs80x.js +4 -0
  78. package/dist/src/chunk-g78rtrfv.js +4 -0
  79. package/dist/src/{chunk-r20pe1nv.js → chunk-g7tmjbkt.js} +3 -3
  80. package/dist/src/chunk-gabgv3y5.js +4 -0
  81. package/dist/src/chunk-gmr45m8f.js +4 -0
  82. package/dist/src/chunk-gsyfebqj.js +4 -0
  83. package/dist/src/chunk-h5rpn9wr.js +247 -0
  84. package/dist/src/chunk-hb1x7v55.js +4 -0
  85. package/dist/src/chunk-hrfytkxh.js +168 -0
  86. package/dist/src/chunk-j4yjzbak.js +4 -0
  87. package/dist/src/chunk-jd6a5v6p.js +5 -0
  88. package/dist/src/chunk-jh6vhqzx.js +5 -0
  89. package/dist/src/chunk-kn5spq15.js +4 -0
  90. package/dist/src/{chunk-w2mwa0jk.js → chunk-m94qs0f0.js} +2 -2
  91. package/dist/src/chunk-mjrps0ac.js +7 -0
  92. package/dist/src/chunk-n03dmn5q.js +5 -0
  93. package/dist/src/chunk-n72qhwd9.js +4 -0
  94. package/dist/src/{chunk-km0dy5vc.js → chunk-ndt1ccxm.js} +9 -9
  95. package/dist/src/chunk-nr6y0n4y.js +5 -0
  96. package/dist/src/chunk-pcsen2vs.js +4 -0
  97. package/dist/src/chunk-ppfr0b8h.js +4 -0
  98. package/dist/src/chunk-q10bdnat.js +4 -0
  99. package/dist/src/chunk-q9xmq595.js +4 -0
  100. package/dist/src/{chunk-2v7tw1nj.js → chunk-qcxzr2my.js} +3 -3
  101. package/dist/src/chunk-qf6nynk6.js +7 -0
  102. package/dist/src/chunk-qyqypn28.js +5 -0
  103. package/dist/src/chunk-r2epb56s.js +4 -0
  104. package/dist/src/chunk-r5bxavdx.js +311 -0
  105. package/dist/src/{chunk-r14wwk37.js → chunk-r6z1eztj.js} +12 -12
  106. package/dist/src/{chunk-d57432wq.js → chunk-r7bpkgff.js} +2 -2
  107. package/dist/src/chunk-r8jf3d92.js +4 -0
  108. package/dist/src/{chunk-9rkfyt6q.js → chunk-rbpdk7m0.js} +3 -3
  109. package/dist/src/chunk-rc0dbypm.js +4 -0
  110. package/dist/src/chunk-rhcty4ms.js +4 -0
  111. package/dist/src/chunk-rpvckv3p.js +4 -0
  112. package/dist/src/{chunk-s1zq65ny.js → chunk-rqc9ap3x.js} +2 -2
  113. package/dist/src/chunk-rvvy1bte.js +7 -0
  114. package/dist/src/chunk-ry0mz41y.js +4 -0
  115. package/dist/src/{chunk-34zxqcmq.js → chunk-s3jc6cwp.js} +3 -3
  116. package/dist/src/chunk-sfv61xjb.js +6 -0
  117. package/dist/src/chunk-t6bfvfkg.js +4 -0
  118. package/dist/src/chunk-t6c8akcm.js +5 -0
  119. package/dist/src/chunk-t7w8rctc.js +4 -0
  120. package/dist/src/chunk-thbh3jew.js +5 -0
  121. package/dist/src/chunk-v2wd4n3e.js +5 -0
  122. package/dist/src/{chunk-zg67wjkh.js → chunk-v6pya0dm.js} +3 -3
  123. package/dist/src/chunk-vy3bwm1d.js +17 -0
  124. package/dist/src/chunk-w3vs79ex.js +27 -0
  125. package/dist/src/chunk-w4zga19f.js +4 -0
  126. package/dist/src/chunk-w5b2jwk3.js +14 -0
  127. package/dist/src/chunk-w7hkv422.js +5 -0
  128. package/dist/src/{chunk-qv2918jt.js → chunk-waqwcjyn.js} +2 -2
  129. package/dist/src/{chunk-b4cxdzwy.js → chunk-wbh8spm5.js} +7 -7
  130. package/dist/src/{chunk-ajsrz473.js → chunk-wyrkw6hw.js} +3 -3
  131. package/dist/src/chunk-xa73x2cx.js +5 -0
  132. package/dist/src/{chunk-eka89q3k.js → chunk-xgan0qqp.js} +1 -1
  133. package/dist/src/chunk-y2vs6jwg.js +4 -0
  134. package/dist/src/chunk-yattm52s.js +4 -0
  135. package/dist/src/{chunk-9y5bcy28.js → chunk-yb97j25b.js} +4 -4
  136. package/dist/src/{chunk-c9nk1r78.js → chunk-ybbtagbt.js} +3 -3
  137. package/dist/src/chunk-ycaj2sgf.js +9 -0
  138. package/dist/src/chunk-yf7ympyz.js +325 -0
  139. package/dist/src/chunk-yjawdzk8.js +4 -0
  140. package/dist/src/chunk-z637nqg8.js +11 -0
  141. package/dist/src/{chunk-0w1spptt.js → chunk-zgja5f3p.js} +4 -4
  142. package/dist/src/chunk-zs1sghs9.js +4 -0
  143. package/dist/src/daemon/processEntry.js +2 -2
  144. package/dist/src/index.js +4 -4
  145. package/dist/src/runtime/bunRuntimeGuard.js +2 -2
  146. package/dist/src/utils/workers/iosBundleExtractWorker.js +2 -2
  147. package/ios/CameraPosterInjection/Injection/CameraPosterInjection.m +466 -0
  148. package/package.json +3 -2
  149. package/schemas/test-plan.schema.json +370 -52
  150. package/dist/src/chunk-09442h7v.js +0 -4
  151. package/dist/src/chunk-0e4gm1kj.js +0 -5
  152. package/dist/src/chunk-0eb8576f.js +0 -4
  153. package/dist/src/chunk-0rjm4nx7.js +0 -5
  154. package/dist/src/chunk-1zmh2eak.js +0 -4
  155. package/dist/src/chunk-28k63ha3.js +0 -5
  156. package/dist/src/chunk-2d4wmp8b.js +0 -4
  157. package/dist/src/chunk-2e6s75qv.js +0 -78
  158. package/dist/src/chunk-32jpxz2y.js +0 -323
  159. package/dist/src/chunk-3jmvqygr.js +0 -238
  160. package/dist/src/chunk-3swvfhqt.js +0 -5
  161. package/dist/src/chunk-44bt78m9.js +0 -5
  162. package/dist/src/chunk-488vt2bp.js +0 -4
  163. package/dist/src/chunk-4fgdhcwx.js +0 -5
  164. package/dist/src/chunk-4jp2se4w.js +0 -4
  165. package/dist/src/chunk-4vhr9e4t.js +0 -4
  166. package/dist/src/chunk-4xd6zs3y.js +0 -15
  167. package/dist/src/chunk-51567pg8.js +0 -4
  168. package/dist/src/chunk-5agqsfev.js +0 -4
  169. package/dist/src/chunk-5d706gmr.js +0 -4
  170. package/dist/src/chunk-5kd4rqk7.js +0 -5
  171. package/dist/src/chunk-61t538bm.js +0 -4
  172. package/dist/src/chunk-6d3mmqxt.js +0 -54
  173. package/dist/src/chunk-6hyt398x.js +0 -5
  174. package/dist/src/chunk-6mnr8kpm.js +0 -4
  175. package/dist/src/chunk-79q5xsdc.js +0 -42
  176. package/dist/src/chunk-7bdgand3.js +0 -4
  177. package/dist/src/chunk-84cp9dw5.js +0 -4
  178. package/dist/src/chunk-86f2h5ww.js +0 -5
  179. package/dist/src/chunk-8cghfzb2.js +0 -19
  180. package/dist/src/chunk-9tf2p9y9.js +0 -5
  181. package/dist/src/chunk-a2sc4jm0.js +0 -5
  182. package/dist/src/chunk-aa5ng3d1.js +0 -4
  183. package/dist/src/chunk-b3h0a6ca.js +0 -4
  184. package/dist/src/chunk-b6a737qt.js +0 -4
  185. package/dist/src/chunk-bn64x5z5.js +0 -5
  186. package/dist/src/chunk-bvh649za.js +0 -12
  187. package/dist/src/chunk-c9tyfg4j.js +0 -26
  188. package/dist/src/chunk-cfsdfqnm.js +0 -4
  189. package/dist/src/chunk-cxyf04jc.js +0 -7
  190. package/dist/src/chunk-da08tx5v.js +0 -4
  191. package/dist/src/chunk-f2tc08m2.js +0 -4
  192. package/dist/src/chunk-f8tnk179.js +0 -5
  193. package/dist/src/chunk-f9s1kkhx.js +0 -5
  194. package/dist/src/chunk-fbp8a4rx.js +0 -4
  195. package/dist/src/chunk-fd2z0sze.js +0 -4
  196. package/dist/src/chunk-fk927f4q.js +0 -54
  197. package/dist/src/chunk-fxmr3a0f.js +0 -4
  198. package/dist/src/chunk-gaqwhd44.js +0 -4
  199. package/dist/src/chunk-ggtd5x5a.js +0 -5
  200. package/dist/src/chunk-gndcfrm7.js +0 -4
  201. package/dist/src/chunk-h3n4adc6.js +0 -310
  202. package/dist/src/chunk-h5pjbb83.js +0 -4
  203. package/dist/src/chunk-hgnnh302.js +0 -4
  204. package/dist/src/chunk-hmke8nhx.js +0 -5
  205. package/dist/src/chunk-j2bx12hn.js +0 -4
  206. package/dist/src/chunk-j70y1a2g.js +0 -4
  207. package/dist/src/chunk-js1jpyxp.js +0 -6
  208. package/dist/src/chunk-kbjq0qvb.js +0 -4
  209. package/dist/src/chunk-kfwx57xd.js +0 -4
  210. package/dist/src/chunk-kzwctna2.js +0 -4
  211. package/dist/src/chunk-m9ehyehy.js +0 -4
  212. package/dist/src/chunk-mct91p1f.js +0 -4
  213. package/dist/src/chunk-mf9spd4g.js +0 -5
  214. package/dist/src/chunk-mgrcansb.js +0 -4
  215. package/dist/src/chunk-mqc1d0eb.js +0 -6
  216. package/dist/src/chunk-n1zmpk0z.js +0 -4
  217. package/dist/src/chunk-ncyjf63g.js +0 -4
  218. package/dist/src/chunk-nr64d21q.js +0 -973
  219. package/dist/src/chunk-nwm2pq5v.js +0 -168
  220. package/dist/src/chunk-pm06b05d.js +0 -9
  221. package/dist/src/chunk-q50s00ry.js +0 -4
  222. package/dist/src/chunk-qwye1958.js +0 -14
  223. package/dist/src/chunk-r8z9pfve.js +0 -5
  224. package/dist/src/chunk-rdpgkjf6.js +0 -4
  225. package/dist/src/chunk-rkr0dks9.js +0 -5
  226. package/dist/src/chunk-rn84t3sf.js +0 -11
  227. package/dist/src/chunk-s123kn7n.js +0 -4
  228. package/dist/src/chunk-s73qn3fx.js +0 -4
  229. package/dist/src/chunk-sjn0nj4p.js +0 -5
  230. package/dist/src/chunk-sns0c35v.js +0 -7
  231. package/dist/src/chunk-t4dr5c8v.js +0 -8
  232. package/dist/src/chunk-tc8k9c1j.js +0 -4
  233. package/dist/src/chunk-teznhase.js +0 -4
  234. package/dist/src/chunk-ty9xgmz4.js +0 -4
  235. package/dist/src/chunk-tyazf3sk.js +0 -145
  236. package/dist/src/chunk-v6npjrjm.js +0 -5
  237. package/dist/src/chunk-vbvtzkwz.js +0 -5
  238. package/dist/src/chunk-vefd8qee.js +0 -8
  239. package/dist/src/chunk-vs9r72ta.js +0 -17
  240. package/dist/src/chunk-w88k0bgr.js +0 -4
  241. package/dist/src/chunk-wzdt0enk.js +0 -4
  242. package/dist/src/chunk-xhhv854c.js +0 -4
  243. package/dist/src/chunk-y58270hd.js +0 -4
  244. package/dist/src/chunk-yk0hmbex.js +0 -4
  245. package/dist/src/chunk-ympy4fdz.js +0 -28
  246. package/dist/src/chunk-yw436axy.js +0 -4
  247. package/dist/src/chunk-z04jrpjy.js +0 -5
  248. package/dist/src/chunk-z2xznczw.js +0 -4
  249. package/dist/src/chunk-z4xnrgps.js +0 -4
  250. package/dist/src/chunk-z7csyszv.js +0 -4
  251. package/dist/src/chunk-z8t0v07j.js +0 -11
  252. package/dist/src/chunk-z916af47.js +0 -228
  253. package/dist/src/chunk-zcr8he8q.js +0 -5
  254. package/dist/src/chunk-zd9vmkzn.js +0 -9
  255. package/dist/src/chunk-zj939v0h.js +0 -5
  256. package/dist/src/chunk-zkdjwtc1.js +0 -4
  257. package/dist/src/chunk-zkv5kzt6.js +0 -4
@@ -0,0 +1,325 @@
1
+ // @bun
2
+ import{mn,i,Li,Se,Q,l,at,e}from"./chunk-z637nqg8.js";import{f,Y,I,Be}from"./chunk-58wzr3mt.js";import{r,t,u}from"./chunk-rbpdk7m0.js";import{ue,wt}from"./chunk-qcxzr2my.js";var rs={};ue(rs,{down:()=>hm,up:()=>fm});var is={};ue(is,{down:()=>ym,up:()=>_m});var ns={};ue(ns,{down:()=>km,up:()=>xm});var os={};ue(os,{down:()=>Dm,up:()=>Sm});var ss={};ue(ss,{down:()=>Rm,up:()=>Om});var as={};ue(as,{down:()=>Pm,up:()=>Im});var ds={};ue(ds,{down:()=>Am,up:()=>Lm});var us={};ue(us,{down:()=>Wm,up:()=>Bm});var cs={};ue(cs,{down:()=>qm,up:()=>Mm});var ls={};ue(ls,{down:()=>Km,up:()=>Fm});var ms={};ue(ms,{down:()=>Gm,up:()=>$m});var ps={};ue(ps,{down:()=>Vm,up:()=>Um});var fs={};ue(fs,{down:()=>zm,up:()=>Qm});var hs={};ue(hs,{down:()=>jm,up:()=>Jm});var _s={};ue(_s,{down:()=>Xm,up:()=>Ym});var ys={};ue(ys,{down:()=>ep,up:()=>Zm});var xs={};ue(xs,{down:()=>rp,up:()=>tp});var Ns={};ue(Ns,{down:()=>op,up:()=>np});var ws={};ue(ws,{down:()=>ap,up:()=>sp});var vs={};ue(vs,{down:()=>up,up:()=>dp});var bs={};ue(bs,{down:()=>_p,up:()=>cp});var Cs={};ue(Cs,{down:()=>xp,up:()=>yp});var Es={};ue(Es,{down:()=>wp,up:()=>gp});var Ss={};ue(Ss,{down:()=>bp,up:()=>vp});var Ds={};ue(Ds,{down:()=>Ep,up:()=>Cp});var Os={};ue(Os,{down:()=>kp,up:()=>Tp});var Rs={};ue(Rs,{down:()=>Op,up:()=>Sp});var Is={};ue(Is,{down:()=>Pp,up:()=>Ip});var Ps={};ue(Ps,{down:()=>Bp,up:()=>Ap});var Ls={};ue(Ls,{down:()=>qp,up:()=>Mp});var As={};ue(As,{down:()=>Kp,up:()=>Fp});var Bs={};ue(Bs,{down:()=>Gp,up:()=>$p});var Ws={};ue(Ws,{down:()=>Vp,up:()=>Up});var Ms={};ue(Ms,{down:()=>Jp,up:()=>zp});var qs={};ue(qs,{down:()=>Yp,up:()=>Hp});var Fs={};ue(Fs,{down:()=>of,up:()=>Xp});var Ks={};ue(Ks,{down:()=>af,up:()=>sf});var $s={};ue($s,{down:()=>_f,up:()=>cf});var Gs={};ue(Gs,{down:()=>xf,up:()=>yf});var Us={};ue(Us,{down:()=>gf,up:()=>Nf});var Vs={};ue(Vs,{down:()=>vf,up:()=>wf});var Qs={};ue(Qs,{down:()=>Ef,up:()=>Cf});var Js={};ue(Js,{down:()=>kf,up:()=>Tf});var js={};ue(js,{down:()=>Of,up:()=>Df});var Hs={};ue(Hs,{down:()=>Pf,up:()=>If});var Ys={};ue(Ys,{down:()=>Af,up:()=>Lf});var Xs={};ue(Xs,{down:()=>Wf,up:()=>Bf});var Zs={};ue(Zs,{down:()=>qf,up:()=>Mf});var ea={};ue(ea,{down:()=>Kf,up:()=>Ff});var ta={};ue(ta,{down:()=>Gf,up:()=>$f});var ra={};ue(ra,{down:()=>Vf,up:()=>Uf});var ia={};ue(ia,{down:()=>zf,up:()=>Qf});var na={};ue(na,{down:()=>jf,up:()=>Jf});var oa={};ue(oa,{down:()=>Yf,up:()=>Hf});var sa={};ue(sa,{down:()=>Zf,up:()=>Xf});var aa={};ue(aa,{down:()=>th,up:()=>eh});var da={};ue(da,{down:()=>ih,up:()=>rh});var ua={};ue(ua,{down:()=>oh,up:()=>nh});var ca={};ue(ca,{down:()=>ah,up:()=>sh});var la={};ue(la,{down:()=>uh,up:()=>dh});var ma={};ue(ma,{down:()=>lh,up:()=>ch});var pa={};ue(pa,{down:()=>ph,up:()=>mh});var fa={};ue(fa,{down:()=>hh,up:()=>fh});var ha={};ue(ha,{down:()=>yh,up:()=>_h});var _a={};ue(_a,{down:()=>Nh,up:()=>xh});var ya={};ue(ya,{down:()=>wh,up:()=>gh});var xa={};ue(xa,{down:()=>bh,up:()=>vh});var Na={};ue(Na,{down:()=>Eh,up:()=>Ch});var ga={};ue(ga,{down:()=>kh,up:()=>Th});var wa={};ue(wa,{down:()=>Dh,up:()=>Sh});var va={};ue(va,{down:()=>Rh,up:()=>Oh});var ba={};ue(ba,{down:()=>Ph,up:()=>Ih});var Ca={};ue(Ca,{down:()=>Ah,up:()=>Lh});var Ea={};ue(Ea,{down:()=>Wh,up:()=>Bh});var Ta={};ue(Ta,{down:()=>qh,up:()=>Mh});var ka={};ue(ka,{down:()=>Kh,up:()=>Fh});var Da={};ue(Da,{down:()=>Gh,up:()=>$h});var Oa={};ue(Oa,{down:()=>Vh,up:()=>Uh});var Ra={};ue(Ra,{down:()=>zh,up:()=>Qh});var Ia={};ue(Ia,{down:()=>jh,up:()=>Jh});var Pa={};ue(Pa,{down:()=>Yh,up:()=>Hh});import{randomUUID as hc}from"crypto";class a2{next(){return hc()}}var B=new a2;function po(n,o,s=B){return`${n}_${o.now()}_${s.next()}`}function ge(n){return typeof n>"u"||n===void 0}function w(n){return typeof n==="string"}function Ct(n){return typeof n==="number"}function qt(n){return typeof n==="boolean"}function Xt(n){return n===null}function $a(n){return n instanceof Date}function Zt(n){return typeof n==="bigint"}function W(n){return typeof n==="function"}function M(n){return typeof n==="object"&&n!==null}function Ga(n){return n[n.length-1]}function d(n){return Object.freeze(n)}function Ur(n){if(se(n))return n;else return[n]}function se(n){return Array.isArray(n)}function X(n){return n}function Ua(n){return n instanceof Error?n.message:String(n)}var E=d({is(n){return n.kind==="AlterTableNode"},create(n){return d({kind:"AlterTableNode",table:n})},cloneWithTableProps(n,o){return d({...n,...o})},cloneWithColumnAlteration(n,o){return d({...n,columnAlterations:n.columnAlterations?[...n.columnAlterations,o]:[o]})}});var ot=d({is(n){return n.kind==="IdentifierNode"},create(n){return d({kind:"IdentifierNode",name:n})}});var Pe=d({is(n){return n.kind==="CreateIndexNode"},create(n){return d({kind:"CreateIndexNode",name:ot.create(n)})},cloneWith(n,o){return d({...n,...o})},cloneWithColumns(n,o){return d({...n,columns:[...n.columns||[],...o]})}});var Ii=d({is(n){return n.kind==="CreateSchemaNode"},create(n,o){return d({kind:"CreateSchemaNode",schema:ot.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var Va=["preserve rows","delete rows","drop"],Z=d({is(n){return n.kind==="CreateTableNode"},create(n){return d({kind:"CreateTableNode",table:n,columns:d([])})},cloneWithColumn(n,o){return d({...n,columns:d([...n.columns,o])})},cloneWithConstraint(n,o){return d({...n,constraints:n.constraints?d([...n.constraints,o]):d([o])})},cloneWithIndex(n,o){return d({...n,indexes:n.indexes?d([...n.indexes,o]):d([o])})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):d([o])})},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):d([o])})},cloneWith(n,o){return d({...n,...o})}});var ae=d({is(n){return n.kind==="SchemableIdentifierNode"},create(n){return d({kind:"SchemableIdentifierNode",identifier:ot.create(n)})},createWithSchema(n,o){return d({kind:"SchemableIdentifierNode",schema:ot.create(n),identifier:ot.create(o)})}});var Et=d({is(n){return n.kind==="DropIndexNode"},create(n,o){return d({kind:"DropIndexNode",name:ae.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var Qr=d({is(n){return n.kind==="DropSchemaNode"},create(n,o){return d({kind:"DropSchemaNode",schema:ot.create(n),...o})},cloneWith(n,o){return d({...n,...o})}});var er=d({is(n){return n.kind==="DropTableNode"},create(n,o){return d({kind:"DropTableNode",table:n,...o})},cloneWith(n,o){return d({...n,...o})}});var Ts=d({is(n){return n.kind==="AliasNode"},create(n,o){return d({kind:"AliasNode",node:n,alias:o})}});var Oc=d({is(n){return n.kind==="TableNode"},create(n){return d({kind:"TableNode",table:ae.create(n)})},createWithSchema(n,o){return d({kind:"TableNode",table:ae.createWithSchema(n,o)})}});function D(n){return M(n)&&W(n.toOperationNode)}function Pi(n){return M(n)&&"expressionType"in n&&D(n)}function Qa(n){return M(n)&&"expression"in n&&w(n.alias)&&D(n)}var Je=d({is(n){return n.kind==="SelectModifierNode"},create(n,o){return d({kind:"SelectModifierNode",modifier:n,of:o})},createWithExpression(n){return d({kind:"SelectModifierNode",rawModifier:n})}});var me=d({is(n){return n.kind==="AndNode"},create(n,o){return d({kind:"AndNode",left:n,right:o})}});var Le=d({is(n){return n.kind==="OrNode"},create(n,o){return d({kind:"OrNode",left:n,right:o})}});var Ai=d({is(n){return n.kind==="OnNode"},create(n){return d({kind:"OnNode",on:n})},cloneWithOperation(n,o,s){return d({...n,on:o==="And"?me.create(n.on,s):Le.create(n.on,s)})}});var Ae=d({is(n){return n.kind==="JoinNode"},create(n,o){return d({kind:"JoinNode",joinType:n,table:o,on:void 0})},createWithOn(n,o,s){return d({kind:"JoinNode",joinType:n,table:o,on:Ai.create(s)})},cloneWithOn(n,o){return d({...n,on:n.on?Ai.cloneWithOperation(n.on,"And",o):Ai.create(o)})}});var Tt=d({is(n){return n.kind==="BinaryOperationNode"},create(n,o,s){return d({kind:"BinaryOperationNode",leftOperand:n,operator:o,rightOperand:s})}});var za=d({"=":!0,"==":!0,"!=":!0,"<>":!0,">":!0,">=":!0,"<":!0,"<=":!0,in:!0,"not in":!0,is:!0,"is not":!0,like:!0,"not like":!0,match:!0,ilike:!0,"not ilike":!0,"@>":!0,"<@":!0,"^@":!0,"&&":!0,"?":!0,"?&":!0,"?|":!0,"!<":!0,"!>":!0,"<=>":!0,"!~":!0,"~":!0,"~*":!0,"!~*":!0,"@@":!0,"@@@":!0,"!!":!0,"<->":!0,regexp:!0,"is distinct from":!0,"is not distinct from":!0}),ox=Object.keys(za),ja=d({"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"&":!0,"|":!0,"#":!0,"<<":!0,">>":!0}),sx=Object.keys(ja),Ha=d({"->":!0,"->>":!0}),_c=Object.keys(Ha),Xa=d({...za,...ja,"||":!0}),yc=Object.keys(Xa),Za=d({exists:!0,"not exists":!0}),ax=Object.keys(Za),ed=d({...Za,"-":!0,not:!0}),xc=Object.keys(ed),dx=[...yc,..._c,...xc,"between","between symmetric"],we=d({is(n){return n.kind==="OperatorNode"},create(n){return d({kind:"OperatorNode",operator:n})}});function td(n){return w(n)&&Xa[n]}function rd(n){return w(n)&&Ha[n]}function id(n){return w(n)&&ed[n]}var tr=d({is(n){return n.kind==="ColumnNode"},create(n){return d({kind:"ColumnNode",column:ot.create(n)})}});var rr=d({is(n){return n.kind==="SelectAllNode"},create(){return d({kind:"SelectAllNode"})}});var xb=d({is(n){return n.kind==="ReferenceNode"},create(n,o){return d({kind:"ReferenceNode",table:o,column:n})},createSelectAll(n){return d({kind:"ReferenceNode",table:n,column:rr.create()})}});class In{#e;get dynamicReference(){return this.#e}get refType(){return}constructor(n){this.#e=n}toOperationNode(){return Pn(this.#e)}}function Bi(n){return M(n)&&D(n)&&w(n.dynamicReference)}var We=d({is(n){return n.kind==="OrderByItemNode"},create(n,o){return d({kind:"OrderByItemNode",orderBy:n,direction:o})},cloneWith(n,o){return d({...n,...o})}});var k=d({is(n){return n.kind==="RawNode"},create(n,o){return d({kind:"RawNode",sqlFragments:d(n),parameters:d(o)})},createWithSql(n){return k.create([n],[])},createWithChild(n){return k.create(["",""],[n])},createWithChildren(n){return k.create(Array(n.length+1).fill(""),n)}});var nd=d({is(n){return n.kind==="CollateNode"},create(n){return d({kind:"CollateNode",collation:ot.create(n)})}});class kt{#e;constructor(n){this.#e=d(n)}desc(){return new kt({node:We.cloneWith(this.#e.node,{direction:k.createWithSql("desc")})})}asc(){return new kt({node:We.cloneWith(this.#e.node,{direction:k.createWithSql("asc")})})}nullsLast(){return new kt({node:We.cloneWith(this.#e.node,{nulls:"last"})})}nullsFirst(){return new kt({node:We.cloneWith(this.#e.node,{nulls:"first"})})}collate(n){return new kt({node:We.cloneWith(this.#e.node,{collation:nd.create(n)})})}toOperationNode(){return this.#e.node}}var od=new Set;function ir(n){if(od.has(n))return;od.add(n),console.log(n)}function An(n){return n==="asc"||n==="desc"}function ve(n){if(n.length===2)return[Ln(n[0],n[1])];if(n.length===1){let[o]=n;if(Array.isArray(o))return ir("orderBy(array) is deprecated, use multiple orderBy calls instead."),o.map((s)=>Ln(s));return[Ln(o)]}throw Error(`Invalid number of arguments at order by! expected 1-2, received ${n.length}`)}function Ln(n,o){let s=Nc(n);if(We.is(s)){if(o)throw Error("Cannot specify direction twice!");return s}return sd(s,o)}function Nc(n){if(ct(n))return ee(n);if(Bi(n))return n.toOperationNode();let[o,s]=n.split(" ");if(s)return ir("`orderBy('column asc')` is deprecated. Use `orderBy('column', 'asc')` instead."),sd(pe(o),s);return pe(n)}function sd(n,o){if(typeof o==="string"){if(!An(o))throw Error(`Invalid order by direction: ${o}`);return We.create(n,k.createWithSql(o))}if(Pi(o))return ir("`orderBy(..., expr)` is deprecated. Use `orderBy(..., 'asc')` or `orderBy(..., (ob) => ...)` instead."),We.create(n,o.toOperationNode());let s=We.create(n);if(!o)return s;return o(new kt({node:s})).toOperationNode()}var nr=d({is(n){return n.kind==="JSONReferenceNode"},create(n,o){return d({kind:"JSONReferenceNode",reference:n,traversal:o})},cloneWithTraversal(n,o){return d({...n,traversal:o})}});var Wi=d({is(n){return n.kind==="JSONOperatorChainNode"},create(n){return d({kind:"JSONOperatorChainNode",operator:n,values:d([])})},cloneWithValue(n,o){return d({...n,values:d([...n.values,o])})}});var St=d({is(n){return n.kind==="JSONPathNode"},create(n){return d({kind:"JSONPathNode",inOperator:n,pathLegs:d([])})},cloneWithLeg(n,o){return d({...n,pathLegs:d([...n.pathLegs,o])})}});function Pn(n){if(w(n))return pe(n);return n.toOperationNode()}function lt(n){if(se(n))return n.map((o)=>j(o));else return[j(n)]}function j(n){if(ct(n))return ee(n);return Pn(n)}function ad(n,o){if(rd(o))return nr.create(pe(n),Wi.create(we.create(o)));if(o==="->$"||o==="->>$")return nr.create(pe(n),St.create(we.create(o.slice(0,-1))));throw Error(`Invalid JSON operator: ${o}`)}function pe(n){if(!n.includes("."))return xb.create(tr.create(n));let s=n.split(".").map(Wn);if(s.length===3)return gc(s);if(s.length===2)return wc(s);throw Error(`invalid column reference ${n}`)}function dd(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Wn);return Ts.create(pe(s),ot.create(a))}else return pe(n)}function Bn(n){return tr.create(n)}function or(n){if(n.includes(" ")){let[s,a]=n.split(" ").map(Wn);if(!An(a))throw Error(`invalid order direction "${a}" next to "${s}"`);return ve([s,a])[0]}else return Bn(n)}function gc(n){let[o,s,a]=n;return xb.create(tr.create(a),Oc.createWithSchema(o,s))}function wc(n){let[o,s]=n;return xb.create(tr.create(s),Oc.create(o))}function Wn(n){return n.trim()}var Mi=d({is(n){return n.kind==="PrimitiveValueListNode"},create(n){return d({kind:"PrimitiveValueListNode",values:d([...n])})}});var Dt=d({is(n){return n.kind==="ValueListNode"},create(n){return d({kind:"ValueListNode",values:d(n)})}});var Gn=d({is(n){return n.kind==="ValueNode"},create(n){return d({kind:"ValueNode",value:n})},createImmediate(n){return d({kind:"ValueNode",value:n,immediate:!0})}});function ud(n){if(se(n))return vc(n);return O(n)}function O(n){if(ct(n))return ee(n);return Gn.create(n)}function qi(n){return Ct(n)||qt(n)||Xt(n)}function zr(n){if(!qi(n))throw Error(`unsafe immediate value ${JSON.stringify(n)}`);return Gn.createImmediate(n)}function vc(n){if(n.some(ct))return Dt.create(n.map((o)=>O(o)));return Mi.create(n)}var be=d({is(n){return n.kind==="ParensNode"},create(n){return d({kind:"ParensNode",node:n})}});function P(n){if(n.length===3)return Ki(n[0],n[1],n[2]);else if(n.length===1)return O(n[0]);throw Error(`invalid arguments: ${JSON.stringify(n)}`)}function Ki(n,o,s){if(bc(o)&&ld(s))return Tt.create(j(n),Mn(o),Gn.createImmediate(s));return Tt.create(j(n),Mn(o),ud(s))}function z(n,o,s){return Tt.create(j(n),Mn(o),j(s))}function qn(n,o){return sr(Object.entries(n).filter(([,s])=>!ge(s)).map(([s,a])=>Ki(s,ld(a)?"is":"=",a)),o)}function sr(n,o,s=!0){let a=o==="and"?me.create:Le.create;if(n.length===0)return Tt.create(Gn.createImmediate(1),we.create("="),Gn.createImmediate(o==="and"?1:0));let c=cd(n[0]);for(let p=1;p<n.length;++p)c=a(c,cd(n[p]));if(n.length>1&&s)return be.create(c);return c}function bc(n){return n==="is"||n==="is not"}function ld(n){return Xt(n)||qt(n)}function Mn(n){if(td(n))return we.create(n);if(D(n))return n.toOperationNode();throw Error(`invalid operator ${JSON.stringify(n)}`)}function cd(n){return D(n)?n.toOperationNode():n}var mt=d({is(n){return n.kind==="OrderByNode"},create(n){return d({kind:"OrderByNode",items:d([...n])})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var Fn=d({is(n){return n.kind==="PartitionByNode"},create(n){return d({kind:"PartitionByNode",items:d(n)})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var Jr=d({is(n){return n.kind==="OverNode"},create(){return d({kind:"OverNode"})},cloneWithOrderByItems(n,o){return d({...n,orderBy:n.orderBy?mt.cloneWithItems(n.orderBy,o):mt.create(o)})},cloneWithPartitionByItems(n,o){return d({...n,partitionBy:n.partitionBy?Fn.cloneWithItems(n.partitionBy,o):Fn.create(o)})}});var Ft=d({is(n){return n.kind==="FromNode"},create(n){return d({kind:"FromNode",froms:d(n)})},cloneWithFroms(n,o){return d({...n,froms:d([...n.froms,...o])})}});var Kn=d({is(n){return n.kind==="GroupByNode"},create(n){return d({kind:"GroupByNode",items:d(n)})},cloneWithItems(n,o){return d({...n,items:d([...n.items,...o])})}});var $n=d({is(n){return n.kind==="HavingNode"},create(n){return d({kind:"HavingNode",having:n})},cloneWithOperation(n,o,s){return d({...n,having:o==="And"?me.create(n.having,s):Le.create(n.having,s)})}});var K=d({is(n){return n.kind==="InsertQueryNode"},create(n,o,s){return d({kind:"InsertQueryNode",into:n,...o&&{with:o},replace:s})},createWithoutInto(){return d({kind:"InsertQueryNode"})},cloneWith(n,o){return d({...n,...o})}});var $i=d({is(n){return n.kind==="ListNode"},create(n){return d({kind:"ListNode",items:d(n)})}});var je=d({is(n){return n.kind==="UpdateQueryNode"},create(n,o){return d({kind:"UpdateQueryNode",table:n.length===1?n[0]:$i.create(n),...o&&{with:o}})},createWithoutTable(){return d({kind:"UpdateQueryNode"})},cloneWithFromItems(n,o){return d({...n,from:n.from?Ft.cloneWithFroms(n.from,o):Ft.create(o)})},cloneWithUpdates(n,o){return d({...n,updates:n.updates?d([...n.updates,...o]):o})},cloneWithLimit(n,o){return d({...n,limit:o})}});var jr=d({is(n){return n.kind==="UsingNode"},create(n){return d({kind:"UsingNode",tables:d(n)})},cloneWithTables(n,o){return d({...n,tables:d([...n.tables,...o])})}});var Ot=d({is(n){return n.kind==="DeleteQueryNode"},create(n,o){return d({kind:"DeleteQueryNode",from:Ft.create(n),...o&&{with:o}})},cloneWithOrderByItems:(n,o)=>g.cloneWithOrderByItems(n,o),cloneWithoutOrderBy:(n)=>g.cloneWithoutOrderBy(n),cloneWithLimit(n,o){return d({...n,limit:o})},cloneWithoutLimit(n){return d({...n,limit:void 0})},cloneWithUsing(n,o){return d({...n,using:n.using!==void 0?jr.cloneWithTables(n.using,o):jr.create(o)})}});var ie=d({is(n){return n.kind==="WhereNode"},create(n){return d({kind:"WhereNode",where:n})},cloneWithOperation(n,o,s){return d({...n,where:o==="And"?me.create(n.where,s):Le.create(n.where,s)})}});var Un=d({is(n){return n.kind==="ReturningNode"},create(n){return d({kind:"ReturningNode",selections:d(n)})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})}});var md=d({is(n){return n.kind==="ExplainNode"},create(n,o){return d({kind:"ExplainNode",format:n,options:o})}});var fe=d({is(n){return n.kind==="WhenNode"},create(n){return d({kind:"WhenNode",condition:n})},cloneWithResult(n,o){return d({...n,result:o})}});var Ce=d({is(n){return n.kind==="MergeQueryNode"},create(n,o){return d({kind:"MergeQueryNode",into:n,...o&&{with:o}})},cloneWithUsing(n,o){return d({...n,using:o})},cloneWithWhen(n,o){return d({...n,whens:n.whens?d([...n.whens,o]):d([o])})},cloneWithThen(n,o){return d({...n,whens:n.whens?d([...n.whens.slice(0,-1),fe.cloneWithResult(n.whens[n.whens.length-1],o)]):void 0})}});var Vn=d({is(n){return n.kind==="OutputNode"},create(n){return d({kind:"OutputNode",selections:d(n)})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})}});var g=d({is(n){return S.is(n)||K.is(n)||je.is(n)||Ot.is(n)||Ce.is(n)},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):d([o])})},cloneWithWhere(n,o){return d({...n,where:n.where?ie.cloneWithOperation(n.where,"And",o):ie.create(o)})},cloneWithJoin(n,o){return d({...n,joins:n.joins?d([...n.joins,o]):d([o])})},cloneWithReturning(n,o){return d({...n,returning:n.returning?Un.cloneWithSelections(n.returning,o):Un.create(o)})},cloneWithoutReturning(n){return d({...n,returning:void 0})},cloneWithoutWhere(n){return d({...n,where:void 0})},cloneWithExplain(n,o,s){return d({...n,explain:md.create(o,s?.toOperationNode())})},cloneWithTop(n,o){return d({...n,top:o})},cloneWithOutput(n,o){return d({...n,output:n.output?Vn.cloneWithSelections(n.output,o):Vn.create(o)})},cloneWithOrderByItems(n,o){return d({...n,orderBy:n.orderBy?mt.cloneWithItems(n.orderBy,o):mt.create(o)})},cloneWithoutOrderBy(n){return d({...n,orderBy:void 0})}});var S=d({is(n){return n.kind==="SelectQueryNode"},create(n){return d({kind:"SelectQueryNode",...n&&{with:n}})},createFrom(n,o){return d({kind:"SelectQueryNode",from:Ft.create(n),...o&&{with:o}})},cloneWithSelections(n,o){return d({...n,selections:n.selections?d([...n.selections,...o]):d(o)})},cloneWithDistinctOn(n,o){return d({...n,distinctOn:n.distinctOn?d([...n.distinctOn,...o]):d(o)})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):d([o])})},cloneWithOrderByItems:(n,o)=>g.cloneWithOrderByItems(n,o),cloneWithGroupByItems(n,o){return d({...n,groupBy:n.groupBy?Kn.cloneWithItems(n.groupBy,o):Kn.create(o)})},cloneWithLimit(n,o){return d({...n,limit:o})},cloneWithOffset(n,o){return d({...n,offset:o})},cloneWithFetch(n,o){return d({...n,fetch:o})},cloneWithHaving(n,o){return d({...n,having:n.having?$n.cloneWithOperation(n.having,"And",o):$n.create(o)})},cloneWithSetOperations(n,o){return d({...n,setOperations:n.setOperations?d([...n.setOperations,...o]):d([...o])})},cloneWithoutSelections(n){return d({...n,selections:[]})},cloneWithoutLimit(n){return d({...n,limit:void 0})},cloneWithoutOffset(n){return d({...n,offset:void 0})},cloneWithoutOrderBy:(n)=>g.cloneWithoutOrderBy(n),cloneWithoutGroupBy(n){return d({...n,groupBy:void 0})}});class ar{#e;constructor(n){this.#e=d(n)}on(...n){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,P(n))})}onRef(n,o,s){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,z(n,o,s))})}onTrue(){return new ar({...this.#e,joinNode:Ae.cloneWithOn(this.#e.joinNode,k.createWithSql("true"))})}$call(n){return n(this)}toOperationNode(){return this.#e.joinNode}}var pd=d({is(n){return n.kind==="PartitionByItemNode"},create(n){return d({kind:"PartitionByItemNode",partitionBy:n})}});function fd(n){return lt(n).map(pd.create)}class dr{#e;constructor(n){this.#e=d(n)}orderBy(...n){return new dr({overNode:Jr.cloneWithOrderByItems(this.#e.overNode,ve(n))})}clearOrderBy(){return new dr({overNode:g.cloneWithoutOrderBy(this.#e.overNode)})}partitionBy(n){return new dr({overNode:Jr.cloneWithPartitionByItems(this.#e.overNode,fd(n))})}$call(n){return n(this)}toOperationNode(){return this.#e.overNode}}var ur=d({is(n){return n.kind==="SelectionNode"},create(n){return d({kind:"SelectionNode",selection:n})},createSelectAll(){return d({kind:"SelectionNode",selection:rr.create()})},createSelectAllFromTable(n){return d({kind:"SelectionNode",selection:xb.createSelectAll(n)})}});function H(n){if(W(n))return H(n(Me()));else if(se(n))return n.map((o)=>hd(o));else return[hd(n)]}function hd(n){if(w(n))return ur.create(dd(n));else if(Bi(n))return ur.create(n.toOperationNode());else return ur.create(Gi(n))}function te(n){if(!n)return[ur.createSelectAll()];else if(Array.isArray(n))return n.map(_d);else return[_d(n)]}function _d(n){if(w(n))return ur.createSelectAllFromTable(T(n));throw Error(`invalid value selectAll expression: ${JSON.stringify(n)}`)}var yd=d({is(n){return n.kind==="ValuesNode"},create(n){return d({kind:"ValuesNode",values:d(n)})}});var xd=d({is(n){return n.kind==="DefaultInsertValueNode"},create(){return d({kind:"DefaultInsertValueNode"})}});function Ui(n){let o=W(n)?n(Me()):n,s=se(o)?o:d([o]);return Cc(s)}function Cc(n){let o=Ec(n);return[d([...o.keys()].map(tr.create)),yd.create(n.map((s)=>Tc(s,o)))]}function Ec(n){let o=new Map;for(let s of n){let a=Object.keys(s);for(let c of a)if(!o.has(c)&&s[c]!==void 0)o.set(c,o.size)}return o}function Tc(n,o){let s=Object.keys(n),a=Array.from({length:o.size}),c=!1,p=s.length;for(let _ of s){let y=o.get(_);if(ge(y)){p--;continue}let x=n[_];if(ge(x)||ct(x))c=!0;a[y]=x}if(p<o.size||c){let _=xd.create();return Dt.create(a.map((y)=>ge(y)?_:O(y)))}return Mi.create(a)}var Qn=d({is(n){return n.kind==="ColumnUpdateNode"},create(n,o){return d({kind:"ColumnUpdateNode",column:n,value:o})}});function Nd(...n){if(n.length===2)return[Qn.create(j(n[0]),O(n[1]))];return Hr(n[0])}function Hr(n){let o=W(n)?n(Me()):n;return Object.entries(o).filter(([s,a])=>a!==void 0).map(([s,a])=>Qn.create(tr.create(s),O(a)))}var gd=d({is(n){return n.kind==="OnDuplicateKeyNode"},create(n){return d({kind:"OnDuplicateKeyNode",updates:n})}});class zn{insertId;numInsertedOrUpdatedRows;constructor(n,o){this.insertId=n,this.numInsertedOrUpdatedRows=o}}class qe extends Error{node;constructor(n){super("no result");this.node=n}}function He(n){return Object.prototype.hasOwnProperty.call(n,"prototype")}var ce=d({is(n){return n.kind==="OnConflictNode"},create(){return d({kind:"OnConflictNode"})},cloneWith(n,o){return d({...n,...o})},cloneWithIndexWhere(n,o){return d({...n,indexWhere:n.indexWhere?ie.cloneWithOperation(n.indexWhere,"And",o):ie.create(o)})},cloneWithIndexOrWhere(n,o){return d({...n,indexWhere:n.indexWhere?ie.cloneWithOperation(n.indexWhere,"Or",o):ie.create(o)})},cloneWithUpdateWhere(n,o){return d({...n,updateWhere:n.updateWhere?ie.cloneWithOperation(n.updateWhere,"And",o):ie.create(o)})},cloneWithUpdateOrWhere(n,o){return d({...n,updateWhere:n.updateWhere?ie.cloneWithOperation(n.updateWhere,"Or",o):ie.create(o)})},cloneWithoutIndexWhere(n){return d({...n,indexWhere:void 0})},cloneWithoutUpdateWhere(n){return d({...n,updateWhere:void 0})}});class Ye{#e;constructor(n){this.#e=d(n)}column(n){let o=tr.create(n);return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?d([...this.#e.onConflictNode.columns,o]):d([o])})})}columns(n){let o=n.map(tr.create);return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?d([...this.#e.onConflictNode.columns,...o]):d(o)})})}constraint(n){return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{constraint:ot.create(n)})})}expression(n){return new Ye({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{indexExpression:n.toOperationNode()})})}where(...n){return new Ye({...this.#e,onConflictNode:ce.cloneWithIndexWhere(this.#e.onConflictNode,P(n))})}whereRef(n,o,s){return new Ye({...this.#e,onConflictNode:ce.cloneWithIndexWhere(this.#e.onConflictNode,z(n,o,s))})}clearWhere(){return new Ye({...this.#e,onConflictNode:ce.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new vd({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(n){return new Yr({...this.#e,onConflictNode:ce.cloneWith(this.#e.onConflictNode,{updates:Hr(n)})})}$call(n){return n(this)}}class vd{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.onConflictNode}}class Yr{#e;constructor(n){this.#e=d(n)}where(...n){return new Yr({...this.#e,onConflictNode:ce.cloneWithUpdateWhere(this.#e.onConflictNode,P(n))})}whereRef(n,o,s){return new Yr({...this.#e,onConflictNode:ce.cloneWithUpdateWhere(this.#e.onConflictNode,z(n,o,s))})}clearWhere(){return new Yr({...this.#e,onConflictNode:ce.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(n){return n(this)}toOperationNode(){return this.#e.onConflictNode}}var bd=d({is(n){return n.kind==="TopNode"},create(n,o){return d({kind:"TopNode",expression:n,modifiers:o})}});function Fe(n,o){if(!Ct(n)&&!Zt(n))throw Error(`Invalid top expression: ${n}`);if(!ge(o)&&!kc(o))throw Error(`Invalid top modifiers: ${o}`);return bd.create(n,o)}function kc(n){return n==="percent"||n==="with ties"||n==="percent with ties"}var Kt=d({is(n){return n.kind==="OrActionNode"},create(n){return d({kind:"OrActionNode",action:n})}});class R{#e;constructor(n){this.#e=d(n)}values(n){let[o,s]=Ui(n);return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{columns:o,values:s})})}columns(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{columns:d(n.map(tr.create))})})}expression(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{values:ee(n)})})}defaultValues(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{defaultValues:!0})})}modifyEnd(n){return new R({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}ignore(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("ignore")})})}orIgnore(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("ignore")})})}orAbort(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("abort")})})}orFail(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("fail")})})}orReplace(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("replace")})})}orRollback(){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{orAction:Kt.create("rollback")})})}top(n,o){return new R({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}onConflict(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{onConflict:n(new Ye({onConflictNode:ce.create()})).toOperationNode()})})}onDuplicateKeyUpdate(n){return new R({...this.#e,queryNode:K.cloneWith(this.#e.queryNode,{onDuplicateKey:gd.create(Hr(n))})})}returning(n){return new R({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(){return new R({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te())})}output(n){return new R({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new R({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}clearReturning(){return new R({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new R({...this.#e})}$castTo(){return new R(this.#e)}$narrowType(){return new R(this.#e)}$assertType(){return new R(this.#e)}withPlugin(n){return new R({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new zn(s.insertId,s.numAffectedRows??BigInt(0))]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new R({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}class Jn{numDeletedRows;constructor(n){this.numDeletedRows=n}}var cr=d({is(n){return n.kind==="LimitNode"},create(n){return d({kind:"LimitNode",limit:n})}});var G;class Vi{#e;constructor(n){this.#e=d(n)}where(...n){return new G({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new G({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new G({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new G({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}using(n){return new G({...this.#e,queryNode:Ot.cloneWithUsing(this.#e.queryNode,Ke(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}#t(n,o){return new G({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}returning(n){return new G({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new G({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new G({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new G({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}clearReturning(){return new G({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new G({...this.#e,queryNode:Ot.cloneWithoutLimit(this.#e.queryNode)})}orderBy(...n){return new G({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}clearOrderBy(){return new G({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new G({...this.#e,queryNode:Ot.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}modifyEnd(n){return new G({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new G({...this.#e})}$castTo(){return new G(this.#e)}$narrowType(){return new G(this.#e)}$assertType(){return new G(this.#e)}withPlugin(n){return new G({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new Jn(s.numAffectedRows??BigInt(0))]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new G({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}G=Vi;class jn{numUpdatedRows;numChangedRows;constructor(n,o){this.numUpdatedRows=n,this.numChangedRows=o}}var U;class lr{#e;constructor(n){this.#e=d(n)}where(...n){return new U({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new U({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}clearWhere(){return new U({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}top(n,o){return new U({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}from(n){return new U({...this.#e,queryNode:je.cloneWithFromItems(this.#e.queryNode,Ke(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}#t(n,o){return new U({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}orderBy(...n){return new U({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}clearOrderBy(){return new U({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}limit(n){return new U({...this.#e,queryNode:je.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}set(...n){return new U({...this.#e,queryNode:je.cloneWithUpdates(this.#e.queryNode,Nd(...n))})}returning(n){return new U({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new U({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new U({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new U({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}modifyEnd(n){return new U({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}clearReturning(){return new U({...this.#e,queryNode:g.cloneWithoutReturning(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new U({...this.#e})}$castTo(){return new U(this.#e)}$narrowType(){return new U(this.#e)}$assertType(){return new U(this.#e)}withPlugin(n){return new U({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new jn(s.numAffectedRows??BigInt(0),s.numChangedRows)]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new U({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}U=lr;var Hn=d({is(n){return n.kind==="CommonTableExpressionNameNode"},create(n,o){return d({kind:"CommonTableExpressionNameNode",table:Oc.create(n),columns:o?d(o.map(tr.create)):void 0})}});var mr=d({is(n){return n.kind==="CommonTableExpressionNode"},create(n,o){return d({kind:"CommonTableExpressionNode",name:n,expression:o})},cloneWith(n,o){return d({...n,...o})}});class Xr{#e;constructor(n){this.#e=d(n)}materialized(){return new Xr({...this.#e,node:mr.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new Xr({...this.#e,node:mr.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}}function Xn(n,o){let s=D(o)?o.toOperationNode():o(Ed()).toOperationNode();if(W(n))return n(Sc(s)).toOperationNode();return mr.create(Cd(n),s)}function Sc(n){return(o)=>new Xr({node:mr.create(Cd(o),n)})}function Cd(n){if(n.includes("(")){let o=n.split(/[\(\)]/),s=o[0],a=o[1].split(",").map((c)=>c.trim());return Hn.create(s,a)}else return Hn.create(n)}var Zr=d({is(n){return n.kind==="WithNode"},create(n,o){return d({kind:"WithNode",expressions:d([n]),...o})},cloneWithExpression(n,o){return d({...n,expressions:d([...n.expressions,o])})}});var Td=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"];function kd(n){let o="";for(let s=0;s<n;++s)o+=Dc();return o}function Dc(){return Td[~~(Math.random()*Td.length)]}function b(){return new Sd}class Sd{#e;get queryId(){if(this.#e===void 0)this.#e=kd(8);return this.#e}}class ei{nodeStack=[];#e=d({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),RenameConstraintNode:this.transformRenameConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),RefreshMaterializedViewNode:this.transformRefreshMaterializedView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this),OrActionNode:this.transformOrAction.bind(this),CollateNode:this.transformCollate.bind(this),AlterTypeNode:this.transformAlterType.bind(this),AddValueNode:this.transformAddValue.bind(this),RenameValueNode:this.transformRenameValue.bind(this)});transformNode(n,o){if(!n)return n;this.nodeStack.push(n);let s=this.transformNodeImpl(n,o);return this.nodeStack.pop(),d(s)}transformNodeImpl(n,o){return this.#e[n.kind](n,o)}transformNodeList(n,o){if(!n)return n;return d(n.map((s)=>this.transformNode(s,o)))}transformSelectQuery(n,o){return{kind:"SelectQueryNode",from:this.transformNode(n.from,o),selections:this.transformNodeList(n.selections,o),distinctOn:this.transformNodeList(n.distinctOn,o),joins:this.transformNodeList(n.joins,o),groupBy:this.transformNode(n.groupBy,o),orderBy:this.transformNode(n.orderBy,o),where:this.transformNode(n.where,o),frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),limit:this.transformNode(n.limit,o),offset:this.transformNode(n.offset,o),with:this.transformNode(n.with,o),having:this.transformNode(n.having,o),explain:this.transformNode(n.explain,o),setOperations:this.transformNodeList(n.setOperations,o),fetch:this.transformNode(n.fetch,o),top:this.transformNode(n.top,o)}}transformSelection(n,o){return{kind:"SelectionNode",selection:this.transformNode(n.selection,o)}}transformColumn(n,o){return{kind:"ColumnNode",column:this.transformNode(n.column,o)}}transformAlias(n,o){return{kind:"AliasNode",node:this.transformNode(n.node,o),alias:this.transformNode(n.alias,o)}}transformTable(n,o){return{kind:"TableNode",table:this.transformNode(n.table,o)}}transformFrom(n,o){return{kind:"FromNode",froms:this.transformNodeList(n.froms,o)}}transformReference(n,o){return{kind:"ReferenceNode",column:this.transformNode(n.column,o),table:this.transformNode(n.table,o)}}transformAnd(n,o){return{kind:"AndNode",left:this.transformNode(n.left,o),right:this.transformNode(n.right,o)}}transformOr(n,o){return{kind:"OrNode",left:this.transformNode(n.left,o),right:this.transformNode(n.right,o)}}transformValueList(n,o){return{kind:"ValueListNode",values:this.transformNodeList(n.values,o)}}transformParens(n,o){return{kind:"ParensNode",node:this.transformNode(n.node,o)}}transformJoin(n,o){return{kind:"JoinNode",joinType:n.joinType,table:this.transformNode(n.table,o),on:this.transformNode(n.on,o)}}transformRaw(n,o){return{kind:"RawNode",sqlFragments:d([...n.sqlFragments]),parameters:this.transformNodeList(n.parameters,o)}}transformWhere(n,o){return{kind:"WhereNode",where:this.transformNode(n.where,o)}}transformInsertQuery(n,o){return{kind:"InsertQueryNode",into:this.transformNode(n.into,o),columns:this.transformNodeList(n.columns,o),values:this.transformNode(n.values,o),returning:this.transformNode(n.returning,o),onConflict:this.transformNode(n.onConflict,o),onDuplicateKey:this.transformNode(n.onDuplicateKey,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),orAction:this.transformNode(n.orAction,o),replace:n.replace,explain:this.transformNode(n.explain,o),defaultValues:n.defaultValues,top:this.transformNode(n.top,o),output:this.transformNode(n.output,o)}}transformValues(n,o){return{kind:"ValuesNode",values:this.transformNodeList(n.values,o)}}transformDeleteQuery(n,o){return{kind:"DeleteQueryNode",from:this.transformNode(n.from,o),using:this.transformNode(n.using,o),joins:this.transformNodeList(n.joins,o),where:this.transformNode(n.where,o),returning:this.transformNode(n.returning,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),orderBy:this.transformNode(n.orderBy,o),limit:this.transformNode(n.limit,o),explain:this.transformNode(n.explain,o),top:this.transformNode(n.top,o),output:this.transformNode(n.output,o)}}transformReturning(n,o){return{kind:"ReturningNode",selections:this.transformNodeList(n.selections,o)}}transformCreateTable(n,o){return{kind:"CreateTableNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),constraints:this.transformNodeList(n.constraints,o),indexes:this.transformNodeList(n.indexes,o),temporary:n.temporary,ifNotExists:n.ifNotExists,onCommit:n.onCommit,frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),selectQuery:this.transformNode(n.selectQuery,o)}}transformColumnDefinition(n,o){return{kind:"ColumnDefinitionNode",column:this.transformNode(n.column,o),dataType:this.transformNode(n.dataType,o),references:this.transformNode(n.references,o),primaryKey:n.primaryKey,autoIncrement:n.autoIncrement,unique:n.unique,notNull:n.notNull,unsigned:n.unsigned,defaultTo:this.transformNode(n.defaultTo,o),check:this.transformNode(n.check,o),generated:this.transformNode(n.generated,o),frontModifiers:this.transformNodeList(n.frontModifiers,o),endModifiers:this.transformNodeList(n.endModifiers,o),nullsNotDistinct:n.nullsNotDistinct,identity:n.identity,ifNotExists:n.ifNotExists}}transformAddColumn(n,o){return{kind:"AddColumnNode",column:this.transformNode(n.column,o)}}transformDropTable(n,o){return{kind:"DropTableNode",table:this.transformNode(n.table,o),ifExists:n.ifExists,cascade:n.cascade,temporary:n.temporary}}transformOrderBy(n,o){return{kind:"OrderByNode",items:this.transformNodeList(n.items,o)}}transformOrderByItem(n,o){return{kind:"OrderByItemNode",orderBy:this.transformNode(n.orderBy,o),direction:this.transformNode(n.direction,o),collation:this.transformNode(n.collation,o),nulls:n.nulls}}transformGroupBy(n,o){return{kind:"GroupByNode",items:this.transformNodeList(n.items,o)}}transformGroupByItem(n,o){return{kind:"GroupByItemNode",groupBy:this.transformNode(n.groupBy,o)}}transformUpdateQuery(n,o){return{kind:"UpdateQueryNode",table:this.transformNode(n.table,o),from:this.transformNode(n.from,o),joins:this.transformNodeList(n.joins,o),where:this.transformNode(n.where,o),updates:this.transformNodeList(n.updates,o),returning:this.transformNode(n.returning,o),endModifiers:this.transformNodeList(n.endModifiers,o),with:this.transformNode(n.with,o),explain:this.transformNode(n.explain,o),limit:this.transformNode(n.limit,o),top:this.transformNode(n.top,o),output:this.transformNode(n.output,o),orderBy:this.transformNode(n.orderBy,o)}}transformColumnUpdate(n,o){return{kind:"ColumnUpdateNode",column:this.transformNode(n.column,o),value:this.transformNode(n.value,o)}}transformLimit(n,o){return{kind:"LimitNode",limit:this.transformNode(n.limit,o)}}transformOffset(n,o){return{kind:"OffsetNode",offset:this.transformNode(n.offset,o)}}transformOnConflict(n,o){return{kind:"OnConflictNode",columns:this.transformNodeList(n.columns,o),constraint:this.transformNode(n.constraint,o),indexExpression:this.transformNode(n.indexExpression,o),indexWhere:this.transformNode(n.indexWhere,o),updates:this.transformNodeList(n.updates,o),updateWhere:this.transformNode(n.updateWhere,o),doNothing:n.doNothing}}transformOnDuplicateKey(n,o){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(n.updates,o)}}transformCreateIndex(n,o){return{kind:"CreateIndexNode",name:this.transformNode(n.name,o),table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),unique:n.unique,using:this.transformNode(n.using,o),ifNotExists:n.ifNotExists,where:this.transformNode(n.where,o),nullsNotDistinct:n.nullsNotDistinct}}transformList(n,o){return{kind:"ListNode",items:this.transformNodeList(n.items,o)}}transformDropIndex(n,o){return{kind:"DropIndexNode",name:this.transformNode(n.name,o),table:this.transformNode(n.table,o),ifExists:n.ifExists,cascade:n.cascade}}transformPrimaryKeyConstraint(n,o){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(n.columns,o),name:this.transformNode(n.name,o),deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformUniqueConstraint(n,o){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(n.columns,o),name:this.transformNode(n.name,o),nullsNotDistinct:n.nullsNotDistinct,deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformForeignKeyConstraint(n,o){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(n.columns,o),references:this.transformNode(n.references,o),name:this.transformNode(n.name,o),onDelete:n.onDelete,onUpdate:n.onUpdate,deferrable:n.deferrable,initiallyDeferred:n.initiallyDeferred}}transformSetOperation(n,o){return{kind:"SetOperationNode",operator:n.operator,expression:this.transformNode(n.expression,o),all:n.all}}transformReferences(n,o){return{kind:"ReferencesNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o),onDelete:n.onDelete,onUpdate:n.onUpdate}}transformCheckConstraint(n,o){return{kind:"CheckConstraintNode",expression:this.transformNode(n.expression,o),name:this.transformNode(n.name,o)}}transformWith(n,o){return{kind:"WithNode",expressions:this.transformNodeList(n.expressions,o),recursive:n.recursive}}transformCommonTableExpression(n,o){return{kind:"CommonTableExpressionNode",name:this.transformNode(n.name,o),materialized:n.materialized,expression:this.transformNode(n.expression,o)}}transformCommonTableExpressionName(n,o){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(n.table,o),columns:this.transformNodeList(n.columns,o)}}transformHaving(n,o){return{kind:"HavingNode",having:this.transformNode(n.having,o)}}transformCreateSchema(n,o){return{kind:"CreateSchemaNode",schema:this.transformNode(n.schema,o),ifNotExists:n.ifNotExists}}transformDropSchema(n,o){return{kind:"DropSchemaNode",schema:this.transformNode(n.schema,o),ifExists:n.ifExists,cascade:n.cascade}}transformAlterTable(n,o){return{kind:"AlterTableNode",table:this.transformNode(n.table,o),renameTo:this.transformNode(n.renameTo,o),setSchema:this.transformNode(n.setSchema,o),columnAlterations:this.transformNodeList(n.columnAlterations,o),addConstraint:this.transformNode(n.addConstraint,o),dropConstraint:this.transformNode(n.dropConstraint,o),renameConstraint:this.transformNode(n.renameConstraint,o),addIndex:this.transformNode(n.addIndex,o),dropIndex:this.transformNode(n.dropIndex,o)}}transformDropColumn(n,o){return{kind:"DropColumnNode",column:this.transformNode(n.column,o),ifExists:n.ifExists}}transformRenameColumn(n,o){return{kind:"RenameColumnNode",column:this.transformNode(n.column,o),renameTo:this.transformNode(n.renameTo,o)}}transformAlterColumn(n,o){return{kind:"AlterColumnNode",column:this.transformNode(n.column,o),dataType:this.transformNode(n.dataType,o),dataTypeExpression:this.transformNode(n.dataTypeExpression,o),setDefault:this.transformNode(n.setDefault,o),dropDefault:n.dropDefault,setNotNull:n.setNotNull,dropNotNull:n.dropNotNull}}transformModifyColumn(n,o){return{kind:"ModifyColumnNode",column:this.transformNode(n.column,o)}}transformAddConstraint(n,o){return{kind:"AddConstraintNode",constraint:this.transformNode(n.constraint,o)}}transformDropConstraint(n,o){return{kind:"DropConstraintNode",constraintName:this.transformNode(n.constraintName,o),ifExists:n.ifExists,modifier:n.modifier}}transformRenameConstraint(n,o){return{kind:"RenameConstraintNode",oldName:this.transformNode(n.oldName,o),newName:this.transformNode(n.newName,o)}}transformCreateView(n,o){return{kind:"CreateViewNode",name:this.transformNode(n.name,o),temporary:n.temporary,orReplace:n.orReplace,ifNotExists:n.ifNotExists,materialized:n.materialized,columns:this.transformNodeList(n.columns,o),as:this.transformNode(n.as,o)}}transformRefreshMaterializedView(n,o){return{kind:"RefreshMaterializedViewNode",name:this.transformNode(n.name,o),concurrently:n.concurrently,withNoData:n.withNoData}}transformDropView(n,o){return{kind:"DropViewNode",name:this.transformNode(n.name,o),ifExists:n.ifExists,materialized:n.materialized,cascade:n.cascade}}transformGenerated(n,o){return{kind:"GeneratedNode",byDefault:n.byDefault,always:n.always,identity:n.identity,stored:n.stored,expression:this.transformNode(n.expression,o)}}transformDefaultValue(n,o){return{kind:"DefaultValueNode",defaultValue:this.transformNode(n.defaultValue,o)}}transformOn(n,o){return{kind:"OnNode",on:this.transformNode(n.on,o)}}transformSelectModifier(n,o){return{kind:"SelectModifierNode",modifier:n.modifier,rawModifier:this.transformNode(n.rawModifier,o),of:this.transformNodeList(n.of,o)}}transformCreateType(n,o){return{kind:"CreateTypeNode",name:this.transformNode(n.name,o),enum:this.transformNode(n.enum,o)}}transformDropType(n,o){return{kind:"DropTypeNode",name:this.transformNode(n.name,o),additionalNames:this.transformNodeList(n.additionalNames,o),cascade:n.cascade,ifExists:n.ifExists}}transformExplain(n,o){return{kind:"ExplainNode",format:n.format,options:this.transformNode(n.options,o)}}transformSchemableIdentifier(n,o){return{kind:"SchemableIdentifierNode",schema:this.transformNode(n.schema,o),identifier:this.transformNode(n.identifier,o)}}transformAggregateFunction(n,o){return{kind:"AggregateFunctionNode",func:n.func,aggregated:this.transformNodeList(n.aggregated,o),distinct:n.distinct,orderBy:this.transformNode(n.orderBy,o),withinGroup:this.transformNode(n.withinGroup,o),filter:this.transformNode(n.filter,o),over:this.transformNode(n.over,o)}}transformOver(n,o){return{kind:"OverNode",orderBy:this.transformNode(n.orderBy,o),partitionBy:this.transformNode(n.partitionBy,o)}}transformPartitionBy(n,o){return{kind:"PartitionByNode",items:this.transformNodeList(n.items,o)}}transformPartitionByItem(n,o){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(n.partitionBy,o)}}transformBinaryOperation(n,o){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(n.leftOperand,o),operator:this.transformNode(n.operator,o),rightOperand:this.transformNode(n.rightOperand,o)}}transformUnaryOperation(n,o){return{kind:"UnaryOperationNode",operator:this.transformNode(n.operator,o),operand:this.transformNode(n.operand,o)}}transformUsing(n,o){return{kind:"UsingNode",tables:this.transformNodeList(n.tables,o)}}transformFunction(n,o){return{kind:"FunctionNode",func:n.func,arguments:this.transformNodeList(n.arguments,o)}}transformCase(n,o){return{kind:"CaseNode",value:this.transformNode(n.value,o),when:this.transformNodeList(n.when,o),else:this.transformNode(n.else,o),isStatement:n.isStatement}}transformWhen(n,o){return{kind:"WhenNode",condition:this.transformNode(n.condition,o),result:this.transformNode(n.result,o)}}transformJSONReference(n,o){return{kind:"JSONReferenceNode",reference:this.transformNode(n.reference,o),traversal:this.transformNode(n.traversal,o)}}transformJSONPath(n,o){return{kind:"JSONPathNode",inOperator:this.transformNode(n.inOperator,o),pathLegs:this.transformNodeList(n.pathLegs,o)}}transformJSONPathLeg(n,o){return{kind:"JSONPathLegNode",type:n.type,value:n.value}}transformJSONOperatorChain(n,o){return{kind:"JSONOperatorChainNode",operator:this.transformNode(n.operator,o),values:this.transformNodeList(n.values,o)}}transformTuple(n,o){return{kind:"TupleNode",values:this.transformNodeList(n.values,o)}}transformMergeQuery(n,o){return{kind:"MergeQueryNode",into:this.transformNode(n.into,o),using:this.transformNode(n.using,o),whens:this.transformNodeList(n.whens,o),with:this.transformNode(n.with,o),top:this.transformNode(n.top,o),endModifiers:this.transformNodeList(n.endModifiers,o),output:this.transformNode(n.output,o),returning:this.transformNode(n.returning,o)}}transformMatched(n,o){return{kind:"MatchedNode",not:n.not,bySource:n.bySource}}transformAddIndex(n,o){return{kind:"AddIndexNode",name:this.transformNode(n.name,o),columns:this.transformNodeList(n.columns,o),unique:n.unique,using:this.transformNode(n.using,o),ifNotExists:n.ifNotExists}}transformCast(n,o){return{kind:"CastNode",expression:this.transformNode(n.expression,o),dataType:this.transformNode(n.dataType,o)}}transformFetch(n,o){return{kind:"FetchNode",rowCount:this.transformNode(n.rowCount,o),modifier:n.modifier}}transformTop(n,o){return{kind:"TopNode",expression:n.expression,modifiers:n.modifiers}}transformOutput(n,o){return{kind:"OutputNode",selections:this.transformNodeList(n.selections,o)}}transformAlterType(n,o){return{kind:"AlterTypeNode",name:this.transformNode(n.name,o),addValue:this.transformNode(n.addValue,o),renameTo:this.transformNode(n.renameTo,o),renameValue:this.transformNode(n.renameValue,o),setSchema:this.transformNode(n.setSchema,o)}}transformAddValue(n,o){return{kind:"AddValueNode",value:this.transformNode(n.value,o),ifNotExists:n.ifNotExists,isBefore:n.isBefore,neighborValue:this.transformNode(n.neighborValue,o)}}transformRenameValue(n,o){return{kind:"RenameValueNode",oldValue:this.transformNode(n.oldValue,o),newValue:this.transformNode(n.newValue,o)}}transformDataType(n,o){return n}transformSelectAll(n,o){return n}transformIdentifier(n,o){return n}transformValue(n,o){return n}transformPrimitiveValueList(n,o){return n}transformOperator(n,o){return n}transformDefaultInsertValue(n,o){return n}transformOrAction(n,o){return n}transformCollate(n,o){return n}}function Dd(n){return M(n)&&w(n.kind)}var Rc={AlterTableNode:!0,AlterTypeNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,RefreshMaterializedViewNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0};function Od(n){return Dd(n)&&Rc[n.kind]===!0}var Ic=d({json_agg:!0,to_json:!0});class Zn extends ei{#e;#t=new Set;#r=new Set;constructor(n){super();this.#e=n}transformNodeImpl(n,o){if(!Od(n))return super.transformNodeImpl(n,o);let s=this.#a(n);for(let p of s)this.#r.add(p);let a=this.#o(n);for(let p of a)this.#t.add(p);let c=super.transformNodeImpl(n,o);for(let p of a)this.#t.delete(p);for(let p of s)this.#r.delete(p);return c}transformSchemableIdentifier(n,o){let s=super.transformSchemableIdentifier(n,o);if(s.schema||!this.#t.has(n.identifier.name))return s;return{...s,schema:ot.create(this.#e)}}transformReferences(n,o){let s=super.transformReferences(n,o);if(s.table.table.schema)return s;return{...s,table:Oc.createWithSchema(this.#e,s.table.table.identifier.name)}}transformAggregateFunction(n,o){return{...super.transformAggregateFunction({...n,aggregated:[]},o),aggregated:this.#i(n,o,"aggregated")}}transformFunction(n,o){return{...super.transformFunction({...n,arguments:[]},o),arguments:this.#i(n,o,"arguments")}}transformSelectModifier(n,o){return{...super.transformSelectModifier({...n,of:void 0},o),of:n.of?.map((s)=>Oc.is(s)&&!s.table.schema?{...s,table:this.transformIdentifier(s.table.identifier,o)}:this.transformNode(s,o))}}#i(n,o,s){return Ic[n.func]?n[s].map((a)=>!Oc.is(a)||a.table.schema?this.transformNode(a,o):{...a,table:this.transformIdentifier(a.table.identifier,o)}):this.transformNodeList(n[s],o)}#o(n){let o=new Set;if("name"in n&&n.name&&ae.is(n.name))this.#s(n.name,o);if("from"in n&&n.from)for(let s of n.from.froms)this.#n(s,o);if("into"in n&&n.into)this.#n(n.into,o);if("table"in n&&n.table)this.#n(n.table,o);if("joins"in n&&n.joins)for(let s of n.joins)this.#n(s.table,o);if("using"in n&&n.using)if(Ae.is(n.using))this.#n(n.using.table,o);else this.#n(n.using,o);return o}#a(n){let o=new Set;if("with"in n&&n.with)this.#c(n.with,o);return o}#n(n,o){if(Oc.is(n))return this.#s(n.table,o);if(Ts.is(n)&&Oc.is(n.node))return this.#s(n.node.table,o);if($i.is(n)){for(let s of n.items)this.#n(s,o);return}if(jr.is(n)){for(let s of n.tables)this.#n(s,o);return}}#s(n,o){let s=n.identifier.name;if(!this.#t.has(s)&&!this.#r.has(s))o.add(s)}#c(n,o){for(let s of n.expressions){let a=s.name.table.table.identifier.name;if(!this.#r.has(a))o.add(a)}}}class $e{#e;constructor(n){this.#e=new Zn(n)}transformQuery(n){return this.#e.transformNode(n.node,n.queryId)}async transformResult(n){return n.result}}var Rd=d({is(n){return n.kind==="MatchedNode"},create(n,o=!1){return d({kind:"MatchedNode",not:n,bySource:o})}});function eo(n,o,s){return fe.create(sr([Rd.create(!n.isMatched,n.bySource),...o&&o.length>0?[o.length===3&&s?z(o[0],o[1],o[2]):P(o)]:[]],"and",!1))}function pr(n){if(w(n))return k.create([n],[]);if(D(n))return n.toOperationNode();return n}class pt{#e;#t;#r;constructor(){this.#e=new Promise((n,o)=>{this.#r=o,this.#t=n})}get promise(){return this.#e}resolve=(n)=>{this.#t?.(n),this.#t=this.#r=void 0};reject=(n)=>{this.#r?.(n),this.#r=this.#t=void 0}}async function fr(n,o){let s=new pt,a=new pt;return n.provideConnection(async(c)=>(s.resolve(c),await a.promise),o).catch((c)=>s.reject(c)),d({connection:await s.promise,release:a.resolve})}function Pd(n="ignore query",o,s){if(n==="ignore query")return;if(n==="cancel query"){let a=o.cancelQuery;if(!a)s(),Id(n,o.killSession?"kill session":void 0);return a.bind(o)}if(n==="kill session"){let a=o.killSession;if(!a)s(),Id(n,o.cancelQuery?"cancel query":void 0);return a.bind(o)}throw s(),Error(`Unexpected \`inflightQueryAbortStrategy\`: "${n}"`)}function Id(n,o){throw Error(`This dialect doesn't support \`inflightQueryAbortStrategy\` "${n}". Use "ignore query"${o?` or "${o}"`:""} instead.`)}function ft(n,o,s){if(n?.aborted)s?.(),It(n.reason,o)}function It(n,o){throw Pc(n,o),n}var Ee={};async function hr(n,o,s,a){if(!o)return n;ft(o,`before ${s}`,a);let{promise:c,resolve:p}=new pt,h=()=>p(Ee);o.addEventListener("abort",h);try{ft(o,`before ${s}`,a);let _=await Promise.race([n,c]);if(_!==Ee)return _;a?.(),It(o.reason,`during ${s}`)}finally{o.removeEventListener("abort",h),p(Ee)}}function Xe(n){return(o)=>console.error(`\`${n}\` failed in the background after abortion: ${Ua(o)}`)}function Pc(n,o){if(n!==null&&typeof n==="object"&&!Object.isFrozen(n))Object.defineProperty(n,"__kysely_timing__",{configurable:!0,enumerable:!1,value:o,writable:!1})}var Lc=d([]);class ti{#e;constructor(n=Lc){this.#e=n}get plugins(){return this.#e}transformQuery(n,o){for(let s of this.#e){let a=s.transformQuery({node:n,queryId:o});if(a.kind===n.kind)n=a;else throw Error(["KyselyPlugin.transformQuery must return a node","of the same kind that was given to it.",`The plugin was given a ${n.kind}`,`but it returned a ${a.kind}`].join(" "))}return n}async executeQuery(n,o){let{inflightQueryAbortStrategy:s="ignore query",signal:a}=o||{};if(!a){let N=await this.provideConnection(async(C)=>await C.executeQuery(n),o);return await this.#t(N,n.queryId)}ft(a,"before query execution"),o=d({signal:a});let{connection:c,release:p}=await fr(this,o),h=this.provideConnection.bind(this),{promise:_,resolve:y}=new pt,x=()=>y(Ee);a.addEventListener("abort",x,{once:!0});try{ft(a,"before query execution",p);let N=Pd(s,c,p);if(N&&c.collectSessionInfo){ft(a,"before query execution",p);let ut=c.collectSessionInfo();if(await Promise.race([_,ut]).catch((fc)=>{throw p(),fc})===Ee)ut.catch(Xe("collectSessionInfo")).finally(p),It(a.reason,"before query execution")}let C=c.executeQuery(n,o),V=await Promise.race([_,C]).catch((ut)=>{throw p(),ut});if(V===Ee)Promise.allSettled([C.catch(Xe("query")),N?.(h).catch(Xe("inflightQueryAbortHandler"))]).finally(p),It(a.reason,"during query execution");else p();let re=this.#t(V,n.queryId,o),de=await Promise.race([_,re]);if(de===Ee)re.catch(Xe("plugins.transformResult")),It(a.reason,"during result transformation");return de}finally{y(Ee),a.removeEventListener("abort",x)}}async*stream(n,o,s){let{signal:a}=s||{};if(!a){let{connection:V,release:re}=await fr(this);try{for await(let de of V.streamQuery(n,o))yield await this.#t(de,n.queryId,s)}finally{re()}return}s=d({signal:a}),ft(a,"before connection acquisition");let{connection:c,release:p}=await fr(this,s),{promise:h,resolve:_}=new pt,y=()=>_(Ee);a.addEventListener("abort",y,{once:!0});let x,N;ft(a,"before query streaming",p);let{queryId:C}=n;try{x=c.streamQuery(n,o,s);while(!0){ft(a,"during query streaming");let V=x.next(),re=await Promise.race([h,V]);if(re===Ee)N=V.catch(Xe("iterator.next")),It(a.reason,"during query streaming");if(re.done)break;let de=this.#t(re.value,C,s),ut=await Promise.race([h,de]);if(ut===Ee)N=de.catch(Xe("plugins.transformResult")),It(a.reason,"during result transformation");yield ut}}finally{_(Ee),a.removeEventListener("abort",y);let V=(x?.return?.()||Promise.resolve()).finally(()=>N).finally(p);if(!N)await V}}async#t(n,o,s){let{signal:a}=s||{};for(let c of this.#e)n=await c.transformResult(d({queryId:o,result:n,signal:a}));return n}}class yr extends ti{get adapter(){throw Error("this query cannot be compiled to SQL")}compileQuery(){throw Error("this query cannot be compiled to SQL")}provideConnection(){throw Error("this query cannot be executed")}withConnectionProvider(){throw Error("this query cannot have a connection provider")}withPlugin(n){return new yr([...this.plugins,n])}withPlugins(n){return new yr([...this.plugins,...n])}withPluginAtFront(n){return new yr([n,...this.plugins])}withoutPlugins(){return new yr([])}}var Pt=new yr;class to{numChangedRows;constructor(n){this.numChangedRows=n}}class ht{#e;constructor(n){this.#e=d(n)}modifyEnd(n){return new ht({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new ht({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}using(...n){return new he({...this.#e,queryNode:Ce.cloneWithUsing(this.#e.queryNode,Rt("Using",n))})}returning(n){return new ht({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new ht({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new ht({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new ht({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}}class he{#e;constructor(n){this.#e=d(n)}modifyEnd(n){return new he({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,n.toOperationNode())})}top(n,o){return new he({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}whenMatched(){return this.#t([])}whenMatchedAnd(...n){return this.#t(n)}whenMatchedAndRef(n,o,s){return this.#t([n,o,s],!0)}#t(n,o){return new ro({...this.#e,queryNode:Ce.cloneWithWhen(this.#e.queryNode,eo({isMatched:!0},n,o))})}whenNotMatched(){return this.#r([])}whenNotMatchedAnd(...n){return this.#r(n)}whenNotMatchedAndRef(n,o,s){return this.#r([n,o,s],!0)}whenNotMatchedBySource(){return this.#r([],!1,!0)}whenNotMatchedBySourceAnd(...n){return this.#r(n,!1,!0)}whenNotMatchedBySourceAndRef(n,o,s){return this.#r([n,o,s],!0,!0)}returning(n){return new he({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,H(n))})}returningAll(n){return new he({...this.#e,queryNode:g.cloneWithReturning(this.#e.queryNode,te(n))})}output(n){return new he({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,H(n))})}outputAll(n){return new he({...this.#e,queryNode:g.cloneWithOutput(this.#e.queryNode,te(n))})}#r(n,o=!1,s=!1){let a={...this.#e,queryNode:Ce.cloneWithWhen(this.#e.queryNode,eo({isMatched:!1,bySource:s},n,o))};return new(s?ro:Ld)(a)}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new he({...this.#e})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile(),s=await this.#e.executor.executeQuery(o,n),{adapter:a}=this.#e.executor,c=o.query;if(c.returning&&a.supportsReturning||c.output&&a.supportsOutput)return s.rows;return[new to(s.numAffectedRows)]}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}}class ro{#e;constructor(n){this.#e=d(n)}thenDelete(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("delete"))})}thenDoNothing(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenUpdate(n){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr(n(new lr({queryId:this.#e.queryId,executor:Pt,queryNode:je.createWithoutTable()}))))})}thenUpdateSet(...n){return this.thenUpdate((o)=>o.set(...n))}}class Ld{#e;constructor(n){this.#e=d(n)}thenDoNothing(){return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr("do nothing"))})}thenInsertValues(n){let[o,s]=Ui(n);return new he({...this.#e,queryNode:Ce.cloneWithThen(this.#e.queryNode,pr(K.cloneWith(K.createWithoutInto(),{columns:o,values:s})))})}}class Ze{#e;constructor(n){this.#e=d(n)}selectFrom(n){return ri({queryId:b(),executor:this.#e.executor,queryNode:S.createFrom(Ke(n),this.#e.withNode)})}selectNoFrom(n){return ri({queryId:b(),executor:this.#e.executor,queryNode:S.cloneWithSelections(S.create(this.#e.withNode),H(n))})}insertInto(n){return new R({queryId:b(),executor:this.#e.executor,queryNode:K.create(T(n),this.#e.withNode)})}replaceInto(n){return new R({queryId:b(),executor:this.#e.executor,queryNode:K.create(T(n),this.#e.withNode,!0)})}deleteFrom(n){return new Vi({queryId:b(),executor:this.#e.executor,queryNode:Ot.create(Ke(n),this.#e.withNode)})}updateTable(n){return new lr({queryId:b(),executor:this.#e.executor,queryNode:je.create(Ke(n),this.#e.withNode)})}mergeInto(n){return new ht({queryId:b(),executor:this.#e.executor,queryNode:Ce.create(io(n),this.#e.withNode)})}with(n,o){let s=Xn(n,o);return new Ze({...this.#e,withNode:this.#e.withNode?Zr.cloneWithExpression(this.#e.withNode,s):Zr.create(s)})}withRecursive(n,o){let s=Xn(n,o);return new Ze({...this.#e,withNode:this.#e.withNode?Zr.cloneWithExpression(this.#e.withNode,s):Zr.create(s,{recursive:!0})})}withPlugin(n){return new Ze({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Ze({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Ze({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}}function Ed(){return new Ze({executor:Pt})}function Ad(n,o){return new ar({joinNode:Ae.create(n,$t(o))})}function Bd(){return new dr({overNode:Jr.create()})}function Rt(n,o){if(o.length===3)return Bc(n,o[0],o[1],o[2]);else if(o.length===2)return Ac(n,o[0],o[1]);else if(o.length===1)return Wc(n,o[0]);else throw Error("not implemented")}function Ac(n,o,s){return s(Ad(n,o)).toOperationNode()}function Bc(n,o,s,a){return Ae.createWithOn(n,$t(o),z(s,"=",a))}function Wc(n,o){return Ae.create(n,$t(o))}var Wd=d({is(n){return n.kind==="OffsetNode"},create(n){return d({kind:"OffsetNode",offset:n})}});var Md=d({is(n){return n.kind==="GroupByItemNode"},create(n){return d({kind:"GroupByItemNode",groupBy:n})}});function qd(n){return n=W(n)?n(Me()):n,lt(n).map(Md.create)}var Qi=d({is(n){return n.kind==="SetOperationNode"},create(n,o,s){return d({kind:"SetOperationNode",operator:n,expression:o,all:s})}});function Gt(n,o,s){if(W(o))o=o(no());if(!se(o))o=[o];return o.map((a)=>Qi.create(n,ee(a),s))}class Ir{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}or(...n){return new zi(Le.create(this.#e,P(n)))}and(...n){return new Ji(me.create(this.#e,P(n)))}$castTo(){return new Ir(this.#e)}$notNull(){return new Ir(this.#e)}toOperationNode(){return this.#e}}class ji{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Ts.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}class zi{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}or(...n){return new zi(Le.create(this.#e,P(n)))}$castTo(){return new zi(this.#e)}toOperationNode(){return be.create(this.#e)}}class Ji{#e;constructor(n){this.#e=n}get expressionType(){return}as(n){return new ji(this,n)}and(...n){return new Ji(me.create(this.#e,P(n)))}$castTo(){return new Ji(this.#e)}toOperationNode(){return be.create(this.#e)}}var Fd=d({is(n){return n.kind==="FetchNode"},create(n,o){return{kind:"FetchNode",rowCount:Gn.create(n),modifier:o}}});function Kd(n,o){if(!Ct(n)&&!Zt(n))throw Error(`Invalid fetch row count: ${n}`);if(!qc(o))throw Error(`Invalid fetch modifier: ${o}`);return Fd.create(n,o)}function qc(n){return n==="only"||n==="with ties"}var v;class oo{#e;constructor(n){this.#e=d(n)}get expressionType(){return}get isSelectQueryBuilder(){return!0}where(...n){return new v({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,P(n))})}whereRef(n,o,s){return new v({...this.#e,queryNode:g.cloneWithWhere(this.#e.queryNode,z(n,o,s))})}having(...n){return new v({...this.#e,queryNode:S.cloneWithHaving(this.#e.queryNode,P(n))})}havingRef(n,o,s){return new v({...this.#e,queryNode:S.cloneWithHaving(this.#e.queryNode,z(n,o,s))})}select(n){return new v({...this.#e,queryNode:S.cloneWithSelections(this.#e.queryNode,H(n))})}distinctOn(n){return new v({...this.#e,queryNode:S.cloneWithDistinctOn(this.#e.queryNode,lt(n))})}modifyFront(n){return new v({...this.#e,queryNode:S.cloneWithFrontModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}modifyEnd(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.createWithExpression(n.toOperationNode()))})}distinct(){return new v({...this.#e,queryNode:S.cloneWithFrontModifier(this.#e.queryNode,Je.create("Distinct"))})}forUpdate(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForUpdate",n?Ur(n).map(T):void 0))})}forShare(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForShare",n?Ur(n).map(T):void 0))})}forKeyShare(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForKeyShare",n?Ur(n).map(T):void 0))})}forNoKeyUpdate(n){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("ForNoKeyUpdate",n?Ur(n).map(T):void 0))})}skipLocked(){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("SkipLocked"))})}noWait(){return new v({...this.#e,queryNode:g.cloneWithEndModifier(this.#e.queryNode,Je.create("NoWait"))})}selectAll(n){return new v({...this.#e,queryNode:S.cloneWithSelections(this.#e.queryNode,te(n))})}innerJoin(...n){return this.#t("InnerJoin",n)}leftJoin(...n){return this.#t("LeftJoin",n)}rightJoin(...n){return this.#t("RightJoin",n)}fullJoin(...n){return this.#t("FullJoin",n)}crossJoin(...n){return this.#t("CrossJoin",n)}innerJoinLateral(...n){return this.#t("LateralInnerJoin",n)}leftJoinLateral(...n){return this.#t("LateralLeftJoin",n)}crossJoinLateral(...n){return this.#t("LateralCrossJoin",n)}crossApply(...n){return this.#t("CrossApply",n)}outerApply(...n){return this.#t("OuterApply",n)}#t(n,o){return new v({...this.#e,queryNode:g.cloneWithJoin(this.#e.queryNode,Rt(n,o))})}orderBy(...n){return new v({...this.#e,queryNode:g.cloneWithOrderByItems(this.#e.queryNode,ve(n))})}groupBy(n){return new v({...this.#e,queryNode:S.cloneWithGroupByItems(this.#e.queryNode,qd(n))})}limit(n){return new v({...this.#e,queryNode:S.cloneWithLimit(this.#e.queryNode,cr.create(O(n)))})}offset(n){return new v({...this.#e,queryNode:S.cloneWithOffset(this.#e.queryNode,Wd.create(O(n)))})}fetch(n,o="only"){return new v({...this.#e,queryNode:S.cloneWithFetch(this.#e.queryNode,Kd(n,o))})}top(n,o){return new v({...this.#e,queryNode:g.cloneWithTop(this.#e.queryNode,Fe(n,o))})}union(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("union",n,!1))})}unionAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("union",n,!0))})}intersect(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("intersect",n,!1))})}intersectAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("intersect",n,!0))})}except(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("except",n,!1))})}exceptAll(n){return new v({...this.#e,queryNode:S.cloneWithSetOperations(this.#e.queryNode,Gt("except",n,!0))})}as(n){return new $d(this,n)}clearSelect(){return new v({...this.#e,queryNode:S.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new v({...this.#e,queryNode:g.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new v({...this.#e,queryNode:S.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new v({...this.#e,queryNode:S.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new v({...this.#e,queryNode:g.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new v({...this.#e,queryNode:S.cloneWithoutGroupBy(this.#e.queryNode)})}$call(n){return n(this)}$if(n,o){if(n)return o(this);return new v({...this.#e})}$castTo(){return new v(this.#e)}$narrowType(){return new v(this.#e)}$assertType(){return new v(this.#e)}$asTuple(){return new Ir(this.toOperationNode())}$asScalar(){return new Ir(this.toOperationNode())}withPlugin(n){return new v({...this.#e,executor:this.#e.executor.withPlugin(n)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){let o=this.compile();return(await this.#e.executor.executeQuery(o,n)).rows}async executeTakeFirst(n){let[o]=await this.execute(n);return o}async executeTakeFirstOrThrow(n){if(typeof n==="function")n={errorConstructor:n};let o=await this.executeTakeFirst(n);if(o===void 0){let s=n?.errorConstructor??qe;throw He(s)?new s(this.toOperationNode()):s(this.toOperationNode())}return o}async*stream(n){if(typeof n!=="object")n={chunkSize:n};let o=this.compile(),s=this.#e.executor.stream(o,n.chunkSize??100,n);for await(let a of s)yield*a.rows}async explain(n,o){return await new v({...this.#e,queryNode:g.cloneWithExplain(this.#e.queryNode,n,o)}).execute()}}v=oo;function ri(n){return new oo(n)}class $d{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return Ts.create(this.#e.toOperationNode(),ot.create(this.#t))}}var et=d({is(n){return n.kind==="AggregateFunctionNode"},create(n,o=[]){return d({kind:"AggregateFunctionNode",func:n,aggregated:o})},cloneWithDistinct(n){return d({...n,distinct:!0})},cloneWithOrderBy(n,o,s=!1){let a=s?"withinGroup":"orderBy";return d({...n,[a]:n[a]?mt.cloneWithItems(n[a],o):mt.create(o)})},cloneWithFilter(n,o){return d({...n,filter:n.filter?ie.cloneWithOperation(n.filter,"And",o):ie.create(o)})},cloneWithOrFilter(n,o){return d({...n,filter:n.filter?ie.cloneWithOperation(n.filter,"Or",o):ie.create(o)})},cloneWithOver(n,o){return d({...n,over:o})}});var so=d({is(n){return n.kind==="FunctionNode"},create(n,o){return d({kind:"FunctionNode",func:n,arguments:o})}});class ye{#e;constructor(n){this.#e=d(n)}get expressionType(){return}as(n){return new Gd(this,n)}distinct(){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithDistinct(this.#e.aggregateFunctionNode)})}orderBy(...n){return new ye({...this.#e,aggregateFunctionNode:g.cloneWithOrderByItems(this.#e.aggregateFunctionNode,ve(n))})}clearOrderBy(){return new ye({...this.#e,aggregateFunctionNode:g.cloneWithoutOrderBy(this.#e.aggregateFunctionNode)})}withinGroupOrderBy(...n){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithOrderBy(this.#e.aggregateFunctionNode,ve(n),!0)})}filterWhere(...n){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,P(n))})}filterWhereRef(n,o,s){return new ye({...this.#e,aggregateFunctionNode:et.cloneWithFilter(this.#e.aggregateFunctionNode,z(n,o,s))})}over(n){let o=Bd();return new ye({...this.#e,aggregateFunctionNode:et.cloneWithOver(this.#e.aggregateFunctionNode,(n?n(o):o).toOperationNode())})}$call(n){return n(this)}$castTo(){return new ye(this.#e)}$notNull(){return new ye(this.#e)}toOperationNode(){return this.#e.aggregateFunctionNode}}class Gd{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Ts.create(this.#e.toOperationNode(),ot.create(this.#t))}}function Hi(){let n=(s,a)=>new Ir(so.create(s,lt(a??[]))),o=(s,a)=>new ye({aggregateFunctionNode:et.create(s,a?lt(a):void 0)});return Object.assign(n,{agg:o,avg(s){return o("avg",[s])},coalesce(...s){return n("coalesce",s)},count(s){return o("count",[s])},countAll(s){return new ye({aggregateFunctionNode:et.create("count",te(s))})},max(s){return o("max",[s])},min(s){return o("min",[s])},sum(s){return o("sum",[s])},any(s){return n("any",[s])},jsonAgg(s){return new ye({aggregateFunctionNode:et.create("json_agg",[w(s)?T(s):s.toOperationNode()])})},toJson(s){return new Ir(so.create("to_json",[w(s)?T(s):s.toOperationNode()]))}})}var Ud=d({is(n){return n.kind==="UnaryOperationNode"},create(n,o){return d({kind:"UnaryOperationNode",operator:n,operand:o})}});function Vd(n,o){if(id(n))return Ud.create(we.create(n),j(o));throw Error(`invalid unary operator ${JSON.stringify(n)}`)}var ne=d({is(n){return n.kind==="CaseNode"},create(n){return d({kind:"CaseNode",value:n})},cloneWithWhen(n,o){return d({...n,when:d(n.when?[...n.when,o]:[o])})},cloneWithThen(n,o){return d({...n,when:n.when?d([...n.when.slice(0,-1),fe.cloneWithResult(n.when[n.when.length-1],o)]):void 0})},cloneWith(n,o){return d({...n,...o})}});class ni{#e;constructor(n){this.#e=d(n)}when(...n){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(P(n)))})}whenRef(n,o,s){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(z(n,o,s)))})}}class ii{#e;constructor(n){this.#e=d(n)}then(n){return new ao({...this.#e,node:ne.cloneWithThen(this.#e.node,qi(n)?zr(n):O(n))})}thenRef(n){return new ao({...this.#e,node:ne.cloneWithThen(this.#e.node,j(n))})}}class ao{#e;constructor(n){this.#e=d(n)}when(...n){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(P(n)))})}whenRef(n,o,s){return new ii({...this.#e,node:ne.cloneWithWhen(this.#e.node,fe.create(z(n,o,s)))})}else(n){return new uo({...this.#e,node:ne.cloneWith(this.#e.node,{else:qi(n)?zr(n):O(n)})})}elseRef(n){return new uo({...this.#e,node:ne.cloneWith(this.#e.node,{else:j(n)})})}end(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!0}))}}class uo{#e;constructor(n){this.#e=d(n)}end(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new Ir(ne.cloneWith(this.#e.node,{isStatement:!0}))}}var co=d({is(n){return n.kind==="JSONPathLegNode"},create(n,o){return d({kind:"JSONPathLegNode",type:n,value:o})}});var Fc=/^#-\d+$/;class si{#e;constructor(n){this.#e=n}at(n){if(typeof n!=="number"&&typeof n!=="string"||typeof n==="number"&&!Number.isInteger(n)||typeof n==="string"&&n!=="last"&&!Fc.test(n))throw Error(`Unexpected index value in .at(...): ${n}`);return this.#t("ArrayLocation",n)}key(n){return this.#t("Member",n)}#t(n,o){if(nr.is(this.#e))return new oi(nr.cloneWithTraversal(this.#e,St.is(this.#e.traversal)?St.cloneWithLeg(this.#e.traversal,co.create(n,o)):Wi.cloneWithValue(this.#e.traversal,Gn.createImmediate(o))));return new oi(St.cloneWithLeg(this.#e,co.create(n,o)))}}class oi extends si{#e;constructor(n){super(n);this.#e=n}get expressionType(){return}as(n){return new Qd(this,n)}$castTo(){return new oi(this.#e)}$notNull(){return new oi(this.#e)}toOperationNode(){return this.#e}}class Qd{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Ts.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}var lo=d({is(n){return n.kind==="TupleNode"},create(n){return d({kind:"TupleNode",values:d(n)})}});var Kc=d({bigint:!0,bigserial:!0,binary:!0,blob:!0,boolean:!0,bytea:!0,char:!0,date:!0,datemultirange:!0,daterange:!0,datetime:!0,datetime2:!0,decimal:!0,"double precision":!0,float4:!0,float8:!0,int2:!0,int4:!0,int4multirange:!0,int4range:!0,int8:!0,int8multirange:!0,int8range:!0,integer:!0,json:!0,jsonb:!0,numeric:!0,nummultirange:!0,numrange:!0,real:!0,serial:!0,smallint:!0,text:!0,time:!0,timestamp:!0,timestamptz:!0,timetz:!0,tsmultirange:!0,tsrange:!0,tstzmultirange:!0,tstzrange:!0,uuid:!0,varbinary:!0,varchar:!0}),$c=d([/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^datetime2\(\d+\)$/,/^varbinary\(\d+\)$/]),zd=d({is(n){return n.kind==="DataTypeNode"},create(n){return d({kind:"DataTypeNode",dataType:n})}});function Jd(n){return Kc[n]||$c.some((o)=>o.test(n))}function Ge(n){if(D(n))return n.toOperationNode();if(Jd(n))return zd.create(n);throw Error(`invalid column data type ${JSON.stringify(n)}`)}var jd=d({is(n){return n.kind==="CastNode"},create(n,o){return d({kind:"CastNode",expression:n,dataType:o})}});function no(n=Pt){function o(c,p,h){return new Ir(Ki(c,p,h))}function s(c,p){return new Ir(Vd(c,p))}let a=Object.assign(o,{fn:void 0,eb:void 0,selectFrom(c){return ri({queryId:b(),executor:n,queryNode:S.createFrom(Ke(c))})},case(c){return new ni({node:ne.create(ge(c)?void 0:j(c))})},ref(c,p){if(ge(p))return new Ir(pe(c));return new si(ad(c,p))},jsonPath(){return new si(St.create())},table(c){return new Ir(T(c))},val(c){return new Ir(O(c))},refTuple(...c){return new Ir(lo.create(c.map(j)))},tuple(...c){return new Ir(lo.create(c.map(O)))},lit(c){return new Ir(zr(c))},unary:s,not(c){return s("not",c)},exists(c){return s("exists",c)},neg(c){return s("-",c)},between(c,p,h){return new Ir(Tt.create(j(c),we.create("between"),me.create(O(p),O(h))))},betweenSymmetric(c,p,h){return new Ir(Tt.create(j(c),we.create("between symmetric"),me.create(O(p),O(h))))},and(c){if(se(c))return new Ir(sr(c,"and"));return new Ir(qn(c,"and"))},or(c){if(se(c))return new Ir(sr(c,"or"));return new Ir(qn(c,"or"))},parens(...c){let p=P(c);if(be.is(p))return new Ir(p);else return new Ir(be.create(p))},cast(c,p){return new Ir(jd.create(j(c),Ge(p)))}});return a.fn=Hi(),a.eb=a,a}function Me(n){return no()}function ee(n){if(D(n))return n.toOperationNode();else if(W(n))return n(Me()).toOperationNode();throw Error(`invalid expression: ${JSON.stringify(n)}`)}function Gi(n){if(D(n))return n.toOperationNode();else if(W(n))return n(Me()).toOperationNode();throw Error(`invalid aliased expression: ${JSON.stringify(n)}`)}function ct(n){return Pi(n)||Qa(n)||W(n)}class mo{#e;get table(){return this.#e}constructor(n){this.#e=n}as(n){return new Hd(this.#e,n)}}class Hd{#e;#t;get table(){return this.#e}get alias(){return this.#t}constructor(n,o){this.#e=n,this.#t=o}toOperationNode(){return Ts.create(T(this.#e),ot.create(this.#t))}}function Yd(n){return M(n)&&D(n)&&w(n.table)&&w(n.alias)}function Ke(n){if(se(n))return n.map((o)=>$t(o));else return[$t(n)]}function $t(n){if(w(n))return io(n);else if(Yd(n))return n.toOperationNode();else return Gi(n)}function io(n){if(n.includes(" as ")){let[s,a]=n.split(" as ").map(Xd);return Ts.create(T(s),ot.create(a))}else return T(n)}function T(n){if(n.includes(".")){let[s,a]=n.split(".").map(Xd);return Oc.createWithSchema(s,a)}else return Oc.create(n)}function Xd(n){return n.trim()}var fo=d({is(n){return n.kind==="AddColumnNode"},create(n){return d({kind:"AddColumnNode",column:n})}});var L=d({is(n){return n.kind==="ColumnDefinitionNode"},create(n,o){return d({kind:"ColumnDefinitionNode",column:tr.create(n),dataType:o})},cloneWithFrontModifier(n,o){return d({...n,frontModifiers:n.frontModifiers?d([...n.frontModifiers,o]):[o]})},cloneWithEndModifier(n,o){return d({...n,endModifiers:n.endModifiers?d([...n.endModifiers,o]):[o]})},cloneWith(n,o){return d({...n,...o})}});var ai=d({is(n){return n.kind==="DropColumnNode"},create(n){return d({kind:"DropColumnNode",column:tr.create(n)})},cloneWith(n,o){return d({...n,...o})}});var ho=d({is(n){return n.kind==="RenameColumnNode"},create(n,o){return d({kind:"RenameColumnNode",column:tr.create(n),renameTo:tr.create(o)})}});var xr=d({is(n){return n.kind==="CheckConstraintNode"},create(n,o){return d({kind:"CheckConstraintNode",expression:n,name:o?ot.create(o):void 0})}});var Zd=d({cascade:!0,"no action":!0,restrict:!0,"set default":!0,"set null":!0}),vS=Object.keys(Zd),Nr=d({is(n){return n.kind==="ReferencesNode"},create(n,o){return d({kind:"ReferencesNode",table:n,columns:d([...o])})},cloneWithOnDelete(n,o){return d({...n,onDelete:o})},cloneWithOnUpdate(n,o){return d({...n,onUpdate:o})}});function eu(n){return w(n)&&Zd[n]}function Yi(n){return D(n)?n.toOperationNode():Gn.createImmediate(n)}var di=d({is(n){return n.kind==="GeneratedNode"},create(n){return d({kind:"GeneratedNode",...n})},createWithExpression(n){return d({kind:"GeneratedNode",always:!0,expression:n})},cloneWith(n,o){return d({...n,...o})}});var tu=d({is(n){return n.kind==="DefaultValueNode"},create(n){return d({kind:"DefaultValueNode",defaultValue:n})}});function gr(n){if(eu(n))return n;throw Error(`invalid OnModifyForeignAction ${n}`)}class A{#e;constructor(n){this.#e=n}autoIncrement(){return new A(L.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new A(L.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new A(L.cloneWith(this.#e,{primaryKey:!0}))}references(n){let o=pe(n);if(!o.table||rr.is(o.column))throw Error(`invalid call references('${n}'). The reference must have format table.column or schema.table.column`);return new A(L.cloneWith(this.#e,{references:Nr.create(o.table,[o.column])}))}onDelete(n){if(!this.#e.references)throw Error("on delete constraint can only be added for foreign keys");return new A(L.cloneWith(this.#e,{references:Nr.cloneWithOnDelete(this.#e.references,gr(n))}))}onUpdate(n){if(!this.#e.references)throw Error("on update constraint can only be added for foreign keys");return new A(L.cloneWith(this.#e,{references:Nr.cloneWithOnUpdate(this.#e.references,gr(n))}))}unique(){return new A(L.cloneWith(this.#e,{unique:!0}))}notNull(){return new A(L.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new A(L.cloneWith(this.#e,{unsigned:!0}))}defaultTo(n){return new A(L.cloneWith(this.#e,{defaultTo:tu.create(Yi(n))}))}check(n){return new A(L.cloneWith(this.#e,{check:xr.create(n.toOperationNode())}))}generatedAlwaysAs(n){return new A(L.cloneWith(this.#e,{generated:di.createWithExpression(n.toOperationNode())}))}generatedAlwaysAsIdentity(){return new A(L.cloneWith(this.#e,{generated:di.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new A(L.cloneWith(this.#e,{generated:di.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw Error("stored() can only be called after generatedAlwaysAs");return new A(L.cloneWith(this.#e,{generated:di.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(n){return new A(L.cloneWithFrontModifier(this.#e,n.toOperationNode()))}nullsNotDistinct(){return new A(L.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new A(L.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(n){return new A(L.cloneWithEndModifier(this.#e,n.toOperationNode()))}$call(n){return n(this)}toOperationNode(){return this.#e}}var _o=d({is(n){return n.kind==="ModifyColumnNode"},create(n){return d({kind:"ModifyColumnNode",column:n})}});var Ue=d({is(n){return n.kind==="ForeignKeyConstraintNode"},create(n,o,s,a){return d({kind:"ForeignKeyConstraintNode",columns:n,references:Nr.create(o,s),name:a?ot.create(a):void 0})},cloneWith(n,o){return d({...n,...o})}});class Ve{#e;constructor(n){this.#e=n}onDelete(n){return new Ve(Ue.cloneWith(this.#e,{onDelete:gr(n)}))}onUpdate(n){return new Ve(Ue.cloneWith(this.#e,{onUpdate:gr(n)}))}deferrable(){return new Ve(Ue.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new Ve(Ue.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new Ve(Ue.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new Ve(Ue.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}var wr=d({is(n){return n.kind==="AddConstraintNode"},create(n){return d({kind:"AddConstraintNode",constraint:n})}});var tt=d({is(n){return n.kind==="UniqueConstraintNode"},create(n,o,s){if(w(n.at(0)))ir("`UniqueConstraintNode.create(columns: string[], ...)` is deprecated - pass `ColumnNode[]` instead."),n=n.map(tr.create);return d({kind:"UniqueConstraintNode",columns:d(n),name:o?ot.create(o):void 0,nullsNotDistinct:s})},cloneWith(n,o){return d({...n,...o})}});var vr=d({is(n){return n.kind==="DropConstraintNode"},create(n){return d({kind:"DropConstraintNode",constraintName:ot.create(n)})},cloneWith(n,o){return d({...n,...o})}});var br=d({is(n){return n.kind==="AlterColumnNode"},create(n,o,s){return d({kind:"AlterColumnNode",column:tr.create(n),[o]:s})}});class Xi{#e;constructor(n){this.#e=n}setDataType(n){return new Cr(br.create(this.#e,"dataType",Ge(n)))}setDefault(n){return new Cr(br.create(this.#e,"setDefault",Yi(n)))}dropDefault(){return new Cr(br.create(this.#e,"dropDefault",!0))}setNotNull(){return new Cr(br.create(this.#e,"setNotNull",!0))}dropNotNull(){return new Cr(br.create(this.#e,"dropNotNull",!0))}$call(n){return n(this)}}class Cr{#e;constructor(n){this.#e=n}toOperationNode(){return this.#e}}class Lt{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class _t{#e;constructor(n){this.#e=d(n)}onDelete(n){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(n)})}onUpdate(n){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(n)})}deferrable(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new _t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Ut{#e;constructor(n){this.#e=d(n)}ifExists(){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.cloneWith(this.#e.node.dropConstraint,{modifier:"restrict"})})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var yt=d({is(n){return n.kind==="PrimaryKeyConstraintNode"},create(n,o){return d({kind:"PrimaryKeyConstraintNode",columns:d(n.map(tr.create)),name:o?ot.create(o):void 0})},cloneWith(n,o){return d({...n,...o})}});var Te=d({is(n){return n.kind==="AddIndexNode"},create(n){return d({kind:"AddIndexNode",name:ot.create(n)})},cloneWith(n,o){return d({...n,...o})},cloneWithColumns(n,o){return d({...n,columns:[...n.columns||[],...o]})}});class At{#e;constructor(n){this.#e=d(n)}unique(){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,[w(n)?or(n):n.toOperationNode()])})})}columns(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,n.map((o)=>w(o)?or(o):o.toOperationNode()))})})}expression(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWithColumns(this.#e.node.addIndex,[n.toOperationNode()])})})}using(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.cloneWith(this.#e.node.addIndex,{using:k.createWithSql(n)})})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class rt{#e;constructor(n){this.#e=n}nullsNotDistinct(){return new rt(tt.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new rt(tt.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new rt(tt.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new rt(tt.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new rt(tt.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class xt{#e;constructor(n){this.#e=n}deferrable(){return new xt(yt.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new xt(yt.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new xt(yt.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new xt(yt.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class ui{#e;constructor(n){this.#e=n}$call(n){return n(this)}toOperationNode(){return this.#e}}var ru=d({is(n){return n.kind==="RenameConstraintNode"},create(n,o){return d({kind:"RenameConstraintNode",oldName:ot.create(n),newName:ot.create(o)})}});class ci{#e;constructor(n){this.#e=d({...n})}ifExists(){return new ci({...this.#e,node:ai.cloneWith(this.#e.node,{ifExists:!0})})}toOperationNode(){return this.#e.node}}class yo{#e;constructor(n){this.#e=d(n)}renameTo(n){return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{renameTo:T(n)})})}setSchema(n){return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{setSchema:ot.create(n)})})}alterColumn(n,o){let s=o(new Xi(n));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=X){let s=o(new ci({node:ai.create(n)}));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,fo.create(a.toOperationNode()))})}modifyColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,_o.create(a.toOperationNode()))})}addUniqueConstraint(n,o,s=X){let a=s(new rt(tt.create(o.map((c)=>w(c)?tr.create(c):ee(c)),n)));return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(a.toOperationNode())})})}addCheckConstraint(n,o,s=X){let a=s(new ui(xr.create(o.toOperationNode(),n)));return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(a.toOperationNode())})})}addForeignKeyConstraint(n,o,s,a,c=X){let p=c(new Ve(Ue.create(o.map(tr.create),T(s),a.map(tr.create),n)));return new _t({...this.#e,constraintBuilder:p})}addPrimaryKeyConstraint(n,o,s=X){let a=s(new xt(yt.create(o,n)));return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addConstraint:wr.create(a.toOperationNode())})})}dropConstraint(n){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropConstraint:vr.create(n)})})}renameConstraint(n,o){return new Ut({...this.#e,node:E.cloneWithTableProps(this.#e.node,{renameConstraint:ru.create(n,o)})})}addIndex(n){return new At({...this.#e,node:E.cloneWithTableProps(this.#e.node,{addIndex:Te.create(n)})})}dropIndex(n){return new Lt({...this.#e,node:E.cloneWithTableProps(this.#e.node,{dropIndex:Et.create(n)})})}$call(n){return n(this)}}class Qe{#e;constructor(n){this.#e=d(n)}alterColumn(n,o){let s=o(new Xi(n));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}dropColumn(n,o=X){let s=o(new ci({node:ai.create(n)}));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,s.toOperationNode())})}renameColumn(n,o){return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,ho.create(n,o))})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,fo.create(a.toOperationNode()))})}modifyColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new Qe({...this.#e,node:E.cloneWithColumnAlteration(this.#e.node,_o.create(a.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class li extends ei{transformPrimitiveValueList(n){return Dt.create(n.values.map(Gn.createImmediate))}transformValue(n){return Gn.createImmediate(n.value)}}class ke{#e;constructor(n){this.#e=d(n)}ifNotExists(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(n){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{table:T(n)})})}column(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,[w(n)?or(n):n.toOperationNode()])})}columns(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,n.map((o)=>w(o)?or(o):o.toOperationNode()))})}expression(n){return new ke({...this.#e,node:Pe.cloneWithColumns(this.#e.node,[n.toOperationNode()])})}using(n){return new ke({...this.#e,node:Pe.cloneWith(this.#e.node,{using:k.createWithSql(n)})})}where(...n){let o=new li;return new ke({...this.#e,node:g.cloneWithWhere(this.#e.node,o.transformNode(P(n),this.#e.queryId))})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Zi{#e;constructor(n){this.#e=d(n)}ifNotExists(){return new Zi({...this.#e,node:Ii.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}function iu(n){if(Va.includes(n))return n;throw Error(`invalid OnCommitAction ${n}`)}class en{#e;constructor(n){this.#e=n}using(n){return new en(Te.cloneWith(this.#e,{using:k.createWithSql(n)}))}$call(n){return n(this)}toOperationNode(){return this.#e}}class le{#e;constructor(n){this.#e=d(n)}temporary(){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{temporary:!0})})}onCommit(n){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{onCommit:iu(n)})})}ifNotExists(){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(n,o,s=X){let a=s(new A(L.create(n,Ge(o))));return new le({...this.#e,node:Z.cloneWithColumn(this.#e.node,a.toOperationNode())})}addPrimaryKeyConstraint(n,o,s=X){let a=s(new xt(yt.create(o,n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addUniqueConstraint(n,o,s=X){let a=s(new rt(tt.create(o.map((c)=>w(c)?tr.create(c):ee(c)),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addIndex(n,o,s=X){let a=s(new en(Te.cloneWithColumns(Te.create(n),o.map((c)=>w(c)?tr.create(c):ee(c)))));return new le({...this.#e,node:Z.cloneWithIndex(this.#e.node,a.toOperationNode())})}addCheckConstraint(n,o,s=X){let a=s(new ui(xr.create(o.toOperationNode(),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addForeignKeyConstraint(n,o,s,a,c=X){let p=c(new Ve(Ue.create(o.map(tr.create),T(s),a.map(tr.create),n)));return new le({...this.#e,node:Z.cloneWithConstraint(this.#e.node,p.toOperationNode())})}modifyFront(n){return new le({...this.#e,node:Z.cloneWithFrontModifier(this.#e.node,n.toOperationNode())})}modifyEnd(n){return new le({...this.#e,node:Z.cloneWithEndModifier(this.#e.node,n.toOperationNode())})}as(n){return new le({...this.#e,node:Z.cloneWith(this.#e.node,{selectQuery:ee(n)})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Er{#e;constructor(n){this.#e=d(n)}on(n){return new Er({...this.#e,node:Et.cloneWith(this.#e.node,{table:T(n)})})}ifExists(){return new Er({...this.#e,node:Et.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Er({...this.#e,node:Et.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class mi{#e;constructor(n){this.#e=d(n)}ifExists(){return new mi({...this.#e,node:Qr.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new mi({...this.#e,node:Qr.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}class Tr{#e;constructor(n){this.#e=d(n)}temporary(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{temporary:!0})})}ifExists(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Tr({...this.#e,node:er.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var ze=d({is(n){return n.kind==="CreateViewNode"},create(n){return d({kind:"CreateViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class xo{#e=new li;transformQuery(n){return this.#e.transformNode(n.node,n.queryId)}transformResult(n){return Promise.resolve(n.result)}}class Nt{#e;constructor(n){this.#e=d(n)}temporary(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{orReplace:!0})})}columns(n){return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{columns:n.map(Bn)})})}as(n){let o=n.withPlugin(new xo).toOperationNode();return new Nt({...this.#e,node:ze.cloneWith(this.#e.node,{as:o})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var kr=d({is(n){return n.kind==="DropViewNode"},create(n){return d({kind:"DropViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class Sr{#e;constructor(n){this.#e=d(n)}materialized(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new Sr({...this.#e,node:kr.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var tn=d({is(n){return n.kind==="CreateTypeNode"},create(n){return d({kind:"CreateTypeNode",name:n})},cloneWithEnum(n,o){return d({...n,enum:Dt.create(o.map(Gn.createImmediate))})}});class rn{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(n){return new rn({...this.#e,node:tn.cloneWithEnum(this.#e.node,n)})}$call(n){return n(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var pi=d({is(n){return n.kind==="DropTypeNode"},create(n){if(!Array.isArray(n))n=[n];return d({kind:"DropTypeNode",name:n[0],additionalNames:n.slice(1)})},cloneWith(n,o){return d({...n,...o})}});class fi{#e;constructor(n){this.#e=d(n)}ifExists(){return new fi({...this.#e,node:pi.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new fi({...this.#e,node:pi.cloneWith(this.#e.node,{cascade:!0})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}function nn(n){if(n.includes(".")){let s=n.split(".").map(Gc);if(s.length===2)return ae.createWithSchema(s[0],s[1]);else throw Error(`invalid schemable identifier ${n}`)}else return ae.create(n)}function nu(n){if(!Array.isArray(n))n=[n];return n.map(nn)}function Gc(n){return n.trim()}var Dr=d({is(n){return n.kind==="RefreshMaterializedViewNode"},create(n){return d({kind:"RefreshMaterializedViewNode",name:ae.create(n)})},cloneWith(n,o){return d({...n,...o})}});class Or{#e;constructor(n){this.#e=d(n)}concurrently(){return new Or({...this.#e,node:Dr.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new Or({...this.#e,node:Dr.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new Or({...this.#e,node:Dr.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(n){return n(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){await this.#e.executor.executeQuery(this.compile(),n)}}var it=d({is(n){return n.kind==="AlterTypeNode"},create(n){return d({kind:"AlterTypeNode",name:n})},cloneWith(n,o){return d({...n,...o})}});var hi=d({is(n){return n.kind==="AddValueNode"},create(n){return d({kind:"AddValueNode",value:n})},cloneWith(n,o){return d({...n,...o})}});class Vt{#e;constructor(n){this.#e=d(n)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(n){return await this.#e.executor.executeQuery(this.compile(),n)}}var No;class on extends Vt{#e;constructor(n){super(n);this.#e=n}ifNotExists(){return new No({...this.#e,node:it.cloneWith(this.#e.node,{addValue:hi.cloneWith(this.#e.node.addValue,{ifNotExists:!0})})})}before(n){return this.#t(n,!0)}after(n){return this.#t(n,!1)}#t(n,o){return new No({...this.#e,node:it.cloneWith(this.#e.node,{addValue:hi.cloneWith(this.#e.node.addValue,{isBefore:o,neighborValue:Gn.createImmediate(n)})})})}}No=on;var ou=d({is(n){return n.kind==="RenameValueNode"},create(n,o){return d({kind:"RenameValueNode",oldValue:n,newValue:o})}});class go{#e;constructor(n){this.#e=d(n)}addValue(n){return new on({...this.#e,node:it.cloneWith(this.#e.node,{addValue:hi.create(Gn.createImmediate(n))})})}renameTo(n){return new Vt({...this.#e,node:it.cloneWith(this.#e.node,{renameTo:ot.create(n)})})}renameValue(n,o){return new Vt({...this.#e,node:it.cloneWith(this.#e.node,{renameValue:ou.create(Gn.createImmediate(n),Gn.createImmediate(o))})})}setSchema(n){return new Vt({...this.#e,node:it.cloneWith(this.#e.node,{setSchema:ot.create(n)})})}}class Rr{#e;constructor(n){this.#e=n}createTable(n){return new le({queryId:b(),executor:this.#e,node:Z.create(T(n))})}dropTable(n){return new Tr({queryId:b(),executor:this.#e,node:er.create(T(n))})}createIndex(n){return new ke({queryId:b(),executor:this.#e,node:Pe.create(n)})}dropIndex(n){return new Er({queryId:b(),executor:this.#e,node:Et.create(n)})}createSchema(n){return new Zi({queryId:b(),executor:this.#e,node:Ii.create(n)})}dropSchema(n){return new mi({queryId:b(),executor:this.#e,node:Qr.create(n)})}alterTable(n){return new yo({queryId:b(),executor:this.#e,node:E.create(T(n))})}createView(n){return new Nt({queryId:b(),executor:this.#e,node:ze.create(n)})}refreshMaterializedView(n){return new Or({queryId:b(),executor:this.#e,node:Dr.create(n)})}dropView(n){return new Sr({queryId:b(),executor:this.#e,node:kr.create(n)})}createType(n){return new rn({queryId:b(),executor:this.#e,node:tn.create(nn(n))})}alterType(n){return new go({executor:this.#e,node:it.create(nn(n)),queryId:b()})}dropType(n){return new fi({queryId:b(),executor:this.#e,node:pi.create(nu(n))})}withPlugin(n){return new Rr(this.#e.withPlugin(n))}withoutPlugins(){return new Rr(this.#e.withoutPlugins())}withSchema(n){return new Rr(this.#e.withPluginAtFront(new $e(n)))}}class wo{ref(n){return new In(n)}table(n){return new mo(n)}}class vo{#e;constructor(n){this.#e=n}async provideConnection(n,o){let s=await this.#e.acquireConnection(o);try{return await n(s)}finally{await this.#e.releaseConnection(s,o)}}}class Bt extends ti{#e;#t;#r;constructor(n,o,s,a=[]){super(a);this.#e=n,this.#t=o,this.#r=s}get adapter(){return this.#t}compileQuery(n,o){return this.#e.compileQuery(n,o)}provideConnection(n,o){return this.#r.provideConnection(n,o)}withPlugins(n){return new Bt(this.#e,this.#t,this.#r,[...this.plugins,...n])}withPlugin(n){return new Bt(this.#e,this.#t,this.#r,[...this.plugins,n])}withPluginAtFront(n){return new Bt(this.#e,this.#t,this.#r,[n,...this.plugins])}withConnectionProvider(n){return new Bt(this.#e,this.#t,n,[...this.plugins])}withoutPlugins(){return new Bt(this.#e,this.#t,this.#r,[])}}function sn(){if(typeof performance<"u"&&W(performance.now))return performance.now();else return Date.now()}class bo{#e;#t;async obtainLock(){while(this.#e)await this.#e;this.#e=new Promise((n)=>{this.#t=n})}releaseLock(){let n=this.#t;this.#e=void 0,this.#t=void 0,n?.()}}class Co{#e;#t;#r;#i;#o;#a=new WeakSet;#n;constructor(n,o,s){if(this.#e=n,this.#i=!1,this.#t=s,o.supportsMultipleConnections===!1)this.#n=new bo}async init(n){if(this.#o)throw Error("driver has already been destroyed");this.#r??=this.#e.init(n).then(()=>{this.#i=!0}).catch((o)=>{throw this.#r=void 0,o}),await hr(this.#r,n?.signal,"init")}async acquireConnection(n){if(this.#o)throw Error("driver has already been destroyed");if(!this.#i)await this.init(n);if(this.#n){let a=this.#n.obtainLock();await hr(a,n?.signal,"acquireConnection:mutex",()=>a.then(()=>this.#n?.releaseLock()))}let o=this.#e.acquireConnection(n),s=await hr(o,n?.signal,"acquireConnection:acquire",()=>o?.then((a)=>this.releaseConnection(a).catch(Xe("driver.releaseConnection"))).catch(Xe("driver.acquireConnection")));if(!this.#a.has(s)){if(this.#s())this.#c(s);this.#a.add(s)}return s}async releaseConnection(n,o){await this.#e.releaseConnection(n,o),this.#n?.releaseLock()}async beginTransaction(n,o){return await this.#e.beginTransaction(n,o)}async commitTransaction(n){return await this.#e.commitTransaction(n)}async rollbackTransaction(n){return await this.#e.rollbackTransaction(n)}async savepoint(n,o,s){if(this.#e.savepoint)return await this.#e.savepoint(n,o,s);throw Error("The `savepoint` method is not supported by this driver")}async rollbackToSavepoint(n,o,s){if(this.#e.rollbackToSavepoint)return await this.#e.rollbackToSavepoint(n,o,s);throw Error("The `rollbackToSavepoint` method is not supported by this driver")}async releaseSavepoint(n,o,s){if(this.#e.releaseSavepoint)return await this.#e.releaseSavepoint(n,o,s);throw Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(n){if(!this.#r)return;await hr(this.#r,n?.signal,"destroy:initPromise"),this.#o??=this.#e.destroy(n).catch((o)=>{throw this.#o=void 0,o}),await hr(this.#o,n?.signal,"destroy")}#s(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#c(n){let{executeQuery:o,streamQuery:s}=n,a=this;n.executeQuery=async(c,p)=>{let h,_=sn();try{return await o.call(n,c,p)}catch(y){throw h=y,await a.#l(y,c,_),y}finally{if(!h)await a.#d(c,_)}},n.streamQuery=async function*(c,p,h){let _,y=sn();try{for await(let x of s.call(n,c,p,h))yield x}catch(x){throw _=x,await a.#l(x,c,y),x}finally{if(!_)await a.#d(c,y,!0)}}}async#l(n,o,s){await this.#t.error(()=>({level:"error",error:n,query:o,queryDurationMillis:this.#m(s)}))}async#d(n,o,s=!1){await this.#t.query(()=>({level:"query",isStream:s,query:n,queryDurationMillis:this.#m(o)}))}#m(n){return sn()-n}}var Uc=Symbol.for("kysely.AbortedTransactionError");function Eo(n){return M(n)&&Uc in n}var Vc=()=>{};class _i{#e;#t;constructor(n){this.#e=n}async provideConnection(n){while(this.#t)await this.#t.catch(Vc);return this.#t=this.#r(n).finally(()=>{this.#t=void 0}),this.#t}async#r(n){return await n(this.#e)}}var Qc=["read only","read write"],zc=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function To(n){if(n.accessMode&&!Qc.includes(n.accessMode))throw Error(`invalid transaction access mode ${n.accessMode}`);if(n.isolationLevel&&!zc.includes(n.isolationLevel))throw Error(`invalid transaction isolation level ${n.isolationLevel}`)}var Jc=["query","error"],DP=d(Jc);class ko{#e;#t;constructor(n){if(W(n))this.#t=n,this.#e=d({query:!0,error:!0});else this.#t=jc,this.#e=d({query:n.includes("query"),error:n.includes("error")})}isLevelEnabled(n){return this.#e[n]}async query(n){if(this.#e.query)await this.#t(n())}async error(n){if(this.#e.error)await this.#t(n())}}function jc(n){if(n.level==="query"){let o=`kysely:query:${n.isStream?"stream:":""}`;console.log(`${o} ${n.query.sql}`),console.log(`${o} duration: ${n.queryDurationMillis.toFixed(1)}ms`)}else if(n.level==="error")if(n.error instanceof Error)console.error(`kysely:error: ${n.error.stack??n.error.message}`);else console.error(`kysely:error: ${JSON.stringify({error:n.error,query:n.query.sql,queryDurationMillis:n.queryDurationMillis})}`)}function su(n){return M(n)&&W(n.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");class Mc extends Ze{#e;constructor(n){let o,s;if(Hc(n))o={executor:n.executor},s={...n};else{let a=n.dialect,c=a.createDriver(),p=a.createQueryCompiler(),h=a.createAdapter(),_=new ko(n.log??[]),y=new Co(c,h,_),x=new vo(y),N=new Bt(p,h,x,n.plugins??[]);o={executor:N},s={config:n,executor:N,dialect:a,driver:y}}super(o);this.#e=d(s)}get schema(){return new Rr(this.#e.executor)}get dynamic(){return new wo}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(n){return new ni({node:ne.create(ge(n)?void 0:ee(n))})}get fn(){return Hi()}transaction(){return new dn({...this.#e})}startTransaction(){return new un({...this.#e})}connection(){return new au({...this.#e})}withPlugin(n){return new Mc({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new Mc({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new Mc({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}$extendTables(){return new Mc({...this.#e})}$omitTables(){return new Mc({...this.#e})}$pickTables(){return new Mc({...this.#e})}withTables(){return this.$extendTables()}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}async executeQuery(n,o){let s=su(n)?n.compile():n;return await this.#e.executor.executeQuery(s,o)}async[Symbol.asyncDispose](){await this.destroy()}}class nt extends Mc{#e;constructor(n){super(n);this.#e=n}get isTransaction(){return!0}transaction(){throw Error("calling the transaction method for a Transaction is not supported")}startTransaction(){throw Error("calling the controlled transaction method for a Transaction is not supported")}connection(){throw Error("calling the connection method for a Transaction is not supported")}destroy(){throw Error("calling the destroy method for a Transaction is not supported")}withPlugin(n){return new nt({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new nt({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new nt({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}withTables(){return new nt({...this.#e})}$extendTables(){return new nt({...this.#e})}$omitTables(){return new nt({...this.#e})}$pickTables(){return new nt({...this.#e})}}function Hc(n){return M(n)&&M(n.config)&&M(n.driver)&&M(n.executor)&&M(n.dialect)}class au{#e;constructor(n){this.#e=d(n)}async execute(n,o){return this.#e.executor.provideConnection(async(s)=>{let a=this.#e.executor.withConnectionProvider(new _i(s)),c=new Mc({...this.#e,executor:a});return await n(c)},d({signal:o?.signal}))}}class dn{#e;constructor(n){this.#e=d(n)}setAccessMode(n){return new dn({...this.#e,accessMode:n})}setIsolationLevel(n){return new dn({...this.#e,isolationLevel:n})}async execute(n){let{isolationLevel:o,accessMode:s,...a}=this.#e,c={isolationLevel:o,accessMode:s};return To(c),this.#e.executor.provideConnection(async(p)=>{let h={status:"active"},_=new gt(this.#e.executor.withConnectionProvider(new _i(p)),h),y=new nt({...a,executor:_}),x=!1;try{await this.#e.driver.beginTransaction(p,c),x=!0;let N=await n(y);return await this.#e.driver.commitTransaction(p),h.status="committed",N}catch(N){if(Eo(N))h.status="aborted";else if(x)await this.#e.driver.rollbackTransaction(p),h.status="rolled back";throw N}})}}class un{#e;constructor(n){this.#e=d(n)}setAccessMode(n){return new un({...this.#e,accessMode:n})}setIsolationLevel(n){return new un({...this.#e,isolationLevel:n})}async execute(){let{isolationLevel:n,accessMode:o,...s}=this.#e,a={isolationLevel:n,accessMode:o};To(a);let c=await fr(this.#e.executor);try{await this.#e.driver.beginTransaction(c.connection,a)}catch(p){throw c.release(),p}return new De({...s,connection:c,transactionState:{status:"active"},executor:this.#e.executor.withConnectionProvider(new _i(c.connection))})}}class De extends nt{#e;#t;constructor(n){n={...n,executor:new gt(n.executor,n.transactionState)};let{connection:o,transactionState:s,...a}=n;super(a);this.#e=d(n);let c=b();this.#t=(p)=>n.executor.compileQuery(p,c)}get isCommitted(){return this.#e.transactionState.status==="committed"}get isRolledBack(){return this.#e.transactionState.status==="rolled back"||this.#e.transactionState.status==="aborted"}commit(){return new Pr(async()=>{await this.#e.executor.provideConnection(async(n)=>{try{await this.#e.driver.commitTransaction(n)}catch(o){if(Eo(o))this.#e.transactionState.status="aborted",this.#e.connection.release();throw o}this.#e.transactionState.status="committed",this.#e.connection.release()})})}rollback(){return new Pr(async()=>{if(this.#e.transactionState.status==="aborted")return;await this.#e.executor.provideConnection(async(n)=>{try{await this.#e.driver.rollbackTransaction(n)}finally{this.#e.transactionState.status="rolled back",this.#e.connection.release()}})})}savepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.savepoint?.(o,n,this.#t)}),new De({...this.#e})))}rollbackToSavepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.rollbackToSavepoint?.(o,n,this.#t)}),new De({...this.#e})))}releaseSavepoint(n){return new Pr(async()=>(await this.#e.executor.provideConnection(async(o)=>{await this.#e.driver.releaseSavepoint?.(o,n,this.#t)}),new De({...this.#e})))}withPlugin(n){return new De({...this.#e,executor:this.#e.executor.withPlugin(n)})}withoutPlugins(){return new De({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(n){return new De({...this.#e,executor:this.#e.executor.withPluginAtFront(new $e(n))})}withTables(){return new De({...this.#e})}$extendTables(){return new De({...this.#e})}$omitTables(){return new De({...this.#e})}$pickTables(){return new De({...this.#e})}}class Pr{#e;constructor(n){this.#e=n}async execute(){return await this.#e()}}function an(n){if(n.status==="committed")throw Error("Transaction is already committed");if(n.status!=="active")throw Error("Transaction is already rolled back")}class gt{#e;#t;constructor(n,o){this.#e=n instanceof gt?n.#e:n,this.#t=o}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(n,o){return this.#e.transformQuery(n,o)}compileQuery(n,o){return this.#e.compileQuery(n,o)}provideConnection(n,o){return an(this.#t),this.#e.provideConnection(async(s)=>(an(this.#t),await n(s)),o)}executeQuery(n,o){return an(this.#t),this.#e.withConnectionProvider(this).executeQuery(n,o)}stream(n,o,s){return an(this.#t),this.#e.withConnectionProvider(this).stream(n,o,s)}withConnectionProvider(n){return new gt(this.#e.withConnectionProvider(n),this.#t)}withPlugin(n){return new gt(this.#e.withPlugin(n),this.#t)}withPlugins(n){return new gt(this.#e.withPlugins(n),this.#t)}withPluginAtFront(n){return new gt(this.#e.withPluginAtFront(n),this.#t)}withoutPlugins(){return new gt(this.#e.withoutPlugins(),this.#t)}}class yi{#e;constructor(n){this.#e=d(n)}get expressionType(){return}get isRawBuilder(){return!0}as(n){return new du(this,n)}$castTo(){return new yi({...this.#e})}$notNull(){return new yi(this.#e)}withPlugin(n){return new yi({...this.#e,plugins:this.#e.plugins!==void 0?d([...this.#e.plugins,n]):d([n])})}toOperationNode(){return this.#r(this.#t())}compile(n){return this.#i(this.#t(n))}async execute(n,o){let s=this.#t(n);return s.executeQuery(this.#i(s),o)}#t(n){let o=n!==void 0?n.getExecutor():Pt;return this.#e.plugins!==void 0?o.withPlugins(this.#e.plugins):o}#r(n){return n.transformQuery(this.#e.rawNode,this.#e.queryId)}#i(n){return n.compileQuery(this.#r(n),this.#e.queryId)}}function vt(n){return new yi(n)}class du{#e;#t;constructor(n,o){this.#e=n,this.#t=o}get expression(){return this.#e}get alias(){return this.#t}get rawBuilder(){return this.#e}toOperationNode(){return Ts.create(this.#e.toOperationNode(),D(this.#t)?this.#t.toOperationNode():ot.create(this.#t))}}var m=Object.assign((n,...o)=>vt({queryId:b(),rawNode:k.create(n,o?.map(uu)??[])}),{ref(n){return vt({queryId:b(),rawNode:k.createWithChild(pe(n))})},val(n){return vt({queryId:b(),rawNode:k.createWithChild(O(n))})},table(n){return vt({queryId:b(),rawNode:k.createWithChild(T(n))})},id(...n){let o=Array(n.length+1).fill(".");return o[0]="",o[o.length-1]="",vt({queryId:b(),rawNode:k.create(o,n.map(ot.create))})},lit(n){return vt({queryId:b(),rawNode:k.createWithChild(Gn.createImmediate(n))})},raw(n){return vt({queryId:b(),rawNode:k.createWithSql(n)})},join(n,o=m`, `){let s=Array(Math.max(2*n.length-1,0)),a=o.toOperationNode();for(let c=0;c<n.length;++c)if(s[2*c]=uu(n[c]),c!==n.length-1)s[2*c+1]=a;return vt({queryId:b(),rawNode:k.createWithChildren(s)})}});function uu(n){if(D(n))return n.toOperationNode();return O(n)}class So{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=d({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this),AlterTypeNode:this.visitAlterType.bind(this),AddValueNode:this.visitAddValue.bind(this),RenameValueNode:this.visitRenameValue.bind(this)});visitNode=(n)=>{this.nodeStack.push(n),this.#e[n.kind](n),this.nodeStack.pop()}}var Yc=/'/g,Xc=/['"]/g;class Do extends So{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(n,o){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(n),d({query:n,queryId:o,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!K.is(this.parentNode)&&!Z.is(this.parentNode)&&!ze.is(this.parentNode)&&!Qi.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("select"),n.distinctOn)this.append(" "),this.compileDistinctOn(n.distinctOn);if(n.frontModifiers?.length)this.append(" "),this.compileList(n.frontModifiers," ");if(n.top)this.append(" "),this.visitNode(n.top);if(n.selections)this.append(" "),this.compileList(n.selections);if(n.from)this.append(" "),this.visitNode(n.from);if(n.joins)this.append(" "),this.compileList(n.joins," ");if(n.where)this.append(" "),this.visitNode(n.where);if(n.groupBy)this.append(" "),this.visitNode(n.groupBy);if(n.having)this.append(" "),this.visitNode(n.having);if(n.setOperations)this.append(" "),this.compileList(n.setOperations," ");if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(n.offset)this.append(" "),this.visitNode(n.offset);if(n.fetch)this.append(" "),this.visitNode(n.fetch);if(n.endModifiers?.length)this.append(" "),this.compileList(this.sortSelectModifiers(n.endModifiers)," ");if(o)this.append(")")}visitFrom(n){this.append("from "),this.compileList(n.froms)}visitSelection(n){this.visitNode(n.selection)}visitColumn(n){this.visitNode(n.column)}compileDistinctOn(n){this.append("distinct on ("),this.compileList(n),this.append(")")}compileList(n,o=", "){let s=n.length-1;for(let a=0;a<=s;a++)if(this.visitNode(n[a]),a<s)this.append(o)}visitWhere(n){this.append("where "),this.visitNode(n.where)}visitHaving(n){this.append("having "),this.visitNode(n.having)}visitInsertQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode)&&!fe.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append(n.replace?"replace":"insert"),n.orAction)this.append(" "),this.visitNode(n.orAction);if(n.top)this.append(" "),this.visitNode(n.top);if(n.into)this.append(" into "),this.visitNode(n.into);if(n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.output)this.append(" "),this.visitNode(n.output);if(n.values)this.append(" "),this.visitNode(n.values);if(n.defaultValues)this.append(" "),this.append("default values");if(n.onConflict)this.append(" "),this.visitNode(n.onConflict);if(n.onDuplicateKey)this.append(" "),this.visitNode(n.onDuplicateKey);if(n.returning)this.append(" "),this.visitNode(n.returning);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitValues(n){this.append("values "),this.compileList(n.values)}visitDeleteQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("delete "),n.top)this.visitNode(n.top),this.append(" ");if(this.visitNode(n.from),n.output)this.append(" "),this.visitNode(n.output);if(n.using)this.append(" "),this.visitNode(n.using);if(n.joins)this.append(" "),this.compileList(n.joins," ");if(n.where)this.append(" "),this.visitNode(n.where);if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitReturning(n){this.append("returning "),this.compileList(n.selections)}visitAlias(n){this.visitNode(n.node),this.append(" as "),this.visitNode(n.alias)}visitReference(n){if(n.table)this.visitNode(n.table),this.append(".");this.visitNode(n.column)}visitSelectAll(n){this.append("*")}visitIdentifier(n){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(n),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(n){if(!w(n.name))throw Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(n.name))}visitAnd(n){this.visitNode(n.left),this.append(" and "),this.visitNode(n.right)}visitOr(n){this.visitNode(n.left),this.append(" or "),this.visitNode(n.right)}visitValue(n){if(n.immediate)this.appendImmediateValue(n.value);else this.appendValue(n.value)}visitValueList(n){this.append("("),this.compileList(n.values),this.append(")")}visitTuple(n){this.append("("),this.compileList(n.values),this.append(")")}visitPrimitiveValueList(n){this.append("(");let{values:o}=n;for(let s=0;s<o.length;++s)if(this.appendValue(o[s]),s!==o.length-1)this.append(", ");this.append(")")}visitParens(n){this.append("("),this.visitNode(n.node),this.append(")")}visitJoin(n){if(this.append(el[n.joinType]),this.append(" "),this.visitNode(n.table),n.on)this.append(" "),this.visitNode(n.on)}visitOn(n){this.append("on "),this.visitNode(n.on)}visitRaw(n){let{sqlFragments:o,parameters:s}=n;for(let a=0;a<o.length;++a)if(this.append(o[a]),s.length>a)this.visitNode(s[a])}visitOperator(n){this.append(n.operator)}visitTable(n){this.visitNode(n.table)}visitSchemableIdentifier(n){if(n.schema)this.visitNode(n.schema),this.append(".");this.visitNode(n.identifier)}visitCreateTable(n){if(this.append("create "),n.frontModifiers?.length)this.compileList(n.frontModifiers," "),this.append(" ");if(n.temporary)this.append("temporary ");if(this.append("table "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.table),!n.selectQuery)this.append(" ("),this.compileList([...n.columns,...n.constraints??[],...n.indexes??[]]),this.append(")");if(n.onCommit)this.append(" on commit "),this.append(n.onCommit);if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ");if(n.selectQuery)this.append(" as "),this.visitNode(n.selectQuery)}visitColumnDefinition(n){if(n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.column),this.append(" "),this.visitNode(n.dataType),n.unsigned)this.append(" unsigned");if(n.frontModifiers&&n.frontModifiers.length>0)this.append(" "),this.compileList(n.frontModifiers," ");if(n.generated)this.append(" "),this.visitNode(n.generated);if(n.identity)this.append(" identity");if(n.defaultTo)this.append(" "),this.visitNode(n.defaultTo);if(n.notNull)this.append(" not null");if(n.unique)this.append(" unique");if(n.nullsNotDistinct)this.append(" nulls not distinct");if(n.primaryKey)this.append(" primary key");if(n.autoIncrement)this.append(" "),this.append(this.getAutoIncrement());if(n.references)this.append(" "),this.visitNode(n.references);if(n.check)this.append(" "),this.visitNode(n.check);if(n.endModifiers&&n.endModifiers.length>0)this.append(" "),this.compileList(n.endModifiers," ")}getAutoIncrement(){return"auto_increment"}visitReferences(n){if(this.append("references "),this.visitNode(n.table),this.append(" ("),this.compileList(n.columns),this.append(")"),n.onDelete)this.append(" on delete "),this.append(n.onDelete);if(n.onUpdate)this.append(" on update "),this.append(n.onUpdate)}visitDropTable(n){if(this.append("drop "),n.temporary)this.append("temporary ");if(this.append("table "),n.ifExists)this.append("if exists ");if(this.visitNode(n.table),n.cascade)this.append(" cascade")}visitDataType(n){this.append(n.dataType)}visitOrderBy(n){this.append("order by "),this.compileList(n.items)}visitOrderByItem(n){if(this.visitNode(n.orderBy),n.collation)this.append(" "),this.visitNode(n.collation);if(n.direction)this.append(" "),this.visitNode(n.direction);if(n.nulls)this.append(" nulls "),this.append(n.nulls)}visitGroupBy(n){this.append("group by "),this.compileList(n.items)}visitGroupByItem(n){this.visitNode(n.groupBy)}visitUpdateQuery(n){let o=this.parentNode!==void 0&&!be.is(this.parentNode)&&!k.is(this.parentNode)&&!fe.is(this.parentNode);if(this.parentNode===void 0&&n.explain)this.visitNode(n.explain),this.append(" ");if(o)this.append("(");if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("update "),n.top)this.visitNode(n.top),this.append(" ");if(n.table)this.visitNode(n.table),this.append(" ");if(this.append("set "),n.updates)this.compileList(n.updates);if(n.output)this.append(" "),this.visitNode(n.output);if(n.from)this.append(" "),this.visitNode(n.from);if(n.joins){if(!n.from)throw Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(n.joins," ")}if(n.where)this.append(" "),this.visitNode(n.where);if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(n.limit)this.append(" "),this.visitNode(n.limit);if(o)this.append(")");if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitColumnUpdate(n){this.visitNode(n.column),this.append(" = "),this.visitNode(n.value)}visitLimit(n){this.append("limit "),this.visitNode(n.limit)}visitOffset(n){this.append("offset "),this.visitNode(n.offset)}visitOnConflict(n){if(this.append("on conflict"),n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");else if(n.constraint)this.append(" on constraint "),this.visitNode(n.constraint);else if(n.indexExpression)this.append(" ("),this.visitNode(n.indexExpression),this.append(")");if(n.indexWhere)this.append(" "),this.visitNode(n.indexWhere);if(n.doNothing===!0)this.append(" do nothing");else if(n.updates){if(this.append(" do update set "),this.compileList(n.updates),n.updateWhere)this.append(" "),this.visitNode(n.updateWhere)}}visitOnDuplicateKey(n){this.append("on duplicate key update "),this.compileList(n.updates)}visitCreateIndex(n){if(this.append("create "),n.unique)this.append("unique ");if(this.append("index "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.name),n.table)this.append(" on "),this.visitNode(n.table);if(n.using)this.append(" using "),this.visitNode(n.using);if(n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.nullsNotDistinct)this.append(" nulls not distinct");if(n.where)this.append(" "),this.visitNode(n.where)}visitDropIndex(n){if(this.append("drop index "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.table)this.append(" on "),this.visitNode(n.table);if(n.cascade)this.append(" cascade")}visitCreateSchema(n){if(this.append("create schema "),n.ifNotExists)this.append("if not exists ");this.visitNode(n.schema)}visitDropSchema(n){if(this.append("drop schema "),n.ifExists)this.append("if exists ");if(this.visitNode(n.schema),n.cascade)this.append(" cascade")}visitPrimaryKeyConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");this.append("primary key ("),this.compileList(n.columns),this.append(")"),this.buildDeferrable(n)}buildDeferrable(n){if(n.deferrable!==void 0)if(n.deferrable)this.append(" deferrable");else this.append(" not deferrable");if(n.initiallyDeferred!==void 0)if(n.initiallyDeferred)this.append(" initially deferred");else this.append(" initially immediate")}visitUniqueConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");if(this.append("unique"),n.nullsNotDistinct)this.append(" nulls not distinct");this.append(" ("),this.compileList(n.columns),this.append(")"),this.buildDeferrable(n)}visitCheckConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");this.append("check ("),this.visitNode(n.expression),this.append(")")}visitForeignKeyConstraint(n){if(n.name)this.append("constraint "),this.visitNode(n.name),this.append(" ");if(this.append("foreign key ("),this.compileList(n.columns),this.append(") "),this.visitNode(n.references),n.onDelete)this.append(" on delete "),this.append(n.onDelete);if(n.onUpdate)this.append(" on update "),this.append(n.onUpdate);this.buildDeferrable(n)}visitList(n){this.compileList(n.items)}visitWith(n){if(this.append("with "),n.recursive)this.append("recursive ");this.compileList(n.expressions)}visitCommonTableExpression(n){if(this.visitNode(n.name),this.append(" as "),qt(n.materialized)){if(!n.materialized)this.append("not ");this.append("materialized ")}this.visitNode(n.expression)}visitCommonTableExpressionName(n){if(this.visitNode(n.table),n.columns)this.append("("),this.compileList(n.columns),this.append(")")}visitAlterTable(n){if(this.append("alter table "),this.visitNode(n.table),this.append(" "),n.renameTo)this.append("rename to "),this.visitNode(n.renameTo);if(n.setSchema)this.append("set schema "),this.visitNode(n.setSchema);if(n.addConstraint)this.visitNode(n.addConstraint);if(n.dropConstraint)this.visitNode(n.dropConstraint);if(n.renameConstraint)this.visitNode(n.renameConstraint);if(n.columnAlterations)this.compileColumnAlterations(n.columnAlterations);if(n.addIndex)this.visitNode(n.addIndex);if(n.dropIndex)this.visitNode(n.dropIndex)}visitAddColumn(n){this.append("add column "),this.visitNode(n.column)}visitRenameColumn(n){this.append("rename column "),this.visitNode(n.column),this.append(" to "),this.visitNode(n.renameTo)}visitDropColumn(n){if(this.append("drop column "),n.ifExists)this.append("if exists ");this.visitNode(n.column)}visitAlterColumn(n){if(this.append("alter column "),this.visitNode(n.column),this.append(" "),n.dataType){if(this.announcesNewColumnDataType())this.append("type ");if(this.visitNode(n.dataType),n.dataTypeExpression)this.append("using "),this.visitNode(n.dataTypeExpression)}if(n.setDefault)this.append("set default "),this.visitNode(n.setDefault);if(n.dropDefault)this.append("drop default");if(n.setNotNull)this.append("set not null");if(n.dropNotNull)this.append("drop not null")}visitModifyColumn(n){this.append("modify column "),this.visitNode(n.column)}visitAddConstraint(n){this.append("add "),this.visitNode(n.constraint)}visitDropConstraint(n){if(this.append("drop constraint "),n.ifExists)this.append("if exists ");if(this.visitNode(n.constraintName),n.modifier==="cascade")this.append(" cascade");else if(n.modifier==="restrict")this.append(" restrict")}visitRenameConstraint(n){this.append("rename constraint "),this.visitNode(n.oldName),this.append(" to "),this.visitNode(n.newName)}visitSetOperation(n){if(this.append(n.operator),this.append(" "),n.all)this.append("all ");this.visitNode(n.expression)}visitCreateView(n){if(this.append("create "),n.orReplace)this.append("or replace ");if(n.materialized)this.append("materialized ");if(n.temporary)this.append("temporary ");if(this.append("view "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.name),this.append(" "),n.columns)this.append("("),this.compileList(n.columns),this.append(") ");if(n.as)this.append("as "),this.visitNode(n.as)}visitRefreshMaterializedView(n){if(this.append("refresh materialized view "),n.concurrently)this.append("concurrently ");if(this.visitNode(n.name),n.withNoData)this.append(" with no data");else this.append(" with data")}visitDropView(n){if(this.append("drop "),n.materialized)this.append("materialized ");if(this.append("view "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.cascade)this.append(" cascade")}visitGenerated(n){if(this.append("generated "),n.always)this.append("always ");if(n.byDefault)this.append("by default ");if(this.append("as "),n.identity)this.append("identity");if(n.expression)this.append("("),this.visitNode(n.expression),this.append(")");if(n.stored)this.append(" stored")}visitDefaultValue(n){this.append("default "),this.visitNode(n.defaultValue)}visitSelectModifier(n){if(n.rawModifier)this.visitNode(n.rawModifier);else this.append(Zc[n.modifier]);if(n.of)this.append(" of "),this.compileList(n.of,", ")}visitCreateType(n){if(this.append("create type "),this.visitNode(n.name),n.enum)this.append(" as enum "),this.visitNode(n.enum)}visitDropType(n){if(this.append("drop type "),n.ifExists)this.append("if exists ");if(this.visitNode(n.name),n.additionalNames?.length)this.append(", "),this.compileList(n.additionalNames);if(n.cascade)this.append(" cascade")}visitAlterType(n){if(this.append("alter type "),this.visitNode(n.name),this.append(" "),n.addValue)this.visitNode(n.addValue);else if(n.renameTo)this.append("rename to "),this.visitNode(n.renameTo);else if(n.renameValue)this.visitNode(n.renameValue);else if(n.setSchema)this.append("set schema "),this.visitNode(n.setSchema)}visitAddValue(n){if(this.append("add value "),n.ifNotExists)this.append("if not exists ");if(this.visitNode(n.value),n.neighborValue)this.append(n.isBefore?" before ":" after "),this.visitNode(n.neighborValue)}visitRenameValue(n){this.append("rename value "),this.visitNode(n.oldValue),this.append(" to "),this.visitNode(n.newValue)}visitExplain(n){if(this.append("explain"),n.options||n.format){if(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),n.options){if(this.visitNode(n.options),n.format)this.append(this.getExplainOptionsDelimiter())}if(n.format)this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(n.format);this.append(this.getRightExplainOptionsWrapper())}}visitDefaultInsertValue(n){this.append("default")}visitAggregateFunction(n){if(this.append(n.func),this.append("("),n.distinct)this.append("distinct ");if(this.compileList(n.aggregated),n.orderBy)this.append(" "),this.visitNode(n.orderBy);if(this.append(")"),n.withinGroup)this.append(" within group ("),this.visitNode(n.withinGroup),this.append(")");if(n.filter)this.append(" filter("),this.visitNode(n.filter),this.append(")");if(n.over)this.append(" "),this.visitNode(n.over)}visitOver(n){if(this.append("over("),n.partitionBy){if(this.visitNode(n.partitionBy),n.orderBy)this.append(" ")}if(n.orderBy)this.visitNode(n.orderBy);this.append(")")}visitPartitionBy(n){this.append("partition by "),this.compileList(n.items)}visitPartitionByItem(n){this.visitNode(n.partitionBy)}visitBinaryOperation(n){this.visitNode(n.leftOperand),this.append(" "),this.visitNode(n.operator),this.append(" "),this.visitNode(n.rightOperand)}visitUnaryOperation(n){if(this.visitNode(n.operator),!this.isMinusOperator(n.operator))this.append(" ");this.visitNode(n.operand)}isMinusOperator(n){return we.is(n)&&n.operator==="-"}visitUsing(n){this.append("using "),this.compileList(n.tables)}visitFunction(n){this.append(n.func),this.append("("),this.compileList(n.arguments),this.append(")")}visitCase(n){if(this.append("case"),n.value)this.append(" "),this.visitNode(n.value);if(n.when)this.append(" "),this.compileList(n.when," ");if(n.else)this.append(" else "),this.visitNode(n.else);if(this.append(" end"),n.isStatement)this.append(" case")}visitWhen(n){if(this.append("when "),this.visitNode(n.condition),n.result)this.append(" then "),this.visitNode(n.result)}visitJSONReference(n){this.visitNode(n.reference),this.visitNode(n.traversal)}visitJSONPath(n){if(n.inOperator)this.visitNode(n.inOperator);this.append("'$");for(let o of n.pathLegs)this.visitNode(o);this.append("'")}visitJSONPathLeg(n){let o=n.type==="ArrayLocation",s=String(n.value);if(o)this.append("["),this.append(this.sanitizeStringLiteral(s)),this.append("]");else this.append('."'),this.append(this.sanitizeJSONPathMemberValue(s)),this.append('"')}visitJSONOperatorChain(n){for(let o=0,s=n.values.length;o<s;o++){if(o===s-1)this.visitNode(n.operator);else this.append("->");this.visitNode(n.values[o])}}visitMergeQuery(n){if(n.with)this.visitNode(n.with),this.append(" ");if(this.append("merge "),n.top)this.visitNode(n.top),this.append(" ");if(this.append("into "),this.visitNode(n.into),n.using)this.append(" "),this.visitNode(n.using);if(n.whens)this.append(" "),this.compileList(n.whens," ");if(n.returning)this.append(" "),this.visitNode(n.returning);if(n.output)this.append(" "),this.visitNode(n.output);if(n.endModifiers?.length)this.append(" "),this.compileList(n.endModifiers," ")}visitMatched(n){if(n.not)this.append("not ");if(this.append("matched"),n.bySource)this.append(" by source")}visitAddIndex(n){if(!this.parentNode||!Z.is(this.parentNode))this.append("add ");if(n.unique)this.append("unique ");if(this.append("index "),this.visitNode(n.name),n.columns)this.append(" ("),this.compileList(n.columns),this.append(")");if(n.using)this.append(" using "),this.visitNode(n.using)}visitCast(n){this.append("cast("),this.visitNode(n.expression),this.append(" as "),this.visitNode(n.dataType),this.append(")")}visitFetch(n){this.append("fetch next "),this.visitNode(n.rowCount),this.append(` rows ${n.modifier}`)}visitOutput(n){this.append("output "),this.compileList(n.selections)}visitTop(n){if(this.append(`top(${n.expression})`),n.modifiers)this.append(` ${n.modifiers}`)}visitOrAction(n){this.append(n.action)}visitCollate(n){this.append("collate "),this.visitNode(n.collation)}append(n){this.#e+=n}appendValue(n){this.addParameter(n),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(n){let o=this.getLeftIdentifierWrapper(),s=this.getRightIdentifierWrapper(),a="";for(let c of n)if(a+=c,c===o)a+=o;else if(c===s)a+=s;return a}sanitizeStringLiteral(n){return n.replace(Yc,"''")}sanitizeJSONPathMemberValue(n){return n.replace(Xc,(o)=>o==="'"?"''":"\\\"")}addParameter(n){this.#t.push(n)}appendImmediateValue(n){if(w(n))this.appendStringLiteral(n);else if(Ct(n)||qt(n)||Zt(n))this.append(n.toString());else if(Xt(n))this.append("null");else if($a(n))this.appendImmediateValue(n.toISOString());else throw Error(`invalid immediate value ${n}`)}appendStringLiteral(n){this.append("'"),this.append(this.sanitizeStringLiteral(n)),this.append("'")}sortSelectModifiers(n){return d(n.toSorted((o,s)=>o.modifier&&s.modifier?cu[o.modifier]-cu[s.modifier]:1))}compileColumnAlterations(n){this.compileList(n)}announcesNewColumnDataType(){return!0}}var Zc=d({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),cu=d({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),el=d({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"});var cn=d({raw(n,o=[]){return d({sql:n,query:k.createWithSql(n),parameters:d(o),queryId:b()})}});class Oo{get supportsCreateIfNotExists(){return!0}get supportsMultipleConnections(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}}var tl=/"/g,rl=/[\\'"]/g;class xi extends Do{visitOrAction(n){this.append("or "),this.append(n.action)}getCurrentParameterPlaceholder(){return"?"}getLeftExplainOptionsWrapper(){return""}getRightExplainOptionsWrapper(){return""}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}sanitizeIdentifier(n){return n.replace(tl,'""')}sanitizeJSONPathMemberValue(n){return n.replace(rl,(o)=>o==="\\"?"\\\\":o==="'"?"''":"\\\"")}visitDefaultInsertValue(n){this.append("null")}}class Ro{transformQuery(n){return n.node}async transformResult(n){return n.result}}var oe="kysely_migration",pn="kysely_migration_lock",il=!1,Io="migration_lock",qL=d({__noMigrations__:!0});class RO{#e;constructor(n){this.#e=d(n)}async getMigrations(){let o=await this.#p(this.#i)?await this.#e.db.withPlugin(this.#n).selectFrom(this.#i).select(["name","timestamp"]).$narrowType().execute():[];return(await this.#f()).map(({name:a,...c})=>{let p=o.find((h)=>h.name===a);return{name:a,migration:c,executedAt:p?new Date(p.timestamp):void 0}})}async migrateToLatest(n){return this.#t(()=>({direction:"Up",step:1/0}),n)}async migrateTo(n,o){return this.#t(({migrations:s,executedMigrations:a,pendingMigrations:c})=>{if(M(n)&&n.__noMigrations__===!0)return{direction:"Down",step:1/0};if(!s.find((_)=>_.name===n))throw Error(`migration "${n}" doesn't exist`);let p=a.indexOf(n),h=c.findIndex((_)=>_.name===n);if(p!==-1)return{direction:"Down",step:a.length-p-1};if(h!==-1)return{direction:"Up",step:h+1};throw Error(`migration "${n}" isn't executed or pending`)},o)}async migrateUp(n){return this.#t(()=>({direction:"Up",step:1}),n)}async migrateDown(n){return this.#t(()=>({direction:"Down",step:1}),n)}async#t(n,o){try{return await this.#s(),await this.#c(),await this.#l(),await this.#d(),await this.#x(n,o)}catch(s){if(s instanceof ln)return s.resultSet;return{error:s}}}get#r(){return this.#e.migrationTableSchema}get#i(){return this.#e.migrationTableName??oe}get#o(){return this.#e.migrationLockTableName??pn}get#a(){return this.#e.allowUnorderedMigrations??il}get#n(){if(this.#r)return new $e(this.#r);return new Ro}async#s(){if(!this.#r)return;if(await this.#m())return;try{await this.#h(this.#e.db.schema.createSchema(this.#r))}catch(o){if(!await this.#m())throw o}}async#c(){if(await this.#p(this.#i))return;try{await this.#h(this.#e.db.schema.withPlugin(this.#n).createTable(this.#i).addColumn("name","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("timestamp","varchar(255)",(o)=>o.notNull()))}catch(o){if(!await this.#p(this.#i))throw o}}async#l(){if(await this.#p(this.#o))return;try{await this.#h(this.#e.db.schema.withPlugin(this.#n).createTable(this.#o).addColumn("id","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("is_locked","integer",(o)=>o.notNull().defaultTo(0)))}catch(o){if(!await this.#p(this.#o))throw o}}async#d(){if(await this.#u())return;try{await this.#e.db.withPlugin(this.#n).insertInto(this.#o).values({id:Io,is_locked:0}).execute()}catch(o){if(!await this.#u())throw o}}async#m(){return(await this.#e.db.introspection.getSchemas()).some((o)=>o.name===this.#r)}async#p(n){let o=this.#r;return(await this.#e.db.introspection.getTables({withInternalKyselyTables:!0})).some((a)=>a.name===n&&(!o||a.schema===o))}async#u(){return!!await this.#e.db.withPlugin(this.#n).selectFrom(this.#o).where("id","=",Io).select("id").executeTakeFirst()}async#x(n,o){let s=this.#e.db.getExecutor().adapter,a=d({lockTable:this.#e.migrationLockTableName??pn,lockRowId:Io,lockTableSchema:this.#e.migrationTableSchema}),c=async(_)=>{let y=await this.#N(_);if(y.migrations.length===0)return{results:[]};let{direction:x,step:N}=n(y);if(N<=0)return{results:[]};if(x==="Down")return await this.#C(_,y,N);else if(x==="Up")return await this.#E(_,y,N);return{results:[]}},p=async(_,y)=>{try{return await s.acquireMigrationLock(_,a),await y(_)}finally{await s.releaseMigrationLock(_,a)}},h=o?.disableTransactions??this.#e.disableTransactions;if(this.#e.db.isTransaction){if(!s.supportsTransactionalDdl)throw Error("Transactional DDL is not supported in this dialect. Passing a transaction to this migrator would result in failure or unexpected behavior.");if(h)throw Error("`disableTransactions` is true but the migrator was given a transaction. Passing a transaction to this migrator would result in failure or unexpected behavior.");return p(this.#e.db,c)}if(s.supportsTransactionalDdl&&!h)return this.#e.db.connection().execute((_)=>p(_,(y)=>y.transaction().execute((x)=>c(x))));return this.#e.db.connection().execute((_)=>p(_,c))}async#N(n){let o=await this.#f(),s=await this.#v(n);if(this.#b(o,s),!this.#a)this.#w(o,s);let a=this.#g(o,s);return d({migrations:o,executedMigrations:s,lastMigration:Ga(s),pendingMigrations:a})}#g(n,o){return n.filter((s)=>!o.includes(s.name))}async#f(){let n=await this.#e.provider.getMigrations();return Object.keys(n).sort().map((o)=>({...n[o],name:o}))}async#v(n){let o=await n.withPlugin(this.#n).selectFrom(this.#i).select(["name","timestamp"]).$narrowType().execute(),s=this.#e.nameComparator||((a,c)=>a.localeCompare(c));return o.sort((a,c)=>{if(a.timestamp===c.timestamp)return s(a.name,c.name);return new Date(a.timestamp).getTime()-new Date(c.timestamp).getTime()}).map((a)=>a.name)}#b(n,o){for(let s of o)if(!n.some((a)=>a.name===s))throw Error(`corrupted migrations: previously executed migration ${s} is missing`)}#w(n,o){for(let s=0;s<o.length;++s)if(n[s].name!==o[s])throw Error(`corrupted migrations: expected previously executed migration ${o[s]} to be at index ${s} but ${n[s].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)}async#C(n,o,s){let a=o.executedMigrations.toReversed().slice(0,s).map((p)=>o.migrations.find((h)=>h.name===p)),c=a.map((p)=>({migrationName:p.name,direction:"Down",status:"NotExecuted"}));for(let p=0;p<c.length;++p){let h=a[p];try{if(h.down)await h.down(n),await n.withPlugin(this.#n).deleteFrom(this.#i).where("name","=",h.name).execute(),c[p]={migrationName:h.name,direction:"Down",status:"Success"}}catch(_){throw c[p]={migrationName:h.name,direction:"Down",status:"Error"},new ln({error:_,results:c})}}return{results:c}}async#E(n,o,s){let c=o.pendingMigrations.slice(0,s).map((p)=>({migrationName:p.name,direction:"Up",status:"NotExecuted"}));for(let p=0;p<c.length;p++){let h=o.pendingMigrations[p];try{await h.up(n),await n.withPlugin(this.#n).insertInto(this.#i).values({name:h.name,timestamp:new Date().toISOString()}).execute(),c[p]={migrationName:h.name,direction:"Up",status:"Success"}}catch(_){throw c[p]={migrationName:h.name,direction:"Up",status:"Error"},new ln({error:_,results:c})}}return{results:c}}async#h(n){if(this.#e.db.getExecutor().adapter.supportsCreateIfNotExists)n=n.ifNotExists();await n.execute()}}class ln extends Error{#e;constructor(n){super();this.#e=n}get resultSet(){return this.#e}}class gi{#e;constructor(n){this.#e=n}async getSchemas(){return[]}async getTables(n={withInternalKyselyTables:!1}){return await this.#r(n)}#t(n,o){let s=n.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").select(["name","sql","type"]).orderBy("name");if(!o.withInternalKyselyTables)s=s.where("name","!=",oe).where("name","!=",pn);return s}async#r(n){let o=await this.#t(this.#e,n).execute(),s=await this.#e.with("table_list",(c)=>this.#t(c,n)).selectFrom(["table_list as tl",m`pragma_table_info(tl.name)`.as("p")]).select(["tl.name as table","p.cid","p.name","p.type","p.notnull","p.dflt_value","p.pk"]).orderBy("tl.name").orderBy("p.cid").execute(),a={};for(let c of s)a[c.table]??=[],a[c.table].push(c);return o.map(({name:c,sql:p,type:h})=>{let _=p?.split(/[\(\),]/)?.find((x)=>x.toLowerCase().includes("autoincrement"))?.trimStart()?.split(/\s+/)?.[0]?.replace(/["`]/g,""),y=a[c]??[];if(!_){let x=y.filter((N)=>N.pk>0);if(x.length===1&&x[0].type.toLowerCase()==="integer")_=x[0].name}return{name:c,isView:h==="view",isForeign:!1,columns:y.map((x)=>({name:x.name,dataType:x.type,isNullable:!x.notnull,isAutoIncrementing:x.name===_,hasDefaultValue:x.dflt_value!=null,comment:void 0}))}})}}class rE extends Oo{get supportsMultipleConnections(){return!1}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(n,o){}async releaseMigrationLock(n,o){}}class Po{#e;constructor(n){this.#e=n}async getMigrations(){let n={},o=await this.#e.fs.readdir(this.#e.migrationFolder);for(let s of o){if(!this.hasExpectedExtension(s)){this.#e.onFileIgnored?.(s,"Extension");continue}let a=this.#e.path.join(this.#e.migrationFolder,s),c=this.#e.import?await this.#e.import(a):await import(a),p=s.substring(0,s.lastIndexOf("."));if(lu(c?.default))n[p]=c.default;else if(lu(c))n[p]=c;else this.#e.onFileIgnored?.(s,"NotMigration")}return n}hasExpectedExtension(n){return n.endsWith(".js")||n.endsWith(".ts")&&!n.endsWith(".d.ts")||n.endsWith(".mjs")||n.endsWith(".mts")&&!n.endsWith(".d.mts")||n.endsWith(".cjs")||n.endsWith(".cts")&&!n.endsWith(".d.cts")}}function lu(n){return M(n)&&W(n.up)}class wi{async acquire(){}async release(){}}import{readFileSync as ol}from"fs";import{execFileSync as nl}from"child_process";var mu=(n,o,s)=>nl(n,o,{encoding:"utf-8",timeout:s.timeout,env:s.env});var pu="darwin-utc";function wd(n){if(n===void 0)return{};return n.startsWith("darwin-utc:")?{processGenerationTokenUtc:n}:{processGenerationToken:n}}function _r(n){if(typeof n.processGenerationTokenUtc==="string")return n.processGenerationTokenUtc;return typeof n.processGenerationToken==="string"?n.processGenerationToken:void 0}var sl="/proc/sys/kernel/random/boot_id",al=pu,dl="darwin",c2={LC_ALL:"C",TZ:"UTC"},ul=1000,cl=["pid","startedAt","version","buildId","entryScript"];function k9(n,o){let s=_r(o);return cl.every((a)=>o[a]===n[a])&&(s===void 0||s===n.processGenerationToken)}function j$(n){let o=n.trim().replace(/\s+/g," ");return o.length>0?`${al}:${o}`:void 0}function fu(n){let o=n.indexOf(":");return o<0?"":n.slice(0,o)}function Ya(n,o){if(n===o)return"same";let s=fu(n);return s===fu(o)&&s!==dl?"different":"incomparable"}function ll(n,o){let s=n.lastIndexOf(")");if(s<0)return;let c=n.slice(s+1).trim().split(/\s+/)[19],p=o.trim();if(!p||!c||!/^\d+$/.test(c))return;return`linux:${p}:${c}`}function ml(n=ol){let o;return(s)=>{try{let a=n(`/proc/${s}/stat`,"utf-8");return o??=n(sl,"utf-8"),ll(a,o)}catch(a){e.debug(`Unable to read Linux process generation token for PID ${s}: ${a}`);return}}}var Gg=ml(),pl=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],fl=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hl(n){if(!Number.isFinite(n)||!Number.isInteger(n)||n<=0)return;let o=new Date(n*1000);if(!Number.isFinite(o.getTime()))return;let s=[o.getUTCHours(),o.getUTCMinutes(),o.getUTCSeconds()].map((a)=>String(a).padStart(2,"0")).join(":");return`${pl[o.getUTCDay()]} ${fl[o.getUTCMonth()]} ${o.getUTCDate()} ${s} ${String(o.getUTCFullYear()).padStart(4,"0")}`}function _l(n,o){if(o<16||n.byteLength<16)return;let s=Number(new DataView(n.buffer,n.byteOffset,16).getBigInt64(0,!0));return s>0&&Number.isSafeInteger(s)?s:void 0}function yl(){let{dlopen:n,ptr:o,FFIType:s}=wt("bun:ffi"),a=n("/usr/lib/libSystem.B.dylib",{sysctl:{args:[s.ptr,s.u32,s.ptr,s.ptr,s.ptr,s.u64],returns:s.i32}}),c=new Int32Array([1,14,1,0]),p=new Uint8Array(648),h=new BigUint64Array(1);return{readStartSeconds(_){try{return c[3]=_,h[0]=BigInt(p.byteLength),a.symbols.sysctl(o(c),c.length,o(p),o(h),null,0)===0?_l(p,Number(h[0])):void 0}catch(y){e.debug(`Unable to read Darwin sysctl process start: ${r(y)}`);return}}}}var hu=!1,Lo;function _u(){if(process.platform!=="darwin"||hu)return Lo;hu=!0;try{Lo=yl()}catch(n){e.debug(`Unable to load Darwin sysctl process start reader: ${r(n)}`)}return Lo}function Wae(n=process.platform){if(n==="linux")return!0;return n==="darwin"&&_u()!==void 0}function Nl(n={}){let{startReader:o={readStartSeconds:(c)=>_u()?.readStartSeconds(c)},runCommand:s=mu,captureDisabled:a=()=>mn.processGenerationCaptureDisabled?.()??!1}=n;return(c)=>{if(!a())try{let p=o.readStartSeconds(c),h=p===void 0?void 0:hl(p);if(h!==void 0)return j$(h)}catch(p){e.debug(`Unable to capture Darwin process start: ${r(p)}`)}return yu(c,s)}}var gl=Nl();function Yg(n,o){return o===void 0?gl(n):yu(n,o)}function yu(n,o){try{return j$(o("ps",["-p",String(n),"-o","lstart="],{timeout:ul,env:{...process.env,...c2}}))}catch(s){e.debug(`Unable to read Darwin process generation token for PID ${n}: ${s}`);return}}function wl(n={}){let{platform:o=process.platform,pid:s=process.pid,readLinuxProcessGenerationToken:a=Gg,readDarwinProcessGenerationToken:c=Yg}=n,p=!1,h;return()=>{if(p)return h;p=!0;try{if(o==="linux")h=a(s);else if(o==="darwin")h=c(s)}catch(_){e.debug(`Unable to read current daemon process generation token: ${_}`)}return h}}var vl=wl(),bf=()=>mn.processGenerationCaptureDisabled?.()?void 0:vl();function Sa(n){if(process.platform==="darwin")return Yg(n);if(process.platform==="linux")return Gg(n);return}function bl(n={}){let o=n.platform??process.platform,s=n.now??(()=>i.now()),a=n.captureDisabled??(()=>mn.processGenerationCaptureDisabled?.()??!1),c=n.sameVerdictTtlMs??1000,p=new Map,h=new Map,_=new Map;function y(x){try{return(o==="linux"?n.readLinuxProcessGenerationToken??Gg:o==="darwin"?n.readDarwinProcessGenerationToken??Yg:void 0)?.(x)}catch(N){e.debug(`Lock owner process generation unreadable: ${r(N)}`);return}}return{current(x){if(a())return;let N=s();for(let[re,de]of p)if(N-de.at>=c)p.delete(re);for(let[re,de]of h)if(N-de>=c)h.delete(re);if(h.has(x))return;let C=p.get(x);if(C)return C.token;let V=y(x);if(V!==void 0)p.set(x,{token:V,at:s()});else h.set(x,s());return V},compare(x,N){if(a())return _.clear(),"unknown";let C=s();for(let[ut,Ka]of _)if(C-Ka.at>=c)_.delete(ut);let V=_.get(x);if(V!==void 0){if(V.token===void 0)return"unknown";if(V.token===N)return"same"}_.delete(x);let re=y(x);if(re===void 0)return _.set(x,{at:s()}),"unknown";let de=Ya(N,re);if(de==="same")_.set(x,{token:N,at:C});return de==="incomparable"?"unknown":de}}}var Ht=bl();import{existsSync as im,realpathSync as Mu}from"fs";import{basename as nm,dirname as om,join as sm}from"path";var xu=new Set;function Yn(n,o,s){return Sf(n,o,s)??s.fallback}function Sf(n,o,s={}){let{env:a=process.env,log:c=e}=s,{name:p,raw:h}=El(n,o,a);if(h==="")return;let _=Cb(h);if(_!==void 0&&_>=(s.min??1))return _;Tl(c,p,h,s);return}function El(n,o,s){if(s[n]!==void 0||o===void 0)return{name:n,raw:(s[n]??"").trim()};return{name:o,raw:(s[o]??"").trim()}}function Cb(n){let o=/^\d+$/.test(n)?Number(n):NaN;return Number.isSafeInteger(o)&&o>0?o:void 0}function Tl(n,o,s,a){let c=`${o}=${s}`;if(xu.has(c))return;xu.add(c);let p=a.min!==void 0?` of at least ${a.min}`:"";n.warn(`Ignoring ${o}=${JSON.stringify(s)}: expected a plain integer${p}; using the default${a.fallback===void 0?"":` ${a.fallback}`}`)}function zs(n,o=process.env,s={}){return Yn(n.name,n.legacyName,{fallback:s.fallback??n.fallback??0,min:n.min,env:o,log:s.log??e})}var vi=(n)=>at(n,{debugLog:e.debug}),Ao=1e4,bi=Ao,Bo=64,Wo=8,Mo=300000,qo=64,Fo=64,Nu=3;function Jg(n,o,s,a){if(a!==void 0)return`${n}
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 ks(n){let[o,s,a,c]=n.split(`
9
+ `,4),p=Number.parseInt(o,10),_={pid:Number.isInteger(p)&&p>0?p:NaN,token:s||void 0};if(a)_.metadata=a;if(c)_.generation=c;return _}function Lr(n){let o=n.next();while(!o.done)o=n.next();return o.value}function Ar(n,o){let s=ks(n.raw.trim());if(Number.isNaN(s.pid)){let a=(o.now??Date.now)()-n.mtimeMs;return a>=0&&a>(o.ownerlessReclaimAgeMs??Ao)}return kl(s.pid,s.token,o.pid??process.pid,{ownerToken:o.ownerToken,reclaimOwnPid:o.reclaimOwnPid??!1})||!(o.isProcessRunning??vi)(s.pid)||oP(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 kl(n,o,s,{ownerToken:a,reclaimOwnPid:c}){return c&&n===s&&(a===void 0||(o??"")!==a)}function xe(n){return n.ino!==void 0&&n.mtimeMs!==void 0}function fn(n,o){return n.raw===o.raw&&n.ino===o.ino&&n.mtimeMs===o.mtimeMs}function gu(n){return{raw:n.raw,ino:n.ino??-1n,mtimeMs:n.mtimeMs??NaN}}function Br(n,o,s){if(n.pid!==o)return!1;return s===void 0||n.token===void 0||n.token===s}function oP(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 wu=8,bt=new WeakMap,_n=new WeakMap,yn=new WeakMap;function $o(n,o,s){return(yn.get(s)?.get(n)?.get(o)??0)>0}function vu(n,o,s,a){if(a.has(o))return;a.add(o);let c=yn.get(s);if(!c)c=new Map,yn.set(s,c);let p=c.get(n);if(!p)p=new Map,c.set(n,p);p.set(o,(p.get(o)??0)+1)}function Go(n,o,s){let a=yn.get(o),c=a?.get(n);for(let p of s){let h=(c?.get(p)??0)-1;if(h>0)c?.set(p,h);else c?.delete(p)}if(!c?.size)a?.delete(n)}function Ci(n,o,s){return Sl(n,o,s)||$o(n,o,s)}var Ko=new WeakSet;function Sl(n,o,s){return Ko.has(s)||_n.get(s)?.get(n)?.has(o)===!0}function bu(n,o,s){let a=_n.get(s);if(!a)a=new Map,_n.set(s,a);let c=a.get(n);if(!c)c=new Set,a.set(n,c);if(c.add(o),c.size>wu)Ko.add(s),c.delete(c.values().next().value);if(a.size>64)Ko.add(s),a.delete(a.keys().next().value)}function xn(n,o,s){let a=_n.get(o),c=a?.get(n);for(let p of c??[])if(s(p))c?.delete(p);if(!c?.size)a?.delete(n)}var Uo=new WeakMap;function Qt(n,o,s,a){let c=bt.get(o);if(!c)c=new Map,bt.set(o,c);let p=c.get(n);if(!p)p={publications:[],markers:new Set},c.set(n,p);let{publications:h,markers:_}=p;if(s&&!h.some((y)=>fn(y,s)))h.push(s);if(h.length>wu)h.shift();if(a)_.add(a);if(_.size>8)_.delete(_.values().next().value);if(c.size>64)c.delete(c.keys().next().value)}function zt(n,o,s){let a=bt.get(o),c=a?.get(n);if(!c)return;if(c.publications=c.publications.filter((p)=>!s(p)),!c.publications.length&&!c.markers.size)a?.delete(n)}var st={releaseMarkerCounter:0,publicationCounter:0};import*as J from"fs";function Dl(n){return Number(n/1000000000n)*1000+Number(n%1000000000n)/1e6}var Ni={mkdir:(n)=>{J.mkdirSync(n,{recursive:!0})},list:(n)=>Li(n),openExclusive:(n)=>J.openSync(n,"wx",384),write:(n,o)=>J.writeFileSync(n,o),close:(n)=>J.closeSync(n),writeFile:(n,o)=>J.writeFileSync(n,o,{flag:"wx",mode:384}),readText:(n)=>J.readFileSync(n,"utf-8"),stat:(n)=>{let{ino:o,mtimeNs:s}=J.statSync(n,{bigint:!0});return{ino:o,mtimeMs:Dl(s)}},rename:(n,o)=>J.renameSync(n,o),link:(n,o)=>J.linkSync(n,o),unlink:(n)=>J.unlinkSync(n),exists:(n)=>J.existsSync(n)};import{dirname as Ol,basename as Cu}from"path";var Eu=/^.+\.(\d+)\.\d+\.[^.]+\.tmp$/;function*Rl(n,o,s,{fileSystem:a,now:c}){let p=`${s}:${n}`,h=Uo.get(a);if(!h)h=new Map,Uo.set(a,h);let _=h.get(p);if(!_||c-_.listedAt>=Mo||c<_.listedAt){if(!_&&h.size>=Fo){let y=h.keys().next().value;if(y!==void 0)h.delete(y)}_={listedAt:c,candidates:[]},h.set(p,_);try{yield{op:"list",path:n};let y=a.list(n).sort().filter((x)=>Eu.exec(x)?.[1]===s);_.candidates=[...y.filter((x)=>x.startsWith(o)),...y.filter((x)=>!x.startsWith(o))].slice(0,qo)}catch(y){e.debug(`Lock tmp listing unavailable at ${n}: ${r(y)}`,y)}}return _.candidates}function*Vo(n,o){let s=o.fileSystem??Ni,a=Ol(n),c=String(o.pid??process.pid),p=`${Cu(n)}.`,h=yield*Rl(a,p,c,{fileSystem:s,now:(o.now??Date.now)()}),_=0;for(let y of[...h]){if(!y.startsWith(p)||Eu.exec(y)?.[1]!==c)continue;let x=n.slice(0,n.length-Cu(n).length)+y,N=yield*Il(x,o);if(N===!1)continue;let C=h.indexOf(y);if(C===-1)continue;if(h.splice(C,1),N===void 0)continue;if(yield*Oe(x,s),++_===Wo)break}}function*Il(n,o){try{yield{op:"stat",path:n};let{mtimeMs:s}=(o.fileSystem??Ni).stat(n);return(o.now??Date.now)()-s>bi}catch(s){e.debug(`Lock tmp age unavailable at ${n}: ${r(s)}`,s);return}}function*Ne(n,o){try{yield{op:"stat",path:n};let{ino:s,mtimeMs:a}=o.stat(n);yield{op:"readText",path:n};let c=o.readText(n);return{ino:s,mtimeMs:a,raw:c}}catch(s){e.debug(`Lock sample failed at ${n}: ${r(s)}`,s);return}}function*dt(n,o){try{return yield{op:"readText",path:n},o.readText(n)}catch(s){e.debug(`Lock read failed at ${n}: ${r(s)}`,s);return}}function*Nn(n,o,s,a=!1){try{return yield{op:"rename",path:n},s.rename(n,o),!0}catch(c){if(a&&c.code!=="ENOENT")e.warn(`Lock rename failed at ${n}: ${r(c)}`,c);else e.debug(`Lock rename failed at ${n}: ${r(c)}`,c);return!1}}function*Tu(n,o,s){let a=s.fileSystem??Ni,c=s.pid??process.pid,p=s.idGenerator??B,h=`${n}.${c}.${++st.publicationCounter}.${p.next()}.tmp`;try{return yield*Oe(h,a),yield{op:"writeFile",path:h},a.writeFile(h,o),yield{op:"rename",path:h},a.rename(h,n),!0}catch(_){return e.warn(`Reclaim guard install failed at ${n}: ${r(_)}`,_),!1}finally{yield*Oe(h,a)}}function*Wr(n,o,s){try{yield{op:"link",path:n},s.link(o,n)}catch(a){if(a.code==="EEXIST")e.debug(`Lock restore destination occupied at ${n}: ${r(a)}`);else if(e.warn(`Displaced lock link restore failed at ${n}: ${r(a)}`,a),!(yield*Pl(n,o,s))){yield*Wt(n,o,s);return}}yield*Oe(o,s)}function*Pl(n,o,s){let a=yield*dt(o,s);if(a===void 0)return e.warn(`Displaced lock exclusive copy could not read ${o}`),!1;return(yield*Du(n,a,s,"Displaced lock exclusive copy"))!=="failed"}function*Mr(n,o){let s;try{yield{op:"stat",path:n},s=o.stat(n)}catch(c){if(c.code==="ENOENT")return e.debug(`Retained lock absent at ${n}: ${r(c)}`),"absent";return e.warn(`Retained lock stat failed at ${n}: ${r(c)}`,c),"unreadable"}let a=yield*dt(n,o);return a===void 0?"unreadable":{...s,raw:a}}function*Wt(n,o,s){let a=`${n}.displaced`,c=yield*Mr(a,s);if(c==="absent"){try{yield{op:"rename",path:o},s.rename(o,a),e.warn(`Displaced lock restore failed at ${n}; retained at ${a}; lock state is held-unknown`)}catch(p){e.warn(`Displaced lock retention failed at ${n}; retaining ${o}: ${r(p)}`,p)}return}if(c!=="unreadable"&&q(yield*Ne(o,s),c)){yield*Oe(o,s);return}e.warn(`Displaced lock retention blocked at ${a}; retaining ${o}; lock state is held-unknown`)}function*qr(n,o,s){try{return yield{op:"stat",path:n},{...s.stat(n),raw:o}}catch(a){e.debug(`Lock publication identity unavailable at ${n}: ${r(a)}`,a);return}}function*Qo(n,o){try{yield{op:"link",path:n},o.link(`${n}.displaced`,n)}catch(s){e.debug(`Retained lock completion skipped at ${n}: ${r(s)}`,s)}}function*Oe(n,o){try{yield{op:"unlink",path:n},o.unlink(n)}catch(s){if(s.code==="ENOENT")e.debug(`Lock cleanup already complete at ${n}: ${r(s)}`);else e.warn(`Lock cleanup failed at ${n}: ${r(s)}`,s)}}function*ku(n,o){try{yield{op:"unlink",path:n},o.unlink(n)}catch(s){if(s.code!=="ENOENT")throw u(s,`Failed to remove stale lock marker at ${n}`);e.debug(`Stale marker already removed at ${n}: ${r(s)}`)}}function*Re(n,o){for(let s=0;s<Nu;s++)try{return yield n,{value:o()}}catch(a){if(e.debug(`Lock ${n.op} attempt failed at ${n.path}: ${r(a)}`,a),a.code==="ENOENT")return"missing"}return"failed"}function*gn(n,o){let s=yield*Re({op:"readText",path:n},()=>o.readText(n));if(s==="failed")e.warn(`Lock release read failed at ${n}; lock left in place`,s);return s}function*Ei(n,o){let s=yield*gn(n,o);return typeof s==="string"?void 0:s.value}function*Fr(n,o,s){let a=yield*Re({op:"rename",path:n},()=>s.rename(n,o));if(a==="failed")e.warn(`Lock release claim failed at ${n}; lock left in place`,a);return typeof a!=="string"}function*zo(n,o,s,{fileSystem:a,idGenerator:c=B,postPublish:p}){let h=`${n}.${s}.${++st.publicationCounter}.${c.next()}.tmp`,_=!1;try{try{yield*Oe(h,a),yield{op:"writeFile",path:h},a.writeFile(h,o),yield{op:"link",path:n},_=!0,a.link(h,n)}catch(y){if(_&&y.code==="EEXIST")return e.debug(`Lock publication contended at ${n}: ${r(y)}`),"contended";return e.warn(`Atomic lock publication failed at ${n}: ${r(y)}`,y),{error:y}}if(p)yield*p(h);return"created"}finally{yield*Oe(h,a)}}function*Su(n,o,s,{fileSystem:a,idGenerator:c=B}){let p=yield*zo(n,o,s,{fileSystem:a,idGenerator:c});if(typeof p==="string")return p;return yield*Du(n,o,a,"Reclaim guard")}function*Du(n,o,s,a){let c;try{yield{op:"openExclusive",path:n},c=s.openExclusive(n);try{yield{op:"write",path:n},s.write(c,o)}finally{yield{op:"close",path:n},s.close(c)}return"created"}catch(p){if(c===void 0&&p.code==="EEXIST")return e.debug(`${a} already held at ${n}: ${r(p)}`),"contended";if(e.warn(`${a} creation failed at ${n}: ${r(p)}`,p),c!==void 0)yield*Oe(n,s);return"failed"}}function*Ou(n,o,s){let a;try{yield{op:"openExclusive",path:n},a=s.openExclusive(n)}catch(c){if(c.code!=="EEXIST")throw u(c,`Failed to create exclusive lock file at ${n}`);return e.debug(`Legacy lock already held at ${n}: ${r(c)}`),!1}try{return yield{op:"write",path:n},s.write(a,o),!0}finally{yield{op:"close",path:n},s.close(a)}}import{createHash as Ll}from"crypto";function Kr(n,o){let s=Ll("sha256").update(o.raw).digest("hex").slice(0,32);return`${n}.reclaim.${Number(o.ino)}.${o.mtimeMs}.${s}`}function*wn(n,o,s){let a=o.fileSystem??Ni,c=o.pid??process.pid,p=Jg(c,o.ownerToken,void 0,s),h=[];for(let _=0;_<Bo;_++){let y=`${n}.${_}`,x=yield*Su(y,p,c,{fileSystem:a,idGenerator:o.idGenerator});if(x==="created"){if(!(yield*Al(n,h,a))){yield*Mt(y,p,a);return}let C=_>0&&(yield*Bl(n,_,p,o));return{k:_,content:p,compacted:C}}if(x==="failed")return;let N=yield*Ne(y,a);if(N===void 0||Wl(N,o))return;h.push(N)}e.warn(`Reclaim guard chain exhausted at ${n}`);return}function*Al(n,o,s){for(let[a,c]of o.entries())if(!q(yield*Ne(`${n}.${a}`,s),c))return!1;return!0}function*Mt(n,o,s){let a=yield*Re({op:"readText",path:n},()=>s.readText(n));if((typeof a==="string"?void 0:a.value)!==o)return e.debug(`Reclaim guard release skipped at ${n}: content changed or unavailable`),!1;return yield*Ru(n,s)}function*Ru(n,o){let s,a=yield*Re({op:"unlink",path:n},()=>{try{o.unlink(n)}catch(c){throw s=c,c}});if(typeof a!=="string")return!0;if(a==="missing")return e.debug(`Reclaim guard already removed at ${n}: ${r(s)}`),!0;return e.warn(`Reclaim guard removal failed at ${n}: ${r(s)}`,s),!1}function*Bl(n,o,s,a){let c=a.fileSystem??Ni;if(!(yield*Tu(`${n}.0`,s,a)))return!1;if(yield*Mt(`${n}.${o}`,s,c)){for(let p=o-1;p>0;p--)if(!(yield*Ru(`${n}.${p}`,c)))break}return!0}function Wl(n,o){let s=ks(n.raw.trim());if(!Number.isNaN(s.pid)){if(s.pid!==(o.pid??process.pid)&&!(o.isProcessRunning??vi)(s.pid))return!1;let c=oP(o.ownerGeneration,s.pid,s.generation);if(c!=="unknown")return c==="same"}return!((o.now??Date.now)()-n.mtimeMs>bi)}function*Iu(n,o,s){let a=s.fileSystem??Ni,c=`${n}.displaced`;if(!q(yield*Ne(c,a),o))return;let p=`${n}.${s.pid??process.pid}.reclaim`;if(!(yield*Nn(c,p,a)))return;if(!q(yield*Ne(p,a),o)){yield*Wt(n,p,a);return}yield*Oe(p,a)}function*Ml(n,o,s,a){let c=s.fileSystem??Ni,p=Kr(n,o),h=yield*wn(p,s,a);if(h===void 0)return;try{yield*Iu(n,o,s)}finally{if(yield*Mt(`${p}.${h.k}`,h.content,c),h.compacted)yield*Mt(`${p}.0`,h.content,c)}}function*Jo(n,o,s,a){let{reclaimed:c,publishedContent:p,tmp:h}=a,_=o.fileSystem??Ni,y=yield*Mr(`${n}.displaced`,_);if(y==="absent")return!0;let x=o.pid??process.pid,N=(h?yield*qr(h,p,_):void 0)??{raw:p},C=yield*ql(n,y,N,{pid:x,fileSystem:_});if(C==="absent")return!0;if(typeof C==="string"||!xe(N)||!q(N,C)){if($l(C,c,p,o))return yield*Gl(n,N,x,_);if(yield*Vl(n,C,o,{generation:s,reclaimed:c}))return!0}return yield*Fl(n,C,N,{pid:x,fileSystem:_})}function*ql(n,o,s,{pid:a,fileSystem:c}){if(typeof o!=="string"&&xe(s)&&q(s,o))return zt(n,c,(p)=>fn(p,s)),o;return yield*jo(n,o,a,{fileSystem:c})}function*Fl(n,o,s,{pid:a,fileSystem:c}){let p=yield*Ql(n,o,s.raw,{fileSystem:c,publication:xe(s)?s:void 0});if(p==="absent")return yield*Qo(n,c),!0;if(p==="same")return!0;if(p==="older"){if(xe(s))Qt(n,c,s);return!1}if(p==="blocked"&&xe(s))return yield*Kl(n,s,a,c),!1;return yield*jl(n,s,a,c),yield*Qo(n,c),!1}function*Kl(n,o,s,a){let c=yield*Ti(n,`${n}.displaced`,o,{pid:s,fileSystem:a}),p=yield*Ti(n,n,o,{pid:s,fileSystem:a});if(c!=="removed"||p!=="removed")Qt(n,a,o)}function*jo(n,o,s,{fileSystem:a,keepEntry:c=!1}){if(typeof o==="string")return o;let p=bt.get(a)?.get(n)?.publications.find((y)=>xe(y)&&(q(y,o)||y.raw===o.raw&&!Ci(n,y.raw,a)));if(p===void 0||!xe(p))return o;let h=`${n}.displaced`;if(!(q(p,o)?(yield*Ti(n,h,p,{pid:s,fileSystem:a}))==="removed":(yield*Xo(n,h,p.raw,{pid:s,fileSystem:a,protectGenuine:!0}))==="removed"))return o;if(!c&&!q(p,o))zt(n,a,(y)=>y===p);return yield*Mr(h,a)}function $l(n,o,s,a){return typeof n!=="string"&&n.raw===s&&!(o!==void 0&&q(n,o))&&Ar(n,a)}function*Gl(n,o,s,a){let c=yield*Ul(n,o.raw,s,a);if((yield*dt(n,a))===o.raw)return!0;if(!c)Qt(n,a,{raw:o.raw});if(xe(o))Qt(n,a,o);return!1}function*Ul(n,o,s,a){let c=`${n}.${s}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(`${n}.displaced`,c,a)))return!1;if((yield*Ei(c,a))!==o)return yield*Wt(n,c,a),!1;return yield*bn(n,c,a),!0}function*Vl(n,o,s,{generation:a,reclaimed:c}={}){if(typeof o!=="string"){if(c!==void 0&&q(o,c))return yield*Iu(n,c,s),!0;if(Ar(o,s)){if(!(c!==void 0&&Kr(n,c)===Kr(n,o)))yield*Ml(n,o,s,a);return!0}}return!1}function*Ql(n,o,s,{fileSystem:a,publication:c}){if(typeof o==="string"||o.raw!==s)return"other";if(!q(c,o))return(yield*dt(n,a))===s?"other":"older";try{yield{op:"readText",path:n};let p=a.readText(n);if(p!==s)return"blocked";return yield{op:"stat",path:n},q({...a.stat(n),raw:p},o)?"same":"blocked"}catch(p){if(p.code==="ENOENT")return e.debug(`Own retained publication has no peer at ${n}: ${r(p)}`),"absent";return e.warn(`Own retained publication cannot read ${n}: ${r(p)}`,p),"blocked"}}function*vn(n,o,s){let a=bt.get(s)?.get(n);if(!a)return;for(let c of[...a.markers])a.markers.delete(c),yield*bn(n,c,s);for(let c of[...a.publications])if(yield*zl(n,c,o,s))zt(n,s,(p)=>p===c);zt(n,s,()=>!1)}function*zl(n,o,s,a){if(!xe(o)){if($o(n,o.raw,a))return!1;return(yield*Pu(n,o.raw,s,{fileSystem:a,protectGenuine:!0}))==="removed"}let c=yield*qr(n,o.raw,a);if(!q(c,o)){if(c===void 0)return!1;return yield*Jl(n,n,o.raw,{pid:s,fileSystem:a})}let p=yield*Ti(n,`${n}.displaced`,o,{pid:s,fileSystem:a});return(yield*Ti(n,n,o,{pid:s,fileSystem:a}))==="removed"&&p!=="unverified"}function*Jl(n,o,s,{pid:a,fileSystem:c}){if(Ci(n,s,c)||(yield*dt(o,c))!==s)return!1;let p=yield*Mr(`${n}.displaced`,c),h=p==="absent"?p:yield*jo(n,p,a,{fileSystem:c,keepEntry:!0});return(yield*Xo(n,o,s,{pid:a,fileSystem:c,protectGenuine:!0}))==="removed"&&h!=="unreadable"&&(h==="absent"||h.raw!==s)}function*Ti(n,o,s,{pid:a,fileSystem:c}){if(!q(yield*qr(o,s.raw,c),s))return"elsewhere";if((yield*dt(o,c))!==s.raw)return"unverified";let p=`${n}.${a}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(o,p,c)))return"unverified";if(!q(yield*Ne(p,c),s)){if(o===n)yield*Wr(n,p,c);else yield*Wt(n,p,c);return"unverified"}return yield*bn(n,p,c),"removed"}function*Ho(n,o,s,a){if(!bt.get(a)?.get(n)?.publications?.some((h)=>xe(h)&&h.raw===s))return;let p=yield*qr(o,s,a);zt(n,a,(h)=>q(p,gu(h)))}function*Yo(n,o,s,a){bu(n,o,s);let p=(bt.get(s)?.get(n)?.publications??[]).filter((_)=>_.raw===o);if(!p.length)return;let h=p.some(xe)?yield*qr(a,o,s):void 0;zt(n,s,(_)=>p.includes(_)&&(!xe(_)||q(h,_)))}function*jl(n,o,s,a){let c=yield*Pu(n,o.raw,s,{fileSystem:a});if(c==="removed")return;if(Qt(n,a,o),c==="failed")e.warn(`Lock back-out failed at ${n}; cleanup pending in this process`);else e.debug(`Lock back-out did not find its publication at ${n}; removal pending`)}function*Pu(n,o,s,{fileSystem:a,protectGenuine:c=!1}){let p=yield*Re({op:"readText",path:n},()=>a.readText(n));if(typeof p==="string")return p==="missing"?"unfound":"failed";if(p.value!==o)return"unfound";return yield*Xo(n,n,o,{pid:s,fileSystem:a,protectGenuine:c})}function*Xo(n,o,s,{pid:a,fileSystem:c,protectGenuine:p=!1}){let h=`${n}.${a}.release.${++st.releaseMarkerCounter}`,_=yield*Re({op:"rename",path:o},()=>{if(p&&Ci(n,s,c))return!1;return c.rename(o,h),!0});if(typeof _==="string")return _==="missing"?"unfound":"failed";if(!_.value)return"unfound";let y=yield*Re({op:"readText",path:h},()=>c.readText(h));if(typeof y==="string"||y.value!==s||p&&Ci(n,s,c)){if(o===n)yield*Wr(n,h,c);else yield*Wt(n,h,c);return y==="failed"?"failed":"unfound"}return yield*bn(n,h,c),"removed"}function*bn(n,o,s){if((yield*Re({op:"unlink",path:o},()=>s.unlink(o)))!=="failed")return;Qt(n,s,void 0,o),e.warn(`Lock back-out marker cleanup failed at ${n}; cleanup pending in this process`)}function*Lu(n,o,s){if(!bt.get(s)?.get(n)?.publications?.some(xe))return;let c=yield*Mr(`${n}.displaced`,s);if(c!=="absent")yield*jo(n,c,o,{fileSystem:s})}import{dirname as Zo}from"path";function Fi(n,o={}){return Lr(Hl(n,o))}function*Hl(n,o={}){let s={...o,publications:new Set};try{return yield*Yl(n,s)}finally{Go(n,o.fileSystem??Ni,s.publications)}}function*Yl(n,o){let s=o.pid??process.pid,a=o.fileSystem??Ni;yield*vn(n,s,a);let c=yield*Ne(n,a);if(c){let _=hn(o.ownerGeneration,s);if(!Ar(c,o))return!1;return yield*es(n,o,c,{generation:_})}let p=yield*Wu(n,s,o);if(p.blocked)return!1;if(p.acquired)return!0;let h=yield*Ne(n,o.fileSystem??Ni);if(!h||!Ar(h,o))return!1;return yield*es(n,o,h,{generation:p.generation,sweep:!p.swept})}function*es(n,o,s,{generation:a,sweep:c}={}){let p=o.fileSystem??Ni,h=o.pid??process.pid,_=Kr(n,s);if(c!==!1)yield*Vo(n,o);let y=yield*wn(_,o,a);if(y===void 0)return!1;try{if(!q(yield*Ne(n,p),s))return!1;let x=`${n}.${h}.reclaim`;if(!(yield*Nn(n,x,p)))return!1;if(!q(yield*Ne(x,p),s))return yield*Wr(n,x,p),!1;yield*ku(x,p);for(let N=y.compacted?1:0;N<y.k;N++)yield*Oe(`${_}.${N}`,p);return(yield*Wu(n,h,o,{sweep:!1,reclaimed:s})).acquired}finally{if(yield*Mt(`${_}.${y.k}`,y.content,p),y.compacted)yield*Mt(`${_}.0`,y.content,p)}}function K$(n,o=vi,s,a=Ni){let c=Lr(Au(n,a))?.trim();if(c===void 0)return;let{pid:p,generation:h}=ks(c);if(Number.isNaN(p)||!o(p))return;if(h!==void 0&&s!==void 0&&oP(s,p,h)==="different")return;return p}function xl(n,o=Ni){let s=Lr(Au(n,o))?.trim();if(s===void 0||s.length===0)return;return ks(s)}function*Au(n,o){return(yield*dt(n,o))??(yield*dt(`${n}.displaced`,o))}function nE(n,o,s={}){return Lr(Xl(n,o,s))}function*Xl(n,o,s){let a={...s,publications:new Set};try{return yield*Zl(n,o,a)}finally{Go(n,s.fileSystem??Ni,a.publications)}}function*Zl(n,o,s){let a=s.fileSystem??Ni;yield*vn(n,s.pid??process.pid,a);let c=yield*Ne(n,a);if(!c)return!1;let p=ks(c.raw.trim());if(p.pid!==o.pid||p.token!==o.token)return!1;let h=hn(s.ownerGeneration,s.pid??process.pid);return yield*es(n,s,c,{generation:h})}function ki(n,o=process.pid,s,a=Ni){Lr(em(n,o,s,a))}function*em(n,o=process.pid,s,a=Ni){yield*vn(n,o,a);let c=yield*tm(n,o,s,a),p=yield*rm(n,o,s,a);if(c&&p)xn(n,a,(h)=>Br(ks(h.trim()),o,s))}function*tm(n,o,s,a){let c=`${n}.displaced`,p=yield*gn(c,a);if(p==="missing")return!0;let h=typeof p==="string"?void 0:p.value;if(h===void 0||!Br(ks(h.trim()),o,s))return!1;let _=`${n}.${o}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(c,_,a)))return!1;let y=yield*Ei(_,a);if(y===void 0||!Br(ks(y.trim()),o,s))return yield*Wt(n,_,a),!1;if(yield*Ho(n,_,y,a),yield*Bu(n,_,a))xn(n,a,(x)=>x===y);return!1}function*rm(n,o,s,a){let c=yield*gn(n,a);if(c==="missing")return!0;let p=typeof c==="string"?void 0:c.value;if(p===void 0)return!1;if(!Br(ks(p.trim()),o,s))return!1;let h=`${n}.${o}.release.${++st.releaseMarkerCounter}`;if(!(yield*Fr(n,h,a)))return!1;let _=yield*Ei(h,a);if(_===void 0||!Br(ks(_.trim()),o,s))return yield*Wr(n,h,a),!1;if(yield*Ho(n,h,_,a),yield*Bu(n,h,a))xn(n,a,(y)=>y===_);return!1}function*Bu(n,o,s){if((yield*Re({op:"unlink",path:o},()=>s.unlink(o)))!=="failed")return!0;e.warn(`Failed to release exclusive lock at ${n}; marker unlink exhausted`);try{yield{op:"link",path:n},s.link(o,n)}catch(c){e.warn(`Could not restore unreleased lock at ${n}: ${r(c)}`,c)}return!1}function*Wu(n,o,s,{sweep:a=!0,reclaimed:c}={}){let p=s.fileSystem??Ni;try{yield{op:"mkdir",path:Zo(n)},p.mkdir(Zo(n))}catch(h){if(h.code==="EEXIST")return e.debug(`Lock parent already occupied at ${Zo(n)}: ${r(h)}`,h),{acquired:!1,generation:void 0,swept:!1};throw u(h,`Failed to create exclusive lock file at ${n}`)}if(a)yield*Vo(n,s);try{let h=hn(s.ownerGeneration,o),_=Jg(o,s.ownerToken,s.metadata,h);yield*Lu(n,o,p),vu(n,_,p,s.publications);let y=!1,x=yield*zo(n,_,o,{fileSystem:p,idGenerator:s.idGenerator,postPublish:function*(C){if(y=yield*Jo(n,s,h,{reclaimed:c,publishedContent:_,tmp:C}),y)yield*Yo(n,_,p,C)}});if(!(typeof x==="string"?x==="created":yield*Ou(n,_,p)))return{acquired:!1,generation:h,swept:a};if(typeof x!=="string"){if(y=yield*Jo(n,s,h,{reclaimed:c,publishedContent:_}),y)yield*Yo(n,_,p,n)}return{acquired:y,generation:h,swept:a,blocked:!y}}catch(h){throw u(h,`Failed to create exclusive lock file at ${n}`)}}var am=B.next(),dm=100,um=60000;class qu{lockFilePath;timer;pollIntervalMs;timeoutMs;isProcessRunning;ownerGeneration;pid;ownerToken;constructor(n,o={}){this.lockFilePath=n;this.timer=o.timer??i,this.pollIntervalMs=Math.max(1,o.pollIntervalMs??dm),this.timeoutMs=o.timeoutMs??um,this.isProcessRunning=o.isProcessRunning,this.ownerGeneration=o.ownerGeneration,this.pid=o.pid??process.pid,this.ownerToken=o.ownerToken??am}async acquire(){let n=this.timer.now()+this.timeoutMs;for(;;){if(this.tryAcquire())return;if(this.timer.now()>=n)throw new t(`Timed out after ${this.timeoutMs}ms waiting for the database migration lock at ${this.lockFilePath}. Another process is likely migrating this database \u2014 `+"you may be sharing one DB across worktrees/instances. Point each instance at a distinct database via AUTOMOBILE_DB_PATH, or stop the other opener.");await this.timer.sleep(this.pollIntervalMs)}}async release(){ki(this.lockFilePath,this.pid,this.ownerToken)}tryAcquire(){return Fi(this.lockFilePath,{pid:this.pid,isProcessRunning:this.isProcessRunning,ownerGeneration:this.ownerGeneration,reclaimOwnPid:!0,ownerToken:this.ownerToken})}}function cm(n){let o=n;try{o=im(n)?Mu(n):sm(Mu(om(n)),nm(n))}catch(s){e.debug(`Migration lock realpath unavailable: ${r(s)}`)}return`${o}.migrate.lock`}var lm=":memory:";function iE(n){return n===lm}var Fu=f.ALLOW_IN_MEMORY_DB.name;function Ku(n=process.env){return Be(f.ALLOW_IN_MEMORY_DB,n)}function d2(n){return iE(n)?new wi:pm(n)}function mm(n=process.env){return Sf(f.MIGRATION_LOCK_TIMEOUT_MS.name,f.MIGRATION_LOCK_TIMEOUT_MS.legacyName,{env:n})}function pm(n){let o=cm(n),s=mm();return e.debug(`Migration lock keyed to ${o}`),new qu(o,{timeoutMs:s,ownerGeneration:Ht})}class ts extends t{}import*as Ri from"path";import*as cc from"os";import*as Rn from"fs";import{existsSync as Zh,promises as e_}from"fs";import*as Gr from"path";import{fileURLToPath as t_}from"url";function $u(n){return n}async function fm(n){await n.schema.createTable("device_configs").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull().unique()).addColumn("platform","text",(o)=>o.notNull()).addColumn("active_mode","text").addColumn("config_json","text",(o)=>o.notNull().defaultTo("{}")).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_device_configs_device_id").ifNotExists().on("device_configs").column("device_id").execute()}async function hm(n){await n.schema.dropTable("device_configs").execute()}async function _m(n){await n.schema.createTable("performance_thresholds").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("refresh_rate","integer",(o)=>o.notNull()).addColumn("frame_time_threshold_ms","real",(o)=>o.notNull()).addColumn("p50_threshold_ms","real",(o)=>o.notNull()).addColumn("p90_threshold_ms","real",(o)=>o.notNull()).addColumn("p95_threshold_ms","real",(o)=>o.notNull()).addColumn("p99_threshold_ms","real",(o)=>o.notNull()).addColumn("jank_count_threshold","integer",(o)=>o.notNull()).addColumn("cpu_usage_threshold_percent","real",(o)=>o.notNull()).addColumn("touch_latency_threshold_ms","real",(o)=>o.notNull()).addColumn("weight","real",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("ttl_hours","integer",(o)=>o.notNull().defaultTo(24)).execute(),await n.schema.createIndex("idx_performance_thresholds_device_id").ifNotExists().on("performance_thresholds").column("device_id").execute(),await n.schema.createIndex("idx_performance_thresholds_session_id").ifNotExists().on("performance_thresholds").column("session_id").execute(),await n.schema.createIndex("idx_performance_thresholds_device_created").ifNotExists().on("performance_thresholds").columns(["device_id","created_at"]).execute(),await n.schema.createTable("performance_audit_results").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("p50_ms","real").addColumn("p90_ms","real").addColumn("p95_ms","real").addColumn("p99_ms","real").addColumn("jank_count","integer").addColumn("missed_vsync_count","integer").addColumn("slow_ui_thread_count","integer").addColumn("frame_deadline_missed_count","integer").addColumn("cpu_usage_percent","real").addColumn("touch_latency_ms","real").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_performance_audit_results_device_timestamp").ifNotExists().on("performance_audit_results").columns(["device_id","timestamp"]).execute()}async function ym(n){await n.schema.dropTable("performance_audit_results").execute(),await n.schema.dropTable("performance_thresholds").execute()}async function xm(n){await Nm(n),await gm(n),await wm(n),await vm(n),await bm(n),await Cm(n),await Em(n),await Tm(n)}async function Nm(n){await n.schema.createTable("navigation_apps").ifNotExists().addColumn("app_id","text",(o)=>o.primaryKey()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function gm(n){await n.schema.createTable("navigation_nodes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("screen_name","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("visit_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("back_stack_depth","integer").addColumn("task_id","integer").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_nodes_app_screen").ifNotExists().on("navigation_nodes").columns(["app_id","screen_name"]).unique().execute()}async function wm(n){await n.schema.createTable("navigation_edges").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("to_screen","text",(o)=>o.notNull()).addColumn("tool_name","text").addColumn("tool_args","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_navigation_edges_app").ifNotExists().on("navigation_edges").column("app_id").execute(),await n.schema.createIndex("idx_navigation_edges_from").ifNotExists().on("navigation_edges").column("from_screen").execute(),await n.schema.createIndex("idx_navigation_edges_to").ifNotExists().on("navigation_edges").column("to_screen").execute()}async function vm(n){await n.schema.createTable("ui_elements").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("text","text").addColumn("resource_id","text").addColumn("content_description","text").addColumn("class_name","text").addColumn("bounds_left","integer").addColumn("bounds_top","integer").addColumn("bounds_right","integer").addColumn("bounds_bottom","integer").addColumn("clickable","integer").addColumn("scrollable","integer").addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_ui_elements_app").ifNotExists().on("ui_elements").column("app_id").execute()}async function bm(n){await n.schema.createTable("edge_ui_elements").ifNotExists().addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("ui_element_id","integer",(o)=>o.notNull().references("ui_elements.id").onDelete("cascade")).addColumn("selection_order","integer",(o)=>o.notNull().defaultTo(0)).execute(),await n.schema.createIndex("idx_edge_ui_elements_pk").ifNotExists().on("edge_ui_elements").columns(["edge_id","ui_element_id"]).unique().execute()}async function Cm(n){await n.schema.createTable("node_modals").ifNotExists().addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("modal_identifier","text",(o)=>o.notNull()).addColumn("stack_level","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_node_modals_pk").ifNotExists().on("node_modals").columns(["node_id","stack_level"]).unique().execute()}async function Em(n){await n.schema.createTable("edge_modals").ifNotExists().addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("position","text",(o)=>o.notNull()).addColumn("modal_identifier","text",(o)=>o.notNull()).addColumn("stack_level","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_edge_modals_pk").ifNotExists().on("edge_modals").columns(["edge_id","position","stack_level"]).unique().execute()}async function Tm(n){await n.schema.createTable("scroll_positions").ifNotExists().addColumn("edge_id","integer",(o)=>o.primaryKey().references("navigation_edges.id").onDelete("cascade")).addColumn("target_element_id","integer",(o)=>o.notNull().references("ui_elements.id")).addColumn("container_element_id","integer",(o)=>o.references("ui_elements.id")).addColumn("direction","text",(o)=>o.notNull()).addColumn("speed","text").addColumn("swipe_count","integer").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function km(n){await n.schema.dropTable("scroll_positions").execute(),await n.schema.dropTable("edge_modals").execute(),await n.schema.dropTable("node_modals").execute(),await n.schema.dropTable("edge_ui_elements").execute(),await n.schema.dropTable("ui_elements").execute(),await n.schema.dropTable("navigation_edges").execute(),await n.schema.dropTable("navigation_nodes").execute(),await n.schema.dropTable("navigation_apps").execute()}async function Sm(n){await n.schema.createTable("accessibility_baselines").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("screen_id","text",(o)=>o.notNull().unique()).addColumn("violations_json","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_accessibility_baselines_screen_id").ifNotExists().on("accessibility_baselines").column("screen_id").execute(),await n.schema.createIndex("idx_accessibility_baselines_updated_at").ifNotExists().on("accessibility_baselines").column("updated_at").execute()}async function Dm(n){await n.schema.dropTable("accessibility_baselines").execute()}async function Om(n){await n.schema.createTable("memory_thresholds").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("heap_growth_threshold_mb","real",(o)=>o.notNull()).addColumn("native_heap_growth_threshold_mb","real",(o)=>o.notNull()).addColumn("gc_count_threshold","integer",(o)=>o.notNull()).addColumn("gc_duration_threshold_ms","real",(o)=>o.notNull()).addColumn("unreachable_objects_threshold","integer",(o)=>o.notNull()).addColumn("weight","real",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("ttl_hours","integer",(o)=>o.notNull().defaultTo(24)).execute(),await n.schema.createIndex("idx_memory_thresholds_device_package").ifNotExists().on("memory_thresholds").columns(["device_id","package_name"]).execute(),await n.schema.createTable("memory_baselines").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("java_heap_baseline_mb","real",(o)=>o.notNull()).addColumn("native_heap_baseline_mb","real",(o)=>o.notNull()).addColumn("gc_count_baseline","real",(o)=>o.notNull()).addColumn("gc_duration_baseline_ms","real",(o)=>o.notNull()).addColumn("unreachable_objects_baseline","real",(o)=>o.notNull()).addColumn("sample_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("last_updated","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_memory_baselines_device_package_tool").ifNotExists().on("memory_baselines").columns(["device_id","package_name","tool_name"]).unique().execute(),await n.schema.createTable("memory_audit_results").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text").addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("pre_java_heap_mb","real").addColumn("pre_native_heap_mb","real").addColumn("pre_total_pss_mb","real").addColumn("post_java_heap_mb","real").addColumn("post_native_heap_mb","real").addColumn("post_total_pss_mb","real").addColumn("java_heap_growth_mb","real").addColumn("native_heap_growth_mb","real").addColumn("total_pss_growth_mb","real").addColumn("gc_count","integer").addColumn("gc_total_duration_ms","real").addColumn("unreachable_objects_count","integer").addColumn("violations_json","text").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_memory_audit_results_device_timestamp").ifNotExists().on("memory_audit_results").columns(["device_id","timestamp"]).execute(),await n.schema.createIndex("idx_memory_audit_results_package_timestamp").ifNotExists().on("memory_audit_results").columns(["package_name","timestamp"]).execute(),await n.schema.createIndex("idx_memory_audit_results_passed").ifNotExists().on("memory_audit_results").column("passed").execute()}async function Rm(n){await n.schema.dropTable("memory_audit_results").execute(),await n.schema.dropTable("memory_baselines").execute(),await n.schema.dropTable("memory_thresholds").execute()}async function Im(n){await n.schema.createTable("recomposition_metrics").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("composable_id","text",(o)=>o.notNull()).addColumn("composable_name","text").addColumn("resource_id","text").addColumn("test_tag","text").addColumn("total_count","integer",(o)=>o.notNull()).addColumn("skip_count","integer",(o)=>o.notNull()).addColumn("rolling_1s_avg","real").addColumn("duration_ms","real").addColumn("likely_cause","text").addColumn("parent_chain_json","text").addColumn("stable_annotated","integer").addColumn("remembered_count","integer").addColumn("timestamp","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(CURRENT_TIMESTAMP)`)).execute(),await n.schema.createIndex("idx_recomposition_metrics_timestamp").ifNotExists().on("recomposition_metrics").column("timestamp").execute(),await n.schema.createIndex("idx_recomposition_metrics_composable").ifNotExists().on("recomposition_metrics").columns(["package_name","composable_id","timestamp"]).execute()}async function Pm(n){await n.schema.dropTable("recomposition_metrics").execute()}async function Lm(n){await n.schema.createTable("prediction_outcomes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("prediction_id","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("predicted_screen","text",(o)=>o.notNull()).addColumn("actual_screen","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text",(o)=>o.notNull().defaultTo("")).addColumn("predicted_elements","text").addColumn("found_elements","text").addColumn("confidence","real",(o)=>o.notNull()).addColumn("match_score","real",(o)=>o.notNull()).addColumn("correct","integer",(o)=>o.notNull()).addColumn("partial_match","integer",(o)=>o.notNull()).addColumn("error_type","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_prediction_outcomes_app").ifNotExists().on("prediction_outcomes").column("app_id").execute(),await n.schema.createIndex("idx_prediction_outcomes_from").ifNotExists().on("prediction_outcomes").column("from_screen").execute(),await n.schema.createIndex("idx_prediction_outcomes_predicted").ifNotExists().on("prediction_outcomes").column("predicted_screen").execute(),await n.schema.createIndex("idx_prediction_outcomes_tool").ifNotExists().on("prediction_outcomes").column("tool_name").execute(),await n.schema.createTable("prediction_transition_stats").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("from_screen","text",(o)=>o.notNull()).addColumn("to_screen","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("tool_args","text",(o)=>o.notNull().defaultTo("")).addColumn("attempts","integer",(o)=>o.notNull()).addColumn("successes","integer",(o)=>o.notNull()).addColumn("total_confidence","real",(o)=>o.notNull()).addColumn("brier_score_sum","real",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_prediction_transition_key").ifNotExists().on("prediction_transition_stats").columns(["app_id","from_screen","to_screen","tool_name","tool_args"]).unique().execute()}async function Am(n){await n.schema.dropTable("prediction_transition_stats").execute(),await n.schema.dropTable("prediction_outcomes").execute()}async function Bm(n){await n.schema.createTable("feature_flags").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("enabled","integer",(o)=>o.notNull().defaultTo(0)).addColumn("config_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function Wm(n){await n.schema.dropTable("feature_flags").execute()}async function Mm(n){await n.schema.createTable("test_executions").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("test_class","text",(o)=>o.notNull()).addColumn("test_method","text",(o)=>o.notNull()).addColumn("duration_ms","integer",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("device_id","text").addColumn("device_name","text").addColumn("device_platform","text").addColumn("device_type","text").addColumn("app_version","text").addColumn("git_commit","text").addColumn("target_sdk","integer").addColumn("jdk_version","text").addColumn("jvm_target","text").addColumn("gradle_version","text").addColumn("is_ci","integer").addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_executions_lookup").ifNotExists().on("test_executions").columns(["test_class","test_method"]).execute(),await n.schema.createIndex("idx_test_executions_timestamp").ifNotExists().on("test_executions").column("timestamp").execute()}async function qm(n){await n.schema.dropTable("test_executions").execute()}async function Fm(n){await n.schema.createTable("tool_calls").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_tool_calls_timestamp").ifNotExists().on("tool_calls").column("timestamp").execute(),await n.schema.createIndex("idx_tool_calls_session_uuid").ifNotExists().on("tool_calls").column("session_uuid").execute()}async function Km(n){await n.schema.dropTable("tool_calls").execute()}async function $m(n){await n.schema.createTable("test_coverage_sessions").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_uuid","text",(o)=>o.notNull().unique()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("start_time","integer",(o)=>o.notNull()).addColumn("end_time","integer").addColumn("total_nodes_visited","integer",(o)=>o.notNull().defaultTo(0)).addColumn("total_edges_traversed","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_coverage_sessions_uuid").ifNotExists().on("test_coverage_sessions").column("session_uuid").execute(),await n.schema.createIndex("idx_test_coverage_sessions_app").ifNotExists().on("test_coverage_sessions").column("app_id").execute(),await n.schema.createTable("test_node_coverage").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_id","integer",(o)=>o.notNull().references("test_coverage_sessions.id").onDelete("cascade")).addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("visit_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("first_visit_time","integer",(o)=>o.notNull()).addColumn("last_visit_time","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_node_coverage_session_node").ifNotExists().on("test_node_coverage").columns(["session_id","node_id"]).unique().execute(),await n.schema.createIndex("idx_test_node_coverage_session").ifNotExists().on("test_node_coverage").column("session_id").execute(),await n.schema.createTable("test_edge_coverage").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("session_id","integer",(o)=>o.notNull().references("test_coverage_sessions.id").onDelete("cascade")).addColumn("edge_id","integer",(o)=>o.notNull().references("navigation_edges.id").onDelete("cascade")).addColumn("traversal_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("first_traversal_time","integer",(o)=>o.notNull()).addColumn("last_traversal_time","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_edge_coverage_session_edge").ifNotExists().on("test_edge_coverage").columns(["session_id","edge_id"]).unique().execute(),await n.schema.createIndex("idx_test_edge_coverage_session").ifNotExists().on("test_edge_coverage").column("session_id").execute()}async function Gm(n){await n.schema.dropTable("test_edge_coverage").execute(),await n.schema.dropTable("test_node_coverage").execute(),await n.schema.dropTable("test_coverage_sessions").execute()}async function Um(n){await n.schema.createTable("video_recordings").ifNotExists().addColumn("recording_id","text",(o)=>o.primaryKey()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("platform","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("output_name","text").addColumn("file_name","text",(o)=>o.notNull()).addColumn("file_path","text",(o)=>o.notNull()).addColumn("format","text",(o)=>o.notNull()).addColumn("size_bytes","integer",(o)=>o.notNull().defaultTo(0)).addColumn("duration_ms","integer").addColumn("codec","text").addColumn("created_at","text",(o)=>o.notNull()).addColumn("started_at","text",(o)=>o.notNull()).addColumn("ended_at","text").addColumn("last_accessed_at","text",(o)=>o.notNull()).addColumn("config_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_video_recordings_status").ifNotExists().on("video_recordings").column("status").execute(),await n.schema.createIndex("idx_video_recordings_device_status").ifNotExists().on("video_recordings").columns(["device_id","status"]).execute(),await n.schema.createIndex("idx_video_recordings_last_accessed_at").ifNotExists().on("video_recordings").column("last_accessed_at").execute(),await n.schema.createIndex("idx_video_recordings_created_at").ifNotExists().on("video_recordings").column("created_at").execute(),await n.schema.createTable("video_recording_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function Vm(n){await n.schema.dropTable("video_recordings").execute(),await n.schema.dropTable("video_recording_configs").execute()}async function Qm(n){await n.schema.createTable("device_snapshots").ifNotExists().addColumn("snapshot_name","text",(o)=>o.primaryKey()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("device_name","text",(o)=>o.notNull()).addColumn("platform","text",(o)=>o.notNull()).addColumn("snapshot_type","text",(o)=>o.notNull()).addColumn("include_app_data","integer",(o)=>o.notNull()).addColumn("include_settings","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull()).addColumn("last_accessed_at","text",(o)=>o.notNull()).addColumn("size_bytes","integer",(o)=>o.notNull().defaultTo(0)).addColumn("manifest_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_device_snapshots_device_id").ifNotExists().on("device_snapshots").column("device_id").execute(),await n.schema.createIndex("idx_device_snapshots_last_accessed_at").ifNotExists().on("device_snapshots").column("last_accessed_at").execute(),await n.schema.createIndex("idx_device_snapshots_created_at").ifNotExists().on("device_snapshots").column("created_at").execute(),await n.schema.createTable("device_snapshot_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function zm(n){await n.schema.dropTable("device_snapshots").execute(),await n.schema.dropTable("device_snapshot_configs").execute()}async function Jm(n){await n.schema.createTable("installed_apps").ifNotExists().addColumn("device_id","text",(o)=>o.notNull()).addColumn("user_id","integer",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("is_system","integer",(o)=>o.notNull().defaultTo(0)).addColumn("installed_at","integer",(o)=>o.notNull()).addColumn("last_verified_at","integer",(o)=>o.notNull()).addPrimaryKeyConstraint("installed_apps_pk",["device_id","user_id","package_name"]).execute(),await n.schema.createIndex("idx_installed_apps_lookup").ifNotExists().on("installed_apps").columns(["device_id","package_name"]).execute(),await n.schema.createIndex("idx_installed_apps_last_verified").ifNotExists().on("installed_apps").columns(["device_id","last_verified_at"]).execute()}async function jm(n){await n.schema.dropTable("installed_apps").execute()}async function Hm(n,o,s){return(await m`
11
+ SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
12
+ `.execute(n)).rows.length>0}async function Ym(n){if(!await Hm(n,"video_recordings","highlights_json"))await n.schema.alterTable("video_recordings").addColumn("highlights_json","text").execute()}async function Xm(n){await n.schema.alterTable("video_recordings").dropColumn("highlights_json").execute()}async function Zm(n){await n.schema.alterTable("installed_apps").addColumn("daemon_session_id","text").execute(),await n.schema.alterTable("installed_apps").addColumn("device_session_start","integer").execute(),await n.schema.createIndex("idx_installed_apps_session").ifNotExists().on("installed_apps").columns(["daemon_session_id","device_session_start"]).execute()}async function ep(n){await n.schema.dropIndex("idx_installed_apps_session").execute(),await n.schema.alterTable("installed_apps").dropColumn("daemon_session_id").execute(),await n.schema.alterTable("installed_apps").dropColumn("device_session_start").execute()}async function tp(n){await n.schema.createTable("appearance_configs").ifNotExists().addColumn("key","text",(o)=>o.primaryKey()).addColumn("config_json","text",(o)=>o.notNull()).addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function rp(n){await n.schema.dropTable("appearance_configs").execute()}async function ip(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 np(n){if(!await ip(n,"navigation_nodes","screenshot_path"))await n.schema.alterTable("navigation_nodes").addColumn("screenshot_path","text").execute()}async function op(n){await n.schema.alterTable("navigation_nodes").dropColumn("screenshot_path").execute()}async function gs(n,o,s){return(await m`
15
+ SELECT name FROM pragma_table_info(${o}) WHERE name = ${s}
16
+ `.execute(n)).rows.length>0}async function Gu(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 sp(n){if(!await gs(n,"test_executions","error_message"))await n.schema.alterTable("test_executions").addColumn("error_message","text").execute();if(!await gs(n,"test_executions","video_path"))await n.schema.alterTable("test_executions").addColumn("video_path","text").execute();if(!await gs(n,"test_executions","snapshot_path"))await n.schema.alterTable("test_executions").addColumn("snapshot_path","text").execute();if(!await Gu(n,"test_execution_steps"))await n.schema.createTable("test_execution_steps").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("execution_id","integer",(o)=>o.notNull().references("test_executions.id").onDelete("cascade")).addColumn("step_index","integer",(o)=>o.notNull()).addColumn("action","text",(o)=>o.notNull()).addColumn("target","text").addColumn("status","text",(o)=>o.notNull()).addColumn("duration_ms","integer",(o)=>o.notNull()).addColumn("screen_name","text").addColumn("screenshot_path","text").addColumn("error_message","text").addColumn("details_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_execution_steps_execution").ifNotExists().on("test_execution_steps").column("execution_id").execute();if(!await Gu(n,"test_execution_screens"))await n.schema.createTable("test_execution_screens").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("execution_id","integer",(o)=>o.notNull().references("test_executions.id").onDelete("cascade")).addColumn("screen_name","text",(o)=>o.notNull()).addColumn("visit_order","integer",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_test_execution_screens_execution").ifNotExists().on("test_execution_screens").column("execution_id").execute()}async function ap(n){await n.schema.dropTable("test_execution_screens").execute(),await n.schema.dropTable("test_execution_steps").execute()}async function Jt(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 Uu(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 dp(n){if(!await Jt(n,"tool_calls","status"))await n.schema.alterTable("tool_calls").addColumn("status","text",(o)=>o.defaultTo("success")).execute();if(!await Jt(n,"tool_calls","error_message"))await n.schema.alterTable("tool_calls").addColumn("error_message","text").execute();if(!await Jt(n,"tool_calls","error_type"))await n.schema.alterTable("tool_calls").addColumn("error_type","text").execute();if(!await Jt(n,"tool_calls","device_id"))await n.schema.alterTable("tool_calls").addColumn("device_id","text").execute();if(!await Jt(n,"tool_calls","package_name"))await n.schema.alterTable("tool_calls").addColumn("package_name","text").execute();if(!await Jt(n,"tool_calls","duration_ms"))await n.schema.alterTable("tool_calls").addColumn("duration_ms","integer").execute();if(!await Jt(n,"tool_calls","tool_args"))await n.schema.alterTable("tool_calls").addColumn("tool_args","text").execute();if(await n.schema.createIndex("idx_tool_calls_status").ifNotExists().on("tool_calls").column("status").ifNotExists().execute(),!await Uu(n,"crashes"))await n.schema.createTable("crashes").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("crash_type","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("process_name","text").addColumn("pid","integer").addColumn("exception_class","text").addColumn("exception_message","text").addColumn("stacktrace","text").addColumn("signal","text").addColumn("fault_address","text").addColumn("tombstone_path","text").addColumn("detection_source","text",(o)=>o.notNull()).addColumn("raw_log","text").addColumn("navigation_node_id","integer",(o)=>o.references("navigation_nodes.id").onDelete("set null")).addColumn("test_execution_id","integer",(o)=>o.references("test_executions.id").onDelete("set null")).addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 Uu(n,"anrs"))await n.schema.createTable("anrs").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("process_name","text").addColumn("pid","integer").addColumn("reason","text").addColumn("activity","text").addColumn("wait_duration_ms","integer").addColumn("cpu_usage","text").addColumn("main_thread_state","text").addColumn("stacktrace","text").addColumn("detection_source","text",(o)=>o.notNull()).addColumn("raw_log","text").addColumn("navigation_node_id","integer",(o)=>o.references("navigation_nodes.id").onDelete("set null")).addColumn("test_execution_id","integer",(o)=>o.references("test_executions.id").onDelete("set null")).addColumn("session_uuid","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 up(n){await n.schema.dropTable("anrs").ifExists().execute(),await n.schema.dropTable("crashes").ifExists().execute()}async function Si(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 cp(n){await lp(n),await mp(n),await pp(n),await fp(n),await hp(n)}async function lp(n){if(!await Si(n,"failure_groups"))await n.schema.createTable("failure_groups").ifNotExists().addColumn("id","text",(o)=>o.primaryKey()).addColumn("type","text",(o)=>o.notNull()).addColumn("signature","text",(o)=>o.notNull()).addColumn("title","text",(o)=>o.notNull()).addColumn("message","text",(o)=>o.notNull()).addColumn("severity","text",(o)=>o.notNull()).addColumn("first_occurrence","integer",(o)=>o.notNull()).addColumn("last_occurrence","integer",(o)=>o.notNull()).addColumn("total_count","integer",(o)=>o.notNull().defaultTo(0)).addColumn("unique_sessions","integer",(o)=>o.notNull().defaultTo(0)).addColumn("stack_trace_json","text").addColumn("tool_call_info_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 mp(n){if(!await Si(n,"failure_occurrences"))await n.schema.createTable("failure_occurrences").ifNotExists().addColumn("id","text",(o)=>o.primaryKey()).addColumn("group_id","text",(o)=>o.notNull().references("failure_groups.id").onDelete("cascade")).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("device_id","text").addColumn("device_model","text",(o)=>o.notNull()).addColumn("os","text",(o)=>o.notNull()).addColumn("app_version","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("screen_at_failure","text").addColumn("test_name","text").addColumn("test_execution_id","integer").addColumn("error_code","text").addColumn("duration_ms","integer").addColumn("tool_args_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 pp(n){if(!await Si(n,"failure_occurrence_screens"))await n.schema.createTable("failure_occurrence_screens").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("occurrence_id","text",(o)=>o.notNull().references("failure_occurrences.id").onDelete("cascade")).addColumn("screen_name","text",(o)=>o.notNull()).addColumn("visit_order","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_occurrence_screens_occurrence").ifNotExists().on("failure_occurrence_screens").column("occurrence_id").execute()}async function fp(n){if(!await Si(n,"failure_captures"))await n.schema.createTable("failure_captures").ifNotExists().addColumn("id","text",(o)=>o.primaryKey()).addColumn("occurrence_id","text",(o)=>o.notNull().references("failure_occurrences.id").onDelete("cascade")).addColumn("type","text",(o)=>o.notNull()).addColumn("path","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("device_model","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute(),await n.schema.createIndex("idx_failure_captures_occurrence").ifNotExists().on("failure_captures").column("occurrence_id").execute()}async function hp(n){if(!await Si(n,"failure_notifications"))await n.schema.createTable("failure_notifications").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("occurrence_id","text",(o)=>o.notNull().references("failure_occurrences.id").onDelete("cascade")).addColumn("group_id","text",(o)=>o.notNull()).addColumn("type","text",(o)=>o.notNull()).addColumn("severity","text",(o)=>o.notNull()).addColumn("title","text",(o)=>o.notNull()).addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("acknowledged","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 _p(n){await n.schema.dropTable("failure_notifications").ifExists().execute(),await n.schema.dropTable("failure_captures").ifExists().execute(),await n.schema.dropTable("failure_occurrence_screens").ifExists().execute(),await n.schema.dropTable("failure_occurrences").ifExists().execute(),await n.schema.dropTable("failure_groups").ifExists().execute()}async function yp(n){await n.deleteFrom("navigation_edges").execute(),await n.deleteFrom("navigation_nodes").execute(),await n.schema.createTable("navigation_node_fingerprints").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("app_id","text",(o)=>o.notNull().references("navigation_apps.app_id").onDelete("cascade")).addColumn("node_id","integer",(o)=>o.notNull().references("navigation_nodes.id").onDelete("cascade")).addColumn("fingerprint_hash","text",(o)=>o.notNull()).addColumn("fingerprint_data","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("occurrence_count","integer",(o)=>o.notNull().defaultTo(1)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 xp(n){await n.schema.dropTable("navigation_suggestions").execute(),await n.schema.dropTable("navigation_node_fingerprints").execute()}async function Np(n,o,s){return(await 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 Np(n,o,s))return;await n.schema.alterTable(o).addColumn(s,a).execute()}async function gp(n){await Cn(n,"performance_audit_results","time_to_first_frame_ms","real"),await Cn(n,"performance_audit_results","time_to_interactive_ms","real"),await Cn(n,"performance_audit_results","frame_rate_fps","real"),await Cn(n,"performance_audit_results","node_id","integer"),await n.schema.createIndex("idx_performance_audit_results_node_id").ifNotExists().on("performance_audit_results").column("node_id").execute(),await n.schema.createIndex("idx_performance_audit_results_package_timestamp").ifNotExists().on("performance_audit_results").columns(["package_name","timestamp"]).execute()}async function wp(n){await n.schema.dropIndex("idx_performance_audit_results_package_timestamp").execute(),await n.schema.dropIndex("idx_performance_audit_results_node_id").execute(),await n.schema.createTable("performance_audit_results_backup").addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_id","text",(o)=>o.notNull()).addColumn("package_name","text",(o)=>o.notNull()).addColumn("timestamp","text",(o)=>o.notNull()).addColumn("passed","integer",(o)=>o.notNull()).addColumn("p50_ms","real").addColumn("p90_ms","real").addColumn("p95_ms","real").addColumn("p99_ms","real").addColumn("jank_count","integer").addColumn("missed_vsync_count","integer").addColumn("slow_ui_thread_count","integer").addColumn("frame_deadline_missed_count","integer").addColumn("cpu_usage_percent","real").addColumn("touch_latency_ms","real").addColumn("diagnostics_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 vp(n){if(!await En(n,"network_events"))await n.schema.createTable("network_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("url","text",(o)=>o.notNull()).addColumn("method","text",(o)=>o.notNull()).addColumn("status_code","integer",(o)=>o.notNull().defaultTo(0)).addColumn("duration_ms","integer",(o)=>o.notNull().defaultTo(0)).addColumn("request_body_size","integer",(o)=>o.defaultTo(-1)).addColumn("response_body_size","integer",(o)=>o.defaultTo(-1)).addColumn("protocol","text").addColumn("host","text").addColumn("path","text").addColumn("error","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 bp(n){await n.schema.dropTable("os_events").ifExists().execute(),await n.schema.dropTable("custom_events").ifExists().execute(),await n.schema.dropTable("log_events").ifExists().execute(),await n.schema.dropTable("network_events").ifExists().execute()}async function Cp(n){await n.schema.createTable("navigation_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("destination","text",(o)=>o.notNull()).addColumn("source","text").addColumn("arguments_json","text").addColumn("metadata_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 Ep(n){await n.schema.dropTable("navigation_events").ifExists().execute()}async function Tp(n){await n.schema.createTable("storage_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("file_name","text",(o)=>o.notNull()).addColumn("key","text").addColumn("value","text").addColumn("value_type","text").addColumn("change_type","text",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 kp(n){await n.schema.dropTable("storage_events").ifExists().execute()}async function Sp(n){await n.schema.createTable("layout_events").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("device_id","text").addColumn("timestamp","integer",(o)=>o.notNull()).addColumn("application_id","text").addColumn("session_id","text").addColumn("sub_type","text",(o)=>o.notNull()).addColumn("composable_name","text").addColumn("composable_id","text").addColumn("recomposition_count","integer").addColumn("duration_ms","integer").addColumn("likely_cause","text").addColumn("details_json","text").addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 Op(n){await n.schema.dropTable("layout_events").ifExists().execute()}async function Rp(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 Ip(n){if(!await Rp(n,"storage_events","previous_value"))await n.schema.alterTable("storage_events").addColumn("previous_value","text").execute()}async function Pp(n){await n.schema.alterTable("storage_events").dropColumn("previous_value").execute()}async function Lp(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 Ap(n){if(!await Lp(n,"layout_events","screen_name"))await n.schema.alterTable("layout_events").addColumn("screen_name","text").execute()}async function Bp(n){await n.schema.alterTable("layout_events").dropColumn("screen_name").execute()}async function Wp(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 Mp(n){let o=["request_headers_json","response_headers_json","request_body","response_body","content_type"];for(let s of o)if(!await Wp(n,"network_events",s))await n.schema.alterTable("network_events").addColumn(s,"text").execute()}async function qp(n){}async function Fp(n){await n.schema.dropTable("custom_events").ifExists().execute()}async function Kp(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 $p(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 Gp(n){await n.schema.dropTable("device_sessions").execute()}async function Up(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 Vp(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 $r=["network_events","log_events","os_events","navigation_events","storage_events","layout_events"];async function Qp(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 zp(n){for(let o of $r){if(!await Qp(n,o))continue;await n.schema.createIndex(`idx_${o}_device_timestamp`).ifNotExists().on(o).columns(["device_id","timestamp"]).execute()}}async function Jp(n){for(let o of $r)await n.schema.dropIndex(`idx_${o}_device_timestamp`).ifExists().execute()}async function jp(n,o){return(await m`
125
+ SELECT name FROM sqlite_master WHERE type = 'table' AND name = ${o}
126
+ `.execute(n)).rows.length>0}async function Hp(n){for(let o of $r)await n.schema.dropIndex(`idx_${o}_device`).ifExists().execute()}async function Yp(n){for(let o of $r){if(!await jp(n,o))continue;await n.schema.createIndex(`idx_${o}_device`).ifNotExists().on(o).column("device_id").execute()}}var Di={"'datetime(''now'')'":{corrected:"(datetime('now'))",poisonedValue:"datetime('now')"},"'CURRENT_TIMESTAMP'":{corrected:"CURRENT_TIMESTAMP",poisonedValue:"CURRENT_TIMESTAMP"}};async function Xp(n){let o=await Zp(n);if(o.length===0)return;await m`PRAGMA foreign_keys = OFF`.execute(n);try{await n.transaction().execute(async(s)=>{await ef(s,o)})}finally{await m`PRAGMA foreign_keys = ON`.execute(n)}}async function Zp(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 Di)))s.push(a);return s}async function ef(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 Di));if(c.length===0)continue;await tf(n,s);for(let p of c){let{poisonedValue:h}=Di[p.dflt_value];await m`
134
+ UPDATE ${m.ref(s)}
135
+ SET ${m.ref(p.name)} = datetime('now')
136
+ WHERE ${m.ref(p.name)} = ${h}
137
+ `.execute(n)}}}async function tf(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=nf(a,o,c);for(let y of Object.keys(Di))p=p.split(y).join(Di[y].corrected);let h=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),_=await rf(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:y}of h.rows)if(y)await m.raw(y).execute(n);if(_!==void 0)await m`DELETE FROM sqlite_sequence WHERE name = ${o}`.execute(n),await m`INSERT INTO sqlite_sequence (name, seq) VALUES (${o}, ${_})`.execute(n)}async function rf(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 nf(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,p,h)=>(p??h)===o?`${c}"${s}"`:a)}async function of(){}async function sf(n){await n.schema.createIndex("idx_storage_events_key_lookup").ifNotExists().on("storage_events").columns(["device_id","file_name","key","timestamp"]).execute()}async function af(n){await n.schema.dropIndex("idx_storage_events_key_lookup").ifExists().execute()}var df=["device_configs","navigation_apps","prediction_transition_stats","accessibility_baselines","feature_flags","video_recording_configs","device_snapshot_configs","appearance_configs"],uf="(datetime('now'))";async function cf(n){let o=[];for(let s of df)if(await lf(n,s))o.push(s);if(o.length===0)return;await m`PRAGMA foreign_keys = OFF`.execute(n);try{await n.transaction().execute(async(s)=>{for(let a of o)await mf(s,a)})}finally{await m`PRAGMA foreign_keys = ON`.execute(n)}}async function lf(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 mf(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=ff(hf(a,o,c)),h=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),_=await pf(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:y}of h.rows)if(y)await m.raw(y).execute(n);if(_!==void 0)await m`DELETE FROM sqlite_sequence WHERE name = ${o}`.execute(n),await m`INSERT INTO sqlite_sequence (name, seq) VALUES (${o}, ${_})`.execute(n)}async function pf(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 ff(n){return n.replace(/("updated_at"\s+\w+)(\s+not\s+null)/i,`$1 default ${uf}$2`)}function hf(n,o,s){return n.replace(/^(\s*CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?)(?:"([^"]+)"|(\w+))/i,(a,c,p,h)=>(p??h)===o?`${c}"${s}"`:a)}async function _f(){}async function yf(n){await n.schema.createTable("device_locks").ifNotExists().addColumn("device_id","text",(o)=>o.primaryKey()).addColumn("lock_type","text",(o)=>o.notNull()).addColumn("lock_credential","text").addColumn("updated_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function xf(n){await n.schema.dropTable("device_locks").execute()}async function Nf(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 gf(n){await n.schema.dropTable("session_tool_capabilities").ifExists().execute()}async function wf(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 vf(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 Df(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 Of(n){await n.schema.dropTable("provision_device_operations").execute()}var Rf={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 If(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 Rf[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 Pf(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 Vu=["navigation_node_observations","navigation_edge_observations"];async function Lf(n){for(let o of Vu)await n.schema.createIndex(`idx_${o}_seen_id`).ifNotExists().on(o).columns(["last_seen_at","id"]).execute()}async function Af(n){for(let o of Vu)await n.schema.dropIndex(`idx_${o}_seen_id`).ifExists().execute()}async function Bf(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 Wf(n){await n.schema.dropTable("device_teardown_operations").execute()}async function Mf(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 qf(n){await n.schema.alterTable("device_teardown_operations").dropColumn("owner_token").execute()}async function Ff(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 Kf(n){}async function $f(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 Gf(n){await n.schema.alterTable("installed_apps").dropColumn("profile_type").execute()}async function Uf(n){await n.schema.createTable("tool_selection_profile_provenance").ifNotExists().addColumn("profile_uuid","text",(o)=>o.primaryKey()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(m`(datetime('now'))`)).execute()}async function Vf(n){await n.schema.dropTable("tool_selection_profile_provenance").ifExists().execute()}async function Qf(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 zf(n){await n.schema.alterTable("provision_device_operations").dropColumn("expires_at_ms").execute()}async function Jf(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 Hf(n){await n.schema.createIndex("idx_device_sessions_released_at_ms").ifNotExists().on("device_sessions").column("released_at_ms").execute()}async function Yf(n){await n.schema.dropIndex("idx_device_sessions_released_at_ms").ifExists().execute()}async function Xf(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_snapshots").addColumn("size_unknown","integer",(s)=>s.notNull().defaultTo(0)).execute(),await o.schema.alterTable("device_snapshots").addColumn("pending_reclaim","integer",(s)=>s.notNull().defaultTo(0)).execute(),await o.schema.alterTable("device_snapshots").addColumn("pending_reclaim_reason","text").execute(),await m`
222
+ UPDATE device_snapshots
223
+ SET size_unknown = 1
224
+ WHERE platform = 'android' AND snapshot_type = 'vm'
225
+ `.execute(o)})}async function Zf(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_snapshots").dropColumn("pending_reclaim_reason").execute(),await o.schema.alterTable("device_snapshots").dropColumn("pending_reclaim").execute(),await o.schema.alterTable("device_snapshots").dropColumn("size_unknown").execute()})}async function eh(n){await n.schema.alterTable("device_sessions").addColumn("stable_device_id","text").execute()}async function th(n){await n.schema.alterTable("device_sessions").dropColumn("stable_device_id").execute()}async function rh(n){await n.transaction().execute(async(o)=>{if((await 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 ih(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 nh(n){await n.schema.alterTable("device_sessions").addColumn("liveness_owner_token","text").execute()}async function oh(n){await n.schema.alterTable("device_sessions").dropColumn("liveness_owner_token").execute()}async function sh(n){await n.transaction().execute(async(o)=>{await o.schema.alterTable("device_sessions").addColumn("heartbeat_timeout_source","text").execute(),await o.schema.alterTable("device_sessions").addColumn("liveness_policy","text").execute(),await o.schema.alterTable("device_sessions").addColumn("pre_cli_heartbeat_timeout_ms","integer").execute(),await o.schema.alterTable("device_sessions").addColumn("pre_cli_heartbeat_timeout_source","text").execute(),await o.schema.alterTable("device_sessions").addColumn("pre_cli_session_timeout_ms","integer").execute()})}async function ah(n){await n.schema.alterTable("device_sessions").dropColumn("pre_cli_session_timeout_ms").execute(),await n.schema.alterTable("device_sessions").dropColumn("pre_cli_heartbeat_timeout_source").execute(),await n.schema.alterTable("device_sessions").dropColumn("pre_cli_heartbeat_timeout_ms").execute(),await n.schema.alterTable("device_sessions").dropColumn("liveness_policy").execute(),await n.schema.alterTable("device_sessions").dropColumn("heartbeat_timeout_source").execute()}async function dh(n){await n.transaction().execute(async(o)=>{if((await 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 uh(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 ch(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 lh(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 mh(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 ph(n){await n.schema.dropTable("provisioned_device_transport_tombstones").ifExists().execute(),await n.schema.alterTable("provision_device_operations").dropColumn("lifecycle_json").execute()}async function fh(n){await n.schema.createTable("navigation_suggestion_observations").ifNotExists().addColumn("id","integer",(o)=>o.primaryKey().autoIncrement()).addColumn("suggestion_id","integer",(o)=>o.notNull().references("navigation_suggestions.id").onDelete("cascade")).addColumn("build_key_id","integer",(o)=>o.notNull().references("navigation_build_keys.id").onDelete("cascade")).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text",(o)=>o.notNull()).addColumn("first_seen_at","integer",(o)=>o.notNull()).addColumn("last_seen_at","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 hh(n){await n.schema.dropTable("navigation_suggestion_observations").ifExists().execute()}async function _h(n){for(let o of["recorded_panel_json","display_transitions_json"])if((await 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 yh(n){await n.schema.alterTable("video_recordings").dropColumn("display_transitions_json").execute(),await n.schema.alterTable("video_recordings").dropColumn("recorded_panel_json").execute()}async function xh(n){for(let[o,s]of[["request_id","text"],["connection_id","text"],["direction","text"],["metadata_json","text"],["sequence_number","integer"]])if((await 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 Nh(n){for(let o of["sequence_number","metadata_json","direction","connection_id","request_id"])await n.schema.alterTable("network_events").dropColumn(o).execute()}async function gh(n){if((await 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 wh(n){await n.schema.alterTable("device_locks").dropColumn("device_identity").execute()}async function vh(n){await n.schema.createIndex("idx_storage_events_key_lookup_id").ifNotExists().on("storage_events").columns(["device_id","file_name","key"]).execute()}async function bh(n){await n.schema.dropIndex("idx_storage_events_key_lookup_id").ifExists().execute()}async function Ch(n){await n.schema.createIndex("idx_test_edge_coverage_edge").ifNotExists().on("test_edge_coverage").column("edge_id").execute()}async function Eh(n){await n.schema.dropIndex("idx_test_edge_coverage_edge").ifExists().execute()}async function Th(n){await n.schema.createTable("device_resource_applications").ifNotExists().addColumn("identity_key","text",(o)=>o.primaryKey()).addColumn("udid","text",(o)=>o.notNull()).addColumn("runtime_id","text",(o)=>o.notNull()).addColumn("device_type_id","text",(o)=>o.notNull()).addColumn("resources_json","text",(o)=>o.notNull()).addColumn("profile_fingerprint","text",(o)=>o.notNull()).addColumn("updated_at_ms","integer",(o)=>o.notNull()).execute()}async function kh(n){await n.schema.dropTable("device_resource_applications").ifExists().execute()}async function Sh(n){await n.schema.dropTable("provision_device_operations").ifExists().execute()}async function Dh(n){await n.schema.createTable("provision_device_operations").ifNotExists().addColumn("operation_id","text",(o)=>o.primaryKey()).addColumn("request_fingerprint","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("result_json","text").addColumn("error_code","text").addColumn("error_message","text").addColumn("creation_started","integer",(o)=>o.notNull().defaultTo(0)).addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 Oh(n){await n.schema.dropTable("device_teardown_operations").ifExists().execute()}async function Rh(n){await n.schema.createTable("device_teardown_operations").ifNotExists().addColumn("operation_id","text",(o)=>o.primaryKey()).addColumn("request_fingerprint","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("result_json","text").addColumn("expires_at_ms","integer",(o)=>o.notNull()).addColumn("created_at","text",(o)=>o.notNull().defaultTo(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 Ih(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 Ph(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 Lh(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 Ah(n){await n.schema.alterTable("video_recordings").dropColumn("capture_teardown_json").execute()}async function Bh(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 Wh(n){await n.schema.alterTable("video_recordings").dropColumn("recorder_daemon_session_id").execute()}async function Mh(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 qh(n){await n.schema.alterTable("device_sessions").dropColumn("activity_seq").execute()}async function Fh(n){await n.schema.createTable("prototype_test_sessions").ifNotExists().addColumn("test_session_id","text",(o)=>o.primaryKey()).addColumn("prototype_id","text",(o)=>o.notNull()).addColumn("device_id","text",(o)=>o.notNull()).addColumn("session_uuid","text").addColumn("cohort","text").addColumn("goal","text").addColumn("start_screen","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("started_at_ms","integer",(o)=>o.notNull()).addColumn("ended_at_ms","integer").addColumn("ended_reason","text").addColumn("dropped_count","integer",(o)=>o.notNull().defaultTo(0)).execute(),await n.schema.createTable("prototype_test_session_steps").ifNotExists().addColumn("test_session_id","text",(o)=>o.notNull().references("prototype_test_sessions.test_session_id").onDelete("cascade")).addColumn("seq","integer",(o)=>o.notNull()).addColumn("event_sequence","integer",(o)=>o.notNull()).addColumn("at_ms","integer",(o)=>o.notNull()).addColumn("kind","text",(o)=>o.notNull()).addColumn("name","text").addColumn("screen","text",(o)=>o.notNull()).addColumn("detail_json","text",(o)=>o.notNull()).execute(),await n.schema.createIndex("idx_prototype_test_session_steps_seq").ifNotExists().on("prototype_test_session_steps").columns(["test_session_id","seq"]).unique().execute(),await n.schema.createIndex("idx_prototype_test_sessions_active").ifNotExists().on("prototype_test_sessions").columns(["device_id","prototype_id","status"]).execute()}async function Kh(n){await n.schema.dropTable("prototype_test_session_steps").ifExists().execute(),await n.schema.dropTable("prototype_test_sessions").ifExists().execute()}async function $h(n){await n.schema.createTable("mcp_tasks").ifNotExists().addColumn("task_id","text",(o)=>o.primaryKey()).addColumn("owner_key","text",(o)=>o.notNull()).addColumn("tool_name","text",(o)=>o.notNull()).addColumn("status","text",(o)=>o.notNull()).addColumn("status_message","text").addColumn("instance_id","text",(o)=>o.notNull()).addColumn("poll_interval_ms","integer",(o)=>o.notNull()).addColumn("retention_ms","integer",(o)=>o.notNull()).addColumn("created_at_ms","integer",(o)=>o.notNull()).addColumn("last_updated_at_ms","integer",(o)=>o.notNull()).addColumn("terminal_at_ms","integer").addColumn("expires_at_ms","integer").addColumn("input_requests_json","text").addColumn("result_json","text").addColumn("error_json","text").execute(),await n.schema.createIndex("idx_mcp_tasks_expires_at").ifNotExists().on("mcp_tasks").column("expires_at_ms").execute(),await n.schema.createIndex("idx_mcp_tasks_status_instance").ifNotExists().on("mcp_tasks").columns(["status","instance_id"]).execute()}async function Gh(n){await n.schema.dropTable("mcp_tasks").ifExists().execute()}var Qu=[["has_audio_track","integer"],["warnings_json","text"]];async function Uh(n){let o=await 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 Qu)if(!s.has(a))await n.schema.alterTable("video_recordings").addColumn(a,c).execute()}async function Vh(n){for(let[o]of Qu)await n.schema.alterTable("video_recordings").dropColumn(o).execute()}async function Qh(n){await m`UPDATE feature_flags SET enabled = 1
315
+ WHERE key = 'tool-call-recording' AND enabled = 0`.execute(n)}async function zh(n){await m`UPDATE feature_flags SET enabled = 0
316
+ WHERE key = 'tool-call-recording' AND enabled = 1`.execute(n)}var zu=["git_branch","git_sha"];async function Jh(n){let o=await 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 zu)if(!s.has(a))await n.schema.alterTable("navigation_build_keys").addColumn(a,"text").execute()}async function jh(n){for(let o of zu)await n.schema.alterTable("navigation_build_keys").dropColumn(o).execute()}async function Hh(n){if(!(await m`
319
+ SELECT name FROM pragma_table_info('performance_audit_results')
320
+ `.execute(n)).rows.some((s)=>s.name==="device_session_uuid"))await n.schema.alterTable("performance_audit_results").addColumn("device_session_uuid","text").execute()}async function Yh(n){await n.schema.alterTable("performance_audit_results").dropColumn("device_session_uuid").execute()}var Xh={"2025_12_28_000_initial_schema":rs,"2025_12_30_000_performance_thresholds":is,"2025_12_30_001_navigation_graph":ns,"2025_12_31_000_accessibility_baselines":os,"2025_12_31_001_memory_audit":ss,"2026_01_01_000_recomposition_metrics":as,"2026_01_02_000_prediction_history":ds,"2026_01_03_000_feature_flags":us,"2026_01_03_000_test_executions":cs,"2026_01_05_000_tool_calls":ls,"2026_01_08_000_test_coverage":ms,"2026_01_09_000_video_recordings":ps,"2026_01_10_000_device_snapshots":fs,"2026_01_11_000_installed_apps":hs,"2026_01_11_000_video_recording_highlights":_s,"2026_01_13_000_installed_apps_session_tracking":ys,"2026_01_14_000_appearance_config":xs,"2026_01_25_000_navigation_screenshots":Ns,"2026_01_25_001_test_run_details":ws,"2026_01_27_000_crash_anr_monitoring":vs,"2026_01_27_000_failures":bs,"2026_01_29_000_named_nodes":Cs,"2026_01_30_000_performance_live_metrics":Es,"2026_03_15_000_telemetry_events":Ss,"2026_03_18_000_navigation_events":Ds,"2026_03_19_000_storage_events":Os,"2026_03_19_001_layout_events":Rs,"2026_03_19_002_storage_events_previous_value":Is,"2026_03_19_003_layout_events_screen_name":Ps,"2026_03_20_000_network_event_details":Ls,"2026_04_01_000_drop_custom_events":As,"2026_04_02_000_device_sessions":Bs,"2026_07_01_000_failure_groups_signature_unique":Ws,"2026_07_02_000_event_composite_indexes":Ms,"2026_07_03_000_drop_redundant_device_indexes":qs,"2026_07_03_000_repair_datetime_now_defaults":Fs,"2026_07_04_000_storage_events_key_lookup":Ks,"2026_07_05_000_repair_updated_at_defaults":$s,"2026_07_24_000_device_locks":Gs,"2026_07_27_000_session_tool_capabilities":Us,"2026_07_31_000_video_recordings_owner_session":Vs,"2026_08_02_000_navigation_provenance":Qs,"2026_08_17_000_emulator_loss_incidents":Js,"2026_08_22_000_provision_device_operations":js,"2026_08_22_001_session_tool_overrides":Hs,"2026_08_22_002_navigation_observation_eviction_index":Ys,"2026_08_22_003_device_teardown_operations":Xs,"2026_08_23_000_device_teardown_operation_owner":Zs,"2026_08_23_001_default_existing_delete_device_disabled":ea,"2026_08_24_000_installed_apps_profile_type":ta,"2026_09_06_000_tool_selection_profile_provenance":ra,"2026_09_08_000_provision_device_operations_expiry":ia,"2026_09_10_000_provision_device_operation_attempt":na,"2026_09_10_001_device_session_retention_index":oa,"2026_09_13_000_device_snapshot_vm_reclaim":sa,"2026_09_14_000_device_session_stable_identity":aa,"2026_09_14_001_device_session_identity_writer_fence":da,"2026_09_16_000_device_session_liveness_owner":ua,"2026_09_16_001_device_session_liveness_contract":ca,"2026_09_17_000_device_session_liveness_writer_fence":la,"2026_09_17_001_device_session_identity_fence_same_serial":ma,"2026_09_20_000_provision_device_lifecycle_outcome":pa,"2026_09_29_000_navigation_suggestion_provenance":fa,"2026_09_30_000_video_recording_display":ha,"2026_09_30_001_network_capture_fields":_a,"2026_10_05_000_device_locks_device_identity":ya,"2026_10_05_001_storage_events_key_lookup_insertion_order":xa,"2026_10_05_002_test_edge_coverage_edge_id_index":Na,"2026_10_09_000_device_resource_applications":ga,"2026_10_09_001_drop_provision_device_operations":wa,"2026_10_09_002_drop_device_teardown_operations":va,"2026_10_12_000_rename_recording_tool_names":ba,"2026_10_12_001_video_recording_capture_teardown":Ca,"2026_10_13_000_video_recording_recorder_daemon":Ea,"2026_10_15_000_device_session_activity_seq":Ta,"2026_10_18_000_mcp_tasks":Da,"2026_10_26_000_prototype_test_sessions":ka,"2026_10_29_000_video_recording_audio_state":Oa,"2026_11_04_000_tool_call_recording_default_on":Ra,"2026_11_07_000_navigation_build_source_revision":Ia,"2026_11_11_000_performance_audit_device_session_uuid":Pa},Ju={getMigrations:async()=>({...Xh})};var r_=new Set(["0","false","no","off"]),i_=`${oe}_lock`;function n_(n=process.env){let o=I(f.MIGRATIONS_DIR,n);if(o)return Se(o,n);let s=Gr.dirname(t_(import.meta.url)),a=[Gr.join(s,"migrations"),Gr.join(s,"db","migrations")];for(let c of a)if(Zh(c))return c;throw Error(`Migrations folder not found. Checked: ${a.join(", ")}`)}function Yu(n){return I(f.MIGRATION_RECOVERY,n)?.trim()}function ju(n){let o=Yu(n);if(!o)return!0;return!r_.has(o.toLowerCase())}function o_(n){return Yu(n)==="1"}function Hu(n){return n instanceof Error&&n.message.includes("corrupted migrations")}async function Aa(n,o){return await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","=",o).executeTakeFirst()!==void 0}async function Xu(n){await n.schema.createTable(oe).addColumn("name","varchar(255)",(o)=>o.notNull().primaryKey()).addColumn("timestamp","varchar(255)",(o)=>o.notNull()).ifNotExists().execute()}async function s_(n,o,s=i){if(!await Aa(n,oe))return{pruned:[],kept:[]};let c=await o.getMigrations(),p=new Set(c.map((N)=>N.name)),h=await n.selectFrom(oe).select(["name","timestamp"]).execute(),_=h.filter((N)=>!p.has(N.name)).map((N)=>N.name),y=new Set(h.filter((N)=>p.has(N.name)).map((N)=>N.name)),x=c.map((N)=>N.name).filter((N)=>y.has(N));return await Xu(n),await n.transaction().execute(async(N)=>{if(await N.deleteFrom(oe).execute(),x.length>0){let C=s.now();await N.insertInto(oe).values(x.map((V,re)=>({name:V,timestamp:new Date(C+re).toISOString()}))).execute()}}),{pruned:_,kept:x}}function a_(n,o){if(n.length===0)return!1;let s=new Set(n),a=new Set(o);for(let p of n)if(!a.has(p))return!1;let c=n[n.length-1];for(let p of o)if(!s.has(p)&&p<=c)return!1;return!0}async function d_(n,o){if(!await Aa(n,oe))return!1;let s=(await o.getMigrations()).map((p)=>p.name),c=(await m`select name from ${m.table(oe)}`.execute(n)).rows.map((p)=>p.name);return a_(s,c)}async function u_(n,o){let s=await m`select count(*) as count from ${m.table(o)}`.execute(n);return Number(s.rows[0]?.count??0)}async function c_(n,o,s=u_){for(let a of o)try{if(await s(n,a)>0)return!0}catch(c){return e.warn(`Row-count during migration recovery failed for table "${a}"; assuming the database is populated and refusing the destructive reset.`,c),!0}return!1}async function l_(n,o){await n.transaction().execute(async(s)=>{await m`PRAGMA defer_foreign_keys = ON`.execute(s);for(let a of o)await s.schema.dropTable(a).ifExists().execute()})}async function m_(n){if(!await Aa(n,oe))return null;return(await n.selectFrom(oe).select(["name","timestamp"]).execute()).map((s)=>({name:String(s.name),timestamp:String(s.timestamp)}))}async function p_(n,o){await Xu(n),await n.transaction().execute(async(s)=>{if(await s.deleteFrom(oe).execute(),o.length>0)await s.insertInto(oe).values(o).execute()})}async function f_(n,o,s,a){let p=(await n.selectFrom("sqlite_master").select("name").where("type","=","table").where("name","not like","sqlite_%").execute()).map((y)=>String(y.name)),h=p.filter((y)=>y!==oe&&y!==i_),_=await c_(n,h);if(_&&a)await p_(n,a);if(_&&!o_(s))throw new t("Refusing to drop a populated database during migration recovery. The safe migration-history rebuild was already attempted and the migrations are still corrupted (most likely an out-of-order or renamed migration). Your data and the "+"original migration history have been left untouched \u2014 fix the migration "+"ordering/name, or set AUTOMOBILE_MIGRATION_RECOVERY=1 to allow a destructive reset (a timestamped backup of the database is written first).");if(_){if(!o.backup)throw new t("Refusing to drop a populated database during migration recovery: no backup mechanism is available to preserve the data before the destructive reset.");await o.backup()}await l_(n,p)}async function La(n){let o=await n.migrateToLatest();if(o.results){for(let s of o.results)if(s.status==="Success")e.info(`Migration "${s.migrationName}" executed successfully`);else if(s.status==="Error")e.error(`Migration "${s.migrationName}" failed`)}return o}async function h_(n,o,s,a){let{env:c}=a;if(Hu(s)&&ju(c)){if(await d_(n,o)){e.info("Migration ledger records migrations newer than this build ships and all known migrations are already applied; a newer build migrated this database. Leaving migration history untouched (issue #5684).");return}let p=await __(n,o,s,a);if(p.error)throw e.error("Failed to run migrations after recovery:",p.error),p.error;e.info("All migrations completed successfully");return}if(Hu(s)&&!ju(c))e.error("Corrupted migrations detected. Set AUTOMOBILE_MIGRATION_RECOVERY=1 to enable automatic recovery or reset the local database state.");throw e.error("Failed to run migrations:",s),s}async function __(n,o,s,a){let{env:c}=a;e.warn(`Corrupted migrations detected: ${s.message}`),e.warn("Attempting automatic recovery by rebuilding migration history (destructive). Set AUTOMOBILE_MIGRATION_RECOVERY=0 to disable.");let p=await m_(n),h=await s_(n,o);if(h.pruned.length>0)e.warn(`Pruned missing migrations from history (destructive): ${h.pruned.join(", ")}`);else e.warn("Rebuilt migration history table to match existing migrations (destructive).");let _=await La(o);if(!_.error)return _;return e.warn("Migration recovery failed after rebuild. Resetting database state (destructive)."),await f_(n,a,c,p),_=await La(o),_}async function Zu(n,o={}){let s=o.env??process.env,a=o.lock??new wi;await a.acquire();try{let c=new RO({db:n,provider:o.provider??(I(f.MIGRATIONS_DIR,s)?new Po({fs:e_,path:Gr,migrationFolder:n_(s)}):Ju)}),{error:p}=await La(c);if(p){await h_($u(n),c,p,{...o,env:s});return}e.info("All migrations completed successfully")}finally{await a.release()}}var y_=/\.(?:test|spec)\.[cm]?[jt]sx?$/;function l2(){return globalThis.Bun?.main??process.argv[1]}function u2(n,o){return I(Y.NODE_ENV,n)==="test"&&o!==void 0&&y_.test(o)}var x_=[/sqlite_busy/i,/database is locked/i,/database table is locked/i,/\bebusy\b/i,/\beagain\b/i,/resource (?:busy|temporarily unavailable)/i];function N_(n){try{return String(n??"")}catch(o){return e.debug(`Could not stringify error-like value for classification: ${o}`),""}}function E9(n){let o=n instanceof Error?n.message:N_(n),s=n?.code,a=typeof s==="string"?`${s} ${o}`:o;for(let c of x_)if(c.test(a))return"transient";return"permanent"}var g_=["SQLITE_BUSY","SQLITE_LOCKED"],w_="SQLITE_CONSTRAINT";function Ja(n){let o=v_(n);if(o!==void 0){if(g_.some((s)=>o.startsWith(s)))return"retryable";if(o.startsWith(w_))return"constraint";return"fatal"}return E9(n)==="transient"?"retryable":"fatal"}function v_(n){let o=ec(n);if(o!==void 0)return o;let s=n?.cause;return ec(s)}function ec(n){let o=n?.code;return typeof o==="string"?o:void 0}class tc{next(){let n=new Uint32Array(1);return crypto.getRandomValues(n),n[0]/4294967296}pick(n){return b_(()=>this.next(),n)}}var Cl=new tc,b_=(n,o)=>{if(o.length===0)throw Error("Random.pick cannot pick from an empty array");return o[Math.floor(n()*o.length)]};var C_=200,E_=3,Tn=5000,T_=Q({initialDelayMs:5,multiplier:2,maxDelayMs:50}),kn=300000,rc="begin immediate";function k_(n){return Math.max(0,n?.minAttemptMs??0)}class Sn{#e;#t;#r=null;#i=null;#o=0;#a=[];#n=0;#s=new Map;#c=null;#l=null;#d=!1;#m;#p;#u;#x;#N;#g;#f=null;constructor(n,o,s,a){this.#e=n,this.#r=typeof n==="function"?null:n,this.#t=o,this.#m=Math.max(1,s?.maxAttempts??E_),this.#p=s?.backoff??T_,this.#u=s?.timer??i,this.#x=s?.totalWaitMs??Tn,this.#N=s?.random??Cl,this.#g=k_(s),this.#v(a)}#v(n){if(n&&n>0)this.#f=this.#u.setInterval(()=>this.#b(),n),this.#f.unref?.()}#b(){if(this.#d||!this.#r||this.#i!==null||this.#a.length>0||this.#o>0)return;try{this.#r.exec("PRAGMA optimize;")}catch(n){e.debug(`periodic PRAGMA optimize failed: ${n}`)}}async beginTransaction(n){if(this.#B(),this.#i===n)throw new t("Nested transactions are not supported by BunSqliteDialect");await this.#k("txn",n);try{await this.#w(cn.raw(rc),n,!0)}catch(o){throw this.#i=null,this.#y(),o}}async commitTransaction(n){try{await this.executeQuery(cn.raw("commit"),n)}finally{this.#T(n)}}async rollbackTransaction(n){try{await this.executeQuery(cn.raw("rollback"),n),this.#_()}finally{this.#T(n)}}async executeQuery(n,o){return this.#w(n,o,!1)}async#w(n,o,s){await this.#W(o);let{sql:a,parameters:c}=n,p=this.#u.now()+this.#x;try{for(let h=1;;h++){let _=this.#u.now();try{return await this.#S(a,c)}catch(y){let x=this.#C(y,h,a,{isBegin:s,retryDeadlineMs:p,attemptStartMs:_});await this.#u.sleep(x)}}}finally{this.#o-=1,this.#y()}}#C(n,o,s,{isBegin:a,retryDeadlineMs:c,attemptStartMs:p}){if(!this.#E(n,o,a,c))throw n;let h=this.#u.now(),_=Math.min(p+this.#g,c)-h,y=Math.max(this.#h(o),Math.ceil(_)),x=`SQLite busy/locked (attempt ${o}/${this.#m}); retrying in ${y}ms: ${s}`;if(o===1)e.warn(x);else e.debug(x);return y}#E(n,o,s,a){if(o>=this.#m)return!1;if(this.#d)return!1;if(this.#i!==null&&!s)return!1;if(this.#u.now()>=a)return!1;return Ja(n)==="retryable"}#h(n){let o=this.#p.delayForAttempt(n);return Math.floor(this.#N.next()*(o+1))}async#S(n,o){if(this.#d)throw Error("Cannot use a closed database");try{if(await this.#t?.(),this.#d)throw Error("Cannot use a closed database");let s=this.#O(),a=this.#P(n),c=a?s.prepare(n):this.#R(s,n),p=n.trim().toLowerCase(),h=p.startsWith("select"),_=/\breturning\b/.test(p);return this.#D(c,o,{isSelect:h,hasReturning:_,schemaChanging:a})}catch(s){let a=JSON.stringify(o,(c,p)=>typeof p==="bigint"?p.toString():p);throw Error(`Query failed: ${s}
321
+ SQL: ${n}
322
+ Parameters: ${a}`,{cause:s})}}#D(n,o,{isSelect:s,hasReturning:a,schemaChanging:c}){try{if(s||a){let p=n.all(...o),h={rows:p,numAffectedRows:a?BigInt(p.length):void 0};if(c)this.#_();return h}else{let p=n.run(...o),h={rows:[],numAffectedRows:BigInt(p.changes),insertId:p.lastInsertRowid!==void 0?BigInt(p.lastInsertRowid):void 0};if(c)this.#_();return h}}finally{if(c)n.finalize()}}close(){if(this.#d=!0,this.#f)this.#u.clearInterval(this.#f),this.#f=null;if(this.#_(),this.#l?.finalize(),this.#l=null,this.#r){try{this.#r.exec("PRAGMA optimize;")}catch(n){e.debug(`PRAGMA optimize on close failed: ${n}`)}try{this.#r.exec("PRAGMA wal_checkpoint(TRUNCATE);")}catch(n){e.debug(`WAL checkpoint on close failed: ${n}`)}this.#r.close(),this.#r=null}this.#y()}#O(){if(!this.#r)this.#r=typeof this.#e==="function"?this.#e():this.#e;return this.#r}#R(n,o){if(this.#c===null||this.#s.has(o))this.#L(n);let s=this.#s.get(o);if(s)return this.#s.delete(o),this.#s.set(o,s),s;return this.#I(n,o)}#I(n,o){let s=n.prepare(o);if(this.#s.set(o,s),this.#s.size>C_){let a=this.#s.keys().next().value;if(a!==void 0){let c=this.#s.get(a);this.#s.delete(a),c?.finalize()}}return s}#P(n){return/^(?:create|alter|drop)\b/i.test(n.trim())}#_(){for(let n of this.#s.values())n.finalize();this.#s.clear(),this.#c=null}#L(n){let o=this.#A(n);if(this.#c!==o)this.#_(),this.#c=o}#A(n){this.#l??=n.prepare("PRAGMA schema_version");let o=this.#l.get();if(o?.schema_version===void 0)throw Error("PRAGMA schema_version did not return a schema_version value");return Number(o.schema_version)}#B(){if(this.#d)throw Error("Cannot use a closed database")}async#W(n){if(this.#i===n){this.#o+=1;return}await this.#k("query",n)}#T(n){if(this.#i===n)this.#i=null,this.#y()}#k(n,o){return new Promise((s,a)=>{this.#a.push({kind:n,owner:o,resolve:s,reject:a}),this.#y()})}#y(){while(this.#a.length>0){let n=this.#a[0];if(this.#d){this.#a.shift(),this.#n+=1,n.reject(Error("Cannot use a closed database"));continue}if(n.kind==="txn"){if(this.#i===null&&this.#o===0)this.#a.shift(),this.#i=n.owner,this.#n+=1,n.resolve();return}if(this.#i===null){this.#a.shift(),this.#o+=1,this.#n+=1,n.resolve();continue}return}}get resumeCount(){return this.#n}get queuedWaiterCount(){return this.#a.length}}class Dn{#e;#t=Symbol("BunSqliteConnectionLease");constructor(n){this.#e=n}async beginTransaction(){await this.#e.beginTransaction(this.#t)}async commitTransaction(){await this.#e.commitTransaction(this.#t)}async rollbackTransaction(){await this.#e.rollbackTransaction(this.#t)}async executeQuery(n){return this.#e.executeQuery(n,this.#t)}async*streamQuery(){yield await Promise.reject(Error("Streaming is not supported by BunSqliteDialect"))}}class Ba{#e;#t;constructor(n){this.#e=n}async init(){this.#t=new Sn(this.#e.database,this.#e.beforeQuery,this.#e.retry,this.#e.optimizeIntervalMs)}async acquireConnection(){if(!this.#t)throw Error("BunSqliteDriver not initialized");return new Dn(this.#t)}async beginTransaction(n,o){await this.#r(n).beginTransaction()}async commitTransaction(n){await this.#r(n).commitTransaction()}async rollbackTransaction(n){await this.#r(n).rollbackTransaction()}async releaseConnection(){}async destroy(){this.#t?.close()}#r(n){if(!(n instanceof Dn))throw Error("Invalid Bun SQLite connection");return n}}class PO{#e;constructor(n){this.#e=n}createDriver(){return new Ba(this.#e)}createQueryCompiler(){return new xi}createAdapter(){return new rE}createIntrospector(n){return new gi(n)}}var Db="AUTOMOBILE_INCOMPLETE_EXTRACTION",AO=75,S_=["kysely"];function ic(n){let o=n?.code;return typeof o==="string"?o:void 0}function nc(n){if(typeof n==="string")return n;let o=n?.message;return typeof o==="string"?o:""}var D_=new Set(["MODULE_NOT_FOUND","ERR_MODULE_NOT_FOUND"]),oc=/Cannot find (?:package|module) ['"]([^'"]+)['"]/i;function O_(n){let o=ic(n);if(o&&D_.has(o))return!0;return oc.test(nc(n))}function Wa(n){let o=oc.exec(nc(n));return o?o[1]:null}function sc(n){if(!O_(n))return!1;let o=Wa(n);return o!==null&&S_.includes(o)}function ac(n,o){let a=`Database startup migrations cannot load their dependencies: ${n?`the package '${n}' could not be resolved`:"a required migration dependency could not be resolved"}. `+"This is most commonly an incomplete package extraction \u2014 a half-linked "+"`bunx` node_modules where the shared cache has the package but it was not linked into this run's tree. If you are running via `bunx`, remove the incomplete extraction directory and re-run: a fresh extraction from the healthy shared cache produces a complete tree and the daemon starts normally. Otherwise, reinstall so the package is present in node_modules.",c=Error(a,o===void 0?void 0:{cause:o});return c.code="AUTOMOBILE_INCOMPLETE_EXTRACTION",c}function p2(n){return ic(n)==="AUTOMOBILE_INCOMPLETE_EXTRACTION"}var dc=Symbol("database write drain timeout");class ioe{#e=0;#t=!1;#r=Promise.resolve();#i;#o;constructor(n=i){this.#o=n}isDraining(){return this.#t}inFlightCount(){return this.#e}async track(n){if(this.#t){e.debug("[DbWriteBarrier] Skipping best-effort DB write during shutdown drain");return}this.#a();try{return await n()}finally{this.#n()}}trackExisting(n){let o=Promise.resolve(n);if(this.#t)return e.debug("[DbWriteBarrier] Not tracking an in-flight DB write during shutdown drain"),o.then(()=>{return},()=>{return});return this.#a(),o.then((s)=>(this.#n(),s),()=>{this.#n();return})}#a(){if(this.#e++===0)this.#r=new Promise((n)=>{this.#i=n})}#n(){if(--this.#e===0)this.#i?.(),this.#i=void 0}beginDrain(){this.#t=!0}async drain(n){if(this.beginDrain(),this.#e===0)return!0;let o=this.#r.then(()=>!0);try{return await l(o,{timer:this.#o,timeoutMs:n,label:"Database write drain",timeoutError:()=>dc})}catch(s){if(s===dc)return!1;throw s}}}var On=null;function Yt(){if(!On)On=new ioe;return On}function ooe(){On=null}var uc=Symbol("bounded promise timeout"),Ma=null,G$=5000,qa=250,R_=Math.ceil(Tn/qa)+1,I_=4194304,P_=16384,L_=67108864,A_="MEMORY";function B_(){return typeof process.versions?.bun==="string"}function W_(){if(!B_())throw Error("bun:sqlite is only available when running under Bun.");if(!Ma){let n=wt("bun:sqlite");Ma=n.Database}return Ma}function M_(n,o=G$){n.exec(`PRAGMA busy_timeout = ${o};`),n.exec("PRAGMA journal_mode = WAL;"),n.exec(`PRAGMA journal_size_limit = ${I_};`),n.exec(`PRAGMA cache_size = -${P_};`),n.exec(`PRAGMA mmap_size = ${L_};`),n.exec(`PRAGMA temp_store = ${A_};`),n.exec("PRAGMA synchronous = NORMAL;"),n.exec("PRAGMA foreign_keys = ON;")}var q_=Ri.join(cc.homedir(),".auto-mobile");function F_(n=process.env,o=q_){let s=I(f.DB_PATH,n);if(s){if(iE(s)){if(!Ku(n))throw new t("AUTOMOBILE_DB_PATH=:memory: is not a valid production database. A SQLite `:memory:` DB is private per connection, so startup migrations run on a separate in-memory database and the daemon's connection is left "+"migrated-but-empty \u2014 the first query (e.g. `tool_calls`) would fail with "+`\`no such table\`. Point AUTOMOBILE_DB_PATH at a real file (or unset it to use ~/.auto-mobile/auto-mobile.db). The \`:memory:\` sentinel is for lifecycle tests only; set ${Fu}=1 to opt in from a test.`);return s}return Se(s)}let a=I(f.DB_DIR,n),c=a?Se(a):o;return Ri.join(c,"auto-mobile.db")}function K_(n){return u2(n,l2())}var $_=[f.DB_PATH.name,f.DB_PATH.legacyName,f.DB_DIR.name,f.DB_DIR.legacyName];function G_(n){return $_.some((o)=>{let s=n[o];return s!==void 0&&s!==""})}function U_(n,o){if(!K_(n))return;if(iE(o)||G_(n))return;throw new t(`Unit test resolved the real file-backed database at ${o}. Unit tests must not touch the user's real ~/.auto-mobile DB: its first-use migrations + file IO run on real wall-clock time and race async-write assertions (issue #3063). Inject an in-memory DB via createTestDatabase() (and NavigationGraphManager.setInstanceForTesting / TelemetryRecorder spies for singletons), or, if the test must exercise real file behavior, set AUTOMOBILE_DB_DIR to a temp dir or AUTOMOBILE_DB_PATH=':memory:' explicitly.`)}class lc{resolvedDbPath=null;migrationsRun=!1;migrationsPromise=null;migrationsError=null;migrationsGeneration=0;reset(){this.resolvedDbPath=null,this.migrationsRun=!1,this.migrationsPromise=null,this.migrationsError=null,this.migrationsGeneration+=1}}var F=new lc;function Fa(){if(F.resolvedDbPath===null){let n=F_();U_(process.env,n),F.resolvedDbPath=n}return F.resolvedDbPath}var jt=null,Oae="Database startup migrations failed; refusing to run queries until the daemon restarts.";function V_(n){if(sc(n))return ac(Wa(n),n);let o=r(n);return Error(`${Oae} Cause: ${o}`,{cause:n})}async function Q_(){if(F.migrationsRun)return;if(F.migrationsPromise)await F.migrationsPromise;if(F.migrationsError)throw F.migrationsError}function z_(n,o){return new Mc({dialect:new PO({database:()=>mc(n),beforeQuery:o,optimizeIntervalMs:kn})})}function mc(n,o=G$){let a=new(W_())(n);return M_(a,o),a}async function J_(n,o){try{let s=new Date().toISOString().replace(/[:.]/g,"-"),a=`${o}.corrupt-backup-${s}-${process.pid}`;await m`VACUUM INTO ${a}`.execute(n),e.warn(`Wrote pre-reset database backup to ${a}`)}catch(s){throw u(s,"Failed to back up the database before migration reset")}}async function j_(n){let o=z_(n);try{await Zu(o,{lock:d2(n),backup:()=>J_(o,n)})}catch(s){throw e.error("Failed to run migrations on database initialization:",s),s}finally{await o.destroy()}}function pc(n){if(!F.migrationsRun&&!F.migrationsPromise){let o=F.migrationsGeneration;F.migrationsPromise=j_(n).then(()=>{if(o!==F.migrationsGeneration)return;F.migrationsRun=!0,F.migrationsError=null},(s)=>{if(o!==F.migrationsGeneration)return;F.migrationsError=V_(s)})}}function H_(n){if(iE(n))return;let o=Ri.dirname(n);if(!Rn.existsSync(o))Rn.mkdirSync(o,{recursive:!0})}function Y_(n){let o=!1,s=()=>{if(!o)return;if(Ie)throw Oi();throw Error("Cannot use a closed database")},a=new PO({database:()=>(s(),mc(n,qa)),beforeQuery:Q_,retry:{maxAttempts:R_,minAttemptMs:qa},optimizeIntervalMs:kn}),c=a.createDriver(),p={createDriver:()=>c,createQueryCompiler:()=>a.createQueryCompiler(),createAdapter:()=>a.createAdapter(),createIntrospector:(N)=>a.createIntrospector(N)},h={dialect:p},_=new Mc(h),y=_.getExecutor();return new Mc({config:h,dialect:p,driver:{init:(N)=>c.init(N),acquireConnection:(N)=>c.acquireConnection(N),beginTransaction:(N,C)=>c.beginTransaction(N,C),commitTransaction:(N)=>c.commitTransaction(N),rollbackTransaction:(N)=>c.rollbackTransaction(N),releaseConnection:(N,C)=>c.releaseConnection(N,C),destroy:async()=>{o=!0,await _.destroy()}},executor:y.withConnectionProvider({provideConnection:async(N,C)=>(s(),y.provideConnection(async(V)=>(s(),N(V)),C))})})}function _e(){if(Ie)return Ie.refusingDb??=new Mc({dialect:iy}),Ie.refusingDb;if(!jt){let n=Fa();H_(n),jt=Y_(n),pc(n)}return jt}async function TO(){if(Ie)throw Oi();if(F.migrationsRun)return;if(!jt)_e();if(pc(Fa()),await F.migrationsPromise,F.migrationsError)throw F.migrationsError}function I9(){return F.migrationsError}function X_(){F.reset(),ooe()}async function _9(n,o=i){return Z_(F.migrationsPromise,n,o)}async function Z_(n,o,s=i){if(!n)return!0;try{return await l(n.then(()=>!0),{timer:s,timeoutMs:o,label:"Database migration wait",timeoutError:()=>uc})}catch(a){if(a===uc)return!1;throw a}}var ey=5,Ie=null;function Oi(){let n=new ts("The database was closed for shutdown; refusing to reopen it for a late query. The work that issued this query outlived the shutdown and its write was not stored.");if(!Ie)return n;if(Ie.refusals+=1,Ie.refusals<=ey)e.warn(`[Database] Refused database access #${Ie.refusals} after the shutdown close`,n);return n}function x9(){return Ie?.refusals??0}var ty={executeQuery:async()=>{throw Oi()},streamQuery:()=>{throw Oi()}},ry={init:async()=>{},acquireConnection:async()=>ty,beginTransaction:async()=>{throw Oi()},commitTransaction:async()=>{},rollbackTransaction:async()=>{},releaseConnection:async()=>{},destroy:async()=>{}},iy={createDriver:()=>ry,createQueryCompiler:()=>new xi,createAdapter:()=>new rE,createIntrospector:(n)=>new gi(n)};async function C9(n={}){if(n.forShutdown)Ie??={refusals:0,refusingDb:null};else Ie=null;if(jt)await jt.destroy(),jt=null;X_()}function Dp(){return Fa()}function Vr(n){return new Date(n.now()).toISOString()}
323
+ export{a2,B,po,ot,Ts,Oc,tr,xb,Gn,Ir,Mc,m,RO,rE,wd,_r,c2,k9,j$,Ya,Gg,Wae,Yg,bf,Sa,Ht,Yn,Sf,Cb,zs,Jg,ks,oP,Ni,Fi,K$,xl,nE,ki,iE,d2,l2,u2,E9,Ja,Cl,PO,Db,AO,p2,ioe,Yt,ooe,G$,Oae,_e,TO,I9,_9,x9,C9,Dp,Vr};
324
+
325
+ //# debugId=94C24B035FA79E6864756E2164756E21