@qitqode/qitqode-android-arm64 0.2.13 → 0.2.14

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 (408) hide show
  1. package/bundle/{chunk-9c0f79mt.js → chunk-00ft63qn.js} +1 -1
  2. package/bundle/chunk-00r3he5x.js +2 -0
  3. package/bundle/{chunk-vr7525pa.js → chunk-02tmc2st.js} +1 -1
  4. package/bundle/{chunk-81mwbcy3.js → chunk-05bkxat0.js} +2 -2
  5. package/bundle/{chunk-ewde5bss.js → chunk-06tgmvh6.js} +2 -2
  6. package/bundle/{chunk-etvwxwn3.js → chunk-07b4pkk6.js} +1 -1
  7. package/bundle/{chunk-wqm1vawg.js → chunk-0ejx0yqx.js} +1 -1
  8. package/bundle/chunk-0ks20gz1.js +2 -0
  9. package/bundle/{chunk-2md5fz4f.js → chunk-0m4gvjcv.js} +2 -2
  10. package/bundle/{chunk-jf4zyy7r.js → chunk-0mztgsxp.js} +1 -1
  11. package/bundle/{chunk-7bvh48s2.js → chunk-10kj86va.js} +1 -1
  12. package/bundle/{chunk-b46t2315.js → chunk-10q04xh5.js} +1 -1
  13. package/bundle/{chunk-dwjv3m5s.js → chunk-175720ws.js} +2 -2
  14. package/bundle/{chunk-xgphhnpk.js → chunk-19rs84t8.js} +1 -1
  15. package/bundle/{chunk-ajykvcas.js → chunk-1a08ffyd.js} +1 -1
  16. package/bundle/{chunk-hsmtjb4d.js → chunk-1bq15kf0.js} +2 -2
  17. package/bundle/{chunk-1sejtx9a.js → chunk-1e75j4m1.js} +2 -2
  18. package/bundle/{chunk-c1srcpfk.js → chunk-1gdt9q05.js} +1 -1
  19. package/bundle/{chunk-3be70hxy.js → chunk-1mfdmm2t.js} +1 -1
  20. package/bundle/{chunk-dmgdwvn1.js → chunk-1pft3sar.js} +1 -1
  21. package/bundle/chunk-1r7anzk5.js +2 -0
  22. package/bundle/{chunk-rr94dpe9.js → chunk-1ypzf18e.js} +1 -1
  23. package/bundle/chunk-26e51217.js +2 -0
  24. package/bundle/{chunk-bd4krah7.js → chunk-2ascwm7j.js} +1 -1
  25. package/bundle/{chunk-q7wc3frq.js → chunk-2d61z24r.js} +1 -1
  26. package/bundle/chunk-2g4kxtz0.js +2 -0
  27. package/bundle/chunk-2jzay8a9.js +2 -0
  28. package/bundle/{chunk-5828bcp8.js → chunk-2k2szpze.js} +1 -1
  29. package/bundle/chunk-2q78bdtj.js +2 -0
  30. package/bundle/{chunk-jrh028na.js → chunk-2w3n0q9m.js} +2 -2
  31. package/bundle/{chunk-sv27ep93.js → chunk-2w79k0mh.js} +2 -2
  32. package/bundle/chunk-30rghawe.js +2 -0
  33. package/bundle/{chunk-jt94rhev.js → chunk-3152y1q9.js} +1 -1
  34. package/bundle/{chunk-1851skhm.js → chunk-31a47ptm.js} +1 -1
  35. package/bundle/chunk-33mzqyyb.js +3 -0
  36. package/bundle/chunk-34yk99ep.js +2 -0
  37. package/bundle/{chunk-2p1qaqv3.js → chunk-358wdvj7.js} +2 -2
  38. package/bundle/{chunk-fqzfytjk.js → chunk-3c73rngn.js} +1 -1
  39. package/bundle/{chunk-wspm2k19.js → chunk-3cs1qf8x.js} +1 -1
  40. package/bundle/chunk-3dajnr1w.js +2 -0
  41. package/bundle/chunk-3ege6krg.js +2 -0
  42. package/bundle/chunk-43vpxggb.js +2 -0
  43. package/bundle/{chunk-aq75kv5f.js → chunk-47jkx37s.js} +3 -3
  44. package/bundle/{chunk-hcd0k14e.js → chunk-48rg4yhk.js} +2 -2
  45. package/bundle/chunk-49y7zg15.js +2 -0
  46. package/bundle/{chunk-qa38xchd.js → chunk-4hvenszg.js} +1 -1
  47. package/bundle/{chunk-msbe5rb7.js → chunk-4p9fny77.js} +1 -1
  48. package/bundle/{chunk-g6ffx794.js → chunk-4ppw719f.js} +1 -1
  49. package/bundle/{chunk-g0x6q2ks.js → chunk-4r7fbkcm.js} +1 -1
  50. package/bundle/{chunk-5fbzvy6q.js → chunk-4s1n38ds.js} +2 -2
  51. package/bundle/{chunk-z6qb4gt5.js → chunk-4v29ayke.js} +1 -1
  52. package/bundle/{chunk-gvc1mqrs.js → chunk-4xqwt6dr.js} +2 -2
  53. package/bundle/{chunk-1bhcg889.js → chunk-4ycg2c6f.js} +2 -2
  54. package/bundle/{chunk-pzn7cade.js → chunk-5341jv20.js} +1 -1
  55. package/bundle/{chunk-eefzbdbk.js → chunk-583d91xq.js} +2 -2
  56. package/bundle/{chunk-z6f54x4k.js → chunk-5cwy8y78.js} +2 -2
  57. package/bundle/{chunk-6g3bzap8.js → chunk-5dvy83ms.js} +2 -2
  58. package/bundle/{chunk-ff031crt.js → chunk-5h1s0akp.js} +1 -1
  59. package/bundle/{chunk-tn0sfsks.js → chunk-5mf4qrye.js} +2 -2
  60. package/bundle/{chunk-0mdmqtfr.js → chunk-5q98z8ck.js} +2 -2
  61. package/bundle/chunk-5qhsfjzq.js +3 -0
  62. package/bundle/{chunk-y9kjt2jj.js → chunk-5rvvfgfy.js} +2 -2
  63. package/bundle/chunk-5xxn06g0.js +2 -0
  64. package/bundle/{chunk-2d0vympj.js → chunk-61b81z2h.js} +1 -1
  65. package/bundle/{chunk-4enhsmq1.js → chunk-62gefpwn.js} +2 -2
  66. package/bundle/{chunk-2h8b0csf.js → chunk-674pexjx.js} +2 -2
  67. package/bundle/{chunk-4ar8hey8.js → chunk-69htq8kq.js} +1 -1
  68. package/bundle/{chunk-h1p3xcfp.js → chunk-69k7cdtv.js} +2 -2
  69. package/bundle/{chunk-53n3tfwn.js → chunk-6cztstry.js} +2 -2
  70. package/bundle/{chunk-ba2hn77m.js → chunk-6d4xc6br.js} +1 -1
  71. package/bundle/{chunk-vqxyk6as.js → chunk-6dd2dx69.js} +2 -2
  72. package/bundle/{chunk-eftk07r3.js → chunk-6j53vtzd.js} +1 -1
  73. package/bundle/{chunk-yzxcjr6y.js → chunk-6kch0q2d.js} +2 -2
  74. package/bundle/{chunk-sn15skh8.js → chunk-6pt6nqwk.js} +1 -1
  75. package/bundle/{chunk-r9hsd9pw.js → chunk-6wmtbebc.js} +1 -1
  76. package/bundle/{chunk-3fx3eghq.js → chunk-6y0wgz2j.js} +1 -1
  77. package/bundle/{chunk-vvmvryh1.js → chunk-6yshpz0z.js} +2 -2
  78. package/bundle/{chunk-2ts2s8b4.js → chunk-71jmhvef.js} +2 -2
  79. package/bundle/{chunk-9xbc558j.js → chunk-73a7ts8r.js} +1 -1
  80. package/bundle/{chunk-5rtsnnjk.js → chunk-7a4sb6q7.js} +1 -1
  81. package/bundle/chunk-7cp30q0t.js +2 -0
  82. package/bundle/{chunk-d4ys15w3.js → chunk-7s9msscb.js} +1 -1
  83. package/bundle/{chunk-v30fmrz0.js → chunk-7w571q26.js} +1 -1
  84. package/bundle/chunk-7xc73qb1.js +2 -0
  85. package/bundle/{chunk-m18pxkdg.js → chunk-840mmmzz.js} +4 -4
  86. package/bundle/{chunk-jcn8bg31.js → chunk-86reb44c.js} +1 -1
  87. package/bundle/{chunk-hnbtfpb7.js → chunk-86sfzgnf.js} +1 -1
  88. package/bundle/{chunk-v9yxkbz7.js → chunk-8a9sj8gp.js} +1 -1
  89. package/bundle/{chunk-404ew3d3.js → chunk-8b9z8j3z.js} +1 -1
  90. package/bundle/{chunk-0cjp9088.js → chunk-8gkz5550.js} +1 -1
  91. package/bundle/chunk-8gz8fk6r.js +2 -0
  92. package/bundle/chunk-8ht7cq3h.js +2 -0
  93. package/bundle/{chunk-dpm5x19e.js → chunk-8jkqyf9n.js} +2 -2
  94. package/bundle/{chunk-3rcfy8te.js → chunk-8qpfphdz.js} +1 -1
  95. package/bundle/chunk-8qv0119d.js +2 -0
  96. package/bundle/{chunk-t1hw67x4.js → chunk-8zpsgfb6.js} +1 -1
  97. package/bundle/{chunk-c99npyz9.js → chunk-96sra8g8.js} +1 -1
  98. package/bundle/{chunk-nn2hbew8.js → chunk-99df6wvm.js} +1 -1
  99. package/bundle/{chunk-5wjwzbk8.js → chunk-9amnqaeq.js} +1 -1
  100. package/bundle/{chunk-z1psybn1.js → chunk-9gxyt2ay.js} +2 -2
  101. package/bundle/{chunk-hk8m8vax.js → chunk-9kc2th5c.js} +2 -2
  102. package/bundle/chunk-9m0eawt5.js +2 -0
  103. package/bundle/{chunk-fj87htwn.js → chunk-9mabvb06.js} +1 -1
  104. package/bundle/chunk-9thgxbze.js +2 -0
  105. package/bundle/{chunk-xn6mwsc9.js → chunk-9ttebtcf.js} +1 -1
  106. package/bundle/{chunk-gdawpkxs.js → chunk-9z7y4x7q.js} +1 -1
  107. package/bundle/{chunk-xgdst5n5.js → chunk-9znfb8f2.js} +2 -2
  108. package/bundle/chunk-9zsp3qkh.js +2 -0
  109. package/bundle/{chunk-mfg4stzn.js → chunk-a1mbach4.js} +1 -1
  110. package/bundle/chunk-a32y70fe.js +2 -0
  111. package/bundle/{chunk-hgcnzsd5.js → chunk-a3g8de96.js} +1 -1
  112. package/bundle/{chunk-bydaqb08.js → chunk-a8askx4y.js} +1 -1
  113. package/bundle/{chunk-gcpwm7b5.js → chunk-adws0hhk.js} +2 -2
  114. package/bundle/{chunk-1rw4srd1.js → chunk-ae1g5y4r.js} +1 -1
  115. package/bundle/{chunk-y5m9c5ek.js → chunk-ahgb3r1c.js} +2 -2
  116. package/bundle/{chunk-6p848y99.js → chunk-art8gejd.js} +1 -1
  117. package/bundle/{chunk-eh73j82b.js → chunk-avksqxan.js} +1 -1
  118. package/bundle/chunk-avzaqy6a.js +2 -0
  119. package/bundle/chunk-az12tp53.js +2 -0
  120. package/bundle/{chunk-gjmxrz0v.js → chunk-b350g18y.js} +2 -2
  121. package/bundle/chunk-b5dpzcc7.js +2 -0
  122. package/bundle/chunk-bcgtqx3g.js +2 -0
  123. package/bundle/{chunk-0w77vhg4.js → chunk-bdcd2mcb.js} +2 -2
  124. package/bundle/chunk-bde5d507.js +2 -0
  125. package/bundle/{chunk-139qfnsq.js → chunk-bemyyen3.js} +1 -1
  126. package/bundle/{chunk-84712kbe.js → chunk-bga4kqd1.js} +2 -2
  127. package/bundle/{chunk-4s9d2zte.js → chunk-bm8azfnt.js} +1 -1
  128. package/bundle/{chunk-1bbx1da7.js → chunk-bmdqb48f.js} +1 -1
  129. package/bundle/{chunk-bpv378bm.js → chunk-bq6cvf16.js} +2 -2
  130. package/bundle/{chunk-t66gerft.js → chunk-bxnsrggq.js} +1 -1
  131. package/bundle/{chunk-2b80n6nx.js → chunk-bzh71a92.js} +1 -1
  132. package/bundle/chunk-bzzggc3s.js +2 -0
  133. package/bundle/{chunk-78rfz0ex.js → chunk-c5cyt23k.js} +2 -2
  134. package/bundle/chunk-c8qx439t.js +2 -0
  135. package/bundle/{chunk-t1e52h0k.js → chunk-ch7s512a.js} +1 -1
  136. package/bundle/{chunk-jmrqp50k.js → chunk-chnr7pe5.js} +1 -1
  137. package/bundle/chunk-ckw51fn6.js +2 -0
  138. package/bundle/{chunk-1rafe6f5.js → chunk-crqycrs4.js} +2 -2
  139. package/bundle/{chunk-z2cnd2cp.js → chunk-d10qre1b.js} +1 -1
  140. package/bundle/{chunk-v6djkm35.js → chunk-d385e2qt.js} +1 -1
  141. package/bundle/{chunk-paqy0c2v.js → chunk-d4faz5xa.js} +1 -1
  142. package/bundle/{chunk-8xbd0ra5.js → chunk-d7h1dp0h.js} +1 -1
  143. package/bundle/chunk-denp0wrq.js +2 -0
  144. package/bundle/chunk-depxzjer.js +2 -0
  145. package/bundle/chunk-dhvqpcf3.js +2 -0
  146. package/bundle/chunk-dkqqswbv.js +2 -0
  147. package/bundle/{chunk-e4658j15.js → chunk-dmb0ez0m.js} +3 -3
  148. package/bundle/{chunk-47pxz6cb.js → chunk-dn0437c1.js} +2 -2
  149. package/bundle/{chunk-es6vbsjg.js → chunk-dvp0r93q.js} +1 -1
  150. package/bundle/{chunk-374js0y6.js → chunk-e18hshcg.js} +1 -1
  151. package/bundle/chunk-e5t7jsxa.js +2 -0
  152. package/bundle/{chunk-wac35a6p.js → chunk-e611m0p4.js} +1 -1
  153. package/bundle/{chunk-4krmja97.js → chunk-e8s4mp5n.js} +2 -2
  154. package/bundle/chunk-eb811dt2.js +2 -0
  155. package/bundle/{chunk-95ga21eq.js → chunk-edvfqxfr.js} +1 -1
  156. package/bundle/{chunk-yhe5qz48.js → chunk-ej0yzstw.js} +2 -2
  157. package/bundle/{chunk-7p8f8xav.js → chunk-ep4drmt9.js} +1 -1
  158. package/bundle/{chunk-xaewye8w.js → chunk-eqsank84.js} +1 -1
  159. package/bundle/{chunk-s7ypkpg2.js → chunk-et3tgx7t.js} +1 -1
  160. package/bundle/{chunk-trg0zg0q.js → chunk-f0dp1tf9.js} +1 -1
  161. package/bundle/chunk-fbz2xv2w.js +2 -0
  162. package/bundle/{chunk-cv3xdp8q.js → chunk-fd04358e.js} +375 -305
  163. package/bundle/{chunk-mbma071k.js → chunk-fdmz0502.js} +2 -2
  164. package/bundle/{chunk-mrh5q4s6.js → chunk-ffx0cr44.js} +2 -2
  165. package/bundle/{chunk-e6s8ep9m.js → chunk-ffyj5nsg.js} +2 -2
  166. package/bundle/{chunk-2bfq0mtx.js → chunk-ffz334ab.js} +1 -1
  167. package/bundle/{chunk-9a9qcvtz.js → chunk-fkq0v5qv.js} +2 -2
  168. package/bundle/{chunk-mp5m0acf.js → chunk-fmcg649e.js} +1 -1
  169. package/bundle/{chunk-g3y5kvg6.js → chunk-fp2xgnjn.js} +2 -2
  170. package/bundle/{chunk-rqdfmbns.js → chunk-fpzkyzny.js} +2 -2
  171. package/bundle/{chunk-yg5azmxb.js → chunk-g738e799.js} +2 -2
  172. package/bundle/{chunk-1exjy880.js → chunk-g77kddrs.js} +2 -2
  173. package/bundle/chunk-gbvcb4k1.js +2 -0
  174. package/bundle/{chunk-mgff8bcx.js → chunk-gd0j16gn.js} +1 -1
  175. package/bundle/chunk-gdtnqzbp.js +2 -0
  176. package/bundle/{chunk-hrfdrz36.js → chunk-gfvq78gy.js} +1 -1
  177. package/bundle/{chunk-h2vtypa5.js → chunk-gkf7x1yj.js} +1 -1
  178. package/bundle/chunk-gkfvhh28.js +2 -0
  179. package/bundle/chunk-gnh8c49b.js +2 -0
  180. package/bundle/chunk-gvf6ek9f.js +2 -0
  181. package/bundle/chunk-gvx5hmhk.js +2 -0
  182. package/bundle/{chunk-1f9qcrn6.js → chunk-h036zy9e.js} +2 -2
  183. package/bundle/{chunk-zhddj91f.js → chunk-hf39qx6t.js} +2 -2
  184. package/bundle/chunk-hham7r33.js +2 -0
  185. package/bundle/{chunk-map852em.js → chunk-hrcqbadm.js} +1 -1
  186. package/bundle/chunk-hsjbe5zy.js +2 -0
  187. package/bundle/{chunk-fbd971t7.js → chunk-hx13a8es.js} +3 -3
  188. package/bundle/{chunk-04x4b2yy.js → chunk-j15wejz0.js} +1 -1
  189. package/bundle/{chunk-08mgb5tt.js → chunk-j1bv93m4.js} +12 -10
  190. package/bundle/{chunk-5es19n1m.js → chunk-j2snkw45.js} +2 -2
  191. package/bundle/{chunk-z66xdxkg.js → chunk-j3agzs13.js} +2 -2
  192. package/bundle/{chunk-4wzv2v36.js → chunk-j45p2v4a.js} +3 -3
  193. package/bundle/{chunk-094m66q5.js → chunk-j46bxb1b.js} +1 -1
  194. package/bundle/{chunk-5e0vejcb.js → chunk-jvvctqjd.js} +2 -2
  195. package/bundle/chunk-jvx7jtm4.js +3 -0
  196. package/bundle/{chunk-0ware2sh.js → chunk-jwv6fda1.js} +2 -2
  197. package/bundle/{chunk-1gt6ppza.js → chunk-k0chq88p.js} +1 -1
  198. package/bundle/chunk-k6gdmqff.js +2 -0
  199. package/bundle/{chunk-8t17w67q.js → chunk-k769v1ds.js} +1 -1
  200. package/bundle/{chunk-ycth54ja.js → chunk-kdqhwa65.js} +1 -1
  201. package/bundle/{chunk-8hrt4d0v.js → chunk-ky3fhz9z.js} +1 -1
  202. package/bundle/chunk-kzkb4648.js +2 -0
  203. package/bundle/chunk-m2540waa.js +2 -0
  204. package/bundle/{chunk-hp9q7vvq.js → chunk-m6967jtv.js} +2 -2
  205. package/bundle/{chunk-7h0regqs.js → chunk-m8kjtp60.js} +1 -1
  206. package/bundle/{chunk-q65qzc9w.js → chunk-mbmaeq0a.js} +1 -1
  207. package/bundle/{chunk-anm5g0m4.js → chunk-meehnnv9.js} +2 -2
  208. package/bundle/{chunk-k3x6z5q1.js → chunk-mjkwd1sz.js} +1 -1
  209. package/bundle/chunk-mscvm1rm.js +2 -0
  210. package/bundle/chunk-mw3hh526.js +2 -0
  211. package/bundle/chunk-n3nsrk5n.js +2 -0
  212. package/bundle/{chunk-rf9pjbg3.js → chunk-n6pn4f3r.js} +1 -1
  213. package/bundle/{chunk-wrkt670m.js → chunk-n7zd97hy.js} +2 -2
  214. package/bundle/chunk-n9nmc4q4.js +2 -0
  215. package/bundle/{chunk-p3tcw42f.js → chunk-nb4xtk1n.js} +1 -1
  216. package/bundle/{chunk-hd6sd912.js → chunk-ngygp66y.js} +1 -1
  217. package/bundle/chunk-nj4as8vy.js +2 -0
  218. package/bundle/chunk-nrzca9yd.js +2 -0
  219. package/bundle/chunk-nxm6gpyv.js +2 -0
  220. package/bundle/{chunk-5gv6r7v8.js → chunk-nyxn7npc.js} +1 -1
  221. package/bundle/{chunk-mhn0a828.js → chunk-nzz7gzg2.js} +1 -1
  222. package/bundle/{chunk-y9mxwwz7.js → chunk-p0852vfn.js} +2 -2
  223. package/bundle/{chunk-xrb46v1e.js → chunk-p4xqfkbh.js} +1 -1
  224. package/bundle/{chunk-7nh8vjx4.js → chunk-pdcxmr6x.js} +1 -1
  225. package/bundle/{chunk-6wt8g6mc.js → chunk-pp10epga.js} +2 -2
  226. package/bundle/{chunk-w264gs2c.js → chunk-prz2fkn9.js} +1 -1
  227. package/bundle/{chunk-d2049chz.js → chunk-psmwrvqs.js} +2 -2
  228. package/bundle/{chunk-4d9s7cgr.js → chunk-pwq2f75j.js} +1 -1
  229. package/bundle/{chunk-5psekq9f.js → chunk-pwrwb7mn.js} +1 -1
  230. package/bundle/{chunk-1wy8wmah.js → chunk-px69995t.js} +1 -1
  231. package/bundle/{chunk-pfen4ekj.js → chunk-q1dmxn63.js} +2 -2
  232. package/bundle/chunk-qbjqkezn.js +2 -0
  233. package/bundle/chunk-qhtp1xvx.js +2 -0
  234. package/bundle/chunk-qkztgpay.js +2 -0
  235. package/bundle/{chunk-x0wy15q9.js → chunk-qn1fhqyw.js} +2 -2
  236. package/bundle/{chunk-rwt0rwvn.js → chunk-qpggztkq.js} +2 -2
  237. package/bundle/{chunk-n73ckwr7.js → chunk-qpk7jp6t.js} +1 -1
  238. package/bundle/{chunk-71naz1qp.js → chunk-qqsj69m2.js} +1 -1
  239. package/bundle/{chunk-7k1q26yn.js → chunk-qrztx1b4.js} +2 -2
  240. package/bundle/{chunk-xpz5mnwz.js → chunk-qz20b42s.js} +1 -1
  241. package/bundle/{chunk-dzy3ezht.js → chunk-rd08wx37.js} +2 -2
  242. package/bundle/{chunk-mqtj38j9.js → chunk-rn3je2hv.js} +1 -1
  243. package/bundle/chunk-rnf3dy0y.js +2 -0
  244. package/bundle/{chunk-72qx43fq.js → chunk-rqap90xh.js} +2 -2
  245. package/bundle/chunk-rry4kq85.js +2 -0
  246. package/bundle/{chunk-5a4zt1b7.js → chunk-rws2tsdv.js} +1 -1
  247. package/bundle/{chunk-r65zw08x.js → chunk-rx9eh3db.js} +3 -3
  248. package/bundle/{chunk-tzw56029.js → chunk-rxt6gktt.js} +1 -1
  249. package/bundle/chunk-ryfj80q6.js +2 -0
  250. package/bundle/{chunk-ec1bwa7f.js → chunk-s0gmxpxm.js} +2 -2
  251. package/bundle/{chunk-8psfgg8y.js → chunk-s9epttpy.js} +1 -1
  252. package/bundle/{chunk-gtmtvjwc.js → chunk-sb3cgb4v.js} +1 -1
  253. package/bundle/{chunk-p863r97y.js → chunk-set1f1wr.js} +1 -1
  254. package/bundle/{chunk-zgj7jx8k.js → chunk-sg9enzsp.js} +2 -2
  255. package/bundle/{chunk-0xf12tf3.js → chunk-sh03ka27.js} +1 -1
  256. package/bundle/chunk-snx49w8h.js +2 -0
  257. package/bundle/{chunk-610mqqqa.js → chunk-spcdwmy4.js} +1 -1
  258. package/bundle/{chunk-ydz7387e.js → chunk-sy76e7nr.js} +1 -1
  259. package/bundle/{chunk-csbndz33.js → chunk-szfqmkj6.js} +1 -1
  260. package/bundle/chunk-t21mdqbb.js +2 -0
  261. package/bundle/{chunk-t7gp6mjm.js → chunk-tcyzj3rz.js} +1 -1
  262. package/bundle/chunk-tn2yyqeb.js +2 -0
  263. package/bundle/chunk-ttebf3nt.js +2 -0
  264. package/bundle/chunk-twpfh0mx.js +2 -0
  265. package/bundle/{chunk-a4242cn4.js → chunk-tz1bzrnh.js} +1 -1
  266. package/bundle/chunk-tzf6d5qy.js +2 -0
  267. package/bundle/{chunk-hzzvmr41.js → chunk-v1axkp21.js} +2 -2
  268. package/bundle/chunk-v2mq09wx.js +2 -0
  269. package/bundle/chunk-v59a02aj.js +2 -0
  270. package/bundle/{chunk-8rbbt1s8.js → chunk-v5me0cj9.js} +1 -1
  271. package/bundle/{chunk-gw2fz5ry.js → chunk-v7v0krrj.js} +1 -1
  272. package/bundle/{chunk-9r6wk75s.js → chunk-veptx3fk.js} +1 -1
  273. package/bundle/chunk-vnstr4g1.js +2 -0
  274. package/bundle/{chunk-vvcyvdnk.js → chunk-vr13f6b5.js} +2 -2
  275. package/bundle/chunk-vxr4rzt0.js +2 -0
  276. package/bundle/{chunk-fmvmp278.js → chunk-vzkdzhn0.js} +1 -1
  277. package/bundle/chunk-w0h9rczg.js +2 -0
  278. package/bundle/{chunk-6jb4mnvq.js → chunk-w136zswr.js} +3 -3
  279. package/bundle/chunk-w214dwws.js +2 -0
  280. package/bundle/{chunk-mchf2bcc.js → chunk-w4fr00s7.js} +2 -2
  281. package/bundle/chunk-w8344et5.js +2 -0
  282. package/bundle/{chunk-b274mb6v.js → chunk-w8nj5ph5.js} +1 -1
  283. package/bundle/chunk-weyg78et.js +2 -0
  284. package/bundle/{chunk-6kpk6pr3.js → chunk-wf0n1cs9.js} +1 -1
  285. package/bundle/{chunk-00krzh3y.js → chunk-wfpnv00c.js} +2 -2
  286. package/bundle/{chunk-9h2fms7x.js → chunk-wmj3xndt.js} +1 -1
  287. package/bundle/{chunk-wwtyrgga.js → chunk-wrzn87w0.js} +1 -1
  288. package/bundle/{chunk-npryn3en.js → chunk-ws720v4j.js} +1 -1
  289. package/bundle/{chunk-t4kma6mq.js → chunk-x0de4z05.js} +2 -2
  290. package/bundle/{chunk-qqftaqza.js → chunk-x3dzzq0t.js} +1 -1
  291. package/bundle/{chunk-45dtsre6.js → chunk-x4jnyj09.js} +1 -1
  292. package/bundle/chunk-xchj8gna.js +2 -0
  293. package/bundle/{chunk-s81ck6bw.js → chunk-xdcwx384.js} +1 -1
  294. package/bundle/{chunk-yqvqzg7b.js → chunk-xmf59618.js} +1 -1
  295. package/bundle/chunk-y18ptwk2.js +2 -0
  296. package/bundle/{chunk-z4gczap3.js → chunk-y1v7mf1a.js} +9 -9
  297. package/bundle/chunk-y3dpyz2d.js +2 -0
  298. package/bundle/{chunk-h9tcpbr7.js → chunk-y5ydtbpd.js} +1 -1
  299. package/bundle/{chunk-vzj91hg8.js → chunk-yg9n2a2d.js} +1 -1
  300. package/bundle/chunk-ykvgmje9.js +35 -0
  301. package/bundle/chunk-yvjecrjy.js +2 -0
  302. package/bundle/chunk-yw2x6by6.js +2 -0
  303. package/bundle/{chunk-962hspr0.js → chunk-z0dj15g9.js} +1 -1
  304. package/bundle/chunk-z0r4syk8.js +2 -0
  305. package/bundle/{chunk-1q5h95hc.js → chunk-z6qyx227.js} +1 -1
  306. package/bundle/chunk-z7c00g63.js +2 -0
  307. package/bundle/{chunk-tks3qzsw.js → chunk-zgwasq3p.js} +1 -1
  308. package/bundle/{chunk-6dmk2eyt.js → chunk-zh7e6kqs.js} +1 -1
  309. package/bundle/{chunk-4q14whpc.js → chunk-zjyaze0d.js} +1 -1
  310. package/bundle/chunk-znr0saas.js +2 -0
  311. package/bundle/{chunk-e0w082wt.js → chunk-zpjtse0z.js} +184 -184
  312. package/bundle/chunk-zqqt7v17.js +2 -0
  313. package/bundle/chunk-zwrgh1hc.js +2 -0
  314. package/bundle/{chunk-821zkh5v.js → chunk-zx63mepv.js} +1 -1
  315. package/bundle/index.js +3 -3
  316. package/bundle/parser.worker.js +2 -2
  317. package/bundle/worker.js +1 -1
  318. package/package.json +1 -1
  319. package/bundle/chunk-0nves64y.js +0 -2
  320. package/bundle/chunk-0v7knkt5.js +0 -2
  321. package/bundle/chunk-1h5jdsgx.js +0 -2
  322. package/bundle/chunk-1r5e1jsb.js +0 -2
  323. package/bundle/chunk-1wyy3c48.js +0 -2
  324. package/bundle/chunk-1z299xq6.js +0 -2
  325. package/bundle/chunk-21aqt31s.js +0 -2
  326. package/bundle/chunk-22aq9ymg.js +0 -2
  327. package/bundle/chunk-26a17c9z.js +0 -2
  328. package/bundle/chunk-2a154mr0.js +0 -2
  329. package/bundle/chunk-2nbce486.js +0 -2
  330. package/bundle/chunk-2npxatq9.js +0 -2
  331. package/bundle/chunk-3gryj9r9.js +0 -2
  332. package/bundle/chunk-3jnanbjr.js +0 -2
  333. package/bundle/chunk-3meh1cbc.js +0 -2
  334. package/bundle/chunk-3t71xfr6.js +0 -2
  335. package/bundle/chunk-4045jzv5.js +0 -2
  336. package/bundle/chunk-4b2vv484.js +0 -2
  337. package/bundle/chunk-4ene1ymj.js +0 -2
  338. package/bundle/chunk-58r5etg8.js +0 -2
  339. package/bundle/chunk-5c2zw4h0.js +0 -2
  340. package/bundle/chunk-608f83n0.js +0 -2
  341. package/bundle/chunk-671r50ry.js +0 -2
  342. package/bundle/chunk-6bfnhr3d.js +0 -2
  343. package/bundle/chunk-6cv6d8rw.js +0 -2
  344. package/bundle/chunk-6qm6f88j.js +0 -2
  345. package/bundle/chunk-78bfwwmc.js +0 -2
  346. package/bundle/chunk-7wwtgxxf.js +0 -2
  347. package/bundle/chunk-98sb49dz.js +0 -2
  348. package/bundle/chunk-9kbtpq9m.js +0 -2
  349. package/bundle/chunk-9szp9b4m.js +0 -2
  350. package/bundle/chunk-9xqszq0c.js +0 -2
  351. package/bundle/chunk-a32kjs9e.js +0 -2
  352. package/bundle/chunk-apym02ct.js +0 -2
  353. package/bundle/chunk-armv2rv5.js +0 -2
  354. package/bundle/chunk-as215v64.js +0 -2
  355. package/bundle/chunk-bnmpgpyf.js +0 -2
  356. package/bundle/chunk-bq3zt1x1.js +0 -2
  357. package/bundle/chunk-bx8fgjam.js +0 -2
  358. package/bundle/chunk-ckcnb59t.js +0 -2
  359. package/bundle/chunk-d79xaj6s.js +0 -3
  360. package/bundle/chunk-dah2d37s.js +0 -2
  361. package/bundle/chunk-dhgjv1n2.js +0 -2
  362. package/bundle/chunk-dk9k8ff5.js +0 -2
  363. package/bundle/chunk-dymysn4h.js +0 -2
  364. package/bundle/chunk-ev4gw5k6.js +0 -2
  365. package/bundle/chunk-ew2dxm43.js +0 -2
  366. package/bundle/chunk-ffp4wg27.js +0 -2
  367. package/bundle/chunk-hjy90gt2.js +0 -2
  368. package/bundle/chunk-hmden934.js +0 -2
  369. package/bundle/chunk-hsm8fbb1.js +0 -2
  370. package/bundle/chunk-hz1xfedb.js +0 -2
  371. package/bundle/chunk-ja9y478k.js +0 -2
  372. package/bundle/chunk-jam7xyjf.js +0 -2
  373. package/bundle/chunk-k51qphrk.js +0 -2
  374. package/bundle/chunk-kee7xpe3.js +0 -2
  375. package/bundle/chunk-p13eeqe4.js +0 -2
  376. package/bundle/chunk-p45f2nyb.js +0 -2
  377. package/bundle/chunk-qvwx32p9.js +0 -35
  378. package/bundle/chunk-qw9whsy2.js +0 -2
  379. package/bundle/chunk-r77kpzdv.js +0 -2
  380. package/bundle/chunk-rc95tp19.js +0 -2
  381. package/bundle/chunk-rmh2fhqy.js +0 -2
  382. package/bundle/chunk-rrn86a8w.js +0 -2
  383. package/bundle/chunk-s8v0h63x.js +0 -2
  384. package/bundle/chunk-sh4mngre.js +0 -2
  385. package/bundle/chunk-shqqngm8.js +0 -2
  386. package/bundle/chunk-sjfcwykr.js +0 -2
  387. package/bundle/chunk-sv01v0n0.js +0 -2
  388. package/bundle/chunk-tn8hsd2c.js +0 -2
  389. package/bundle/chunk-tqsx7w8z.js +0 -2
  390. package/bundle/chunk-tyt1negg.js +0 -2
  391. package/bundle/chunk-v580zwpf.js +0 -3
  392. package/bundle/chunk-vdv6cyh0.js +0 -2
  393. package/bundle/chunk-vsk8yfxp.js +0 -2
  394. package/bundle/chunk-vvgmkjym.js +0 -2
  395. package/bundle/chunk-vzf04vad.js +0 -2
  396. package/bundle/chunk-w0zyex7f.js +0 -2
  397. package/bundle/chunk-w623r5kb.js +0 -3
  398. package/bundle/chunk-wkxt9v7s.js +0 -2
  399. package/bundle/chunk-wwf6zacw.js +0 -2
  400. package/bundle/chunk-x9c8eddk.js +0 -2
  401. package/bundle/chunk-xjed8t2h.js +0 -2
  402. package/bundle/chunk-xxhta1tm.js +0 -2
  403. package/bundle/chunk-yhj6858v.js +0 -2
  404. package/bundle/chunk-yq3byrpv.js +0 -2
  405. package/bundle/chunk-ys8ajwys.js +0 -2
  406. package/bundle/chunk-yzt7p956.js +0 -2
  407. package/bundle/chunk-z56cb3fs.js +0 -2
  408. package/bundle/chunk-zhypknyg.js +0 -2
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Ql as an,Rl as _i,Sl as bn,Tl as Ni,Vl as Yr,Wl as zr}from"./chunk-aq75kv5f.js";import{$l as mr,Am as lo,Bm as so,Cm as _o,Dm as No,Em as po,Fm as Ao,Gm as To,Hm as Ir,Im as Oo,Jm as $o,Km as Do,Lm as Lr,Mm as vo,Nm as dr,Om as Bo,Pm as Gr,Qm as Jr,Rm as Mr,Sm as Sr,Tm as Cr,Um as Hr,Vm as Qo,Wm as Io,Xl as uo,Xm as Fo,Yl as yo,_l as er,am as ur,an as ui,bm as yr,cm as fr,dm as gr,em as lr,fm as sr,gm as _r,hm as Nr,im as pr,jm as Ar,km as V,lm as Tr,mm as Or,nm as $r,om as Dr,pm as vr,qm as Br,rm as j,sm as v,tm as yn,um as un,vm as Xo,wm as Qr,xm as Z,ym as go,zm as Kn}from"./chunk-1851skhm.js";import{Hn as Fn,Ln as jn}from"./chunk-z66xdxkg.js";import{Mn as gi}from"./chunk-jt94rhev.js";import{Nn as Mo}from"./chunk-2ts2s8b4.js";import{Ar as ni,ur as Wn,vr as hn,wr as Nn,xr as hr,yr as ti}from"./chunk-xgdst5n5.js";import{Br as ri}from"./chunk-yzxcjr6y.js";import{Cs as gn}from"./chunk-3be70hxy.js";import{$s as ro}from"./chunk-mbma071k.js";import{dt as Ro}from"./chunk-dpm5x19e.js";import{Mt as nn,Vt as c}from"./chunk-6g3bzap8.js";import{$t as qo,Yt as Xr,au as k,eu as mo,ju as $n}from"./chunk-mrh5q4s6.js";import{ku as a}from"./chunk-w623r5kb.js";import{$z as pn,hA as Jn,vA as Cn}from"./chunk-00krzh3y.js";import{CF as h,KE as Ko,RE as Xn,SO as N,YE as ln,dI as r,gL as Zr,hK as Uo,kC as cn,lJ as Ln,mF as Ur,yC as vn}from"./chunk-hk8m8vax.js";import{tP as On}from"./chunk-0xf12tf3.js";var Vo={};On(Vo,{run:()=>$i});var mn={time_created:j().notNull().$default(()=>Date.now()),time_updated:j().notNull().$onUpdate(()=>Date.now())};var J=un("project",{id:v().$type().primaryKey(),worktree:v().notNull(),vcs:v(),name:v(),icon_url:v(),icon_color:v(),...mn,time_initialized:j(),sandboxes:v({mode:"json"}).notNull().$type(),commands:v({mode:"json"}).$type()});var fn=un("session",{id:v().$type().primaryKey(),project_id:v().$type().notNull().references(()=>J.id,{onDelete:"cascade"}),workspace_id:v().$type(),parent_id:v().$type(),context_from:v().$type(),context_watermark:v().$type(),slug:v().notNull(),directory:v().notNull(),title:v().notNull(),version:v().notNull(),share_url:v(),summary_additions:j(),summary_deletions:j(),summary_files:j(),summary_diffs:v({mode:"json"}).$type(),revert:v({mode:"json"}).$type(),permission:v({mode:"json"}).$type(),...mn,time_compacting:j(),time_archived:j(),last_checkpoint_message_id:v().$type()},(n)=>[yn("session_project_idx").on(n.project_id),yn("session_workspace_idx").on(n.workspace_id),yn("session_parent_idx").on(n.parent_id),yn("session_context_from_idx").on(n.context_from)]),eo=un("message",{id:v().$type().primaryKey(),session_id:v().$type().notNull().references(()=>fn.id,{onDelete:"cascade"}),agent_id:v().notNull().default("main"),...mn,data:v({mode:"json"}).notNull().$type()},(n)=>[yn("message_session_time_created_id_idx").on(n.session_id,n.time_created,n.id),yn("message_session_agent_idx").on(n.session_id,n.agent_id,n.id)]),Yo=un("part",{id:v().$type().primaryKey(),message_id:v().$type().notNull().references(()=>eo.id,{onDelete:"cascade"}),session_id:v().$type().notNull(),...mn,data:v({mode:"json"}).notNull().$type()},(n)=>[yn("part_message_id_id_idx").on(n.message_id,n.id),yn("part_session_idx").on(n.session_id)]),zo=un("todo",{session_id:v().$type().notNull().references(()=>fn.id,{onDelete:"cascade"}),content:v().notNull(),status:v().notNull(),position:j().notNull(),...mn},(n)=>[Xo({columns:[n.session_id,n.position]}),yn("todo_session_idx").on(n.session_id)]),co=un("permission",{project_id:v().primaryKey().references(()=>J.id,{onDelete:"cascade"}),...mn,data:v({mode:"json"}).notNull().$type()});var ko=un("session_share",{session_id:v().primaryKey().references(()=>fn.id,{onDelete:"cascade"}),id:v().notNull(),secret:v().notNull(),url:v().notNull(),...mn});import z from"path";var U=c.create({service:"json-migration"});async function $i(n,o){let i=z.join($n.Path.data,"storage");if(!await mo.exists(i))return U.info("storage directory does not exist, skipping migration"),{projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]};U.info("starting json to sqlite migration",{storageDir:i});let l=performance.now();n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = OFF"),n.run("PRAGMA cache_size = 10000"),n.run("PRAGMA temp_store = MEMORY");let e={projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]},A={sessions:0,todos:0,permissions:0,shares:0},_=e.errors,T=1000,M=Date.now();async function x(f){return qo.scan(f,{cwd:i,absolute:!0})}async function C(f,d,S){let B=S-d,p=Array(B);for(let E=0;E<B;E++)p[E]=mo.readJson(f[d+E]);let G=await Promise.allSettled(p),W=Array(B);for(let E=0;E<G.length;E++){let q=G[E];if(q.status==="fulfilled"){W[E]=q.value;continue}_.push(`failed to read ${f[d+E]}: ${q.reason}`)}return W}function H(f,d,S){if(f.length===0)return 0;try{return n.insert(d).values(f).onConflictDoNothing().run(),f.length}catch(B){return _.push(`failed to migrate ${S} batch: ${B}`),0}}U.info("scanning files...");let[K,$,Q,L,g,s,m]=await Promise.all([x("project/*.json"),x("session/*/*.json"),x("message/*/*.json"),x("part/*/*.json"),x("todo/*.json"),x("permission/*.json"),x("session_share/*.json")]);U.info("file scan complete",{projects:K.length,sessions:$.length,messages:Q.length,parts:L.length,todos:g.length,permissions:s.length,shares:m.length});let y=Math.max(1,K.length+$.length+Q.length+L.length+g.length+s.length+m.length),t=o?.progress,u=0,D=(f,d)=>{u=Math.min(y,u+d),t?.({current:u,total:y,label:f})};t?.({current:u,total:y,label:"starting"}),n.run("BEGIN TRANSACTION");let I=new Set,O=[];for(let f=0;f<K.length;f+=T){let d=Math.min(f+T,K.length),S=await C(K,f,d);O.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=z.basename(K[f+B],".json");I.add(G),O.push({id:G,worktree:p.worktree??"/",vcs:p.vcs,name:p.name??void 0,icon_url:p.icon?.url,icon_color:p.icon?.color,time_created:p.time?.created??M,time_updated:p.time?.updated??M,time_initialized:p.time?.initialized,sandboxes:p.sandboxes??[],commands:p.commands})}e.projects+=H(O,J,"project"),D("projects",d-f)}U.info("migrated projects",{count:e.projects,duration:Math.round(performance.now()-l)});let P=$.map((f)=>z.basename(z.dirname(f))),Y=new Set,en=[];for(let f=0;f<$.length;f+=T){let d=Math.min(f+T,$.length),S=await C($,f,d);en.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=z.basename($[f+B],".json"),W=P[f+B];if(!I.has(W)){A.sessions++;continue}Y.add(G),en.push({id:G,project_id:W,parent_id:p.parentID??null,slug:p.slug??"",directory:p.directory??"",title:p.title??"",version:p.version??"",share_url:p.share?.url??null,summary_additions:p.summary?.additions??null,summary_deletions:p.summary?.deletions??null,summary_files:p.summary?.files??null,summary_diffs:p.summary?.diffs??null,revert:p.revert??null,permission:p.permission??null,time_created:p.time?.created??M,time_updated:p.time?.updated??M,time_compacting:p.time?.compacting??null,time_archived:p.time?.archived??null})}e.sessions+=H(en,fn,"session"),D("sessions",d-f)}if(U.info("migrated sessions",{count:e.sessions}),A.sessions>0)U.warn("skipped orphaned sessions",{count:A.sessions});let sn=[],R=[],kn=new Map;for(let f of Q){let d=z.basename(z.dirname(f));if(!Y.has(d))continue;sn.push(f),R.push(d)}for(let f=0;f<sn.length;f+=T){let d=Math.min(f+T,sn.length),S=await C(sn,f,d),B=Array(S.length),p=0;for(let G=0;G<S.length;G++){let W=S[G];if(!W)continue;let E=sn[f+G],q=z.basename(E,".json"),xn=R[f+G];kn.set(q,xn);let Bn=W;delete Bn.id,delete Bn.sessionID,B[p++]={id:q,session_id:xn,time_created:W.time?.created??M,time_updated:W.time?.updated??M,data:Bn}}B.length=p,e.messages+=H(B,eo,"message"),D("messages",d-f)}U.info("migrated messages",{count:e.messages});for(let f=0;f<L.length;f+=T){let d=Math.min(f+T,L.length),S=await C(L,f,d),B=Array(S.length),p=0;for(let G=0;G<S.length;G++){let W=S[G];if(!W)continue;let E=L[f+G],q=z.basename(E,".json"),xn=z.basename(z.dirname(E)),Bn=kn.get(xn);if(!Bn){_.push(`part missing message session: ${E}`);continue}if(!Y.has(Bn))continue;let wn=W;delete wn.id,delete wn.messageID,delete wn.sessionID,B[p++]={id:q,message_id:xn,session_id:Bn,time_created:W.time?.created??M,time_updated:W.time?.updated??M,data:wn}}B.length=p,e.parts+=H(B,Yo,"part"),D("parts",d-f)}U.info("migrated parts",{count:e.parts});let Tn=g.map((f)=>z.basename(f,".json"));for(let f=0;f<g.length;f+=T){let d=Math.min(f+T,g.length),S=await C(g,f,d),B=[];for(let p=0;p<S.length;p++){let G=S[p];if(!G)continue;let W=Tn[f+p];if(!Y.has(W)){A.todos++;continue}if(!Array.isArray(G)){_.push(`todo not an array: ${g[f+p]}`);continue}for(let E=0;E<G.length;E++){let q=G[E];if(!q?.content||!q?.status)continue;B.push({session_id:W,content:q.content,status:q.status,position:E,time_created:M,time_updated:M})}}e.todos+=H(B,zo,"todo"),D("todos",d-f)}if(U.info("migrated todos",{count:e.todos}),A.todos>0)U.warn("skipped orphaned todos",{count:A.todos});let qn=s.map((f)=>z.basename(f,".json")),Hn=[];for(let f=0;f<s.length;f+=T){let d=Math.min(f+T,s.length),S=await C(s,f,d);Hn.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=qn[f+B];if(!I.has(G)){A.permissions++;continue}Hn.push({project_id:G,data:p})}e.permissions+=H(Hn,co,"permission"),D("permissions",d-f)}if(U.info("migrated permissions",{count:e.permissions}),A.permissions>0)U.warn("skipped orphaned permissions",{count:A.permissions});let Vn=m.map((f)=>z.basename(f,".json")),dn=[];for(let f=0;f<m.length;f+=T){let d=Math.min(f+T,m.length),S=await C(m,f,d);dn.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=Vn[f+B];if(!Y.has(G)){A.shares++;continue}if(!p?.id||!p?.secret||!p?.url){_.push(`session_share missing id/secret/url: ${m[f+B]}`);continue}dn.push({session_id:G,id:p.id,secret:p.secret,url:p.url})}e.shares+=H(dn,ko,"session_share"),D("shares",d-f)}if(U.info("migrated session shares",{count:e.shares}),A.shares>0)U.warn("skipped orphaned session shares",{count:A.shares});if(n.run("COMMIT"),U.info("json migration complete",{projects:e.projects,sessions:e.sessions,messages:e.messages,parts:e.parts,todos:e.todos,permissions:e.permissions,shares:e.shares,errorCount:e.errors.length,duration:Math.round(performance.now()-l)}),e.errors.length>0)U.warn("migration errors",{errors:e.errors.slice(0,20)});return t?.({current:y,total:y,label:"complete"}),e}var In={};On(In,{use:()=>Ce,transaction:()=>xe,textDecoder:()=>re,sumDistinct:()=>rr,sum:()=>or,sql:()=>V,relationsOrderToSQL:()=>Rt,relationsFilterToSQL:()=>Kt,relationToSQL:()=>xt,relationExtrasToSQL:()=>Ht,processRelations:()=>Ct,placeholder:()=>Or,param:()=>Ar,orderSelectedFields:()=>oe,orderByOperators:()=>St,or:()=>lo,operators:()=>Mt,notLike:()=>Gr,notInArray:()=>Ir,notIlike:()=>Mr,notExists:()=>Lr,notBetween:()=>dr,not:()=>so,noopMapper:()=>Nr,noopEncoder:()=>_r,noopDecoder:()=>sr,ne:()=>go,name:()=>gr,min:()=>tr,max:()=>ir,mapUpdateSet:()=>ne,mapResultRow:()=>ht,mapRelationalRow:()=>Jt,mapColumnsInSQLToAlias:()=>it,mapColumnsInAliasedSQLToAlias:()=>rt,lte:()=>Ao,lt:()=>po,like:()=>Bo,l2Distance:()=>Xt,l1Distance:()=>Zt,jaccardDistance:()=>Ut,isWithEnum:()=>bt,isView:()=>vr,isTable:()=>Yi,isSQLWrapper:()=>mr,isNull:()=>Oo,isNotNull:()=>$o,isDriverValueEncoder:()=>lr,isConfig:()=>at,is:()=>Mi,innerProduct:()=>Wt,inArray:()=>To,ilike:()=>Jr,haveSameKeys:()=>jt,hasOwnEntityKind:()=>Ji,hammingDistance:()=>Pt,gte:()=>No,gt:()=>_o,getViewSelectedFields:()=>Ft,getViewName:()=>Br,getTableUniqueName:()=>Xi,getTableName:()=>Zi,getTableLikeName:()=>wt,getTableColumns:()=>Vt,getTableAsAliasSQL:()=>Gt,getOriginalColumnFromAlias:()=>ot,getOrderByOperators:()=>dt,getColumns:()=>qt,getColumnTable:()=>Ci,getColumnNameAndConfig:()=>kt,getChannelPath:()=>li,fillPlaceholders:()=>$r,fieldSelectionToSQL:()=>Lt,extractTablesFromSchema:()=>It,extractExtendedColumnType:()=>mt,exists:()=>Do,eq:()=>Z,entityKind:()=>Gi,effect:()=>He,desc:()=>Io,defineRelationsPart:()=>Qt,defineRelations:()=>Bt,createRelationsHelper:()=>vt,countDistinct:()=>bo,count:()=>fo,cosineDistance:()=>Et,close:()=>Se,buildRelationsParts:()=>Dt,buildRelations:()=>$t,bindIfParam:()=>Qr,between:()=>vo,avgDistinct:()=>nr,avg:()=>ho,assertUnreachable:()=>ct,asc:()=>Qo,arrayOverlaps:()=>Hr,arrayContains:()=>Sr,arrayContained:()=>Cr,applyMixins:()=>zt,and:()=>Kn,aliasedTableColumn:()=>nt,aliasedTable:()=>hi,aliasedRelation:()=>bi,aliasedColumn:()=>ai,WithSubquery:()=>ci,ViewSelectionAliasProxyHandler:()=>ji,ViewBaseConfig:()=>ki,View:()=>Dr,TransactionRollbackError:()=>ft,TableSchema:()=>Ui,TableColumns:()=>Wi,TableAliasProxyHandler:()=>Fi,Table:()=>Pi,Subquery:()=>zi,StringChunk:()=>ur,SQL:()=>yr,RelationsHelperStatic:()=>Ot,RelationsBuilderTable:()=>Tt,RelationsBuilderJunctionColumn:()=>At,RelationsBuilderColumn:()=>pt,RelationTableAliasProxyHandler:()=>wi,Relation:()=>Nt,QueryPromise:()=>tt,Placeholder:()=>Tr,Path:()=>Eo,Param:()=>pr,OriginalName:()=>Ei,One:()=>_t,NotFoundError:()=>Me,NoopLogger:()=>di,Name:()=>fr,Many:()=>st,IsAlias:()=>Ri,FakePrimitiveParam:()=>er,ExtraConfigColumns:()=>Ki,ExtraConfigBuilder:()=>xi,DrizzleQueryError:()=>yt,DrizzleError:()=>ut,DefaultLogger:()=>Li,Count:()=>lt,ConsoleLogWriter:()=>Ii,ColumnTableAliasProxyHandler:()=>Vi,ColumnBuilder:()=>et,ColumnAliasProxyHandler:()=>qi,Column:()=>Si,Client:()=>Mn,CONSTANTS:()=>Yt,BaseName:()=>Hi,AggregatedField:()=>gt});import Di from"crypto";import wo,{existsSync as vi,readdirSync as Bi}from"fs";import{join as Qi}from"path";function jo(n){if(wo.existsSync(`${n.migrationsFolder}/meta/_journal.json`))throw Error('We detected that you have old drizzle-kit migration folders. You must upgrade drizzle-kit and run "drizzle-kit up"');let o=n.migrationsFolder,i=[],l=Bi(o).map((e)=>({path:Qi(o,e,"migration.sql"),name:e})).filter((e)=>vi(e.path));l.sort((e,A)=>e.name.localeCompare(A.name));for(let e of l){let A=e.path,_=e.name.slice(0,14),T=wo.readFileSync(A).toString(),M=T.split("--> statement-breakpoint").map((C)=>{return C}),x=Fo(_);i.push({sql:M,bps:!0,folderMillis:x,hash:Di.createHash("sha256").update(T).digest("hex"),name:e.name})}return i}function ao(n,o){if(Array.isArray(o)||"migrationsJournal"in o){let l=Array.isArray(o)?o:o.migrationsJournal,e=Array.isArray(o)?void 0:o.migrationsTable,A=l.map((_)=>({sql:_.sql.split("--> statement-breakpoint"),folderMillis:_.timestamp,hash:"",bps:!0,name:_.name}));return n.dialect.migrate(A,n.session,{migrationsTable:e})}let i=jo(o);return n.dialect.migrate(i,n.session,o)}function fo(n){return V`count(${n||V.raw("*")})`.mapWith(Number)}function bo(n){return V`count(distinct ${n})`.mapWith(Number)}function ho(n){return V`avg(${n})`.mapWith(String)}function nr(n){return V`avg(distinct ${n})`.mapWith(String)}function or(n){return V`sum(${n})`.mapWith(String)}function rr(n){return V`sum(distinct ${n})`.mapWith(String)}function ir(n){return V`max(${n})`.mapWith(uo(n,yo)?n:String)}function tr(n){return V`min(${n})`.mapWith(uo(n,yo)?n:String)}import oo from"path";var Un={};On(Un,{workspaceID:()=>De,useEffect:()=>Qe,use:()=>Be,make:()=>ve,invalidate:()=>Le,has:()=>Ie,get:()=>xo,directory:()=>no,context:()=>Ho,bind:()=>$e});import{EventEmitter as ie}from"events";var Rn=new ie;var Lo=new Set;function xr(n){return Lo.add(n),()=>{Lo.delete(n)}}async function Go(n){await Promise.allSettled([...Lo].map((o)=>o(n)))}function En(n){return n()}var jr={};On(jr,{setInitialized:()=>se,list:()=>ge,layer:()=>Fr,get:()=>le,fromRow:()=>_n,defaultLayer:()=>Co,UpdateInput:()=>fe,Service:()=>Gn,Info:()=>Vr,Event:()=>wr});import*as F from"fs/promises";import*as cr from"os";import*as Dn from"path";var te=N.String.pipe(N.brand("ProjectID")),w=te.pipe(Fn((n)=>({global:n.make("global"),zod:a.string().pipe(a.custom())})));import*as Qn from"fs/promises";import*as b from"path";import*as Er from"crypto";async function Jo(n){let o=b.resolve(n);while(!0){let i=b.join(o,".git"),l=await Qn.stat(i).catch(()=>null);if(l){if(l.isDirectory())return i;let _=(await Qn.readFile(i,"utf-8")).trim().match(/^gitdir:\s*(.+)$/);if(!_)return null;let T=b.isAbsolute(_[1])?_[1]:b.resolve(o,_[1]);return b.resolve(T,"../..")}let e=b.dirname(o);if(e===o)return null;o=e}}async function Kr(n){let o=await Qn.readFile(n,"utf-8").catch(()=>null);if(o===null)return null;return o.trim()||null}async function Rr(n){let o=await Kr(n);if(o)return o;let i=Er.randomUUID();try{return await Qn.writeFile(n,i,{flag:"wx"}),i}catch(l){if(l.code!=="EEXIST")throw l;let e=await Kr(n);if(e)return e;throw Error(`Project ID file was concurrently created but is empty: ${n}`)}}async function Pr(n){let o=await Jo(n);if(o){let l=b.join(o,"qitqode-project-id");return w.make(await Rr(l))}let i=b.join(n,".qitqode-project-id");return w.make(await Rr(i))}async function me(n){let o=await Jo(n);if(!o)return;let i=Dn.join(n,".qitqode-project-id"),l=Dn.join(o,"qitqode-project-id"),e=(T)=>F.access(T).then(()=>!0).catch(()=>!1);if(await e(i)){if(!await e(l)){let T=await F.readFile(i,"utf-8");await F.writeFile(l,T)}await F.unlink(i).catch(()=>{})}let A=Dn.join(o,"info","exclude");if(await F.mkdir(Dn.dirname(A),{recursive:!0}),!(await F.readFile(A,"utf-8").catch(()=>"")).includes(".qitqode-project-id"))await F.appendFile(A,`
2
+ import{Sl as an,Tl as _i,Ul as bn,Vl as Ni,Xl as Yr,Yl as zr}from"./chunk-47jkx37s.js";import{Am as go,Bm as Kn,Cm as lo,Dm as so,Em as _o,Fm as No,Gm as po,Hm as Ao,Im as To,Jm as Ir,Km as Oo,Lm as $o,Mm as Do,Nm as Lr,Om as vo,Pm as dr,Qm as Bo,Rm as Gr,Sm as Jr,Tm as Mr,Um as Sr,Vm as Cr,Wm as Hr,Xm as Qo,Ym as Io,Zl as uo,Zm as Fo,_l as yo,am as er,bm as mr,cm as ur,cn as ui,dm as yr,em as fr,fm as gr,gm as lr,hm as sr,im as _r,jm as Nr,km as pr,lm as Ar,mm as V,nm as Tr,om as Or,pm as $r,qm as Dr,rm as vr,sm as Br,tm as j,um as v,vm as yn,wm as un,xm as Xo,ym as Qr,zm as Z}from"./chunk-31a47ptm.js";import{Jn as Fn,Nn as jn}from"./chunk-j3agzs13.js";import{On as gi}from"./chunk-3152y1q9.js";import{Pn as Mo}from"./chunk-71jmhvef.js";import{Ar as hr,Br as ti,Dr as ni,xr as Wn,yr as hn,zr as Nn}from"./chunk-9znfb8f2.js";import{Er as ri}from"./chunk-6kch0q2d.js";import{Fs as gn}from"./chunk-1mfdmm2t.js";import{ct as ro}from"./chunk-fdmz0502.js";import{gt as Ro}from"./chunk-8jkqyf9n.js";import{Pt as nn,Yt as c}from"./chunk-5dvy83ms.js";import{$t as Xr,cu as qo,du as k,hu as mo,mu as $n}from"./chunk-ffx0cr44.js";import{nu as a}from"./chunk-33mzqyyb.js";import{cA as pn,kA as Jn,yA as Cn}from"./chunk-wfpnv00c.js";import{$E as ln,BC as vn,FF as h,NE as Ko,UE as Xn,VO as N,gI as r,jL as Zr,kK as Uo,nC as cn,oJ as Ln,pF as Ur}from"./chunk-9kc2th5c.js";import{wP as On}from"./chunk-sh03ka27.js";var Vo={};On(Vo,{run:()=>$i});var mn={time_created:j().notNull().$default(()=>Date.now()),time_updated:j().notNull().$onUpdate(()=>Date.now())};var J=un("project",{id:v().$type().primaryKey(),worktree:v().notNull(),vcs:v(),name:v(),icon_url:v(),icon_color:v(),...mn,time_initialized:j(),sandboxes:v({mode:"json"}).notNull().$type(),commands:v({mode:"json"}).$type()});var fn=un("session",{id:v().$type().primaryKey(),project_id:v().$type().notNull().references(()=>J.id,{onDelete:"cascade"}),workspace_id:v().$type(),parent_id:v().$type(),context_from:v().$type(),context_watermark:v().$type(),slug:v().notNull(),directory:v().notNull(),title:v().notNull(),version:v().notNull(),share_url:v(),summary_additions:j(),summary_deletions:j(),summary_files:j(),summary_diffs:v({mode:"json"}).$type(),revert:v({mode:"json"}).$type(),permission:v({mode:"json"}).$type(),...mn,time_compacting:j(),time_archived:j(),last_checkpoint_message_id:v().$type()},(n)=>[yn("session_project_idx").on(n.project_id),yn("session_workspace_idx").on(n.workspace_id),yn("session_parent_idx").on(n.parent_id),yn("session_context_from_idx").on(n.context_from)]),eo=un("message",{id:v().$type().primaryKey(),session_id:v().$type().notNull().references(()=>fn.id,{onDelete:"cascade"}),agent_id:v().notNull().default("main"),...mn,data:v({mode:"json"}).notNull().$type()},(n)=>[yn("message_session_time_created_id_idx").on(n.session_id,n.time_created,n.id),yn("message_session_agent_idx").on(n.session_id,n.agent_id,n.id)]),Yo=un("part",{id:v().$type().primaryKey(),message_id:v().$type().notNull().references(()=>eo.id,{onDelete:"cascade"}),session_id:v().$type().notNull(),...mn,data:v({mode:"json"}).notNull().$type()},(n)=>[yn("part_message_id_id_idx").on(n.message_id,n.id),yn("part_session_idx").on(n.session_id)]),zo=un("todo",{session_id:v().$type().notNull().references(()=>fn.id,{onDelete:"cascade"}),content:v().notNull(),status:v().notNull(),position:j().notNull(),...mn},(n)=>[Xo({columns:[n.session_id,n.position]}),yn("todo_session_idx").on(n.session_id)]),co=un("permission",{project_id:v().primaryKey().references(()=>J.id,{onDelete:"cascade"}),...mn,data:v({mode:"json"}).notNull().$type()});var ko=un("session_share",{session_id:v().primaryKey().references(()=>fn.id,{onDelete:"cascade"}),id:v().notNull(),secret:v().notNull(),url:v().notNull(),...mn});import z from"path";var U=c.create({service:"json-migration"});async function $i(n,o){let i=z.join($n.Path.data,"storage");if(!await mo.exists(i))return U.info("storage directory does not exist, skipping migration"),{projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]};U.info("starting json to sqlite migration",{storageDir:i});let l=performance.now();n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = OFF"),n.run("PRAGMA cache_size = 10000"),n.run("PRAGMA temp_store = MEMORY");let e={projects:0,sessions:0,messages:0,parts:0,todos:0,permissions:0,shares:0,errors:[]},A={sessions:0,todos:0,permissions:0,shares:0},_=e.errors,T=1000,M=Date.now();async function x(f){return qo.scan(f,{cwd:i,absolute:!0})}async function C(f,d,S){let B=S-d,p=Array(B);for(let E=0;E<B;E++)p[E]=mo.readJson(f[d+E]);let G=await Promise.allSettled(p),W=Array(B);for(let E=0;E<G.length;E++){let q=G[E];if(q.status==="fulfilled"){W[E]=q.value;continue}_.push(`failed to read ${f[d+E]}: ${q.reason}`)}return W}function H(f,d,S){if(f.length===0)return 0;try{return n.insert(d).values(f).onConflictDoNothing().run(),f.length}catch(B){return _.push(`failed to migrate ${S} batch: ${B}`),0}}U.info("scanning files...");let[K,$,Q,L,g,s,m]=await Promise.all([x("project/*.json"),x("session/*/*.json"),x("message/*/*.json"),x("part/*/*.json"),x("todo/*.json"),x("permission/*.json"),x("session_share/*.json")]);U.info("file scan complete",{projects:K.length,sessions:$.length,messages:Q.length,parts:L.length,todos:g.length,permissions:s.length,shares:m.length});let y=Math.max(1,K.length+$.length+Q.length+L.length+g.length+s.length+m.length),t=o?.progress,u=0,D=(f,d)=>{u=Math.min(y,u+d),t?.({current:u,total:y,label:f})};t?.({current:u,total:y,label:"starting"}),n.run("BEGIN TRANSACTION");let I=new Set,O=[];for(let f=0;f<K.length;f+=T){let d=Math.min(f+T,K.length),S=await C(K,f,d);O.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=z.basename(K[f+B],".json");I.add(G),O.push({id:G,worktree:p.worktree??"/",vcs:p.vcs,name:p.name??void 0,icon_url:p.icon?.url,icon_color:p.icon?.color,time_created:p.time?.created??M,time_updated:p.time?.updated??M,time_initialized:p.time?.initialized,sandboxes:p.sandboxes??[],commands:p.commands})}e.projects+=H(O,J,"project"),D("projects",d-f)}U.info("migrated projects",{count:e.projects,duration:Math.round(performance.now()-l)});let P=$.map((f)=>z.basename(z.dirname(f))),Y=new Set,en=[];for(let f=0;f<$.length;f+=T){let d=Math.min(f+T,$.length),S=await C($,f,d);en.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=z.basename($[f+B],".json"),W=P[f+B];if(!I.has(W)){A.sessions++;continue}Y.add(G),en.push({id:G,project_id:W,parent_id:p.parentID??null,slug:p.slug??"",directory:p.directory??"",title:p.title??"",version:p.version??"",share_url:p.share?.url??null,summary_additions:p.summary?.additions??null,summary_deletions:p.summary?.deletions??null,summary_files:p.summary?.files??null,summary_diffs:p.summary?.diffs??null,revert:p.revert??null,permission:p.permission??null,time_created:p.time?.created??M,time_updated:p.time?.updated??M,time_compacting:p.time?.compacting??null,time_archived:p.time?.archived??null})}e.sessions+=H(en,fn,"session"),D("sessions",d-f)}if(U.info("migrated sessions",{count:e.sessions}),A.sessions>0)U.warn("skipped orphaned sessions",{count:A.sessions});let sn=[],R=[],kn=new Map;for(let f of Q){let d=z.basename(z.dirname(f));if(!Y.has(d))continue;sn.push(f),R.push(d)}for(let f=0;f<sn.length;f+=T){let d=Math.min(f+T,sn.length),S=await C(sn,f,d),B=Array(S.length),p=0;for(let G=0;G<S.length;G++){let W=S[G];if(!W)continue;let E=sn[f+G],q=z.basename(E,".json"),xn=R[f+G];kn.set(q,xn);let Bn=W;delete Bn.id,delete Bn.sessionID,B[p++]={id:q,session_id:xn,time_created:W.time?.created??M,time_updated:W.time?.updated??M,data:Bn}}B.length=p,e.messages+=H(B,eo,"message"),D("messages",d-f)}U.info("migrated messages",{count:e.messages});for(let f=0;f<L.length;f+=T){let d=Math.min(f+T,L.length),S=await C(L,f,d),B=Array(S.length),p=0;for(let G=0;G<S.length;G++){let W=S[G];if(!W)continue;let E=L[f+G],q=z.basename(E,".json"),xn=z.basename(z.dirname(E)),Bn=kn.get(xn);if(!Bn){_.push(`part missing message session: ${E}`);continue}if(!Y.has(Bn))continue;let wn=W;delete wn.id,delete wn.messageID,delete wn.sessionID,B[p++]={id:q,message_id:xn,session_id:Bn,time_created:W.time?.created??M,time_updated:W.time?.updated??M,data:wn}}B.length=p,e.parts+=H(B,Yo,"part"),D("parts",d-f)}U.info("migrated parts",{count:e.parts});let Tn=g.map((f)=>z.basename(f,".json"));for(let f=0;f<g.length;f+=T){let d=Math.min(f+T,g.length),S=await C(g,f,d),B=[];for(let p=0;p<S.length;p++){let G=S[p];if(!G)continue;let W=Tn[f+p];if(!Y.has(W)){A.todos++;continue}if(!Array.isArray(G)){_.push(`todo not an array: ${g[f+p]}`);continue}for(let E=0;E<G.length;E++){let q=G[E];if(!q?.content||!q?.status)continue;B.push({session_id:W,content:q.content,status:q.status,position:E,time_created:M,time_updated:M})}}e.todos+=H(B,zo,"todo"),D("todos",d-f)}if(U.info("migrated todos",{count:e.todos}),A.todos>0)U.warn("skipped orphaned todos",{count:A.todos});let qn=s.map((f)=>z.basename(f,".json")),Hn=[];for(let f=0;f<s.length;f+=T){let d=Math.min(f+T,s.length),S=await C(s,f,d);Hn.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=qn[f+B];if(!I.has(G)){A.permissions++;continue}Hn.push({project_id:G,data:p})}e.permissions+=H(Hn,co,"permission"),D("permissions",d-f)}if(U.info("migrated permissions",{count:e.permissions}),A.permissions>0)U.warn("skipped orphaned permissions",{count:A.permissions});let Vn=m.map((f)=>z.basename(f,".json")),dn=[];for(let f=0;f<m.length;f+=T){let d=Math.min(f+T,m.length),S=await C(m,f,d);dn.length=0;for(let B=0;B<S.length;B++){let p=S[B];if(!p)continue;let G=Vn[f+B];if(!Y.has(G)){A.shares++;continue}if(!p?.id||!p?.secret||!p?.url){_.push(`session_share missing id/secret/url: ${m[f+B]}`);continue}dn.push({session_id:G,id:p.id,secret:p.secret,url:p.url})}e.shares+=H(dn,ko,"session_share"),D("shares",d-f)}if(U.info("migrated session shares",{count:e.shares}),A.shares>0)U.warn("skipped orphaned session shares",{count:A.shares});if(n.run("COMMIT"),U.info("json migration complete",{projects:e.projects,sessions:e.sessions,messages:e.messages,parts:e.parts,todos:e.todos,permissions:e.permissions,shares:e.shares,errorCount:e.errors.length,duration:Math.round(performance.now()-l)}),e.errors.length>0)U.warn("migration errors",{errors:e.errors.slice(0,20)});return t?.({current:y,total:y,label:"complete"}),e}var In={};On(In,{use:()=>Ce,transaction:()=>xe,textDecoder:()=>re,sumDistinct:()=>rr,sum:()=>or,sql:()=>V,relationsOrderToSQL:()=>Rt,relationsFilterToSQL:()=>Kt,relationToSQL:()=>xt,relationExtrasToSQL:()=>Ht,processRelations:()=>Ct,placeholder:()=>Or,param:()=>Ar,orderSelectedFields:()=>oe,orderByOperators:()=>St,or:()=>lo,operators:()=>Mt,notLike:()=>Gr,notInArray:()=>Ir,notIlike:()=>Mr,notExists:()=>Lr,notBetween:()=>dr,not:()=>so,noopMapper:()=>Nr,noopEncoder:()=>_r,noopDecoder:()=>sr,ne:()=>go,name:()=>gr,min:()=>tr,max:()=>ir,mapUpdateSet:()=>ne,mapResultRow:()=>ht,mapRelationalRow:()=>Jt,mapColumnsInSQLToAlias:()=>it,mapColumnsInAliasedSQLToAlias:()=>rt,lte:()=>Ao,lt:()=>po,like:()=>Bo,l2Distance:()=>Xt,l1Distance:()=>Zt,jaccardDistance:()=>Ut,isWithEnum:()=>bt,isView:()=>vr,isTable:()=>Yi,isSQLWrapper:()=>mr,isNull:()=>Oo,isNotNull:()=>$o,isDriverValueEncoder:()=>lr,isConfig:()=>at,is:()=>Mi,innerProduct:()=>Wt,inArray:()=>To,ilike:()=>Jr,haveSameKeys:()=>jt,hasOwnEntityKind:()=>Ji,hammingDistance:()=>Pt,gte:()=>No,gt:()=>_o,getViewSelectedFields:()=>Ft,getViewName:()=>Br,getTableUniqueName:()=>Xi,getTableName:()=>Zi,getTableLikeName:()=>wt,getTableColumns:()=>Vt,getTableAsAliasSQL:()=>Gt,getOriginalColumnFromAlias:()=>ot,getOrderByOperators:()=>dt,getColumns:()=>qt,getColumnTable:()=>Ci,getColumnNameAndConfig:()=>kt,getChannelPath:()=>li,fillPlaceholders:()=>$r,fieldSelectionToSQL:()=>Lt,extractTablesFromSchema:()=>It,extractExtendedColumnType:()=>mt,exists:()=>Do,eq:()=>Z,entityKind:()=>Gi,effect:()=>He,desc:()=>Io,defineRelationsPart:()=>Qt,defineRelations:()=>Bt,createRelationsHelper:()=>vt,countDistinct:()=>bo,count:()=>fo,cosineDistance:()=>Et,close:()=>Se,buildRelationsParts:()=>Dt,buildRelations:()=>$t,bindIfParam:()=>Qr,between:()=>vo,avgDistinct:()=>nr,avg:()=>ho,assertUnreachable:()=>ct,asc:()=>Qo,arrayOverlaps:()=>Hr,arrayContains:()=>Sr,arrayContained:()=>Cr,applyMixins:()=>zt,and:()=>Kn,aliasedTableColumn:()=>nt,aliasedTable:()=>hi,aliasedRelation:()=>bi,aliasedColumn:()=>ai,WithSubquery:()=>ci,ViewSelectionAliasProxyHandler:()=>ji,ViewBaseConfig:()=>ki,View:()=>Dr,TransactionRollbackError:()=>ft,TableSchema:()=>Ui,TableColumns:()=>Wi,TableAliasProxyHandler:()=>Fi,Table:()=>Pi,Subquery:()=>zi,StringChunk:()=>ur,SQL:()=>yr,RelationsHelperStatic:()=>Ot,RelationsBuilderTable:()=>Tt,RelationsBuilderJunctionColumn:()=>At,RelationsBuilderColumn:()=>pt,RelationTableAliasProxyHandler:()=>wi,Relation:()=>Nt,QueryPromise:()=>tt,Placeholder:()=>Tr,Path:()=>Eo,Param:()=>pr,OriginalName:()=>Ei,One:()=>_t,NotFoundError:()=>Me,NoopLogger:()=>di,Name:()=>fr,Many:()=>st,IsAlias:()=>Ri,FakePrimitiveParam:()=>er,ExtraConfigColumns:()=>Ki,ExtraConfigBuilder:()=>xi,DrizzleQueryError:()=>yt,DrizzleError:()=>ut,DefaultLogger:()=>Li,Count:()=>lt,ConsoleLogWriter:()=>Ii,ColumnTableAliasProxyHandler:()=>Vi,ColumnBuilder:()=>et,ColumnAliasProxyHandler:()=>qi,Column:()=>Si,Client:()=>Mn,CONSTANTS:()=>Yt,BaseName:()=>Hi,AggregatedField:()=>gt});import Di from"crypto";import wo,{existsSync as vi,readdirSync as Bi}from"fs";import{join as Qi}from"path";function jo(n){if(wo.existsSync(`${n.migrationsFolder}/meta/_journal.json`))throw Error('We detected that you have old drizzle-kit migration folders. You must upgrade drizzle-kit and run "drizzle-kit up"');let o=n.migrationsFolder,i=[],l=Bi(o).map((e)=>({path:Qi(o,e,"migration.sql"),name:e})).filter((e)=>vi(e.path));l.sort((e,A)=>e.name.localeCompare(A.name));for(let e of l){let A=e.path,_=e.name.slice(0,14),T=wo.readFileSync(A).toString(),M=T.split("--> statement-breakpoint").map((C)=>{return C}),x=Fo(_);i.push({sql:M,bps:!0,folderMillis:x,hash:Di.createHash("sha256").update(T).digest("hex"),name:e.name})}return i}function ao(n,o){if(Array.isArray(o)||"migrationsJournal"in o){let l=Array.isArray(o)?o:o.migrationsJournal,e=Array.isArray(o)?void 0:o.migrationsTable,A=l.map((_)=>({sql:_.sql.split("--> statement-breakpoint"),folderMillis:_.timestamp,hash:"",bps:!0,name:_.name}));return n.dialect.migrate(A,n.session,{migrationsTable:e})}let i=jo(o);return n.dialect.migrate(i,n.session,o)}function fo(n){return V`count(${n||V.raw("*")})`.mapWith(Number)}function bo(n){return V`count(distinct ${n})`.mapWith(Number)}function ho(n){return V`avg(${n})`.mapWith(String)}function nr(n){return V`avg(distinct ${n})`.mapWith(String)}function or(n){return V`sum(${n})`.mapWith(String)}function rr(n){return V`sum(distinct ${n})`.mapWith(String)}function ir(n){return V`max(${n})`.mapWith(uo(n,yo)?n:String)}function tr(n){return V`min(${n})`.mapWith(uo(n,yo)?n:String)}import oo from"path";var Un={};On(Un,{workspaceID:()=>De,useEffect:()=>Qe,use:()=>Be,make:()=>ve,invalidate:()=>Le,has:()=>Ie,get:()=>xo,directory:()=>no,context:()=>Ho,bind:()=>$e});import{EventEmitter as ie}from"events";var Rn=new ie;var Lo=new Set;function xr(n){return Lo.add(n),()=>{Lo.delete(n)}}async function Go(n){await Promise.allSettled([...Lo].map((o)=>o(n)))}function En(n){return n()}var jr={};On(jr,{setInitialized:()=>se,list:()=>ge,layer:()=>Fr,get:()=>le,fromRow:()=>_n,defaultLayer:()=>Co,UpdateInput:()=>fe,Service:()=>Gn,Info:()=>Vr,Event:()=>wr});import*as F from"fs/promises";import*as cr from"os";import*as Dn from"path";var te=N.String.pipe(N.brand("ProjectID")),w=te.pipe(Fn((n)=>({global:n.make("global"),zod:a.string().pipe(a.custom())})));import*as Qn from"fs/promises";import*as b from"path";import*as Er from"crypto";async function Jo(n){let o=b.resolve(n);while(!0){let i=b.join(o,".git"),l=await Qn.stat(i).catch(()=>null);if(l){if(l.isDirectory())return i;let _=(await Qn.readFile(i,"utf-8")).trim().match(/^gitdir:\s*(.+)$/);if(!_)return null;let T=b.isAbsolute(_[1])?_[1]:b.resolve(o,_[1]);return b.resolve(T,"../..")}let e=b.dirname(o);if(e===o)return null;o=e}}async function Kr(n){let o=await Qn.readFile(n,"utf-8").catch(()=>null);if(o===null)return null;return o.trim()||null}async function Rr(n){let o=await Kr(n);if(o)return o;let i=Er.randomUUID();try{return await Qn.writeFile(n,i,{flag:"wx"}),i}catch(l){if(l.code!=="EEXIST")throw l;let e=await Kr(n);if(e)return e;throw Error(`Project ID file was concurrently created but is empty: ${n}`)}}async function Pr(n){let o=await Jo(n);if(o){let l=b.join(o,"qitqode-project-id");return w.make(await Rr(l))}let i=b.join(n,".qitqode-project-id");return w.make(await Rr(i))}async function me(n){let o=await Jo(n);if(!o)return;let i=Dn.join(n,".qitqode-project-id"),l=Dn.join(o,"qitqode-project-id"),e=(T)=>F.access(T).then(()=>!0).catch(()=>!1);if(await e(i)){if(!await e(l)){let T=await F.readFile(i,"utf-8");await F.writeFile(l,T)}await F.unlink(i).catch(()=>{})}let A=Dn.join(o,"info","exclude");if(await F.mkdir(Dn.dirname(A),{recursive:!0}),!(await F.readFile(A,"utf-8").catch(()=>"")).includes(".qitqode-project-id"))await F.appendFile(A,`
3
3
  .qitqode-project-id
4
4
  `)}var Wr=c.create({service:"project"}),ue=262144,So=N.Literal("git"),kr=N.Struct({url:N.optional(N.String),override:N.optional(N.String),color:N.optional(N.String)}),qr=N.Struct({start:N.optional(N.String.annotate({description:"Startup script to run when creating a new workspace (worktree)"}))}),ye=N.Struct({created:N.Number,updated:N.Number,initialized:N.optional(N.Number)}),Vr=N.Struct({id:w,worktree:N.String,vcs:N.optional(So),name:N.optional(N.String),icon:N.optional(kr),commands:N.optional(qr),time:ye,sandboxes:N.Array(N.String)}).annotate({identifier:"Project"}).pipe(Fn((n)=>({zod:jn(n)}))),wr={Updated:zr.define("project.updated",Vr.zod)};function _n(n){let o=n.icon_url||n.icon_color?{url:n.icon_url??void 0,color:n.icon_color??void 0}:void 0;return{id:n.id,worktree:n.worktree,vcs:n.vcs?N.decodeUnknownSync(So)(n.vcs):void 0,name:n.name??void 0,icon:o,time:{created:n.time_created,updated:n.time_updated,initialized:n.time_initialized??void 0},sandboxes:n.sandboxes,commands:n.commands??void 0}}var fe=a.object({projectID:w.zod,name:a.string().optional(),icon:jn(kr).optional(),commands:jn(qr).optional()});class Gn extends vn.Service()("@qitqode/Project"){}var Fr=h.effect(Gn,r.gen(function*(){let n=yield*k.Service,o=yield*Zr.Path,i=yield*an.ChildProcessSpawner,l=r.fnUntraced(function*(t,u){return yield*Yr(i,t,u)},r.catch(()=>r.succeed({code:1,text:"",stderr:""}))),e=(t)=>r.sync(()=>In.use(t)),A=(t)=>r.sync(()=>Rn.emit("event",{directory:"global",project:t.id,payload:{type:wr.Updated.type,properties:t}})),_=N.decodeUnknownSync(N.optional(So))(nn.QITQODE_FAKE_VCS),T=(t,u)=>{if(!u)return t;if(u=u.replace(/[\r\n]+$/,""),!u)return t;if(u=k.windowsPath(u),o.isAbsolute(u))return o.normalize(u);return o.resolve(t,u)},M=yield*Ur.Scope,x=r.fn("Project.fromDirectory")(function*(t){Wr.info("fromDirectory",{directory:t});let u=yield*r.gen(function*(){if(nn.QITQODE_DISABLE_GIT)return{id:w.global,worktree:t,sandbox:t,vcs:_};let Y=(yield*n.up({targets:[".git"],start:t}).pipe(r.orDie))[0];if(!Y)return{id:w.global,worktree:"/",sandbox:"/",vcs:_};let en=o.dirname(Y),sn=process.env.HOME??process.env.USERPROFILE??cr.homedir();if(en===sn||Dn.parse(en).root===en)return Wr.warn("ignoring .git at home or filesystem root, snapshots disabled",{dotgit:Y}),{id:w.global,worktree:t,sandbox:t,vcs:_};let R=en,kn=yield*r.sync(()=>Mo("git")),Tn;if(!kn)return{id:Tn??w.global,worktree:R,sandbox:R,vcs:_};let qn=yield*l(["rev-parse","--git-common-dir"],{cwd:R});if(qn.code!==0)return{id:Tn??w.global,worktree:R,sandbox:R,vcs:_};let Hn=(()=>{let dn=T(R,qn.text.trim());return dn===R?R:o.dirname(dn)})();if(Tn==null)yield*r.promise(()=>me(R)),Tn=yield*r.promise(()=>Pr(R));let Vn=yield*l(["rev-parse","--show-toplevel"],{cwd:R});if(Vn.code!==0)return{id:Tn,worktree:R,sandbox:R,vcs:_};return R=T(R,Vn.text.trim()),{id:Tn,sandbox:R,worktree:Hn,vcs:"git"}}),D=yield*e((P)=>P.select().from(J).where(Z(J.id,u.id)).get()),I=D?_n(D):{id:u.id,worktree:u.worktree,vcs:u.vcs,sandboxes:[],time:{created:Date.now(),updated:Date.now()}};if(nn.QITQODE_EXPERIMENTAL_ICON_DISCOVERY)yield*C(I).pipe(r.ignore,r.forkIn(M));let O={...I,worktree:u.worktree,vcs:u.vcs,time:{...I.time,updated:Date.now()}};if(u.sandbox!==O.worktree&&!O.sandboxes.includes(u.sandbox))O.sandboxes.push(u.sandbox);if(O.sandboxes=yield*r.forEach(O.sandboxes,(P)=>n.exists(P).pipe(r.orDie,r.map((Y)=>Y?P:void 0)),{concurrency:16}).pipe(r.map((P)=>P.filter((Y)=>Y!==void 0))),yield*e((P)=>P.insert(J).values({id:O.id,worktree:O.worktree,vcs:O.vcs??null,name:O.name,icon_url:O.icon?.url,icon_color:O.icon?.color,time_created:O.time.created,time_updated:O.time.updated,time_initialized:O.time.initialized,sandboxes:O.sandboxes,commands:O.commands}).onConflictDoUpdate({target:J.id,set:{worktree:O.worktree,vcs:O.vcs??null,name:O.name,icon_url:O.icon?.url,icon_color:O.icon?.color,time_updated:O.time.updated,time_initialized:O.time.initialized,sandboxes:O.sandboxes,commands:O.commands}}).run()),u.id!==w.global)yield*e((P)=>P.update(fn).set({project_id:u.id}).where(Kn(Z(fn.project_id,w.global),Z(fn.directory,u.worktree))).run());return yield*A(O),{project:O,sandbox:u.sandbox}}),C=r.fn("Project.discover")(function*(t){if(t.vcs!=="git")return;if(t.icon?.override)return;if(t.icon?.url)return;let D=(yield*n.glob("**/favicon.{ico,png,svg,jpg,jpeg,webp}",{cwd:t.worktree,absolute:!0,include:"file"}).pipe(r.orDie)).sort((sn,R)=>sn.length-R.length)[0];if(!D)return;let I=yield*n.stat(D).pipe(r.orDie);if(Number(I.size)>ue)return;let O=yield*n.readFile(D).pipe(r.orDie),P=Buffer.from(O).toString("base64"),en=`data:${k.mimeType(D)};base64,${P}`;yield*$({projectID:t.id,icon:{url:en}})}),H=r.fn("Project.list")(function*(){return yield*e((t)=>t.select().from(J).all().map(_n))}),K=r.fn("Project.get")(function*(t){let u=yield*e((D)=>D.select().from(J).where(Z(J.id,t)).get());return u?_n(u):void 0}),$=r.fn("Project.update")(function*(t){let u=yield*e((I)=>I.update(J).set({name:t.name,icon_url:t.icon?.url,icon_color:t.icon?.color,commands:t.commands,time_updated:Date.now()}).where(Z(J.id,t.projectID)).returning().get());if(!u)throw Error(`Project not found: ${t.projectID}`);let D=_n(u);return yield*A(D),D}),Q=r.fn("Project.initGit")(function*(t){if(t.project.vcs==="git")return t.project;if(!(yield*r.sync(()=>Mo("git"))))throw Error("Git is not installed");let u=yield*l(["init","--quiet"],{cwd:t.directory});if(u.code!==0)throw Error(u.stderr.trim()||u.text.trim()||"Failed to initialize git repository");let{project:D}=yield*x(t.directory);return D}),L=r.fn("Project.setInitialized")(function*(t){yield*e((u)=>u.update(J).set({time_initialized:Date.now()}).where(Z(J.id,t)).run())}),g=r.fn("Project.sandboxes")(function*(t){let u=yield*e((I)=>I.select().from(J).where(Z(J.id,t)).get());if(!u)return[];let D=_n(u);return yield*r.forEach(D.sandboxes,(I)=>n.isDir(I).pipe(r.orDie,r.map((O)=>O?I:void 0)),{concurrency:16}).pipe(r.map((I)=>I.filter((O)=>O!==void 0)))}),s=r.fnUntraced(function*(t,u){let D=yield*e((I)=>I.update(J).set({sandboxes:u,time_updated:Date.now()}).where(Z(J.id,t)).returning().get());if(!D)throw Error(`Project not found: ${t}`);yield*A(_n(D))}),m=r.fn("Project.addSandbox")(function*(t,u){let D=yield*e((O)=>O.select().from(J).where(Z(J.id,t)).get());if(!D)throw Error(`Project not found: ${t}`);let I=[...D.sandboxes];if(!I.includes(u))I.push(u);yield*s(t,I)}),y=r.fn("Project.removeSandbox")(function*(t,u){let D=yield*e((O)=>O.select().from(J).where(Z(J.id,t)).get());if(!D)throw Error(`Project not found: ${t}`);let I=D.sandboxes.filter((O)=>O!==u);yield*s(t,I)});return Gn.of({fromDirectory:x,discover:C,list:H,get:K,update:$,initGit:Q,setInitialized:L,sandboxes:g,addSandbox:m,removeSandbox:y})})),Co=Fr.pipe(h.provide(bn),h.provide(k.defaultLayer),h.provide(Xr.layer));function ge(){return In.use((n)=>n.select().from(J).all().map((o)=>_n(o)))}function le(n){let o=In.use((i)=>i.select().from(J).where(Z(J.id,n)).get());if(!o)return;return _n(o)}function se(n){In.use((o)=>o.update(J).set({time_initialized:Date.now()}).where(Z(J.id,n)).run())}import{parse as _e}from"path";var rn=gn.create("instance");hr(()=>rn.use());var tn=new Map,Ne=ni(Gn,Co),pe=new Set(["/etc","/proc","/sys","/dev","/boot","/root","/var","/private/etc","/private/var"]);function Ae(n){if(n===_e(n).root)return"filesystem root is not a valid project directory";for(let o of pe)if(n===o||k.contains(o,n))return"target is a protected system directory";return null}function Te(n){let o=Ae(n);if(o)throw Error("Access denied: "+o)}var Pn={all:void 0};function ar(n){return En(async()=>{let o=n.project&&n.worktree?{directory:n.directory,worktree:n.worktree,project:n.project}:await Ne.runPromise((i)=>i.fromDirectory(n.directory)).then(({project:i,sandbox:l})=>({directory:n.directory,worktree:l,project:i}));return await rn.provide(o,async()=>{await n.init?.()}),o})}function br(n,o){let i=o.catch((l)=>{if(tn.get(n)===i)tn.delete(n);throw l});return tn.set(n,i),i}var on={async provide(n){let o=k.resolve(n.directory);Te(o);let i=tn.get(o);if(!i)c.Default.info("creating instance",{directory:o}),i=br(o,ar({directory:o,init:n.init}));let l=await i;return rn.provide(l,async()=>{return n.fn()})},get current(){return rn.use()},get directory(){return rn.use().directory},get worktree(){return rn.use().worktree},get project(){return rn.use().project},containsPath(n,o){let i=o??on;if(k.contains(i.directory,n))return!0;if(i.worktree==="/")return!1;return k.contains(i.worktree,n)},bind(n){let o=rn.use();return(...i)=>rn.provide(o,()=>n(...i))},restore(n,o){return rn.provide(n,o)},async reload(n){let o=k.resolve(n.directory);c.Default.info("reloading instance",{directory:o}),await Go(o),tn.delete(o);let i=br(o,ar({...n,directory:o}));return Rn.emit("event",{directory:o,project:n.project?.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:o}}}),await i},async dispose(){let{directory:n,project:o}=on;c.Default.info("disposing instance",{directory:n}),await Go(n),tn.delete(n),Rn.emit("event",{directory:n,project:o.id,workspace:Nn.workspaceID,payload:{type:"server.instance.disposed",properties:{directory:n}}})},async disposeAll(){if(Pn.all)return Pn.all;return Pn.all=En(async()=>{c.Default.info("disposing all instances");let n=[...tn.entries()];for(let[o,i]of n){if(tn.get(o)!==i)continue;let l=await i.catch((e)=>{c.Default.warn("instance dispose failed",{key:o,error:e});return});if(!l){if(tn.get(o)===i)tn.delete(o);continue}if(tn.get(o)!==i)continue;await rn.provide(l,async()=>{await on.dispose()})}}).finally(()=>{Pn.all=void 0}),Pn.all}};var oi="~qitqode/InstanceState",$e=(n)=>{try{return on.bind(n)}catch(l){if(!(l instanceof gn.NotFound))throw l}let o=Ln.getCurrent(),i=o?vn.getReferenceUnsafe(o.context,Wn):void 0;if(!i)return n;return(...l)=>on.restore(i,()=>n(...l))},Ho=r.gen(function*(){return(yield*Wn)??on.current}),De=r.gen(function*(){return(yield*hn)??Nn.workspaceID}),no=r.map(Ho,(n)=>n.directory),ve=(n)=>r.gen(function*(){let o=yield*Jn.make({capacity:Number.POSITIVE_INFINITY,lookup:()=>r.gen(function*(){return yield*n(yield*Ho)})}),i=xr((l)=>r.runPromise(Jn.invalidate(o,l).pipe(r.provide(ri))));return yield*r.addFinalizer(()=>r.sync(i)),{[oi]:oi,cache:o}}),xo=(n)=>r.gen(function*(){return yield*Jn.get(n.cache,yield*no)}),Be=(n,o)=>r.map(xo(n),o),Qe=(n,o)=>r.flatMap(xo(n),o),Ie=(n)=>r.gen(function*(){return yield*Jn.has(n.cache,yield*no)}),Le=(n)=>r.gen(function*(){return yield*Jn.invalidate(n.cache,yield*no)});var ei={};On(ei,{make:()=>de});function ii(n,o,i){if(n&&o!==void 0)return Nn.restore(o,()=>on.restore(n,i));if(n)return on.restore(n,i);if(o!==void 0)return Nn.restore(o,i);return i()}function de(){return r.gen(function*(){let n=yield*r.context(),i=(yield*Wn)??(()=>{try{return on.current}catch(_){if(!(_ instanceof gn.NotFound))throw _}})(),l=(yield*hn)??Nn.workspaceID,e=(_)=>ti(_,{instance:i,workspace:l}),A=(_)=>e(_).pipe(r.provide(n));return{promise:(_)=>ii(i,l,()=>r.runPromise(A(_))),fork:(_)=>ii(i,l,()=>r.runFork(A(_)))}})}var mi={};On(mi,{make:()=>Ge,Cancelled:()=>Zn});class Zn extends N.TaggedErrorClass()("RunnerCancelled",{}){}var Ge=(n,o)=>{let i=pn.makeUnsafe({_tag:"Idle"}),l=o?.onIdle??r.void,e=o?.onBusy??r.void,A=o?.onInterrupt,_=0,T=()=>pn.getUnsafe(i),M=()=>{return _+=1,_},x=(m,y)=>Xn.isFailure(y)&&Ko.hasInterruptsOnly(y.cause)?ln.fail(m,new Zn).pipe(r.asVoid):ln.done(m,y).pipe(r.asVoid),C=()=>pn.modify(i,(m)=>[m._tag==="Idle"?l:r.void,m]).pipe(r.flatten),H=(m,y,t)=>pn.modify(i,(u)=>[r.gen(function*(){if(u._tag==="Running"&&u.run.id===m)yield*l;yield*x(y,t)}),u._tag==="Running"&&u.run.id===m?{_tag:"Idle"}:u]).pipe(r.flatten),K=(m,y)=>r.gen(function*(){let t=M(),u=yield*m.pipe(r.onExit((D)=>H(t,y,D)),r.forkIn(n));return{id:t,done:y,fiber:u}}),$=(m)=>pn.modifyEffect(i,r.fnUntraced(function*(y){if(y._tag==="Shell"&&y.shell.id===m)return[l,{_tag:"Idle"}];if(y._tag==="ShellThenRun"&&y.shell.id===m){let t=yield*K(y.run.work,y.run.done);return[r.void,{_tag:"Running",run:t}]}return[r.void,y]})).pipe(r.flatten),Q=(m)=>Ln.interrupt(m.fiber),L=(m)=>pn.modifyEffect(i,r.fnUntraced(function*(y){switch(y._tag){case"Running":case"ShellThenRun":if(o?.onReentryWarn)yield*o.onReentryWarn({label:o.label??"(unlabeled)",existingRunId:y.run.id});return[ln.await(y.run.done),y];case"Shell":{let t={id:M(),done:yield*ln.make(),work:m};return[ln.await(t.done),{_tag:"ShellThenRun",shell:y.shell,run:t}]}case"Idle":{let t=yield*ln.make(),u=yield*K(m,t);return[ln.await(t),{_tag:"Running",run:u}]}}})).pipe(r.flatten,r.catch((y)=>y instanceof Zn?A??r.die(y):r.fail(y))),g=(m)=>pn.modifyEffect(i,r.fnUntraced(function*(y){if(y._tag!=="Idle")return[r.sync(()=>{if(o?.busy)o.busy();throw Error("Runner is busy")}),y];yield*e;let t=M(),u=yield*m.pipe(r.ensuring($(t)),r.forkChild),D={id:t,fiber:u};return[r.gen(function*(){let I=yield*Ln.await(u);if(Xn.isSuccess(I))return I.value;if(Ko.hasInterruptsOnly(I.cause)&&A)return yield*A;return yield*r.failCause(I.cause)}),{_tag:"Shell",shell:D}]})).pipe(r.flatten),s=pn.modify(i,(m)=>{switch(m._tag){case"Idle":return[r.void,m];case"Running":return[r.gen(function*(){yield*Ln.interrupt(m.run.fiber);let y=yield*Ln.await(m.run.fiber);yield*x(m.run.done,y),yield*ln.await(m.run.done).pipe(r.exit,r.asVoid),yield*C()}),{_tag:"Idle"}];case"Shell":return[r.gen(function*(){yield*Q(m.shell),yield*C()}),{_tag:"Idle"}];case"ShellThenRun":return[r.gen(function*(){yield*ln.fail(m.run.done,new Zn).pipe(r.asVoid),yield*Q(m.shell),yield*C()}),{_tag:"Idle"}]}}).pipe(r.flatten);return{get state(){return T()},get busy(){return T()._tag!=="Idle"},ensureRunning:L,startShell:g,cancel:s}};import{Database as Je}from"bun:sqlite";function yi(n){let o=new Je(n,{create:!0});return ui({client:o})}var Me=ro.create("NotFoundError",a.object({message:a.string()})),fi=c.create({service:"db"});function li(){if(["latest","beta","prod"].includes(Ro)||nn.QITQODE_DISABLE_CHANNEL_DB)return oo.join($n.Path.data,"qitqode.db");let n=Ro.replace(/[^a-zA-Z0-9._-]/g,"-");return oo.join($n.Path.data,`qitqode-${n}.db`)}var Eo=En(()=>{if(nn.QITQODE_DB){if(nn.QITQODE_DB===":memory:"||oo.isAbsolute(nn.QITQODE_DB))return nn.QITQODE_DB;return oo.join($n.Path.data,nn.QITQODE_DB)}return li()}),Mn=gi(()=>{fi.info("opening database",{path:Eo});let n=yi(Eo);n.run("PRAGMA journal_mode = WAL"),n.run("PRAGMA synchronous = NORMAL"),n.run("PRAGMA busy_timeout = 5000"),n.run("PRAGMA cache_size = -64000"),n.run("PRAGMA foreign_keys = ON"),n.run("PRAGMA wal_checkpoint(PASSIVE)");let o=[{sql:"CREATE TABLE `project` (\n\t`id` text PRIMARY KEY,\n\t`worktree` text NOT NULL,\n\t`vcs` text,\n\t`name` text,\n\t`icon_url` text,\n\t`icon_color` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`time_initialized` integer,\n\t`sandboxes` text NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `message` (\n\t`id` text PRIMARY KEY,\n\t`session_id` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_message_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `part` (\n\t`id` text PRIMARY KEY,\n\t`message_id` text NOT NULL,\n\t`session_id` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_part_message_id_message_id_fk` FOREIGN KEY (`message_id`) REFERENCES `message`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `permission` (\n\t`project_id` text PRIMARY KEY,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_permission_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `session` (\n\t`id` text PRIMARY KEY,\n\t`project_id` text NOT NULL,\n\t`parent_id` text,\n\t`slug` text NOT NULL,\n\t`directory` text NOT NULL,\n\t`title` text NOT NULL,\n\t`version` text NOT NULL,\n\t`share_url` text,\n\t`summary_additions` integer,\n\t`summary_deletions` integer,\n\t`summary_files` integer,\n\t`summary_diffs` text,\n\t`revert` text,\n\t`permission` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`time_compacting` integer,\n\t`time_archived` integer,\n\tCONSTRAINT `fk_session_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `todo` (\n\t`session_id` text NOT NULL,\n\t`content` text NOT NULL,\n\t`status` text NOT NULL,\n\t`priority` text NOT NULL,\n\t`position` integer NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `todo_pk` PRIMARY KEY(`session_id`, `position`),\n\tCONSTRAINT `fk_todo_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE TABLE `session_share` (\n\t`session_id` text PRIMARY KEY,\n\t`id` text NOT NULL,\n\t`secret` text NOT NULL,\n\t`url` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `fk_session_share_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE INDEX `message_session_idx` ON `message` (`session_id`);--> statement-breakpoint\nCREATE INDEX `part_message_idx` ON `part` (`message_id`);--> statement-breakpoint\nCREATE INDEX `part_session_idx` ON `part` (`session_id`);--> statement-breakpoint\nCREATE INDEX `session_project_idx` ON `session` (`project_id`);--> statement-breakpoint\nCREATE INDEX `session_parent_idx` ON `session` (`parent_id`);--> statement-breakpoint\nCREATE INDEX `todo_session_idx` ON `todo` (`session_id`);",timestamp:1769552633000,name:"20260127222353_familiar_lady_ursula"},{sql:"ALTER TABLE `project` ADD `commands` text;",timestamp:1770830228000,name:"20260211171708_add_project_commands"},{sql:"CREATE TABLE `control_account` (\n\t`email` text NOT NULL,\n\t`url` text NOT NULL,\n\t`access_token` text NOT NULL,\n\t`refresh_token` text NOT NULL,\n\t`token_expiry` integer,\n\t`active` integer NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\tCONSTRAINT `control_account_pk` PRIMARY KEY(`email`, `url`)\n);\n",timestamp:1770993676000,name:"20260213144116_wakeful_the_professor"},{sql:"CREATE TABLE `workspace` (\n\t`id` text PRIMARY KEY,\n\t`branch` text,\n\t`project_id` text NOT NULL,\n\t`config` text NOT NULL,\n\tCONSTRAINT `fk_workspace_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n",timestamp:1772056728000,name:"20260225215848_workspace"},{sql:"ALTER TABLE `session` ADD `workspace_id` text;--> statement-breakpoint\nCREATE INDEX `session_workspace_idx` ON `session` (`workspace_id`);",timestamp:1772228279000,name:"20260227213759_add_session_workspace_id"},{sql:"CREATE TABLE `account` (\n\t`id` text PRIMARY KEY,\n\t`email` text NOT NULL,\n\t`url` text NOT NULL,\n\t`access_token` text NOT NULL,\n\t`refresh_token` text NOT NULL,\n\t`token_expiry` integer,\n\t`selected_org_id` text,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `account_state` (\n\t`id` integer PRIMARY KEY NOT NULL,\n\t`active_account_id` text,\n\tFOREIGN KEY (`active_account_id`) REFERENCES `account`(`id`) ON UPDATE no action ON DELETE set null\n);\n",timestamp:1772310750000,name:"20260228203230_blue_harpoon"},{sql:"ALTER TABLE `workspace` ADD `type` text NOT NULL;--> statement-breakpoint\nALTER TABLE `workspace` ADD `name` text;--> statement-breakpoint\nALTER TABLE `workspace` ADD `directory` text;--> statement-breakpoint\nALTER TABLE `workspace` ADD `extra` text;--> statement-breakpoint\nALTER TABLE `workspace` DROP COLUMN `config`;",timestamp:1772579546000,name:"20260303231226_add_workspace_fields"},{sql:"ALTER TABLE `account_state` ADD `active_org_id` text;--> statement-breakpoint\nUPDATE `account_state` SET `active_org_id` = (SELECT `selected_org_id` FROM `account` WHERE `account`.`id` = `account_state`.`active_account_id`);--> statement-breakpoint\nALTER TABLE `account` DROP COLUMN `selected_org_id`;\n",timestamp:1773097200000,name:"20260309230000_move_org_to_state"},{sql:"DROP INDEX IF EXISTS `message_session_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `part_message_idx`;--> statement-breakpoint\nCREATE INDEX `message_session_time_created_id_idx` ON `message` (`session_id`,`time_created`,`id`);--> statement-breakpoint\nCREATE INDEX `part_message_id_id_idx` ON `part` (`message_id`,`id`);",timestamp:1773290071000,name:"20260312043431_session_message_cursor"},{sql:"CREATE TABLE `event_sequence` (\n\t`aggregate_id` text PRIMARY KEY,\n\t`seq` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE TABLE `event` (\n\t`id` text PRIMARY KEY,\n\t`aggregate_id` text NOT NULL,\n\t`seq` integer NOT NULL,\n\t`type` text NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_event_aggregate_id_event_sequence_aggregate_id_fk` FOREIGN KEY (`aggregate_id`) REFERENCES `event_sequence`(`aggregate_id`) ON DELETE CASCADE\n);\n",timestamp:1774309702000,name:"20260323234822_events"},{sql:"PRAGMA foreign_keys=OFF;--> statement-breakpoint\nCREATE TABLE `__new_workspace` (\n\t`id` text PRIMARY KEY,\n\t`type` text NOT NULL,\n\t`name` text DEFAULT '' NOT NULL,\n\t`branch` text,\n\t`directory` text,\n\t`extra` text,\n\t`project_id` text NOT NULL,\n\tCONSTRAINT `fk_workspace_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nINSERT INTO `__new_workspace`(`id`, `type`, `branch`, `name`, `directory`, `extra`, `project_id`) SELECT `id`, `type`, `branch`, `name`, `directory`, `extra`, `project_id` FROM `workspace`;--> statement-breakpoint\nDROP TABLE `workspace`;--> statement-breakpoint\nALTER TABLE `__new_workspace` RENAME TO `workspace`;--> statement-breakpoint\nPRAGMA foreign_keys=ON;",timestamp:1775843113000,name:"20260410174513_workspace-name"},{sql:"CREATE TABLE `session_entry` (\n\t`id` text PRIMARY KEY,\n\t`session_id` text NOT NULL,\n\t`type` text NOT NULL,\n\t`time_created` integer NOT NULL,\n\t`time_updated` integer NOT NULL,\n\t`data` text NOT NULL,\n\tCONSTRAINT `fk_session_entry_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE\n);\n--> statement-breakpoint\nCREATE INDEX `session_entry_session_idx` ON `session_entry` (`session_id`);--> statement-breakpoint\nCREATE INDEX `session_entry_session_type_idx` ON `session_entry` (`session_id`,`type`);--> statement-breakpoint\nCREATE INDEX `session_entry_time_created_idx` ON `session_entry` (`time_created`);",timestamp:1776103196000,name:"20260413175956_chief_energizer"},{sql:"ALTER TABLE `session` ADD `context_from` text;--> statement-breakpoint\nALTER TABLE `session` ADD `context_watermark` text;--> statement-breakpoint\nCREATE INDEX `session_context_from_idx` ON `session` (`context_from`);\n",timestamp:1776873600000,name:"20260422160000_context_inheritance"},{sql:"CREATE TABLE `task_registry` (\n `id` text PRIMARY KEY,\n `parent_session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `status` text NOT NULL,\n `agent` text NOT NULL,\n `description` text NOT NULL,\n `context_mode` text NOT NULL,\n `background` integer NOT NULL,\n `last_turn_time` integer NOT NULL,\n `turn_count` integer NOT NULL DEFAULT 0,\n `error` text,\n `time_completed` integer,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `task_registry_parent_idx` ON `task_registry` (`parent_session_id`);--> statement-breakpoint\nCREATE INDEX `task_registry_status_idx` ON `task_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `task_registry_status_last_turn_idx` ON `task_registry` (`status`, `last_turn_time`);\n",timestamp:1776877200000,name:"20260422170000_task_registry"},{sql:"DROP INDEX IF EXISTS `session_entry_session_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `session_entry_session_type_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `session_entry_time_created_idx`;--> statement-breakpoint\nDROP TABLE IF EXISTS `session_entry`;\n",timestamp:1776956061000,name:"20260423145421_remove_session_entry"},{sql:"DROP INDEX IF EXISTS `task_registry_parent_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `task_registry_status_idx`;--> statement-breakpoint\nDROP INDEX IF EXISTS `task_registry_status_last_turn_idx`;--> statement-breakpoint\nALTER TABLE `task_registry` RENAME TO `actor_registry`;--> statement-breakpoint\nCREATE INDEX `actor_registry_parent_idx` ON `actor_registry` (`parent_session_id`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_idx` ON `actor_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_last_turn_idx` ON `actor_registry` (`status`, `last_turn_time`);\n",timestamp:1778803200000,name:"20260515000000_actor_rename"},{sql:"CREATE TABLE `memory_fts` (\n `path` text PRIMARY KEY NOT NULL,\n `scope` text NOT NULL,\n `scope_id` text DEFAULT '' NOT NULL,\n `type` text NOT NULL,\n `body` text NOT NULL,\n `fingerprint` text NOT NULL,\n `last_indexed_at` integer NOT NULL\n);\n--> statement-breakpoint\nCREATE INDEX `memory_fts_scope_idx` ON `memory_fts` (`scope`, `scope_id`);\n--> statement-breakpoint\nCREATE INDEX `memory_fts_type_idx` ON `memory_fts` (`type`);\n--> statement-breakpoint\nCREATE VIRTUAL TABLE `memory_fts_idx` USING fts5(\n body,\n content='memory_fts',\n content_rowid='rowid',\n tokenize='unicode61 remove_diacritics 1'\n);\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.rowid;\nEND;\n--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.rowid;\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n",timestamp:1778806800000,name:"20260515010000_memory_fts"},{sql:"CREATE TABLE `task` (\n `id` text NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `parent_task_id` text,\n `kind` text NOT NULL DEFAULT 'user',\n `status` text NOT NULL,\n `focus` integer NOT NULL DEFAULT 0,\n `summary` text NOT NULL,\n `created_at` integer NOT NULL,\n `last_event_at` integer NOT NULL,\n `ended_at` integer,\n `cleanup_after` integer,\n PRIMARY KEY (`session_id`, `id`)\n);--> statement-breakpoint\nCREATE INDEX `task_session_idx` ON `task` (`session_id`);--> statement-breakpoint\nCREATE INDEX `task_parent_idx` ON `task` (`session_id`, `parent_task_id`);--> statement-breakpoint\nCREATE INDEX `task_status_idx` ON `task` (`status`);--> statement-breakpoint\nCREATE INDEX `task_kind_idx` ON `task` (`kind`);--> statement-breakpoint\nCREATE UNIQUE INDEX `task_focus_per_session_idx` ON `task` (`session_id`) WHERE focus = 1;--> statement-breakpoint\nCREATE TABLE `task_event` (\n `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `task_id` text NOT NULL,\n `at` integer NOT NULL,\n `kind` text NOT NULL,\n `summary` text,\n FOREIGN KEY (`session_id`, `task_id`) REFERENCES `task`(`session_id`, `id`) ON DELETE CASCADE\n);--> statement-breakpoint\nCREATE INDEX `task_event_task_idx` ON `task_event` (`session_id`, `task_id`, `at`);\n",timestamp:1778810400000,name:"20260515020000_user_task"},{sql:"ALTER TABLE `session` ADD `last_checkpoint_message_id` text;\n",timestamp:1779148800000,name:"20260519000000_last_checkpoint_message_id"},{sql:"ALTER TABLE `message` ADD `agent_id` text;--> statement-breakpoint\nCREATE INDEX `message_session_agent_idx` ON `message` (`session_id`,`agent_id`,`id`);\n",timestamp:1779321600000,name:"20260521000000_message_agent_id"},{sql:"DROP TABLE `actor_registry`;--> statement-breakpoint\nCREATE TABLE `actor_registry` (\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `actor_id` text NOT NULL,\n `mode` text NOT NULL,\n `parent_actor_id` text,\n `status` text NOT NULL,\n `agent` text NOT NULL,\n `description` text NOT NULL,\n `context_mode` text NOT NULL,\n `context_watermark` text,\n `background` integer NOT NULL,\n `tools` text,\n `last_turn_time` integer NOT NULL,\n `turn_count` integer NOT NULL DEFAULT 0,\n `error` text,\n `time_completed` integer,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL,\n PRIMARY KEY (`session_id`, `actor_id`)\n);--> statement-breakpoint\nCREATE INDEX `actor_registry_session_agent_idx` ON `actor_registry` (`session_id`, `agent`);--> statement-breakpoint\nCREATE INDEX `actor_registry_session_parent_idx` ON `actor_registry` (`session_id`, `parent_actor_id`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_idx` ON `actor_registry` (`status`);--> statement-breakpoint\nCREATE INDEX `actor_registry_status_last_turn_idx` ON `actor_registry` (`status`, `last_turn_time`);\n",timestamp:1779321660000,name:"20260521000100_actor_registry_v6"},{sql:"DROP TRIGGER IF EXISTS `memory_fts_ai`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_ad`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_au`;--> statement-breakpoint\nDROP TABLE IF EXISTS `memory_fts_idx`;--> statement-breakpoint\nDROP TABLE IF EXISTS `memory_fts`;--> statement-breakpoint\nCREATE TABLE `memory_fts` (\n `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,\n `path` text NOT NULL UNIQUE,\n `scope` text NOT NULL,\n `scope_id` text DEFAULT '' NOT NULL,\n `type` text NOT NULL,\n `body` text NOT NULL,\n `fingerprint` text NOT NULL,\n `last_indexed_at` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `memory_fts_scope_idx` ON `memory_fts` (`scope`, `scope_id`);--> statement-breakpoint\nCREATE INDEX `memory_fts_type_idx` ON `memory_fts` (`type`);--> statement-breakpoint\nCREATE VIRTUAL TABLE `memory_fts_idx` USING fts5(\n body,\n content='memory_fts',\n content_rowid='id',\n tokenize='unicode61 remove_diacritics 1'\n);--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.id;\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n DELETE FROM `memory_fts_idx` WHERE rowid = OLD.id;\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;\n",timestamp:1779325200000,name:"20260521010000_memory_fts_v6"},{sql:"-- Fix v6.1 trigger pattern: external content FTS5 vtab requires the 'delete'\n-- magic command to remove OLD body's tokens, NOT a plain DELETE FROM the vtab.\n-- The previous DELETE FROM pattern was contentless-mode syntax misapplied to\n-- external-content mode, leaving stale tokens accumulating until vtab corrupts.\nDROP TRIGGER IF EXISTS `memory_fts_ai`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_ad`;--> statement-breakpoint\nDROP TRIGGER IF EXISTS `memory_fts_au`;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ai` AFTER INSERT ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_ad` AFTER DELETE ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(`memory_fts_idx`, rowid, body) VALUES('delete', OLD.id, OLD.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `memory_fts_au` AFTER UPDATE ON `memory_fts` BEGIN\n INSERT INTO `memory_fts_idx`(`memory_fts_idx`, rowid, body) VALUES('delete', OLD.id, OLD.body);\n INSERT INTO `memory_fts_idx`(rowid, body) VALUES (NEW.id, NEW.body);\nEND;\n",timestamp:1779328800000,name:"20260521020000_memory_fts_triggers"},{sql:"UPDATE `message` SET `agent_id` = 'main' WHERE `agent_id` IS NULL;--> statement-breakpoint\nCREATE TABLE `message_new` (\n `id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `agent_id` text NOT NULL DEFAULT 'main',\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL,\n `data` text NOT NULL\n);--> statement-breakpoint\nINSERT INTO `message_new` SELECT `id`, `session_id`, COALESCE(`agent_id`, 'main'), `time_created`, `time_updated`, `data` FROM `message`;--> statement-breakpoint\nDROP TABLE `message`;--> statement-breakpoint\nALTER TABLE `message_new` RENAME TO `message`;--> statement-breakpoint\nCREATE INDEX `message_session_time_created_id_idx` ON `message` (`session_id`,`time_created`,`id`);--> statement-breakpoint\nCREATE INDEX `message_session_agent_idx` ON `message` (`session_id`,`agent_id`,`id`);\n",timestamp:1779753600000,name:"20260526000000_agent_id_main"},{sql:"ALTER TABLE `actor_registry` ADD COLUMN `last_outcome` text;--> statement-breakpoint\nALTER TABLE `actor_registry` ADD COLUMN `lifecycle` text NOT NULL DEFAULT 'ephemeral';--> statement-breakpoint\nALTER TABLE `actor_registry` RENAME COLUMN `error` TO `last_error`;--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'success' WHERE `status` = 'completed';--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'failure' WHERE `status` = 'failed';--> statement-breakpoint\nUPDATE `actor_registry` SET `last_outcome` = 'cancelled' WHERE `status` = 'cancelled';--> statement-breakpoint\nUPDATE `actor_registry` SET `status` = 'idle' WHERE `status` IN ('completed','failed','cancelled');--> statement-breakpoint\nUPDATE `actor_registry` SET `lifecycle` = CASE `mode` WHEN 'peer' THEN 'persistent' WHEN 'main' THEN 'persistent' ELSE 'ephemeral' END;\n",timestamp:1779840000000,name:"20260527000000_actor_lifecycle"},{sql:"CREATE TABLE `inbox` (\n `id` text PRIMARY KEY NOT NULL,\n `receiver_session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `receiver_actor_id` text NOT NULL,\n `sender_session_id` text,\n `sender_actor_id` text,\n `type` text NOT NULL DEFAULT 'text',\n `content` text NOT NULL,\n `created_at` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `inbox_receiver_idx` ON `inbox` (`receiver_session_id`,`receiver_actor_id`,`id`);--> statement-breakpoint\nCREATE INDEX `inbox_created_idx` ON `inbox` (`created_at`);\n",timestamp:1779840060000,name:"20260527000100_inbox"},{sql:"-- todo: drop priority column\nALTER TABLE `todo` DROP COLUMN `priority`;\n--> statement-breakpoint\n\n-- task: drop focus-dependent index before dropping its column\nDROP INDEX `task_focus_per_session_idx`;\n--> statement-breakpoint\nDROP INDEX `task_kind_idx`;\n--> statement-breakpoint\nALTER TABLE `task` DROP COLUMN `focus`;\n--> statement-breakpoint\nALTER TABLE `task` DROP COLUMN `kind`;\n--> statement-breakpoint\n\n-- migrate status values: proposed/active -> open\nUPDATE `task` SET `status` = 'open' WHERE `status` IN ('proposed', 'active');\n",timestamp:1780012800000,name:"20260529000000_task_todo_redesign"},{sql:"ALTER TABLE `task` ADD COLUMN `owner` text;\n",timestamp:1780444800000,name:"20260603000000_task_in_progress_owner"},{sql:"CREATE TABLE `workflow_run` (\n `id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL REFERENCES `session`(`id`) ON DELETE CASCADE,\n `name` text NOT NULL,\n `status` text NOT NULL,\n `running` integer NOT NULL DEFAULT 0,\n `succeeded` integer NOT NULL DEFAULT 0,\n `failed` integer NOT NULL DEFAULT 0,\n `current_phase` text,\n `parent_actor_id` text,\n `args` text,\n `error` text,\n `time_created` integer NOT NULL,\n `time_updated` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `workflow_run_session_idx` ON `workflow_run` (`session_id`);--> statement-breakpoint\nCREATE INDEX `workflow_run_status_idx` ON `workflow_run` (`status`);\n",timestamp:1780444800000,name:"20260603000000_workflow_run"},{sql:"ALTER TABLE `workflow_run` ADD COLUMN `script_sha` text;\n",timestamp:1780531200000,name:"20260604000000_workflow_script_sha"},{sql:"CREATE TABLE `claude_import` (\n `source_uuid` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL,\n `source_path` text NOT NULL,\n `source_mtime` integer NOT NULL,\n `time_imported` integer NOT NULL\n);\n",timestamp:1780876800000,name:"20260608000000_claude_import"},{sql:"ALTER TABLE `claude_import` ADD `message_ids` text;\n",timestamp:1780880400000,name:"20260608010000_claude_import_message_ids"},{sql:"CREATE TABLE `history_fts` (\n `part_id` text PRIMARY KEY NOT NULL,\n `session_id` text NOT NULL,\n `message_id` text NOT NULL,\n `project_id` text NOT NULL,\n `kind` text NOT NULL,\n `tool_name` text,\n `body` text NOT NULL,\n `time_created` integer NOT NULL\n);--> statement-breakpoint\nCREATE INDEX `history_fts_session_idx` ON `history_fts` (`session_id`, `time_created`);--> statement-breakpoint\nCREATE INDEX `history_fts_project_idx` ON `history_fts` (`project_id`, `time_created`);--> statement-breakpoint\nCREATE INDEX `history_fts_message_idx` ON `history_fts` (`message_id`);--> statement-breakpoint\nCREATE VIRTUAL TABLE `history_fts_idx` USING fts5(\n body,\n content='history_fts',\n content_rowid='rowid',\n tokenize='unicode61 remove_diacritics 1'\n);--> statement-breakpoint\nCREATE TRIGGER `history_fts_ai` AFTER INSERT ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `history_fts_ad` AFTER DELETE ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(`history_fts_idx`, rowid, body) VALUES('delete', OLD.rowid, OLD.body);\nEND;--> statement-breakpoint\nCREATE TRIGGER `history_fts_au` AFTER UPDATE ON `history_fts` BEGIN\n INSERT INTO `history_fts_idx`(`history_fts_idx`, rowid, body) VALUES('delete', OLD.rowid, OLD.body);\n INSERT INTO `history_fts_idx`(rowid, body) VALUES (NEW.rowid, NEW.body);\nEND;\n",timestamp:1780963200000,name:"20260609000000_history_fts"},{sql:"ALTER TABLE `workflow_run` ADD COLUMN `agent_timeout_ms` integer;\n",timestamp:1781046000000,name:"20260609230000_workflow_agent_timeout"},{sql:"CREATE TABLE `external_import` (\n `source` text NOT NULL,\n `source_key` text NOT NULL,\n `session_id` text NOT NULL,\n `source_path` text NOT NULL,\n `source_mtime` integer NOT NULL,\n `time_imported` integer NOT NULL,\n `message_ids` text,\n PRIMARY KEY (`source`, `source_key`)\n);\n\nINSERT INTO `external_import` (`source`, `source_key`, `session_id`, `source_path`, `source_mtime`, `time_imported`, `message_ids`)\nSELECT 'cc', `source_uuid`, `session_id`, `source_path`, `source_mtime`, `time_imported`, `message_ids`\nFROM `claude_import`;\n\nDROP TABLE `claude_import`;\n",timestamp:1781222400000,name:"20260612000000_external_import"}];if(o.length>0){if(fi.info("applying migrations",{count:o.length,mode:"bundled"}),nn.QITQODE_SKIP_MIGRATIONS)for(let i of o)i.sql="select 1;";ao(n,o)}return n});function Se(){Mn().$client.close(),Mn.reset()}var Yn=gn.create("database");function Ce(n){try{return n(Yn.use().tx)}catch(o){if(o instanceof gn.NotFound){let i=[],l=Yn.provide({effects:i,tx:Mn()},()=>n(Mn()));for(let e of i)e();return l}throw o}}function He(n){let o=Un.bind(n);try{Yn.use().effects.push(o)}catch{o()}}function xe(n,o){try{return n(Yn.use().tx)}catch(i){if(i instanceof gn.NotFound){let l=[],e=Un.bind((_)=>Yn.provide({tx:_,effects:l},()=>n(_))),A=Mn().transaction(e,{behavior:o?.behavior});for(let _ of l)_();return A}throw i}}var Oi={};On(Oi,{layer:()=>Ti,defaultLayer:()=>we,Service:()=>to,NotFoundError:()=>Zo});import X from"path";var Sn={};On(Sn,{layer:()=>pi,defaultLayer:()=>Ee,Service:()=>io,Git:()=>Sn});var Ke=["--no-optional-locks","-c","core.autocrlf=false","-c","core.fsmonitor=false","-c","core.longpaths=true","-c","core.symlinks=true","-c","core.quotepath=false"],zn=(n)=>n.text().trim(),Po=(n)=>n.split("\x00").filter(Boolean),Re=(n)=>({exitCode:1,text:()=>"",stdout:Buffer.alloc(0),stderr:Buffer.from(n instanceof Error?n.message:String(n))}),si=(n)=>{if(n==="??")return"added";if(n.includes("U"))return"modified";if(n.includes("A")&&!n.includes("D"))return"added";if(n.includes("D")&&!n.includes("A"))return"deleted";return"modified"};class io extends vn.Service()("@qitqode/Git"){}var pi=h.effect(io,r.gen(function*(){let n=yield*an.ChildProcessSpawner,o=r.fn("Git.run")(function*(g,s){let m=_i.make("git",[...Ke,...g],{cwd:s.cwd,env:s.env,extendEnv:!0,stdin:"ignore",stdout:"pipe",stderr:"pipe"}),y=yield*Ni(n,m);return{exitCode:y.code,text:()=>y.text,stdout:Buffer.from(y.text),stderr:Buffer.from(y.stderr)}},r.scoped,r.catch((g)=>r.succeed(Re(g)))),i=r.fn("Git.text")(function*(g,s){return(yield*o(g,s)).text()}),l=r.fn("Git.lines")(function*(g,s){return(yield*i(g,s)).split(/\r?\n/).map((m)=>m.trim()).filter(Boolean)}),e=r.fnUntraced(function*(g){return yield*l(["for-each-ref","--format=%(refname:short)","refs/heads"],{cwd:g})}),A=r.fnUntraced(function*(g,s){let m=yield*o(["config","init.defaultBranch"],{cwd:g}),y=zn(m);if(!y||!s.includes(y))return;return{name:y,ref:y}}),_=r.fnUntraced(function*(g){let s=yield*l(["remote"],{cwd:g});if(s.includes("origin"))return"origin";if(s.length===1)return s[0];if(s.includes("upstream"))return"upstream";return s[0]}),T=r.fn("Git.branch")(function*(g){let s=yield*o(["symbolic-ref","--quiet","--short","HEAD"],{cwd:g});if(s.exitCode!==0)return;return zn(s)||void 0}),M=r.fn("Git.prefix")(function*(g){let s=yield*o(["rev-parse","--show-prefix"],{cwd:g});if(s.exitCode!==0)return"";return zn(s)}),x=r.fn("Git.defaultBranch")(function*(g){let s=yield*_(g);if(s){let t=yield*o(["symbolic-ref",`refs/remotes/${s}/HEAD`],{cwd:g});if(t.exitCode===0){let u=zn(t).replace(/^refs\/remotes\//,""),D=u.startsWith(`${s}/`)?u.slice(`${s}/`.length):"";if(D)return{name:D,ref:u}}}let m=yield*e(g),y=yield*A(g,m);if(y)return y;if(m.includes("main"))return{name:"main",ref:"main"};if(m.includes("master"))return{name:"master",ref:"master"}}),C=r.fn("Git.hasHead")(function*(g){return(yield*o(["rev-parse","--verify","HEAD"],{cwd:g})).exitCode===0}),H=r.fn("Git.mergeBase")(function*(g,s,m="HEAD"){let y=yield*o(["merge-base",s,m],{cwd:g});if(y.exitCode!==0)return;return zn(y)||void 0}),K=r.fn("Git.show")(function*(g,s,m,y=""){let t=y?`${y}${m}`:m,u=yield*o(["show",`${s}:${t}`],{cwd:g});if(u.exitCode!==0)return"";if(u.stdout.includes(0))return"";return u.text()}),$=r.fn("Git.status")(function*(g){return Po(yield*i(["status","--porcelain=v1","--untracked-files=all","--no-renames","-z","--","."],{cwd:g})).flatMap((s)=>{let m=s.slice(3);if(!m)return[];let y=s.slice(0,2);return[{file:m,code:y,status:si(y)}]})}),Q=r.fn("Git.diff")(function*(g,s){let m=Po(yield*i(["diff","--no-ext-diff","--no-renames","--name-status","-z",s,"--","."],{cwd:g}));return m.flatMap((y,t)=>{if(t%2!==0)return[];let u=m[t+1];if(!y||!u)return[];return[{file:u,code:y,status:si(y)}]})}),L=r.fn("Git.stats")(function*(g,s){return Po(yield*i(["diff","--no-ext-diff","--no-renames","--numstat","-z",s,"--","."],{cwd:g})).flatMap((m)=>{let y=m.indexOf("\t"),t=m.indexOf("\t",y+1);if(y===-1||t===-1)return[];let u=m.slice(t+1);if(!u)return[];let D=m.slice(0,y),I=m.slice(y+1,t),O=D==="-"?0:Number.parseInt(D||"0",10),P=I==="-"?0:Number.parseInt(I||"0",10);return[{file:u,additions:Number.isFinite(O)?O:0,deletions:Number.isFinite(P)?P:0}]})});return io.of({run:o,branch:T,prefix:M,defaultBranch:x,hasHead:C,mergeBase:H,show:K,status:$,diff:Q,stats:L})})),Ee=pi.pipe(h.provide(bn));var An=c.create({service:"storage"}),Zo=ro.create("NotFoundError",a.object({message:a.string()})),Pe=N.Struct({path:N.optional(N.Struct({root:N.optional(N.String)}))}),We=N.Struct({id:N.String}),Ue=N.Struct({id:N.String}),Ze=N.Struct({additions:N.Number,deletions:N.Number}),Xe=N.Struct({id:N.String,projectID:N.String,summary:N.Struct({diffs:N.Array(Ze)})}),Ye=N.decodeUnknownOption(Pe),ze=N.decodeUnknownOption(We),ce=N.decodeUnknownOption(Ue),ke=N.decodeUnknownOption(Xe);class to extends vn.Service()("@qitqode/Storage"){}function qe(n,o){return X.join(n,...o)+".json"}function Wo(n){if(!n||typeof n!=="object")return!1;if("code"in n&&n.code==="ENOENT")return!0;if("reason"in n&&n.reason&&typeof n.reason==="object"&&"_tag"in n.reason)return n.reason._tag==="NotFound";return!1}function Ve(n){let o=Number.parseInt(n,10);return Number.isNaN(o)?0:o}var Ai=[r.fn("Storage.migration.1")(function*(n,o,i){let l=X.resolve(n,"../project");if(!(yield*o.isDir(l)))return;let e=yield*o.glob("*",{cwd:l,include:"all"});for(let A of e){let _=X.join(l,A);if(!(yield*o.isDir(_)))continue;An.info(`migrating project ${A}`);let T=A,M="/";if(T!=="global"){for(let H of yield*o.glob("storage/session/message/*/*.json",{cwd:_,absolute:!0})){let K=Ye(yield*o.readJson(H),{onExcessProperty:"preserve"}),$=cn.isSome(K)?K.value.path?.root:void 0;if(!$)continue;M=$;break}if(!M)continue;if(!(yield*o.isDir(M)))continue;let x=yield*i.run(["rev-list","--max-parents=0","--all"],{cwd:M}),[C]=x.text().split(`
5
- `).filter(Boolean).map((H)=>H.trim()).toSorted();if(!C)continue;T=C,yield*o.writeWithDirs(X.join(n,"project",T+".json"),JSON.stringify({id:C,vcs:"git",worktree:M,time:{created:Date.now(),initialized:Date.now()}},null,2)),An.info(`migrating sessions for project ${T}`);for(let H of yield*o.glob("storage/session/info/*.json",{cwd:_,absolute:!0})){let K=X.join(n,"session",T,X.basename(H));An.info("copying",{sessionFile:H,dest:K});let $=yield*o.readJson(H),Q=ze($,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(K,JSON.stringify($,null,2)),cn.isNone(Q))continue;An.info(`migrating messages for session ${Q.value.id}`);for(let L of yield*o.glob(`storage/session/message/${Q.value.id}/*.json`,{cwd:_,absolute:!0})){let g=X.join(n,"message",Q.value.id,X.basename(L));An.info("copying",{msgFile:L,dest:g});let s=yield*o.readJson(L),m=ce(s,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(g,JSON.stringify(s,null,2)),cn.isNone(m))continue;An.info(`migrating parts for message ${m.value.id}`);for(let y of yield*o.glob(`storage/session/part/${Q.value.id}/${m.value.id}/*.json`,{cwd:_,absolute:!0})){let t=X.join(n,"part",m.value.id,X.basename(y)),u=yield*o.readJson(y);An.info("copying",{partFile:y,dest:t}),yield*o.writeWithDirs(t,JSON.stringify(u,null,2))}}}}}}),r.fn("Storage.migration.2")(function*(n,o){for(let i of yield*o.glob("session/*/*.json",{cwd:n,absolute:!0})){let l=yield*o.readJson(i),e=ke(l,{onExcessProperty:"preserve"});if(cn.isNone(e))continue;let A=e.value.summary.diffs;yield*o.writeWithDirs(X.join(n,"session_diff",e.value.id+".json"),JSON.stringify(A,null,2)),yield*o.writeWithDirs(X.join(n,"session",e.value.projectID,e.value.id+".json"),JSON.stringify({...l,summary:{additions:A.reduce((_,T)=>_+T.additions,0),deletions:A.reduce((_,T)=>_+T.deletions,0)}},null,2))}})],Ti=h.effect(to,r.gen(function*(){let n=yield*k.Service,o=yield*Sn.Service,i=yield*Uo.make({lookup:()=>Cn.make(),idleTimeToLive:0}),l=yield*r.cached(r.gen(function*(){let $=X.join($n.Path.data,"storage"),Q=X.join($,"migration"),L=yield*n.readFileString(Q).pipe(r.map(Ve),r.catchIf(Wo,()=>r.succeed(0)),r.orElseSucceed(()=>0));for(let g=L;g<Ai.length;g++){An.info("running migration",{index:g});let s=Ai[g],m=yield*r.exit(s($,n,o));if(Xn.isFailure(m)){An.error("failed to run migration",{index:g,cause:m.cause});break}yield*n.writeWithDirs(Q,String(g+1))}return{dir:$}})),e=($)=>r.fail(new Zo({message:`Resource not found: ${$}`})),A=($,Q)=>Q.pipe(r.catchIf(Wo,()=>e($))),_=r.fnUntraced(function*($,Q){yield*n.writeWithDirs($,JSON.stringify(Q,null,2))}),T=($,Q)=>r.scoped(r.gen(function*(){let L=qe((yield*l).dir,$);return yield*Q(L,yield*Uo.get(i,L))})),M=r.fn("Storage.remove")(function*($){yield*T($,(Q,L)=>Cn.withWriteLock(L,n.remove(Q).pipe(r.catchIf(Wo,()=>r.void))))}),x=($)=>r.gen(function*(){return yield*T($,(L,g)=>Cn.withReadLock(g,A(L,n.readJson(L))))}),C=($,Q)=>r.gen(function*(){return yield*T($,(g,s)=>Cn.withWriteLock(s,r.gen(function*(){let m=yield*A(g,n.readJson(g));return Q(m),yield*_(g,m),m})))}),H=($,Q)=>r.gen(function*(){yield*T($,(L,g)=>Cn.withWriteLock(g,_(L,Q)))}),K=r.fn("Storage.list")(function*($){let Q=(yield*l).dir,L=X.join(Q,...$);return(yield*n.glob("**/*",{cwd:L,include:"file"}).pipe(r.catch(()=>r.succeed([])))).map((s)=>[...$,...s.slice(0,-5).split(X.sep)]).toSorted((s,m)=>s.join("/").localeCompare(m.join("/")))});return to.of({remove:M,read:x,update:C,write:H,list:K})})),we=Ti.pipe(h.provide(k.defaultLayer),h.provide(Sn.defaultLayer));export{Rn as nl,xr as ol,En as pl,mn as ql,J as rl,fn as sl,eo as tl,Yo as ul,zo as vl,co as wl,ko as xl,Vo as yl,fo as zl,In as Al,Sn as Bl,Zo as Cl,Oi as Dl,w as El,Jo as Fl,Pr as Gl,se as Hl,jr as Il,Ae as Jl,on as Kl,Un as Ll,de as Ml,ei as Nl,mi as Ol};
5
+ `).filter(Boolean).map((H)=>H.trim()).toSorted();if(!C)continue;T=C,yield*o.writeWithDirs(X.join(n,"project",T+".json"),JSON.stringify({id:C,vcs:"git",worktree:M,time:{created:Date.now(),initialized:Date.now()}},null,2)),An.info(`migrating sessions for project ${T}`);for(let H of yield*o.glob("storage/session/info/*.json",{cwd:_,absolute:!0})){let K=X.join(n,"session",T,X.basename(H));An.info("copying",{sessionFile:H,dest:K});let $=yield*o.readJson(H),Q=ze($,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(K,JSON.stringify($,null,2)),cn.isNone(Q))continue;An.info(`migrating messages for session ${Q.value.id}`);for(let L of yield*o.glob(`storage/session/message/${Q.value.id}/*.json`,{cwd:_,absolute:!0})){let g=X.join(n,"message",Q.value.id,X.basename(L));An.info("copying",{msgFile:L,dest:g});let s=yield*o.readJson(L),m=ce(s,{onExcessProperty:"preserve"});if(yield*o.writeWithDirs(g,JSON.stringify(s,null,2)),cn.isNone(m))continue;An.info(`migrating parts for message ${m.value.id}`);for(let y of yield*o.glob(`storage/session/part/${Q.value.id}/${m.value.id}/*.json`,{cwd:_,absolute:!0})){let t=X.join(n,"part",m.value.id,X.basename(y)),u=yield*o.readJson(y);An.info("copying",{partFile:y,dest:t}),yield*o.writeWithDirs(t,JSON.stringify(u,null,2))}}}}}}),r.fn("Storage.migration.2")(function*(n,o){for(let i of yield*o.glob("session/*/*.json",{cwd:n,absolute:!0})){let l=yield*o.readJson(i),e=ke(l,{onExcessProperty:"preserve"});if(cn.isNone(e))continue;let A=e.value.summary.diffs;yield*o.writeWithDirs(X.join(n,"session_diff",e.value.id+".json"),JSON.stringify(A,null,2)),yield*o.writeWithDirs(X.join(n,"session",e.value.projectID,e.value.id+".json"),JSON.stringify({...l,summary:{additions:A.reduce((_,T)=>_+T.additions,0),deletions:A.reduce((_,T)=>_+T.deletions,0)}},null,2))}})],Ti=h.effect(to,r.gen(function*(){let n=yield*k.Service,o=yield*Sn.Service,i=yield*Uo.make({lookup:()=>Cn.make(),idleTimeToLive:0}),l=yield*r.cached(r.gen(function*(){let $=X.join($n.Path.data,"storage"),Q=X.join($,"migration"),L=yield*n.readFileString(Q).pipe(r.map(Ve),r.catchIf(Wo,()=>r.succeed(0)),r.orElseSucceed(()=>0));for(let g=L;g<Ai.length;g++){An.info("running migration",{index:g});let s=Ai[g],m=yield*r.exit(s($,n,o));if(Xn.isFailure(m)){An.error("failed to run migration",{index:g,cause:m.cause});break}yield*n.writeWithDirs(Q,String(g+1))}return{dir:$}})),e=($)=>r.fail(new Zo({message:`Resource not found: ${$}`})),A=($,Q)=>Q.pipe(r.catchIf(Wo,()=>e($))),_=r.fnUntraced(function*($,Q){yield*n.writeWithDirs($,JSON.stringify(Q,null,2))}),T=($,Q)=>r.scoped(r.gen(function*(){let L=qe((yield*l).dir,$);return yield*Q(L,yield*Uo.get(i,L))})),M=r.fn("Storage.remove")(function*($){yield*T($,(Q,L)=>Cn.withWriteLock(L,n.remove(Q).pipe(r.catchIf(Wo,()=>r.void))))}),x=($)=>r.gen(function*(){return yield*T($,(L,g)=>Cn.withReadLock(g,A(L,n.readJson(L))))}),C=($,Q)=>r.gen(function*(){return yield*T($,(g,s)=>Cn.withWriteLock(s,r.gen(function*(){let m=yield*A(g,n.readJson(g));return Q(m),yield*_(g,m),m})))}),H=($,Q)=>r.gen(function*(){yield*T($,(L,g)=>Cn.withWriteLock(g,_(L,Q)))}),K=r.fn("Storage.list")(function*($){let Q=(yield*l).dir,L=X.join(Q,...$);return(yield*n.glob("**/*",{cwd:L,include:"file"}).pipe(r.catch(()=>r.succeed([])))).map((s)=>[...$,...s.slice(0,-5).split(X.sep)]).toSorted((s,m)=>s.join("/").localeCompare(m.join("/")))});return to.of({remove:M,read:x,update:C,write:H,list:K})})),we=Ti.pipe(h.provide(k.defaultLayer),h.provide(Sn.defaultLayer));export{Rn as pl,xr as ql,En as rl,mn as sl,J as tl,fn as ul,eo as vl,Yo as wl,zo as xl,co as yl,ko as zl,Vo as Al,fo as Bl,In as Cl,Sn as Dl,Zo as El,Oi as Fl,w as Gl,Jo as Hl,Pr as Il,se as Jl,jr as Kl,Ae as Ll,on as Ml,Un as Nl,de as Ol,ei as Pl,mi as Ql};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Re as F}from"./chunk-anm5g0m4.js";import{bf as B,ef as D,vf as E}from"./chunk-1bhcg889.js";import{Rq as w}from"./chunk-7nh8vjx4.js";import"./chunk-cqtkxwd8.js";import"./chunk-mfg4stzn.js";import"./chunk-zgj7jx8k.js";import"./chunk-0mdmqtfr.js";import"./chunk-0xf12tf3.js";var P="2.0.39";function Q(q={}){var x;let G=E((x=q.baseURL)!=null?x:"https://api.v0.dev/v1"),J=()=>B({Authorization:`Bearer ${D({apiKey:q.apiKey,environmentVariableName:"VERCEL_API_KEY",description:"Vercel"})}`,...q.headers},`ai-sdk/vercel/${P}`),K=(j)=>({provider:`vercel.${j}`,url:({path:N})=>`${G}${N}`,headers:J,fetch:q.fetch}),z=(j)=>{return new F(j,{...K("chat")})},k=(j)=>z(j);return k.specificationVersion="v3",k.languageModel=z,k.embeddingModel=(j)=>{throw new w({modelId:j,modelType:"embeddingModel"})},k.textEmbeddingModel=k.embeddingModel,k.imageModel=(j)=>{throw new w({modelId:j,modelType:"imageModel"})},k}var X=Q();export{X as vercel,Q as createVercel,P as VERSION};
2
+ import{Te as F}from"./chunk-meehnnv9.js";import{df as B,gf as D,xf as E}from"./chunk-4ycg2c6f.js";import{Uq as w}from"./chunk-pdcxmr6x.js";import"./chunk-cqtkxwd8.js";import"./chunk-a1mbach4.js";import"./chunk-sg9enzsp.js";import"./chunk-5q98z8ck.js";import"./chunk-sh03ka27.js";var P="2.0.39";function Q(q={}){var x;let G=E((x=q.baseURL)!=null?x:"https://api.v0.dev/v1"),J=()=>B({Authorization:`Bearer ${D({apiKey:q.apiKey,environmentVariableName:"VERCEL_API_KEY",description:"Vercel"})}`,...q.headers},`ai-sdk/vercel/${P}`),K=(j)=>({provider:`vercel.${j}`,url:({path:N})=>`${G}${N}`,headers:J,fetch:q.fetch}),z=(j)=>{return new F(j,{...K("chat")})},k=(j)=>z(j);return k.specificationVersion="v3",k.languageModel=z,k.embeddingModel=(j)=>{throw new w({modelId:j,modelType:"embeddingModel"})},k.textEmbeddingModel=k.embeddingModel,k.imageModel=(j)=>{throw new w({modelId:j,modelType:"imageModel"})},k}var X=Q();export{X as vercel,Q as createVercel,P as VERSION};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import"./chunk-jf4zyy7r.js";import"./chunk-0xf12tf3.js";var e={"ui.sessionReview.title":"\u4F1A\u8BDD\u53D8\u66F4","ui.sessionReview.title.lastTurn":"\u4E0A\u4E00\u8F6E\u53D8\u66F4","ui.sessionReview.diffStyle.unified":"\u7EDF\u4E00","ui.sessionReview.diffStyle.split":"\u62C6\u5206","ui.sessionReview.openFile":"\u6253\u5F00\u6587\u4EF6","ui.sessionReview.selection.line":"\u7B2C {{line}} \u884C","ui.sessionReview.selection.lines":"\u7B2C {{start}}-{{end}} \u884C","ui.sessionReview.expandAll":"\u5168\u90E8\u5C55\u5F00","ui.sessionReview.collapseAll":"\u5168\u90E8\u6536\u8D77","ui.sessionReview.change.added":"\u5DF2\u6DFB\u52A0","ui.sessionReview.change.removed":"\u5DF2\u79FB\u9664","ui.sessionReview.change.modified":"\u5DF2\u4FEE\u6539","ui.sessionReview.image.loading":"\u52A0\u8F7D\u4E2D...","ui.sessionReview.image.placeholder":"\u56FE\u7247","ui.sessionReview.largeDiff.title":"\u5DEE\u5F02\u8FC7\u5927\uFF0C\u65E0\u6CD5\u6E32\u67D3","ui.sessionReview.largeDiff.meta":"\u9650\u5236\uFF1A{{limit}} \u884C\u53D8\u66F4\u3002\u5F53\u524D\uFF1A{{current}} \u884C\u53D8\u66F4\u3002","ui.sessionReview.largeDiff.renderAnyway":"\u4ECD\u7136\u6E32\u67D3","ui.fileMedia.kind.image":"\u56FE\u7247","ui.fileMedia.kind.audio":"\u97F3\u9891","ui.fileMedia.state.removed":"{{kind}}\u5DF2\u79FB\u9664","ui.fileMedia.state.loading":"\u6B63\u5728\u52A0\u8F7D{{kind}}...","ui.fileMedia.state.error":"\u52A0\u8F7D{{kind}}\u5931\u8D25","ui.fileMedia.state.unavailable":"{{kind}}\u4E0D\u53EF\u9884\u89C8","ui.fileMedia.binary.title":"\u4E8C\u8FDB\u5236\u6587\u4EF6","ui.fileMedia.binary.description.path":"\u65E0\u6CD5\u663E\u793A {{path}}\uFF0C\u56E0\u4E3A\u5B83\u662F\u4E8C\u8FDB\u5236\u6587\u4EF6\u3002","ui.fileMedia.binary.description.default":"\u65E0\u6CD5\u663E\u793A\u6B64\u6587\u4EF6\uFF0C\u56E0\u4E3A\u5B83\u662F\u4E8C\u8FDB\u5236\u6587\u4EF6\u3002","ui.lineComment.label.prefix":"\u8BC4\u8BBA ","ui.lineComment.label.suffix":"","ui.lineComment.editorLabel.prefix":"\u6B63\u5728\u8BC4\u8BBA ","ui.lineComment.editorLabel.suffix":"","ui.lineComment.placeholder":"\u6DFB\u52A0\u8BC4\u8BBA","ui.lineComment.submit":"\u8BC4\u8BBA","ui.sessionTurn.steps.show":"\u663E\u793A\u6B65\u9AA4","ui.sessionTurn.steps.hide":"\u9690\u85CF\u6B65\u9AA4","ui.sessionTurn.summary.response":"\u56DE\u590D","ui.sessionTurn.diff.showMore":"\u663E\u793A\u66F4\u591A\u66F4\u6539\uFF08{{count}}\uFF09","ui.sessionTurn.retry.retrying":"\u91CD\u8BD5\u4E2D","ui.sessionTurn.retry.inSeconds":"{{seconds}} \u79D2\u540E","ui.sessionTurn.retry.attempt":"\u7B2C {{attempt}} \u6B21","ui.sessionTurn.retry.attemptLine":"{{line}} - \u7B2C {{attempt}} \u6B21","ui.sessionTurn.retry.geminiHot":"gemini \u5F53\u524D\u8FC7\u8F7D","ui.sessionTurn.error.freeUsageExceeded":"\u514D\u8D39\u4F7F\u7528\u989D\u5EA6\u5DF2\u7528\u5B8C","ui.sessionTurn.error.addQredits":"\u6DFB\u52A0\u79EF\u5206","ui.sessionTurn.status.delegating":"\u6B63\u5728\u59D4\u6D3E\u5DE5\u4F5C","ui.sessionTurn.status.planning":"\u6B63\u5728\u89C4\u5212\u4E0B\u4E00\u6B65","ui.sessionTurn.status.gatheringContext":"\u6B63\u5728\u63A2\u7D22","ui.sessionTurn.status.gatheredContext":"\u5DF2\u63A2\u7D22","ui.sessionTurn.status.searchingCodebase":"\u6B63\u5728\u641C\u7D22\u4EE3\u7801\u5E93","ui.sessionTurn.status.searchingWeb":"\u6B63\u5728\u641C\u7D22\u7F51\u9875","ui.sessionTurn.status.makingEdits":"\u6B63\u5728\u4FEE\u6539","ui.sessionTurn.status.runningCommands":"\u6B63\u5728\u8FD0\u884C\u547D\u4EE4","ui.sessionTurn.status.thinking":"\u601D\u8003\u4E2D","ui.sessionTurn.status.thinkingWithTopic":"\u601D\u8003\uFF1A{{topic}}","ui.sessionTurn.status.gatheringThoughts":"\u6B63\u5728\u6574\u7406\u601D\u8DEF","ui.sessionTurn.status.consideringNextSteps":"\u6B63\u5728\u8003\u8651\u4E0B\u4E00\u6B65","ui.messagePart.questions.dismissed":"\u95EE\u9898\u5DF2\u5FFD\u7565","ui.messagePart.compaction":"\u4F1A\u8BDD\u5DF2\u538B\u7F29","ui.messagePart.context.read.one":"{{count}} \u6B21\u8BFB\u53D6","ui.messagePart.context.read.other":"{{count}} \u6B21\u8BFB\u53D6","ui.messagePart.context.search.one":"{{count}} \u6B21\u641C\u7D22","ui.messagePart.context.search.other":"{{count}} \u6B21\u641C\u7D22","ui.messagePart.context.list.one":"{{count}} \u4E2A\u5217\u8868","ui.messagePart.context.list.other":"{{count}} \u4E2A\u5217\u8868","ui.messagePart.diagnostic.error":"\u9519\u8BEF","ui.messagePart.title.edit":"\u7F16\u8F91","ui.messagePart.title.write":"\u5199\u5165","ui.messagePart.option.typeOwnAnswer":"\u8F93\u5165\u81EA\u5DF1\u7684\u7B54\u6848","ui.messagePart.review.title":"\u68C0\u67E5\u4F60\u7684\u7B54\u6848","ui.list.loading":"\u52A0\u8F7D\u4E2D","ui.list.empty":"\u65E0\u7ED3\u679C","ui.list.clearFilter":"\u6E05\u9664\u7B5B\u9009","ui.list.emptyWithFilter.prefix":"\u6CA1\u6709\u5173\u4E8E","ui.list.emptyWithFilter.suffix":"\u7684\u7ED3\u679C","ui.messageNav.newMessage":"\u65B0\u6D88\u606F","ui.textField.copyToClipboard":"\u590D\u5236\u5230\u526A\u8D34\u677F","ui.textField.copyLink":"\u590D\u5236\u94FE\u63A5","ui.textField.copied":"\u5DF2\u590D\u5236","ui.imagePreview.alt":"\u56FE\u7247\u9884\u89C8","ui.scrollView.ariaLabel":"\u53EF\u6EDA\u52A8\u5185\u5BB9","ui.tool.read":"\u8BFB\u53D6","ui.tool.loaded":"\u5DF2\u52A0\u8F7D","ui.tool.list":"\u5217\u8868","ui.tool.glob":"Glob","ui.tool.grep":"Grep","ui.tool.webfetch":"Webfetch","ui.tool.websearch":"\u7F51\u7EDC\u641C\u7D22","ui.tool.codesearch":"\u4EE3\u7801\u641C\u7D22","ui.tool.shell":"Shell","ui.tool.patch":"\u8865\u4E01","ui.tool.todos":"\u5F85\u529E","ui.tool.todos.read":"\u8BFB\u53D6\u5F85\u529E","ui.tool.questions":"\u95EE\u9898","ui.tool.agent":"{{type}} \u667A\u80FD\u4F53","ui.tool.agent.default":"\u667A\u80FD\u4F53","ui.common.file.one":"\u4E2A\u6587\u4EF6","ui.common.file.other":"\u4E2A\u6587\u4EF6","ui.common.question.one":"\u4E2A\u95EE\u9898","ui.common.question.other":"\u4E2A\u95EE\u9898","ui.common.add":"\u6DFB\u52A0","ui.common.back":"\u8FD4\u56DE","ui.common.cancel":"\u53D6\u6D88","ui.common.confirm":"\u786E\u8BA4","ui.common.dismiss":"\u5FFD\u7565","ui.common.close":"\u5173\u95ED","ui.common.next":"\u4E0B\u4E00\u6B65","ui.common.submit":"\u63D0\u4EA4","ui.permission.deny":"\u62D2\u7EDD","ui.permission.allowAlways":"\u59CB\u7EC8\u5141\u8BB8","ui.permission.allowOnce":"\u5141\u8BB8\u4E00\u6B21","ui.message.expand":"\u5C55\u5F00\u6D88\u606F","ui.message.collapse":"\u6536\u8D77\u6D88\u606F","ui.message.copy":"\u590D\u5236","ui.message.copyMessage":"\u590D\u5236\u6D88\u606F","ui.message.forkMessage":"\u5206\u53C9\u5230\u65B0\u4F1A\u8BDD","ui.message.revertMessage":"\u91CD\u7F6E\u5230\u6B64\u70B9","ui.message.copyResponse":"\u590D\u5236\u56DE\u590D","ui.message.copied":"\u5DF2\u590D\u5236\uFF01","ui.message.interrupted":"\u5DF2\u4E2D\u65AD","ui.message.queued":"\u6392\u961F\u4E2D","ui.message.attachment.alt":"\u9644\u4EF6","ui.patch.action.deleted":"\u5DF2\u5220\u9664","ui.patch.action.created":"\u5DF2\u521B\u5EFA","ui.patch.action.moved":"\u5DF2\u79FB\u52A8","ui.patch.action.patched":"\u5DF2\u5E94\u7528\u8865\u4E01","ui.question.subtitle.answered":"{{count}} \u5DF2\u56DE\u7B54","ui.question.answer.none":"(\u65E0\u7B54\u6848)","ui.question.review.notAnswered":"(\u672A\u56DE\u7B54)","ui.question.multiHint":"\u53EF\u591A\u9009","ui.question.singleHint":"\u9009\u62E9\u4E00\u4E2A\u7B54\u6848","ui.question.custom.placeholder":"\u8F93\u5165\u4F60\u7684\u7B54\u6848...","ui.fileSearch.placeholder":"\u67E5\u627E","ui.fileSearch.previousMatch":"\u4E0A\u4E00\u4E2A","ui.fileSearch.nextMatch":"\u4E0B\u4E00\u4E2A","ui.fileSearch.close":"\u5173\u95ED\u641C\u7D22","ui.tool.task":"\u4EFB\u52A1","ui.tool.skill":"\u6280\u80FD","ui.basicTool.called":"\u8C03\u7528\u4E86 `{{tool}}`","ui.toolErrorCard.failed":"\u5931\u8D25","ui.toolErrorCard.copyError":"\u590D\u5236\u9519\u8BEF","ui.message.duration.seconds":"{{count}}\u79D2","ui.message.duration.minutesSeconds":"{{minutes}}\u5206 {{seconds}}\u79D2"};export{e as dict};
2
+ import"./chunk-0mztgsxp.js";import"./chunk-sh03ka27.js";var e={"ui.sessionReview.title":"\u4F1A\u8BDD\u53D8\u66F4","ui.sessionReview.title.lastTurn":"\u4E0A\u4E00\u8F6E\u53D8\u66F4","ui.sessionReview.diffStyle.unified":"\u7EDF\u4E00","ui.sessionReview.diffStyle.split":"\u62C6\u5206","ui.sessionReview.openFile":"\u6253\u5F00\u6587\u4EF6","ui.sessionReview.selection.line":"\u7B2C {{line}} \u884C","ui.sessionReview.selection.lines":"\u7B2C {{start}}-{{end}} \u884C","ui.sessionReview.expandAll":"\u5168\u90E8\u5C55\u5F00","ui.sessionReview.collapseAll":"\u5168\u90E8\u6536\u8D77","ui.sessionReview.change.added":"\u5DF2\u6DFB\u52A0","ui.sessionReview.change.removed":"\u5DF2\u79FB\u9664","ui.sessionReview.change.modified":"\u5DF2\u4FEE\u6539","ui.sessionReview.image.loading":"\u52A0\u8F7D\u4E2D...","ui.sessionReview.image.placeholder":"\u56FE\u7247","ui.sessionReview.largeDiff.title":"\u5DEE\u5F02\u8FC7\u5927\uFF0C\u65E0\u6CD5\u6E32\u67D3","ui.sessionReview.largeDiff.meta":"\u9650\u5236\uFF1A{{limit}} \u884C\u53D8\u66F4\u3002\u5F53\u524D\uFF1A{{current}} \u884C\u53D8\u66F4\u3002","ui.sessionReview.largeDiff.renderAnyway":"\u4ECD\u7136\u6E32\u67D3","ui.fileMedia.kind.image":"\u56FE\u7247","ui.fileMedia.kind.audio":"\u97F3\u9891","ui.fileMedia.state.removed":"{{kind}}\u5DF2\u79FB\u9664","ui.fileMedia.state.loading":"\u6B63\u5728\u52A0\u8F7D{{kind}}...","ui.fileMedia.state.error":"\u52A0\u8F7D{{kind}}\u5931\u8D25","ui.fileMedia.state.unavailable":"{{kind}}\u4E0D\u53EF\u9884\u89C8","ui.fileMedia.binary.title":"\u4E8C\u8FDB\u5236\u6587\u4EF6","ui.fileMedia.binary.description.path":"\u65E0\u6CD5\u663E\u793A {{path}}\uFF0C\u56E0\u4E3A\u5B83\u662F\u4E8C\u8FDB\u5236\u6587\u4EF6\u3002","ui.fileMedia.binary.description.default":"\u65E0\u6CD5\u663E\u793A\u6B64\u6587\u4EF6\uFF0C\u56E0\u4E3A\u5B83\u662F\u4E8C\u8FDB\u5236\u6587\u4EF6\u3002","ui.lineComment.label.prefix":"\u8BC4\u8BBA ","ui.lineComment.label.suffix":"","ui.lineComment.editorLabel.prefix":"\u6B63\u5728\u8BC4\u8BBA ","ui.lineComment.editorLabel.suffix":"","ui.lineComment.placeholder":"\u6DFB\u52A0\u8BC4\u8BBA","ui.lineComment.submit":"\u8BC4\u8BBA","ui.sessionTurn.steps.show":"\u663E\u793A\u6B65\u9AA4","ui.sessionTurn.steps.hide":"\u9690\u85CF\u6B65\u9AA4","ui.sessionTurn.summary.response":"\u56DE\u590D","ui.sessionTurn.diff.showMore":"\u663E\u793A\u66F4\u591A\u66F4\u6539\uFF08{{count}}\uFF09","ui.sessionTurn.retry.retrying":"\u91CD\u8BD5\u4E2D","ui.sessionTurn.retry.inSeconds":"{{seconds}} \u79D2\u540E","ui.sessionTurn.retry.attempt":"\u7B2C {{attempt}} \u6B21","ui.sessionTurn.retry.attemptLine":"{{line}} - \u7B2C {{attempt}} \u6B21","ui.sessionTurn.retry.geminiHot":"gemini \u5F53\u524D\u8FC7\u8F7D","ui.sessionTurn.error.freeUsageExceeded":"\u514D\u8D39\u4F7F\u7528\u989D\u5EA6\u5DF2\u7528\u5B8C","ui.sessionTurn.error.addQredits":"\u6DFB\u52A0\u79EF\u5206","ui.sessionTurn.status.delegating":"\u6B63\u5728\u59D4\u6D3E\u5DE5\u4F5C","ui.sessionTurn.status.planning":"\u6B63\u5728\u89C4\u5212\u4E0B\u4E00\u6B65","ui.sessionTurn.status.gatheringContext":"\u6B63\u5728\u63A2\u7D22","ui.sessionTurn.status.gatheredContext":"\u5DF2\u63A2\u7D22","ui.sessionTurn.status.searchingCodebase":"\u6B63\u5728\u641C\u7D22\u4EE3\u7801\u5E93","ui.sessionTurn.status.searchingWeb":"\u6B63\u5728\u641C\u7D22\u7F51\u9875","ui.sessionTurn.status.makingEdits":"\u6B63\u5728\u4FEE\u6539","ui.sessionTurn.status.runningCommands":"\u6B63\u5728\u8FD0\u884C\u547D\u4EE4","ui.sessionTurn.status.thinking":"\u601D\u8003\u4E2D","ui.sessionTurn.status.thinkingWithTopic":"\u601D\u8003\uFF1A{{topic}}","ui.sessionTurn.status.gatheringThoughts":"\u6B63\u5728\u6574\u7406\u601D\u8DEF","ui.sessionTurn.status.consideringNextSteps":"\u6B63\u5728\u8003\u8651\u4E0B\u4E00\u6B65","ui.messagePart.questions.dismissed":"\u95EE\u9898\u5DF2\u5FFD\u7565","ui.messagePart.compaction":"\u4F1A\u8BDD\u5DF2\u538B\u7F29","ui.messagePart.context.read.one":"{{count}} \u6B21\u8BFB\u53D6","ui.messagePart.context.read.other":"{{count}} \u6B21\u8BFB\u53D6","ui.messagePart.context.search.one":"{{count}} \u6B21\u641C\u7D22","ui.messagePart.context.search.other":"{{count}} \u6B21\u641C\u7D22","ui.messagePart.context.list.one":"{{count}} \u4E2A\u5217\u8868","ui.messagePart.context.list.other":"{{count}} \u4E2A\u5217\u8868","ui.messagePart.diagnostic.error":"\u9519\u8BEF","ui.messagePart.title.edit":"\u7F16\u8F91","ui.messagePart.title.write":"\u5199\u5165","ui.messagePart.option.typeOwnAnswer":"\u8F93\u5165\u81EA\u5DF1\u7684\u7B54\u6848","ui.messagePart.review.title":"\u68C0\u67E5\u4F60\u7684\u7B54\u6848","ui.list.loading":"\u52A0\u8F7D\u4E2D","ui.list.empty":"\u65E0\u7ED3\u679C","ui.list.clearFilter":"\u6E05\u9664\u7B5B\u9009","ui.list.emptyWithFilter.prefix":"\u6CA1\u6709\u5173\u4E8E","ui.list.emptyWithFilter.suffix":"\u7684\u7ED3\u679C","ui.messageNav.newMessage":"\u65B0\u6D88\u606F","ui.textField.copyToClipboard":"\u590D\u5236\u5230\u526A\u8D34\u677F","ui.textField.copyLink":"\u590D\u5236\u94FE\u63A5","ui.textField.copied":"\u5DF2\u590D\u5236","ui.imagePreview.alt":"\u56FE\u7247\u9884\u89C8","ui.scrollView.ariaLabel":"\u53EF\u6EDA\u52A8\u5185\u5BB9","ui.tool.read":"\u8BFB\u53D6","ui.tool.loaded":"\u5DF2\u52A0\u8F7D","ui.tool.list":"\u5217\u8868","ui.tool.glob":"Glob","ui.tool.grep":"Grep","ui.tool.webfetch":"Webfetch","ui.tool.websearch":"\u7F51\u7EDC\u641C\u7D22","ui.tool.codesearch":"\u4EE3\u7801\u641C\u7D22","ui.tool.shell":"Shell","ui.tool.patch":"\u8865\u4E01","ui.tool.todos":"\u5F85\u529E","ui.tool.todos.read":"\u8BFB\u53D6\u5F85\u529E","ui.tool.questions":"\u95EE\u9898","ui.tool.agent":"{{type}} \u667A\u80FD\u4F53","ui.tool.agent.default":"\u667A\u80FD\u4F53","ui.common.file.one":"\u4E2A\u6587\u4EF6","ui.common.file.other":"\u4E2A\u6587\u4EF6","ui.common.question.one":"\u4E2A\u95EE\u9898","ui.common.question.other":"\u4E2A\u95EE\u9898","ui.common.add":"\u6DFB\u52A0","ui.common.back":"\u8FD4\u56DE","ui.common.cancel":"\u53D6\u6D88","ui.common.confirm":"\u786E\u8BA4","ui.common.dismiss":"\u5FFD\u7565","ui.common.close":"\u5173\u95ED","ui.common.next":"\u4E0B\u4E00\u6B65","ui.common.submit":"\u63D0\u4EA4","ui.permission.deny":"\u62D2\u7EDD","ui.permission.allowAlways":"\u59CB\u7EC8\u5141\u8BB8","ui.permission.allowOnce":"\u5141\u8BB8\u4E00\u6B21","ui.message.expand":"\u5C55\u5F00\u6D88\u606F","ui.message.collapse":"\u6536\u8D77\u6D88\u606F","ui.message.copy":"\u590D\u5236","ui.message.copyMessage":"\u590D\u5236\u6D88\u606F","ui.message.forkMessage":"\u5206\u53C9\u5230\u65B0\u4F1A\u8BDD","ui.message.revertMessage":"\u91CD\u7F6E\u5230\u6B64\u70B9","ui.message.copyResponse":"\u590D\u5236\u56DE\u590D","ui.message.copied":"\u5DF2\u590D\u5236\uFF01","ui.message.interrupted":"\u5DF2\u4E2D\u65AD","ui.message.queued":"\u6392\u961F\u4E2D","ui.message.attachment.alt":"\u9644\u4EF6","ui.patch.action.deleted":"\u5DF2\u5220\u9664","ui.patch.action.created":"\u5DF2\u521B\u5EFA","ui.patch.action.moved":"\u5DF2\u79FB\u52A8","ui.patch.action.patched":"\u5DF2\u5E94\u7528\u8865\u4E01","ui.question.subtitle.answered":"{{count}} \u5DF2\u56DE\u7B54","ui.question.answer.none":"(\u65E0\u7B54\u6848)","ui.question.review.notAnswered":"(\u672A\u56DE\u7B54)","ui.question.multiHint":"\u53EF\u591A\u9009","ui.question.singleHint":"\u9009\u62E9\u4E00\u4E2A\u7B54\u6848","ui.question.custom.placeholder":"\u8F93\u5165\u4F60\u7684\u7B54\u6848...","ui.fileSearch.placeholder":"\u67E5\u627E","ui.fileSearch.previousMatch":"\u4E0A\u4E00\u4E2A","ui.fileSearch.nextMatch":"\u4E0B\u4E00\u4E2A","ui.fileSearch.close":"\u5173\u95ED\u641C\u7D22","ui.tool.task":"\u4EFB\u52A1","ui.tool.skill":"\u6280\u80FD","ui.basicTool.called":"\u8C03\u7528\u4E86 `{{tool}}`","ui.toolErrorCard.failed":"\u5931\u8D25","ui.toolErrorCard.copyError":"\u590D\u5236\u9519\u8BEF","ui.message.duration.seconds":"{{count}}\u79D2","ui.message.duration.minutesSeconds":"{{minutes}}\u5206 {{seconds}}\u79D2"};export{e as dict};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{Ip as h}from"./chunk-crqycrs4.js";import"./chunk-1bq15kf0.js";import"./chunk-pdcxmr6x.js";import"./chunk-cqtkxwd8.js";import"./chunk-a1mbach4.js";import"./chunk-sg9enzsp.js";import"./chunk-5q98z8ck.js";import"./chunk-sh03ka27.js";var v=(q)=>{return h({baseURL:"https://gateway.ai.cloudflare.com/v1/compat",name:"Unified",...q||{}})},x=v();export{x as unified,v as createUnified};